	.file	"extr_rng.c_ath9k_rng_data_read.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	ath9k_rng_data_read, @function
ath9k_rng_data_read:
.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
	mov	r13, rdi
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	mov	r12d, edx
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	sub	rsp, 24
	.cfi_def_cfa_offset 80
	mov	rbp, QWORD PTR 8[rdi]
	mov	r15d, DWORD PTR [rdi]
	mov	QWORD PTR 8[rsp], rsi
	call	ath9k_ps_wakeup@PLT
	mov	edx, DWORD PTR AR_PHY_TEST_BBB_OBS_SEL[rip]
	mov	ecx, 1
	mov	rdi, rbp
	mov	esi, DWORD PTR AR_PHY_TEST[rip]
	call	REG_RMW_FIELD@PLT
	mov	edx, DWORD PTR AR_PHY_TEST_RX_OBS_SEL_BIT5[rip]
	mov	esi, DWORD PTR AR_PHY_TEST[rip]
	mov	rdi, rbp
	call	REG_CLR_BIT@PLT
	mov	edx, DWORD PTR AR_PHY_TEST_CTL_RX_OBS_SEL[rip]
	xor	ecx, ecx
	mov	rdi, rbp
	mov	esi, DWORD PTR AR_PHY_TEST_CTL_STATUS[rip]
	call	REG_RMW_FIELD@PLT
	test	r12d, r12d
	jle	.L5
	mov	DWORD PTR 4[rsp], 0
	xor	r14d, r14d
	.p2align 4,,10
	.p2align 3
.L4:
	mov	esi, DWORD PTR AR_PHY_TST_ADC[rip]
	mov	rdi, rbp
	call	REG_READ@PLT
	mov	esi, DWORD PTR AR_PHY_TST_ADC[rip]
	mov	rdi, rbp
	movzx	ebx, ax
	call	REG_READ@PLT
	mov	ecx, r15d
	movzx	r15d, ax
	test	ebx, ebx
	je	.L3
	test	r15d, r15d
	je	.L3
	cmp	ebx, ecx
	je	.L3
	cmp	ebx, r15d
	je	.L3
	cmp	ebx, 65535
	je	.L3
	cmp	r15d, 65535
	je	.L3
	movsx	rax, DWORD PTR 4[rsp]
	mov	rcx, QWORD PTR 8[rsp]
	sal	ebx, 16
	or	ebx, r15d
	mov	DWORD PTR [rcx+rax*4], ebx
	lea	eax, 1[rax]
	mov	DWORD PTR 4[rsp], eax
	.p2align 4,,10
	.p2align 3
.L3:
	add	r14d, 1
	cmp	r12d, r14d
	jne	.L4
	mov	r14d, DWORD PTR 4[rsp]
	sal	r14d, 2
.L2:
	mov	rdi, r13
	call	ath9k_ps_restore@PLT
	mov	DWORD PTR 0[r13], r15d
	add	rsp, 24
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	eax, r14d
	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
.L5:
	.cfi_restore_state
	xor	r14d, r14d
	jmp	.L2
	.cfi_endproc
.LFE0:
	.size	ath9k_rng_data_read, .-ath9k_rng_data_read
	.comm	AR_PHY_TST_ADC,4,4
	.comm	AR_PHY_TEST_RX_OBS_SEL_BIT5,4,4
	.comm	AR_PHY_TEST_CTL_STATUS,4,4
	.comm	AR_PHY_TEST_CTL_RX_OBS_SEL,4,4
	.comm	AR_PHY_TEST_BBB_OBS_SEL,4,4
	.comm	AR_PHY_TEST,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_rng.c_ath9k_rng_data_read.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ath9k_rng_data_read, %function
ath9k_rng_data_read:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	ldm	r0, {r5, r6}
	mov	r8, r2
	sub	sp, sp, #12
	ldr	r4, .L18
	str	r1, [sp, #4]
	mov	r10, r0
	bl	ath9k_ps_wakeup
	ldr	r3, .L18+4
	ldr	r1, [r4]
	ldr	r2, [r3]
	mov	r0, r6
	mov	r3, #1
	bl	REG_RMW_FIELD
	ldr	r3, .L18+8
	ldr	r1, [r4]
	ldr	r2, [r3]
	mov	r0, r6
	bl	REG_CLR_BIT
	ldr	r3, .L18+12
	ldr	r2, .L18+16
	ldr	r1, [r3]
	mov	r0, r6
	mov	r3, #0
	ldr	r2, [r2]
	bl	REG_RMW_FIELD
	cmp	r8, #0
	ble	.L5
	mov	r3, #0
	mov	fp, r3
	ldr	r7, .L18+20
	ldr	r4, .L18+24
	str	r3, [sp]
.L4:
	ldr	r1, [r7]
	mov	r0, r6
	bl	REG_READ
	ldr	r1, [r7]
	mov	r9, r0
	mov	r0, r6
	bl	REG_READ
	and	r9, r9, r4
	mov	ip, r5
	ands	r5, r0, r4
	movne	r1, #1
	moveq	r1, #0
	cmp	r9, #0
	moveq	r1, #0
	cmp	r1, #0
	add	fp, fp, #1
	beq	.L3
	cmp	r9, ip
	cmpne	r9, r5
	beq	.L3
	cmp	r9, r4
	cmpne	r5, r4
	beq	.L3
	ldr	r2, [sp]
	ldr	r1, [sp, #4]
	orr	r3, r5, r9, lsl #16
	str	r3, [r1, r2, lsl #2]
	add	r3, r2, #1
	str	r3, [sp]
.L3:
	cmp	r8, fp
	bne	.L4
	ldr	r3, [sp]
	lsl	r9, r3, #2
.L2:
	mov	r0, r10
	bl	ath9k_ps_restore
	mov	r0, r9
	str	r5, [r10]
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L5:
	mov	r9, #0
	b	.L2
.L19:
	.align	2
.L18:
	.word	AR_PHY_TEST
	.word	AR_PHY_TEST_BBB_OBS_SEL
	.word	AR_PHY_TEST_RX_OBS_SEL_BIT5
	.word	AR_PHY_TEST_CTL_STATUS
	.word	AR_PHY_TEST_CTL_RX_OBS_SEL
	.word	AR_PHY_TST_ADC
	.word	65535
	.size	ath9k_rng_data_read, .-ath9k_rng_data_read
	.comm	AR_PHY_TST_ADC,4,4
	.comm	AR_PHY_TEST_RX_OBS_SEL_BIT5,4,4
	.comm	AR_PHY_TEST_CTL_STATUS,4,4
	.comm	AR_PHY_TEST_CTL_RX_OBS_SEL,4,4
	.comm	AR_PHY_TEST_BBB_OBS_SEL,4,4
	.comm	AR_PHY_TEST,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
