	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function stih_cec_adap_enable
_stih_cec_adap_enable:                  ## @stih_cec_adap_enable
	.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
	movl	%esi, %ebx
	callq	_cec_get_drvdata
	movq	%rax, %r14
	testl	%ebx, %ebx
	je	LBB0_2
## %bb.1:
	movl	8(%r14), %edi
	callq	_clk_get_rate
	movabsq	$3777893186295716171, %rcx      ## imm = 0x346DC5D63886594B
	mulq	%rcx
	movq	%rdx, %rdi
	shrq	$11, %rdi
	movq	_CEC_CLK_DIV@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
                                        ## kill: def $edi killed $edi killed $rdi
	callq	_writel
	movq	_CEC_SBIT_TOUT_47MS@GOTPCREL(%rip), %rax
	movq	_CEC_DBIT_TOUT_28MS@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	shll	$4, %edi
	orl	(%rax), %edi
	movq	_CEC_BIT_TOUT_THRESH@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	callq	_writel
	movq	_CEC_BIT_LPULSE_03MS@GOTPCREL(%rip), %rax
	movq	_CEC_BIT_HPULSE_03MS@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	orl	(%rax), %edi
	movq	_CEC_BIT_PULSE_THRESH@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	callq	_writel
	movl	$5, %edi
	callq	_BIT
	movl	%eax, %ebx
	movl	$7, %edi
	callq	_BIT
	orl	%eax, %ebx
	movq	_CEC_TX_CTRL@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	movl	%ebx, %edi
	callq	_writel
	movq	_CEC_TX_ARRAY_EN@GOTPCREL(%rip), %rax
	movq	_CEC_RX_ARRAY_EN@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	orl	(%rax), %edi
	movq	_CEC_TX_STOP_ON_NACK@GOTPCREL(%rip), %rax
	orl	(%rax), %edi
	movq	_CEC_DATA_ARRAY_CTRL@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	callq	_writel
	movq	_CEC_IN_FILTER_EN@GOTPCREL(%rip), %rax
	movq	_CEC_EN@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	orl	(%rax), %edi
	movq	_CEC_RX_RESET_EN@GOTPCREL(%rip), %rax
	orl	(%rax), %edi
	movq	_CEC_CTRL@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	callq	_writel
	movq	_CEC_ADDR_TABLE@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	xorl	%edi, %edi
	callq	_writel
	movq	_CEC_STATUS@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	xorl	%edi, %edi
	callq	_writel
	movq	_CEC_TX_DONE_IRQ_EN@GOTPCREL(%rip), %rax
	movq	_CEC_RX_DONE_IRQ_EN@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ebx
	orl	(%rax), %ebx
	movq	_CEC_RX_SOM_IRQ_EN@GOTPCREL(%rip), %rax
	orl	(%rax), %ebx
	movq	_CEC_RX_EOM_IRQ_EN@GOTPCREL(%rip), %rax
	orl	(%rax), %ebx
	movq	_CEC_ERROR_IRQ_EN@GOTPCREL(%rip), %rax
	orl	(%rax), %ebx
	jmp	LBB0_3
LBB0_2:
	movq	_CEC_ADDR_TABLE@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	xorl	%ebx, %ebx
	xorl	%edi, %edi
	callq	_writel
	movq	_CEC_STATUS@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	xorl	%edi, %edi
	callq	_writel
LBB0_3:
	movq	_CEC_IRQ_CTRL@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	movl	%ebx, %edi
	callq	_writel
	xorl	%eax, %eax
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_CEC_CLK_DIV,8,3                ## @CEC_CLK_DIV
	.comm	_CEC_SBIT_TOUT_47MS,4,2         ## @CEC_SBIT_TOUT_47MS
	.comm	_CEC_DBIT_TOUT_28MS,4,2         ## @CEC_DBIT_TOUT_28MS
	.comm	_CEC_BIT_TOUT_THRESH,8,3        ## @CEC_BIT_TOUT_THRESH
	.comm	_CEC_BIT_LPULSE_03MS,4,2        ## @CEC_BIT_LPULSE_03MS
	.comm	_CEC_BIT_HPULSE_03MS,4,2        ## @CEC_BIT_HPULSE_03MS
	.comm	_CEC_BIT_PULSE_THRESH,8,3       ## @CEC_BIT_PULSE_THRESH
	.comm	_CEC_TX_CTRL,8,3                ## @CEC_TX_CTRL
	.comm	_CEC_TX_ARRAY_EN,4,2            ## @CEC_TX_ARRAY_EN
	.comm	_CEC_RX_ARRAY_EN,4,2            ## @CEC_RX_ARRAY_EN
	.comm	_CEC_TX_STOP_ON_NACK,4,2        ## @CEC_TX_STOP_ON_NACK
	.comm	_CEC_DATA_ARRAY_CTRL,8,3        ## @CEC_DATA_ARRAY_CTRL
	.comm	_CEC_IN_FILTER_EN,4,2           ## @CEC_IN_FILTER_EN
	.comm	_CEC_EN,4,2                     ## @CEC_EN
	.comm	_CEC_RX_RESET_EN,4,2            ## @CEC_RX_RESET_EN
	.comm	_CEC_CTRL,8,3                   ## @CEC_CTRL
	.comm	_CEC_ADDR_TABLE,8,3             ## @CEC_ADDR_TABLE
	.comm	_CEC_STATUS,8,3                 ## @CEC_STATUS
	.comm	_CEC_TX_DONE_IRQ_EN,4,2         ## @CEC_TX_DONE_IRQ_EN
	.comm	_CEC_RX_DONE_IRQ_EN,4,2         ## @CEC_RX_DONE_IRQ_EN
	.comm	_CEC_RX_SOM_IRQ_EN,4,2          ## @CEC_RX_SOM_IRQ_EN
	.comm	_CEC_RX_EOM_IRQ_EN,4,2          ## @CEC_RX_EOM_IRQ_EN
	.comm	_CEC_ERROR_IRQ_EN,4,2           ## @CEC_ERROR_IRQ_EN
	.comm	_CEC_IRQ_CTRL,8,3               ## @CEC_IRQ_CTRL
	.no_dead_strip	_stih_cec_adap_enable
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function stih_cec_adap_enable
_stih_cec_adap_enable:                  ; @stih_cec_adap_enable
	.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	x20, x1
	bl	_cec_get_drvdata
	mov	x19, x0
	cbz	w20, LBB0_2
; %bb.1:
	ldr	w0, [x19, #8]
	bl	_clk_get_rate
	mov	x8, #22859
	movk	x8, #14470, lsl #16
	movk	x8, #50646, lsl #32
	movk	x8, #13421, lsl #48
	umulh	x8, x0, x8
	lsr	x0, x8, #11
	ldr	x8, [x19]
Lloh0:
	adrp	x9, _CEC_CLK_DIV@GOTPAGE
Lloh1:
	ldr	x9, [x9, _CEC_CLK_DIV@GOTPAGEOFF]
Lloh2:
	ldr	x9, [x9]
	add	x1, x9, x8
                                        ; kill: def $w0 killed $w0 killed $x0
	bl	_writel
Lloh3:
	adrp	x8, _CEC_SBIT_TOUT_47MS@GOTPAGE
Lloh4:
	ldr	x8, [x8, _CEC_SBIT_TOUT_47MS@GOTPAGEOFF]
Lloh5:
	ldr	w8, [x8]
Lloh6:
	adrp	x9, _CEC_DBIT_TOUT_28MS@GOTPAGE
Lloh7:
	ldr	x9, [x9, _CEC_DBIT_TOUT_28MS@GOTPAGEOFF]
Lloh8:
	ldr	w9, [x9]
	orr	w0, w8, w9, lsl #4
	ldr	x8, [x19]
Lloh9:
	adrp	x9, _CEC_BIT_TOUT_THRESH@GOTPAGE
Lloh10:
	ldr	x9, [x9, _CEC_BIT_TOUT_THRESH@GOTPAGEOFF]
Lloh11:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
Lloh12:
	adrp	x8, _CEC_BIT_LPULSE_03MS@GOTPAGE
Lloh13:
	ldr	x8, [x8, _CEC_BIT_LPULSE_03MS@GOTPAGEOFF]
Lloh14:
	ldr	w8, [x8]
Lloh15:
	adrp	x9, _CEC_BIT_HPULSE_03MS@GOTPAGE
Lloh16:
	ldr	x9, [x9, _CEC_BIT_HPULSE_03MS@GOTPAGEOFF]
Lloh17:
	ldr	w9, [x9]
	orr	w0, w9, w8
	ldr	x8, [x19]
Lloh18:
	adrp	x9, _CEC_BIT_PULSE_THRESH@GOTPAGE
Lloh19:
	ldr	x9, [x9, _CEC_BIT_PULSE_THRESH@GOTPAGEOFF]
Lloh20:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
	mov	w0, #5
	bl	_BIT
	mov	x20, x0
	mov	w0, #7
	bl	_BIT
	orr	w0, w0, w20
	ldr	x8, [x19]
Lloh21:
	adrp	x9, _CEC_TX_CTRL@GOTPAGE
Lloh22:
	ldr	x9, [x9, _CEC_TX_CTRL@GOTPAGEOFF]
Lloh23:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
Lloh24:
	adrp	x8, _CEC_TX_ARRAY_EN@GOTPAGE
Lloh25:
	ldr	x8, [x8, _CEC_TX_ARRAY_EN@GOTPAGEOFF]
Lloh26:
	adrp	x9, _CEC_RX_ARRAY_EN@GOTPAGE
Lloh27:
	ldr	x9, [x9, _CEC_RX_ARRAY_EN@GOTPAGEOFF]
Lloh28:
	ldr	w8, [x8]
Lloh29:
	ldr	w9, [x9]
	orr	w8, w9, w8
Lloh30:
	adrp	x9, _CEC_TX_STOP_ON_NACK@GOTPAGE
Lloh31:
	ldr	x9, [x9, _CEC_TX_STOP_ON_NACK@GOTPAGEOFF]
Lloh32:
	ldr	w9, [x9]
	orr	w0, w8, w9
	ldr	x8, [x19]
Lloh33:
	adrp	x9, _CEC_DATA_ARRAY_CTRL@GOTPAGE
Lloh34:
	ldr	x9, [x9, _CEC_DATA_ARRAY_CTRL@GOTPAGEOFF]
Lloh35:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
Lloh36:
	adrp	x8, _CEC_IN_FILTER_EN@GOTPAGE
Lloh37:
	ldr	x8, [x8, _CEC_IN_FILTER_EN@GOTPAGEOFF]
Lloh38:
	adrp	x9, _CEC_EN@GOTPAGE
Lloh39:
	ldr	x9, [x9, _CEC_EN@GOTPAGEOFF]
Lloh40:
	ldr	w8, [x8]
Lloh41:
	ldr	w9, [x9]
	orr	w8, w9, w8
Lloh42:
	adrp	x9, _CEC_RX_RESET_EN@GOTPAGE
Lloh43:
	ldr	x9, [x9, _CEC_RX_RESET_EN@GOTPAGEOFF]
Lloh44:
	ldr	w9, [x9]
	orr	w0, w8, w9
	ldr	x8, [x19]
Lloh45:
	adrp	x9, _CEC_CTRL@GOTPAGE
Lloh46:
	ldr	x9, [x9, _CEC_CTRL@GOTPAGEOFF]
Lloh47:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
	ldr	x8, [x19]
Lloh48:
	adrp	x9, _CEC_ADDR_TABLE@GOTPAGE
Lloh49:
	ldr	x9, [x9, _CEC_ADDR_TABLE@GOTPAGEOFF]
Lloh50:
	ldr	x9, [x9]
	add	x1, x9, x8
	mov	w0, #0
	bl	_writel
	ldr	x8, [x19]
Lloh51:
	adrp	x9, _CEC_STATUS@GOTPAGE
Lloh52:
	ldr	x9, [x9, _CEC_STATUS@GOTPAGEOFF]
Lloh53:
	ldr	x9, [x9]
	add	x1, x9, x8
	mov	w0, #0
	bl	_writel
Lloh54:
	adrp	x8, _CEC_TX_DONE_IRQ_EN@GOTPAGE
Lloh55:
	ldr	x8, [x8, _CEC_TX_DONE_IRQ_EN@GOTPAGEOFF]
Lloh56:
	ldr	w8, [x8]
Lloh57:
	adrp	x9, _CEC_RX_DONE_IRQ_EN@GOTPAGE
Lloh58:
	ldr	x9, [x9, _CEC_RX_DONE_IRQ_EN@GOTPAGEOFF]
Lloh59:
	ldr	w9, [x9]
	orr	w8, w9, w8
Lloh60:
	adrp	x9, _CEC_RX_SOM_IRQ_EN@GOTPAGE
Lloh61:
	ldr	x9, [x9, _CEC_RX_SOM_IRQ_EN@GOTPAGEOFF]
Lloh62:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh63:
	adrp	x9, _CEC_RX_EOM_IRQ_EN@GOTPAGE
Lloh64:
	ldr	x9, [x9, _CEC_RX_EOM_IRQ_EN@GOTPAGEOFF]
Lloh65:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh66:
	adrp	x9, _CEC_ERROR_IRQ_EN@GOTPAGE
Lloh67:
	ldr	x9, [x9, _CEC_ERROR_IRQ_EN@GOTPAGEOFF]
Lloh68:
	ldr	w9, [x9]
	orr	w0, w8, w9
	b	LBB0_3
LBB0_2:
	ldr	x8, [x19]
Lloh69:
	adrp	x9, _CEC_ADDR_TABLE@GOTPAGE
Lloh70:
	ldr	x9, [x9, _CEC_ADDR_TABLE@GOTPAGEOFF]
Lloh71:
	ldr	x9, [x9]
	add	x1, x9, x8
	mov	w0, #0
	bl	_writel
	ldr	x8, [x19]
Lloh72:
	adrp	x9, _CEC_STATUS@GOTPAGE
Lloh73:
	ldr	x9, [x9, _CEC_STATUS@GOTPAGEOFF]
Lloh74:
	ldr	x9, [x9]
	add	x1, x9, x8
	mov	w0, #0
	bl	_writel
	mov	w0, #0
LBB0_3:
	ldr	x8, [x19]
Lloh75:
	adrp	x9, _CEC_IRQ_CTRL@GOTPAGE
Lloh76:
	ldr	x9, [x9, _CEC_IRQ_CTRL@GOTPAGEOFF]
Lloh77:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
	mov	w0, #0
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh66, Lloh67, Lloh68
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpLdrGotLdr	Lloh60, Lloh61, Lloh62
	.loh AdrpLdrGotLdr	Lloh57, Lloh58, Lloh59
	.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	Lloh38, Lloh39, Lloh41
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh40
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh29
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh28
	.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
	.loh AdrpLdrGotLdr	Lloh72, Lloh73, Lloh74
	.loh AdrpLdrGotLdr	Lloh69, Lloh70, Lloh71
	.loh AdrpLdrGotLdr	Lloh75, Lloh76, Lloh77
	.cfi_endproc
                                        ; -- End function
	.comm	_CEC_CLK_DIV,8,3                ; @CEC_CLK_DIV
	.comm	_CEC_SBIT_TOUT_47MS,4,2         ; @CEC_SBIT_TOUT_47MS
	.comm	_CEC_DBIT_TOUT_28MS,4,2         ; @CEC_DBIT_TOUT_28MS
	.comm	_CEC_BIT_TOUT_THRESH,8,3        ; @CEC_BIT_TOUT_THRESH
	.comm	_CEC_BIT_LPULSE_03MS,4,2        ; @CEC_BIT_LPULSE_03MS
	.comm	_CEC_BIT_HPULSE_03MS,4,2        ; @CEC_BIT_HPULSE_03MS
	.comm	_CEC_BIT_PULSE_THRESH,8,3       ; @CEC_BIT_PULSE_THRESH
	.comm	_CEC_TX_CTRL,8,3                ; @CEC_TX_CTRL
	.comm	_CEC_TX_ARRAY_EN,4,2            ; @CEC_TX_ARRAY_EN
	.comm	_CEC_RX_ARRAY_EN,4,2            ; @CEC_RX_ARRAY_EN
	.comm	_CEC_TX_STOP_ON_NACK,4,2        ; @CEC_TX_STOP_ON_NACK
	.comm	_CEC_DATA_ARRAY_CTRL,8,3        ; @CEC_DATA_ARRAY_CTRL
	.comm	_CEC_IN_FILTER_EN,4,2           ; @CEC_IN_FILTER_EN
	.comm	_CEC_EN,4,2                     ; @CEC_EN
	.comm	_CEC_RX_RESET_EN,4,2            ; @CEC_RX_RESET_EN
	.comm	_CEC_CTRL,8,3                   ; @CEC_CTRL
	.comm	_CEC_ADDR_TABLE,8,3             ; @CEC_ADDR_TABLE
	.comm	_CEC_STATUS,8,3                 ; @CEC_STATUS
	.comm	_CEC_TX_DONE_IRQ_EN,4,2         ; @CEC_TX_DONE_IRQ_EN
	.comm	_CEC_RX_DONE_IRQ_EN,4,2         ; @CEC_RX_DONE_IRQ_EN
	.comm	_CEC_RX_SOM_IRQ_EN,4,2          ; @CEC_RX_SOM_IRQ_EN
	.comm	_CEC_RX_EOM_IRQ_EN,4,2          ; @CEC_RX_EOM_IRQ_EN
	.comm	_CEC_ERROR_IRQ_EN,4,2           ; @CEC_ERROR_IRQ_EN
	.comm	_CEC_IRQ_CTRL,8,3               ; @CEC_IRQ_CTRL
	.no_dead_strip	_stih_cec_adap_enable
.subsections_via_symbols
