	.file	"extr_stb0899_algo.c_stb0899_dvbs2_algo.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC0:
	.string	"------------> DVB-S2 DEMOD LOCK !"
	.align 8
.LC1:
	.string	"----------------> DVB-S2 FEC Lock !"
	.text
	.p2align 4
	.globl	stb0899_dvbs2_algo
	.type	stb0899_dvbs2_algo, @function
stb0899_dvbs2_algo:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	rbx, rdi
	sub	rsp, 8
	.cfi_def_cfa_offset 64
	mov	eax, DWORD PTR 16[rdi]
	cmp	eax, 2000000
	jle	.L29
	cmp	eax, 5000000
	jg	.L69
	mov	r12d, 170
	mov	ebp, 2500
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L29:
	mov	r12d, 350
	mov	ebp, 5000
.L2:
	mov	esi, DWORD PTR STB0899_TSTRES[rip]
	mov	rdi, rbx
	call	stb0899_read_reg@PLT
	mov	edi, DWORD PTR FRESRS[rip]
	mov	edx, 1
	mov	rsi, rax
	mov	r13, rax
	call	STB0899_SETFIELD_VAL@PLT
	mov	esi, DWORD PTR STB0899_TSTRES[rip]
	mov	rdx, r13
	mov	rdi, rbx
	lea	r13, 4[rbx]
	call	stb0899_write_reg@PLT
	mov	esi, 1
	mov	rdi, r13
	call	stb0899_i2c_gate_ctrl@PLT
	mov	rax, QWORD PTR 8[rbx]
	mov	rdx, QWORD PTR 8[rax]
	test	rdx, rdx
	je	.L3
	mov	rsi, QWORD PTR 48[rbx]
	mov	rdi, r13
	call	rdx
	mov	rax, QWORD PTR 8[rbx]
.L3:
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L4
	lea	rsi, 48[rbx]
	mov	rdi, r13
	call	rax
.L4:
	mov	rdi, r13
	xor	esi, esi
	call	stb0899_i2c_gate_ctrl@PLT
	mov	esi, DWORD PTR IF_AGC_CNTRL[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	call	STB0899_READ_S2REG@PLT
	mov	edi, DWORD PTR IF_LOOP_GAIN[rip]
	mov	edx, 4
	mov	rsi, rax
	mov	r13, rax
	call	STB0899_SETFIELD_VAL@PLT
	mov	edi, DWORD PTR IF_AGC_REF[rip]
	mov	rsi, r13
	mov	edx, 32
	call	STB0899_SETFIELD_VAL@PLT
	mov	ecx, DWORD PTR STB0899_OFF0_IF_AGC_CNTRL[rip]
	mov	r8, r13
	mov	rdi, rbx
	mov	edx, DWORD PTR STB0899_BASE_IF_AGC_CNTRL[rip]
	mov	esi, DWORD PTR STB0899_S2DEMOD[rip]
	call	stb0899_write_s2reg@PLT
	mov	esi, DWORD PTR IF_AGC_CNTRL2[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	call	STB0899_READ_S2REG@PLT
	mov	edi, DWORD PTR IF_AGC_DUMP_PER[rip]
	xor	edx, edx
	mov	rsi, rax
	mov	r13, rax
	call	STB0899_SETFIELD_VAL@PLT
	mov	ecx, DWORD PTR STB0899_OFF0_IF_AGC_CNTRL2[rip]
	mov	r8, r13
	mov	rdi, rbx
	mov	edx, DWORD PTR STB0899_BASE_IF_AGC_CNTRL2[rip]
	mov	esi, DWORD PTR STB0899_S2DEMOD[rip]
	call	stb0899_write_s2reg@PLT
	mov	rdi, rbx
	call	stb0899_dvbs2_init_calc@PLT
	mov	esi, DWORD PTR DMD_CNTRL2[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	call	STB0899_READ_S2REG@PLT
	mov	r13, rax
	mov	eax, DWORD PTR 20[rbx]
	cmp	eax, 128
	je	.L5
	cmp	eax, 129
	jne	.L6
	mov	edi, DWORD PTR SPECTRUM_INVERT[rip]
	xor	edx, edx
	mov	rsi, r13
	call	STB0899_SETFIELD_VAL@PLT
.L6:
	mov	edx, DWORD PTR STB0899_BASE_DMD_CNTRL2[rip]
	mov	ecx, DWORD PTR STB0899_OFF0_DMD_CNTRL2[rip]
	mov	r8, r13
	mov	rdi, rbx
	mov	esi, DWORD PTR STB0899_S2DEMOD[rip]
	call	stb0899_write_s2reg@PLT
	mov	rdi, rbx
	call	stb0899_dvbs2_reacquire@PLT
	mov	esi, ebp
	mov	rdi, rbx
	call	stb0899_dvbs2_get_dmd_status@PLT
	cmp	rax, QWORD PTR DVBS2_DEMOD_LOCK[rip]
	mov	rdx, QWORD PTR DVBS2_FEC_LOCK[rip]
	mov	QWORD PTR 24[rbx], rax
	je	.L70
.L11:
	cmp	rdx, rax
	je	.L13
	mov	esi, DWORD PTR DMD_CNTRL2[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	call	STB0899_READ_S2REG@PLT
	mov	edi, DWORD PTR SPECTRUM_INVERT[rip]
	mov	rsi, rax
	mov	r13, rax
	call	STB0899_GETFIELD@PLT
	mov	edi, DWORD PTR SPECTRUM_INVERT[rip]
	xor	edx, edx
	mov	rsi, r13
	test	eax, eax
	sete	dl
	call	STB0899_SETFIELD_VAL@PLT
	mov	edx, DWORD PTR STB0899_BASE_DMD_CNTRL2[rip]
	mov	r8, r13
	mov	rdi, rbx
	mov	ecx, DWORD PTR STB0899_OFF0_DMD_CNTRL2[rip]
	mov	esi, DWORD PTR STB0899_S2DEMOD[rip]
	call	stb0899_write_s2reg@PLT
	mov	rdi, rbx
	call	stb0899_dvbs2_reacquire@PLT
	mov	esi, ebp
	mov	rdi, rbx
	call	stb0899_dvbs2_get_dmd_status@PLT
	cmp	rax, QWORD PTR DVBS2_DEMOD_LOCK[rip]
	mov	rdx, QWORD PTR DVBS2_FEC_LOCK[rip]
	mov	QWORD PTR 24[rbx], rax
	je	.L71
.L16:
	cmp	rax, rdx
	je	.L13
.L17:
	mov	esi, DWORD PTR STB0899_TSTRES[rip]
	mov	rdi, rbx
	call	stb0899_read_reg@PLT
	mov	edi, DWORD PTR FRESRS[rip]
	xor	edx, edx
	mov	rsi, rax
	mov	r12, rax
	call	STB0899_SETFIELD_VAL@PLT
	mov	esi, DWORD PTR STB0899_TSTRES[rip]
	mov	rdx, r12
	mov	rdi, rbx
	call	stb0899_write_reg@PLT
	mov	rax, QWORD PTR 24[rbx]
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L70:
	.cfi_restore_state
	mov	esi, DWORD PTR FE_DEBUG[rip]
	mov	edi, DWORD PTR [rbx]
	mov	edx, 1
	lea	rcx, .LC0[rip]
	call	dprintk@PLT
	mov	esi, r12d
	mov	rdi, rbx
	call	stb0899_dvbs2_get_fec_status@PLT
	cmp	rax, QWORD PTR DVBS2_FEC_LOCK[rip]
	mov	QWORD PTR 24[rbx], rax
	jne	.L72
	.p2align 4,,10
	.p2align 3
.L13:
	mov	esi, DWORD PTR FE_DEBUG[rip]
	mov	edi, DWORD PTR [rbx]
	mov	edx, 1
	lea	rcx, .LC1[rip]
	call	dprintk@PLT
	mov	esi, DWORD PTR UWP_STAT2[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	call	STB0899_READ_S2REG@PLT
	mov	edi, DWORD PTR UWP_DECODE_MOD[rip]
	mov	rsi, rax
	mov	r13, rax
	call	STB0899_GETFIELD@PLT
	mov	edi, DWORD PTR UWP_DECODE_MOD[rip]
	mov	rsi, r13
	mov	ebp, eax
	call	STB0899_GETFIELD@PLT
	movsx	rcx, DWORD PTR 16[rbx]
	mov	r13d, eax
	mov	eax, DWORD PTR 32[rbx]
	mov	rdx, rcx
	imul	rcx, rcx, 1717986919
	lea	eax, [rax+rax*4]
	sar	edx, 31
	add	eax, eax
	sar	rcx, 34
	sub	ecx, edx
	cdq
	idiv	ecx
	cmp	eax, 410
	jle	.L73
.L18:
	mov	esi, DWORD PTR EQ_CNTRL[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	call	STB0899_READ_S2REG@PLT
	mov	edi, DWORD PTR EQ_SHIFT[rip]
	mov	edx, 2
	mov	rsi, rax
	mov	rbp, rax
	call	STB0899_SETFIELD_VAL@PLT
	mov	ecx, DWORD PTR STB0899_OFF0_EQ_CNTRL[rip]
	mov	r8, rbp
	mov	rdi, rbx
	mov	edx, DWORD PTR STB0899_BASE_EQ_CNTRL[rip]
	mov	esi, DWORD PTR STB0899_S2DEMOD[rip]
	call	stb0899_write_s2reg@PLT
	mov	esi, DWORD PTR CRL_FREQ[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	call	STB0899_READ_S2REG@PLT
	mov	esi, 29
	mov	rdi, rax
	call	sign_extend32@PLT
	mov	esi, DWORD PTR DMD_CNTRL2[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	movsx	rbp, eax
	sar	eax, 31
	imul	rbp, rbp, 1048576805
	sar	rbp, 50
	sub	ebp, eax
	mov	eax, ebp
	movsx	rbp, DWORD PTR 32[rbx]
	mov	rdx, rbp
	imul	rbp, rbp, 1125899907
	sar	edx, 31
	sar	rbp, 50
	sub	ebp, edx
	imul	ebp, eax
	call	STB0899_READ_S2REG@PLT
	mov	edi, DWORD PTR SPECTRUM_INVERT[rip]
	mov	rsi, rax
	call	STB0899_GETFIELD@PLT
	movsx	rbp, ebp
	mov	rdi, rbx
	test	eax, eax
	sete	al
	add	QWORD PTR 48[rbx], rbp
	movzx	eax, al
	sub	eax, -128
	mov	DWORD PTR 20[rbx], eax
	call	stb0899_dvbs2_get_srate@PLT
	mov	esi, DWORD PTR UWP_STAT2[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	mov	DWORD PTR 16[rbx], eax
	call	STB0899_READ_S2REG@PLT
	mov	edi, DWORD PTR UWP_DECODE_MOD[rip]
	mov	rsi, rax
	mov	rbp, rax
	call	STB0899_GETFIELD@PLT
	mov	edi, DWORD PTR UWP_DECODE_MOD[rip]
	mov	rsi, rbp
	sar	eax, 2
	mov	DWORD PTR 36[rbx], eax
	call	STB0899_GETFIELD@PLT
	mov	edi, DWORD PTR UWP_DECODE_MOD[rip]
	mov	rsi, rbp
	and	eax, 1
	mov	DWORD PTR 40[rbx], eax
	call	STB0899_GETFIELD@PLT
	mov	esi, DWORD PTR IF_AGC_CNTRL[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	sar	eax
	and	eax, 1
	mov	DWORD PTR 44[rbx], eax
	call	STB0899_READ_S2REG@PLT
	mov	edi, DWORD PTR IF_LOOP_GAIN[rip]
	mov	edx, 3
	mov	rsi, rax
	mov	rbp, rax
	call	STB0899_SETFIELD_VAL@PLT
	mov	esi, DWORD PTR 36[rbx]
	mov	edx, DWORD PTR STB0899_QPSK_23[rip]
	mov	edi, DWORD PTR STB0899_QPSK_12[rip]
	call	INRANGE@PLT
	test	rax, rax
	jne	.L74
.L27:
	mov	ecx, DWORD PTR STB0899_OFF0_IF_AGC_CNTRL[rip]
	mov	edx, DWORD PTR STB0899_BASE_IF_AGC_CNTRL[rip]
	mov	r8, rbp
	mov	rdi, rbx
	mov	esi, DWORD PTR STB0899_S2DEMOD[rip]
	call	stb0899_write_s2reg@PLT
	mov	esi, DWORD PTR IF_AGC_CNTRL2[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	call	STB0899_READ_S2REG@PLT
	mov	edi, DWORD PTR IF_AGC_DUMP_PER[rip]
	mov	edx, 7
	mov	rsi, rax
	mov	rbp, rax
	call	STB0899_SETFIELD_VAL@PLT
	mov	ecx, DWORD PTR STB0899_OFF0_IF_AGC_CNTRL2[rip]
	mov	r8, rbp
	mov	rdi, rbx
	mov	edx, DWORD PTR STB0899_BASE_IF_AGC_CNTRL2[rip]
	mov	esi, DWORD PTR STB0899_S2DEMOD[rip]
	call	stb0899_write_s2reg@PLT
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L69:
	cmp	eax, 10000000
	jle	.L31
	cmp	eax, 15000000
	jle	.L32
	cmp	eax, 20000000
	jg	.L75
	mov	r12d, 30
	mov	ebp, 300
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L5:
	mov	edi, DWORD PTR SPECTRUM_INVERT[rip]
	mov	edx, 1
	mov	rsi, r13
	call	STB0899_SETFIELD_VAL@PLT
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L72:
	xor	r14d, r14d
.L9:
	mov	esi, DWORD PTR CRL_FREQ[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	add	r14d, 1
	call	STB0899_READ_S2REG@PLT
	mov	esi, DWORD PTR CRL_NOM_FREQ[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	mov	r15, rax
	call	STB0899_READ_S2REG@PLT
	mov	edi, DWORD PTR CRL_NOM_FREQ[rip]
	mov	edx, r15d
	mov	rsi, rax
	mov	r13, rax
	call	STB0899_SETFIELD_VAL@PLT
	mov	edx, DWORD PTR STB0899_BASE_CRL_NOM_FREQ[rip]
	mov	r8, r13
	mov	rdi, rbx
	mov	ecx, DWORD PTR STB0899_OFF0_CRL_NOM_FREQ[rip]
	mov	esi, DWORD PTR STB0899_S2DEMOD[rip]
	call	stb0899_write_s2reg@PLT
	mov	rdi, rbx
	call	stb0899_dvbs2_reacquire@PLT
	mov	esi, ebp
	mov	rdi, rbx
	call	stb0899_dvbs2_get_fec_status@PLT
	mov	rdx, QWORD PTR DVBS2_FEC_LOCK[rip]
	mov	QWORD PTR 24[rbx], rax
	cmp	r14d, 3
	je	.L11
	cmp	rax, rdx
	jne	.L9
	jmp	.L11
	.p2align 4,,10
	.p2align 3
.L31:
	mov	r12d, 80
	mov	ebp, 1500
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L73:
	mov	edx, DWORD PTR STB0899_QPSK_910[rip]
	mov	edi, DWORD PTR STB0899_QPSK_23[rip]
	sar	ebp, 2
	and	r13d, 1
	mov	esi, ebp
	call	INRANGE@PLT
	test	rax, rax
	je	.L23
	test	r13b, r13b
	je	.L23
	mov	edx, ebp
	mov	esi, 1
	mov	rdi, rbx
	call	stb0899_dvbs2_init_csm@PLT
	mov	esi, r12d
	mov	rdi, rbx
	call	stb0899_dvbs2_get_fec_status@PLT
	cmp	rax, QWORD PTR DVBS2_FEC_LOCK[rip]
	mov	QWORD PTR 24[rbx], rax
	je	.L23
	xor	r15d, r15d
.L24:
	mov	esi, DWORD PTR CSM_CNTRL1[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	add	r15d, 1
	call	STB0899_READ_S2REG@PLT
	mov	edi, DWORD PTR CSM_TWO_PASS[rip]
	mov	edx, 1
	mov	rsi, rax
	mov	r14, rax
	call	STB0899_SETFIELD_VAL@PLT
	mov	ecx, DWORD PTR STB0899_OFF0_CSM_CNTRL1[rip]
	mov	r8, r14
	mov	rdi, rbx
	mov	edx, DWORD PTR STB0899_BASE_CSM_CNTRL1[rip]
	mov	esi, DWORD PTR STB0899_S2DEMOD[rip]
	call	stb0899_write_s2reg@PLT
	mov	esi, DWORD PTR CSM_CNTRL1[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	call	STB0899_READ_S2REG@PLT
	mov	edi, DWORD PTR CSM_TWO_PASS[rip]
	xor	edx, edx
	mov	rsi, rax
	mov	r14, rax
	call	STB0899_SETFIELD_VAL@PLT
	mov	ecx, DWORD PTR STB0899_OFF0_CSM_CNTRL1[rip]
	mov	r8, r14
	mov	rdi, rbx
	mov	edx, DWORD PTR STB0899_BASE_CSM_CNTRL1[rip]
	mov	esi, DWORD PTR STB0899_S2DEMOD[rip]
	call	stb0899_write_s2reg@PLT
	mov	esi, r12d
	mov	rdi, rbx
	call	stb0899_dvbs2_get_fec_status@PLT
	cmp	rax, QWORD PTR DVBS2_FEC_LOCK[rip]
	mov	QWORD PTR 24[rbx], rax
	je	.L23
	cmp	r15d, 3
	jne	.L24
	.p2align 4,,10
	.p2align 3
.L23:
	movsx	rcx, DWORD PTR 16[rbx]
	mov	eax, DWORD PTR 32[rbx]
	mov	rdx, rcx
	imul	rcx, rcx, 1717986919
	lea	eax, [rax+rax*4]
	add	eax, eax
	sar	edx, 31
	sar	rcx, 34
	sub	ecx, edx
	cdq
	idiv	ecx
	cmp	eax, 410
	jg	.L18
	mov	edx, DWORD PTR STB0899_QPSK_35[rip]
	mov	edi, DWORD PTR STB0899_QPSK_12[rip]
	mov	esi, ebp
	call	INRANGE@PLT
	test	rax, rax
	je	.L18
	test	r13b, r13b
	je	.L18
	mov	esi, DWORD PTR EQ_CNTRL[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	call	STB0899_READ_S2REG@PLT
	mov	edi, DWORD PTR EQ_DISABLE_UPDATE[rip]
	mov	edx, 1
	mov	rsi, rax
	mov	rbp, rax
	call	STB0899_SETFIELD_VAL@PLT
	mov	ecx, DWORD PTR STB0899_OFF0_EQ_CNTRL[rip]
	mov	r8, rbp
	mov	rdi, rbx
	mov	edx, DWORD PTR STB0899_BASE_EQ_CNTRL[rip]
	mov	esi, DWORD PTR STB0899_S2DEMOD[rip]
	call	stb0899_write_s2reg@PLT
	jmp	.L18
	.p2align 4,,10
	.p2align 3
.L74:
	mov	edi, DWORD PTR IF_AGC_REF[rip]
	mov	edx, 16
	mov	rsi, rbp
	call	STB0899_SETFIELD_VAL@PLT
	jmp	.L27
	.p2align 4,,10
	.p2align 3
.L71:
	mov	esi, r12d
	mov	rdi, rbx
	call	stb0899_dvbs2_get_fec_status@PLT
	cmp	rax, QWORD PTR DVBS2_FEC_LOCK[rip]
	mov	QWORD PTR 24[rbx], rax
	je	.L13
	xor	r14d, r14d
.L14:
	mov	esi, DWORD PTR CRL_FREQ[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	add	r14d, 1
	call	STB0899_READ_S2REG@PLT
	mov	esi, DWORD PTR CRL_NOM_FREQ[rip]
	mov	edi, DWORD PTR STB0899_S2DEMOD[rip]
	mov	r15, rax
	call	STB0899_READ_S2REG@PLT
	mov	edi, DWORD PTR CRL_NOM_FREQ[rip]
	mov	edx, r15d
	mov	rsi, rax
	mov	r13, rax
	call	STB0899_SETFIELD_VAL@PLT
	mov	edx, DWORD PTR STB0899_BASE_CRL_NOM_FREQ[rip]
	mov	r8, r13
	mov	rdi, rbx
	mov	ecx, DWORD PTR STB0899_OFF0_CRL_NOM_FREQ[rip]
	mov	esi, DWORD PTR STB0899_S2DEMOD[rip]
	call	stb0899_write_s2reg@PLT
	mov	rdi, rbx
	call	stb0899_dvbs2_reacquire@PLT
	mov	esi, ebp
	mov	rdi, rbx
	call	stb0899_dvbs2_get_fec_status@PLT
	mov	rdx, QWORD PTR DVBS2_FEC_LOCK[rip]
	mov	QWORD PTR 24[rbx], rax
	cmp	r14d, 3
	je	.L16
	cmp	rax, rdx
	jne	.L14
	jmp	.L13
	.p2align 4,,10
	.p2align 3
.L32:
	mov	r12d, 50
	mov	ebp, 500
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L75:
	xor	r12d, r12d
	cmp	eax, 25000001
	mov	ebp, 250
	mov	eax, 150
	setl	r12b
	cmovge	ebp, eax
	lea	r12d, 20[r12+r12*4]
	jmp	.L2
	.cfi_endproc
.LFE0:
	.size	stb0899_dvbs2_algo, .-stb0899_dvbs2_algo
	.comm	UWP_STAT2,4,4
	.comm	UWP_DECODE_MOD,4,4
	.comm	STB0899_TSTRES,4,4
	.comm	STB0899_S2DEMOD,4,4
	.comm	STB0899_QPSK_910,4,4
	.comm	STB0899_QPSK_35,4,4
	.comm	STB0899_QPSK_23,4,4
	.comm	STB0899_QPSK_12,4,4
	.comm	STB0899_OFF0_IF_AGC_CNTRL2,4,4
	.comm	STB0899_OFF0_IF_AGC_CNTRL,4,4
	.comm	STB0899_OFF0_EQ_CNTRL,4,4
	.comm	STB0899_OFF0_DMD_CNTRL2,4,4
	.comm	STB0899_OFF0_CSM_CNTRL1,4,4
	.comm	STB0899_OFF0_CRL_NOM_FREQ,4,4
	.comm	STB0899_BASE_IF_AGC_CNTRL2,4,4
	.comm	STB0899_BASE_IF_AGC_CNTRL,4,4
	.comm	STB0899_BASE_EQ_CNTRL,4,4
	.comm	STB0899_BASE_DMD_CNTRL2,4,4
	.comm	STB0899_BASE_CSM_CNTRL1,4,4
	.comm	STB0899_BASE_CRL_NOM_FREQ,4,4
	.comm	SPECTRUM_INVERT,4,4
	.comm	IF_LOOP_GAIN,4,4
	.comm	IF_AGC_REF,4,4
	.comm	IF_AGC_DUMP_PER,4,4
	.comm	IF_AGC_CNTRL2,4,4
	.comm	IF_AGC_CNTRL,4,4
	.comm	FRESRS,4,4
	.comm	FE_DEBUG,4,4
	.comm	EQ_SHIFT,4,4
	.comm	EQ_DISABLE_UPDATE,4,4
	.comm	EQ_CNTRL,4,4
	.comm	DVBS2_FEC_LOCK,8,8
	.comm	DVBS2_DEMOD_LOCK,8,8
	.comm	DMD_CNTRL2,4,4
	.comm	CSM_TWO_PASS,4,4
	.comm	CSM_CNTRL1,4,4
	.comm	CRL_NOM_FREQ,4,4
	.comm	CRL_FREQ,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_stb0899_algo.c_stb0899_dvbs2_algo.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"------------> DVB-S2 DEMOD LOCK !\000"
	.global	__aeabi_idiv
	.align	2
.LC1:
	.ascii	"----------------> DVB-S2 FEC Lock !\000"
	.text
	.align	2
	.global	stb0899_dvbs2_algo
	.syntax unified
	.arm
	.fpu softvfp
	.type	stb0899_dvbs2_algo, %function
stb0899_dvbs2_algo:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	ldr	r2, .L66
	ldr	r3, [r0, #12]
	mov	r4, r0
	cmp	r3, r2
	sub	sp, sp, #44
	ble	.L25
	add	r2, r2, #2998272
	add	r2, r2, #1728
	cmp	r3, r2
	bgt	.L61
	mov	r3, #170
	ldr	r6, .L66+4
	str	r3, [sp, #16]
	b	.L2
.L25:
	ldr	r3, .L66+8
	ldr	r6, .L66+12
	str	r3, [sp, #16]
.L2:
	ldr	fp, .L66+16
	mov	r0, r4
	ldr	r1, [fp]
	bl	stb0899_read_reg
	mov	r5, r0
	ldr	r3, .L66+20
	mov	r1, r0
	mov	r2, #1
	ldr	r0, [r3]
	bl	STB0899_SETFIELD_VAL
	add	r7, r4, #4
	mov	r2, r5
	ldr	r1, [fp]
	mov	r0, r4
	bl	stb0899_write_reg
	mov	r0, r7
	mov	r1, #1
	bl	stb0899_i2c_gate_ctrl
	ldr	r3, [r4, #8]
	ldr	r2, [r3, #4]
	cmp	r2, #0
	beq	.L3
	mov	r0, r7
	ldr	r1, [r4, #40]
	blx	r2
	ldr	r3, [r4, #8]
.L3:
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L4
	mov	r0, r7
	add	r1, r4, #40
	blx	r3
.L4:
	mov	r0, r7
	mov	r1, #0
	bl	stb0899_i2c_gate_ctrl
	ldr	r5, .L66+24
	ldr	r3, .L66+28
	ldr	r0, [r5]
	ldr	r1, [r3]
	bl	STB0899_READ_S2REG
	mov	r7, r0
	ldr	r3, .L66+32
	mov	r1, r0
	mov	r2, #4
	ldr	r0, [r3]
	bl	STB0899_SETFIELD_VAL
	ldr	r3, .L66+36
	mov	r1, r7
	mov	r2, #32
	ldr	r0, [r3]
	bl	STB0899_SETFIELD_VAL
	ldr	r3, .L66+40
	ldr	r2, .L66+44
	str	r7, [sp]
	ldr	r2, [r2]
	ldr	r1, [r5]
	ldr	r3, [r3]
	mov	r0, r4
	bl	stb0899_write_s2reg
	ldr	r3, .L66+48
	ldr	r0, [r5]
	ldr	r1, [r3]
	bl	STB0899_READ_S2REG
	mov	r7, r0
	ldr	r3, .L66+52
	mov	r1, r0
	mov	r2, #0
	ldr	r0, [r3]
	bl	STB0899_SETFIELD_VAL
	ldr	r3, .L66+56
	ldr	r2, .L66+60
	str	r7, [sp]
	ldr	r1, [r5]
	ldr	r3, [r3]
	ldr	r2, [r2]
	mov	r0, r4
	bl	stb0899_write_s2reg
	mov	r0, r4
	bl	stb0899_dvbs2_init_calc
	ldr	r3, .L66+64
	ldr	r0, [r5]
	ldr	r1, [r3]
	bl	STB0899_READ_S2REG
	ldr	r3, [r4, #16]
	mov	r7, r0
	cmp	r3, #128
	beq	.L5
	cmp	r3, #129
	ldr	r3, .L66+68
	str	r3, [sp, #8]
	bne	.L6
	mov	r2, #0
	mov	r1, r7
	ldr	r0, [r3]
	bl	STB0899_SETFIELD_VAL
.L6:
	ldr	r9, .L66+72
	ldr	r8, .L66+76
	str	r7, [sp]
	ldr	r3, [r9]
	ldr	r2, [r8]
	ldr	r1, [r5]
	mov	r0, r4
	bl	stb0899_write_s2reg
	mov	r0, r4
	bl	stb0899_dvbs2_reacquire
	mov	r1, r6
	mov	r0, r4
	bl	stb0899_dvbs2_get_dmd_status
	ldr	r7, .L66+80
	str	r0, [r4, #20]
	ldr	r3, [r7]
	cmp	r0, r3
	beq	.L62
	ldr	r3, .L66+84
	str	r3, [sp, #12]
	ldr	r3, [r3]
.L10:
	cmp	r3, r0
	beq	.L59
	ldr	r3, .L66+64
	ldr	r0, [r5]
	ldr	r1, [r3]
	bl	STB0899_READ_S2REG
	mov	r10, r0
	ldr	r3, [sp, #8]
	mov	r1, r10
	ldr	r0, [r3]
	bl	STB0899_GETFIELD
	clz	r2, r0
	ldr	r3, [sp, #8]
	mov	r1, r10
	ldr	r0, [r3]
	lsr	r2, r2, #5
	bl	STB0899_SETFIELD_VAL
	str	r10, [sp]
	ldr	r3, [r9]
	ldr	r2, [r8]
	ldr	r1, [r5]
	mov	r0, r4
	bl	stb0899_write_s2reg
	mov	r0, r4
	bl	stb0899_dvbs2_reacquire
	mov	r1, r6
	mov	r0, r4
	bl	stb0899_dvbs2_get_dmd_status
	ldr	r3, [r7]
	str	r0, [r4, #20]
	cmp	r0, r3
	beq	.L63
	ldr	r3, [sp, #12]
	ldr	r3, [r3]
.L14:
	cmp	r0, r3
	beq	.L59
.L15:
	ldr	r1, [fp]
	mov	r0, r4
	bl	stb0899_read_reg
	mov	r5, r0
	ldr	r3, .L66+20
	mov	r1, r5
	ldr	r0, [r3]
	mov	r2, #0
	bl	STB0899_SETFIELD_VAL
	mov	r2, r5
	mov	r0, r4
	ldr	r1, [fp]
	bl	stb0899_write_reg
	ldr	r0, [r4, #20]
	add	sp, sp, #44
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L59:
	ldr	r10, .L66+88
.L12:
	mov	r2, #1
	ldr	r1, [r10]
	ldr	r3, .L66+92
	ldr	r0, [r4]
	bl	dprintk
	ldr	r3, .L66+96
	ldr	r0, [r5]
	ldr	r1, [r3]
	bl	STB0899_READ_S2REG
	ldr	r9, .L66+100
	mov	r1, r0
	mov	r6, r0
	ldr	r0, [r9]
	bl	STB0899_GETFIELD
	mov	r1, r6
	mov	r7, r0
	ldr	r0, [r9]
	bl	STB0899_GETFIELD
	ldr	r3, [r4, #12]
	ldr	r1, .L66+104
	mov	r8, r0
	smull	r2, r1, r3, r1
	ldr	r0, [r4, #24]
	asr	r3, r3, #31
	add	r0, r0, r0, lsl #2
	rsb	r1, r3, r1, asr #2
	lsl	r0, r0, #1
	bl	__aeabi_idiv
	ldr	r3, .L66+108
	cmp	r0, r3
	ble	.L24
	ldr	r3, .L66+112
	str	r3, [sp, #20]
.L57:
	ldr	r10, .L66+116
	ldr	r8, .L66+120
.L56:
	ldr	r7, .L66+124
	ldr	r6, .L66+128
.L16:
	ldr	r1, [r8]
	ldr	r0, [r5]
	bl	STB0899_READ_S2REG
	mov	r8, r0
	ldr	r3, .L66+132
	mov	r1, r0
	mov	r2, #2
	ldr	r0, [r3]
	bl	STB0899_SETFIELD_VAL
	str	r8, [sp]
	ldr	r2, [r6]
	ldr	r3, [r7]
	ldr	r1, [r5]
	mov	r0, r4
	bl	stb0899_write_s2reg
	ldr	r3, .L66+136
	ldr	r0, [r5]
	ldr	r1, [r3]
	bl	STB0899_READ_S2REG
	mov	r1, #29
	bl	sign_extend32
	ldr	r6, .L66+140
	ldr	r2, [r4, #24]
	ldr	r3, .L66+144
	smull	r1, ip, r6, r2
	smull	r1, r3, r0, r3
	asr	r6, r2, #31
	ldr	r2, .L66+64
	asr	r0, r0, #31
	ldr	r1, [r2]
	rsb	r6, r6, ip, asr #18
	rsb	r3, r0, r3, asr #18
	ldr	r0, [r5]
	mul	r6, r3, r6
	bl	STB0899_READ_S2REG
	ldr	r3, [sp, #8]
	mov	r1, r0
	ldr	r0, [r3]
	bl	STB0899_GETFIELD
	cmp	r0, #0
	movne	r2, #128
	moveq	r2, #129
	ldr	r3, [r4, #40]
	str	r2, [r4, #16]
	add	r3, r3, r6
	str	r3, [r4, #40]
	mov	r0, r4
	bl	stb0899_dvbs2_get_srate
	ldr	r3, .L66+96
	str	r0, [r4, #12]
	ldr	r1, [r3]
	ldr	r0, [r5]
	bl	STB0899_READ_S2REG
	mov	r6, r0
	ldr	r0, [r9]
	mov	r1, r6
	bl	STB0899_GETFIELD
	asr	r0, r0, #2
	mov	r1, r6
	str	r0, [r4, #28]
	ldr	r0, [r9]
	bl	STB0899_GETFIELD
	and	r0, r0, #1
	mov	r1, r6
	str	r0, [r4, #32]
	ldr	r0, [r9]
	bl	STB0899_GETFIELD
	ldr	r3, .L66+28
	asr	r0, r0, #1
	and	r0, r0, #1
	ldr	r1, [r3]
	str	r0, [r4, #36]
	ldr	r0, [r5]
	bl	STB0899_READ_S2REG
	mov	r6, r0
	ldr	r3, .L66+32
	mov	r1, r6
	mov	r2, #3
	ldr	r0, [r3]
	bl	STB0899_SETFIELD_VAL
	ldr	r3, [sp, #20]
	ldr	r0, [r10]
	ldr	r2, [r3]
	ldr	r1, [r4, #28]
	bl	INRANGE
	cmp	r0, #0
	bne	.L64
.L23:
	ldr	r3, .L66+40
	ldr	r2, .L66+44
	str	r6, [sp]
	ldr	r2, [r2]
	ldr	r1, [r5]
	mov	r0, r4
	ldr	r3, [r3]
	bl	stb0899_write_s2reg
	ldr	r3, .L66+48
	ldr	r0, [r5]
	ldr	r1, [r3]
	bl	STB0899_READ_S2REG
	mov	r6, r0
	ldr	r3, .L66+52
	mov	r1, r6
	mov	r2, #7
	ldr	r0, [r3]
	bl	STB0899_SETFIELD_VAL
	ldr	r3, .L66+56
	ldr	r2, .L66+60
	str	r6, [sp]
	mov	r0, r4
	ldr	r3, [r3]
	ldr	r2, [r2]
	ldr	r1, [r5]
	bl	stb0899_write_s2reg
	b	.L15
.L61:
	ldr	r2, .L66+148
	cmp	r3, r2
	ble	.L27
	ldr	r2, .L66+152
	cmp	r3, r2
	ble	.L28
	ldr	r2, .L66+156
	cmp	r3, r2
	bgt	.L65
	mov	r3, #30
	mov	r6, #300
	str	r3, [sp, #16]
	b	.L2
.L5:
	ldr	r3, .L66+68
	mov	r2, #1
	mov	r1, r7
	ldr	r0, [r3]
	str	r3, [sp, #8]
	bl	STB0899_SETFIELD_VAL
	b	.L6
.L62:
	ldr	r10, .L66+88
	ldr	r3, .L66+160
	mov	r2, #1
	ldr	r1, [r10]
	ldr	r0, [r4]
	bl	dprintk
	mov	r0, r4
	ldr	r1, [sp, #16]
	bl	stb0899_dvbs2_get_fec_status
	ldr	r3, .L66+84
	str	r0, [r4, #20]
	str	r3, [sp, #12]
	ldr	r3, [r3]
	cmp	r0, r3
	beq	.L12
	mov	r3, #0
	ldr	r10, .L66+164
	ldr	r2, .L66+136
	str	r10, [sp, #20]
	mov	r10, r3
	str	r2, [sp, #32]
	ldr	r2, .L66+168
	str	r2, [sp, #28]
	ldr	r2, .L66+172
	str	r2, [sp, #36]
.L9:
	ldr	r3, [sp, #32]
	ldr	r0, [r5]
	ldr	r1, [r3]
	bl	STB0899_READ_S2REG
	mov	r2, r0
	ldr	r3, [sp, #20]
	ldr	r0, [r5]
	ldr	r1, [r3]
	str	r2, [sp, #24]
	bl	STB0899_READ_S2REG
	ldr	r3, [sp, #20]
	mov	r1, r0
	ldr	r2, [sp, #24]
	str	r0, [sp, #24]
	ldr	r0, [r3]
	bl	STB0899_SETFIELD_VAL
	ldr	r1, [sp, #24]
	ldr	r3, [sp, #28]
	ldr	r2, [sp, #36]
	str	r1, [sp]
	ldr	r3, [r3]
	ldr	r2, [r2]
	ldr	r1, [r5]
	mov	r0, r4
	bl	stb0899_write_s2reg
	mov	r0, r4
	bl	stb0899_dvbs2_reacquire
	mov	r1, r6
	mov	r0, r4
	bl	stb0899_dvbs2_get_fec_status
	ldr	r3, [sp, #12]
	add	r10, r10, #1
	ldr	r3, [r3]
	str	r0, [r4, #20]
	cmp	r10, #3
	cmpne	r0, r3
	bne	.L9
	b	.L10
.L27:
	mov	r3, #80
	ldr	r6, .L66+176
	str	r3, [sp, #16]
	b	.L2
.L24:
	ldr	r3, .L66+180
	ldr	r0, .L66+112
	asr	r7, r7, #2
	str	r0, [sp, #20]
	mov	r1, r7
	ldr	r2, [r3]
	ldr	r0, [r0]
	bl	INRANGE
	cmp	r0, #0
	moveq	r0, #0
	andne	r0, r8, #1
	cmp	r0, #0
	and	r8, r8, #1
	bne	.L17
.L20:
	ldr	r3, [r4, #12]
	ldr	r1, .L66+104
	ldr	r0, [r4, #24]
	smull	r2, r1, r3, r1
	add	r0, r0, r0, lsl #2
	asr	r3, r3, #31
	rsb	r1, r3, r1, asr #2
	lsl	r0, r0, #1
	bl	__aeabi_idiv
	ldr	r3, .L66+108
	cmp	r0, r3
	bgt	.L57
	ldr	r3, .L66+184
	ldr	r10, .L66+116
	mov	r1, r7
	ldr	r2, [r3]
	ldr	r0, [r10]
	bl	INRANGE
	cmp	r0, #0
	movne	r6, r8
	moveq	r6, #0
	cmp	r6, #0
	ldr	r8, .L66+120
	beq	.L56
	ldr	r1, [r8]
	ldr	r0, [r5]
	bl	STB0899_READ_S2REG
	ldr	r3, .L66+188
	mov	r1, r0
	str	r0, [sp, #12]
	mov	r2, #1
	ldr	r0, [r3]
	bl	STB0899_SETFIELD_VAL
	ldr	r1, [sp, #12]
	ldr	r7, .L66+124
	ldr	r6, .L66+128
	str	r1, [sp]
	mov	r0, r4
	ldr	r3, [r7]
	ldr	r2, [r6]
	ldr	r1, [r5]
	bl	stb0899_write_s2reg
	b	.L16
.L63:
	mov	r0, r4
	ldr	r1, [sp, #16]
	bl	stb0899_dvbs2_get_fec_status
	ldr	r3, [sp, #12]
	str	r0, [r4, #20]
	ldr	r3, [r3]
	cmp	r0, r3
	beq	.L59
	mov	r7, #0
	ldr	r3, .L66+136
	ldr	r10, .L66+164
	str	r3, [sp, #32]
	ldr	r3, .L66+168
	str	r3, [sp, #28]
	ldr	r3, .L66+172
	str	r3, [sp, #36]
.L13:
	ldr	r3, [sp, #32]
	ldr	r0, [r5]
	ldr	r1, [r3]
	bl	STB0899_READ_S2REG
	ldr	r1, [r10]
	mov	r9, r0
	ldr	r0, [r5]
	bl	STB0899_READ_S2REG
	mov	r8, r0
	mov	r1, r0
	mov	r2, r9
	ldr	r0, [r10]
	bl	STB0899_SETFIELD_VAL
	ldr	r3, [sp, #28]
	ldr	r2, [sp, #36]
	str	r8, [sp]
	ldr	r3, [r3]
	ldr	r2, [r2]
	ldr	r1, [r5]
	mov	r0, r4
	bl	stb0899_write_s2reg
	mov	r0, r4
	bl	stb0899_dvbs2_reacquire
	mov	r1, r6
	mov	r0, r4
	bl	stb0899_dvbs2_get_fec_status
	ldr	r3, [sp, #12]
	add	r7, r7, #1
	ldr	r3, [r3]
	str	r0, [r4, #20]
	cmp	r7, #3
	cmpne	r0, r3
	bne	.L13
	b	.L14
.L64:
	ldr	r3, .L66+36
	mov	r2, #16
	mov	r1, r6
	ldr	r0, [r3]
	bl	STB0899_SETFIELD_VAL
	b	.L23
.L28:
	mov	r3, #50
	mov	r6, #500
	str	r3, [sp, #16]
	b	.L2
.L65:
	ldr	r2, .L66+192
	cmp	r3, r2
	movle	r3, #25
	movgt	r3, #20
	movle	r6, #250
	movgt	r6, #150
	str	r3, [sp, #16]
	b	.L2
.L17:
	mov	r2, r7
	mov	r1, #1
	mov	r0, r4
	bl	stb0899_dvbs2_init_csm
	mov	r0, r4
	ldr	r1, [sp, #16]
	bl	stb0899_dvbs2_get_fec_status
	ldr	r2, [sp, #12]
	str	r0, [r4, #20]
	ldr	r3, [r2]
	cmp	r0, r3
	beq	.L20
	str	r8, [sp, #24]
	mov	r6, #0
	mov	r8, r2
	ldr	r10, .L66+196
	str	r7, [sp, #12]
.L21:
	ldr	r3, .L66+200
	ldr	r0, [r5]
	ldr	r1, [r3]
	bl	STB0899_READ_S2REG
	mov	r7, r0
	mov	r1, r0
	ldr	r0, .L66+204
	mov	r2, #1
	ldr	r0, [r0]
	bl	STB0899_SETFIELD_VAL
	ldr	r2, .L66+208
	str	r7, [sp]
	ldr	r3, [r2]
	ldr	r1, [r5]
	ldr	r2, [r10]
	mov	r0, r4
	bl	stb0899_write_s2reg
	ldr	r3, .L66+200
	ldr	r0, [r5]
	ldr	r1, [r3]
	bl	STB0899_READ_S2REG
	mov	r7, r0
	mov	r1, r0
	ldr	r0, .L66+204
	mov	r2, #0
	ldr	r0, [r0]
	bl	STB0899_SETFIELD_VAL
	ldr	r2, .L66+208
	str	r7, [sp]
	ldr	r3, [r2]
	ldr	r1, [r5]
	ldr	r2, [r10]
	mov	r0, r4
	bl	stb0899_write_s2reg
	mov	r0, r4
	ldr	r1, [sp, #16]
	bl	stb0899_dvbs2_get_fec_status
	ldr	r3, [r8]
	add	r6, r6, #1
	cmp	r0, r3
	cmpne	r6, #3
	str	r0, [r4, #20]
	bne	.L21
	ldr	r7, [sp, #12]
	ldr	r8, [sp, #24]
	b	.L20
.L67:
	.align	2
.L66:
	.word	2000000
	.word	2500
	.word	350
	.word	5000
	.word	STB0899_TSTRES
	.word	FRESRS
	.word	STB0899_S2DEMOD
	.word	IF_AGC_CNTRL
	.word	IF_LOOP_GAIN
	.word	IF_AGC_REF
	.word	STB0899_OFF0_IF_AGC_CNTRL
	.word	STB0899_BASE_IF_AGC_CNTRL
	.word	IF_AGC_CNTRL2
	.word	IF_AGC_DUMP_PER
	.word	STB0899_OFF0_IF_AGC_CNTRL2
	.word	STB0899_BASE_IF_AGC_CNTRL2
	.word	DMD_CNTRL2
	.word	SPECTRUM_INVERT
	.word	STB0899_OFF0_DMD_CNTRL2
	.word	STB0899_BASE_DMD_CNTRL2
	.word	DVBS2_DEMOD_LOCK
	.word	DVBS2_FEC_LOCK
	.word	FE_DEBUG
	.word	.LC1
	.word	UWP_STAT2
	.word	UWP_DECODE_MOD
	.word	1717986919
	.word	410
	.word	STB0899_QPSK_23
	.word	STB0899_QPSK_12
	.word	EQ_CNTRL
	.word	STB0899_OFF0_EQ_CNTRL
	.word	STB0899_BASE_EQ_CNTRL
	.word	EQ_SHIFT
	.word	CRL_FREQ
	.word	1125899907
	.word	1048576805
	.word	10000000
	.word	15000000
	.word	20000000
	.word	.LC0
	.word	CRL_NOM_FREQ
	.word	STB0899_OFF0_CRL_NOM_FREQ
	.word	STB0899_BASE_CRL_NOM_FREQ
	.word	1500
	.word	STB0899_QPSK_910
	.word	STB0899_QPSK_35
	.word	EQ_DISABLE_UPDATE
	.word	25000000
	.word	STB0899_BASE_CSM_CNTRL1
	.word	CSM_CNTRL1
	.word	CSM_TWO_PASS
	.word	STB0899_OFF0_CSM_CNTRL1
	.size	stb0899_dvbs2_algo, .-stb0899_dvbs2_algo
	.comm	UWP_STAT2,4,4
	.comm	UWP_DECODE_MOD,4,4
	.comm	STB0899_TSTRES,4,4
	.comm	STB0899_S2DEMOD,4,4
	.comm	STB0899_QPSK_910,4,4
	.comm	STB0899_QPSK_35,4,4
	.comm	STB0899_QPSK_23,4,4
	.comm	STB0899_QPSK_12,4,4
	.comm	STB0899_OFF0_IF_AGC_CNTRL2,4,4
	.comm	STB0899_OFF0_IF_AGC_CNTRL,4,4
	.comm	STB0899_OFF0_EQ_CNTRL,4,4
	.comm	STB0899_OFF0_DMD_CNTRL2,4,4
	.comm	STB0899_OFF0_CSM_CNTRL1,4,4
	.comm	STB0899_OFF0_CRL_NOM_FREQ,4,4
	.comm	STB0899_BASE_IF_AGC_CNTRL2,4,4
	.comm	STB0899_BASE_IF_AGC_CNTRL,4,4
	.comm	STB0899_BASE_EQ_CNTRL,4,4
	.comm	STB0899_BASE_DMD_CNTRL2,4,4
	.comm	STB0899_BASE_CSM_CNTRL1,4,4
	.comm	STB0899_BASE_CRL_NOM_FREQ,4,4
	.comm	SPECTRUM_INVERT,4,4
	.comm	IF_LOOP_GAIN,4,4
	.comm	IF_AGC_REF,4,4
	.comm	IF_AGC_DUMP_PER,4,4
	.comm	IF_AGC_CNTRL2,4,4
	.comm	IF_AGC_CNTRL,4,4
	.comm	FRESRS,4,4
	.comm	FE_DEBUG,4,4
	.comm	EQ_SHIFT,4,4
	.comm	EQ_DISABLE_UPDATE,4,4
	.comm	EQ_CNTRL,4,4
	.comm	DVBS2_FEC_LOCK,4,4
	.comm	DVBS2_DEMOD_LOCK,4,4
	.comm	DMD_CNTRL2,4,4
	.comm	CSM_TWO_PASS,4,4
	.comm	CSM_CNTRL1,4,4
	.comm	CRL_NOM_FREQ,4,4
	.comm	CRL_FREQ,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
