	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_nouveau_display_create         ## -- Begin function nouveau_display_create
	.p2align	4, 0x90
_nouveau_display_create:                ## @nouveau_display_create
	.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	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r12
	callq	_nouveau_drm
	movq	%rax, %r15
	movq	56(%r12), %rax
	movl	(%rax), %ebx
	movq	_GFP_KERNEL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	$56, %edi
	callq	_kzalloc
	movq	%rax, 8(%r15)
	testq	%rax, %rax
	je	LBB0_1
## %bb.2:
	movq	%rax, %r14
	movl	%ebx, -44(%rbp)                 ## 4-byte Spill
	movq	%r12, %rdi
	callq	_drm_mode_config_init
	movq	%r12, %rdi
	callq	_drm_mode_create_scaling_mode_property
	movq	%r12, %rdi
	callq	_drm_mode_create_dvi_i_properties
	movl	(%r15), %edi
	callq	_nv_device
	movq	(%rax), %rcx
	movq	_NV_50@GOTPCREL(%rip), %rax
	movq	(%rax), %r13
	xorl	%ebx, %ebx
	movq	%rcx, -56(%rbp)                 ## 8-byte Spill
	cmpq	%r13, %rcx
	jl	LBB0_4
## %bb.3:
	movl	(%r15), %edi
	callq	_nv_device
	movq	(%rax), %rax
	movq	_NV_D0@GOTPCREL(%rip), %rcx
	xorl	%edx, %edx
	cmpq	(%rcx), %rax
	setl	%dl
	movl	$2, %ebx
	subl	%edx, %ebx
LBB0_4:
	movl	48(%r14), %edi
	movq	_dither_mode@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	leaq	L_.str(%rip), %rdx
	movl	%ebx, %esi
	callq	_PROP_ENUM
	movl	44(%r14), %edi
	movq	_dither_depth@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	leaq	L_.str.1(%rip), %rdx
	movl	%ebx, %esi
	callq	_PROP_ENUM
	movl	40(%r14), %edi
	movq	_underscan@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	leaq	L_.str.2(%rip), %rdx
	movl	%ebx, %esi
	callq	_PROP_ENUM
	leaq	L_.str.3(%rip), %rdx
	movq	%r12, %rdi
	xorl	%esi, %esi
	xorl	%ecx, %ecx
	movl	$128, %r8d
	callq	_drm_property_create_range
	movq	%rax, 32(%r14)
	leaq	L_.str.4(%rip), %rdx
	movq	%r12, %rdi
	xorl	%esi, %esi
	xorl	%ecx, %ecx
	movl	$128, %r8d
	callq	_drm_property_create_range
	movq	%rax, 24(%r14)
	cmpq	%r13, -56(%rbp)                 ## 8-byte Folded Reload
	jl	LBB0_6
## %bb.5:
	leaq	L_.str.5(%rip), %rdx
	movq	%r12, %rdi
	xorl	%esi, %esi
	xorl	%ecx, %ecx
	movl	$180, %r8d
	callq	_drm_property_create_range
	movq	%rax, 16(%r14)
	leaq	L_.str.6(%rip), %rdx
	movq	%r12, %rdi
	xorl	%esi, %esi
	xorl	%ecx, %ecx
	movl	$200, %r8d
	callq	_drm_property_create_range
	movq	%rax, 8(%r14)
LBB0_6:
	movq	_nouveau_mode_config_funcs@GOTPCREL(%rip), %rax
	movq	%rax, 48(%r12)
	movq	56(%r12), %rdi
	movl	$1, %esi
	callq	_pci_resource_start
	movl	%eax, 40(%r12)
	xorps	%xmm0, %xmm0
	movups	%xmm0, 24(%r12)
	movl	(%r15), %edi
	callq	_nv_device
	movq	(%rax), %rax
	movq	_NV_10@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	movq	_NV_50@GOTPCREL(%rip), %r13
	jge	LBB0_8
## %bb.7:
	movl	$2048, (%r12)                   ## imm = 0x800
	movl	$2048, %eax                     ## imm = 0x800
	jmp	LBB0_11
LBB0_1:
	movq	_ENOMEM@GOTPCREL(%rip), %rax
	xorl	%ebx, %ebx
	subl	(%rax), %ebx
	jmp	LBB0_23
LBB0_8:
	movl	(%r15), %edi
	callq	_nv_device
	movq	(%rax), %rax
	cmpq	(%r13), %rax
	jge	LBB0_10
## %bb.9:
	movl	$4096, (%r12)                   ## imm = 0x1000
	movl	$4096, %eax                     ## imm = 0x1000
	jmp	LBB0_11
LBB0_10:
	movl	$8192, (%r12)                   ## imm = 0x2000
	movl	$8192, %eax                     ## imm = 0x2000
LBB0_11:
	movl	%eax, 4(%r12)
	movabsq	$4294967320, %rax               ## imm = 0x100000018
	movq	%rax, 8(%r12)
	movq	%r12, %rdi
	callq	_drm_kms_helper_poll_init
	movq	%r12, %rdi
	callq	_drm_kms_helper_poll_disable
	movq	_nouveau_modeset@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	cmpl	$1, %eax
	je	LBB0_14
## %bb.12:
	xorl	%ebx, %ebx
	testl	%eax, %eax
	jns	LBB0_23
## %bb.13:
	movl	-44(%rbp), %eax                 ## 4-byte Reload
	sarl	$8, %eax
	cltq
	movq	_PCI_CLASS_DISPLAY_VGA@GOTPCREL(%rip), %rcx
	cmpq	%rax, (%rcx)
	jne	LBB0_23
LBB0_14:
	movl	(%r15), %edi
	callq	_nv_device
	movq	(%rax), %rax
	cmpq	(%r13), %rax
	jge	LBB0_16
## %bb.15:
	movq	%r12, %rdi
	callq	_nv04_display_create
	jmp	LBB0_17
LBB0_16:
	movq	%r12, %rdi
	callq	_nv50_display_create
LBB0_17:
	movl	%eax, %ebx
	testl	%eax, %eax
	jne	LBB0_22
## %bb.18:
	movq	16(%r12), %rsi
	testq	%rsi, %rsi
	je	LBB0_20
## %bb.19:
	movq	%r12, %rdi
	callq	_drm_vblank_init
	testl	%eax, %eax
	je	LBB0_20
## %bb.21:
	movl	%eax, %ebx
	movq	%r12, %rdi
	callq	*(%r14)
LBB0_22:
	movq	%r12, %rdi
	callq	_drm_kms_helper_poll_fini
	movq	%r12, %rdi
	callq	_drm_mode_config_cleanup
	jmp	LBB0_23
LBB0_20:
	movq	%r12, %rdi
	callq	_nouveau_backlight_init
	xorl	%ebx, %ebx
LBB0_23:
	movl	%ebx, %eax
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_GFP_KERNEL,4,2                 ## @GFP_KERNEL
	.comm	_ENOMEM,4,2                     ## @ENOMEM
	.comm	_NV_50,8,3                      ## @NV_50
	.comm	_NV_D0,8,3                      ## @NV_D0
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"dithering mode"

	.comm	_dither_mode,4,2                ## @dither_mode
L_.str.1:                               ## @.str.1
	.asciz	"dithering depth"

	.comm	_dither_depth,4,2               ## @dither_depth
L_.str.2:                               ## @.str.2
	.asciz	"underscan"

	.comm	_underscan,4,2                  ## @underscan
L_.str.3:                               ## @.str.3
	.asciz	"underscan hborder"

L_.str.4:                               ## @.str.4
	.asciz	"underscan vborder"

L_.str.5:                               ## @.str.5
	.asciz	"vibrant hue"

L_.str.6:                               ## @.str.6
	.asciz	"color vibrance"

	.comm	_nouveau_mode_config_funcs,4,2  ## @nouveau_mode_config_funcs
	.comm	_NV_10,8,3                      ## @NV_10
	.comm	_nouveau_modeset,4,2            ## @nouveau_modeset
	.comm	_PCI_CLASS_DISPLAY_VGA,8,3      ## @PCI_CLASS_DISPLAY_VGA
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function nouveau_display_create
lCPI0_0:
	.long	24                              ; 0x18
	.long	1                               ; 0x1
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_nouveau_display_create
	.p2align	2
_nouveau_display_create:                ; @nouveau_display_create
	.cfi_startproc
; %bb.0:
	stp	x26, x25, [sp, #-80]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 80
	stp	x24, x23, [sp, #16]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #32]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #48]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #64]             ; 16-byte Folded Spill
	add	x29, sp, #64
	.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
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	mov	x19, x0
	bl	_nouveau_drm
	mov	x21, x0
	ldr	x8, [x19, #56]
	ldr	w23, [x8]
Lloh0:
	adrp	x8, _GFP_KERNEL@GOTPAGE
Lloh1:
	ldr	x8, [x8, _GFP_KERNEL@GOTPAGEOFF]
Lloh2:
	ldr	w1, [x8]
	mov	w0, #56
	bl	_kzalloc
	str	x0, [x21, #8]
	cbz	x0, LBB0_3
; %bb.1:
	mov	x20, x0
	mov	x0, x19
	bl	_drm_mode_config_init
	mov	x0, x19
	bl	_drm_mode_create_scaling_mode_property
	mov	x0, x19
	bl	_drm_mode_create_dvi_i_properties
	ldr	w0, [x21]
	bl	_nv_device
	ldr	x25, [x0]
Lloh3:
	adrp	x24, _NV_50@GOTPAGE
Lloh4:
	ldr	x24, [x24, _NV_50@GOTPAGEOFF]
	ldr	x26, [x24]
	cmp	x25, x26
	b.ge	LBB0_4
; %bb.2:
	mov	w22, #0
	b	LBB0_5
LBB0_3:
Lloh5:
	adrp	x8, _ENOMEM@GOTPAGE
Lloh6:
	ldr	x8, [x8, _ENOMEM@GOTPAGEOFF]
Lloh7:
	ldr	w8, [x8]
	neg	w22, w8
	b	LBB0_23
LBB0_4:
	ldr	w0, [x21]
	bl	_nv_device
	ldr	x8, [x0]
Lloh8:
	adrp	x9, _NV_D0@GOTPAGE
Lloh9:
	ldr	x9, [x9, _NV_D0@GOTPAGEOFF]
Lloh10:
	ldr	x9, [x9]
	cmp	x8, x9
	mov	w8, #1
	cinc	w22, w8, ge
LBB0_5:
	ldr	w0, [x20, #48]
Lloh11:
	adrp	x8, _dither_mode@GOTPAGE
Lloh12:
	ldr	x8, [x8, _dither_mode@GOTPAGEOFF]
Lloh13:
	ldr	w3, [x8]
Lloh14:
	adrp	x2, l_.str@PAGE
Lloh15:
	add	x2, x2, l_.str@PAGEOFF
	mov	x1, x22
	bl	_PROP_ENUM
	ldr	w0, [x20, #44]
Lloh16:
	adrp	x8, _dither_depth@GOTPAGE
Lloh17:
	ldr	x8, [x8, _dither_depth@GOTPAGEOFF]
Lloh18:
	ldr	w3, [x8]
Lloh19:
	adrp	x2, l_.str.1@PAGE
Lloh20:
	add	x2, x2, l_.str.1@PAGEOFF
	mov	x1, x22
	bl	_PROP_ENUM
	ldr	w0, [x20, #40]
Lloh21:
	adrp	x8, _underscan@GOTPAGE
Lloh22:
	ldr	x8, [x8, _underscan@GOTPAGEOFF]
Lloh23:
	ldr	w3, [x8]
Lloh24:
	adrp	x2, l_.str.2@PAGE
Lloh25:
	add	x2, x2, l_.str.2@PAGEOFF
	mov	x1, x22
	bl	_PROP_ENUM
Lloh26:
	adrp	x2, l_.str.3@PAGE
Lloh27:
	add	x2, x2, l_.str.3@PAGEOFF
	mov	x0, x19
	mov	w1, #0
	mov	w3, #0
	mov	w4, #128
	bl	_drm_property_create_range
	str	x0, [x20, #32]
Lloh28:
	adrp	x2, l_.str.4@PAGE
Lloh29:
	add	x2, x2, l_.str.4@PAGEOFF
	mov	x0, x19
	mov	w1, #0
	mov	w3, #0
	mov	w4, #128
	bl	_drm_property_create_range
	str	x0, [x20, #24]
	cmp	x25, x26
	b.lt	LBB0_7
; %bb.6:
Lloh30:
	adrp	x2, l_.str.5@PAGE
Lloh31:
	add	x2, x2, l_.str.5@PAGEOFF
	mov	x0, x19
	mov	w1, #0
	mov	w3, #0
	mov	w4, #180
	bl	_drm_property_create_range
	str	x0, [x20, #16]
Lloh32:
	adrp	x2, l_.str.6@PAGE
Lloh33:
	add	x2, x2, l_.str.6@PAGEOFF
	mov	x0, x19
	mov	w1, #0
	mov	w3, #0
	mov	w4, #200
	bl	_drm_property_create_range
	str	x0, [x20, #8]
LBB0_7:
Lloh34:
	adrp	x8, _nouveau_mode_config_funcs@GOTPAGE
Lloh35:
	ldr	x8, [x8, _nouveau_mode_config_funcs@GOTPAGEOFF]
	str	x8, [x19, #48]
	ldr	x0, [x19, #56]
	mov	w1, #1
	bl	_pci_resource_start
	str	w0, [x19, #40]
	stp	xzr, xzr, [x19, #24]
	ldr	w0, [x21]
	bl	_nv_device
	ldr	x8, [x0]
Lloh36:
	adrp	x9, _NV_10@GOTPAGE
Lloh37:
	ldr	x9, [x9, _NV_10@GOTPAGEOFF]
Lloh38:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ge	LBB0_9
; %bb.8:
	mov	w8, #2048
	b	LBB0_12
LBB0_9:
	ldr	w0, [x21]
	bl	_nv_device
	ldr	x8, [x0]
	ldr	x9, [x24]
	cmp	x8, x9
	b.ge	LBB0_11
; %bb.10:
	mov	w8, #4096
	b	LBB0_12
LBB0_11:
	mov	w8, #8192
LBB0_12:
	stp	w8, w8, [x19]
Lloh39:
	adrp	x8, lCPI0_0@PAGE
Lloh40:
	ldr	d0, [x8, lCPI0_0@PAGEOFF]
	str	d0, [x19, #8]
	mov	x0, x19
	bl	_drm_kms_helper_poll_init
	mov	x0, x19
	bl	_drm_kms_helper_poll_disable
Lloh41:
	adrp	x8, _nouveau_modeset@GOTPAGE
Lloh42:
	ldr	x8, [x8, _nouveau_modeset@GOTPAGEOFF]
Lloh43:
	ldr	w8, [x8]
	cmp	w8, #1
	b.eq	LBB0_15
; %bb.13:
	mov	w22, #0
	tbz	w8, #31, LBB0_23
; %bb.14:
	sbfx	x8, x23, #8, #24
Lloh44:
	adrp	x9, _PCI_CLASS_DISPLAY_VGA@GOTPAGE
Lloh45:
	ldr	x9, [x9, _PCI_CLASS_DISPLAY_VGA@GOTPAGEOFF]
Lloh46:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_23
LBB0_15:
	ldr	w0, [x21]
	bl	_nv_device
	ldr	x8, [x0]
	ldr	x9, [x24]
	mov	x0, x19
	cmp	x8, x9
	b.ge	LBB0_17
; %bb.16:
	bl	_nv04_display_create
	mov	x22, x0
	cbnz	w0, LBB0_21
	b	LBB0_18
LBB0_17:
	bl	_nv50_display_create
	mov	x22, x0
	cbnz	w0, LBB0_21
LBB0_18:
	ldr	x1, [x19, #16]
	cbz	x1, LBB0_22
; %bb.19:
	mov	x0, x19
	bl	_drm_vblank_init
	cbz	w0, LBB0_22
; %bb.20:
	mov	x22, x0
	ldr	x8, [x20]
	mov	x0, x19
	blr	x8
LBB0_21:
	mov	x0, x19
	bl	_drm_kms_helper_poll_fini
	mov	x0, x19
	bl	_drm_mode_config_cleanup
	b	LBB0_23
LBB0_22:
	mov	x0, x19
	bl	_nouveau_backlight_init
	mov	w22, #0
LBB0_23:
	mov	x0, x22
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #16]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp], #80             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpAdd	Lloh28, Lloh29
	.loh AdrpAdd	Lloh26, Lloh27
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpAdd	Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpAdd	Lloh32, Lloh33
	.loh AdrpAdd	Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGot	Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdr	Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh44, Lloh45, Lloh46
	.cfi_endproc
                                        ; -- End function
	.comm	_GFP_KERNEL,4,2                 ; @GFP_KERNEL
	.comm	_ENOMEM,4,2                     ; @ENOMEM
	.comm	_NV_50,8,3                      ; @NV_50
	.comm	_NV_D0,8,3                      ; @NV_D0
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"dithering mode"

	.comm	_dither_mode,4,2                ; @dither_mode
l_.str.1:                               ; @.str.1
	.asciz	"dithering depth"

	.comm	_dither_depth,4,2               ; @dither_depth
l_.str.2:                               ; @.str.2
	.asciz	"underscan"

	.comm	_underscan,4,2                  ; @underscan
l_.str.3:                               ; @.str.3
	.asciz	"underscan hborder"

l_.str.4:                               ; @.str.4
	.asciz	"underscan vborder"

l_.str.5:                               ; @.str.5
	.asciz	"vibrant hue"

l_.str.6:                               ; @.str.6
	.asciz	"color vibrance"

	.comm	_nouveau_mode_config_funcs,4,2  ; @nouveau_mode_config_funcs
	.comm	_NV_10,8,3                      ; @NV_10
	.comm	_nouveau_modeset,4,2            ; @nouveau_modeset
	.comm	_PCI_CLASS_DISPLAY_VGA,8,3      ; @PCI_CLASS_DISPLAY_VGA
.subsections_via_symbols
