	.file	"extr_clk-pxa3xx.c_pxa3xx_get_clk_frequency_khz.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"RO Mode clock: %ld.%02ldMHz\n"
.LC1:
	.string	"Run Mode clock: %ld.%02ldMHz\n"
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC2:
	.string	"Turbo Mode clock: %ld.%02ldMHz\n"
	.align 8
.LC3:
	.string	"System bus clock: %ld.%02ldMHz\n"
	.text
	.p2align 4
	.globl	pxa3xx_get_clk_frequency_khz
	.type	pxa3xx_get_clk_frequency_khz, @function
pxa3xx_get_clk_frequency_khz:
.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	r13d, edi
	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
	xor	ebx, ebx
	sub	rsp, 56
	.cfi_def_cfa_offset 112
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 40[rsp], rax
	xor	eax, eax
	mov	r12, rsp
.L4:
	mov	rax, QWORD PTR get_freq_khz[rip]
	xor	edi, edi
	mov	esi, DWORD PTR [rax+rbx]
	call	clk_get@PLT
	mov	rdi, rax
	mov	rbp, rax
	call	IS_ERR@PLT
	test	rax, rax
	je	.L2
	mov	QWORD PTR [r12+rbx*2], 0
.L3:
	add	rbx, 4
	cmp	rbx, 20
	jne	.L4
	mov	rbx, QWORD PTR [rsp]
	test	r13d, r13d
	jne	.L13
.L5:
	xor	edx, edx
	mov	eax, ebx
	div	DWORD PTR KHz[rip]
	mov	rcx, QWORD PTR 40[rsp]
	xor	rcx, QWORD PTR fs:40
	jne	.L14
	add	rsp, 56
	.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
.L2:
	.cfi_restore_state
	mov	rdi, rbp
	call	clk_get_rate@PLT
	mov	rdi, rbp
	mov	QWORD PTR [r12+rbx*2], rax
	call	clk_put@PLT
	jmp	.L3
	.p2align 4,,10
	.p2align 3
.L13:
	mov	rax, rbx
	mov	r14, QWORD PTR 8[rsp]
	movabs	rbp, 4835703278458516699
	movabs	r12, 3777893186295716171
	mul	rbp
	mov	rax, rbx
	lea	rdi, .LC0[rip]
	shr	rdx, 18
	imul	rdx, rdx, 1000000
	sub	rax, rdx
	mul	r12
	mov	rax, r14
	shr	rdx, 11
	mov	r8, rdx
	mul	rbp
	shr	rdx, 18
	mov	r15, rdx
	mov	rdx, r8
	mov	rsi, r15
	imul	r15, r15, 1000000
	call	pr_info@PLT
	mov	r13, QWORD PTR 16[rsp]
	lea	rdi, .LC1[rip]
	sub	r14, r15
	mov	rax, r14
	mul	r12
	mov	rax, r13
	mov	r14, rdx
	mul	rbp
	shr	r14, 11
	shr	rdx, 18
	mov	r15, rdx
	mov	rdx, r14
	mov	rsi, r15
	imul	r15, r15, 1000000
	call	pr_info@PLT
	lea	rdi, .LC2[rip]
	sub	r13, r15
	mov	rax, r13
	mul	r12
	mov	rax, rbp
	mov	r13, rdx
	mul	QWORD PTR 24[rsp]
	shr	r13, 11
	shr	rdx, 18
	mov	rsi, rdx
	mov	rdx, r13
	call	pr_info@PLT
	mov	rcx, QWORD PTR 32[rsp]
	lea	rdi, .LC3[rip]
	mov	rax, rcx
	mul	rbp
	shr	rdx, 18
	imul	rax, rdx, 1000000
	mov	rsi, rdx
	sub	rcx, rax
	mov	rax, rcx
	mul	r12
	shr	rdx, 11
	call	pr_info@PLT
	jmp	.L5
.L14:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	pxa3xx_get_clk_frequency_khz, .-pxa3xx_get_clk_frequency_khz
	.comm	get_freq_khz,8,8
	.comm	KHz,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_clk-pxa3xx.c_pxa3xx_get_clk_frequency_khz.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"RO Mode clock: %ld.%02ldMHz\012\000"
	.align	2
.LC1:
	.ascii	"Run Mode clock: %ld.%02ldMHz\012\000"
	.align	2
.LC2:
	.ascii	"Turbo Mode clock: %ld.%02ldMHz\012\000"
	.align	2
.LC3:
	.ascii	"System bus clock: %ld.%02ldMHz\012\000"
	.global	__aeabi_uidiv
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC4:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	pxa3xx_get_clk_frequency_khz
	.syntax unified
	.arm
	.fpu softvfp
	.type	pxa3xx_get_clk_frequency_khz, %function
pxa3xx_get_clk_frequency_khz:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, lr}
	mov	r4, #0
	ldr	r3, .L16
	sub	sp, sp, #24
	mov	r9, r0
	ldr	r3, [r3]
	str	r3, [sp, #20]
	mov	r3,#0
	mov	r8, r4
	mov	r6, sp
	ldr	r7, .L16+4
.L4:
	ldr	r3, [r7]
	mov	r0, #0
	ldr	r1, [r3, r4]
	bl	clk_get
	mov	r5, r0
	bl	IS_ERR
	cmp	r0, #0
	strne	r8, [r6]
	beq	.L13
.L3:
	add	r4, r4, #4
	cmp	r4, #20
	add	r6, r6, #4
	bne	.L4
	cmp	r9, #0
	ldr	r5, [sp]
	bne	.L14
.L5:
	ldr	r3, .L16+8
	mov	r0, r5
	ldr	r1, [r3]
	bl	__aeabi_uidiv
	ldr	r3, .L16
	ldr	r2, [r3]
	ldr	r3, [sp, #20]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L15
	add	sp, sp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, pc}
.L13:
	mov	r0, r5
	bl	clk_get_rate
	mov	r3, r0
	mov	r0, r5
	str	r3, [r6]
	bl	clk_put
	b	.L3
.L14:
	ldr	r4, .L16+12
	ldr	r8, [sp, #4]
	umull	r2, r3, r4, r5
	lsr	r3, r3, #18
	rsb	r2, r3, r3, lsl #5
	rsb	r2, r2, r2, lsl #6
	ldr	r6, .L16+16
	add	r2, r3, r2, lsl #3
	sub	r2, r5, r2, lsl #6
	umull	r3, r9, r4, r8
	umull	r3, r2, r6, r2
	lsr	r9, r9, #18
	mov	r1, r9
	lsr	r2, r2, #13
	ldr	r0, .L16+20
	bl	pr_info
	rsb	r3, r9, r9, lsl #5
	rsb	r3, r3, r3, lsl #6
	ldr	r10, [sp, #8]
	add	r9, r9, r3, lsl #3
	sub	r9, r8, r9, lsl #6
	umull	r3, r7, r4, r10
	umull	r3, r2, r6, r9
	lsr	r7, r7, #18
	mov	r1, r7
	lsr	r2, r2, #13
	ldr	r0, .L16+24
	bl	pr_info
	rsb	r3, r7, r7, lsl #5
	rsb	r3, r3, r3, lsl #6
	add	r7, r7, r3, lsl #3
	ldr	r1, [sp, #12]
	sub	r7, r10, r7, lsl #6
	umull	r3, r2, r6, r7
	umull	r3, r1, r4, r1
	lsr	r2, r2, #13
	lsr	r1, r1, #18
	ldr	r0, .L16+28
	bl	pr_info
	ldr	r3, [sp, #16]
	ldr	r0, .L16+32
	umull	r2, r1, r4, r3
	lsr	r1, r1, #18
	rsb	r2, r1, r1, lsl #5
	rsb	r2, r2, r2, lsl #6
	add	r2, r1, r2, lsl #3
	sub	r3, r3, r2, lsl #6
	umull	ip, r2, r6, r3
	lsr	r2, r2, #13
	bl	pr_info
	b	.L5
.L15:
	bl	__stack_chk_fail
.L17:
	.align	2
.L16:
	.word	.LC4
	.word	get_freq_khz
	.word	KHz
	.word	1125899907
	.word	-776530087
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.size	pxa3xx_get_clk_frequency_khz, .-pxa3xx_get_clk_frequency_khz
	.comm	get_freq_khz,4,4
	.comm	KHz,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
