	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function cxd2880_set_ber_per_period_t2
_cxd2880_set_ber_per_period_t2:         ## @cxd2880_set_ber_per_period_t2
	.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	$88, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	testq	%rdi, %rdi
	je	LBB0_3
## %bb.1:
	movq	(%rdi), %r13
	movl	16(%r13), %ebx
	leaq	12(%r13), %r12
	leaq	-128(%rbp), %rsi
	movq	%r12, %rdi
	callq	_cxd2880_tnrdmd_dvbt2_mon_l1_pre
	testl	%eax, %eax
	je	LBB0_4
## %bb.2:
	leaq	L_.str.1(%rip), %rdi
	jmp	LBB0_8
LBB0_3:
	leaq	L_.str(%rip), %rdi
	callq	_pr_err
	movq	_EINVAL@GOTPCREL(%rip), %rax
	xorl	%ebx, %ebx
	subl	(%rax), %ebx
	jmp	LBB0_10
LBB0_4:
	movq	_CXD2880_DVBT2_PLP_DATA@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	-80(%rbp), %rdx
	movq	%r12, %rdi
	callq	_cxd2880_tnrdmd_dvbt2_mon_active_plp
	testl	%eax, %eax
	je	LBB0_6
## %bb.5:
	leaq	L_.str.2(%rip), %rdi
	jmp	LBB0_8
LBB0_6:
	leaq	-48(%rbp), %rsi
	movq	%r12, %rdi
	callq	_cxd2880_tnrdmd_dvbt2_mon_l1_post
	testl	%eax, %eax
	je	LBB0_11
## %bb.7:
	leaq	L_.str.3(%rip), %rdi
LBB0_8:
	callq	_pr_info
	movl	$1000, (%r13)                   ## imm = 0x3E8
	movq	_CXD2880_TNRDMD_CFG_DVBT2_LBER_MES@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	xorl	%edx, %edx
	callq	_cxd2880_tnrdmd_set_cfg
	movl	$1000, 4(%r13)                  ## imm = 0x3E8
	movq	_CXD2880_TNRDMD_CFG_DVBT2_BBER_MES@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	xorl	%edx, %edx
	callq	_cxd2880_tnrdmd_set_cfg
LBB0_9:
	movl	$1000, 8(%r13)                  ## imm = 0x3E8
	movq	_CXD2880_TNRDMD_CFG_DVBT2_PER_MES@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	$8, %edx
	callq	_cxd2880_tnrdmd_set_cfg
	xorl	%ebx, %ebx
LBB0_10:
	movl	%ebx, %eax
	addq	$88, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_11:
	leaq	_cxd2880_set_ber_per_period_t2.mode_tbl(%rip), %rax
	movq	-128(%rbp), %rcx
	movq	-120(%rbp), %rdx
	leaq	_cxd2880_set_ber_per_period_t2.gi_tbl(%rip), %rsi
	movl	$1024, %edi                     ## imm = 0x400
	addl	(%rsi,%rdx,4), %edi
	imull	(%rax,%rcx,4), %edi
	leaq	_cxd2880_set_ber_per_period_t2.n_tbl(%rip), %rax
	movl	(%rax,%rcx,4), %ecx
	addl	-112(%rbp), %ecx
	imull	%edi, %ecx
	xorl	%eax, %eax
	cmpq	$0, -104(%rbp)
	je	LBB0_14
## %bb.12:
	movl	-48(%rbp), %esi
	testl	%esi, %esi
	je	LBB0_14
## %bb.13:
	movl	%esi, %eax
	shrl	$31, %eax
	addl	%esi, %eax
	sarl	%eax
	addl	-44(%rbp), %eax
	cltd
	idivl	%esi
                                        ## kill: def $eax killed $eax def $rax
LBB0_14:
	addl	$2048, %ecx                     ## imm = 0x800
	addl	$-129, %ebx
	cmpl	$3, %ebx
	ja	LBB0_17
## %bb.15:
	leaq	LJTI0_0(%rip), %rdx
	movslq	(%rdx,%rbx,4), %rsi
	addq	%rdx, %rsi
	jmpq	*%rsi
LBB0_16:
	leal	(%rax,%rcx), %edx
	addl	$4, %edx
	addl	%eax, %ecx
	addl	$11, %ecx
	testl	%edx, %edx
	cmovnsl	%edx, %ecx
	sarl	$3, %ecx
	jmp	LBB0_22
LBB0_17:
	addl	%ecx, %eax
	leal	(,%rax,8), %ecx
	subl	%eax, %ecx
	leal	32(%rcx), %eax
	addl	$95, %ecx
	testl	%eax, %eax
	cmovnsl	%eax, %ecx
	sarl	$6, %ecx
	jmp	LBB0_22
LBB0_18:
	addl	%ecx, %eax
	leal	(,%rax,8), %ecx
	subl	%eax, %ecx
	addl	$24, %ecx
	movslq	%ecx, %rax
	imulq	$715827883, %rax, %rcx          ## imm = 0x2AAAAAAB
	movq	%rcx, %rax
	shrq	$63, %rax
	sarq	$35, %rcx
	jmp	LBB0_21
LBB0_19:
	addl	%ecx, %eax
	leal	(,%rax,8), %ecx
	subl	%eax, %ecx
	addl	$20, %ecx
	movslq	%ecx, %rax
	imulq	$1717986919, %rax, %rcx         ## imm = 0x66666667
	movq	%rcx, %rax
	shrq	$63, %rax
	sarq	$36, %rcx
	jmp	LBB0_21
LBB0_20:
	addl	%ecx, %eax
	imull	$71, %eax, %eax
	addl	$65, %eax
	cltq
	imulq	$1049152317, %rax, %rcx         ## imm = 0x3E88CB3D
	movq	%rcx, %rax
	shrq	$63, %rax
	sarq	$37, %rcx
LBB0_21:
	addl	%eax, %ecx
LBB0_22:
	imull	$1000000, -76(%rbp), %edx       ## imm = 0xF4240
	movl	%ecx, %eax
	shrl	$31, %eax
	addl	%ecx, %eax
	sarl	%eax
	addl	%edx, %eax
	cltd
	idivl	%ecx
	movl	%eax, %r14d
	cmpq	$0, -56(%rbp)
	je	LBB0_25
## %bb.23:
	movl	-80(%rbp), %ecx
	testl	%ecx, %ecx
	je	LBB0_25
## %bb.24:
	movl	%ecx, %eax
	shrl	$31, %eax
	addl	%ecx, %eax
	sarl	%eax
	addl	%eax, %r14d
	movl	%r14d, %eax
	cltd
	idivl	%ecx
	movl	%eax, %r14d
LBB0_25:
	movl	%r14d, %edi
	callq	_intlog2
	movl	%eax, %ecx
	sarl	$24, %ecx
	movl	$1000, %r15d                    ## imm = 0x3E8
	movl	$1000, %eax                     ## imm = 0x3E8
	shll	%cl, %eax
	movl	%r14d, %ebx
	shrl	$31, %ebx
	addl	%r14d, %ebx
	sarl	%ebx
	addl	%ebx, %eax
	xorl	%edx, %edx
	divl	%r14d
	movl	%eax, (%r13)
	movq	_CXD2880_TNRDMD_CFG_DVBT2_LBER_MES@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	%ecx, %edx
	callq	_cxd2880_tnrdmd_set_cfg
	movl	%r14d, %edi
	callq	_intlog2
	movl	%eax, %ecx
	sarl	$24, %ecx
	shll	%cl, %r15d
	addl	%ebx, %r15d
	movl	%r15d, %eax
	xorl	%edx, %edx
	divl	%r14d
	movl	%eax, 4(%r13)
	movq	_CXD2880_TNRDMD_CFG_DVBT2_BBER_MES@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	%ecx, %edx
	callq	_cxd2880_tnrdmd_set_cfg
	movq	_CXD2880_DVBT2_PLP_DATA@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	-96(%rbp), %rdx
	movq	%r12, %rdi
	callq	_cxd2880_tnrdmd_dvbt2_mon_bbheader
	testl	%eax, %eax
	je	LBB0_28
## %bb.26:
	leaq	L_.str.4(%rip), %rdi
LBB0_27:
	callq	_pr_info
	jmp	LBB0_9
LBB0_28:
	movq	-96(%rbp), %rax
	movq	_CXD2880_DVBT2_PLP_MODE_NM@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_31
## %bb.29:
	movq	-72(%rbp), %rax
	movq	-64(%rbp), %rcx
	shlq	$5, %rax
	leaq	_cxd2880_set_ber_per_period_t2.kbch_tbl(%rip), %rdx
	addq	%rax, %rdx
	imull	(%rdx,%rcx,4), %r14d
	cmpl	$0, -88(%rbp)
	je	LBB0_34
## %bb.30:
	movl	%r14d, %eax
	addl	$764, %eax                      ## imm = 0x2FC
	cltq
	imulq	$-1416664605, %rax, %rax        ## imm = 0xAB8F69E3
	shrq	$32, %rax
	addl	%eax, %r14d
	addl	$764, %r14d                     ## imm = 0x2FC
	jmp	LBB0_35
LBB0_31:
	movq	_CXD2880_DVBT2_PLP_MODE_HEM@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_33
## %bb.32:
	movq	-72(%rbp), %rax
	movq	-64(%rbp), %rcx
	shlq	$5, %rax
	leaq	_cxd2880_set_ber_per_period_t2.kbch_tbl(%rip), %rdx
	addq	%rax, %rdx
	imull	(%rdx,%rcx,4), %r14d
	movl	%r14d, %eax
	addl	$748, %eax                      ## imm = 0x2EC
	cltq
	imulq	$-1355096633, %rax, %rax        ## imm = 0xAF3ADDC7
	shrq	$32, %rax
	addl	%eax, %r14d
	addl	$748, %r14d                     ## imm = 0x2EC
	jmp	LBB0_35
LBB0_33:
	leaq	L_.str.5(%rip), %rdi
	jmp	LBB0_27
LBB0_34:
	movl	%r14d, %eax
	addl	$752, %eax                      ## imm = 0x2F0
	cltq
	imulq	$-1370734243, %rax, %rax        ## imm = 0xAE4C415D
	shrq	$32, %rax
	addl	%eax, %r14d
	addl	$752, %r14d                     ## imm = 0x2F0
LBB0_35:
	movl	%r14d, %eax
	shrl	$31, %eax
	sarl	$10, %r14d
	addl	%eax, %r14d
	movl	%r14d, %edi
	callq	_intlog2
	movl	%eax, %ecx
	sarl	$24, %ecx
	movl	$1000, %edx                     ## imm = 0x3E8
	shll	%cl, %edx
	movl	%r14d, %eax
	shrl	$31, %eax
	addl	%r14d, %eax
	sarl	%eax
	addl	%edx, %eax
	xorl	%ebx, %ebx
	xorl	%edx, %edx
	divl	%r14d
	movl	%eax, 8(%r13)
	movq	_CXD2880_TNRDMD_CFG_DVBT2_PER_MES@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	%ecx, %edx
	callq	_cxd2880_tnrdmd_set_cfg
	jmp	LBB0_10
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_16, LBB0_16-LJTI0_0
.set L0_0_set_18, LBB0_18-LJTI0_0
.set L0_0_set_19, LBB0_19-LJTI0_0
.set L0_0_set_20, LBB0_20-LJTI0_0
LJTI0_0:
	.long	L0_0_set_16
	.long	L0_0_set_18
	.long	L0_0_set_19
	.long	L0_0_set_20
	.end_data_region
                                        ## -- End function
	.section	__TEXT,__const
	.p2align	4                               ## @cxd2880_set_ber_per_period_t2.gi_tbl
_cxd2880_set_ber_per_period_t2.gi_tbl:
	.long	32                              ## 0x20
	.long	64                              ## 0x40
	.long	128                             ## 0x80
	.long	256                             ## 0x100
	.long	8                               ## 0x8
	.long	152                             ## 0x98
	.long	76                              ## 0x4c

	.p2align	4                               ## @cxd2880_set_ber_per_period_t2.n_tbl
_cxd2880_set_ber_per_period_t2.n_tbl:
	.long	8                               ## 0x8
	.long	2                               ## 0x2
	.long	4                               ## 0x4
	.long	16                              ## 0x10
	.long	1                               ## 0x1
	.long	1                               ## 0x1

	.p2align	4                               ## @cxd2880_set_ber_per_period_t2.mode_tbl
_cxd2880_set_ber_per_period_t2.mode_tbl:
	.long	2                               ## 0x2
	.long	8                               ## 0x8
	.long	4                               ## 0x4
	.long	1                               ## 0x1
	.long	16                              ## 0x10
	.long	32                              ## 0x20

	.p2align	4                               ## @cxd2880_set_ber_per_period_t2.kbch_tbl
_cxd2880_set_ber_per_period_t2.kbch_tbl:
	.long	6952                            ## 0x1b28
	.long	9472                            ## 0x2500
	.long	10552                           ## 0x2938
	.long	11632                           ## 0x2d70
	.long	12352                           ## 0x3040
	.long	13072                           ## 0x3310
	.long	5152                            ## 0x1420
	.long	6232                            ## 0x1858
	.long	32128                           ## 0x7d80
	.long	38608                           ## 0x96d0
	.long	42960                           ## 0xa7d0
	.long	48328                           ## 0xbcc8
	.long	51568                           ## 0xc970
	.long	53760                           ## 0xd200
	.long	0                               ## 0x0
	.long	0                               ## 0x0

	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"invalid arg\n"

	.comm	_EINVAL,4,2                     ## @EINVAL
L_.str.1:                               ## @.str.1
	.asciz	"l1 pre error\n"

	.comm	_CXD2880_DVBT2_PLP_DATA,4,2     ## @CXD2880_DVBT2_PLP_DATA
L_.str.2:                               ## @.str.2
	.asciz	"plp info error\n"

L_.str.3:                               ## @.str.3
	.asciz	"l1 post error\n"

	.comm	_CXD2880_TNRDMD_CFG_DVBT2_LBER_MES,4,2 ## @CXD2880_TNRDMD_CFG_DVBT2_LBER_MES
	.comm	_CXD2880_TNRDMD_CFG_DVBT2_BBER_MES,4,2 ## @CXD2880_TNRDMD_CFG_DVBT2_BBER_MES
L_.str.4:                               ## @.str.4
	.asciz	"bb header error\n"

	.comm	_CXD2880_DVBT2_PLP_MODE_NM,8,3  ## @CXD2880_DVBT2_PLP_MODE_NM
	.comm	_CXD2880_DVBT2_PLP_MODE_HEM,8,3 ## @CXD2880_DVBT2_PLP_MODE_HEM
L_.str.5:                               ## @.str.5
	.asciz	"plp mode is not Normal or HEM\n"

	.comm	_CXD2880_TNRDMD_CFG_DVBT2_PER_MES,4,2 ## @CXD2880_TNRDMD_CFG_DVBT2_PER_MES
	.no_dead_strip	_cxd2880_set_ber_per_period_t2
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function cxd2880_set_ber_per_period_t2
_cxd2880_set_ber_per_period_t2:         ; @cxd2880_set_ber_per_period_t2
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #160
	.cfi_def_cfa_offset 160
	stp	x24, x23, [sp, #96]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #112]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #128]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #144]            ; 16-byte Folded Spill
	add	x29, sp, #144
	.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
	cbz	x0, LBB0_3
; %bb.1:
	ldr	x21, [x0]
	ldr	w20, [x21, #16]
	add	x19, x21, #12
	add	x1, sp, #64
	mov	x0, x19
	bl	_cxd2880_tnrdmd_dvbt2_mon_l1_pre
	cbz	w0, LBB0_4
; %bb.2:
Lloh0:
	adrp	x0, l_.str.1@PAGE
Lloh1:
	add	x0, x0, l_.str.1@PAGEOFF
	b	LBB0_8
LBB0_3:
Lloh2:
	adrp	x0, l_.str@PAGE
Lloh3:
	add	x0, x0, l_.str@PAGEOFF
	bl	_pr_err
Lloh4:
	adrp	x8, _EINVAL@GOTPAGE
Lloh5:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
Lloh6:
	ldr	w8, [x8]
	neg	w0, w8
	b	LBB0_11
LBB0_4:
Lloh7:
	adrp	x22, _CXD2880_DVBT2_PLP_DATA@GOTPAGE
Lloh8:
	ldr	x22, [x22, _CXD2880_DVBT2_PLP_DATA@GOTPAGEOFF]
	ldr	w1, [x22]
	add	x2, sp, #24
	mov	x0, x19
	bl	_cxd2880_tnrdmd_dvbt2_mon_active_plp
	cbz	w0, LBB0_6
; %bb.5:
Lloh9:
	adrp	x0, l_.str.2@PAGE
Lloh10:
	add	x0, x0, l_.str.2@PAGEOFF
	b	LBB0_8
LBB0_6:
	add	x1, sp, #56
	mov	x0, x19
	bl	_cxd2880_tnrdmd_dvbt2_mon_l1_post
	cbz	w0, LBB0_12
; %bb.7:
Lloh11:
	adrp	x0, l_.str.3@PAGE
Lloh12:
	add	x0, x0, l_.str.3@PAGEOFF
LBB0_8:
	bl	_pr_info
	mov	w20, #1000
	str	w20, [x21]
Lloh13:
	adrp	x8, _CXD2880_TNRDMD_CFG_DVBT2_LBER_MES@GOTPAGE
Lloh14:
	ldr	x8, [x8, _CXD2880_TNRDMD_CFG_DVBT2_LBER_MES@GOTPAGEOFF]
Lloh15:
	ldr	w1, [x8]
	mov	x0, x19
	mov	w2, #0
	bl	_cxd2880_tnrdmd_set_cfg
	str	w20, [x21, #4]
Lloh16:
	adrp	x8, _CXD2880_TNRDMD_CFG_DVBT2_BBER_MES@GOTPAGE
Lloh17:
	ldr	x8, [x8, _CXD2880_TNRDMD_CFG_DVBT2_BBER_MES@GOTPAGEOFF]
Lloh18:
	ldr	w1, [x8]
	mov	x0, x19
	mov	w2, #0
	bl	_cxd2880_tnrdmd_set_cfg
LBB0_9:
	mov	w8, #1000
	str	w8, [x21, #8]
Lloh19:
	adrp	x8, _CXD2880_TNRDMD_CFG_DVBT2_PER_MES@GOTPAGE
Lloh20:
	ldr	x8, [x8, _CXD2880_TNRDMD_CFG_DVBT2_PER_MES@GOTPAGEOFF]
Lloh21:
	ldr	w1, [x8]
	mov	x0, x19
	mov	w2, #8
LBB0_10:
	bl	_cxd2880_tnrdmd_set_cfg
	mov	w0, #0
LBB0_11:
	ldp	x29, x30, [sp, #144]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #128]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #112]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #96]             ; 16-byte Folded Reload
	add	sp, sp, #160
	ret
LBB0_12:
	mov	w8, #0
	ldp	x9, x10, [sp, #64]
	lsl	x11, x9, #2
Lloh22:
	adrp	x9, _cxd2880_set_ber_per_period_t2.mode_tbl@PAGE
Lloh23:
	add	x9, x9, _cxd2880_set_ber_per_period_t2.mode_tbl@PAGEOFF
	ldr	w9, [x9, x11]
Lloh24:
	adrp	x12, _cxd2880_set_ber_per_period_t2.gi_tbl@PAGE
Lloh25:
	add	x12, x12, _cxd2880_set_ber_per_period_t2.gi_tbl@PAGEOFF
	ldr	w10, [x12, x10, lsl #2]
	add	w10, w10, #1024
	mul	w9, w10, w9
Lloh26:
	adrp	x10, _cxd2880_set_ber_per_period_t2.n_tbl@PAGE
Lloh27:
	add	x10, x10, _cxd2880_set_ber_per_period_t2.n_tbl@PAGEOFF
	ldr	w12, [sp, #80]
	ldr	w10, [x10, x11]
	add	w10, w10, w12
	orr	w11, wzr, #0x800
	ldr	x12, [sp, #88]
	cbz	x12, LBB0_15
; %bb.13:
	ldr	w12, [sp, #56]
	cbz	w12, LBB0_15
; %bb.14:
	ldr	w8, [sp, #60]
	cmp	w12, #0
	cinc	w13, w12, lt
	add	w8, w8, w13, asr #1
	sdiv	w8, w8, w12
LBB0_15:
	madd	w9, w9, w10, w11
	sub	w10, w20, #129
	cmp	w10, #3
	b.hi	LBB0_18
; %bb.16:
Lloh28:
	adrp	x11, lJTI0_0@PAGE
Lloh29:
	add	x11, x11, lJTI0_0@PAGEOFF
	adr	x12, LBB0_17
	ldrb	w13, [x11, x10]
	add	x12, x12, x13, lsl #2
	br	x12
LBB0_17:
	add	w8, w8, w9
	add	w9, w8, #4
	add	w8, w8, #11
	cmp	w9, #0
	csel	w8, w8, w9, lt
	asr	w8, w8, #3
	b	LBB0_23
LBB0_18:
	add	w8, w8, w9
	lsl	w9, w8, #3
	sub	w8, w9, w8
	add	w9, w8, #32
	add	w8, w8, #95
	cmp	w9, #0
	csel	w8, w8, w9, lt
	asr	w8, w8, #6
	b	LBB0_23
LBB0_19:
	add	w8, w8, w9
	lsl	w9, w8, #3
	sub	w8, w9, w8
	add	w8, w8, #24
	mov	w9, #43691
	movk	w9, #10922, lsl #16
	smull	x8, w8, w9
	lsr	x9, x8, #63
	asr	x8, x8, #35
	b	LBB0_22
LBB0_20:
	add	w8, w8, w9
	lsl	w9, w8, #3
	sub	w8, w9, w8
	add	w8, w8, #20
	mov	w9, #26215
	movk	w9, #26214, lsl #16
	smull	x8, w8, w9
	lsr	x9, x8, #63
	asr	x8, x8, #36
	b	LBB0_22
LBB0_21:
	add	w8, w8, w9
	mov	w9, #71
	mul	w8, w8, w9
	add	w8, w8, #65
	mov	w9, #52029
	movk	w9, #16008, lsl #16
	smull	x8, w8, w9
	lsr	x9, x8, #63
	asr	x8, x8, #37
LBB0_22:
	add	w8, w8, w9
LBB0_23:
	ldr	x9, [sp, #48]
	ldr	w10, [sp, #28]
	mov	w11, #16960
	movk	w11, #15, lsl #16
	mul	w10, w10, w11
	cmp	w8, #0
	cinc	w11, w8, lt
	add	w10, w10, w11, asr #1
	sdiv	w20, w10, w8
	cbz	x9, LBB0_26
; %bb.24:
	ldr	w8, [sp, #24]
	cbz	w8, LBB0_26
; %bb.25:
	cmp	w8, #0
	cinc	w9, w8, lt
	add	w9, w20, w9, asr #1
	sdiv	w20, w9, w8
LBB0_26:
	mov	x0, x20
	bl	_intlog2
	asr	w2, w0, #24
	mov	w23, #1000
	lsl	w8, w23, w2
	cmp	w20, #0
	cinc	w9, w20, lt
	asr	w24, w9, #1
	add	w8, w8, w24
	udiv	w8, w8, w20
	str	w8, [x21]
Lloh30:
	adrp	x8, _CXD2880_TNRDMD_CFG_DVBT2_LBER_MES@GOTPAGE
Lloh31:
	ldr	x8, [x8, _CXD2880_TNRDMD_CFG_DVBT2_LBER_MES@GOTPAGEOFF]
Lloh32:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_cxd2880_tnrdmd_set_cfg
	mov	x0, x20
	bl	_intlog2
	asr	w2, w0, #24
	lsl	w8, w23, w2
	add	w8, w8, w24
	udiv	w8, w8, w20
	str	w8, [x21, #4]
Lloh33:
	adrp	x8, _CXD2880_TNRDMD_CFG_DVBT2_BBER_MES@GOTPAGE
Lloh34:
	ldr	x8, [x8, _CXD2880_TNRDMD_CFG_DVBT2_BBER_MES@GOTPAGEOFF]
Lloh35:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_cxd2880_tnrdmd_set_cfg
	ldr	w1, [x22]
	add	x2, sp, #8
	mov	x0, x19
	bl	_cxd2880_tnrdmd_dvbt2_mon_bbheader
	cbz	w0, LBB0_28
; %bb.27:
Lloh36:
	adrp	x0, l_.str.4@PAGE
Lloh37:
	add	x0, x0, l_.str.4@PAGEOFF
	bl	_pr_info
	b	LBB0_9
LBB0_28:
	ldr	x8, [sp, #8]
Lloh38:
	adrp	x9, _CXD2880_DVBT2_PLP_MODE_NM@GOTPAGE
Lloh39:
	ldr	x9, [x9, _CXD2880_DVBT2_PLP_MODE_NM@GOTPAGEOFF]
Lloh40:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_30
; %bb.29:
	ldp	x8, x9, [sp, #32]
Lloh41:
	adrp	x10, _cxd2880_set_ber_per_period_t2.kbch_tbl@PAGE
Lloh42:
	add	x10, x10, _cxd2880_set_ber_per_period_t2.kbch_tbl@PAGEOFF
	add	x8, x10, x8, lsl #5
	ldr	w8, [x8, x9, lsl #2]
	ldr	w9, [sp, #16]
	mul	w8, w8, w20
	add	w10, w8, #764
	mov	w11, #27107
	movk	w11, #43919, lsl #16
	smull	x11, w10, w11
	lsr	x11, x11, #32
	add	w10, w11, w10
	asr	w11, w10, #10
	add	w10, w11, w10, lsr #31
	add	w8, w8, #752
	mov	w11, #16733
	movk	w11, #44620, lsl #16
	smull	x11, w8, w11
	lsr	x11, x11, #32
	add	w8, w11, w8
	asr	w11, w8, #10
	add	w8, w11, w8, lsr #31
	cmp	w9, #0
	csel	w20, w10, w8, ne
	b	LBB0_32
LBB0_30:
Lloh43:
	adrp	x9, _CXD2880_DVBT2_PLP_MODE_HEM@GOTPAGE
Lloh44:
	ldr	x9, [x9, _CXD2880_DVBT2_PLP_MODE_HEM@GOTPAGEOFF]
Lloh45:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_33
; %bb.31:
Lloh46:
	adrp	x8, _cxd2880_set_ber_per_period_t2.kbch_tbl@PAGE
Lloh47:
	add	x8, x8, _cxd2880_set_ber_per_period_t2.kbch_tbl@PAGEOFF
	ldp	x9, x10, [sp, #32]
	add	x8, x8, x9, lsl #5
	ldr	w8, [x8, x10, lsl #2]
	mul	w8, w8, w20
	add	w8, w8, #748
	mov	w9, #56775
	movk	w9, #44858, lsl #16
	smull	x9, w8, w9
	lsr	x9, x9, #32
	add	w8, w9, w8
	asr	w9, w8, #10
	add	w20, w9, w8, lsr #31
LBB0_32:
	mov	x0, x20
	bl	_intlog2
	asr	w2, w0, #24
	mov	w8, #1000
	lsl	w8, w8, w2
	cmp	w20, #0
	cinc	w9, w20, lt
	add	w8, w8, w9, asr #1
	udiv	w8, w8, w20
	str	w8, [x21, #8]
Lloh48:
	adrp	x8, _CXD2880_TNRDMD_CFG_DVBT2_PER_MES@GOTPAGE
Lloh49:
	ldr	x8, [x8, _CXD2880_TNRDMD_CFG_DVBT2_PER_MES@GOTPAGEOFF]
Lloh50:
	ldr	w1, [x8]
	mov	x0, x19
	b	LBB0_10
LBB0_33:
Lloh51:
	adrp	x0, l_.str.5@PAGE
Lloh52:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_pr_info
	b	LBB0_9
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpAdd	Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpAdd	Lloh26, Lloh27
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpAdd	Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpAdd	Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpAdd	Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpAdd	Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpAdd	Lloh51, Lloh52
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_17-LBB0_17)>>2
	.byte	(LBB0_19-LBB0_17)>>2
	.byte	(LBB0_20-LBB0_17)>>2
	.byte	(LBB0_21-LBB0_17)>>2
                                        ; -- End function
	.p2align	2                               ; @cxd2880_set_ber_per_period_t2.gi_tbl
_cxd2880_set_ber_per_period_t2.gi_tbl:
	.long	32                              ; 0x20
	.long	64                              ; 0x40
	.long	128                             ; 0x80
	.long	256                             ; 0x100
	.long	8                               ; 0x8
	.long	152                             ; 0x98
	.long	76                              ; 0x4c

	.p2align	2                               ; @cxd2880_set_ber_per_period_t2.n_tbl
_cxd2880_set_ber_per_period_t2.n_tbl:
	.long	8                               ; 0x8
	.long	2                               ; 0x2
	.long	4                               ; 0x4
	.long	16                              ; 0x10
	.long	1                               ; 0x1
	.long	1                               ; 0x1

	.p2align	2                               ; @cxd2880_set_ber_per_period_t2.mode_tbl
_cxd2880_set_ber_per_period_t2.mode_tbl:
	.long	2                               ; 0x2
	.long	8                               ; 0x8
	.long	4                               ; 0x4
	.long	1                               ; 0x1
	.long	16                              ; 0x10
	.long	32                              ; 0x20

	.p2align	2                               ; @cxd2880_set_ber_per_period_t2.kbch_tbl
_cxd2880_set_ber_per_period_t2.kbch_tbl:
	.long	6952                            ; 0x1b28
	.long	9472                            ; 0x2500
	.long	10552                           ; 0x2938
	.long	11632                           ; 0x2d70
	.long	12352                           ; 0x3040
	.long	13072                           ; 0x3310
	.long	5152                            ; 0x1420
	.long	6232                            ; 0x1858
	.long	32128                           ; 0x7d80
	.long	38608                           ; 0x96d0
	.long	42960                           ; 0xa7d0
	.long	48328                           ; 0xbcc8
	.long	51568                           ; 0xc970
	.long	53760                           ; 0xd200
	.long	0                               ; 0x0
	.long	0                               ; 0x0

	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"invalid arg\n"

	.comm	_EINVAL,4,2                     ; @EINVAL
l_.str.1:                               ; @.str.1
	.asciz	"l1 pre error\n"

	.comm	_CXD2880_DVBT2_PLP_DATA,4,2     ; @CXD2880_DVBT2_PLP_DATA
l_.str.2:                               ; @.str.2
	.asciz	"plp info error\n"

l_.str.3:                               ; @.str.3
	.asciz	"l1 post error\n"

	.comm	_CXD2880_TNRDMD_CFG_DVBT2_LBER_MES,4,2 ; @CXD2880_TNRDMD_CFG_DVBT2_LBER_MES
	.comm	_CXD2880_TNRDMD_CFG_DVBT2_BBER_MES,4,2 ; @CXD2880_TNRDMD_CFG_DVBT2_BBER_MES
l_.str.4:                               ; @.str.4
	.asciz	"bb header error\n"

	.comm	_CXD2880_DVBT2_PLP_MODE_NM,8,3  ; @CXD2880_DVBT2_PLP_MODE_NM
	.comm	_CXD2880_DVBT2_PLP_MODE_HEM,8,3 ; @CXD2880_DVBT2_PLP_MODE_HEM
l_.str.5:                               ; @.str.5
	.asciz	"plp mode is not Normal or HEM\n"

	.comm	_CXD2880_TNRDMD_CFG_DVBT2_PER_MES,4,2 ; @CXD2880_TNRDMD_CFG_DVBT2_PER_MES
	.no_dead_strip	_cxd2880_set_ber_per_period_t2
.subsections_via_symbols
