	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function mcde_dsi_host_transfer
LCPI0_0:
	.quad	2147483648                      ## 0x80000000
	.quad	2147483648                      ## 0x80000000
LCPI0_1:
	.quad	2147483648                      ## 0x80000000
	.quad	2147483649                      ## 0x80000001
LCPI0_2:
	.quad	-9223372034707292160            ## 0x8000000080000000
	.quad	-9223372034707292160            ## 0x8000000080000000
LCPI0_3:
	.quad	-9223372034707292160            ## 0x8000000080000000
	.quad	-9223372034707292159            ## 0x8000000080000001
LCPI0_4:
	.quad	-9223372034707292158            ## 0x8000000080000002
	.quad	-9223372034707292157            ## 0x8000000080000003
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_mcde_dsi_host_transfer:                ## @mcde_dsi_host_transfer
	.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, %rbx
	callq	_host_to_mcde_dsi
	movq	%rax, %r14
	movq	8(%rbx), %r13
	cmpq	$17, %r13
	jb	LBB0_2
## %bb.1:
	movl	8(%r14), %edi
	leaq	L_.str(%rip), %rsi
	jmp	LBB0_4
LBB0_2:
	movq	16(%rbx), %r12
	movl	8(%r14), %edi
	cmpq	$5, %r12
	jb	LBB0_8
## %bb.3:
	leaq	L_.str.1(%rip), %rsi
LBB0_4:
	xorl	%r13d, %r13d
	xorl	%eax, %eax
	callq	_dev_err
LBB0_5:
	movq	_EIO@GOTPCREL(%rip), %rax
LBB0_6:
	subl	(%rax), %r13d
LBB0_7:
	movl	%r13d, %eax
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_8:
	movq	(%rbx), %r15
	movl	40(%rbx), %edx
	leaq	L_.str.2(%rip), %rsi
	movq	%r13, %rcx
	movq	%r12, %r8
	callq	_dev_dbg
	movq	24(%rbx), %rdi
	callq	_MCDE_DSI_HOST_IS_READ
	testq	%rax, %rax
	movq	%rbx, -48(%rbp)                 ## 8-byte Spill
	movq	%r12, -56(%rbp)                 ## 8-byte Spill
	jne	LBB0_10
## %bb.9:
	movq	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_WRITE@GOTPCREL(%rip), %rax
	jmp	LBB0_11
LBB0_10:
	movq	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_READ@GOTPCREL(%rip), %rax
LBB0_11:
	movq	(%rax), %r12
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	24(%rbx), %rdi
	callq	_mipi_dsi_packet_format_is_long
	testq	%rax, %rax
	je	LBB0_13
## %bb.12:
	movq	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_LONGNOTSHORT@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
LBB0_13:
	movq	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_SIZE_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	movq	%r13, %rdx
	shlq	%cl, %rdx
	orq	%rax, %rdx
	orq	%rdx, %r12
	movq	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_LP_EN@GOTPCREL(%rip), %rax
	orq	(%rax), %r12
	movq	24(%rbx), %rbx
	movq	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_HEAD_SHIFT@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	shlq	%cl, %rbx
	orq	%r12, %rbx
	movq	_DSI_DIRECT_CMD_MAIN_SETTINGS@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	movl	%ebx, %edi
	callq	_writel
	testq	%r13, %r13
	je	LBB0_19
## %bb.14:
	leaq	-1(%r13), %rax
	cmpq	$3, %rax
	movl	$3, %ecx
	cmovbq	%rax, %rcx
	movl	(%r15), %eax
	testq	%rcx, %rcx
	je	LBB0_18
## %bb.15:
	movl	4(%r15), %edx
	shll	$8, %edx
	orl	%edx, %eax
	cmpq	$1, %rcx
	je	LBB0_18
## %bb.16:
	movl	8(%r15), %edx
	shll	$16, %edx
	orl	%edx, %eax
	cmpq	$2, %rcx
	je	LBB0_18
## %bb.17:
	movl	12(%r15), %ecx
	shll	$24, %ecx
	orl	%ecx, %eax
LBB0_18:
	movl	%eax, %ebx
LBB0_19:
	movq	_DSI_DIRECT_CMD_WRDAT0@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	movl	%ebx, %edi
	callq	_writel
	cmpq	$5, %r13
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	jb	LBB0_35
## %bb.20:
	leaq	-4(%r13), %rax
	movl	16(%r15), %edi
	cmpq	$1, %rax
	je	LBB0_24
## %bb.21:
	movl	20(%r15), %ecx
	shll	$8, %ecx
	orl	%ecx, %edi
	cmpq	$2, %rax
	je	LBB0_24
## %bb.22:
	movl	24(%r15), %ecx
	shll	$16, %ecx
	orl	%ecx, %edi
	cmpq	$3, %rax
	je	LBB0_24
## %bb.23:
	movl	28(%r15), %eax
	shll	$24, %eax
	orl	%eax, %edi
LBB0_24:
	movq	_DSI_DIRECT_CMD_WRDAT1@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	callq	_writel
	cmpq	$9, %r13
	jb	LBB0_35
## %bb.25:
	leaq	-8(%r13), %rax
	movl	32(%r15), %edi
	cmpq	$1, %rax
	je	LBB0_29
## %bb.26:
	movl	36(%r15), %ecx
	shll	$8, %ecx
	orl	%ecx, %edi
	cmpq	$2, %rax
	je	LBB0_29
## %bb.27:
	movl	40(%r15), %ecx
	shll	$16, %ecx
	orl	%ecx, %edi
	cmpq	$3, %rax
	je	LBB0_29
## %bb.28:
	movl	44(%r15), %eax
	shll	$24, %eax
	orl	%eax, %edi
LBB0_29:
	movq	_DSI_DIRECT_CMD_WRDAT2@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	callq	_writel
	cmpq	$13, %r13
	jb	LBB0_35
## %bb.30:
	leaq	-12(%r13), %rax
	movl	48(%r15), %edi
	cmpq	$1, %rax
	je	LBB0_34
## %bb.31:
	movl	52(%r15), %ecx
	shll	$8, %ecx
	orl	%ecx, %edi
	cmpq	$2, %rax
	je	LBB0_34
## %bb.32:
	movl	56(%r15), %ecx
	shll	$16, %ecx
	orl	%ecx, %edi
	cmpq	$3, %rax
	je	LBB0_34
## %bb.33:
	movl	60(%r15), %eax
	shll	$24, %eax
	orl	%eax, %edi
LBB0_34:
	movq	_DSI_DIRECT_CMD_WRDAT3@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	callq	_writel
LBB0_35:
	movq	_DSI_DIRECT_CMD_STS_CLR@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	movl	$-1, %edi
	callq	_writel
	movq	_DSI_CMD_MODE_STS_CLR@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	movl	$-1, %edi
	callq	_writel
	movq	_DSI_DIRECT_CMD_SEND@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	movl	$1, %edi
	callq	_writel
	movq	24(%rbx), %rdi
	callq	_MCDE_DSI_HOST_IS_READ
	movq	%rax, %rbx
	movq	_DSI_DIRECT_CMD_STS@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	addq	(%r14), %rdi
	callq	_readl
	movq	%r14, %r15
	testq	%rbx, %rbx
	je	LBB0_40
## %bb.36:
	movq	_DSI_DIRECT_CMD_STS_READ_COMPLETED@GOTPCREL(%rip), %rbx
	movq	_DSI_DIRECT_CMD_STS_READ_COMPLETED_WITH_ERR@GOTPCREL(%rip), %r12
	movq	(%r12), %rcx
	orq	(%rbx), %rcx
	testq	%rax, %rcx
	jne	LBB0_44
## %bb.37:
	movq	$-100000, %r14                  ## imm = 0xFFFE7960
	.p2align	4, 0x90
LBB0_38:                                ## =>This Inner Loop Header: Depth=1
	incq	%r14
	je	LBB0_48
## %bb.39:                              ##   in Loop: Header=BB0_38 Depth=1
	movl	$10, %edi
	movl	$15, %esi
	callq	_usleep_range
	movq	_DSI_DIRECT_CMD_STS@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	addq	(%r15), %rdi
	callq	_readl
	movq	(%r12), %rcx
	orq	(%rbx), %rcx
	testq	%rax, %rcx
	je	LBB0_38
	jmp	LBB0_44
LBB0_40:
	movq	_DSI_DIRECT_CMD_STS_WRITE_COMPLETED@GOTPCREL(%rip), %r14
	testq	%rax, (%r14)
	jne	LBB0_44
## %bb.41:
	movq	$-100000, %rbx                  ## imm = 0xFFFE7960
	.p2align	4, 0x90
LBB0_42:                                ## =>This Inner Loop Header: Depth=1
	incq	%rbx
	je	LBB0_52
## %bb.43:                              ##   in Loop: Header=BB0_42 Depth=1
	movl	$10, %edi
	movl	$15, %esi
	callq	_usleep_range
	movq	_DSI_DIRECT_CMD_STS@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	addq	(%r15), %rdi
	callq	_readl
	testq	%rax, (%r14)
	je	LBB0_42
LBB0_44:
	movq	_DSI_DIRECT_CMD_STS@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	addq	(%r15), %rdi
	callq	_readl
	movq	_DSI_DIRECT_CMD_STS_READ_COMPLETED_WITH_ERR@GOTPCREL(%rip), %rcx
	testq	%rax, (%rcx)
	je	LBB0_46
## %bb.45:
	movl	8(%r15), %edi
	leaq	L_.str.5(%rip), %rsi
	xorl	%r13d, %r13d
	xorl	%eax, %eax
	callq	_dev_err
	movq	_DSI_DIRECT_CMD_RD_INIT@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r15), %rsi
	movl	$1, %edi
	callq	_writel
	jmp	LBB0_5
LBB0_46:
	movq	_DSI_DIRECT_CMD_STS_ACKNOWLEDGE_WITH_ERR_RECEIVED@GOTPCREL(%rip), %rcx
	testq	%rax, (%rcx)
	je	LBB0_49
## %bb.47:
	movq	_DSI_DIRECT_CMD_STS_ACK_VAL_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	shrq	%cl, %rax
	movl	8(%r15), %edi
	leaq	L_.str.6(%rip), %rsi
	xorl	%r13d, %r13d
	movq	%rax, %rdx
	xorl	%eax, %eax
	callq	_dev_err
	jmp	LBB0_5
LBB0_48:
	movl	8(%r15), %edi
	leaq	L_.str.3(%rip), %rsi
	jmp	LBB0_53
LBB0_49:
	movq	-48(%rbp), %r14                 ## 8-byte Reload
	movq	24(%r14), %rdi
	callq	_MCDE_DSI_HOST_IS_READ
	testq	%rax, %rax
	je	LBB0_63
## %bb.50:
	movq	32(%r14), %r14
	movq	_DSI_DIRECT_CMD_RD_PROPERTY@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	addq	(%r15), %rdi
	callq	_readl
	movq	%rax, %r13
	movq	_DSI_DIRECT_CMD_RD_PROPERTY_RD_SIZE_MASK@GOTPCREL(%rip), %rax
	andq	(%rax), %r13
	movq	_DSI_DIRECT_CMD_RDDAT@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	addq	(%r15), %rdi
	callq	_readl
	movq	-56(%rbp), %rdx                 ## 8-byte Reload
	cmpq	%rdx, %r13
	jae	LBB0_54
## %bb.51:
	movl	8(%r15), %edi
	leaq	L_.str.7(%rip), %rsi
	xorl	%ebx, %ebx
	movq	%r13, %rcx
	xorl	%eax, %eax
	callq	_dev_err
	movq	_EIO@GOTPCREL(%rip), %rax
	subl	(%rax), %ebx
	movl	%ebx, %r13d
	jmp	LBB0_7
LBB0_52:
	movl	8(%r15), %edi
	leaq	L_.str.4(%rip), %rsi
LBB0_53:
	xorl	%r13d, %r13d
	xorl	%eax, %eax
	callq	_dev_err
	movq	_ETIME@GOTPCREL(%rip), %rax
	jmp	LBB0_6
LBB0_54:
	testq	%rdx, %rdx
	je	LBB0_63
## %bb.55:
	decq	%rdx
	cmpq	$3, %rdx
	movl	$3, %ecx
	cmovbq	%rdx, %rcx
	movq	%rcx, %xmm0
	pshufd	$68, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,0,1]
	movdqa	LCPI0_0(%rip), %xmm1            ## xmm1 = [2147483648,2147483648]
	por	%xmm0, %xmm1
	movdqa	LCPI0_1(%rip), %xmm2            ## xmm2 = [2147483648,2147483649]
	movdqa	%xmm2, %xmm3
	pcmpgtd	%xmm1, %xmm3
	pcmpeqd	%xmm2, %xmm1
	pshufd	$245, %xmm1, %xmm1              ## xmm1 = xmm1[1,1,3,3]
	pand	%xmm3, %xmm1
	pshufd	$245, %xmm3, %xmm2              ## xmm2 = xmm3[1,1,3,3]
	por	%xmm1, %xmm2
	movd	%xmm2, %ecx
	notl	%ecx
	testb	$1, %cl
	je	LBB0_57
## %bb.56:
	movzbl	%al, %ecx
	movl	%ecx, (%r14)
LBB0_57:
	pxor	LCPI0_2(%rip), %xmm0
	movdqa	LCPI0_3(%rip), %xmm1            ## xmm1 = [9223372039002259456,9223372039002259457]
	movdqa	%xmm1, %xmm2
	pcmpgtd	%xmm0, %xmm2
	pcmpeqd	%xmm0, %xmm1
	pshufd	$245, %xmm1, %xmm1              ## xmm1 = xmm1[1,1,3,3]
	pand	%xmm2, %xmm1
	pshufd	$245, %xmm2, %xmm2              ## xmm2 = xmm2[1,1,3,3]
	por	%xmm1, %xmm2
	pcmpeqd	%xmm1, %xmm1
	pxor	%xmm1, %xmm2
	pextrb	$8, %xmm2, %ecx
	testb	$1, %cl
	je	LBB0_59
## %bb.58:
	movzbl	%ah, %ecx
	movl	%ecx, 4(%r14)
LBB0_59:
	movdqa	LCPI0_4(%rip), %xmm2            ## xmm2 = [9223372039002259458,9223372039002259459]
	movdqa	%xmm2, %xmm3
	pcmpgtd	%xmm0, %xmm3
	pcmpeqd	%xmm0, %xmm2
	pshufd	$245, %xmm2, %xmm2              ## xmm2 = xmm2[1,1,3,3]
	pand	%xmm3, %xmm2
	pshufd	$245, %xmm3, %xmm0              ## xmm0 = xmm3[1,1,3,3]
	por	%xmm2, %xmm0
	pxor	%xmm0, %xmm1
	pextrb	$0, %xmm1, %ecx
	testb	$1, %cl
	je	LBB0_61
## %bb.60:
	movl	%eax, %ecx
	shrl	$16, %ecx
	movzbl	%cl, %ecx
	movl	%ecx, 8(%r14)
LBB0_61:
	pcmpeqd	%xmm1, %xmm1
	pxor	%xmm1, %xmm0
	pextrb	$8, %xmm0, %ecx
	testb	$1, %cl
	je	LBB0_63
## %bb.62:
	shrl	$24, %eax
	movl	%eax, 12(%r14)
LBB0_63:
	movq	_DSI_DIRECT_CMD_STS_CLR@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r15), %rsi
	movl	$-1, %edi
	callq	_writel
	movq	_DSI_CMD_MODE_STS_CLR@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r15), %rsi
	movl	$-1, %edi
	callq	_writel
	jmp	LBB0_7
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"dunno how to write more than 16 bytes yet\n"

	.comm	_EIO,4,2                        ## @EIO
L_.str.1:                               ## @.str.1
	.asciz	"dunno how to read more than 4 bytes yet\n"

L_.str.2:                               ## @.str.2
	.asciz	"message to channel %d, write %zd bytes read %zd bytes\n"

	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_READ,8,3 ## @DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_READ
	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_WRITE,8,3 ## @DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_WRITE
	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_LONGNOTSHORT,8,3 ## @DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_LONGNOTSHORT
	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_ID_SHIFT,8,3 ## @DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_ID_SHIFT
	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_SIZE_SHIFT,8,3 ## @DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_SIZE_SHIFT
	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_LP_EN,8,3 ## @DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_LP_EN
	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_HEAD_SHIFT,8,3 ## @DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_HEAD_SHIFT
	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS,8,3 ## @DSI_DIRECT_CMD_MAIN_SETTINGS
	.comm	_DSI_DIRECT_CMD_WRDAT0,8,3      ## @DSI_DIRECT_CMD_WRDAT0
	.comm	_DSI_DIRECT_CMD_WRDAT1,8,3      ## @DSI_DIRECT_CMD_WRDAT1
	.comm	_DSI_DIRECT_CMD_WRDAT2,8,3      ## @DSI_DIRECT_CMD_WRDAT2
	.comm	_DSI_DIRECT_CMD_WRDAT3,8,3      ## @DSI_DIRECT_CMD_WRDAT3
	.comm	_DSI_DIRECT_CMD_STS_CLR,8,3     ## @DSI_DIRECT_CMD_STS_CLR
	.comm	_DSI_CMD_MODE_STS_CLR,8,3       ## @DSI_CMD_MODE_STS_CLR
	.comm	_DSI_DIRECT_CMD_SEND,8,3        ## @DSI_DIRECT_CMD_SEND
	.comm	_DSI_DIRECT_CMD_STS,8,3         ## @DSI_DIRECT_CMD_STS
	.comm	_DSI_DIRECT_CMD_STS_READ_COMPLETED,8,3 ## @DSI_DIRECT_CMD_STS_READ_COMPLETED
	.comm	_DSI_DIRECT_CMD_STS_READ_COMPLETED_WITH_ERR,8,3 ## @DSI_DIRECT_CMD_STS_READ_COMPLETED_WITH_ERR
L_.str.3:                               ## @.str.3
	.asciz	"DSI read timeout!\n"

	.comm	_ETIME,4,2                      ## @ETIME
	.comm	_DSI_DIRECT_CMD_STS_WRITE_COMPLETED,8,3 ## @DSI_DIRECT_CMD_STS_WRITE_COMPLETED
L_.str.4:                               ## @.str.4
	.asciz	"DSI write timeout!\n"

L_.str.5:                               ## @.str.5
	.asciz	"read completed with error\n"

	.comm	_DSI_DIRECT_CMD_RD_INIT,8,3     ## @DSI_DIRECT_CMD_RD_INIT
	.comm	_DSI_DIRECT_CMD_STS_ACKNOWLEDGE_WITH_ERR_RECEIVED,8,3 ## @DSI_DIRECT_CMD_STS_ACKNOWLEDGE_WITH_ERR_RECEIVED
	.comm	_DSI_DIRECT_CMD_STS_ACK_VAL_SHIFT,8,3 ## @DSI_DIRECT_CMD_STS_ACK_VAL_SHIFT
L_.str.6:                               ## @.str.6
	.asciz	"error during transmission: %04x\n"

	.comm	_DSI_DIRECT_CMD_RD_PROPERTY,8,3 ## @DSI_DIRECT_CMD_RD_PROPERTY
	.comm	_DSI_DIRECT_CMD_RD_PROPERTY_RD_SIZE_MASK,8,3 ## @DSI_DIRECT_CMD_RD_PROPERTY_RD_SIZE_MASK
	.comm	_DSI_DIRECT_CMD_RDDAT,8,3       ## @DSI_DIRECT_CMD_RDDAT
L_.str.7:                               ## @.str.7
	.asciz	"read error, requested %zd got %d\n"

	.no_dead_strip	_mcde_dsi_host_transfer
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function mcde_dsi_host_transfer
lCPI0_0:
	.quad	0                               ; 0x0
	.quad	1                               ; 0x1
lCPI0_1:
	.quad	1                               ; 0x1
	.quad	2                               ; 0x2
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_mcde_dsi_host_transfer:                ; @mcde_dsi_host_transfer
	.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	x22, x1
	bl	_host_to_mcde_dsi
	mov	x20, x0
	ldr	x19, [x22, #8]
	cmp	x19, #17
	b.lo	LBB0_2
; %bb.1:
	ldr	w0, [x20, #8]
Lloh0:
	adrp	x1, l_.str@PAGE
Lloh1:
	add	x1, x1, l_.str@PAGEOFF
	b	LBB0_4
LBB0_2:
	ldr	x21, [x22, #16]
	ldr	w0, [x20, #8]
	cmp	x21, #5
	b.lo	LBB0_8
; %bb.3:
Lloh2:
	adrp	x1, l_.str.1@PAGE
Lloh3:
	add	x1, x1, l_.str.1@PAGEOFF
LBB0_4:
	bl	_dev_err
LBB0_5:
Lloh4:
	adrp	x8, _EIO@GOTPAGE
Lloh5:
	ldr	x8, [x8, _EIO@GOTPAGEOFF]
LBB0_6:
	ldr	w8, [x8]
	neg	w19, w8
LBB0_7:
	mov	x0, x19
	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
	ret
LBB0_8:
	ldr	x24, [x22]
	ldr	w2, [x22, #40]
Lloh6:
	adrp	x1, l_.str.2@PAGE
Lloh7:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x3, x19
	mov	x4, x21
	bl	_dev_dbg
	ldr	x0, [x22, #24]
	bl	_MCDE_DSI_HOST_IS_READ
Lloh8:
	adrp	x8, _DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_WRITE@GOTPAGE
Lloh9:
	ldr	x8, [x8, _DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_WRITE@GOTPAGEOFF]
Lloh10:
	adrp	x9, _DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_READ@GOTPAGE
Lloh11:
	ldr	x9, [x9, _DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_READ@GOTPAGEOFF]
	cmp	x0, #0
	csel	x8, x8, x9, eq
	ldr	x23, [x8]
	ldr	x0, [x22, #24]
	bl	_mipi_dsi_packet_format_is_long
Lloh12:
	adrp	x8, _DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_LONGNOTSHORT@GOTPAGE
Lloh13:
	ldr	x8, [x8, _DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_LONGNOTSHORT@GOTPAGEOFF]
Lloh14:
	ldr	x8, [x8]
	cmp	x0, #0
	csel	x8, xzr, x8, eq
	orr	x8, x8, x23
Lloh15:
	adrp	x9, _DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_SIZE_SHIFT@GOTPAGE
Lloh16:
	ldr	x9, [x9, _DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_SIZE_SHIFT@GOTPAGEOFF]
Lloh17:
	ldr	x9, [x9]
	lsl	x9, x19, x9
	orr	x8, x8, x9
Lloh18:
	adrp	x9, _DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_LP_EN@GOTPAGE
Lloh19:
	ldr	x9, [x9, _DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_LP_EN@GOTPAGEOFF]
Lloh20:
	ldr	x9, [x9]
	orr	x8, x8, x9
	ldr	x9, [x22, #24]
Lloh21:
	adrp	x10, _DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_HEAD_SHIFT@GOTPAGE
Lloh22:
	ldr	x10, [x10, _DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_HEAD_SHIFT@GOTPAGEOFF]
Lloh23:
	ldr	x10, [x10]
	lsl	x9, x9, x10
	orr	x23, x8, x9
	ldr	x8, [x20]
Lloh24:
	adrp	x9, _DSI_DIRECT_CMD_MAIN_SETTINGS@GOTPAGE
Lloh25:
	ldr	x9, [x9, _DSI_DIRECT_CMD_MAIN_SETTINGS@GOTPAGEOFF]
Lloh26:
	ldr	x9, [x9]
	add	x1, x9, x8
	mov	x0, x23
	bl	_writel
	cbz	x19, LBB0_14
; %bb.9:
	sub	x8, x19, #1
	mov	w9, #3
	cmp	x8, #3
	csel	x9, x8, x9, lo
	ldr	w8, [x24]
	cbz	x9, LBB0_13
; %bb.10:
	ldr	w10, [x24, #4]
	orr	w8, w8, w10, lsl #8
	cmp	x9, #1
	b.eq	LBB0_13
; %bb.11:
	ldr	w10, [x24, #8]
	orr	w8, w8, w10, lsl #16
	cmp	x9, #2
	b.eq	LBB0_13
; %bb.12:
	ldr	w9, [x24, #12]
	orr	w8, w8, w9, lsl #24
LBB0_13:
	mov	w23, w8
LBB0_14:
	ldr	x8, [x20]
Lloh27:
	adrp	x9, _DSI_DIRECT_CMD_WRDAT0@GOTPAGE
Lloh28:
	ldr	x9, [x9, _DSI_DIRECT_CMD_WRDAT0@GOTPAGEOFF]
Lloh29:
	ldr	x9, [x9]
	add	x1, x9, x8
	mov	x0, x23
	bl	_writel
	cmp	x19, #5
	b.lo	LBB0_30
; %bb.15:
	sub	x8, x19, #4
	ldr	w0, [x24, #16]
	cmp	x8, #1
	b.eq	LBB0_19
; %bb.16:
	ldr	w9, [x24, #20]
	orr	w0, w0, w9, lsl #8
	cmp	x8, #2
	b.eq	LBB0_19
; %bb.17:
	ldr	w9, [x24, #24]
	orr	w0, w0, w9, lsl #16
	cmp	x8, #3
	b.eq	LBB0_19
; %bb.18:
	ldr	w8, [x24, #28]
	orr	w0, w0, w8, lsl #24
LBB0_19:
	ldr	x8, [x20]
Lloh30:
	adrp	x9, _DSI_DIRECT_CMD_WRDAT1@GOTPAGE
Lloh31:
	ldr	x9, [x9, _DSI_DIRECT_CMD_WRDAT1@GOTPAGEOFF]
Lloh32:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
	cmp	x19, #9
	b.lo	LBB0_30
; %bb.20:
	sub	x8, x19, #8
	ldr	w0, [x24, #32]
	cmp	x8, #1
	b.eq	LBB0_24
; %bb.21:
	ldr	w9, [x24, #36]
	orr	w0, w0, w9, lsl #8
	cmp	x8, #2
	b.eq	LBB0_24
; %bb.22:
	ldr	w9, [x24, #40]
	orr	w0, w0, w9, lsl #16
	cmp	x8, #3
	b.eq	LBB0_24
; %bb.23:
	ldr	w8, [x24, #44]
	orr	w0, w0, w8, lsl #24
LBB0_24:
	ldr	x8, [x20]
Lloh33:
	adrp	x9, _DSI_DIRECT_CMD_WRDAT2@GOTPAGE
Lloh34:
	ldr	x9, [x9, _DSI_DIRECT_CMD_WRDAT2@GOTPAGEOFF]
Lloh35:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
	cmp	x19, #13
	b.lo	LBB0_30
; %bb.25:
	sub	x8, x19, #12
	ldr	w0, [x24, #48]
	cmp	x8, #1
	b.eq	LBB0_29
; %bb.26:
	ldr	w9, [x24, #52]
	orr	w0, w0, w9, lsl #8
	cmp	x8, #2
	b.eq	LBB0_29
; %bb.27:
	ldr	w9, [x24, #56]
	orr	w0, w0, w9, lsl #16
	cmp	x8, #3
	b.eq	LBB0_29
; %bb.28:
	ldr	w8, [x24, #60]
	orr	w0, w0, w8, lsl #24
LBB0_29:
	ldr	x8, [x20]
Lloh36:
	adrp	x9, _DSI_DIRECT_CMD_WRDAT3@GOTPAGE
Lloh37:
	ldr	x9, [x9, _DSI_DIRECT_CMD_WRDAT3@GOTPAGEOFF]
Lloh38:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel
LBB0_30:
	ldr	x8, [x20]
Lloh39:
	adrp	x24, _DSI_DIRECT_CMD_STS_CLR@GOTPAGE
Lloh40:
	ldr	x24, [x24, _DSI_DIRECT_CMD_STS_CLR@GOTPAGEOFF]
	ldr	x9, [x24]
	add	x1, x9, x8
	mov	w0, #-1
	bl	_writel
	ldr	x8, [x20]
Lloh41:
	adrp	x25, _DSI_CMD_MODE_STS_CLR@GOTPAGE
Lloh42:
	ldr	x25, [x25, _DSI_CMD_MODE_STS_CLR@GOTPAGEOFF]
	ldr	x9, [x25]
	add	x1, x9, x8
	mov	w0, #-1
	bl	_writel
	ldr	x8, [x20]
Lloh43:
	adrp	x9, _DSI_DIRECT_CMD_SEND@GOTPAGE
Lloh44:
	ldr	x9, [x9, _DSI_DIRECT_CMD_SEND@GOTPAGEOFF]
Lloh45:
	ldr	x9, [x9]
	add	x1, x9, x8
	mov	w0, #1
	bl	_writel
	ldr	x0, [x22, #24]
	bl	_MCDE_DSI_HOST_IS_READ
	mov	x23, x0
	ldr	x8, [x20]
Lloh46:
	adrp	x26, _DSI_DIRECT_CMD_STS@GOTPAGE
Lloh47:
	ldr	x26, [x26, _DSI_DIRECT_CMD_STS@GOTPAGEOFF]
	ldr	x9, [x26]
	add	x0, x9, x8
	bl	_readl
Lloh48:
	adrp	x27, _DSI_DIRECT_CMD_STS_READ_COMPLETED_WITH_ERR@GOTPAGE
Lloh49:
	ldr	x27, [x27, _DSI_DIRECT_CMD_STS_READ_COMPLETED_WITH_ERR@GOTPAGEOFF]
	cbz	x23, LBB0_35
; %bb.31:
Lloh50:
	adrp	x23, _DSI_DIRECT_CMD_STS_READ_COMPLETED@GOTPAGE
Lloh51:
	ldr	x23, [x23, _DSI_DIRECT_CMD_STS_READ_COMPLETED@GOTPAGEOFF]
	ldr	x8, [x23]
	ldr	x9, [x27]
	orr	x8, x9, x8
	tst	x8, x0
	b.ne	LBB0_39
; %bb.32:
	mov	x28, #-34464
	movk	x28, #65534, lsl #16
LBB0_33:                                ; =>This Inner Loop Header: Depth=1
	adds	x28, x28, #1
	b.hs	LBB0_43
; %bb.34:                               ;   in Loop: Header=BB0_33 Depth=1
	mov	w0, #10
	mov	w1, #15
	bl	_usleep_range
	ldr	x8, [x20]
	ldr	x9, [x26]
	add	x0, x9, x8
	bl	_readl
	ldr	x8, [x23]
	ldr	x9, [x27]
	orr	x8, x9, x8
	tst	x8, x0
	b.eq	LBB0_33
	b	LBB0_39
LBB0_35:
Lloh52:
	adrp	x23, _DSI_DIRECT_CMD_STS_WRITE_COMPLETED@GOTPAGE
Lloh53:
	ldr	x23, [x23, _DSI_DIRECT_CMD_STS_WRITE_COMPLETED@GOTPAGEOFF]
	ldr	x8, [x23]
	tst	x8, x0
	b.ne	LBB0_39
; %bb.36:
	mov	x28, #-34464
	movk	x28, #65534, lsl #16
LBB0_37:                                ; =>This Inner Loop Header: Depth=1
	adds	x28, x28, #1
	b.hs	LBB0_47
; %bb.38:                               ;   in Loop: Header=BB0_37 Depth=1
	mov	w0, #10
	mov	w1, #15
	bl	_usleep_range
	ldr	x8, [x20]
	ldr	x9, [x26]
	add	x0, x9, x8
	bl	_readl
	ldr	x8, [x23]
	tst	x8, x0
	b.eq	LBB0_37
LBB0_39:
	ldr	x8, [x20]
	ldr	x9, [x26]
	add	x0, x9, x8
	bl	_readl
	ldr	x8, [x27]
	tst	x8, x0
	b.eq	LBB0_41
; %bb.40:
	ldr	w0, [x20, #8]
Lloh54:
	adrp	x1, l_.str.5@PAGE
Lloh55:
	add	x1, x1, l_.str.5@PAGEOFF
	bl	_dev_err
	ldr	x8, [x20]
Lloh56:
	adrp	x9, _DSI_DIRECT_CMD_RD_INIT@GOTPAGE
Lloh57:
	ldr	x9, [x9, _DSI_DIRECT_CMD_RD_INIT@GOTPAGEOFF]
Lloh58:
	ldr	x9, [x9]
	add	x1, x9, x8
	mov	w0, #1
	bl	_writel
	b	LBB0_5
LBB0_41:
Lloh59:
	adrp	x8, _DSI_DIRECT_CMD_STS_ACKNOWLEDGE_WITH_ERR_RECEIVED@GOTPAGE
Lloh60:
	ldr	x8, [x8, _DSI_DIRECT_CMD_STS_ACKNOWLEDGE_WITH_ERR_RECEIVED@GOTPAGEOFF]
Lloh61:
	ldr	x8, [x8]
	tst	x8, x0
	b.eq	LBB0_44
; %bb.42:
Lloh62:
	adrp	x8, _DSI_DIRECT_CMD_STS_ACK_VAL_SHIFT@GOTPAGE
Lloh63:
	ldr	x8, [x8, _DSI_DIRECT_CMD_STS_ACK_VAL_SHIFT@GOTPAGEOFF]
Lloh64:
	ldr	x8, [x8]
	lsr	x8, x0, x8
	ldr	w0, [x20, #8]
	str	x8, [sp]
Lloh65:
	adrp	x1, l_.str.6@PAGE
Lloh66:
	add	x1, x1, l_.str.6@PAGEOFF
	b	LBB0_4
LBB0_43:
	ldr	w0, [x20, #8]
Lloh67:
	adrp	x1, l_.str.3@PAGE
Lloh68:
	add	x1, x1, l_.str.3@PAGEOFF
	b	LBB0_48
LBB0_44:
	ldr	x0, [x22, #24]
	bl	_MCDE_DSI_HOST_IS_READ
	cbz	x0, LBB0_59
; %bb.45:
	ldr	x22, [x22, #32]
	ldr	x8, [x20]
Lloh69:
	adrp	x9, _DSI_DIRECT_CMD_RD_PROPERTY@GOTPAGE
Lloh70:
	ldr	x9, [x9, _DSI_DIRECT_CMD_RD_PROPERTY@GOTPAGEOFF]
Lloh71:
	ldr	x9, [x9]
	add	x0, x9, x8
	bl	_readl
Lloh72:
	adrp	x8, _DSI_DIRECT_CMD_RD_PROPERTY_RD_SIZE_MASK@GOTPAGE
Lloh73:
	ldr	x8, [x8, _DSI_DIRECT_CMD_RD_PROPERTY_RD_SIZE_MASK@GOTPAGEOFF]
Lloh74:
	ldr	x8, [x8]
	and	x19, x8, x0
	ldr	x8, [x20]
Lloh75:
	adrp	x9, _DSI_DIRECT_CMD_RDDAT@GOTPAGE
Lloh76:
	ldr	x9, [x9, _DSI_DIRECT_CMD_RDDAT@GOTPAGEOFF]
Lloh77:
	ldr	x9, [x9]
	add	x0, x9, x8
	bl	_readl
	cmp	x19, x21
	b.hs	LBB0_49
; %bb.46:
	ldr	w0, [x20, #8]
	stp	x21, x19, [sp]
Lloh78:
	adrp	x1, l_.str.7@PAGE
Lloh79:
	add	x1, x1, l_.str.7@PAGEOFF
	b	LBB0_4
LBB0_47:
	ldr	w0, [x20, #8]
Lloh80:
	adrp	x1, l_.str.4@PAGE
Lloh81:
	add	x1, x1, l_.str.4@PAGEOFF
LBB0_48:
	bl	_dev_err
Lloh82:
	adrp	x8, _ETIME@GOTPAGE
Lloh83:
	ldr	x8, [x8, _ETIME@GOTPAGEOFF]
	b	LBB0_6
LBB0_49:
	cbz	x21, LBB0_59
; %bb.50:
	sub	x8, x21, #1
	mov	w9, #3
	cmp	x8, #3
	csel	x8, x8, x9, lo
	dup.2d	v0, x8
	add	w8, w8, #2
Lloh84:
	adrp	x9, lCPI0_0@PAGE
Lloh85:
	ldr	q1, [x9, lCPI0_0@PAGEOFF]
	cmhs.2d	v1, v0, v1
	xtn.2s	v1, v1
	fmov	w9, s1
	tbz	w9, #0, LBB0_52
; %bb.51:
	and	w9, w0, #0xff
	str	w9, [x22]
LBB0_52:
	and	x8, x8, #0x6
	mov.s	w9, v1[1]
	tbz	w9, #0, LBB0_54
; %bb.53:
	ubfx	w9, w0, #8, #8
	str	w9, [x22, #4]
LBB0_54:
	cmp	x8, #2
	b.eq	LBB0_59
; %bb.55:
Lloh86:
	adrp	x8, lCPI0_1@PAGE
Lloh87:
	ldr	q1, [x8, lCPI0_1@PAGEOFF]
	cmhi.2d	v0, v0, v1
	xtn.2s	v0, v0
	fmov	w8, s0
	tbz	w8, #0, LBB0_57
; %bb.56:
	ubfx	w8, w0, #16, #8
	str	w8, [x22, #8]
LBB0_57:
	mov.s	w8, v0[1]
	tbz	w8, #0, LBB0_59
; %bb.58:
	ubfx	x8, x0, #24, #8
	str	w8, [x22, #12]
LBB0_59:
	ldr	x8, [x20]
	ldr	x9, [x24]
	add	x1, x9, x8
	mov	w0, #-1
	bl	_writel
	ldr	x8, [x20]
	ldr	x9, [x25]
	add	x1, x9, x8
	mov	w0, #-1
	bl	_writel
	b	LBB0_7
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGot	Lloh10, Lloh11
	.loh AdrpLdrGot	Lloh8, Lloh9
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGot	Lloh48, Lloh49
	.loh AdrpLdrGot	Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGot	Lloh41, Lloh42
	.loh AdrpLdrGot	Lloh39, Lloh40
	.loh AdrpLdrGot	Lloh50, Lloh51
	.loh AdrpLdrGot	Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh56, Lloh57, Lloh58
	.loh AdrpAdd	Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh59, Lloh60, Lloh61
	.loh AdrpAdd	Lloh65, Lloh66
	.loh AdrpLdrGotLdr	Lloh62, Lloh63, Lloh64
	.loh AdrpAdd	Lloh67, Lloh68
	.loh AdrpLdrGotLdr	Lloh75, Lloh76, Lloh77
	.loh AdrpLdrGotLdr	Lloh72, Lloh73, Lloh74
	.loh AdrpLdrGotLdr	Lloh69, Lloh70, Lloh71
	.loh AdrpAdd	Lloh78, Lloh79
	.loh AdrpAdd	Lloh80, Lloh81
	.loh AdrpLdrGot	Lloh82, Lloh83
	.loh AdrpLdr	Lloh84, Lloh85
	.loh AdrpLdr	Lloh86, Lloh87
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"dunno how to write more than 16 bytes yet\n"

	.comm	_EIO,4,2                        ; @EIO
l_.str.1:                               ; @.str.1
	.asciz	"dunno how to read more than 4 bytes yet\n"

l_.str.2:                               ; @.str.2
	.asciz	"message to channel %d, write %zd bytes read %zd bytes\n"

	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_READ,8,3 ; @DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_READ
	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_WRITE,8,3 ; @DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_WRITE
	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_LONGNOTSHORT,8,3 ; @DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_LONGNOTSHORT
	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_ID_SHIFT,8,3 ; @DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_ID_SHIFT
	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_SIZE_SHIFT,8,3 ; @DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_SIZE_SHIFT
	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_LP_EN,8,3 ; @DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_LP_EN
	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_HEAD_SHIFT,8,3 ; @DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_HEAD_SHIFT
	.comm	_DSI_DIRECT_CMD_MAIN_SETTINGS,8,3 ; @DSI_DIRECT_CMD_MAIN_SETTINGS
	.comm	_DSI_DIRECT_CMD_WRDAT0,8,3      ; @DSI_DIRECT_CMD_WRDAT0
	.comm	_DSI_DIRECT_CMD_WRDAT1,8,3      ; @DSI_DIRECT_CMD_WRDAT1
	.comm	_DSI_DIRECT_CMD_WRDAT2,8,3      ; @DSI_DIRECT_CMD_WRDAT2
	.comm	_DSI_DIRECT_CMD_WRDAT3,8,3      ; @DSI_DIRECT_CMD_WRDAT3
	.comm	_DSI_DIRECT_CMD_STS_CLR,8,3     ; @DSI_DIRECT_CMD_STS_CLR
	.comm	_DSI_CMD_MODE_STS_CLR,8,3       ; @DSI_CMD_MODE_STS_CLR
	.comm	_DSI_DIRECT_CMD_SEND,8,3        ; @DSI_DIRECT_CMD_SEND
	.comm	_DSI_DIRECT_CMD_STS,8,3         ; @DSI_DIRECT_CMD_STS
	.comm	_DSI_DIRECT_CMD_STS_READ_COMPLETED,8,3 ; @DSI_DIRECT_CMD_STS_READ_COMPLETED
	.comm	_DSI_DIRECT_CMD_STS_READ_COMPLETED_WITH_ERR,8,3 ; @DSI_DIRECT_CMD_STS_READ_COMPLETED_WITH_ERR
l_.str.3:                               ; @.str.3
	.asciz	"DSI read timeout!\n"

	.comm	_ETIME,4,2                      ; @ETIME
	.comm	_DSI_DIRECT_CMD_STS_WRITE_COMPLETED,8,3 ; @DSI_DIRECT_CMD_STS_WRITE_COMPLETED
l_.str.4:                               ; @.str.4
	.asciz	"DSI write timeout!\n"

l_.str.5:                               ; @.str.5
	.asciz	"read completed with error\n"

	.comm	_DSI_DIRECT_CMD_RD_INIT,8,3     ; @DSI_DIRECT_CMD_RD_INIT
	.comm	_DSI_DIRECT_CMD_STS_ACKNOWLEDGE_WITH_ERR_RECEIVED,8,3 ; @DSI_DIRECT_CMD_STS_ACKNOWLEDGE_WITH_ERR_RECEIVED
	.comm	_DSI_DIRECT_CMD_STS_ACK_VAL_SHIFT,8,3 ; @DSI_DIRECT_CMD_STS_ACK_VAL_SHIFT
l_.str.6:                               ; @.str.6
	.asciz	"error during transmission: %04x\n"

	.comm	_DSI_DIRECT_CMD_RD_PROPERTY,8,3 ; @DSI_DIRECT_CMD_RD_PROPERTY
	.comm	_DSI_DIRECT_CMD_RD_PROPERTY_RD_SIZE_MASK,8,3 ; @DSI_DIRECT_CMD_RD_PROPERTY_RD_SIZE_MASK
	.comm	_DSI_DIRECT_CMD_RDDAT,8,3       ; @DSI_DIRECT_CMD_RDDAT
l_.str.7:                               ; @.str.7
	.asciz	"read error, requested %zd got %d\n"

	.no_dead_strip	_mcde_dsi_host_transfer
.subsections_via_symbols
