	.file	"extr_bnx2x_main.c_bnx2x__link_status_update.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	bnx2x__link_status_update
	.type	bnx2x__link_status_update, @function
bnx2x__link_status_update:
.LFB0:
	.cfi_startproc
	endbr64
	mov	rax, QWORD PTR BNX2X_STATE_OPEN[rip]
	cmp	QWORD PTR [rdi], rax
	je	.L10
	ret
	.p2align 4,,10
	.p2align 3
.L10:
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rdi
	call	IS_PF@PLT
	test	rax, rax
	je	.L3
	mov	rdi, rbp
	call	bnx2x_dcbx_pmf_update@PLT
	lea	rsi, 8[rbp]
	lea	rdi, 48[rbp]
	call	bnx2x_link_status_update@PLT
	mov	eax, DWORD PTR 8[rbp]
	test	eax, eax
	je	.L4
	mov	esi, DWORD PTR STATS_EVENT_LINK_UP[rip]
	mov	rdi, rbp
	call	bnx2x_stats_handle@PLT
.L5:
	mov	rdi, rbp
	pop	rbp
	.cfi_remember_state
	.cfi_restore 6
	.cfi_def_cfa_offset 8
	jmp	bnx2x_link_report@PLT
	.p2align 4,,10
	.p2align 3
.L3:
	.cfi_restore_state
	mov	rdx, QWORD PTR 104[rbp]
	mov	eax, DWORD PTR SUPPORTED_10baseT_Half[rip]
	mov	rdi, rbp
	or	eax, DWORD PTR SUPPORTED_10baseT_Full[rip]
	or	eax, DWORD PTR SUPPORTED_100baseT_Half[rip]
	or	eax, DWORD PTR SUPPORTED_100baseT_Full[rip]
	or	eax, DWORD PTR SUPPORTED_1000baseT_Full[rip]
	or	eax, DWORD PTR SUPPORTED_2500baseX_Full[rip]
	or	eax, DWORD PTR SUPPORTED_10000baseT_Full[rip]
	or	eax, DWORD PTR SUPPORTED_TP[rip]
	or	eax, DWORD PTR SUPPORTED_FIBRE[rip]
	or	eax, DWORD PTR SUPPORTED_Autoneg[rip]
	or	eax, DWORD PTR SUPPORTED_Pause[rip]
	or	eax, DWORD PTR SUPPORTED_Asym_Pause[rip]
	or	eax, DWORD PTR [rdx]
	mov	DWORD PTR [rdx], eax
	mov	rdx, QWORD PTR 112[rbp]
	mov	DWORD PTR [rdx], eax
	mov	QWORD PTR 96[rbp], rbp
	call	BP_PORT@PLT
	mov	rdx, QWORD PTR DUPLEX_FULL[rip]
	mov	rdi, rbp
	mov	DWORD PTR 88[rbp], eax
	mov	rax, QWORD PTR 80[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR 72[rbp]
	mov	rdx, QWORD PTR BNX2X_FLOW_CTRL_NONE[rip]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR 64[rbp]
	mov	rax, QWORD PTR SPEED_10000[rip]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR 48[rbp]
	mov	DWORD PTR [rdx], 8323072
	mov	edx, DWORD PTR SWITCH_CFG_10G[rip]
	mov	QWORD PTR 32[rbp], rax
	mov	eax, DWORD PTR LINK_STATUS_LINK_UP[rip]
	or	eax, DWORD PTR LINK_STATUS_SPEED_AND_DUPLEX_10GTFD[rip]
	mov	DWORD PTR 56[rbp], edx
	mov	DWORD PTR 12[rbp], eax
	mov	rax, QWORD PTR DUPLEX_FULL[rip]
	mov	edx, DWORD PTR MAC_TYPE_BMAC[rip]
	mov	DWORD PTR 8[rbp], 1
	mov	QWORD PTR 24[rbp], rax
	mov	rax, QWORD PTR BNX2X_FLOW_CTRL_NONE[rip]
	mov	DWORD PTR 40[rbp], edx
	mov	QWORD PTR 16[rbp], rax
	call	__bnx2x_link_report@PLT
	mov	esi, DWORD PTR STATS_EVENT_LINK_UP[rip]
	mov	rdi, rbp
	pop	rbp
	.cfi_remember_state
	.cfi_restore 6
	.cfi_def_cfa_offset 8
	jmp	bnx2x_stats_handle@PLT
	.p2align 4,,10
	.p2align 3
.L4:
	.cfi_restore_state
	mov	esi, DWORD PTR STATS_EVENT_STOP[rip]
	mov	rdi, rbp
	call	bnx2x_stats_handle@PLT
	jmp	.L5
	.cfi_endproc
.LFE0:
	.size	bnx2x__link_status_update, .-bnx2x__link_status_update
	.comm	SWITCH_CFG_10G,4,4
	.comm	SUPPORTED_TP,4,4
	.comm	SUPPORTED_Pause,4,4
	.comm	SUPPORTED_FIBRE,4,4
	.comm	SUPPORTED_Autoneg,4,4
	.comm	SUPPORTED_Asym_Pause,4,4
	.comm	SUPPORTED_2500baseX_Full,4,4
	.comm	SUPPORTED_10baseT_Half,4,4
	.comm	SUPPORTED_10baseT_Full,4,4
	.comm	SUPPORTED_100baseT_Half,4,4
	.comm	SUPPORTED_100baseT_Full,4,4
	.comm	SUPPORTED_1000baseT_Full,4,4
	.comm	SUPPORTED_10000baseT_Full,4,4
	.comm	STATS_EVENT_STOP,4,4
	.comm	STATS_EVENT_LINK_UP,4,4
	.comm	SPEED_10000,8,8
	.comm	MAC_TYPE_BMAC,4,4
	.comm	LINK_STATUS_SPEED_AND_DUPLEX_10GTFD,4,4
	.comm	LINK_STATUS_LINK_UP,4,4
	.comm	DUPLEX_FULL,8,8
	.comm	BNX2X_STATE_OPEN,8,8
	.comm	BNX2X_FLOW_CTRL_NONE,8,8
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_bnx2x_main.c_bnx2x__link_status_update.c"
	.text
	.align	2
	.global	bnx2x__link_status_update
	.syntax unified
	.arm
	.fpu softvfp
	.type	bnx2x__link_status_update, %function
bnx2x__link_status_update:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	ldr	r3, .L10
	ldr	r2, [r0]
	ldr	r3, [r3]
	cmp	r2, r3
	bxne	lr
	push	{r4, r5, r6, lr}
	mov	r4, r0
	bl	IS_PF
	cmp	r0, #0
	beq	.L3
	mov	r0, r4
	bl	bnx2x_dcbx_pmf_update
	add	r1, r4, #4
	add	r0, r4, #28
	bl	bnx2x_link_status_update
	ldr	r3, [r4, #4]
	mov	r0, r4
	cmp	r3, #0
	ldrne	r3, .L10+4
	ldreq	r3, .L10+8
	ldr	r1, [r3]
	bl	bnx2x_stats_handle
	mov	r0, r4
	pop	{r4, r5, r6, lr}
	b	bnx2x_link_report
.L3:
	ldr	r1, .L10+12
	ldr	r3, .L10+16
	ldr	r2, .L10+20
	ldr	ip, [r1]
	ldr	r3, [r3]
	ldr	r1, .L10+24
	ldr	r0, [r2]
	ldr	r2, .L10+28
	orr	r3, r3, ip
	ldr	ip, [r1]
	ldr	r1, .L10+32
	orr	r3, r3, r0
	ldr	r0, [r2]
	ldr	r2, .L10+36
	orr	r3, r3, ip
	ldr	ip, [r1]
	ldr	r1, .L10+40
	orr	r3, r3, r0
	ldr	r0, [r2]
	ldr	r2, .L10+44
	orr	r3, r3, ip
	ldr	ip, [r1]
	ldr	r1, .L10+48
	orr	r3, r3, r0
	ldr	r0, [r2]
	ldr	r2, .L10+52
	orr	r3, r3, ip
	ldr	ip, [r1]
	ldr	r1, .L10+56
	orr	r3, r3, r0
	ldr	r0, [r2]
	ldr	r2, [r4, #56]
	ldr	r1, [r1]
	orr	r3, r3, ip
	orr	r3, r3, r0
	ldr	r0, [r2]
	orr	r3, r3, r1
	ldr	r1, [r4, #60]
	orr	r3, r3, r0
	str	r3, [r2]
	mov	r0, r4
	str	r3, [r1]
	str	r4, [r4, #52]
	bl	BP_PORT
	mov	lr, #8323072
	mov	ip, #1
	ldr	r3, .L10+60
	ldr	r2, [r4, #44]
	ldr	r5, [r3]
	ldr	r1, .L10+64
	str	r0, [r4, #48]
	str	r5, [r2]
	ldr	r0, [r4, #40]
	ldr	r5, [r1]
	ldr	r2, .L10+68
	str	r5, [r0]
	ldr	r0, [r4, #36]
	ldr	r2, [r2]
	str	r2, [r0]
	ldr	r0, [r4, #28]
	ldr	r5, [r3]
	str	lr, [r0]
	ldr	r0, .L10+72
	ldr	r3, .L10+76
	ldr	r6, [r0]
	ldr	lr, [r1]
	ldr	r0, .L10+80
	ldr	r1, .L10+84
	ldr	r3, [r3]
	ldr	r0, [r0]
	ldr	r1, [r1]
	orr	r3, r3, r6
	str	r3, [r4, #8]
	str	r0, [r4, #32]
	str	r1, [r4, #24]
	mov	r0, r4
	str	r5, [r4, #16]
	str	lr, [r4, #12]
	str	r2, [r4, #20]
	str	ip, [r4, #4]
	bl	__bnx2x_link_report
	ldr	r3, .L10+4
	mov	r0, r4
	pop	{r4, r5, r6, lr}
	ldr	r1, [r3]
	b	bnx2x_stats_handle
.L11:
	.align	2
.L10:
	.word	BNX2X_STATE_OPEN
	.word	STATS_EVENT_LINK_UP
	.word	STATS_EVENT_STOP
	.word	SUPPORTED_10baseT_Full
	.word	SUPPORTED_10baseT_Half
	.word	SUPPORTED_100baseT_Half
	.word	SUPPORTED_100baseT_Full
	.word	SUPPORTED_1000baseT_Full
	.word	SUPPORTED_2500baseX_Full
	.word	SUPPORTED_10000baseT_Full
	.word	SUPPORTED_TP
	.word	SUPPORTED_FIBRE
	.word	SUPPORTED_Autoneg
	.word	SUPPORTED_Pause
	.word	SUPPORTED_Asym_Pause
	.word	DUPLEX_FULL
	.word	BNX2X_FLOW_CTRL_NONE
	.word	SPEED_10000
	.word	LINK_STATUS_SPEED_AND_DUPLEX_10GTFD
	.word	LINK_STATUS_LINK_UP
	.word	SWITCH_CFG_10G
	.word	MAC_TYPE_BMAC
	.size	bnx2x__link_status_update, .-bnx2x__link_status_update
	.comm	SWITCH_CFG_10G,4,4
	.comm	SUPPORTED_TP,4,4
	.comm	SUPPORTED_Pause,4,4
	.comm	SUPPORTED_FIBRE,4,4
	.comm	SUPPORTED_Autoneg,4,4
	.comm	SUPPORTED_Asym_Pause,4,4
	.comm	SUPPORTED_2500baseX_Full,4,4
	.comm	SUPPORTED_10baseT_Half,4,4
	.comm	SUPPORTED_10baseT_Full,4,4
	.comm	SUPPORTED_100baseT_Half,4,4
	.comm	SUPPORTED_100baseT_Full,4,4
	.comm	SUPPORTED_1000baseT_Full,4,4
	.comm	SUPPORTED_10000baseT_Full,4,4
	.comm	STATS_EVENT_STOP,4,4
	.comm	STATS_EVENT_LINK_UP,4,4
	.comm	SPEED_10000,4,4
	.comm	MAC_TYPE_BMAC,4,4
	.comm	LINK_STATUS_SPEED_AND_DUPLEX_10GTFD,4,4
	.comm	LINK_STATUS_LINK_UP,4,4
	.comm	DUPLEX_FULL,4,4
	.comm	BNX2X_STATE_OPEN,4,4
	.comm	BNX2X_FLOW_CTRL_NONE,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
