	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function mcde_dsi_setup_video_mode
_mcde_dsi_setup_video_mode:             ## @mcde_dsi_setup_video_mode
	.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	%rsi, %r14
	movq	%rdi, %r13
	movq	16(%rdi), %rax
	movl	(%rax), %edi
	callq	_mipi_dsi_pixel_format_to_bpp
	movl	%eax, %r15d
	movq	16(%r13), %rcx
	movl	(%rcx), %eax
	addl	$-128, %eax
	cmpl	$4, %eax
	jae	LBB0_12
## %bb.1:
	movq	_MIPI_DSI_MODE_VIDEO_SYNC_PULSE@GOTPCREL(%rip), %rdx
	movl	4(%rcx), %ecx
	movl	(%rdx), %edx
	andl	%ecx, %edx
	movq	_MIPI_DSI_MODE_VIDEO_BURST@GOTPCREL(%rip), %rsi
	andl	(%rsi), %ecx
	je	LBB0_3
## %bb.2:
	movq	_DSI_VID_MAIN_CTL_BURST_MODE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
LBB0_3:
	movq	_DSI_VID_MAIN_CTL_SYNC_PULSE_ACTIVE@GOTPCREL(%rip), %rsi
	movl	(%rsi), %esi
	orl	%ecx, %esi
	movq	_DSI_VID_MAIN_CTL_SYNC_PULSE_HORIZONTAL@GOTPCREL(%rip), %rdi
	orl	(%rdi), %esi
	testl	%edx, %edx
	cmovel	%ecx, %esi
	cltq
	leaq	l_switch.table.mcde_dsi_setup_video_mode(%rip), %rcx
	movq	(%rcx,%rax,8), %rcx
	leaq	l_switch.table.mcde_dsi_setup_video_mode.5(%rip), %rdx
	movl	(%rcx), %edi
	movq	_DSI_VID_MAIN_CTL_HEADER_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	shll	%cl, %edi
	movq	(%rdx,%rax,8), %rax
	orl	%esi, %edi
	orl	(%rax), %edi
	movq	_DSI_VID_MAIN_CTL_REG_BLKLINE_MODE_LP_0@GOTPCREL(%rip), %rax
	orl	(%rax), %edi
	movq	_DSI_VID_MAIN_CTL_REG_BLKEOL_MODE_LP_0@GOTPCREL(%rip), %rax
	orl	(%rax), %edi
	movq	_DSI_VID_MAIN_CTL_RECOVERY_MODE_SHIFT@GOTPCREL(%rip), %rax
	movb	(%rax), %al
	btsl	%eax, %edi
	movq	_DSI_VID_MAIN_CTL@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	8(%r13), %rsi
	callq	_writel
	movq	_DSI_VID_VSIZE_VSA_LENGTH_SHIFT@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	movl	(%r14), %eax
	movl	4(%r14), %edx
	movl	8(%r14), %ebx
	movl	%ebx, %esi
	subl	%edx, %esi
	subl	%eax, %edx
	shll	%cl, %eax
	movq	_DSI_VID_VSIZE_VFP_LENGTH_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	shll	%cl, %edx
	movl	12(%r14), %edi
	subl	%ebx, %edi
	movq	_DSI_VID_VSIZE_VACT_LENGTH_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	shll	%cl, %esi
	movq	_DSI_VID_VSIZE_VBP_LENGTH_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	shll	%cl, %edi
	orl	%eax, %edx
	orl	%esi, %edi
	orl	%edx, %edi
	movq	_DSI_VID_VSIZE@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	8(%r13), %rsi
	callq	_writel
	movl	16(%r14), %eax
	movl	24(%r14), %ebx
	movl	%eax, %r12d
	subl	20(%r14), %r12d
	imull	%r15d, %r12d
	addl	$-8, %r12d
	movq	16(%r13), %rcx
	movq	_MIPI_DSI_MODE_VIDEO_SYNC_PULSE@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	testl	%edx, 4(%rcx)
	movq	%r14, -48(%rbp)                 ## 8-byte Spill
	je	LBB0_5
## %bb.4:
	movq	%r14, %rsi
	movq	%r15, %r14
	movl	28(%rsi), %r15d
	subl	%r15d, %ebx
	imull	%r14d, %ebx
	addl	$-10, %ebx
	subl	%eax, %r15d
	imull	%r14d, %r15d
	addl	$-14, %r15d
	jmp	LBB0_6
LBB0_12:
	movl	24(%r13), %edi
	leaq	L_.str(%rip), %rsi
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_dev_err                        ## TAILCALL
LBB0_5:
	subl	%eax, %ebx
	imull	%r15d, %ebx
	addl	$-14, %ebx
	movq	%r15, %r14
	xorl	%r15d, %r15d
LBB0_6:
	movl	24(%r13), %edi
	leaq	L_.str.1(%rip), %rsi
	movl	%r12d, %edx
	movl	%ebx, %ecx
	movl	%r15d, %r8d
	xorl	%eax, %eax
	callq	_dev_dbg
	movq	_DSI_VID_HSIZE1_HSA_LENGTH_SHIFT@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	shll	%cl, %r15d
	movq	_DSI_VID_HSIZE1_HBP_LENGTH_SHIFT@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	shll	%cl, %ebx
	orl	%r15d, %ebx
	movq	_DSI_VID_HSIZE1_HFP_LENGTH_SHIFT@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	shll	%cl, %r12d
	orl	%ebx, %r12d
	movq	_DSI_VID_HSIZE1@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	8(%r13), %rsi
	movl	%r12d, %edi
	callq	_writel
	leal	7(%r14), %edi
	testl	%r14d, %r14d
	cmovnsl	%r14d, %edi
	sarl	$3, %edi
	movq	-48(%rbp), %r15                 ## 8-byte Reload
	imull	20(%r15), %edi
	movq	_DSI_VID_HSIZE2@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	8(%r13), %rsi
	callq	_writel
	movl	24(%r15), %eax
	imull	32(%r15), %eax
	movl	(%r13), %ecx
	leal	7(%rcx), %ebx
	testl	%ecx, %ecx
	cmovnsl	%ecx, %ebx
	sarl	$3, %ebx
	imull	%eax, %ebx
	movl	%ebx, %edi
	movl	$1000000, %esi                  ## imm = 0xF4240
	callq	_do_div
	movl	%ebx, %edi
	movl	$1000000, %esi                  ## imm = 0xF4240
	callq	_do_div
	movq	16(%r13), %rax
	imull	8(%rax), %ebx
	movl	24(%r13), %edi
	leaq	L_.str.2(%rip), %rsi
	movl	%ebx, %edx
	xorl	%eax, %eax
	callq	_dev_dbg
	movq	16(%r13), %rax
	movq	_MIPI_DSI_MODE_VIDEO_SYNC_PULSE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%ecx, 4(%rax)
	movq	%r15, %rdx
	movq	%r14, -56(%rbp)                 ## 8-byte Spill
	je	LBB0_8
## %bb.7:
	movl	%ebx, %eax
	subl	28(%rdx), %eax
	movl	16(%rdx), %ecx
	movq	%rdx, %r14
	leal	(%rax,%rcx), %r12d
	addl	$-6, %r12d
	movq	_DSI_VID_BLKSIZE2@GOTPCREL(%rip), %rax
	movq	_DSI_VID_BLKSIZE2_BLKLINE_PULSE_PCK_SHIFT@GOTPCREL(%rip), %rcx
	jmp	LBB0_9
LBB0_8:
	movq	%rdx, %r14
	leal	-10(%rbx), %r12d
	movq	_DSI_VID_BLKSIZE1@GOTPCREL(%rip), %rax
	movq	_DSI_VID_BLKSIZE1_BLKLINE_EVENT_PCK_SHIFT@GOTPCREL(%rip), %rcx
LBB0_9:
	movb	(%rcx), %cl
	movl	%r12d, %edi
	shll	%cl, %edi
	movq	(%rax), %rsi
	addq	8(%r13), %rsi
	callq	_writel
	leal	6(%r12), %eax
	movq	16(%r13), %rcx
	cltd
	idivl	8(%rcx)
	movl	%eax, %r15d
	movl	24(%r13), %edi
	leaq	L_.str.3(%rip), %rsi
	movl	%eax, %edx
	xorl	%eax, %eax
	callq	_dev_dbg
	movq	_DSI_VID_DPHY_TIME_REG_LINE_DURATION_SHIFT@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	shll	%cl, %r15d
	movq	_DSI_VID_DPHY_TIME@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	8(%r13), %rsi
	movl	%r15d, %edi
	callq	_writel
	movl	20(%r14), %eax
	imull	-56(%rbp), %eax                 ## 4-byte Folded Reload
	subl	%eax, %ebx
	leal	-6(%rbx), %r14d
	movq	16(%r13), %rcx
	movl	%ebx, %eax
	cltd
	idivl	8(%rcx)
	movl	%eax, %ebx
	movl	24(%r13), %edi
	leaq	L_.str.4(%rip), %rsi
	movl	%r14d, %edx
	movl	%eax, %ecx
	xorl	%eax, %eax
	callq	_dev_dbg
	movq	16(%r13), %rax
	movq	_MIPI_DSI_MODE_VIDEO_BURST@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%ecx, 4(%rax)
	je	LBB0_11
## %bb.10:
	movq	_DSI_VID_BLKSIZE1@GOTPCREL(%rip), %r15
	movq	(%r15), %rdi
	addq	8(%r13), %rdi
	callq	_readl
	movq	_DSI_VID_BLKSIZE1_BLKEOL_PCK_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	movl	%r14d, %edi
	shll	%cl, %edi
	orl	%eax, %edi
	movq	(%r15), %rsi
	addq	8(%r13), %rsi
	callq	_writel
	movq	_DSI_VID_VCA_SETTING2@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	8(%r13), %rsi
	movl	%r14d, %edi
	callq	_writel
	movq	_DSI_VID_PCK_TIME@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	8(%r13), %rsi
	movl	%ebx, %edi
	callq	_writel
	addl	$-6, %ebx
	movq	_DSI_VID_VCA_SETTING1@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	8(%r13), %rsi
	movl	%ebx, %edi
	callq	_writel
LBB0_11:
	movq	_DSI_VID_VCA_SETTING2@GOTPCREL(%rip), %rbx
	movq	(%rbx), %rdi
	addq	8(%r13), %rdi
	callq	_readl
	movq	_DSI_VID_VCA_SETTING2_EXACT_BURST_LIMIT_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	shll	%cl, %r12d
	orl	%eax, %r12d
	movq	(%rbx), %rsi
	addq	8(%r13), %rsi
	movl	%r12d, %edi
	callq	_writel
	movq	_DSI_MCTL_MAIN_DATA_CTL@GOTPCREL(%rip), %r14
	movq	(%r14), %rdi
	addq	8(%r13), %rdi
	callq	_readl
	movq	_DSI_MCTL_MAIN_DATA_CTL_IF1_MODE@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	(%r14), %rsi
	addq	8(%r13), %rsi
	movl	%eax, %edi
	callq	_writel
	movq	_DSI_CMD_MODE_CTL@GOTPCREL(%rip), %rbx
	movq	(%rbx), %rdi
	addq	8(%r13), %rdi
	callq	_readl
	movq	_DSI_CMD_MODE_CTL_IF1_LP_EN@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	notl	%edi
	andl	%eax, %edi
	movq	(%rbx), %rsi
	addq	8(%r13), %rsi
	callq	_writel
	movq	_DSI_VID_MODE_STS_CTL@GOTPCREL(%rip), %rbx
	movq	(%rbx), %rdi
	addq	8(%r13), %rdi
	callq	_readl
	movq	_DSI_VID_MODE_STS_CTL_ERR_MISSING_VSYNC@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_DSI_VID_MODE_STS_CTL_ERR_MISSING_DATA@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	(%rbx), %rsi
	addq	8(%r13), %rsi
	movl	%eax, %edi
	callq	_writel
	movq	(%r14), %rdi
	addq	8(%r13), %rdi
	callq	_readl
	movq	_DSI_MCTL_MAIN_DATA_CTL_VID_EN@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	(%r14), %rsi
	addq	8(%r13), %rsi
	movl	%eax, %edi
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_writel                         ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_MIPI_DSI_MODE_VIDEO_BURST,4,2  ## @MIPI_DSI_MODE_VIDEO_BURST
	.comm	_DSI_VID_MAIN_CTL_BURST_MODE,4,2 ## @DSI_VID_MAIN_CTL_BURST_MODE
	.comm	_MIPI_DSI_MODE_VIDEO_SYNC_PULSE,4,2 ## @MIPI_DSI_MODE_VIDEO_SYNC_PULSE
	.comm	_DSI_VID_MAIN_CTL_SYNC_PULSE_ACTIVE,4,2 ## @DSI_VID_MAIN_CTL_SYNC_PULSE_ACTIVE
	.comm	_DSI_VID_MAIN_CTL_SYNC_PULSE_HORIZONTAL,4,2 ## @DSI_VID_MAIN_CTL_SYNC_PULSE_HORIZONTAL
	.comm	_MIPI_DSI_PACKED_PIXEL_STREAM_16,4,2 ## @MIPI_DSI_PACKED_PIXEL_STREAM_16
	.comm	_DSI_VID_MAIN_CTL_HEADER_SHIFT,4,2 ## @DSI_VID_MAIN_CTL_HEADER_SHIFT
	.comm	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_16BITS,4,2 ## @DSI_VID_MAIN_CTL_VID_PIXEL_MODE_16BITS
	.comm	_MIPI_DSI_PACKED_PIXEL_STREAM_18,4,2 ## @MIPI_DSI_PACKED_PIXEL_STREAM_18
	.comm	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_18BITS,4,2 ## @DSI_VID_MAIN_CTL_VID_PIXEL_MODE_18BITS
	.comm	_MIPI_DSI_PIXEL_STREAM_3BYTE_18,4,2 ## @MIPI_DSI_PIXEL_STREAM_3BYTE_18
	.comm	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_18BITS_LOOSE,4,2 ## @DSI_VID_MAIN_CTL_VID_PIXEL_MODE_18BITS_LOOSE
	.comm	_MIPI_DSI_PACKED_PIXEL_STREAM_24,4,2 ## @MIPI_DSI_PACKED_PIXEL_STREAM_24
	.comm	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_24BITS,4,2 ## @DSI_VID_MAIN_CTL_VID_PIXEL_MODE_24BITS
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"unknown pixel mode\n"

	.comm	_DSI_VID_MAIN_CTL_REG_BLKLINE_MODE_LP_0,4,2 ## @DSI_VID_MAIN_CTL_REG_BLKLINE_MODE_LP_0
	.comm	_DSI_VID_MAIN_CTL_REG_BLKEOL_MODE_LP_0,4,2 ## @DSI_VID_MAIN_CTL_REG_BLKEOL_MODE_LP_0
	.comm	_DSI_VID_MAIN_CTL_RECOVERY_MODE_SHIFT,4,2 ## @DSI_VID_MAIN_CTL_RECOVERY_MODE_SHIFT
	.comm	_DSI_VID_MAIN_CTL,8,3           ## @DSI_VID_MAIN_CTL
	.comm	_DSI_VID_VSIZE_VSA_LENGTH_SHIFT,4,2 ## @DSI_VID_VSIZE_VSA_LENGTH_SHIFT
	.comm	_DSI_VID_VSIZE_VFP_LENGTH_SHIFT,4,2 ## @DSI_VID_VSIZE_VFP_LENGTH_SHIFT
	.comm	_DSI_VID_VSIZE_VACT_LENGTH_SHIFT,4,2 ## @DSI_VID_VSIZE_VACT_LENGTH_SHIFT
	.comm	_DSI_VID_VSIZE_VBP_LENGTH_SHIFT,4,2 ## @DSI_VID_VSIZE_VBP_LENGTH_SHIFT
	.comm	_DSI_VID_VSIZE,8,3              ## @DSI_VID_VSIZE
L_.str.1:                               ## @.str.1
	.asciz	"hfp: %u, hbp: %u, hsa: %u\n"

	.comm	_DSI_VID_HSIZE1_HSA_LENGTH_SHIFT,4,2 ## @DSI_VID_HSIZE1_HSA_LENGTH_SHIFT
	.comm	_DSI_VID_HSIZE1_HBP_LENGTH_SHIFT,4,2 ## @DSI_VID_HSIZE1_HBP_LENGTH_SHIFT
	.comm	_DSI_VID_HSIZE1_HFP_LENGTH_SHIFT,4,2 ## @DSI_VID_HSIZE1_HFP_LENGTH_SHIFT
	.comm	_DSI_VID_HSIZE1,8,3             ## @DSI_VID_HSIZE1
	.comm	_DSI_VID_HSIZE2,8,3             ## @DSI_VID_HSIZE2
L_.str.2:                               ## @.str.2
	.asciz	"calculated bytes per line: %llu\n"

	.comm	_DSI_VID_BLKSIZE2_BLKLINE_PULSE_PCK_SHIFT,4,2 ## @DSI_VID_BLKSIZE2_BLKLINE_PULSE_PCK_SHIFT
	.comm	_DSI_VID_BLKSIZE2,8,3           ## @DSI_VID_BLKSIZE2
	.comm	_DSI_VID_BLKSIZE1_BLKLINE_EVENT_PCK_SHIFT,4,2 ## @DSI_VID_BLKSIZE1_BLKLINE_EVENT_PCK_SHIFT
	.comm	_DSI_VID_BLKSIZE1,8,3           ## @DSI_VID_BLKSIZE1
L_.str.3:                               ## @.str.3
	.asciz	"line duration %u\n"

	.comm	_DSI_VID_DPHY_TIME_REG_LINE_DURATION_SHIFT,4,2 ## @DSI_VID_DPHY_TIME_REG_LINE_DURATION_SHIFT
	.comm	_DSI_VID_DPHY_TIME_REG_WAKEUP_TIME_SHIFT,4,2 ## @DSI_VID_DPHY_TIME_REG_WAKEUP_TIME_SHIFT
	.comm	_DSI_VID_DPHY_TIME,8,3          ## @DSI_VID_DPHY_TIME
L_.str.4:                               ## @.str.4
	.asciz	"blkeol pck: %u, duration: %u\n"

	.comm	_DSI_VID_BLKSIZE1_BLKEOL_PCK_SHIFT,4,2 ## @DSI_VID_BLKSIZE1_BLKEOL_PCK_SHIFT
	.comm	_DSI_VID_VCA_SETTING2,8,3       ## @DSI_VID_VCA_SETTING2
	.comm	_DSI_VID_PCK_TIME,8,3           ## @DSI_VID_PCK_TIME
	.comm	_DSI_VID_VCA_SETTING1,8,3       ## @DSI_VID_VCA_SETTING1
	.comm	_DSI_VID_VCA_SETTING2_EXACT_BURST_LIMIT_SHIFT,4,2 ## @DSI_VID_VCA_SETTING2_EXACT_BURST_LIMIT_SHIFT
	.comm	_DSI_MCTL_MAIN_DATA_CTL,8,3     ## @DSI_MCTL_MAIN_DATA_CTL
	.comm	_DSI_MCTL_MAIN_DATA_CTL_IF1_MODE,4,2 ## @DSI_MCTL_MAIN_DATA_CTL_IF1_MODE
	.comm	_DSI_CMD_MODE_CTL,8,3           ## @DSI_CMD_MODE_CTL
	.comm	_DSI_CMD_MODE_CTL_IF1_LP_EN,4,2 ## @DSI_CMD_MODE_CTL_IF1_LP_EN
	.comm	_DSI_VID_MODE_STS_CTL,8,3       ## @DSI_VID_MODE_STS_CTL
	.comm	_DSI_VID_MODE_STS_CTL_ERR_MISSING_VSYNC,4,2 ## @DSI_VID_MODE_STS_CTL_ERR_MISSING_VSYNC
	.comm	_DSI_VID_MODE_STS_CTL_ERR_MISSING_DATA,4,2 ## @DSI_VID_MODE_STS_CTL_ERR_MISSING_DATA
	.comm	_DSI_MCTL_MAIN_DATA_CTL_VID_EN,4,2 ## @DSI_MCTL_MAIN_DATA_CTL_VID_EN
	.no_dead_strip	_mcde_dsi_setup_video_mode
	.section	__DATA,__const
	.p2align	3                               ## @switch.table.mcde_dsi_setup_video_mode
l_switch.table.mcde_dsi_setup_video_mode:
	.quad	_MIPI_DSI_PACKED_PIXEL_STREAM_24
	.quad	_MIPI_DSI_PACKED_PIXEL_STREAM_18
	.quad	_MIPI_DSI_PIXEL_STREAM_3BYTE_18
	.quad	_MIPI_DSI_PACKED_PIXEL_STREAM_16

	.p2align	3                               ## @switch.table.mcde_dsi_setup_video_mode.5
l_switch.table.mcde_dsi_setup_video_mode.5:
	.quad	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_24BITS
	.quad	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_18BITS
	.quad	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_18BITS_LOOSE
	.quad	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_16BITS

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function mcde_dsi_setup_video_mode
_mcde_dsi_setup_video_mode:             ; @mcde_dsi_setup_video_mode
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #96
	.cfi_def_cfa_offset 96
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.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	x20, x1
	mov	x19, x0
	ldr	x8, [x0, #16]
	ldr	w0, [x8]
	bl	_mipi_dsi_pixel_format_to_bpp
	ldr	x9, [x19, #16]
	ldr	w8, [x9]
	sub	w8, w8, #128
	cmp	w8, #4
	b.hs	LBB0_3
; %bb.1:
	mov	x21, x0
Lloh0:
	adrp	x23, _MIPI_DSI_MODE_VIDEO_SYNC_PULSE@GOTPAGE
Lloh1:
	ldr	x23, [x23, _MIPI_DSI_MODE_VIDEO_SYNC_PULSE@GOTPAGEOFF]
	ldr	w10, [x23]
	ldr	w9, [x9, #4]
Lloh2:
	adrp	x24, _MIPI_DSI_MODE_VIDEO_BURST@GOTPAGE
Lloh3:
	ldr	x24, [x24, _MIPI_DSI_MODE_VIDEO_BURST@GOTPAGEOFF]
	ldr	w11, [x24]
Lloh4:
	adrp	x12, _DSI_VID_MAIN_CTL_BURST_MODE@GOTPAGE
Lloh5:
	ldr	x12, [x12, _DSI_VID_MAIN_CTL_BURST_MODE@GOTPAGEOFF]
Lloh6:
	ldr	w12, [x12]
	tst	w11, w9
	csel	w11, wzr, w12, eq
Lloh7:
	adrp	x12, _DSI_VID_MAIN_CTL_SYNC_PULSE_ACTIVE@GOTPAGE
Lloh8:
	ldr	x12, [x12, _DSI_VID_MAIN_CTL_SYNC_PULSE_ACTIVE@GOTPAGEOFF]
Lloh9:
	ldr	w12, [x12]
	orr	w12, w11, w12
Lloh10:
	adrp	x13, _DSI_VID_MAIN_CTL_SYNC_PULSE_HORIZONTAL@GOTPAGE
Lloh11:
	ldr	x13, [x13, _DSI_VID_MAIN_CTL_SYNC_PULSE_HORIZONTAL@GOTPAGEOFF]
Lloh12:
	ldr	w13, [x13]
	orr	w12, w12, w13
	tst	w10, w9
	sbfiz	x8, x8, #3, #32
Lloh13:
	adrp	x9, l_switch.table.mcde_dsi_setup_video_mode@PAGE
Lloh14:
	add	x9, x9, l_switch.table.mcde_dsi_setup_video_mode@PAGEOFF
	ldr	x9, [x9, x8]
Lloh15:
	adrp	x10, l_switch.table.mcde_dsi_setup_video_mode.5@PAGE
Lloh16:
	add	x10, x10, l_switch.table.mcde_dsi_setup_video_mode.5@PAGEOFF
	csel	w11, w11, w12, eq
	ldr	x8, [x10, x8]
	ldr	w9, [x9]
Lloh17:
	adrp	x10, _DSI_VID_MAIN_CTL_HEADER_SHIFT@GOTPAGE
Lloh18:
	ldr	x10, [x10, _DSI_VID_MAIN_CTL_HEADER_SHIFT@GOTPAGEOFF]
Lloh19:
	ldr	w10, [x10]
	lsl	w9, w9, w10
	orr	w9, w9, w11
	ldr	w8, [x8]
Lloh20:
	adrp	x10, _DSI_VID_MAIN_CTL_REG_BLKLINE_MODE_LP_0@GOTPAGE
Lloh21:
	ldr	x10, [x10, _DSI_VID_MAIN_CTL_REG_BLKLINE_MODE_LP_0@GOTPAGEOFF]
	orr	w8, w9, w8
Lloh22:
	ldr	w9, [x10]
	orr	w8, w9, w8
Lloh23:
	adrp	x9, _DSI_VID_MAIN_CTL_REG_BLKEOL_MODE_LP_0@GOTPAGE
Lloh24:
	ldr	x9, [x9, _DSI_VID_MAIN_CTL_REG_BLKEOL_MODE_LP_0@GOTPAGEOFF]
Lloh25:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh26:
	adrp	x9, _DSI_VID_MAIN_CTL_RECOVERY_MODE_SHIFT@GOTPAGE
Lloh27:
	ldr	x9, [x9, _DSI_VID_MAIN_CTL_RECOVERY_MODE_SHIFT@GOTPAGEOFF]
Lloh28:
	ldr	w9, [x9]
	mov	w10, #1
	lsl	w9, w10, w9
	orr	w0, w8, w9
	ldr	x8, [x19, #8]
Lloh29:
	adrp	x9, _DSI_VID_MAIN_CTL@GOTPAGE
Lloh30:
	ldr	x9, [x9, _DSI_VID_MAIN_CTL@GOTPAGEOFF]
Lloh31:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
Lloh32:
	adrp	x8, _DSI_VID_VSIZE_VSA_LENGTH_SHIFT@GOTPAGE
Lloh33:
	ldr	x8, [x8, _DSI_VID_VSIZE_VSA_LENGTH_SHIFT@GOTPAGEOFF]
Lloh34:
	ldr	w8, [x8]
	ldp	w9, w10, [x20]
	lsl	w8, w9, w8
	sub	w9, w10, w9
Lloh35:
	adrp	x11, _DSI_VID_VSIZE_VFP_LENGTH_SHIFT@GOTPAGE
Lloh36:
	ldr	x11, [x11, _DSI_VID_VSIZE_VFP_LENGTH_SHIFT@GOTPAGEOFF]
Lloh37:
	ldr	w11, [x11]
	lsl	w9, w9, w11
	orr	w8, w9, w8
	ldp	w9, w11, [x20, #8]
	sub	w10, w9, w10
Lloh38:
	adrp	x12, _DSI_VID_VSIZE_VACT_LENGTH_SHIFT@GOTPAGE
Lloh39:
	ldr	x12, [x12, _DSI_VID_VSIZE_VACT_LENGTH_SHIFT@GOTPAGEOFF]
Lloh40:
	ldr	w12, [x12]
	lsl	w10, w10, w12
	orr	w8, w8, w10
	sub	w9, w11, w9
Lloh41:
	adrp	x10, _DSI_VID_VSIZE_VBP_LENGTH_SHIFT@GOTPAGE
Lloh42:
	ldr	x10, [x10, _DSI_VID_VSIZE_VBP_LENGTH_SHIFT@GOTPAGEOFF]
Lloh43:
	ldr	w10, [x10]
	lsl	w9, w9, w10
	orr	w0, w8, w9
	ldr	x8, [x19, #8]
Lloh44:
	adrp	x9, _DSI_VID_VSIZE@GOTPAGE
Lloh45:
	ldr	x9, [x9, _DSI_VID_VSIZE@GOTPAGEOFF]
Lloh46:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
	ldp	w8, w9, [x20, #16]
	sub	w9, w8, w9
	mul	w9, w9, w21
	sub	w22, w9, #8
	ldr	x9, [x19, #16]
	ldr	w10, [x9, #4]
	ldr	w11, [x23]
	ldr	w9, [x20, #24]
	tst	w11, w10
	b.eq	LBB0_4
; %bb.2:
	ldr	w10, [x20, #28]
	sub	w9, w9, w10
	mul	w9, w9, w21
	sub	w25, w9, #10
	sub	w8, w10, w8
	mul	w8, w8, w21
	sub	w26, w8, #14
	b	LBB0_5
LBB0_3:
	ldr	w0, [x19, #24]
Lloh47:
	adrp	x1, l_.str@PAGE
Lloh48:
	add	x1, x1, l_.str@PAGEOFF
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #96
	b	_dev_err
LBB0_4:
	mov	w26, #0
	sub	w8, w9, w8
	mul	w8, w8, w21
	sub	w25, w8, #14
LBB0_5:
	ldr	w0, [x19, #24]
	stp	x25, x26, [sp]
Lloh49:
	adrp	x1, l_.str.1@PAGE
Lloh50:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	x2, x22
	bl	_dev_dbg
Lloh51:
	adrp	x8, _DSI_VID_HSIZE1_HSA_LENGTH_SHIFT@GOTPAGE
Lloh52:
	ldr	x8, [x8, _DSI_VID_HSIZE1_HSA_LENGTH_SHIFT@GOTPAGEOFF]
Lloh53:
	ldr	w8, [x8]
	lsl	w8, w26, w8
Lloh54:
	adrp	x9, _DSI_VID_HSIZE1_HBP_LENGTH_SHIFT@GOTPAGE
Lloh55:
	ldr	x9, [x9, _DSI_VID_HSIZE1_HBP_LENGTH_SHIFT@GOTPAGEOFF]
Lloh56:
	ldr	w9, [x9]
	lsl	w9, w25, w9
	orr	w8, w9, w8
Lloh57:
	adrp	x9, _DSI_VID_HSIZE1_HFP_LENGTH_SHIFT@GOTPAGE
Lloh58:
	ldr	x9, [x9, _DSI_VID_HSIZE1_HFP_LENGTH_SHIFT@GOTPAGEOFF]
Lloh59:
	ldr	w9, [x9]
	lsl	w9, w22, w9
	orr	w0, w8, w9
	ldr	x8, [x19, #8]
Lloh60:
	adrp	x9, _DSI_VID_HSIZE1@GOTPAGE
Lloh61:
	ldr	x9, [x9, _DSI_VID_HSIZE1@GOTPAGEOFF]
Lloh62:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
	ldr	w8, [x20, #20]
	add	w9, w21, #7
	cmp	w21, #0
	csel	w9, w9, w21, lt
	asr	w9, w9, #3
	mul	w0, w8, w9
	ldr	x8, [x19, #8]
Lloh63:
	adrp	x9, _DSI_VID_HSIZE2@GOTPAGE
Lloh64:
	ldr	x9, [x9, _DSI_VID_HSIZE2@GOTPAGEOFF]
Lloh65:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
	ldr	w8, [x20, #32]
	ldr	w9, [x20, #24]
	mul	w8, w9, w8
	ldr	w9, [x19]
	add	w10, w9, #7
	cmp	w9, #0
	csel	w9, w10, w9, lt
	asr	w9, w9, #3
	mul	w22, w8, w9
	mov	x0, x22
	mov	w1, #16960
	movk	w1, #15, lsl #16
	bl	_do_div
	mov	x0, x22
	mov	w1, #16960
	movk	w1, #15, lsl #16
	bl	_do_div
	ldr	x8, [x19, #16]
	ldr	w8, [x8, #8]
	mul	w22, w8, w22
	ldr	w0, [x19, #24]
Lloh66:
	adrp	x1, l_.str.2@PAGE
Lloh67:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x2, x22
	bl	_dev_dbg
	ldr	x8, [x19, #16]
	ldr	w8, [x8, #4]
	ldr	w9, [x23]
	tst	w9, w8
	b.eq	LBB0_7
; %bb.6:
	ldr	w8, [x20, #28]
	ldr	w9, [x20, #16]
	sub	w8, w22, w8
	add	w8, w8, w9
	sub	w25, w8, #6
Lloh68:
	adrp	x8, _DSI_VID_BLKSIZE2@GOTPAGE
Lloh69:
	ldr	x8, [x8, _DSI_VID_BLKSIZE2@GOTPAGEOFF]
Lloh70:
	adrp	x9, _DSI_VID_BLKSIZE2_BLKLINE_PULSE_PCK_SHIFT@GOTPAGE
Lloh71:
	ldr	x9, [x9, _DSI_VID_BLKSIZE2_BLKLINE_PULSE_PCK_SHIFT@GOTPAGEOFF]
	b	LBB0_8
LBB0_7:
	sub	w25, w22, #10
Lloh72:
	adrp	x8, _DSI_VID_BLKSIZE1@GOTPAGE
Lloh73:
	ldr	x8, [x8, _DSI_VID_BLKSIZE1@GOTPAGEOFF]
Lloh74:
	adrp	x9, _DSI_VID_BLKSIZE1_BLKLINE_EVENT_PCK_SHIFT@GOTPAGE
Lloh75:
	ldr	x9, [x9, _DSI_VID_BLKSIZE1_BLKLINE_EVENT_PCK_SHIFT@GOTPAGEOFF]
LBB0_8:
	ldr	w9, [x9]
	lsl	w0, w25, w9
	ldr	x9, [x19, #8]
	ldr	x8, [x8]
	add	x1, x8, x9
	bl	_writel
	add	w8, w25, #6
	ldr	x9, [x19, #16]
	ldr	w9, [x9, #8]
	ldr	w0, [x19, #24]
	sdiv	w23, w8, w9
Lloh76:
	adrp	x1, l_.str.3@PAGE
Lloh77:
	add	x1, x1, l_.str.3@PAGEOFF
	mov	x2, x23
	bl	_dev_dbg
Lloh78:
	adrp	x8, _DSI_VID_DPHY_TIME_REG_LINE_DURATION_SHIFT@GOTPAGE
Lloh79:
	ldr	x8, [x8, _DSI_VID_DPHY_TIME_REG_LINE_DURATION_SHIFT@GOTPAGEOFF]
Lloh80:
	ldr	w8, [x8]
	lsl	w0, w23, w8
	ldr	x8, [x19, #8]
Lloh81:
	adrp	x9, _DSI_VID_DPHY_TIME@GOTPAGE
Lloh82:
	ldr	x9, [x9, _DSI_VID_DPHY_TIME@GOTPAGEOFF]
Lloh83:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
	ldr	w8, [x20, #20]
	msub	w8, w8, w21, w22
	sub	w21, w8, #6
	ldr	x9, [x19, #16]
	ldr	w9, [x9, #8]
	ldr	w0, [x19, #24]
	sdiv	w20, w8, w9
	str	x20, [sp]
Lloh84:
	adrp	x1, l_.str.4@PAGE
Lloh85:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	x2, x21
	bl	_dev_dbg
	ldr	x8, [x19, #16]
	ldr	w8, [x8, #4]
	ldr	w9, [x24]
Lloh86:
	adrp	x22, _DSI_VID_VCA_SETTING2@GOTPAGE
Lloh87:
	ldr	x22, [x22, _DSI_VID_VCA_SETTING2@GOTPAGEOFF]
	tst	w9, w8
	b.eq	LBB0_10
; %bb.9:
	ldr	x8, [x19, #8]
Lloh88:
	adrp	x23, _DSI_VID_BLKSIZE1@GOTPAGE
Lloh89:
	ldr	x23, [x23, _DSI_VID_BLKSIZE1@GOTPAGEOFF]
	ldr	x9, [x23]
	add	x0, x9, x8
	bl	_readl
Lloh90:
	adrp	x8, _DSI_VID_BLKSIZE1_BLKEOL_PCK_SHIFT@GOTPAGE
Lloh91:
	ldr	x8, [x8, _DSI_VID_BLKSIZE1_BLKEOL_PCK_SHIFT@GOTPAGEOFF]
Lloh92:
	ldr	w8, [x8]
	lsl	w8, w21, w8
	orr	w0, w8, w0
	ldr	x8, [x19, #8]
	ldr	x9, [x23]
	add	x1, x9, x8
	bl	_writel
	ldr	x8, [x19, #8]
	ldr	x9, [x22]
	add	x1, x9, x8
	mov	x0, x21
	bl	_writel
	ldr	x8, [x19, #8]
Lloh93:
	adrp	x9, _DSI_VID_PCK_TIME@GOTPAGE
Lloh94:
	ldr	x9, [x9, _DSI_VID_PCK_TIME@GOTPAGEOFF]
Lloh95:
	ldr	x9, [x9]
	add	x1, x9, x8
	mov	x0, x20
	bl	_writel
	sub	w0, w20, #6
	ldr	x8, [x19, #8]
Lloh96:
	adrp	x9, _DSI_VID_VCA_SETTING1@GOTPAGE
Lloh97:
	ldr	x9, [x9, _DSI_VID_VCA_SETTING1@GOTPAGEOFF]
Lloh98:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
LBB0_10:
	ldr	x8, [x19, #8]
	ldr	x9, [x22]
	add	x0, x9, x8
	bl	_readl
Lloh99:
	adrp	x8, _DSI_VID_VCA_SETTING2_EXACT_BURST_LIMIT_SHIFT@GOTPAGE
Lloh100:
	ldr	x8, [x8, _DSI_VID_VCA_SETTING2_EXACT_BURST_LIMIT_SHIFT@GOTPAGEOFF]
Lloh101:
	ldr	w8, [x8]
	lsl	w8, w25, w8
	orr	w0, w8, w0
	ldr	x8, [x19, #8]
	ldr	x9, [x22]
	add	x1, x9, x8
	bl	_writel
	ldr	x8, [x19, #8]
Lloh102:
	adrp	x20, _DSI_MCTL_MAIN_DATA_CTL@GOTPAGE
Lloh103:
	ldr	x20, [x20, _DSI_MCTL_MAIN_DATA_CTL@GOTPAGEOFF]
	ldr	x9, [x20]
	add	x0, x9, x8
	bl	_readl
Lloh104:
	adrp	x8, _DSI_MCTL_MAIN_DATA_CTL_IF1_MODE@GOTPAGE
Lloh105:
	ldr	x8, [x8, _DSI_MCTL_MAIN_DATA_CTL_IF1_MODE@GOTPAGEOFF]
Lloh106:
	ldr	w8, [x8]
	orr	w0, w8, w0
	ldr	x8, [x19, #8]
	ldr	x9, [x20]
	add	x1, x9, x8
	bl	_writel
	ldr	x8, [x19, #8]
Lloh107:
	adrp	x21, _DSI_CMD_MODE_CTL@GOTPAGE
Lloh108:
	ldr	x21, [x21, _DSI_CMD_MODE_CTL@GOTPAGEOFF]
	ldr	x9, [x21]
	add	x0, x9, x8
	bl	_readl
Lloh109:
	adrp	x8, _DSI_CMD_MODE_CTL_IF1_LP_EN@GOTPAGE
Lloh110:
	ldr	x8, [x8, _DSI_CMD_MODE_CTL_IF1_LP_EN@GOTPAGEOFF]
Lloh111:
	ldr	w8, [x8]
	bic	w0, w0, w8
	ldr	x8, [x19, #8]
	ldr	x9, [x21]
	add	x1, x9, x8
	bl	_writel
	ldr	x8, [x19, #8]
Lloh112:
	adrp	x21, _DSI_VID_MODE_STS_CTL@GOTPAGE
Lloh113:
	ldr	x21, [x21, _DSI_VID_MODE_STS_CTL@GOTPAGEOFF]
	ldr	x9, [x21]
	add	x0, x9, x8
	bl	_readl
Lloh114:
	adrp	x8, _DSI_VID_MODE_STS_CTL_ERR_MISSING_VSYNC@GOTPAGE
Lloh115:
	ldr	x8, [x8, _DSI_VID_MODE_STS_CTL_ERR_MISSING_VSYNC@GOTPAGEOFF]
Lloh116:
	ldr	w8, [x8]
Lloh117:
	adrp	x9, _DSI_VID_MODE_STS_CTL_ERR_MISSING_DATA@GOTPAGE
Lloh118:
	ldr	x9, [x9, _DSI_VID_MODE_STS_CTL_ERR_MISSING_DATA@GOTPAGEOFF]
	orr	w8, w8, w0
Lloh119:
	ldr	w9, [x9]
	orr	w0, w8, w9
	ldr	x8, [x19, #8]
	ldr	x9, [x21]
	add	x1, x9, x8
	bl	_writel
	ldr	x8, [x19, #8]
	ldr	x9, [x20]
	add	x0, x9, x8
	bl	_readl
Lloh120:
	adrp	x8, _DSI_MCTL_MAIN_DATA_CTL_VID_EN@GOTPAGE
Lloh121:
	ldr	x8, [x8, _DSI_MCTL_MAIN_DATA_CTL_VID_EN@GOTPAGEOFF]
Lloh122:
	ldr	w8, [x8]
	orr	w0, w8, w0
	ldr	x8, [x19, #8]
	ldr	x9, [x20]
	add	x1, x9, x8
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #96
	b	_writel
	.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 AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpAdd	Lloh15, Lloh16
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpAdd	Lloh47, Lloh48
	.loh AdrpAdd	Lloh66, Lloh67
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpLdrGotLdr	Lloh60, Lloh61, Lloh62
	.loh AdrpLdrGotLdr	Lloh57, Lloh58, Lloh59
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpAdd	Lloh49, Lloh50
	.loh AdrpLdrGot	Lloh70, Lloh71
	.loh AdrpLdrGot	Lloh68, Lloh69
	.loh AdrpLdrGot	Lloh74, Lloh75
	.loh AdrpLdrGot	Lloh72, Lloh73
	.loh AdrpLdrGot	Lloh86, Lloh87
	.loh AdrpAdd	Lloh84, Lloh85
	.loh AdrpLdrGotLdr	Lloh81, Lloh82, Lloh83
	.loh AdrpLdrGotLdr	Lloh78, Lloh79, Lloh80
	.loh AdrpAdd	Lloh76, Lloh77
	.loh AdrpLdrGotLdr	Lloh96, Lloh97, Lloh98
	.loh AdrpLdrGotLdr	Lloh93, Lloh94, Lloh95
	.loh AdrpLdrGotLdr	Lloh90, Lloh91, Lloh92
	.loh AdrpLdrGot	Lloh88, Lloh89
	.loh AdrpLdrGotLdr	Lloh120, Lloh121, Lloh122
	.loh AdrpLdrGotLdr	Lloh117, Lloh118, Lloh119
	.loh AdrpLdrGotLdr	Lloh114, Lloh115, Lloh116
	.loh AdrpLdrGot	Lloh112, Lloh113
	.loh AdrpLdrGotLdr	Lloh109, Lloh110, Lloh111
	.loh AdrpLdrGot	Lloh107, Lloh108
	.loh AdrpLdrGotLdr	Lloh104, Lloh105, Lloh106
	.loh AdrpLdrGot	Lloh102, Lloh103
	.loh AdrpLdrGotLdr	Lloh99, Lloh100, Lloh101
	.cfi_endproc
                                        ; -- End function
	.comm	_MIPI_DSI_MODE_VIDEO_BURST,4,2  ; @MIPI_DSI_MODE_VIDEO_BURST
	.comm	_DSI_VID_MAIN_CTL_BURST_MODE,4,2 ; @DSI_VID_MAIN_CTL_BURST_MODE
	.comm	_MIPI_DSI_MODE_VIDEO_SYNC_PULSE,4,2 ; @MIPI_DSI_MODE_VIDEO_SYNC_PULSE
	.comm	_DSI_VID_MAIN_CTL_SYNC_PULSE_ACTIVE,4,2 ; @DSI_VID_MAIN_CTL_SYNC_PULSE_ACTIVE
	.comm	_DSI_VID_MAIN_CTL_SYNC_PULSE_HORIZONTAL,4,2 ; @DSI_VID_MAIN_CTL_SYNC_PULSE_HORIZONTAL
	.comm	_MIPI_DSI_PACKED_PIXEL_STREAM_16,4,2 ; @MIPI_DSI_PACKED_PIXEL_STREAM_16
	.comm	_DSI_VID_MAIN_CTL_HEADER_SHIFT,4,2 ; @DSI_VID_MAIN_CTL_HEADER_SHIFT
	.comm	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_16BITS,4,2 ; @DSI_VID_MAIN_CTL_VID_PIXEL_MODE_16BITS
	.comm	_MIPI_DSI_PACKED_PIXEL_STREAM_18,4,2 ; @MIPI_DSI_PACKED_PIXEL_STREAM_18
	.comm	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_18BITS,4,2 ; @DSI_VID_MAIN_CTL_VID_PIXEL_MODE_18BITS
	.comm	_MIPI_DSI_PIXEL_STREAM_3BYTE_18,4,2 ; @MIPI_DSI_PIXEL_STREAM_3BYTE_18
	.comm	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_18BITS_LOOSE,4,2 ; @DSI_VID_MAIN_CTL_VID_PIXEL_MODE_18BITS_LOOSE
	.comm	_MIPI_DSI_PACKED_PIXEL_STREAM_24,4,2 ; @MIPI_DSI_PACKED_PIXEL_STREAM_24
	.comm	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_24BITS,4,2 ; @DSI_VID_MAIN_CTL_VID_PIXEL_MODE_24BITS
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"unknown pixel mode\n"

	.comm	_DSI_VID_MAIN_CTL_REG_BLKLINE_MODE_LP_0,4,2 ; @DSI_VID_MAIN_CTL_REG_BLKLINE_MODE_LP_0
	.comm	_DSI_VID_MAIN_CTL_REG_BLKEOL_MODE_LP_0,4,2 ; @DSI_VID_MAIN_CTL_REG_BLKEOL_MODE_LP_0
	.comm	_DSI_VID_MAIN_CTL_RECOVERY_MODE_SHIFT,4,2 ; @DSI_VID_MAIN_CTL_RECOVERY_MODE_SHIFT
	.comm	_DSI_VID_MAIN_CTL,8,3           ; @DSI_VID_MAIN_CTL
	.comm	_DSI_VID_VSIZE_VSA_LENGTH_SHIFT,4,2 ; @DSI_VID_VSIZE_VSA_LENGTH_SHIFT
	.comm	_DSI_VID_VSIZE_VFP_LENGTH_SHIFT,4,2 ; @DSI_VID_VSIZE_VFP_LENGTH_SHIFT
	.comm	_DSI_VID_VSIZE_VACT_LENGTH_SHIFT,4,2 ; @DSI_VID_VSIZE_VACT_LENGTH_SHIFT
	.comm	_DSI_VID_VSIZE_VBP_LENGTH_SHIFT,4,2 ; @DSI_VID_VSIZE_VBP_LENGTH_SHIFT
	.comm	_DSI_VID_VSIZE,8,3              ; @DSI_VID_VSIZE
l_.str.1:                               ; @.str.1
	.asciz	"hfp: %u, hbp: %u, hsa: %u\n"

	.comm	_DSI_VID_HSIZE1_HSA_LENGTH_SHIFT,4,2 ; @DSI_VID_HSIZE1_HSA_LENGTH_SHIFT
	.comm	_DSI_VID_HSIZE1_HBP_LENGTH_SHIFT,4,2 ; @DSI_VID_HSIZE1_HBP_LENGTH_SHIFT
	.comm	_DSI_VID_HSIZE1_HFP_LENGTH_SHIFT,4,2 ; @DSI_VID_HSIZE1_HFP_LENGTH_SHIFT
	.comm	_DSI_VID_HSIZE1,8,3             ; @DSI_VID_HSIZE1
	.comm	_DSI_VID_HSIZE2,8,3             ; @DSI_VID_HSIZE2
l_.str.2:                               ; @.str.2
	.asciz	"calculated bytes per line: %llu\n"

	.comm	_DSI_VID_BLKSIZE2_BLKLINE_PULSE_PCK_SHIFT,4,2 ; @DSI_VID_BLKSIZE2_BLKLINE_PULSE_PCK_SHIFT
	.comm	_DSI_VID_BLKSIZE2,8,3           ; @DSI_VID_BLKSIZE2
	.comm	_DSI_VID_BLKSIZE1_BLKLINE_EVENT_PCK_SHIFT,4,2 ; @DSI_VID_BLKSIZE1_BLKLINE_EVENT_PCK_SHIFT
	.comm	_DSI_VID_BLKSIZE1,8,3           ; @DSI_VID_BLKSIZE1
l_.str.3:                               ; @.str.3
	.asciz	"line duration %u\n"

	.comm	_DSI_VID_DPHY_TIME_REG_LINE_DURATION_SHIFT,4,2 ; @DSI_VID_DPHY_TIME_REG_LINE_DURATION_SHIFT
	.comm	_DSI_VID_DPHY_TIME_REG_WAKEUP_TIME_SHIFT,4,2 ; @DSI_VID_DPHY_TIME_REG_WAKEUP_TIME_SHIFT
	.comm	_DSI_VID_DPHY_TIME,8,3          ; @DSI_VID_DPHY_TIME
l_.str.4:                               ; @.str.4
	.asciz	"blkeol pck: %u, duration: %u\n"

	.comm	_DSI_VID_BLKSIZE1_BLKEOL_PCK_SHIFT,4,2 ; @DSI_VID_BLKSIZE1_BLKEOL_PCK_SHIFT
	.comm	_DSI_VID_VCA_SETTING2,8,3       ; @DSI_VID_VCA_SETTING2
	.comm	_DSI_VID_PCK_TIME,8,3           ; @DSI_VID_PCK_TIME
	.comm	_DSI_VID_VCA_SETTING1,8,3       ; @DSI_VID_VCA_SETTING1
	.comm	_DSI_VID_VCA_SETTING2_EXACT_BURST_LIMIT_SHIFT,4,2 ; @DSI_VID_VCA_SETTING2_EXACT_BURST_LIMIT_SHIFT
	.comm	_DSI_MCTL_MAIN_DATA_CTL,8,3     ; @DSI_MCTL_MAIN_DATA_CTL
	.comm	_DSI_MCTL_MAIN_DATA_CTL_IF1_MODE,4,2 ; @DSI_MCTL_MAIN_DATA_CTL_IF1_MODE
	.comm	_DSI_CMD_MODE_CTL,8,3           ; @DSI_CMD_MODE_CTL
	.comm	_DSI_CMD_MODE_CTL_IF1_LP_EN,4,2 ; @DSI_CMD_MODE_CTL_IF1_LP_EN
	.comm	_DSI_VID_MODE_STS_CTL,8,3       ; @DSI_VID_MODE_STS_CTL
	.comm	_DSI_VID_MODE_STS_CTL_ERR_MISSING_VSYNC,4,2 ; @DSI_VID_MODE_STS_CTL_ERR_MISSING_VSYNC
	.comm	_DSI_VID_MODE_STS_CTL_ERR_MISSING_DATA,4,2 ; @DSI_VID_MODE_STS_CTL_ERR_MISSING_DATA
	.comm	_DSI_MCTL_MAIN_DATA_CTL_VID_EN,4,2 ; @DSI_MCTL_MAIN_DATA_CTL_VID_EN
	.no_dead_strip	_mcde_dsi_setup_video_mode
	.section	__DATA,__const
	.p2align	3                               ; @switch.table.mcde_dsi_setup_video_mode
l_switch.table.mcde_dsi_setup_video_mode:
	.quad	_MIPI_DSI_PACKED_PIXEL_STREAM_24
	.quad	_MIPI_DSI_PACKED_PIXEL_STREAM_18
	.quad	_MIPI_DSI_PIXEL_STREAM_3BYTE_18
	.quad	_MIPI_DSI_PACKED_PIXEL_STREAM_16

	.p2align	3                               ; @switch.table.mcde_dsi_setup_video_mode.5
l_switch.table.mcde_dsi_setup_video_mode.5:
	.quad	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_24BITS
	.quad	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_18BITS
	.quad	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_18BITS_LOOSE
	.quad	_DSI_VID_MAIN_CTL_VID_PIXEL_MODE_16BITS

.subsections_via_symbols
