	.file	"extr_intel_pm.c_intel_init_emon.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"bad pxval: %ld\n"
	.text
	.p2align 4
	.type	intel_init_emon, @function
intel_init_emon:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	xor	esi, esi
	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
	xor	ebx, ebx
	sub	rsp, 104
	.cfi_def_cfa_offset 160
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 88[rsp], rax
	xor	eax, eax
	mov	rax, QWORD PTR [rdi]
	mov	rdi, QWORD PTR ECR[rip]
	mov	QWORD PTR 8[rsp], rax
	call	I915_WRITE@PLT
	mov	rdi, QWORD PTR ECR[rip]
	call	POSTING_READ@PLT
	mov	rdi, QWORD PTR SDEW[rip]
	mov	esi, 352587008
	call	I915_WRITE@PLT
	mov	rdi, QWORD PTR CSIEW0[rip]
	mov	esi, 8323072
	call	I915_WRITE@PLT
	mov	rdi, QWORD PTR CSIEW1[rip]
	mov	esi, 505544708
	call	I915_WRITE@PLT
	mov	rdi, QWORD PTR CSIEW2[rip]
	mov	esi, 67108868
	call	I915_WRITE@PLT
.L2:
	mov	rdi, QWORD PTR PEW[rip]
	xor	esi, esi
	add	rdi, rbx
	add	rbx, 4
	call	I915_WRITE@PLT
	cmp	rbx, 20
	jne	.L2
	xor	esi, esi
	xor	r15d, r15d
	lea	rbx, 16[rsp]
	mov	ebp, 3716121599
	mov	rdi, QWORD PTR DEW[rip]
	movabs	r13, 2361183241434822607
	movabs	r12, 166563446051574345
	call	I915_WRITE@PLT
	mov	rax, QWORD PTR DEW[rip]
	xor	esi, esi
	lea	rdi, 4[rax]
	call	I915_WRITE@PLT
	mov	rax, QWORD PTR DEW[rip]
	xor	esi, esi
	lea	rdi, 8[rax]
	call	I915_WRITE@PLT
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L3:
	mov	DWORD PTR [rbx+r15], r14d
	add	r15, 4
	cmp	r15, 64
	je	.L14
.L4:
	mov	rdi, QWORD PTR PXVFREQ_BASE[rip]
	add	rdi, r15
	call	I915_READ@PLT
	mov	edi, eax
	mov	r14d, eax
	call	intel_pxfreq@PLT
	mov	edx, DWORD PTR PXVFREQ_PX_MASK[rip]
	mov	ecx, DWORD PTR PXVFREQ_PX_SHIFT[rip]
	shr	rax, 3
	and	edx, r14d
	sar	edx, cl
	movsx	rcx, edx
	mul	r13
	shr	rdx, 4
	imul	rdx, rcx
	imul	rdx, rcx
	mov	rcx, rdx
	sal	rcx, 8
	sub	rcx, rdx
	mov	rax, rcx
	mul	r12
	shr	rdx, 17
	mov	r14, rdx
	cmp	rcx, rbp
	jbe	.L3
	mov	rsi, rdx
	lea	rdi, .LC0[rip]
	call	DRM_ERROR@PLT
	mov	DWORD PTR [rbx+r15], r14d
	add	r15, 4
	cmp	r15, 64
	jne	.L4
.L14:
	mov	QWORD PTR 72[rsp], 0
	xor	ebp, ebp
.L5:
	mov	esi, DWORD PTR [rbx]
	mov	eax, DWORD PTR 4[rbx]
	add	rbx, 16
	mov	rdi, QWORD PTR PXW[rip]
	sal	eax, 16
	sal	esi, 24
	or	esi, eax
	mov	eax, DWORD PTR -8[rbx]
	or	esi, DWORD PTR -4[rbx]
	add	rdi, rbp
	add	rbp, 4
	sal	eax, 8
	or	esi, eax
	call	I915_WRITE@PLT
	cmp	rbp, 16
	jne	.L5
	mov	rdi, QWORD PTR OGW0[rip]
	xor	esi, esi
	xor	ebx, ebx
	call	I915_WRITE@PLT
	mov	rdi, QWORD PTR OGW1[rip]
	xor	esi, esi
	call	I915_WRITE@PLT
	mov	rdi, QWORD PTR EG0[rip]
	mov	esi, 32512
	call	I915_WRITE@PLT
	mov	rdi, QWORD PTR EG1[rip]
	mov	esi, 14
	call	I915_WRITE@PLT
	mov	rdi, QWORD PTR EG2[rip]
	mov	esi, 917504
	call	I915_WRITE@PLT
	mov	rdi, QWORD PTR EG3[rip]
	mov	esi, 1744831232
	call	I915_WRITE@PLT
	mov	rdi, QWORD PTR EG4[rip]
	mov	esi, 1107296256
	call	I915_WRITE@PLT
	mov	rdi, QWORD PTR EG5[rip]
	mov	esi, 1310769
	call	I915_WRITE@PLT
	mov	rdi, QWORD PTR EG6[rip]
	xor	esi, esi
	call	I915_WRITE@PLT
	mov	rdi, QWORD PTR EG7[rip]
	xor	esi, esi
	call	I915_WRITE@PLT
	.p2align 4,,10
	.p2align 3
.L6:
	mov	rdi, QWORD PTR PXWL[rip]
	xor	esi, esi
	add	rdi, rbx
	add	rbx, 4
	call	I915_WRITE@PLT
	cmp	rbx, 32
	jne	.L6
	mov	rdi, QWORD PTR ECR[rip]
	mov	esi, -2147483623
	call	I915_WRITE@PLT
	mov	rdi, QWORD PTR LCFUSE02[rip]
	call	I915_READ@PLT
	mov	rbx, QWORD PTR 8[rsp]
	and	eax, DWORD PTR LCFUSE_HIV_MASK[rip]
	mov	DWORD PTR [rbx], eax
	mov	rax, QWORD PTR 88[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L15
	add	rsp, 104
	.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
.L15:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	intel_init_emon, .-intel_init_emon
	.comm	SDEW,8,8
	.comm	PXWL,8,8
	.comm	PXW,8,8
	.comm	PXVFREQ_PX_SHIFT,4,4
	.comm	PXVFREQ_PX_MASK,4,4
	.comm	PXVFREQ_BASE,8,8
	.comm	PEW,8,8
	.comm	OGW1,8,8
	.comm	OGW0,8,8
	.comm	LCFUSE_HIV_MASK,4,4
	.comm	LCFUSE02,8,8
	.comm	EG7,8,8
	.comm	EG6,8,8
	.comm	EG5,8,8
	.comm	EG4,8,8
	.comm	EG3,8,8
	.comm	EG2,8,8
	.comm	EG1,8,8
	.comm	EG0,8,8
	.comm	ECR,8,8
	.comm	DEW,8,8
	.comm	CSIEW2,8,8
	.comm	CSIEW1,8,8
	.comm	CSIEW0,8,8
	.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_intel_pm.c_intel_init_emon.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"bad pxval: %ld\012\000"
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	intel_init_emon, %function
intel_init_emon:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 0, uses_anonymous_args = 0
	mov	r3, r0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	ldr	r3, [r3]
	sub	sp, sp, #84
	ldr	r4, .L16
	str	r3, [sp, #4]
	ldr	r3, .L16+4
	mov	r1, #0
	ldr	r0, [r4]
	ldr	r3, [r3]
	str	r3, [sp, #76]
	mov	r3,#0
	bl	I915_WRITE
	ldr	r0, [r4]
	bl	POSTING_READ
	ldr	r3, .L16+8
	ldr	r1, .L16+12
	ldr	r0, [r3]
	bl	I915_WRITE
	ldr	r3, .L16+16
	mov	r1, #8323072
	ldr	r0, [r3]
	bl	I915_WRITE
	ldr	r3, .L16+20
	ldr	r1, .L16+24
	ldr	r0, [r3]
	bl	I915_WRITE
	ldr	r3, .L16+28
	ldr	r1, .L16+32
	ldr	r0, [r3]
	bl	I915_WRITE
	mov	r4, #0
	ldr	r5, .L16+36
.L2:
	ldr	r0, [r5]
	mov	r1, #0
	add	r0, r4, r0
	add	r4, r4, #4
	bl	I915_WRITE
	cmp	r4, #20
	bne	.L2
	ldr	r4, .L16+40
	mov	r1, #0
	ldr	r0, [r4]
	bl	I915_WRITE
	ldr	r0, [r4]
	mov	r1, #0
	add	r0, r0, #4
	bl	I915_WRITE
	ldr	r0, [r4]
	mov	r1, #0
	add	r0, r0, #8
	add	r5, sp, #12
	bl	I915_WRITE
	mov	r4, r5
	mov	fp, #0
	ldr	r10, .L16+44
	ldr	r9, .L16+48
	ldr	r8, .L16+52
	ldr	r7, .L16+56
	b	.L4
.L3:
	add	fp, fp, #4
	cmp	fp, #64
	str	r6, [r4], #4
	beq	.L14
.L4:
	ldr	r0, [r10]
	add	r0, fp, r0
	bl	I915_READ
	mov	r6, r0
	bl	intel_pxfreq
	mov	r3, r0
	umull	r2, r3, r7, r3
	ldr	r0, [r9]
	ldr	r2, [r8]
	and	r0, r0, r6
	asr	r0, r0, r2
	lsr	r3, r3, #6
	mul	r3, r0, r3
	mul	r3, r0, r3
	ldr	r6, .L16+60
	rsb	r3, r3, r3, lsl #8
	umull	r2, r6, r3, r6
	ldr	r2, .L16+64
	lsr	r6, r6, #23
	cmp	r3, r2
	bls	.L3
	mov	r1, r6
	ldr	r0, .L16+68
	add	fp, fp, #4
	bl	DRM_ERROR
	cmp	fp, #64
	str	r6, [r4], #4
	bne	.L4
.L14:
	mov	r3, #0
	mov	r4, r3
	ldr	r6, .L16+72
	str	r3, [sp, #68]
	str	r3, [sp, #72]
.L5:
	ldm	r5, {r1, r3}
	ldr	r2, [r5, #12]
	lsl	r3, r3, #16
	ldr	r0, [r6]
	orr	r3, r3, r1, lsl #24
	ldr	r1, [r5, #8]
	orr	r3, r3, r2
	add	r0, r4, r0
	orr	r1, r3, r1, lsl #8
	add	r4, r4, #4
	bl	I915_WRITE
	cmp	r4, #16
	add	r5, r5, #16
	bne	.L5
	ldr	r3, .L16+76
	mov	r1, #0
	ldr	r0, [r3]
	bl	I915_WRITE
	ldr	r3, .L16+80
	mov	r1, #0
	ldr	r0, [r3]
	bl	I915_WRITE
	ldr	r3, .L16+84
	mov	r1, #32512
	ldr	r0, [r3]
	bl	I915_WRITE
	ldr	r3, .L16+88
	mov	r1, #14
	ldr	r0, [r3]
	bl	I915_WRITE
	ldr	r3, .L16+92
	mov	r1, #917504
	ldr	r0, [r3]
	bl	I915_WRITE
	ldr	r3, .L16+96
	ldr	r1, .L16+100
	ldr	r0, [r3]
	bl	I915_WRITE
	ldr	r3, .L16+104
	mov	r1, #1107296256
	ldr	r0, [r3]
	bl	I915_WRITE
	ldr	r3, .L16+108
	ldr	r1, .L16+112
	ldr	r0, [r3]
	bl	I915_WRITE
	ldr	r3, .L16+116
	mov	r1, #0
	ldr	r0, [r3]
	bl	I915_WRITE
	ldr	r3, .L16+120
	mov	r1, #0
	ldr	r0, [r3]
	bl	I915_WRITE
	mov	r4, #0
	ldr	r5, .L16+124
.L6:
	ldr	r0, [r5]
	mov	r1, #0
	add	r0, r4, r0
	add	r4, r4, #4
	bl	I915_WRITE
	cmp	r4, #32
	bne	.L6
	ldr	r3, .L16
	mov	r1, #-2147483623
	ldr	r0, [r3]
	bl	I915_WRITE
	ldr	r3, .L16+128
	ldr	r0, [r3]
	bl	I915_READ
	ldr	r3, .L16+132
	ldr	r2, [sp, #4]
	ldr	r3, [r3]
	and	r3, r3, r0
	str	r3, [r2]
	ldr	r3, .L16+4
	ldr	r2, [r3]
	ldr	r3, [sp, #76]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L15
	add	sp, sp, #84
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L15:
	bl	__stack_chk_fail
.L17:
	.align	2
.L16:
	.word	ECR
	.word	.LC1
	.word	SDEW
	.word	352587008
	.word	CSIEW0
	.word	CSIEW1
	.word	505544708
	.word	CSIEW2
	.word	67108868
	.word	PEW
	.word	DEW
	.word	PXVFREQ_BASE
	.word	PXVFREQ_PX_MASK
	.word	PXVFREQ_PX_SHIFT
	.word	274877907
	.word	-1812978537
	.word	-578845697
	.word	.LC0
	.word	PXW
	.word	OGW0
	.word	OGW1
	.word	EG0
	.word	EG1
	.word	EG2
	.word	EG3
	.word	1744831232
	.word	EG4
	.word	EG5
	.word	1310769
	.word	EG6
	.word	EG7
	.word	PXWL
	.word	LCFUSE02
	.word	LCFUSE_HIV_MASK
	.size	intel_init_emon, .-intel_init_emon
	.comm	SDEW,4,4
	.comm	PXWL,4,4
	.comm	PXW,4,4
	.comm	PXVFREQ_PX_SHIFT,4,4
	.comm	PXVFREQ_PX_MASK,4,4
	.comm	PXVFREQ_BASE,4,4
	.comm	PEW,4,4
	.comm	OGW1,4,4
	.comm	OGW0,4,4
	.comm	LCFUSE_HIV_MASK,4,4
	.comm	LCFUSE02,4,4
	.comm	EG7,4,4
	.comm	EG6,4,4
	.comm	EG5,4,4
	.comm	EG4,4,4
	.comm	EG3,4,4
	.comm	EG2,4,4
	.comm	EG1,4,4
	.comm	EG0,4,4
	.comm	ECR,4,4
	.comm	DEW,4,4
	.comm	CSIEW2,4,4
	.comm	CSIEW1,4,4
	.comm	CSIEW0,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
