	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_mv88e6250_port_link_state      ## -- Begin function mv88e6250_port_link_state
	.p2align	4, 0x90
_mv88e6250_port_link_state:             ## @mv88e6250_port_link_state
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	subq	$16, %rsp
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	%rdx, %r14
	movl	%esi, %ebx
	movq	_MV88E6XXX_PORT_STS@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-20(%rbp), %rcx
	callq	_mv88e6xxx_port_read
	testl	%eax, %eax
	jne	LBB0_8
## %bb.1:
	movl	-20(%rbp), %ecx
	movq	_MV88E6250_PORT_STS_PORTMODE_MASK@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	andl	%ecx, %edx
	cmpl	$4, %ebx
	jg	LBB0_5
## %bb.2:
	addl	$-128, %edx
	cmpl	$4, %edx
	jb	LBB0_6
LBB0_4:
	movq	_DUPLEX_UNKNOWN@GOTPCREL(%rip), %rdx
	movq	_SPEED_UNKNOWN@GOTPCREL(%rip), %rsi
	jmp	LBB0_7
LBB0_5:
	addl	$-132, %edx
	cmpl	$4, %edx
	jae	LBB0_4
LBB0_6:
	movslq	%edx, %rsi
	leaq	l_switch.table.mv88e6250_port_link_state.2(%rip), %rdx
	leaq	(%rdx,%rsi,8), %rdx
	leaq	l_switch.table.mv88e6250_port_link_state.3(%rip), %rdi
	leaq	(%rdi,%rsi,8), %rdi
	movq	(%rdx), %rsi
	movq	(%rdi), %rdx
LBB0_7:
	movq	(%rsi), %rsi
	movq	%rsi, 24(%r14)
	movq	(%rdx), %rdx
	movq	%rdx, 16(%r14)
	movq	_MV88E6250_PORT_STS_LINK@GOTPCREL(%rip), %rdx
	xorl	%esi, %esi
	andl	(%rdx), %ecx
	setne	%sil
	movl	%esi, (%r14)
	movl	$1, 4(%r14)
	movl	%esi, 8(%r14)
	movq	_PHY_INTERFACE_MODE_NA@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	movl	%ecx, 12(%r14)
LBB0_8:
	addq	$16, %rsp
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_MV88E6XXX_PORT_STS,4,2         ## @MV88E6XXX_PORT_STS
	.comm	_MV88E6250_PORT_STS_PORTMODE_MASK,4,2 ## @MV88E6250_PORT_STS_PORTMODE_MASK
	.comm	_SPEED_10,8,3                   ## @SPEED_10
	.comm	_DUPLEX_HALF,8,3                ## @DUPLEX_HALF
	.comm	_SPEED_100,8,3                  ## @SPEED_100
	.comm	_DUPLEX_FULL,8,3                ## @DUPLEX_FULL
	.comm	_SPEED_UNKNOWN,8,3              ## @SPEED_UNKNOWN
	.comm	_DUPLEX_UNKNOWN,8,3             ## @DUPLEX_UNKNOWN
	.comm	_MV88E6250_PORT_STS_LINK,4,2    ## @MV88E6250_PORT_STS_LINK
	.comm	_PHY_INTERFACE_MODE_NA,4,2      ## @PHY_INTERFACE_MODE_NA
	.section	__DATA,__const
	.p2align	3                               ## @switch.table.mv88e6250_port_link_state.2
l_switch.table.mv88e6250_port_link_state.2:
	.quad	_SPEED_10
	.quad	_SPEED_10
	.quad	_SPEED_100
	.quad	_SPEED_100

	.p2align	3                               ## @switch.table.mv88e6250_port_link_state.3
l_switch.table.mv88e6250_port_link_state.3:
	.quad	_DUPLEX_HALF
	.quad	_DUPLEX_FULL
	.quad	_DUPLEX_HALF
	.quad	_DUPLEX_FULL

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_mv88e6250_port_link_state      ; -- Begin function mv88e6250_port_link_state
	.p2align	2
_mv88e6250_port_link_state:             ; @mv88e6250_port_link_state
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #48
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x2
	mov	x20, x1
Lloh0:
	adrp	x8, _MV88E6XXX_PORT_STS@GOTPAGE
Lloh1:
	ldr	x8, [x8, _MV88E6XXX_PORT_STS@GOTPAGEOFF]
Lloh2:
	ldr	w2, [x8]
	add	x3, sp, #12
	bl	_mv88e6xxx_port_read
	cbnz	w0, LBB0_7
; %bb.1:
	ldr	w8, [sp, #12]
Lloh3:
	adrp	x9, _MV88E6250_PORT_STS_PORTMODE_MASK@GOTPAGE
Lloh4:
	ldr	x9, [x9, _MV88E6250_PORT_STS_PORTMODE_MASK@GOTPAGEOFF]
Lloh5:
	ldr	w9, [x9]
	and	w9, w9, w8
	cmp	w20, #4
	b.gt	LBB0_4
; %bb.2:
	sub	w9, w9, #128
	cmp	w9, #4
	b.lo	LBB0_5
LBB0_3:
Lloh6:
	adrp	x9, _DUPLEX_UNKNOWN@GOTPAGE
Lloh7:
	ldr	x9, [x9, _DUPLEX_UNKNOWN@GOTPAGEOFF]
Lloh8:
	adrp	x10, _SPEED_UNKNOWN@GOTPAGE
Lloh9:
	ldr	x10, [x10, _SPEED_UNKNOWN@GOTPAGEOFF]
	b	LBB0_6
LBB0_4:
	sub	w9, w9, #132
	cmp	w9, #3
	b.hi	LBB0_3
LBB0_5:
	sbfiz	x9, x9, #3, #32
Lloh10:
	adrp	x10, l_switch.table.mv88e6250_port_link_state.2@PAGE
Lloh11:
	add	x10, x10, l_switch.table.mv88e6250_port_link_state.2@PAGEOFF
Lloh12:
	adrp	x11, l_switch.table.mv88e6250_port_link_state.3@PAGE
Lloh13:
	add	x11, x11, l_switch.table.mv88e6250_port_link_state.3@PAGEOFF
	ldr	x10, [x10, x9]
	ldr	x9, [x11, x9]
LBB0_6:
	ldr	x10, [x10]
	str	x10, [x19, #24]
	ldr	x9, [x9]
Lloh14:
	adrp	x10, _MV88E6250_PORT_STS_LINK@GOTPAGE
Lloh15:
	ldr	x10, [x10, _MV88E6250_PORT_STS_LINK@GOTPAGEOFF]
	str	x9, [x19, #16]
Lloh16:
	ldr	w9, [x10]
	tst	w9, w8
	cset	w8, ne
	mov	w9, #1
	stp	w8, w9, [x19]
Lloh17:
	adrp	x9, _PHY_INTERFACE_MODE_NA@GOTPAGE
Lloh18:
	ldr	x9, [x9, _PHY_INTERFACE_MODE_NA@GOTPAGEOFF]
Lloh19:
	ldr	w9, [x9]
	stp	w8, w9, [x19, #8]
LBB0_7:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #48
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh8, Lloh9
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpAdd	Lloh12, Lloh13
	.loh AdrpAdd	Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.cfi_endproc
                                        ; -- End function
	.comm	_MV88E6XXX_PORT_STS,4,2         ; @MV88E6XXX_PORT_STS
	.comm	_MV88E6250_PORT_STS_PORTMODE_MASK,4,2 ; @MV88E6250_PORT_STS_PORTMODE_MASK
	.comm	_SPEED_10,8,3                   ; @SPEED_10
	.comm	_DUPLEX_HALF,8,3                ; @DUPLEX_HALF
	.comm	_SPEED_100,8,3                  ; @SPEED_100
	.comm	_DUPLEX_FULL,8,3                ; @DUPLEX_FULL
	.comm	_SPEED_UNKNOWN,8,3              ; @SPEED_UNKNOWN
	.comm	_DUPLEX_UNKNOWN,8,3             ; @DUPLEX_UNKNOWN
	.comm	_MV88E6250_PORT_STS_LINK,4,2    ; @MV88E6250_PORT_STS_LINK
	.comm	_PHY_INTERFACE_MODE_NA,4,2      ; @PHY_INTERFACE_MODE_NA
	.section	__DATA,__const
	.p2align	3                               ; @switch.table.mv88e6250_port_link_state.2
l_switch.table.mv88e6250_port_link_state.2:
	.quad	_SPEED_10
	.quad	_SPEED_10
	.quad	_SPEED_100
	.quad	_SPEED_100

	.p2align	3                               ; @switch.table.mv88e6250_port_link_state.3
l_switch.table.mv88e6250_port_link_state.3:
	.quad	_DUPLEX_HALF
	.quad	_DUPLEX_FULL
	.quad	_DUPLEX_HALF
	.quad	_DUPLEX_FULL

.subsections_via_symbols
