	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_intel_update_max_cdclk         ## -- Begin function intel_update_max_cdclk
	.p2align	4, 0x90
_intel_update_max_cdclk:                ## @intel_update_max_cdclk
	.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	%rbx
	pushq	%rax
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %rbx
	callq	_IS_ELKHARTLAKE
	testq	%rax, %rax
	je	LBB0_3
## %bb.1:
	cmpl	$24000, 12(%rbx)                ## imm = 0x5DC0
	jne	LBB0_6
## %bb.2:
	movl	$552000, (%rbx)                 ## imm = 0x86C40
	jmp	LBB0_20
LBB0_3:
	movq	%rbx, %rdi
	callq	_INTEL_GEN
	cmpl	$11, %eax
	jl	LBB0_7
## %bb.4:
	cmpl	$24000, 12(%rbx)                ## imm = 0x5DC0
	jne	LBB0_9
## %bb.5:
	movl	$648000, (%rbx)                 ## imm = 0x9E340
	jmp	LBB0_20
LBB0_6:
	movl	$556800, (%rbx)                 ## imm = 0x87F00
	jmp	LBB0_20
LBB0_7:
	movq	%rbx, %rdi
	callq	_IS_CANNONLAKE
	testq	%rax, %rax
	je	LBB0_10
## %bb.8:
	movl	$528000, (%rbx)                 ## imm = 0x80E80
	jmp	LBB0_20
LBB0_9:
	movl	$652800, (%rbx)                 ## imm = 0x9F600
	jmp	LBB0_20
LBB0_10:
	movq	%rbx, %rdi
	callq	_IS_GEN9_BC
	testq	%rax, %rax
	je	LBB0_16
## %bb.11:
	movq	_SKL_DFSM@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_I915_READ
	movq	_SKL_DFSM_CDCLK_LIMIT_MASK@GOTPCREL(%rip), %rcx
	andl	(%rcx), %eax
	movslq	%eax, %r15
	movl	4(%rbx), %r14d
	cmpl	$8100000, %r14d                 ## imm = 0x7B98A0
	setne	%al
	cmpl	$8640000, %r14d                 ## imm = 0x83D600
	setne	%cl
	andb	%al, %cl
	movzbl	%cl, %edi
	callq	_WARN_ON
	movq	_SKL_DFSM_CDCLK_LIMIT_675@GOTPCREL(%rip), %rax
	movl	$617143, %edi                   ## imm = 0x96AB7
	cmpq	%r15, (%rax)
	je	LBB0_14
## %bb.12:
	movq	_SKL_DFSM_CDCLK_LIMIT_540@GOTPCREL(%rip), %rax
	movl	$540000, %edi                   ## imm = 0x83D60
	cmpq	%r15, (%rax)
	je	LBB0_14
## %bb.13:
	movq	_SKL_DFSM_CDCLK_LIMIT_450@GOTPCREL(%rip), %rax
	cmpq	%r15, (%rax)
	movl	$432000, %eax                   ## imm = 0x69780
	movl	$308571, %edi                   ## imm = 0x4B55B
	cmovel	%eax, %edi
LBB0_14:
	movl	%r14d, %esi
	callq	_skl_calc_cdclk
LBB0_15:
	movl	%eax, (%rbx)
	jmp	LBB0_20
LBB0_16:
	movq	%rbx, %rdi
	callq	_IS_GEMINILAKE
	testq	%rax, %rax
	je	LBB0_18
## %bb.17:
	movl	$316800, (%rbx)                 ## imm = 0x4D580
	jmp	LBB0_20
LBB0_18:
	movq	%rbx, %rdi
	callq	_IS_BROXTON
	testq	%rax, %rax
	je	LBB0_21
## %bb.19:
	movl	$624000, (%rbx)                 ## imm = 0x98580
	jmp	LBB0_20
LBB0_21:
	movq	%rbx, %rdi
	callq	_IS_BROADWELL
	testq	%rax, %rax
	je	LBB0_24
## %bb.22:
	movq	_FUSE_STRAP@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_I915_READ
	movq	_HSW_CDCLK_LIMIT@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	jne	LBB0_23
## %bb.26:
	movq	%rbx, %rdi
	callq	_IS_BDW_ULX
	testq	%rax, %rax
	je	LBB0_30
LBB0_23:
	movl	$450000, (%rbx)                 ## imm = 0x6DDD0
	jmp	LBB0_20
LBB0_24:
	movq	%rbx, %rdi
	callq	_IS_CHERRYVIEW
	testq	%rax, %rax
	je	LBB0_28
## %bb.25:
	movl	$320000, (%rbx)                 ## imm = 0x4E200
	jmp	LBB0_20
LBB0_28:
	movq	%rbx, %rdi
	callq	_IS_VALLEYVIEW
	testq	%rax, %rax
	je	LBB0_32
## %bb.29:
	movl	$400000, (%rbx)                 ## imm = 0x61A80
	jmp	LBB0_20
LBB0_30:
	movq	%rbx, %rdi
	callq	_IS_BDW_ULT
	testq	%rax, %rax
	je	LBB0_33
## %bb.31:
	movl	$540000, (%rbx)                 ## imm = 0x83D60
	jmp	LBB0_20
LBB0_32:
	movl	16(%rbx), %eax
	jmp	LBB0_15
LBB0_33:
	movl	$675000, (%rbx)                 ## imm = 0xA4CB8
LBB0_20:
	movq	%rbx, %rdi
	callq	_intel_compute_max_dotclk
	movl	%eax, 8(%rbx)
	movl	(%rbx), %esi
	leaq	L_.str(%rip), %rdi
	callq	_DRM_DEBUG_DRIVER
	movl	8(%rbx), %esi
	leaq	L_.str.1(%rip), %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_DRM_DEBUG_DRIVER               ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_SKL_DFSM,4,2                   ## @SKL_DFSM
	.comm	_SKL_DFSM_CDCLK_LIMIT_MASK,4,2  ## @SKL_DFSM_CDCLK_LIMIT_MASK
	.comm	_SKL_DFSM_CDCLK_LIMIT_675,8,3   ## @SKL_DFSM_CDCLK_LIMIT_675
	.comm	_SKL_DFSM_CDCLK_LIMIT_540,8,3   ## @SKL_DFSM_CDCLK_LIMIT_540
	.comm	_SKL_DFSM_CDCLK_LIMIT_450,8,3   ## @SKL_DFSM_CDCLK_LIMIT_450
	.comm	_FUSE_STRAP,4,2                 ## @FUSE_STRAP
	.comm	_HSW_CDCLK_LIMIT,4,2            ## @HSW_CDCLK_LIMIT
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Max CD clock rate: %d kHz\n"

L_.str.1:                               ## @.str.1
	.asciz	"Max dotclock rate: %d kHz\n"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_intel_update_max_cdclk         ; -- Begin function intel_update_max_cdclk
	.p2align	2
_intel_update_max_cdclk:                ; @intel_update_max_cdclk
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.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
	mov	x19, x0
	bl	_IS_ELKHARTLAKE
	cbz	x0, LBB0_3
; %bb.1:
	ldr	w8, [x19, #12]
	mov	w9, #24000
	cmp	w8, w9
	b.ne	LBB0_6
; %bb.2:
	mov	w8, #27712
	movk	w8, #8, lsl #16
	b	LBB0_11
LBB0_3:
	mov	x0, x19
	bl	_INTEL_GEN
	cmp	w0, #11
	b.lt	LBB0_7
; %bb.4:
	ldr	w8, [x19, #12]
	mov	w9, #24000
	cmp	w8, w9
	b.ne	LBB0_9
; %bb.5:
	mov	w8, #58176
	b	LBB0_10
LBB0_6:
	mov	w8, #32512
	movk	w8, #8, lsl #16
	b	LBB0_11
LBB0_7:
	mov	x0, x19
	bl	_IS_CANNONLAKE
	cbz	x0, LBB0_13
; %bb.8:
	mov	w8, #3712
	movk	w8, #8, lsl #16
	b	LBB0_11
LBB0_9:
	mov	w8, #62976
LBB0_10:
	movk	w8, #9, lsl #16
LBB0_11:
	str	w8, [x19]
LBB0_12:
	mov	x0, x19
	bl	_intel_compute_max_dotclk
	str	w0, [x19, #8]
	ldr	w1, [x19]
Lloh0:
	adrp	x0, l_.str@PAGE
Lloh1:
	add	x0, x0, l_.str@PAGEOFF
	bl	_DRM_DEBUG_DRIVER
	ldr	w1, [x19, #8]
Lloh2:
	adrp	x0, l_.str.1@PAGE
Lloh3:
	add	x0, x0, l_.str.1@PAGEOFF
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_DRM_DEBUG_DRIVER
LBB0_13:
	mov	x0, x19
	bl	_IS_GEN9_BC
	cbz	x0, LBB0_16
; %bb.14:
Lloh4:
	adrp	x8, _SKL_DFSM@GOTPAGE
Lloh5:
	ldr	x8, [x8, _SKL_DFSM@GOTPAGEOFF]
Lloh6:
	ldr	w0, [x8]
	bl	_I915_READ
Lloh7:
	adrp	x8, _SKL_DFSM_CDCLK_LIMIT_MASK@GOTPAGE
Lloh8:
	ldr	x8, [x8, _SKL_DFSM_CDCLK_LIMIT_MASK@GOTPAGEOFF]
Lloh9:
	ldr	w8, [x8]
	and	w8, w8, w0
	sxtw	x21, w8
	ldr	w20, [x19, #4]
	mov	w8, #39072
	movk	w8, #123, lsl #16
	cmp	w20, w8
	mov	w8, #54784
	movk	w8, #131, lsl #16
	ccmp	w20, w8, #4, ne
	cset	w0, ne
	bl	_WARN_ON
Lloh10:
	adrp	x8, _SKL_DFSM_CDCLK_LIMIT_675@GOTPAGE
Lloh11:
	ldr	x8, [x8, _SKL_DFSM_CDCLK_LIMIT_675@GOTPAGEOFF]
Lloh12:
	ldr	x8, [x8]
	cmp	x8, x21
	b.ne	LBB0_18
; %bb.15:
	mov	w0, #27319
	movk	w0, #9, lsl #16
	b	LBB0_21
LBB0_16:
	mov	x0, x19
	bl	_IS_GEMINILAKE
	cbz	x0, LBB0_22
; %bb.17:
	mov	w8, #54656
	movk	w8, #4, lsl #16
	b	LBB0_11
LBB0_18:
Lloh13:
	adrp	x8, _SKL_DFSM_CDCLK_LIMIT_540@GOTPAGE
Lloh14:
	ldr	x8, [x8, _SKL_DFSM_CDCLK_LIMIT_540@GOTPAGEOFF]
Lloh15:
	ldr	x8, [x8]
	cmp	x8, x21
	b.ne	LBB0_20
; %bb.19:
	mov	w0, #15712
	movk	w0, #8, lsl #16
	b	LBB0_21
LBB0_20:
Lloh16:
	adrp	x8, _SKL_DFSM_CDCLK_LIMIT_450@GOTPAGE
Lloh17:
	ldr	x8, [x8, _SKL_DFSM_CDCLK_LIMIT_450@GOTPAGEOFF]
Lloh18:
	ldr	x8, [x8]
	cmp	x8, x21
	mov	w8, #46427
	movk	w8, #4, lsl #16
	mov	w9, #38784
	movk	w9, #6, lsl #16
	csel	w0, w9, w8, eq
LBB0_21:
	mov	x1, x20
	bl	_skl_calc_cdclk
	str	w0, [x19]
	b	LBB0_12
LBB0_22:
	mov	x0, x19
	bl	_IS_BROXTON
	cbz	x0, LBB0_24
; %bb.23:
	mov	w8, #34176
	b	LBB0_10
LBB0_24:
	mov	x0, x19
	bl	_IS_BROADWELL
	cbz	x0, LBB0_28
; %bb.25:
Lloh19:
	adrp	x8, _FUSE_STRAP@GOTPAGE
Lloh20:
	ldr	x8, [x8, _FUSE_STRAP@GOTPAGEOFF]
Lloh21:
	ldr	w0, [x8]
	bl	_I915_READ
Lloh22:
	adrp	x8, _HSW_CDCLK_LIMIT@GOTPAGE
Lloh23:
	ldr	x8, [x8, _HSW_CDCLK_LIMIT@GOTPAGEOFF]
Lloh24:
	ldr	w8, [x8]
	tst	w8, w0
	b.ne	LBB0_27
; %bb.26:
	mov	x0, x19
	bl	_IS_BDW_ULX
	cbz	x0, LBB0_32
LBB0_27:
	mov	w8, #56784
	movk	w8, #6, lsl #16
	b	LBB0_11
LBB0_28:
	mov	x0, x19
	bl	_IS_CHERRYVIEW
	cbz	x0, LBB0_30
; %bb.29:
	mov	w8, #54656
	movk	w8, #4, lsl #16
	add	w8, w8, #3200
	b	LBB0_11
LBB0_30:
	mov	x0, x19
	bl	_IS_VALLEYVIEW
	cbz	x0, LBB0_34
; %bb.31:
	mov	w8, #6784
	movk	w8, #6, lsl #16
	b	LBB0_11
LBB0_32:
	mov	x0, x19
	bl	_IS_BDW_ULT
	cbz	x0, LBB0_35
; %bb.33:
	mov	w8, #15712
	movk	w8, #8, lsl #16
	b	LBB0_11
LBB0_34:
	ldr	w8, [x19, #16]
	b	LBB0_11
LBB0_35:
	mov	w8, #19640
	movk	w8, #10, lsl #16
	b	LBB0_11
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.cfi_endproc
                                        ; -- End function
	.comm	_SKL_DFSM,4,2                   ; @SKL_DFSM
	.comm	_SKL_DFSM_CDCLK_LIMIT_MASK,4,2  ; @SKL_DFSM_CDCLK_LIMIT_MASK
	.comm	_SKL_DFSM_CDCLK_LIMIT_675,8,3   ; @SKL_DFSM_CDCLK_LIMIT_675
	.comm	_SKL_DFSM_CDCLK_LIMIT_540,8,3   ; @SKL_DFSM_CDCLK_LIMIT_540
	.comm	_SKL_DFSM_CDCLK_LIMIT_450,8,3   ; @SKL_DFSM_CDCLK_LIMIT_450
	.comm	_FUSE_STRAP,4,2                 ; @FUSE_STRAP
	.comm	_HSW_CDCLK_LIMIT,4,2            ; @HSW_CDCLK_LIMIT
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Max CD clock rate: %d kHz\n"

l_.str.1:                               ; @.str.1
	.asciz	"Max dotclock rate: %d kHz\n"

.subsections_via_symbols
