	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function tegra_actmon_configure_device
_tegra_actmon_configure_device:         ## @tegra_actmon_configure_device
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	%rsi, %r14
	movq	%rdi, %rbx
	movl	(%rdi), %esi
	movl	%esi, (%r14)
	movq	_ACTMON_SAMPLING_PERIOD@GOTPCREL(%rip), %rax
	imull	(%rax), %esi
	movl	%esi, 4(%r14)
	movq	_ACTMON_DEV_INIT_AVG@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r14, %rdi
	callq	_device_writel
	movq	%rbx, %rdi
	movq	%r14, %rsi
	callq	_tegra_devfreq_update_avg_wmark
	movq	%rbx, %rdi
	movq	%r14, %rsi
	callq	_tegra_devfreq_update_wmark
	movq	_ACTMON_COUNT_WEIGHT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_ACTMON_DEV_COUNT_WEIGHT@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r14, %rdi
	callq	_device_writel
	movq	_ACTMON_INTR_STATUS_CLEAR@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_ACTMON_DEV_INTR_STATUS@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r14, %rdi
	callq	_device_writel
	movq	_ACTMON_AVERAGE_WINDOW_LOG2@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	decl	%eax
	movq	_ACTMON_DEV_CTRL_K_VAL_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	shll	%cl, %eax
	movq	_ACTMON_DEV_CTRL_ENB_PERIODIC@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_ACTMON_BELOW_WMARK_WINDOW@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edx
	decl	%edx
	movq	_ACTMON_DEV_CTRL_CONSECUTIVE_BELOW_WMARK_NUM_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	shll	%cl, %edx
	movq	_ACTMON_ABOVE_WMARK_WINDOW@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	decl	%esi
	movq	_ACTMON_DEV_CTRL_CONSECUTIVE_ABOVE_WMARK_NUM_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	shll	%cl, %esi
	orl	%edx, %esi
	orl	%eax, %esi
	movq	_ACTMON_DEV_CTRL_AVG_ABOVE_WMARK_EN@GOTPCREL(%rip), %rax
	orl	(%rax), %esi
	movq	_ACTMON_DEV_CTRL_AVG_BELOW_WMARK_EN@GOTPCREL(%rip), %rax
	orl	(%rax), %esi
	movq	_ACTMON_DEV_CTRL_CONSECUTIVE_BELOW_WMARK_EN@GOTPCREL(%rip), %rax
	orl	(%rax), %esi
	movq	_ACTMON_DEV_CTRL_CONSECUTIVE_ABOVE_WMARK_EN@GOTPCREL(%rip), %rax
	orl	(%rax), %esi
	movq	_ACTMON_DEV_CTRL_ENB@GOTPCREL(%rip), %rax
	orl	(%rax), %esi
	movq	_ACTMON_DEV_CTRL@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r14, %rdi
	popq	%rbx
	popq	%r14
	popq	%rbp
	jmp	_device_writel                  ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_ACTMON_SAMPLING_PERIOD,4,2     ## @ACTMON_SAMPLING_PERIOD
	.comm	_ACTMON_DEV_INIT_AVG,4,2        ## @ACTMON_DEV_INIT_AVG
	.comm	_ACTMON_COUNT_WEIGHT,4,2        ## @ACTMON_COUNT_WEIGHT
	.comm	_ACTMON_DEV_COUNT_WEIGHT,4,2    ## @ACTMON_DEV_COUNT_WEIGHT
	.comm	_ACTMON_INTR_STATUS_CLEAR,4,2   ## @ACTMON_INTR_STATUS_CLEAR
	.comm	_ACTMON_DEV_INTR_STATUS,4,2     ## @ACTMON_DEV_INTR_STATUS
	.comm	_ACTMON_DEV_CTRL_ENB_PERIODIC,4,2 ## @ACTMON_DEV_CTRL_ENB_PERIODIC
	.comm	_ACTMON_AVERAGE_WINDOW_LOG2,4,2 ## @ACTMON_AVERAGE_WINDOW_LOG2
	.comm	_ACTMON_DEV_CTRL_K_VAL_SHIFT,4,2 ## @ACTMON_DEV_CTRL_K_VAL_SHIFT
	.comm	_ACTMON_BELOW_WMARK_WINDOW,4,2  ## @ACTMON_BELOW_WMARK_WINDOW
	.comm	_ACTMON_DEV_CTRL_CONSECUTIVE_BELOW_WMARK_NUM_SHIFT,4,2 ## @ACTMON_DEV_CTRL_CONSECUTIVE_BELOW_WMARK_NUM_SHIFT
	.comm	_ACTMON_ABOVE_WMARK_WINDOW,4,2  ## @ACTMON_ABOVE_WMARK_WINDOW
	.comm	_ACTMON_DEV_CTRL_CONSECUTIVE_ABOVE_WMARK_NUM_SHIFT,4,2 ## @ACTMON_DEV_CTRL_CONSECUTIVE_ABOVE_WMARK_NUM_SHIFT
	.comm	_ACTMON_DEV_CTRL_AVG_ABOVE_WMARK_EN,4,2 ## @ACTMON_DEV_CTRL_AVG_ABOVE_WMARK_EN
	.comm	_ACTMON_DEV_CTRL_AVG_BELOW_WMARK_EN,4,2 ## @ACTMON_DEV_CTRL_AVG_BELOW_WMARK_EN
	.comm	_ACTMON_DEV_CTRL_CONSECUTIVE_BELOW_WMARK_EN,4,2 ## @ACTMON_DEV_CTRL_CONSECUTIVE_BELOW_WMARK_EN
	.comm	_ACTMON_DEV_CTRL_CONSECUTIVE_ABOVE_WMARK_EN,4,2 ## @ACTMON_DEV_CTRL_CONSECUTIVE_ABOVE_WMARK_EN
	.comm	_ACTMON_DEV_CTRL_ENB,4,2        ## @ACTMON_DEV_CTRL_ENB
	.comm	_ACTMON_DEV_CTRL,4,2            ## @ACTMON_DEV_CTRL
	.no_dead_strip	_tegra_actmon_configure_device
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function tegra_actmon_configure_device
_tegra_actmon_configure_device:         ; @tegra_actmon_configure_device
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x1
	mov	x20, x0
	ldr	w8, [x0]
	str	w8, [x1]
Lloh0:
	adrp	x9, _ACTMON_SAMPLING_PERIOD@GOTPAGE
Lloh1:
	ldr	x9, [x9, _ACTMON_SAMPLING_PERIOD@GOTPAGEOFF]
Lloh2:
	ldr	w9, [x9]
	mul	w1, w9, w8
	str	w1, [x19, #4]
Lloh3:
	adrp	x8, _ACTMON_DEV_INIT_AVG@GOTPAGE
Lloh4:
	ldr	x8, [x8, _ACTMON_DEV_INIT_AVG@GOTPAGEOFF]
Lloh5:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_device_writel
	mov	x0, x20
	mov	x1, x19
	bl	_tegra_devfreq_update_avg_wmark
	mov	x0, x20
	mov	x1, x19
	bl	_tegra_devfreq_update_wmark
Lloh6:
	adrp	x8, _ACTMON_COUNT_WEIGHT@GOTPAGE
Lloh7:
	ldr	x8, [x8, _ACTMON_COUNT_WEIGHT@GOTPAGEOFF]
Lloh8:
	ldr	w1, [x8]
Lloh9:
	adrp	x8, _ACTMON_DEV_COUNT_WEIGHT@GOTPAGE
Lloh10:
	ldr	x8, [x8, _ACTMON_DEV_COUNT_WEIGHT@GOTPAGEOFF]
Lloh11:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_device_writel
Lloh12:
	adrp	x8, _ACTMON_INTR_STATUS_CLEAR@GOTPAGE
Lloh13:
	ldr	x8, [x8, _ACTMON_INTR_STATUS_CLEAR@GOTPAGEOFF]
Lloh14:
	ldr	w1, [x8]
Lloh15:
	adrp	x8, _ACTMON_DEV_INTR_STATUS@GOTPAGE
Lloh16:
	ldr	x8, [x8, _ACTMON_DEV_INTR_STATUS@GOTPAGEOFF]
Lloh17:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_device_writel
Lloh18:
	adrp	x8, _ACTMON_DEV_CTRL_ENB_PERIODIC@GOTPAGE
Lloh19:
	ldr	x8, [x8, _ACTMON_DEV_CTRL_ENB_PERIODIC@GOTPAGEOFF]
Lloh20:
	ldr	w8, [x8]
Lloh21:
	adrp	x9, _ACTMON_AVERAGE_WINDOW_LOG2@GOTPAGE
Lloh22:
	ldr	x9, [x9, _ACTMON_AVERAGE_WINDOW_LOG2@GOTPAGEOFF]
Lloh23:
	ldr	w9, [x9]
Lloh24:
	adrp	x10, _ACTMON_DEV_CTRL_K_VAL_SHIFT@GOTPAGE
Lloh25:
	ldr	x10, [x10, _ACTMON_DEV_CTRL_K_VAL_SHIFT@GOTPAGEOFF]
	sub	w9, w9, #1
Lloh26:
	ldr	w10, [x10]
	lsl	w9, w9, w10
	orr	w8, w9, w8
Lloh27:
	adrp	x9, _ACTMON_BELOW_WMARK_WINDOW@GOTPAGE
Lloh28:
	ldr	x9, [x9, _ACTMON_BELOW_WMARK_WINDOW@GOTPAGEOFF]
Lloh29:
	ldr	w9, [x9]
	sub	w9, w9, #1
Lloh30:
	adrp	x10, _ACTMON_DEV_CTRL_CONSECUTIVE_BELOW_WMARK_NUM_SHIFT@GOTPAGE
Lloh31:
	ldr	x10, [x10, _ACTMON_DEV_CTRL_CONSECUTIVE_BELOW_WMARK_NUM_SHIFT@GOTPAGEOFF]
Lloh32:
	ldr	w10, [x10]
	lsl	w9, w9, w10
	orr	w8, w8, w9
Lloh33:
	adrp	x9, _ACTMON_ABOVE_WMARK_WINDOW@GOTPAGE
Lloh34:
	ldr	x9, [x9, _ACTMON_ABOVE_WMARK_WINDOW@GOTPAGEOFF]
Lloh35:
	ldr	w9, [x9]
Lloh36:
	adrp	x10, _ACTMON_DEV_CTRL_CONSECUTIVE_ABOVE_WMARK_NUM_SHIFT@GOTPAGE
Lloh37:
	ldr	x10, [x10, _ACTMON_DEV_CTRL_CONSECUTIVE_ABOVE_WMARK_NUM_SHIFT@GOTPAGEOFF]
	sub	w9, w9, #1
Lloh38:
	ldr	w10, [x10]
	lsl	w9, w9, w10
	orr	w8, w8, w9
Lloh39:
	adrp	x9, _ACTMON_DEV_CTRL_AVG_ABOVE_WMARK_EN@GOTPAGE
Lloh40:
	ldr	x9, [x9, _ACTMON_DEV_CTRL_AVG_ABOVE_WMARK_EN@GOTPAGEOFF]
Lloh41:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh42:
	adrp	x9, _ACTMON_DEV_CTRL_AVG_BELOW_WMARK_EN@GOTPAGE
Lloh43:
	ldr	x9, [x9, _ACTMON_DEV_CTRL_AVG_BELOW_WMARK_EN@GOTPAGEOFF]
Lloh44:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh45:
	adrp	x9, _ACTMON_DEV_CTRL_CONSECUTIVE_BELOW_WMARK_EN@GOTPAGE
Lloh46:
	ldr	x9, [x9, _ACTMON_DEV_CTRL_CONSECUTIVE_BELOW_WMARK_EN@GOTPAGEOFF]
Lloh47:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh48:
	adrp	x9, _ACTMON_DEV_CTRL_CONSECUTIVE_ABOVE_WMARK_EN@GOTPAGE
Lloh49:
	ldr	x9, [x9, _ACTMON_DEV_CTRL_CONSECUTIVE_ABOVE_WMARK_EN@GOTPAGEOFF]
Lloh50:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh51:
	adrp	x9, _ACTMON_DEV_CTRL_ENB@GOTPAGE
Lloh52:
	ldr	x9, [x9, _ACTMON_DEV_CTRL_ENB@GOTPAGEOFF]
Lloh53:
	ldr	w9, [x9]
	orr	w1, w8, w9
Lloh54:
	adrp	x8, _ACTMON_DEV_CTRL@GOTPAGE
Lloh55:
	ldr	x8, [x8, _ACTMON_DEV_CTRL@GOTPAGEOFF]
Lloh56:
	ldr	w2, [x8]
	mov	x0, x19
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	b	_device_writel
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh45, Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_ACTMON_SAMPLING_PERIOD,4,2     ; @ACTMON_SAMPLING_PERIOD
	.comm	_ACTMON_DEV_INIT_AVG,4,2        ; @ACTMON_DEV_INIT_AVG
	.comm	_ACTMON_COUNT_WEIGHT,4,2        ; @ACTMON_COUNT_WEIGHT
	.comm	_ACTMON_DEV_COUNT_WEIGHT,4,2    ; @ACTMON_DEV_COUNT_WEIGHT
	.comm	_ACTMON_INTR_STATUS_CLEAR,4,2   ; @ACTMON_INTR_STATUS_CLEAR
	.comm	_ACTMON_DEV_INTR_STATUS,4,2     ; @ACTMON_DEV_INTR_STATUS
	.comm	_ACTMON_DEV_CTRL_ENB_PERIODIC,4,2 ; @ACTMON_DEV_CTRL_ENB_PERIODIC
	.comm	_ACTMON_AVERAGE_WINDOW_LOG2,4,2 ; @ACTMON_AVERAGE_WINDOW_LOG2
	.comm	_ACTMON_DEV_CTRL_K_VAL_SHIFT,4,2 ; @ACTMON_DEV_CTRL_K_VAL_SHIFT
	.comm	_ACTMON_BELOW_WMARK_WINDOW,4,2  ; @ACTMON_BELOW_WMARK_WINDOW
	.comm	_ACTMON_DEV_CTRL_CONSECUTIVE_BELOW_WMARK_NUM_SHIFT,4,2 ; @ACTMON_DEV_CTRL_CONSECUTIVE_BELOW_WMARK_NUM_SHIFT
	.comm	_ACTMON_ABOVE_WMARK_WINDOW,4,2  ; @ACTMON_ABOVE_WMARK_WINDOW
	.comm	_ACTMON_DEV_CTRL_CONSECUTIVE_ABOVE_WMARK_NUM_SHIFT,4,2 ; @ACTMON_DEV_CTRL_CONSECUTIVE_ABOVE_WMARK_NUM_SHIFT
	.comm	_ACTMON_DEV_CTRL_AVG_ABOVE_WMARK_EN,4,2 ; @ACTMON_DEV_CTRL_AVG_ABOVE_WMARK_EN
	.comm	_ACTMON_DEV_CTRL_AVG_BELOW_WMARK_EN,4,2 ; @ACTMON_DEV_CTRL_AVG_BELOW_WMARK_EN
	.comm	_ACTMON_DEV_CTRL_CONSECUTIVE_BELOW_WMARK_EN,4,2 ; @ACTMON_DEV_CTRL_CONSECUTIVE_BELOW_WMARK_EN
	.comm	_ACTMON_DEV_CTRL_CONSECUTIVE_ABOVE_WMARK_EN,4,2 ; @ACTMON_DEV_CTRL_CONSECUTIVE_ABOVE_WMARK_EN
	.comm	_ACTMON_DEV_CTRL_ENB,4,2        ; @ACTMON_DEV_CTRL_ENB
	.comm	_ACTMON_DEV_CTRL,4,2            ; @ACTMON_DEV_CTRL
	.no_dead_strip	_tegra_actmon_configure_device
.subsections_via_symbols
