	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function stv090x_algo
_stv090x_algo:                          ## @stv090x_algo
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r12
	movq	_STV090x_NOCARRIER@GOTPCREL(%rip), %r15
	movl	(%r15), %r14d
	movq	_TSCFGH@GOTPCREL(%rip), %r13
	movl	(%r13), %esi
	callq	_STV090x_READ_DEMOD
	movl	%eax, %ebx
	movl	%eax, -44(%rbp)
	movq	_RST_HWARE_FIELD@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%ebx, %edi
	movl	$1, %edx
	callq	_STV090x_SETFIELD_Px
	movl	(%r13), %esi
	movq	%r12, %rdi
	movl	%ebx, %edx
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.1:
	movq	_DMDISTATE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	$92, %edx
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.2:
	movq	40(%r12), %rax
	cmpl	$32, (%rax)
	jl	LBB0_7
## %bb.3:
	cmpl	$5000001, (%r12)                ## imm = 0x4C4B41
	movq	_CORRELABS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	jl	LBB0_5
## %bb.4:
	movl	$158, %edx
	jmp	LBB0_6
LBB0_5:
	movl	$130, %edx
LBB0_6:
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
LBB0_7:
	movq	%r12, %rdi
	callq	_stv090x_get_lock_tmg
	movq	8(%r12), %rax
	movq	_STV090x_BLIND_SEARCH@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_12
## %bb.8:
	movl	$72000000, 16(%r12)             ## imm = 0x44AA200
	movq	_TMGCFG2@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	$192, %edx
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.9:
	movq	_CORRELMANT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	$112, %edx
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.10:
	movq	%r12, %rdi
	movl	$1000000, %esi                  ## imm = 0xF4240
	callq	_stv090x_set_srate
	testq	%rax, %rax
	js	LBB0_85
## %bb.11:
	movl	$0, -60(%rbp)                   ## 4-byte Folded Spill
LBB0_31:
	movq	%r12, %rdi
	movl	$1, %esi
	callq	_stv090x_i2c_gate_ctrl
	testq	%rax, %rax
	js	LBB0_85
## %bb.32:
	leaq	72(%r12), %rbx
	movq	56(%r12), %rax
	movq	(%rax), %rcx
	testq	%rcx, %rcx
	je	LBB0_35
## %bb.33:
	movl	8(%rax), %eax
	testl	%eax, %eax
	movl	$10, %esi
	cmovnel	%eax, %esi
	movl	%esi, -44(%rbp)
	movq	%rbx, %rdi
	callq	*%rcx
	testq	%rax, %rax
	js	LBB0_84
## %bb.34:
	movq	56(%r12), %rax
LBB0_35:
	movq	16(%rax), %rcx
	testq	%rcx, %rcx
	je	LBB0_38
## %bb.36:
	movl	64(%r12), %esi
	movq	%rbx, %rdi
	callq	*%rcx
	testq	%rax, %rax
	js	LBB0_84
## %bb.37:
	movq	56(%r12), %rax
LBB0_38:
	movq	24(%rax), %rax
	testq	%rax, %rax
	je	LBB0_40
## %bb.39:
	movl	16(%r12), %esi
	movq	%rbx, %rdi
	callq	*%rax
	testq	%rax, %rax
	js	LBB0_84
LBB0_40:
	movq	%r12, %rdi
	xorl	%esi, %esi
	callq	_stv090x_i2c_gate_ctrl
	testq	%rax, %rax
	js	LBB0_85
## %bb.41:
	movl	$50, %edi
	callq	_msleep
	movq	56(%r12), %rax
	cmpq	$0, 32(%rax)
	je	LBB0_47
## %bb.42:
	movq	%r12, %rdi
	movl	$1, %esi
	callq	_stv090x_i2c_gate_ctrl
	testq	%rax, %rax
	js	LBB0_85
## %bb.43:
	movq	56(%r12), %rax
	leaq	-44(%rbp), %rsi
	movq	%rbx, %rdi
	callq	*32(%rax)
	testq	%rax, %rax
	js	LBB0_84
## %bb.44:
	movq	%r12, %rdi
	xorl	%esi, %esi
	callq	_stv090x_i2c_gate_ctrl
	testq	%rax, %rax
	js	LBB0_85
## %bb.45:
	cmpl	$0, -44(%rbp)
	movq	_FE_DEBUG@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	je	LBB0_87
## %bb.46:
	leaq	L_.str(%rip), %rdx
	movl	$1, %esi
	xorl	%eax, %eax
	callq	_dprintk
LBB0_47:
	movl	$10, %edi
	callq	_msleep
	movq	_AGCIQIN1@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	movl	%eax, %ebx
	movq	_AGCIQIN0@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	movl	%ebx, %edi
	movl	%eax, %esi
	callq	_MAKEWORD16
	testq	%rax, %rax
	jne	LBB0_50
## %bb.48:
	movq	_POWERI@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	movl	%eax, -56(%rbp)                 ## 4-byte Spill
	movq	_POWERQ@GOTPCREL(%rip), %r15
	movl	(%r15), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	movl	%eax, %ebx
	addl	-56(%rbp), %ebx                 ## 4-byte Folded Reload
	sarl	%ebx
	movq	_POWERI@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	movl	%eax, -56(%rbp)                 ## 4-byte Spill
	movl	(%r15), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	addl	-56(%rbp), %eax                 ## 4-byte Folded Reload
	sarl	%eax
	addl	%ebx, %eax
	cltq
	movq	%rax, -56(%rbp)                 ## 8-byte Spill
	movq	_POWERI@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	movl	%eax, %ebx
	movl	(%r15), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	addl	%ebx, %eax
	sarl	%eax
	movslq	%eax, %r15
	addq	-56(%rbp), %r15                 ## 8-byte Folded Reload
	movq	_POWERI@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	movl	%eax, %ebx
	movq	_POWERQ@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	addl	%ebx, %eax
	sarl	%eax
	movslq	%eax, %rbx
	addq	%r15, %rbx
	movq	_POWERI@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	movl	%eax, %r15d
	movq	_POWERQ@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	addl	%r15d, %eax
	sarl	%eax
	cltq
	addq	%rbx, %rax
	movabsq	$7378697629483820647, %rcx      ## imm = 0x6666666666666667
	imulq	%rcx
	movq	%rdx, %rcx
	movq	%rdx, %rax
	shrq	$63, %rax
	sarq	%rcx
	addq	%rax, %rcx
	movq	_STV090x_IQPOWER_THRESHOLD@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rcx
	jge	LBB0_50
## %bb.49:
	movq	_FE_ERROR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.2(%rip), %rdx
	movl	$1, %esi
	xorl	%eax, %eax
	callq	_dprintk
	movq	_STV090x_NOAGC1@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	jmp	LBB0_57
LBB0_12:
	movq	_DMDTOM@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	$32, %edx
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.13:
	movq	_TMGCFG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	$210, %edx
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.14:
	cmpl	$1999999, (%r12)                ## imm = 0x1E847F
	movq	_CORRELMANT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	jg	LBB0_16
## %bb.15:
	movl	$99, %edx
	jmp	LBB0_17
LBB0_16:
	movl	$112, %edx
LBB0_17:
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.18:
	movq	_AGC2REF@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	$56, %edx
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.19:
	movq	40(%r12), %rax
	cmpl	$32, (%rax)
	jl	LBB0_26
## %bb.20:
	movq	_KREFTMG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	$90, %edx
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.21:
	movq	8(%r12), %rax
	movq	_STV090x_COLD_SEARCH@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_23
## %bb.22:
	movl	(%r12), %edi
	movl	68(%r12), %esi
	callq	_stv090x_car_width
                                        ## kill: def $eax killed $eax def $rax
	leal	(%rax,%rax,4), %eax
	leal	(%rax,%rax,2), %eax
	addl	$150000000, %eax                ## imm = 0x8F0D180
	cltq
	imulq	$1717986919, %rax, %rax         ## imm = 0x66666667
	movq	%rax, %rcx
	shrq	$63, %rcx
	sarq	$34, %rax
	addl	%ecx, %eax
	jmp	LBB0_25
LBB0_84:
	movq	%r12, %rdi
	xorl	%esi, %esi
	callq	_stv090x_i2c_gate_ctrl
	jmp	LBB0_85
LBB0_23:
	movq	_STV090x_WARM_SEARCH@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_26
## %bb.24:
	movl	(%r12), %edi
	movl	68(%r12), %esi
	callq	_stv090x_car_width
                                        ## kill: def $eax killed $eax def $rax
	addl	$10000000, %eax                 ## imm = 0x989680
LBB0_25:
	movl	%eax, 16(%r12)
LBB0_26:
	movq	_TMGCFG2@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	$193, %edx
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.27:
	movl	(%r12), %esi
	movq	%r12, %rdi
	callq	_stv090x_set_srate
	testq	%rax, %rax
	js	LBB0_85
## %bb.28:
	movq	40(%r12), %rax
	movl	4(%rax), %esi
	movl	(%r12), %edx
	movq	%r12, %rdi
	callq	_stv090x_set_max_srate
	testq	%rax, %rax
	js	LBB0_85
## %bb.29:
	movq	40(%r12), %rax
	movl	4(%rax), %esi
	movl	(%r12), %edx
	movq	%r12, %rdi
	callq	_stv090x_set_min_srate
	testq	%rax, %rax
	js	LBB0_85
## %bb.30:
	cmpl	$10000000, (%r12)               ## imm = 0x989680
	setl	%al
	movl	%eax, -60(%rbp)                 ## 4-byte Spill
	jmp	LBB0_31
LBB0_50:
	movq	_DEMOD@GOTPCREL(%rip), %rbx
	movl	(%rbx), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	movl	%eax, -44(%rbp)
	movq	_SPECINV_CONTROL_FIELD@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	movl	20(%r12), %edx
	movl	%eax, %edi
	callq	_STV090x_SETFIELD_Px
	movq	40(%r12), %rax
	cmpl	$33, (%rax)
	movl	-44(%rbp), %edi
	jge	LBB0_51
## %bb.52:
	movq	_MANUAL_SXROLLOFF_FIELD@GOTPCREL(%rip), %rax
	jmp	LBB0_53
LBB0_51:
	movq	_MANUAL_S2ROLLOFF_FIELD@GOTPCREL(%rip), %rax
LBB0_53:
	movl	(%rax), %esi
	movl	$1, %edx
	callq	_STV090x_SETFIELD_Px
	movl	(%rbx), %esi
	movl	-44(%rbp), %edx
	movq	%r12, %rdi
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.54:
	movq	%r12, %rdi
	callq	_stv090x_delivery_search
	testq	%rax, %rax
	js	LBB0_85
## %bb.55:
	movq	8(%r12), %rax
	movq	_STV090x_BLIND_SEARCH@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_57
## %bb.56:
	movq	%r12, %rdi
	callq	_stv090x_start_search
	testq	%rax, %rax
	js	LBB0_85
LBB0_57:
	movq	_STV090x_NOAGC1@GOTPCREL(%rip), %rax
	cmpl	(%rax), %r14d
	je	LBB0_86
## %bb.58:
	movq	8(%r12), %rax
	movq	_STV090x_BLIND_SEARCH@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_60
## %bb.59:
	movq	%r12, %rdi
	callq	_stv090x_blind_search
	jmp	LBB0_64
LBB0_87:
	leaq	L_.str.1(%rip), %rdx
	movl	$1, %esi
	xorl	%eax, %eax
	callq	_dprintk
	movl	(%r15), %r14d
	jmp	LBB0_86
LBB0_60:
	movq	_STV090x_COLD_SEARCH@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	%rcx, %rax
	jne	LBB0_62
## %bb.61:
	movl	48(%r12), %esi
	movq	%r12, %rdi
	callq	_stv090x_get_coldlock
	jmp	LBB0_64
LBB0_62:
	movq	_STV090x_WARM_SEARCH@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rax
	jne	LBB0_66
## %bb.63:
	movl	48(%r12), %esi
	movq	%r12, %rdi
	callq	_stv090x_get_dmdlock
LBB0_64:
	testl	%eax, %eax
	je	LBB0_65
LBB0_69:
	movq	%r12, %rdi
	callq	_stv090x_get_sig_params
	movl	%eax, %r14d
	movq	_STV090x_RANGEOK@GOTPCREL(%rip), %rax
	cmpl	(%rax), %r14d
	jne	LBB0_86
## %bb.70:
	movq	%r12, %rdi
	callq	_stv090x_optimize_track
	movq	40(%r12), %rax
	cmpl	$32, (%rax)
	jl	LBB0_74
## %bb.71:
	movl	(%r13), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	movl	%eax, -44(%rbp)
	movq	_RST_HWARE_FIELD@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	movl	%eax, %edi
	xorl	%edx, %edx
	callq	_STV090x_SETFIELD_Px
	movl	(%r13), %esi
	movl	-44(%rbp), %edx
	movq	%r12, %rdi
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.72:
	movl	$3, %edi
	callq	_msleep
	movl	-44(%rbp), %edi
	movq	_RST_HWARE_FIELD@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	$1, %edx
	callq	_STV090x_SETFIELD_Px
	movl	(%r13), %esi
	movl	-44(%rbp), %edx
	movq	%r12, %rdi
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.73:
	movl	-44(%rbp), %edi
	movq	_RST_HWARE_FIELD@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	xorl	%edx, %edx
	callq	_STV090x_SETFIELD_Px
	movl	(%r13), %esi
	movl	-44(%rbp), %edx
	movq	%r12, %rdi
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
LBB0_74:
	movl	32(%r12), %edx
	movq	%r12, %rdi
	movl	%edx, %esi
	callq	_stv090x_get_lock
	testl	%eax, %eax
	je	LBB0_83
## %bb.75:
	movq	24(%r12), %rax
	movq	_STV090x_DVBS2@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_79
## %bb.76:
	movq	%r12, %rdi
	callq	_stv090x_set_s2rolloff
	movq	_PDELCTRL2@GOTPCREL(%rip), %rbx
	movl	(%rbx), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	movl	%eax, -44(%rbp)
	movq	_RESET_UPKO_COUNT@GOTPCREL(%rip), %r15
	movl	(%r15), %esi
	movl	%eax, %edi
	movl	$1, %edx
	callq	_STV090x_SETFIELD_Px
	movl	(%rbx), %esi
	movl	-44(%rbp), %edx
	movq	%r12, %rdi
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.77:
	movl	(%rbx), %esi
	movq	%r12, %rdi
	callq	_STV090x_READ_DEMOD
	movl	%eax, -44(%rbp)
	movl	(%r15), %esi
	movl	%eax, %edi
	xorl	%edx, %edx
	callq	_STV090x_SETFIELD_Px
	movl	(%rbx), %esi
	movl	-44(%rbp), %edx
	movq	%r12, %rdi
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.78:
	movq	_ERRCTRL1@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	$103, %edx
	jmp	LBB0_80
LBB0_65:
	movq	8(%r12), %rax
	movq	_STV090x_COLD_SEARCH@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
LBB0_66:
	cmpq	%rcx, %rax
	setne	%al
	movl	-60(%rbp), %ecx                 ## 4-byte Reload
	orb	%al, %cl
	jne	LBB0_86
## %bb.67:
	movq	%r12, %rdi
	callq	_stv090x_chk_tmg
	testq	%rax, %rax
	je	LBB0_86
## %bb.68:
	movq	%r12, %rdi
	callq	_stv090x_sw_algo
	testl	%eax, %eax
	jne	LBB0_69
	jmp	LBB0_86
LBB0_83:
	movq	_STV090x_NODATA@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	movq	%r12, %rdi
	callq	_stv090x_chk_signal
	jmp	LBB0_86
LBB0_79:
	movq	_ERRCTRL1@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	$117, %edx
LBB0_80:
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.81:
	movq	_FBERCPT4@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	xorl	%edx, %edx
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	js	LBB0_85
## %bb.82:
	movq	_ERRCTRL2@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	$193, %edx
	callq	_STV090x_WRITE_DEMOD
	testq	%rax, %rax
	jns	LBB0_86
LBB0_85:
	movq	_FE_ERROR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.3(%rip), %rdx
	movl	$1, %esi
	xorl	%eax, %eax
	callq	_dprintk
	movl	$-1, %r14d
LBB0_86:
	movl	%r14d, %eax
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_STV090x_NOCARRIER,4,2          ## @STV090x_NOCARRIER
	.comm	_TSCFGH,4,2                     ## @TSCFGH
	.comm	_RST_HWARE_FIELD,4,2            ## @RST_HWARE_FIELD
	.comm	_DMDISTATE,4,2                  ## @DMDISTATE
	.comm	_CORRELABS,4,2                  ## @CORRELABS
	.comm	_STV090x_BLIND_SEARCH,8,3       ## @STV090x_BLIND_SEARCH
	.comm	_TMGCFG2,4,2                    ## @TMGCFG2
	.comm	_CORRELMANT,4,2                 ## @CORRELMANT
	.comm	_DMDTOM,4,2                     ## @DMDTOM
	.comm	_TMGCFG,4,2                     ## @TMGCFG
	.comm	_AGC2REF,4,2                    ## @AGC2REF
	.comm	_KREFTMG,4,2                    ## @KREFTMG
	.comm	_STV090x_COLD_SEARCH,8,3        ## @STV090x_COLD_SEARCH
	.comm	_STV090x_WARM_SEARCH,8,3        ## @STV090x_WARM_SEARCH
	.comm	_FE_DEBUG,4,2                   ## @FE_DEBUG
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Tuner phase locked"

L_.str.1:                               ## @.str.1
	.asciz	"Tuner unlocked"

	.comm	_AGCIQIN1,4,2                   ## @AGCIQIN1
	.comm	_AGCIQIN0,4,2                   ## @AGCIQIN0
	.comm	_POWERI,4,2                     ## @POWERI
	.comm	_POWERQ,4,2                     ## @POWERQ
	.comm	_STV090x_IQPOWER_THRESHOLD,8,3  ## @STV090x_IQPOWER_THRESHOLD
	.comm	_FE_ERROR,4,2                   ## @FE_ERROR
L_.str.2:                               ## @.str.2
	.asciz	"No Signal: POWER_IQ=0x%02x"

	.comm	_STV090x_NOAGC1,4,2             ## @STV090x_NOAGC1
	.comm	_DEMOD,4,2                      ## @DEMOD
	.comm	_SPECINV_CONTROL_FIELD,4,2      ## @SPECINV_CONTROL_FIELD
	.comm	_MANUAL_SXROLLOFF_FIELD,4,2     ## @MANUAL_SXROLLOFF_FIELD
	.comm	_MANUAL_S2ROLLOFF_FIELD,4,2     ## @MANUAL_S2ROLLOFF_FIELD
	.comm	_STV090x_RANGEOK,4,2            ## @STV090x_RANGEOK
	.comm	_STV090x_DVBS2,8,3              ## @STV090x_DVBS2
	.comm	_PDELCTRL2,4,2                  ## @PDELCTRL2
	.comm	_RESET_UPKO_COUNT,4,2           ## @RESET_UPKO_COUNT
	.comm	_ERRCTRL1,4,2                   ## @ERRCTRL1
	.comm	_FBERCPT4,4,2                   ## @FBERCPT4
	.comm	_ERRCTRL2,4,2                   ## @ERRCTRL2
	.comm	_STV090x_NODATA,4,2             ## @STV090x_NODATA
L_.str.3:                               ## @.str.3
	.asciz	"I/O error"

	.no_dead_strip	_stv090x_algo
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function stv090x_algo
_stv090x_algo:                          ; @stv090x_algo
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #112
	.cfi_def_cfa_offset 112
	stp	x28, x27, [sp, #16]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #32]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #48]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #64]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #80]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #96]             ; 16-byte Folded Spill
	add	x29, sp, #96
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x20, x0
Lloh0:
	adrp	x25, _STV090x_NOCARRIER@GOTPAGE
Lloh1:
	ldr	x25, [x25, _STV090x_NOCARRIER@GOTPAGEOFF]
	ldr	w19, [x25]
Lloh2:
	adrp	x22, _TSCFGH@GOTPAGE
Lloh3:
	ldr	x22, [x22, _TSCFGH@GOTPAGEOFF]
	ldr	w1, [x22]
	bl	_STV090x_READ_DEMOD
	mov	x21, x0
	str	w0, [sp, #12]
Lloh4:
	adrp	x23, _RST_HWARE_FIELD@GOTPAGE
Lloh5:
	ldr	x23, [x23, _RST_HWARE_FIELD@GOTPAGEOFF]
	ldr	w1, [x23]
	mov	w2, #1
	bl	_STV090x_SETFIELD_Px
	ldr	w1, [x22]
	mov	x0, x20
	mov	x2, x21
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.1:
Lloh6:
	adrp	x8, _DMDISTATE@GOTPAGE
Lloh7:
	ldr	x8, [x8, _DMDISTATE@GOTPAGEOFF]
Lloh8:
	ldr	w1, [x8]
	mov	x0, x20
	mov	w2, #92
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.2:
	ldr	x8, [x20, #40]
	ldr	w8, [x8]
	cmp	w8, #32
	b.lt	LBB0_6
; %bb.3:
	ldr	w8, [x20]
Lloh9:
	adrp	x9, _CORRELABS@GOTPAGE
Lloh10:
	ldr	x9, [x9, _CORRELABS@GOTPAGEOFF]
Lloh11:
	ldr	w1, [x9]
	mov	w9, #19265
	movk	w9, #76, lsl #16
	mov	x0, x20
	cmp	w8, w9
	b.lt	LBB0_5
; %bb.4:
	mov	w2, #158
	bl	_STV090x_WRITE_DEMOD
	tbz	x0, #63, LBB0_6
	b	LBB0_81
LBB0_5:
	mov	w2, #130
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
LBB0_6:
	mov	x0, x20
	bl	_stv090x_get_lock_tmg
	ldr	x8, [x20, #8]
Lloh12:
	adrp	x24, _STV090x_BLIND_SEARCH@GOTPAGE
Lloh13:
	ldr	x24, [x24, _STV090x_BLIND_SEARCH@GOTPAGEOFF]
	ldr	x9, [x24]
	cmp	x8, x9
	b.ne	LBB0_30
; %bb.7:
	mov	w8, #41472
	movk	w8, #1098, lsl #16
	str	w8, [x20, #16]
Lloh14:
	adrp	x8, _TMGCFG2@GOTPAGE
Lloh15:
	ldr	x8, [x8, _TMGCFG2@GOTPAGEOFF]
Lloh16:
	ldr	w1, [x8]
	mov	x0, x20
	mov	w2, #192
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.8:
Lloh17:
	adrp	x8, _CORRELMANT@GOTPAGE
Lloh18:
	ldr	x8, [x8, _CORRELMANT@GOTPAGEOFF]
Lloh19:
	ldr	w1, [x8]
	mov	x0, x20
	mov	w2, #112
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.9:
	mov	x0, x20
	mov	w1, #16960
	movk	w1, #15, lsl #16
	bl	_stv090x_set_srate
	tbnz	x0, #63, LBB0_81
; %bb.10:
	mov	w26, #0
LBB0_11:
	mov	x0, x20
	mov	w1, #1
	bl	_stv090x_i2c_gate_ctrl
	tbnz	x0, #63, LBB0_81
; %bb.12:
	add	x21, x20, #72
	ldr	x8, [x20, #56]
	ldr	x9, [x8]
	cbz	x9, LBB0_15
; %bb.13:
	ldr	w8, [x8, #8]
	mov	w10, #10
	cmp	w8, #0
	csel	w1, w10, w8, eq
	str	w1, [sp, #12]
	mov	x0, x21
	blr	x9
	tbnz	x0, #63, LBB0_40
; %bb.14:
	ldr	x8, [x20, #56]
LBB0_15:
	ldr	x9, [x8, #16]
	cbz	x9, LBB0_18
; %bb.16:
	ldr	w1, [x20, #64]
	mov	x0, x21
	blr	x9
	tbnz	x0, #63, LBB0_40
; %bb.17:
	ldr	x8, [x20, #56]
LBB0_18:
	ldr	x8, [x8, #24]
	cbz	x8, LBB0_20
; %bb.19:
	ldr	w1, [x20, #16]
	mov	x0, x21
	blr	x8
	tbnz	x0, #63, LBB0_40
LBB0_20:
	mov	x0, x20
	mov	w1, #0
	bl	_stv090x_i2c_gate_ctrl
	tbnz	x0, #63, LBB0_81
; %bb.21:
	mov	w0, #50
	bl	_msleep
	ldr	x8, [x20, #56]
	ldr	x8, [x8, #32]
	cbz	x8, LBB0_27
; %bb.22:
	mov	x0, x20
	mov	w1, #1
	bl	_stv090x_i2c_gate_ctrl
	tbnz	x0, #63, LBB0_81
; %bb.23:
	ldr	x8, [x20, #56]
	ldr	x8, [x8, #32]
	add	x1, sp, #12
	mov	x0, x21
	blr	x8
	tbnz	x0, #63, LBB0_40
; %bb.24:
	mov	x0, x20
	mov	w1, #0
	bl	_stv090x_i2c_gate_ctrl
	tbnz	x0, #63, LBB0_81
; %bb.25:
	ldr	w8, [sp, #12]
Lloh20:
	adrp	x9, _FE_DEBUG@GOTPAGE
Lloh21:
	ldr	x9, [x9, _FE_DEBUG@GOTPAGEOFF]
Lloh22:
	ldr	w0, [x9]
	cbz	w8, LBB0_56
; %bb.26:
Lloh23:
	adrp	x2, l_.str@PAGE
Lloh24:
	add	x2, x2, l_.str@PAGEOFF
	mov	w1, #1
	bl	_dprintk
LBB0_27:
	mov	w0, #10
	bl	_msleep
Lloh25:
	adrp	x8, _AGCIQIN1@GOTPAGE
Lloh26:
	ldr	x8, [x8, _AGCIQIN1@GOTPAGEOFF]
Lloh27:
	ldr	w1, [x8]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	mov	x21, x0
Lloh28:
	adrp	x8, _AGCIQIN0@GOTPAGE
Lloh29:
	ldr	x8, [x8, _AGCIQIN0@GOTPAGEOFF]
Lloh30:
	ldr	w1, [x8]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	mov	x1, x0
	mov	x0, x21
	bl	_MAKEWORD16
	cbnz	x0, LBB0_49
; %bb.28:
Lloh31:
	adrp	x25, _POWERI@GOTPAGE
Lloh32:
	ldr	x25, [x25, _POWERI@GOTPAGEOFF]
	ldr	w1, [x25]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	mov	x21, x0
Lloh33:
	adrp	x27, _POWERQ@GOTPAGE
Lloh34:
	ldr	x27, [x27, _POWERQ@GOTPAGEOFF]
	ldr	w1, [x27]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	add	w8, w0, w21
	asr	w28, w8, #1
	ldr	w1, [x25]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	mov	x21, x0
	ldr	w1, [x27]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	add	w8, w0, w21
	add	w8, w28, w8, asr #1
	sxtw	x28, w8
	ldr	w1, [x25]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	mov	x21, x0
	ldr	w1, [x27]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	add	w8, w0, w21
	asr	w8, w8, #1
	add	x28, x28, w8, sxtw
	ldr	w1, [x25]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	mov	x21, x0
	ldr	w1, [x27]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	add	w8, w0, w21
	asr	w8, w8, #1
	add	x28, x28, w8, sxtw
	ldr	w1, [x25]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	mov	x21, x0
	ldr	w1, [x27]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	add	w8, w0, w21
	asr	w8, w8, #1
	add	x8, x28, w8, sxtw
	mov	x9, #7378697629483820646
	movk	x9, #26215
	smulh	x8, x8, x9
	asr	x9, x8, #1
	add	x8, x9, x8, lsr #63
Lloh35:
	adrp	x9, _STV090x_IQPOWER_THRESHOLD@GOTPAGE
Lloh36:
	ldr	x9, [x9, _STV090x_IQPOWER_THRESHOLD@GOTPAGEOFF]
Lloh37:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ge	LBB0_49
; %bb.29:
Lloh38:
	adrp	x9, _FE_ERROR@GOTPAGE
Lloh39:
	ldr	x9, [x9, _FE_ERROR@GOTPAGEOFF]
Lloh40:
	ldr	w0, [x9]
	str	x8, [sp]
Lloh41:
	adrp	x2, l_.str.2@PAGE
Lloh42:
	add	x2, x2, l_.str.2@PAGEOFF
	mov	w1, #1
	bl	_dprintk
Lloh43:
	adrp	x8, _STV090x_NOAGC1@GOTPAGE
Lloh44:
	ldr	x8, [x8, _STV090x_NOAGC1@GOTPAGEOFF]
Lloh45:
	ldr	w19, [x8]
	b	LBB0_53
LBB0_30:
Lloh46:
	adrp	x8, _DMDTOM@GOTPAGE
Lloh47:
	ldr	x8, [x8, _DMDTOM@GOTPAGEOFF]
Lloh48:
	ldr	w1, [x8]
	mov	x0, x20
	mov	w2, #32
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.31:
Lloh49:
	adrp	x8, _TMGCFG@GOTPAGE
Lloh50:
	ldr	x8, [x8, _TMGCFG@GOTPAGEOFF]
Lloh51:
	ldr	w1, [x8]
	mov	x0, x20
	mov	w2, #210
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.32:
	ldr	w8, [x20]
Lloh52:
	adrp	x9, _CORRELMANT@GOTPAGE
Lloh53:
	ldr	x9, [x9, _CORRELMANT@GOTPAGEOFF]
Lloh54:
	ldr	w1, [x9]
	mov	w9, #33919
	movk	w9, #30, lsl #16
	mov	x0, x20
	cmp	w8, w9
	b.gt	LBB0_34
; %bb.33:
	mov	w2, #99
	bl	_STV090x_WRITE_DEMOD
	tbz	x0, #63, LBB0_35
	b	LBB0_81
LBB0_34:
	mov	w2, #112
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
LBB0_35:
Lloh55:
	adrp	x8, _AGC2REF@GOTPAGE
Lloh56:
	ldr	x8, [x8, _AGC2REF@GOTPAGEOFF]
Lloh57:
	ldr	w1, [x8]
	mov	x0, x20
	mov	w2, #56
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.36:
	ldr	x8, [x20, #40]
	ldr	w8, [x8]
	cmp	w8, #32
	b.lt	LBB0_44
; %bb.37:
Lloh58:
	adrp	x8, _KREFTMG@GOTPAGE
Lloh59:
	ldr	x8, [x8, _KREFTMG@GOTPAGEOFF]
Lloh60:
	ldr	w1, [x8]
	mov	x0, x20
	mov	w2, #90
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.38:
	ldr	x8, [x20, #8]
Lloh61:
	adrp	x9, _STV090x_COLD_SEARCH@GOTPAGE
Lloh62:
	ldr	x9, [x9, _STV090x_COLD_SEARCH@GOTPAGEOFF]
Lloh63:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_41
; %bb.39:
	ldr	w0, [x20]
	ldr	w1, [x20, #68]
	bl	_stv090x_car_width
	lsl	w8, w0, #4
	mov	w9, #53632
	movk	w9, #2288, lsl #16
	sub	w8, w8, w0
	add	w8, w8, w9
	mov	w9, #26215
	movk	w9, #26214, lsl #16
	smull	x8, w8, w9
	lsr	x9, x8, #63
	asr	x8, x8, #34
	add	w8, w8, w9
	b	LBB0_43
LBB0_40:
	mov	x0, x20
	mov	w1, #0
	bl	_stv090x_i2c_gate_ctrl
	b	LBB0_81
LBB0_41:
Lloh64:
	adrp	x9, _STV090x_WARM_SEARCH@GOTPAGE
Lloh65:
	ldr	x9, [x9, _STV090x_WARM_SEARCH@GOTPAGEOFF]
Lloh66:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_44
; %bb.42:
	ldr	w0, [x20]
	ldr	w1, [x20, #68]
	bl	_stv090x_car_width
	add	w8, w0, #2441, lsl #12          ; =9998336
	add	w8, w8, #1664
LBB0_43:
	str	w8, [x20, #16]
LBB0_44:
Lloh67:
	adrp	x8, _TMGCFG2@GOTPAGE
Lloh68:
	ldr	x8, [x8, _TMGCFG2@GOTPAGEOFF]
Lloh69:
	ldr	w1, [x8]
	mov	x0, x20
	mov	w2, #193
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.45:
	ldr	w1, [x20]
	mov	x0, x20
	bl	_stv090x_set_srate
	tbnz	x0, #63, LBB0_81
; %bb.46:
	ldr	x8, [x20, #40]
	ldr	w1, [x8, #4]
	ldr	w2, [x20]
	mov	x0, x20
	bl	_stv090x_set_max_srate
	tbnz	x0, #63, LBB0_81
; %bb.47:
	ldr	x8, [x20, #40]
	ldr	w1, [x8, #4]
	ldr	w2, [x20]
	mov	x0, x20
	bl	_stv090x_set_min_srate
	tbnz	x0, #63, LBB0_81
; %bb.48:
	ldr	w8, [x20]
	mov	w9, #38528
	movk	w9, #152, lsl #16
	cmp	w8, w9
	cset	w26, lt
	b	LBB0_11
LBB0_49:
Lloh70:
	adrp	x21, _DEMOD@GOTPAGE
Lloh71:
	ldr	x21, [x21, _DEMOD@GOTPAGEOFF]
	ldr	w1, [x21]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	str	w0, [sp, #12]
Lloh72:
	adrp	x8, _SPECINV_CONTROL_FIELD@GOTPAGE
Lloh73:
	ldr	x8, [x8, _SPECINV_CONTROL_FIELD@GOTPAGEOFF]
Lloh74:
	ldr	w1, [x8]
	ldr	w2, [x20, #20]
	bl	_STV090x_SETFIELD_Px
	ldr	x8, [x20, #40]
	ldr	w8, [x8]
Lloh75:
	adrp	x9, _MANUAL_SXROLLOFF_FIELD@GOTPAGE
Lloh76:
	ldr	x9, [x9, _MANUAL_SXROLLOFF_FIELD@GOTPAGEOFF]
	ldr	w0, [sp, #12]
Lloh77:
	adrp	x10, _MANUAL_S2ROLLOFF_FIELD@GOTPAGE
Lloh78:
	ldr	x10, [x10, _MANUAL_S2ROLLOFF_FIELD@GOTPAGEOFF]
	cmp	w8, #33
	csel	x8, x9, x10, lt
	ldr	w1, [x8]
	mov	w2, #1
	bl	_STV090x_SETFIELD_Px
	ldr	w1, [x21]
	ldr	w2, [sp, #12]
	mov	x0, x20
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.50:
	mov	x0, x20
	bl	_stv090x_delivery_search
	tbnz	x0, #63, LBB0_81
; %bb.51:
	ldr	x8, [x20, #8]
	ldr	x9, [x24]
	cmp	x8, x9
	b.eq	LBB0_53
; %bb.52:
	mov	x0, x20
	bl	_stv090x_start_search
	tbnz	x0, #63, LBB0_81
LBB0_53:
Lloh79:
	adrp	x8, _STV090x_NOAGC1@GOTPAGE
Lloh80:
	ldr	x8, [x8, _STV090x_NOAGC1@GOTPAGEOFF]
Lloh81:
	ldr	w8, [x8]
	cmp	w19, w8
	b.eq	LBB0_82
; %bb.54:
	ldr	x8, [x20, #8]
	ldr	x9, [x24]
	cmp	x8, x9
	b.ne	LBB0_57
; %bb.55:
	mov	x0, x20
	bl	_stv090x_blind_search
	b	LBB0_61
LBB0_56:
Lloh82:
	adrp	x2, l_.str.1@PAGE
Lloh83:
	add	x2, x2, l_.str.1@PAGEOFF
	mov	w1, #1
	bl	_dprintk
	ldr	w19, [x25]
	b	LBB0_82
LBB0_57:
Lloh84:
	adrp	x9, _STV090x_COLD_SEARCH@GOTPAGE
Lloh85:
	ldr	x9, [x9, _STV090x_COLD_SEARCH@GOTPAGEOFF]
Lloh86:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_59
; %bb.58:
	ldr	w1, [x20, #48]
	mov	x0, x20
	bl	_stv090x_get_coldlock
	b	LBB0_61
LBB0_59:
Lloh87:
	adrp	x10, _STV090x_WARM_SEARCH@GOTPAGE
Lloh88:
	ldr	x10, [x10, _STV090x_WARM_SEARCH@GOTPAGEOFF]
Lloh89:
	ldr	x10, [x10]
	cmp	x8, x10
	b.ne	LBB0_73
; %bb.60:
	ldr	w1, [x20, #48]
	mov	x0, x20
	bl	_stv090x_get_dmdlock
LBB0_61:
	cbz	w0, LBB0_72
LBB0_62:
	mov	x0, x20
	bl	_stv090x_get_sig_params
	mov	x19, x0
Lloh90:
	adrp	x8, _STV090x_RANGEOK@GOTPAGE
Lloh91:
	ldr	x8, [x8, _STV090x_RANGEOK@GOTPAGEOFF]
Lloh92:
	ldr	w8, [x8]
	cmp	w0, w8
	b.ne	LBB0_82
; %bb.63:
	mov	x0, x20
	bl	_stv090x_optimize_track
	ldr	x8, [x20, #40]
	ldr	w8, [x8]
	cmp	w8, #32
	b.lt	LBB0_67
; %bb.64:
	ldr	w1, [x22]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	str	w0, [sp, #12]
	ldr	w1, [x23]
	mov	w2, #0
	bl	_STV090x_SETFIELD_Px
	ldr	w1, [x22]
	ldr	w2, [sp, #12]
	mov	x0, x20
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.65:
	mov	w0, #3
	bl	_msleep
	ldr	w0, [sp, #12]
	ldr	w1, [x23]
	mov	w2, #1
	bl	_STV090x_SETFIELD_Px
	ldr	w1, [x22]
	ldr	w2, [sp, #12]
	mov	x0, x20
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.66:
	ldr	w0, [sp, #12]
	ldr	w1, [x23]
	mov	w2, #0
	bl	_STV090x_SETFIELD_Px
	ldr	w1, [x22]
	ldr	w2, [sp, #12]
	mov	x0, x20
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
LBB0_67:
	ldr	w1, [x20, #32]
	mov	x0, x20
	mov	x2, x1
	bl	_stv090x_get_lock
	cbz	w0, LBB0_76
; %bb.68:
	ldr	x8, [x20, #24]
Lloh93:
	adrp	x9, _STV090x_DVBS2@GOTPAGE
Lloh94:
	ldr	x9, [x9, _STV090x_DVBS2@GOTPAGEOFF]
Lloh95:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_77
; %bb.69:
	mov	x0, x20
	bl	_stv090x_set_s2rolloff
Lloh96:
	adrp	x21, _PDELCTRL2@GOTPAGE
Lloh97:
	ldr	x21, [x21, _PDELCTRL2@GOTPAGEOFF]
	ldr	w1, [x21]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	str	w0, [sp, #12]
Lloh98:
	adrp	x22, _RESET_UPKO_COUNT@GOTPAGE
Lloh99:
	ldr	x22, [x22, _RESET_UPKO_COUNT@GOTPAGEOFF]
	ldr	w1, [x22]
	mov	w2, #1
	bl	_STV090x_SETFIELD_Px
	ldr	w1, [x21]
	ldr	w2, [sp, #12]
	mov	x0, x20
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.70:
	ldr	w1, [x21]
	mov	x0, x20
	bl	_STV090x_READ_DEMOD
	str	w0, [sp, #12]
	ldr	w1, [x22]
	mov	w2, #0
	bl	_STV090x_SETFIELD_Px
	ldr	w1, [x21]
	ldr	w2, [sp, #12]
	mov	x0, x20
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.71:
Lloh100:
	adrp	x8, _ERRCTRL1@GOTPAGE
Lloh101:
	ldr	x8, [x8, _ERRCTRL1@GOTPAGEOFF]
Lloh102:
	ldr	w1, [x8]
	mov	x0, x20
	mov	w2, #103
	b	LBB0_78
LBB0_72:
	ldr	x8, [x20, #8]
Lloh103:
	adrp	x9, _STV090x_COLD_SEARCH@GOTPAGE
Lloh104:
	ldr	x9, [x9, _STV090x_COLD_SEARCH@GOTPAGEOFF]
Lloh105:
	ldr	x9, [x9]
LBB0_73:
	cmp	x8, x9
	cset	w8, ne
	orr	w8, w26, w8
	tbnz	w8, #0, LBB0_82
; %bb.74:
	mov	x0, x20
	bl	_stv090x_chk_tmg
	cbz	x0, LBB0_82
; %bb.75:
	mov	x0, x20
	bl	_stv090x_sw_algo
	cbnz	w0, LBB0_62
	b	LBB0_82
LBB0_76:
Lloh106:
	adrp	x8, _STV090x_NODATA@GOTPAGE
Lloh107:
	ldr	x8, [x8, _STV090x_NODATA@GOTPAGEOFF]
Lloh108:
	ldr	w19, [x8]
	mov	x0, x20
	bl	_stv090x_chk_signal
	b	LBB0_82
LBB0_77:
Lloh109:
	adrp	x8, _ERRCTRL1@GOTPAGE
Lloh110:
	ldr	x8, [x8, _ERRCTRL1@GOTPAGEOFF]
Lloh111:
	ldr	w1, [x8]
	mov	x0, x20
	mov	w2, #117
LBB0_78:
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.79:
Lloh112:
	adrp	x8, _FBERCPT4@GOTPAGE
Lloh113:
	ldr	x8, [x8, _FBERCPT4@GOTPAGEOFF]
Lloh114:
	ldr	w1, [x8]
	mov	x0, x20
	mov	w2, #0
	bl	_STV090x_WRITE_DEMOD
	tbnz	x0, #63, LBB0_81
; %bb.80:
Lloh115:
	adrp	x8, _ERRCTRL2@GOTPAGE
Lloh116:
	ldr	x8, [x8, _ERRCTRL2@GOTPAGEOFF]
Lloh117:
	ldr	w1, [x8]
	mov	x0, x20
	mov	w2, #193
	bl	_STV090x_WRITE_DEMOD
	tbz	x0, #63, LBB0_82
LBB0_81:
Lloh118:
	adrp	x8, _FE_ERROR@GOTPAGE
Lloh119:
	ldr	x8, [x8, _FE_ERROR@GOTPAGEOFF]
Lloh120:
	ldr	w0, [x8]
Lloh121:
	adrp	x2, l_.str.3@PAGE
Lloh122:
	add	x2, x2, l_.str.3@PAGEOFF
	mov	w1, #1
	bl	_dprintk
	mov	w19, #-1
LBB0_82:
	mov	x0, x19
	ldp	x29, x30, [sp, #96]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #80]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #64]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #48]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #32]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #112
	ret
	.loh AdrpLdrGot	Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGot	Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpAdd	Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGot	Lloh33, Lloh34
	.loh AdrpLdrGot	Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpAdd	Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.loh AdrpLdrGotLdr	Lloh52, Lloh53, Lloh54
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpLdrGotLdr	Lloh58, Lloh59, Lloh60
	.loh AdrpLdrGotLdr	Lloh61, Lloh62, Lloh63
	.loh AdrpLdrGotLdr	Lloh64, Lloh65, Lloh66
	.loh AdrpLdrGotLdr	Lloh67, Lloh68, Lloh69
	.loh AdrpLdrGot	Lloh77, Lloh78
	.loh AdrpLdrGot	Lloh75, Lloh76
	.loh AdrpLdrGotLdr	Lloh72, Lloh73, Lloh74
	.loh AdrpLdrGot	Lloh70, Lloh71
	.loh AdrpLdrGotLdr	Lloh79, Lloh80, Lloh81
	.loh AdrpAdd	Lloh82, Lloh83
	.loh AdrpLdrGotLdr	Lloh84, Lloh85, Lloh86
	.loh AdrpLdrGotLdr	Lloh87, Lloh88, Lloh89
	.loh AdrpLdrGotLdr	Lloh90, Lloh91, Lloh92
	.loh AdrpLdrGotLdr	Lloh93, Lloh94, Lloh95
	.loh AdrpLdrGot	Lloh98, Lloh99
	.loh AdrpLdrGot	Lloh96, Lloh97
	.loh AdrpLdrGotLdr	Lloh100, Lloh101, Lloh102
	.loh AdrpLdrGotLdr	Lloh103, Lloh104, Lloh105
	.loh AdrpLdrGotLdr	Lloh106, Lloh107, Lloh108
	.loh AdrpLdrGotLdr	Lloh109, Lloh110, Lloh111
	.loh AdrpLdrGotLdr	Lloh112, Lloh113, Lloh114
	.loh AdrpLdrGotLdr	Lloh115, Lloh116, Lloh117
	.loh AdrpAdd	Lloh121, Lloh122
	.loh AdrpLdrGotLdr	Lloh118, Lloh119, Lloh120
	.cfi_endproc
                                        ; -- End function
	.comm	_STV090x_NOCARRIER,4,2          ; @STV090x_NOCARRIER
	.comm	_TSCFGH,4,2                     ; @TSCFGH
	.comm	_RST_HWARE_FIELD,4,2            ; @RST_HWARE_FIELD
	.comm	_DMDISTATE,4,2                  ; @DMDISTATE
	.comm	_CORRELABS,4,2                  ; @CORRELABS
	.comm	_STV090x_BLIND_SEARCH,8,3       ; @STV090x_BLIND_SEARCH
	.comm	_TMGCFG2,4,2                    ; @TMGCFG2
	.comm	_CORRELMANT,4,2                 ; @CORRELMANT
	.comm	_DMDTOM,4,2                     ; @DMDTOM
	.comm	_TMGCFG,4,2                     ; @TMGCFG
	.comm	_AGC2REF,4,2                    ; @AGC2REF
	.comm	_KREFTMG,4,2                    ; @KREFTMG
	.comm	_STV090x_COLD_SEARCH,8,3        ; @STV090x_COLD_SEARCH
	.comm	_STV090x_WARM_SEARCH,8,3        ; @STV090x_WARM_SEARCH
	.comm	_FE_DEBUG,4,2                   ; @FE_DEBUG
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Tuner phase locked"

l_.str.1:                               ; @.str.1
	.asciz	"Tuner unlocked"

	.comm	_AGCIQIN1,4,2                   ; @AGCIQIN1
	.comm	_AGCIQIN0,4,2                   ; @AGCIQIN0
	.comm	_POWERI,4,2                     ; @POWERI
	.comm	_POWERQ,4,2                     ; @POWERQ
	.comm	_STV090x_IQPOWER_THRESHOLD,8,3  ; @STV090x_IQPOWER_THRESHOLD
	.comm	_FE_ERROR,4,2                   ; @FE_ERROR
l_.str.2:                               ; @.str.2
	.asciz	"No Signal: POWER_IQ=0x%02x"

	.comm	_STV090x_NOAGC1,4,2             ; @STV090x_NOAGC1
	.comm	_DEMOD,4,2                      ; @DEMOD
	.comm	_SPECINV_CONTROL_FIELD,4,2      ; @SPECINV_CONTROL_FIELD
	.comm	_MANUAL_SXROLLOFF_FIELD,4,2     ; @MANUAL_SXROLLOFF_FIELD
	.comm	_MANUAL_S2ROLLOFF_FIELD,4,2     ; @MANUAL_S2ROLLOFF_FIELD
	.comm	_STV090x_RANGEOK,4,2            ; @STV090x_RANGEOK
	.comm	_STV090x_DVBS2,8,3              ; @STV090x_DVBS2
	.comm	_PDELCTRL2,4,2                  ; @PDELCTRL2
	.comm	_RESET_UPKO_COUNT,4,2           ; @RESET_UPKO_COUNT
	.comm	_ERRCTRL1,4,2                   ; @ERRCTRL1
	.comm	_FBERCPT4,4,2                   ; @FBERCPT4
	.comm	_ERRCTRL2,4,2                   ; @ERRCTRL2
	.comm	_STV090x_NODATA,4,2             ; @STV090x_NODATA
l_.str.3:                               ; @.str.3
	.asciz	"I/O error"

	.no_dead_strip	_stv090x_algo
.subsections_via_symbols
