	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function dp_aux_ch_ctl_link_training
_dp_aux_ch_ctl_link_training:           ## @dp_aux_ch_ctl_link_training
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_DPCD_TRAINING_PATTERN_SET_MASK@GOTPCREL(%rip), %rax
	andl	(%rax), %esi
	movq	_DPCD_TRAINING_PATTERN_1@GOTPCREL(%rip), %rax
	cmpl	(%rax), %esi
	jne	LBB0_2
## %bb.1:
	movq	_DPCD_LANES_CR_DONE@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	(%rdi), %rdx
	movq	_DPCD_LANE0_1_STATUS@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	orl	%ecx, (%rdx,%rsi,4)
	movl	(%rax), %eax
	movq	_DPCD_LANE2_3_STATUS@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	orl	%eax, (%rdx,%rcx,4)
	popq	%rbp
	retq
LBB0_2:
	movq	_DPCD_TRAINING_PATTERN_2@GOTPCREL(%rip), %rax
	cmpl	(%rax), %esi
	jne	LBB0_4
## %bb.3:
	movq	_DPCD_LANES_EQ_DONE@GOTPCREL(%rip), %rax
	movq	(%rdi), %rcx
	movq	_DPCD_LANE0_1_STATUS@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	movl	(%rcx,%rdx,4), %esi
	orl	(%rax), %esi
	movl	%esi, (%rcx,%rdx,4)
	movq	_DPCD_SYMBOL_LOCKED@GOTPCREL(%rip), %rdi
	orl	(%rdi), %esi
	movl	%esi, (%rcx,%rdx,4)
	movq	_DPCD_LANE2_3_STATUS@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	movl	(%rcx,%rdx,4), %esi
	orl	(%rax), %esi
	movl	%esi, (%rcx,%rdx,4)
	orl	(%rdi), %esi
	movl	%esi, (%rcx,%rdx,4)
	movq	_DPCD_INTERLANE_ALIGN_DONE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_DPCD_LANE_ALIGN_STATUS_UPDATED@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	orl	%eax, (%rcx,%rdx,4)
	popq	%rbp
	retq
LBB0_4:
	movq	_DPCD_LINK_TRAINING_DISABLED@GOTPCREL(%rip), %rax
	cmpl	(%rax), %esi
	jne	LBB0_6
## %bb.5:
	movq	_DPCD_SINK_IN_SYNC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	(%rdi), %rcx
	movq	_DPCD_SINK_STATUS@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	movl	%eax, (%rcx,%rdx,4)
LBB0_6:
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_DPCD_TRAINING_PATTERN_SET_MASK,4,2 ## @DPCD_TRAINING_PATTERN_SET_MASK
	.comm	_DPCD_TRAINING_PATTERN_1,4,2    ## @DPCD_TRAINING_PATTERN_1
	.comm	_DPCD_LANES_CR_DONE,4,2         ## @DPCD_LANES_CR_DONE
	.comm	_DPCD_LANE0_1_STATUS,8,3        ## @DPCD_LANE0_1_STATUS
	.comm	_DPCD_LANE2_3_STATUS,8,3        ## @DPCD_LANE2_3_STATUS
	.comm	_DPCD_TRAINING_PATTERN_2,4,2    ## @DPCD_TRAINING_PATTERN_2
	.comm	_DPCD_LANES_EQ_DONE,4,2         ## @DPCD_LANES_EQ_DONE
	.comm	_DPCD_SYMBOL_LOCKED,4,2         ## @DPCD_SYMBOL_LOCKED
	.comm	_DPCD_INTERLANE_ALIGN_DONE,4,2  ## @DPCD_INTERLANE_ALIGN_DONE
	.comm	_DPCD_LANE_ALIGN_STATUS_UPDATED,8,3 ## @DPCD_LANE_ALIGN_STATUS_UPDATED
	.comm	_DPCD_LINK_TRAINING_DISABLED,4,2 ## @DPCD_LINK_TRAINING_DISABLED
	.comm	_DPCD_SINK_IN_SYNC,4,2          ## @DPCD_SINK_IN_SYNC
	.comm	_DPCD_SINK_STATUS,8,3           ## @DPCD_SINK_STATUS
	.no_dead_strip	_dp_aux_ch_ctl_link_training
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function dp_aux_ch_ctl_link_training
_dp_aux_ch_ctl_link_training:           ; @dp_aux_ch_ctl_link_training
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x8, _DPCD_TRAINING_PATTERN_SET_MASK@GOTPAGE
Lloh1:
	ldr	x8, [x8, _DPCD_TRAINING_PATTERN_SET_MASK@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	and	w8, w8, w1
Lloh3:
	adrp	x9, _DPCD_TRAINING_PATTERN_1@GOTPAGE
Lloh4:
	ldr	x9, [x9, _DPCD_TRAINING_PATTERN_1@GOTPAGEOFF]
Lloh5:
	ldr	w9, [x9]
	cmp	w8, w9
	b.ne	LBB0_2
; %bb.1:
Lloh6:
	adrp	x8, _DPCD_LANES_CR_DONE@GOTPAGE
Lloh7:
	ldr	x8, [x8, _DPCD_LANES_CR_DONE@GOTPAGEOFF]
	ldr	w9, [x8]
Lloh8:
	adrp	x10, _DPCD_LANE0_1_STATUS@GOTPAGE
Lloh9:
	ldr	x10, [x10, _DPCD_LANE0_1_STATUS@GOTPAGEOFF]
	ldr	x11, [x0]
Lloh10:
	ldr	x10, [x10]
	lsl	x10, x10, #2
	ldr	w12, [x11, x10]
	orr	w9, w12, w9
	str	w9, [x11, x10]
	ldr	w8, [x8]
Lloh11:
	adrp	x9, _DPCD_LANE2_3_STATUS@GOTPAGE
Lloh12:
	ldr	x9, [x9, _DPCD_LANE2_3_STATUS@GOTPAGEOFF]
Lloh13:
	ldr	x9, [x9]
	lsl	x9, x9, #2
	ldr	w10, [x11, x9]
	orr	w8, w10, w8
	str	w8, [x11, x9]
	ret
LBB0_2:
Lloh14:
	adrp	x9, _DPCD_TRAINING_PATTERN_2@GOTPAGE
Lloh15:
	ldr	x9, [x9, _DPCD_TRAINING_PATTERN_2@GOTPAGEOFF]
Lloh16:
	ldr	w9, [x9]
	cmp	w8, w9
	b.ne	LBB0_4
; %bb.3:
Lloh17:
	adrp	x8, _DPCD_LANES_EQ_DONE@GOTPAGE
Lloh18:
	ldr	x8, [x8, _DPCD_LANES_EQ_DONE@GOTPAGEOFF]
	ldr	x9, [x0]
Lloh19:
	adrp	x10, _DPCD_LANE0_1_STATUS@GOTPAGE
Lloh20:
	ldr	x10, [x10, _DPCD_LANE0_1_STATUS@GOTPAGEOFF]
Lloh21:
	ldr	x10, [x10]
	lsl	x10, x10, #2
	ldr	w11, [x9, x10]
	ldr	w12, [x8]
	orr	w11, w11, w12
	str	w11, [x9, x10]
Lloh22:
	adrp	x12, _DPCD_SYMBOL_LOCKED@GOTPAGE
Lloh23:
	ldr	x12, [x12, _DPCD_SYMBOL_LOCKED@GOTPAGEOFF]
	ldr	w13, [x12]
	orr	w11, w13, w11
	str	w11, [x9, x10]
Lloh24:
	adrp	x10, _DPCD_LANE2_3_STATUS@GOTPAGE
Lloh25:
	ldr	x10, [x10, _DPCD_LANE2_3_STATUS@GOTPAGEOFF]
	ldr	w8, [x8]
Lloh26:
	ldr	x10, [x10]
	lsl	x10, x10, #2
	ldr	w11, [x9, x10]
	orr	w8, w11, w8
	str	w8, [x9, x10]
	ldr	w11, [x12]
	orr	w8, w11, w8
	str	w8, [x9, x10]
Lloh27:
	adrp	x8, _DPCD_INTERLANE_ALIGN_DONE@GOTPAGE
Lloh28:
	ldr	x8, [x8, _DPCD_INTERLANE_ALIGN_DONE@GOTPAGEOFF]
Lloh29:
	ldr	w8, [x8]
Lloh30:
	adrp	x10, _DPCD_LANE_ALIGN_STATUS_UPDATED@GOTPAGE
Lloh31:
	ldr	x10, [x10, _DPCD_LANE_ALIGN_STATUS_UPDATED@GOTPAGEOFF]
Lloh32:
	ldr	x10, [x10]
	lsl	x10, x10, #2
	ldr	w11, [x9, x10]
	orr	w8, w11, w8
	str	w8, [x9, x10]
	ret
LBB0_4:
Lloh33:
	adrp	x9, _DPCD_LINK_TRAINING_DISABLED@GOTPAGE
Lloh34:
	ldr	x9, [x9, _DPCD_LINK_TRAINING_DISABLED@GOTPAGEOFF]
Lloh35:
	ldr	w9, [x9]
	cmp	w8, w9
	b.ne	LBB0_6
; %bb.5:
Lloh36:
	adrp	x8, _DPCD_SINK_IN_SYNC@GOTPAGE
Lloh37:
	ldr	x8, [x8, _DPCD_SINK_IN_SYNC@GOTPAGEOFF]
Lloh38:
	ldr	w8, [x8]
	ldr	x9, [x0]
Lloh39:
	adrp	x10, _DPCD_SINK_STATUS@GOTPAGE
Lloh40:
	ldr	x10, [x10, _DPCD_SINK_STATUS@GOTPAGEOFF]
Lloh41:
	ldr	x10, [x10]
	str	w8, [x9, x10, lsl #2]
LBB0_6:
	ret
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGot	Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGot	Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.cfi_endproc
                                        ; -- End function
	.comm	_DPCD_TRAINING_PATTERN_SET_MASK,4,2 ; @DPCD_TRAINING_PATTERN_SET_MASK
	.comm	_DPCD_TRAINING_PATTERN_1,4,2    ; @DPCD_TRAINING_PATTERN_1
	.comm	_DPCD_LANES_CR_DONE,4,2         ; @DPCD_LANES_CR_DONE
	.comm	_DPCD_LANE0_1_STATUS,8,3        ; @DPCD_LANE0_1_STATUS
	.comm	_DPCD_LANE2_3_STATUS,8,3        ; @DPCD_LANE2_3_STATUS
	.comm	_DPCD_TRAINING_PATTERN_2,4,2    ; @DPCD_TRAINING_PATTERN_2
	.comm	_DPCD_LANES_EQ_DONE,4,2         ; @DPCD_LANES_EQ_DONE
	.comm	_DPCD_SYMBOL_LOCKED,4,2         ; @DPCD_SYMBOL_LOCKED
	.comm	_DPCD_INTERLANE_ALIGN_DONE,4,2  ; @DPCD_INTERLANE_ALIGN_DONE
	.comm	_DPCD_LANE_ALIGN_STATUS_UPDATED,8,3 ; @DPCD_LANE_ALIGN_STATUS_UPDATED
	.comm	_DPCD_LINK_TRAINING_DISABLED,4,2 ; @DPCD_LINK_TRAINING_DISABLED
	.comm	_DPCD_SINK_IN_SYNC,4,2          ; @DPCD_SINK_IN_SYNC
	.comm	_DPCD_SINK_STATUS,8,3           ; @DPCD_SINK_STATUS
	.no_dead_strip	_dp_aux_ch_ctl_link_training
.subsections_via_symbols
