	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function vc4_crtc_config_pv
_vc4_crtc_config_pv:                    ## @vc4_crtc_config_pv
	.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, %rbx
	callq	_vc4_get_crtc_encoder
	movq	%rax, %rdi
	callq	_to_vc4_encoder
	movq	%rax, %r12
	movq	%rbx, %rdi
	callq	_to_vc4_crtc
	movq	(%rbx), %r14
	movl	(%r14), %eax
	movq	_DRM_MODE_FLAG_INTERLACE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %r15d
	andl	%eax, %r15d
	movq	_DRM_MODE_FLAG_DBLCLK@GOTPCREL(%rip), %rcx
	andl	(%rcx), %eax
	cmpl	$1, %eax
	movl	$2, %r13d
	sbbl	$0, %r13d
	movq	%r12, -64(%rbp)                 ## 8-byte Spill
	movq	(%r12), %rax
	movq	_VC4_ENCODER_TYPE_DSI0@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	sete	%cl
	movq	_VC4_ENCODER_TYPE_DSI1@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rax
	sete	%al
	orb	%cl, %al
	movb	%al, -41(%rbp)                  ## 1-byte Spill
	movq	_PV_CONTROL_FORMAT_DSIV_24@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -48(%rbp)                 ## 4-byte Spill
	movq	_PV_CONTROL_FORMAT_24@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -52(%rbp)                 ## 4-byte Spill
	movq	_PV_CONTROL@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	xorl	%esi, %esi
	callq	_CRTC_WRITE
	movl	(%rbx), %edi
	movq	_PV_CONTROL_FIFO_CLR@GOTPCREL(%rip), %rcx
	movq	_PV_CONTROL_EN@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	orl	(%rcx), %esi
	callq	_CRTC_WRITE
	movl	(%rbx), %edi
	xorl	%esi, %esi
	callq	_CRTC_WRITE
	movq	_PV_HORZA@GOTPCREL(%rip), %rax
	movl	4(%r14), %edi
	subl	8(%r14), %edi
	movl	(%rax), %r12d
	imull	%r13d, %edi
	movq	_PV_HORZA_HBP@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_VC4_SET_FIELD
	movl	8(%r14), %edi
	subl	12(%r14), %edi
	movl	%eax, %ebx
	imull	%r13d, %edi
	movq	_PV_HORZA_HSYNC@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_VC4_SET_FIELD
	orl	%eax, %ebx
	movl	%r12d, %edi
	movl	%ebx, %esi
	callq	_CRTC_WRITE
	movq	_PV_HORZB@GOTPCREL(%rip), %rax
	movl	12(%r14), %edi
	subl	16(%r14), %edi
	movl	(%rax), %r12d
	imull	%r13d, %edi
	movq	_PV_HORZB_HFP@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_VC4_SET_FIELD
	movl	%eax, %ebx
	movl	16(%r14), %edi
	imull	%r13d, %edi
	movq	_PV_HORZB_HACTIVE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_VC4_SET_FIELD
	orl	%eax, %ebx
	movl	%r12d, %edi
	movl	%ebx, %esi
	callq	_CRTC_WRITE
	movq	_PV_VERTA@GOTPCREL(%rip), %rax
	movl	(%rax), %r12d
	movl	20(%r14), %edi
	subl	24(%r14), %edi
	movq	_PV_VERTA_VBP@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_VC4_SET_FIELD
	movl	%eax, %ebx
	movl	24(%r14), %edi
	subl	28(%r14), %edi
	movq	_PV_VERTA_VSYNC@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_VC4_SET_FIELD
	orl	%eax, %ebx
	movl	%r12d, %edi
	movl	%ebx, %esi
	callq	_CRTC_WRITE
	movq	_PV_VERTB@GOTPCREL(%rip), %rax
	movl	(%rax), %r12d
	movl	28(%r14), %edi
	subl	32(%r14), %edi
	movq	_PV_VERTB_VFP@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_VC4_SET_FIELD
	movl	%eax, %ebx
	movl	32(%r14), %edi
	movq	_PV_VERTB_VACTIVE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_VC4_SET_FIELD
	orl	%eax, %ebx
	movl	%r12d, %edi
	movl	%ebx, %esi
	callq	_CRTC_WRITE
	testl	%r15d, %r15d
	je	LBB0_4
## %bb.1:
	movq	_PV_VERTA_EVEN@GOTPCREL(%rip), %rax
	movl	(%rax), %r12d
	movl	24(%r14), %edi
	notl	%edi
	addl	20(%r14), %edi
	movq	_PV_VERTA_VBP@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_VC4_SET_FIELD
	movl	%eax, %ebx
	movl	24(%r14), %edi
	subl	28(%r14), %edi
	movq	_PV_VERTA_VSYNC@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_VC4_SET_FIELD
	orl	%eax, %ebx
	movl	%r12d, %edi
	movl	%ebx, %esi
	callq	_CRTC_WRITE
	movq	_PV_VERTB_EVEN@GOTPCREL(%rip), %rax
	movl	(%rax), %r12d
	movl	28(%r14), %edi
	subl	32(%r14), %edi
	movq	_PV_VERTB_VFP@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_VC4_SET_FIELD
	movl	%eax, %ebx
	movl	32(%r14), %edi
	movq	_PV_VERTB_VACTIVE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_VC4_SET_FIELD
	orl	%eax, %ebx
	movl	%r12d, %edi
	movl	%ebx, %esi
	callq	_CRTC_WRITE
	movq	_PV_V_CONTROL@GOTPCREL(%rip), %rax
	movl	(%rax), %r12d
	movq	_PV_VCONTROL_CONTINUOUS@GOTPCREL(%rip), %rax
	movl	$0, %ebx
	cmpb	$0, -41(%rbp)                   ## 1-byte Folded Reload
	je	LBB0_3
## %bb.2:
	movq	_PV_VCONTROL_DSI@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ebx
LBB0_3:
	orl	(%rax), %ebx
	movq	_PV_VCONTROL_INTERLACE@GOTPCREL(%rip), %rax
	orl	(%rax), %ebx
	movl	4(%r14), %eax
	imull	%r13d, %eax
	movl	%eax, %edi
	shrl	$31, %edi
	addl	%eax, %edi
	sarl	%edi
	movq	_PV_VCONTROL_ODD_DELAY@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_VC4_SET_FIELD
	orl	%eax, %ebx
	movl	%r12d, %edi
	movl	%ebx, %esi
	callq	_CRTC_WRITE
	movq	_PV_VSYNCD_EVEN@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	xorl	%esi, %esi
	callq	_CRTC_WRITE
	movl	-52(%rbp), %r15d                ## 4-byte Reload
	movq	_PV_CONTROL@GOTPCREL(%rip), %rbx
	movb	-41(%rbp), %r12b                ## 1-byte Reload
	jmp	LBB0_7
LBB0_4:
	movq	_PV_V_CONTROL@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_PV_VCONTROL_CONTINUOUS@GOTPCREL(%rip), %rax
	xorl	%esi, %esi
	movb	-41(%rbp), %r12b                ## 1-byte Reload
	testb	%r12b, %r12b
	je	LBB0_6
## %bb.5:
	movq	_PV_VCONTROL_DSI@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
LBB0_6:
	orl	(%rax), %esi
	callq	_CRTC_WRITE
	movl	-52(%rbp), %r15d                ## 4-byte Reload
	movq	_PV_CONTROL@GOTPCREL(%rip), %rbx
LBB0_7:
	movl	-48(%rbp), %eax                 ## 4-byte Reload
	testb	%r12b, %r12b
	cmovnel	%eax, %r15d
	movq	_PV_HACT_ACT@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movl	16(%r14), %esi
	imull	%r13d, %esi
	callq	_CRTC_WRITE
	movl	(%rbx), %r12d
	movq	_PV_CONTROL_FORMAT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%r15d, %edi
	callq	_VC4_SET_FIELD
	movl	%eax, %ebx
	movl	%r15d, %edi
	callq	_vc4_get_fifo_full_level
	movq	_PV_CONTROL_FIFO_LEVEL@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	movl	%eax, %edi
	callq	_VC4_SET_FIELD
	movl	%eax, %r15d
	decl	%r13d
	movq	_PV_CONTROL_PIXEL_REP@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%r13d, %edi
	callq	_VC4_SET_FIELD
	orl	%eax, %ebx
	orl	%r15d, %ebx
	movq	_PV_CONTROL_CLR_AT_START@GOTPCREL(%rip), %rax
	orl	(%rax), %ebx
	movq	_PV_CONTROL_TRIGGER_UNDERFLOW@GOTPCREL(%rip), %rax
	orl	(%rax), %ebx
	movq	_PV_CONTROL_WAIT_HSTART@GOTPCREL(%rip), %rax
	orl	(%rax), %ebx
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	movl	8(%rax), %edi
	movq	_PV_CONTROL_CLK_SELECT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_VC4_SET_FIELD
	orl	%eax, %ebx
	movq	_PV_CONTROL_FIFO_CLR@GOTPCREL(%rip), %rax
	orl	(%rax), %ebx
	movq	_PV_CONTROL_EN@GOTPCREL(%rip), %rax
	orl	(%rax), %ebx
	movl	%r12d, %edi
	movl	%ebx, %esi
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_CRTC_WRITE                     ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_DRM_MODE_FLAG_INTERLACE,4,2    ## @DRM_MODE_FLAG_INTERLACE
	.comm	_DRM_MODE_FLAG_DBLCLK,4,2       ## @DRM_MODE_FLAG_DBLCLK
	.comm	_VC4_ENCODER_TYPE_DSI0,8,3      ## @VC4_ENCODER_TYPE_DSI0
	.comm	_VC4_ENCODER_TYPE_DSI1,8,3      ## @VC4_ENCODER_TYPE_DSI1
	.comm	_PV_CONTROL_FORMAT_DSIV_24,4,2  ## @PV_CONTROL_FORMAT_DSIV_24
	.comm	_PV_CONTROL_FORMAT_24,4,2       ## @PV_CONTROL_FORMAT_24
	.comm	_PV_CONTROL,4,2                 ## @PV_CONTROL
	.comm	_PV_CONTROL_FIFO_CLR,4,2        ## @PV_CONTROL_FIFO_CLR
	.comm	_PV_CONTROL_EN,4,2              ## @PV_CONTROL_EN
	.comm	_PV_HORZA,4,2                   ## @PV_HORZA
	.comm	_PV_HORZA_HBP,4,2               ## @PV_HORZA_HBP
	.comm	_PV_HORZA_HSYNC,4,2             ## @PV_HORZA_HSYNC
	.comm	_PV_HORZB,4,2                   ## @PV_HORZB
	.comm	_PV_HORZB_HFP,4,2               ## @PV_HORZB_HFP
	.comm	_PV_HORZB_HACTIVE,4,2           ## @PV_HORZB_HACTIVE
	.comm	_PV_VERTA,4,2                   ## @PV_VERTA
	.comm	_PV_VERTA_VBP,4,2               ## @PV_VERTA_VBP
	.comm	_PV_VERTA_VSYNC,4,2             ## @PV_VERTA_VSYNC
	.comm	_PV_VERTB,4,2                   ## @PV_VERTB
	.comm	_PV_VERTB_VFP,4,2               ## @PV_VERTB_VFP
	.comm	_PV_VERTB_VACTIVE,4,2           ## @PV_VERTB_VACTIVE
	.comm	_PV_VERTA_EVEN,4,2              ## @PV_VERTA_EVEN
	.comm	_PV_VERTB_EVEN,4,2              ## @PV_VERTB_EVEN
	.comm	_PV_V_CONTROL,4,2               ## @PV_V_CONTROL
	.comm	_PV_VCONTROL_CONTINUOUS,4,2     ## @PV_VCONTROL_CONTINUOUS
	.comm	_PV_VCONTROL_DSI,4,2            ## @PV_VCONTROL_DSI
	.comm	_PV_VCONTROL_INTERLACE,4,2      ## @PV_VCONTROL_INTERLACE
	.comm	_PV_VCONTROL_ODD_DELAY,4,2      ## @PV_VCONTROL_ODD_DELAY
	.comm	_PV_VSYNCD_EVEN,4,2             ## @PV_VSYNCD_EVEN
	.comm	_PV_HACT_ACT,4,2                ## @PV_HACT_ACT
	.comm	_PV_CONTROL_FORMAT,4,2          ## @PV_CONTROL_FORMAT
	.comm	_PV_CONTROL_FIFO_LEVEL,4,2      ## @PV_CONTROL_FIFO_LEVEL
	.comm	_PV_CONTROL_PIXEL_REP,4,2       ## @PV_CONTROL_PIXEL_REP
	.comm	_PV_CONTROL_CLR_AT_START,4,2    ## @PV_CONTROL_CLR_AT_START
	.comm	_PV_CONTROL_TRIGGER_UNDERFLOW,4,2 ## @PV_CONTROL_TRIGGER_UNDERFLOW
	.comm	_PV_CONTROL_WAIT_HSTART,4,2     ## @PV_CONTROL_WAIT_HSTART
	.comm	_PV_CONTROL_CLK_SELECT,4,2      ## @PV_CONTROL_CLK_SELECT
	.no_dead_strip	_vc4_crtc_config_pv
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function vc4_crtc_config_pv
_vc4_crtc_config_pv:                    ; @vc4_crtc_config_pv
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #112
	.cfi_def_cfa_offset 112
	stp	x28, x27, [sp, #16]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #32]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #48]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #64]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #80]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #96]             ; 16-byte Folded Spill
	add	x29, sp, #96
	.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
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x20, x0
	bl	_vc4_get_crtc_encoder
	bl	_to_vc4_encoder
	mov	x19, x0
	mov	x0, x20
	bl	_to_vc4_crtc
	ldr	x22, [x20]
	ldr	w8, [x22]
Lloh0:
	adrp	x9, _DRM_MODE_FLAG_INTERLACE@GOTPAGE
Lloh1:
	ldr	x9, [x9, _DRM_MODE_FLAG_INTERLACE@GOTPAGEOFF]
Lloh2:
	ldr	w9, [x9]
Lloh3:
	adrp	x10, _DRM_MODE_FLAG_DBLCLK@GOTPAGE
Lloh4:
	ldr	x10, [x10, _DRM_MODE_FLAG_DBLCLK@GOTPAGEOFF]
	and	w24, w9, w8
Lloh5:
	ldr	w9, [x10]
	tst	w9, w8
	mov	w8, #1
	cinc	w25, w8, ne
	str	x19, [sp, #8]                   ; 8-byte Folded Spill
	ldr	x8, [x19]
Lloh6:
	adrp	x9, _VC4_ENCODER_TYPE_DSI0@GOTPAGE
Lloh7:
	ldr	x9, [x9, _VC4_ENCODER_TYPE_DSI0@GOTPAGEOFF]
Lloh8:
	ldr	x9, [x9]
	cmp	x8, x9
Lloh9:
	adrp	x9, _VC4_ENCODER_TYPE_DSI1@GOTPAGE
Lloh10:
	ldr	x9, [x9, _VC4_ENCODER_TYPE_DSI1@GOTPAGEOFF]
Lloh11:
	ldr	x9, [x9]
	ccmp	x8, x9, #4, ne
	cset	w27, eq
Lloh12:
	adrp	x8, _PV_CONTROL_FORMAT_DSIV_24@GOTPAGE
Lloh13:
	ldr	x8, [x8, _PV_CONTROL_FORMAT_DSIV_24@GOTPAGEOFF]
Lloh14:
	ldr	w8, [x8]
	str	w8, [sp, #4]                    ; 4-byte Folded Spill
Lloh15:
	adrp	x8, _PV_CONTROL_FORMAT_24@GOTPAGE
Lloh16:
	ldr	x8, [x8, _PV_CONTROL_FORMAT_24@GOTPAGEOFF]
Lloh17:
	ldr	w8, [x8]
	str	w8, [sp]                        ; 4-byte Folded Spill
Lloh18:
	adrp	x19, _PV_CONTROL@GOTPAGE
Lloh19:
	ldr	x19, [x19, _PV_CONTROL@GOTPAGEOFF]
	ldr	w0, [x19]
	mov	w1, #0
	bl	_CRTC_WRITE
Lloh20:
	adrp	x8, _PV_CONTROL_FIFO_CLR@GOTPAGE
Lloh21:
	ldr	x8, [x8, _PV_CONTROL_FIFO_CLR@GOTPAGEOFF]
	ldr	w0, [x19]
Lloh22:
	ldr	w8, [x8]
Lloh23:
	adrp	x9, _PV_CONTROL_EN@GOTPAGE
Lloh24:
	ldr	x9, [x9, _PV_CONTROL_EN@GOTPAGEOFF]
Lloh25:
	ldr	w9, [x9]
	orr	w1, w9, w8
	bl	_CRTC_WRITE
	ldr	w0, [x19]
	mov	w1, #0
	bl	_CRTC_WRITE
Lloh26:
	adrp	x8, _PV_HORZA@GOTPAGE
Lloh27:
	ldr	x8, [x8, _PV_HORZA@GOTPAGEOFF]
Lloh28:
	ldr	w20, [x8]
	ldp	w8, w9, [x22, #4]
	sub	w8, w8, w9
	mul	w0, w8, w25
Lloh29:
	adrp	x8, _PV_HORZA_HBP@GOTPAGE
Lloh30:
	ldr	x8, [x8, _PV_HORZA_HBP@GOTPAGEOFF]
Lloh31:
	ldr	w1, [x8]
	bl	_VC4_SET_FIELD
	mov	x21, x0
	ldp	w8, w9, [x22, #8]
	sub	w8, w8, w9
	mul	w0, w8, w25
Lloh32:
	adrp	x8, _PV_HORZA_HSYNC@GOTPAGE
Lloh33:
	ldr	x8, [x8, _PV_HORZA_HSYNC@GOTPAGEOFF]
Lloh34:
	ldr	w1, [x8]
	bl	_VC4_SET_FIELD
	orr	w1, w0, w21
	mov	x0, x20
	bl	_CRTC_WRITE
Lloh35:
	adrp	x8, _PV_HORZB@GOTPAGE
Lloh36:
	ldr	x8, [x8, _PV_HORZB@GOTPAGEOFF]
Lloh37:
	ldr	w20, [x8]
	ldp	w8, w9, [x22, #12]
	sub	w8, w8, w9
	mul	w0, w8, w25
Lloh38:
	adrp	x8, _PV_HORZB_HFP@GOTPAGE
Lloh39:
	ldr	x8, [x8, _PV_HORZB_HFP@GOTPAGEOFF]
Lloh40:
	ldr	w1, [x8]
	bl	_VC4_SET_FIELD
	mov	x21, x0
	ldr	w8, [x22, #16]
	mul	w0, w8, w25
Lloh41:
	adrp	x8, _PV_HORZB_HACTIVE@GOTPAGE
Lloh42:
	ldr	x8, [x8, _PV_HORZB_HACTIVE@GOTPAGEOFF]
Lloh43:
	ldr	w1, [x8]
	bl	_VC4_SET_FIELD
	orr	w1, w0, w21
	mov	x0, x20
	bl	_CRTC_WRITE
Lloh44:
	adrp	x8, _PV_VERTA@GOTPAGE
Lloh45:
	ldr	x8, [x8, _PV_VERTA@GOTPAGEOFF]
Lloh46:
	ldr	w20, [x8]
	ldp	w8, w9, [x22, #20]
	sub	w0, w8, w9
Lloh47:
	adrp	x28, _PV_VERTA_VBP@GOTPAGE
Lloh48:
	ldr	x28, [x28, _PV_VERTA_VBP@GOTPAGEOFF]
	ldr	w1, [x28]
	bl	_VC4_SET_FIELD
	mov	x21, x0
	ldp	w8, w9, [x22, #24]
	sub	w0, w8, w9
Lloh49:
	adrp	x23, _PV_VERTA_VSYNC@GOTPAGE
Lloh50:
	ldr	x23, [x23, _PV_VERTA_VSYNC@GOTPAGEOFF]
	ldr	w1, [x23]
	bl	_VC4_SET_FIELD
	orr	w1, w0, w21
	mov	x0, x20
	bl	_CRTC_WRITE
Lloh51:
	adrp	x8, _PV_VERTB@GOTPAGE
Lloh52:
	ldr	x8, [x8, _PV_VERTB@GOTPAGEOFF]
Lloh53:
	ldr	w20, [x8]
	ldp	w8, w9, [x22, #28]
	sub	w0, w8, w9
Lloh54:
	adrp	x19, _PV_VERTB_VFP@GOTPAGE
Lloh55:
	ldr	x19, [x19, _PV_VERTB_VFP@GOTPAGEOFF]
	ldr	w1, [x19]
	bl	_VC4_SET_FIELD
	mov	x21, x0
	ldr	w0, [x22, #32]
Lloh56:
	adrp	x26, _PV_VERTB_VACTIVE@GOTPAGE
Lloh57:
	ldr	x26, [x26, _PV_VERTB_VACTIVE@GOTPAGEOFF]
	ldr	w1, [x26]
	bl	_VC4_SET_FIELD
	orr	w1, w0, w21
	mov	x0, x20
	bl	_CRTC_WRITE
	cbz	w24, LBB0_2
; %bb.1:
Lloh58:
	adrp	x8, _PV_VERTA_EVEN@GOTPAGE
Lloh59:
	ldr	x8, [x8, _PV_VERTA_EVEN@GOTPAGEOFF]
Lloh60:
	ldr	w20, [x8]
	ldp	w8, w9, [x22, #20]
	mvn	w9, w9
	add	w0, w8, w9
	ldr	w1, [x28]
	bl	_VC4_SET_FIELD
	mov	x21, x0
	ldp	w8, w9, [x22, #24]
	sub	w0, w8, w9
	ldr	w1, [x23]
	bl	_VC4_SET_FIELD
	orr	w1, w0, w21
	mov	x0, x20
	bl	_CRTC_WRITE
Lloh61:
	adrp	x8, _PV_VERTB_EVEN@GOTPAGE
Lloh62:
	ldr	x8, [x8, _PV_VERTB_EVEN@GOTPAGEOFF]
Lloh63:
	ldr	w20, [x8]
	ldp	w8, w9, [x22, #28]
	sub	w0, w8, w9
	ldr	w1, [x19]
	bl	_VC4_SET_FIELD
	mov	x21, x0
	ldr	w0, [x22, #32]
	ldr	w1, [x26]
	bl	_VC4_SET_FIELD
	orr	w1, w0, w21
	mov	x0, x20
	bl	_CRTC_WRITE
Lloh64:
	adrp	x8, _PV_V_CONTROL@GOTPAGE
Lloh65:
	ldr	x8, [x8, _PV_V_CONTROL@GOTPAGEOFF]
Lloh66:
	ldr	w20, [x8]
Lloh67:
	adrp	x8, _PV_VCONTROL_CONTINUOUS@GOTPAGE
Lloh68:
	ldr	x8, [x8, _PV_VCONTROL_CONTINUOUS@GOTPAGEOFF]
Lloh69:
	ldr	w8, [x8]
Lloh70:
	adrp	x9, _PV_VCONTROL_DSI@GOTPAGE
Lloh71:
	ldr	x9, [x9, _PV_VCONTROL_DSI@GOTPAGEOFF]
Lloh72:
	ldr	w9, [x9]
	cmp	w27, #0
	csel	w9, w9, wzr, ne
	orr	w8, w9, w8
Lloh73:
	adrp	x9, _PV_VCONTROL_INTERLACE@GOTPAGE
Lloh74:
	ldr	x9, [x9, _PV_VCONTROL_INTERLACE@GOTPAGEOFF]
Lloh75:
	ldr	w9, [x9]
	orr	w19, w8, w9
	ldr	w8, [x22, #4]
	mul	w8, w8, w25
	cmp	w8, #0
	cinc	w8, w8, lt
	asr	w0, w8, #1
Lloh76:
	adrp	x8, _PV_VCONTROL_ODD_DELAY@GOTPAGE
Lloh77:
	ldr	x8, [x8, _PV_VCONTROL_ODD_DELAY@GOTPAGEOFF]
Lloh78:
	ldr	w1, [x8]
	bl	_VC4_SET_FIELD
	orr	w1, w19, w0
	mov	x0, x20
	bl	_CRTC_WRITE
Lloh79:
	adrp	x8, _PV_VSYNCD_EVEN@GOTPAGE
Lloh80:
	ldr	x8, [x8, _PV_VSYNCD_EVEN@GOTPAGEOFF]
Lloh81:
	ldr	w0, [x8]
	mov	w1, #0
	b	LBB0_3
LBB0_2:
Lloh82:
	adrp	x8, _PV_V_CONTROL@GOTPAGE
Lloh83:
	ldr	x8, [x8, _PV_V_CONTROL@GOTPAGEOFF]
Lloh84:
	ldr	w0, [x8]
Lloh85:
	adrp	x8, _PV_VCONTROL_CONTINUOUS@GOTPAGE
Lloh86:
	ldr	x8, [x8, _PV_VCONTROL_CONTINUOUS@GOTPAGEOFF]
Lloh87:
	ldr	w8, [x8]
Lloh88:
	adrp	x9, _PV_VCONTROL_DSI@GOTPAGE
Lloh89:
	ldr	x9, [x9, _PV_VCONTROL_DSI@GOTPAGEOFF]
Lloh90:
	ldr	w9, [x9]
	cmp	w27, #0
	csel	w9, w9, wzr, ne
	orr	w1, w9, w8
LBB0_3:
	bl	_CRTC_WRITE
	cmp	w27, #0
	ldp	w9, w8, [sp]                    ; 8-byte Folded Reload
	csel	w20, w8, w9, ne
Lloh91:
	adrp	x8, _PV_HACT_ACT@GOTPAGE
Lloh92:
	ldr	x8, [x8, _PV_HACT_ACT@GOTPAGEOFF]
Lloh93:
	ldr	w0, [x8]
	ldr	w8, [x22, #16]
	mul	w1, w8, w25
	bl	_CRTC_WRITE
Lloh94:
	adrp	x8, _PV_CONTROL@GOTPAGE
Lloh95:
	ldr	x8, [x8, _PV_CONTROL@GOTPAGEOFF]
Lloh96:
	ldr	w21, [x8]
Lloh97:
	adrp	x8, _PV_CONTROL_FORMAT@GOTPAGE
Lloh98:
	ldr	x8, [x8, _PV_CONTROL_FORMAT@GOTPAGEOFF]
Lloh99:
	ldr	w1, [x8]
	mov	x0, x20
	bl	_VC4_SET_FIELD
	mov	x22, x0
	mov	x0, x20
	bl	_vc4_get_fifo_full_level
Lloh100:
	adrp	x8, _PV_CONTROL_FIFO_LEVEL@GOTPAGE
Lloh101:
	ldr	x8, [x8, _PV_CONTROL_FIFO_LEVEL@GOTPAGEOFF]
Lloh102:
	ldr	w1, [x8]
	bl	_VC4_SET_FIELD
	orr	w19, w0, w22
	sub	w0, w25, #1
Lloh103:
	adrp	x8, _PV_CONTROL_PIXEL_REP@GOTPAGE
Lloh104:
	ldr	x8, [x8, _PV_CONTROL_PIXEL_REP@GOTPAGEOFF]
Lloh105:
	ldr	w1, [x8]
	bl	_VC4_SET_FIELD
	orr	w8, w19, w0
Lloh106:
	adrp	x9, _PV_CONTROL_CLR_AT_START@GOTPAGE
Lloh107:
	ldr	x9, [x9, _PV_CONTROL_CLR_AT_START@GOTPAGEOFF]
Lloh108:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh109:
	adrp	x9, _PV_CONTROL_TRIGGER_UNDERFLOW@GOTPAGE
Lloh110:
	ldr	x9, [x9, _PV_CONTROL_TRIGGER_UNDERFLOW@GOTPAGEOFF]
Lloh111:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh112:
	adrp	x9, _PV_CONTROL_WAIT_HSTART@GOTPAGE
Lloh113:
	ldr	x9, [x9, _PV_CONTROL_WAIT_HSTART@GOTPAGEOFF]
Lloh114:
	ldr	w9, [x9]
	orr	w19, w8, w9
	ldr	x8, [sp, #8]                    ; 8-byte Folded Reload
	ldr	w0, [x8, #8]
Lloh115:
	adrp	x8, _PV_CONTROL_CLK_SELECT@GOTPAGE
Lloh116:
	ldr	x8, [x8, _PV_CONTROL_CLK_SELECT@GOTPAGEOFF]
Lloh117:
	ldr	w1, [x8]
	bl	_VC4_SET_FIELD
	orr	w8, w19, w0
Lloh118:
	adrp	x9, _PV_CONTROL_FIFO_CLR@GOTPAGE
Lloh119:
	ldr	x9, [x9, _PV_CONTROL_FIFO_CLR@GOTPAGEOFF]
Lloh120:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh121:
	adrp	x9, _PV_CONTROL_EN@GOTPAGE
Lloh122:
	ldr	x9, [x9, _PV_CONTROL_EN@GOTPAGEOFF]
Lloh123:
	ldr	w9, [x9]
	orr	w1, w8, w9
	mov	x0, x21
	ldp	x29, x30, [sp, #96]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #80]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #64]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #48]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #32]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #112
	b	_CRTC_WRITE
	.loh AdrpLdrGot	Lloh56, Lloh57
	.loh AdrpLdrGot	Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGot	Lloh49, Lloh50
	.loh AdrpLdrGot	Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh44, Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGot	Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh79, Lloh80, Lloh81
	.loh AdrpLdrGotLdr	Lloh76, Lloh77, Lloh78
	.loh AdrpLdrGotLdr	Lloh73, Lloh74, Lloh75
	.loh AdrpLdrGotLdr	Lloh70, Lloh71, Lloh72
	.loh AdrpLdrGotLdr	Lloh67, Lloh68, Lloh69
	.loh AdrpLdrGotLdr	Lloh64, Lloh65, Lloh66
	.loh AdrpLdrGotLdr	Lloh61, Lloh62, Lloh63
	.loh AdrpLdrGotLdr	Lloh58, Lloh59, Lloh60
	.loh AdrpLdrGotLdr	Lloh88, Lloh89, Lloh90
	.loh AdrpLdrGotLdr	Lloh85, Lloh86, Lloh87
	.loh AdrpLdrGotLdr	Lloh82, Lloh83, Lloh84
	.loh AdrpLdrGotLdr	Lloh121, Lloh122, Lloh123
	.loh AdrpLdrGotLdr	Lloh118, Lloh119, Lloh120
	.loh AdrpLdrGotLdr	Lloh115, Lloh116, Lloh117
	.loh AdrpLdrGotLdr	Lloh112, Lloh113, Lloh114
	.loh AdrpLdrGotLdr	Lloh109, Lloh110, Lloh111
	.loh AdrpLdrGotLdr	Lloh106, Lloh107, Lloh108
	.loh AdrpLdrGotLdr	Lloh103, Lloh104, Lloh105
	.loh AdrpLdrGotLdr	Lloh100, Lloh101, Lloh102
	.loh AdrpLdrGotLdr	Lloh97, Lloh98, Lloh99
	.loh AdrpLdrGotLdr	Lloh94, Lloh95, Lloh96
	.loh AdrpLdrGotLdr	Lloh91, Lloh92, Lloh93
	.cfi_endproc
                                        ; -- End function
	.comm	_DRM_MODE_FLAG_INTERLACE,4,2    ; @DRM_MODE_FLAG_INTERLACE
	.comm	_DRM_MODE_FLAG_DBLCLK,4,2       ; @DRM_MODE_FLAG_DBLCLK
	.comm	_VC4_ENCODER_TYPE_DSI0,8,3      ; @VC4_ENCODER_TYPE_DSI0
	.comm	_VC4_ENCODER_TYPE_DSI1,8,3      ; @VC4_ENCODER_TYPE_DSI1
	.comm	_PV_CONTROL_FORMAT_DSIV_24,4,2  ; @PV_CONTROL_FORMAT_DSIV_24
	.comm	_PV_CONTROL_FORMAT_24,4,2       ; @PV_CONTROL_FORMAT_24
	.comm	_PV_CONTROL,4,2                 ; @PV_CONTROL
	.comm	_PV_CONTROL_FIFO_CLR,4,2        ; @PV_CONTROL_FIFO_CLR
	.comm	_PV_CONTROL_EN,4,2              ; @PV_CONTROL_EN
	.comm	_PV_HORZA,4,2                   ; @PV_HORZA
	.comm	_PV_HORZA_HBP,4,2               ; @PV_HORZA_HBP
	.comm	_PV_HORZA_HSYNC,4,2             ; @PV_HORZA_HSYNC
	.comm	_PV_HORZB,4,2                   ; @PV_HORZB
	.comm	_PV_HORZB_HFP,4,2               ; @PV_HORZB_HFP
	.comm	_PV_HORZB_HACTIVE,4,2           ; @PV_HORZB_HACTIVE
	.comm	_PV_VERTA,4,2                   ; @PV_VERTA
	.comm	_PV_VERTA_VBP,4,2               ; @PV_VERTA_VBP
	.comm	_PV_VERTA_VSYNC,4,2             ; @PV_VERTA_VSYNC
	.comm	_PV_VERTB,4,2                   ; @PV_VERTB
	.comm	_PV_VERTB_VFP,4,2               ; @PV_VERTB_VFP
	.comm	_PV_VERTB_VACTIVE,4,2           ; @PV_VERTB_VACTIVE
	.comm	_PV_VERTA_EVEN,4,2              ; @PV_VERTA_EVEN
	.comm	_PV_VERTB_EVEN,4,2              ; @PV_VERTB_EVEN
	.comm	_PV_V_CONTROL,4,2               ; @PV_V_CONTROL
	.comm	_PV_VCONTROL_CONTINUOUS,4,2     ; @PV_VCONTROL_CONTINUOUS
	.comm	_PV_VCONTROL_DSI,4,2            ; @PV_VCONTROL_DSI
	.comm	_PV_VCONTROL_INTERLACE,4,2      ; @PV_VCONTROL_INTERLACE
	.comm	_PV_VCONTROL_ODD_DELAY,4,2      ; @PV_VCONTROL_ODD_DELAY
	.comm	_PV_VSYNCD_EVEN,4,2             ; @PV_VSYNCD_EVEN
	.comm	_PV_HACT_ACT,4,2                ; @PV_HACT_ACT
	.comm	_PV_CONTROL_FORMAT,4,2          ; @PV_CONTROL_FORMAT
	.comm	_PV_CONTROL_FIFO_LEVEL,4,2      ; @PV_CONTROL_FIFO_LEVEL
	.comm	_PV_CONTROL_PIXEL_REP,4,2       ; @PV_CONTROL_PIXEL_REP
	.comm	_PV_CONTROL_CLR_AT_START,4,2    ; @PV_CONTROL_CLR_AT_START
	.comm	_PV_CONTROL_TRIGGER_UNDERFLOW,4,2 ; @PV_CONTROL_TRIGGER_UNDERFLOW
	.comm	_PV_CONTROL_WAIT_HSTART,4,2     ; @PV_CONTROL_WAIT_HSTART
	.comm	_PV_CONTROL_CLK_SELECT,4,2      ; @PV_CONTROL_CLK_SELECT
	.no_dead_strip	_vc4_crtc_config_pv
.subsections_via_symbols
