	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function fe_tx_map_dma
_fe_tx_map_dma:                         ## @fe_tx_map_dma
	.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	$72, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rcx, %r14
	movl	%edx, -100(%rbp)                ## 4-byte Spill
	movq	%rsi, %rbx
	movq	%rdi, %r12
	movq	%rsi, %rdi
	callq	_netdev_priv
	movq	%rax, %r13
	movq	(%r14), %rax
	movq	%rax, -96(%rbp)
	xorps	%xmm0, %xmm0
	movups	%xmm0, -88(%rbp)
	movq	%rbx, -64(%rbp)                 ## 8-byte Spill
	movq	%rbx, -72(%rbp)
	movq	(%r13), %rax
	movq	(%rax), %rax
	testq	%rax, %rax
	je	LBB0_2
## %bb.1:
	leaq	-80(%rbp), %rdi
	callq	*%rax
	movl	-80(%rbp), %eax
	jmp	LBB0_3
LBB0_2:
	movq	_TX_DMA_DESP4_DEF@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -80(%rbp)
LBB0_3:
	movl	%eax, -88(%rbp)
	movq	(%r12), %rcx
	movq	_CHECKSUM_PARTIAL@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	jne	LBB0_5
## %bb.4:
	movq	_TX_DMA_CHKSUM@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movl	%eax, -80(%rbp)
LBB0_5:
	movq	%r12, %rdi
	callq	_skb_vlan_tag_present
	testq	%rax, %rax
	movq	%r12, -48(%rbp)                 ## 8-byte Spill
	je	LBB0_10
## %bb.6:
	movq	%r12, %rdi
	callq	_skb_vlan_tag_get
	movl	%eax, %r15d
	movq	_CONFIG_SOC_MT7621@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_IS_ENABLED
	testq	%rax, %rax
	je	LBB0_8
## %bb.7:
	movq	_TX_DMA_INS_VLAN_MT7621@GOTPCREL(%rip), %rax
	orl	(%rax), %r15d
	orl	-80(%rbp), %r15d
	jmp	LBB0_9
LBB0_8:
	movq	_VLAN_PRIO_SHIFT@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	movl	%r15d, %eax
	sarl	%cl, %eax
	movq	_TX_DMA_INS_VLAN@GOTPCREL(%rip), %rcx
	andl	$15, %r15d
	orl	(%rcx), %r15d
	shll	$4, %eax
	orl	-80(%rbp), %r15d
	orl	%eax, %r15d
LBB0_9:
	movl	%r15d, -80(%rbp)
	movq	-48(%rbp), %r12                 ## 8-byte Reload
LBB0_10:
	movq	%r12, %rdi
	callq	_skb_is_gso
	testq	%rax, %rax
	je	LBB0_15
## %bb.11:
	movq	%r12, %rdi
	xorl	%esi, %esi
	callq	_skb_cow_head
	testq	%rax, %rax
	je	LBB0_13
## %bb.12:
	movq	_tx_err@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	L_.str(%rip), %rcx
	movq	%r13, %rdi
	movq	-64(%rbp), %rdx                 ## 8-byte Reload
	callq	_netif_warn
	jmp	LBB0_27
LBB0_13:
	movq	%r12, %rdi
	callq	_skb_shinfo
	movq	_SKB_GSO_TCPV4@GOTPCREL(%rip), %rcx
	movq	_SKB_GSO_TCPV6@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	orl	(%rcx), %edx
	testl	%edx, (%rax)
	je	LBB0_15
## %bb.14:
	movq	_TX_DMA_TSO@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	orl	%eax, -80(%rbp)
	movq	%r12, %rdi
	callq	_skb_shinfo
	movl	16(%rax), %edi
	callq	_htons
	movl	%eax, %r15d
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_tcp_hdr
	movl	%r15d, (%rax)
	movq	-48(%rbp), %r12                 ## 8-byte Reload
LBB0_15:
	movq	%r14, -56(%rbp)                 ## 8-byte Spill
	jmp	LBB0_17
	.p2align	4, 0x90
LBB0_16:                                ##   in Loop: Header=BB0_17 Depth=1
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	movq	%r12, %rsi
	callq	_fe_next_frag
	movq	%rax, %r12
	testq	%rax, %rax
	je	LBB0_29
LBB0_17:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_21 Depth 2
	movq	%r12, %rdi
	callq	_skb_headlen
	testq	%rax, %rax
	je	LBB0_19
## %bb.18:                              ##   in Loop: Header=BB0_17 Depth=1
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	leaq	-96(%rbp), %rsi
	movq	%r12, %rdx
	callq	_fe_tx_dma_map_skb
	testq	%rax, %rax
	jne	LBB0_23
LBB0_19:                                ##   in Loop: Header=BB0_17 Depth=1
	movq	%r12, %rdi
	callq	_skb_shinfo
	movl	4(%rax), %eax
	movq	%rax, -112(%rbp)                ## 8-byte Spill
	testq	%rax, %rax
	je	LBB0_16
## %bb.20:                              ##   in Loop: Header=BB0_17 Depth=1
	shlq	$2, -112(%rbp)                  ## 8-byte Folded Spill
	xorl	%r15d, %r15d
	.p2align	4, 0x90
LBB0_21:                                ##   Parent Loop BB0_17 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	%r12, %rdi
	callq	_skb_shinfo
	movq	8(%rax), %rbx
	leaq	(%rbx,%r15), %r14
	movq	%r14, %rdi
	callq	_skb_frag_page
	movl	%eax, %r13d
	movl	(%rbx,%r15), %ebx
	movq	%r14, %rdi
	callq	_skb_frag_size
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	leaq	-96(%rbp), %rsi
	movl	%r13d, %edx
	movl	%ebx, %ecx
	movl	%eax, %r8d
	callq	_fe_tx_dma_map_page
	testq	%rax, %rax
	jne	LBB0_23
## %bb.22:                              ##   in Loop: Header=BB0_21 Depth=2
	addq	$4, %r15
	cmpq	%r15, -112(%rbp)                ## 8-byte Folded Reload
	jne	LBB0_21
	jmp	LBB0_16
LBB0_23:
	movl	-100(%rbp), %ecx                ## 4-byte Reload
	testl	%ecx, %ecx
	movq	-56(%rbp), %r15                 ## 8-byte Reload
	movq	-64(%rbp), %r12                 ## 8-byte Reload
	jle	LBB0_26
## %bb.24:
	movl	(%r15), %eax
	movq	_TX_DMA_DESP2_DEF@GOTPCREL(%rip), %r14
	.p2align	4, 0x90
LBB0_25:                                ## =>This Inner Loop Header: Depth=1
	movslq	%eax, %rbx
	leaq	(,%rbx,8), %rsi
	addq	24(%r15), %rsi
	movq	%r12, %rdi
	movl	%ecx, %r13d
	callq	_fe_txd_unmap
	movl	(%r14), %eax
	movq	16(%r15), %rcx
	movl	%eax, (%rcx,%rbx,4)
	movl	%ebx, %edi
	callq	_NEXT_TX_DESP_IDX
	movl	%r13d, %ecx
	decl	%ecx
	jne	LBB0_25
LBB0_26:
	xorl	%eax, %eax
	callq	_wmb
LBB0_27:
	movl	$-1, %ebx
LBB0_28:
	movl	%ebx, %eax
	addq	$72, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_29:
	testb	$1, -84(%rbp)
	jne	LBB0_31
## %bb.30:
	movq	_TX_DMA_LS1@GOTPCREL(%rip), %rax
	jmp	LBB0_32
LBB0_31:
	movq	_TX_DMA_LS0@GOTPCREL(%rip), %rax
LBB0_32:
	movq	-56(%rbp), %r14                 ## 8-byte Reload
	movq	-64(%rbp), %r15                 ## 8-byte Reload
	movl	(%rax), %eax
	orl	%eax, -76(%rbp)
	movq	24(%r14), %rax
	movq	-96(%rbp), %rcx
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, (%rax,%rcx,8)
	movl	12(%rbx), %esi
	movq	%r15, %rdi
	callq	_netdev_sent_queue
	movq	%rbx, %rdi
	callq	_skb_tx_timestamp
	leaq	-96(%rbp), %rsi
	movq	%r14, %rdi
	callq	_fe_tx_dma_write_desc
	movq	-96(%rbp), %rax
	movq	%rax, (%r14)
	xorl	%eax, %eax
	callq	_wmb
	movq	%r14, %rdi
	callq	_fe_empty_txd
	xorl	%edi, %edi
	cmpq	8(%r14), %rax
	setle	%dil
	callq	_unlikely
	testq	%rax, %rax
	je	LBB0_35
## %bb.33:
	movq	%r15, %rdi
	callq	_netif_stop_queue
	xorl	%eax, %eax
	callq	_smp_mb
	movq	%r14, %rdi
	callq	_fe_empty_txd
	xorl	%edi, %edi
	cmpq	8(%r14), %rax
	setg	%dil
	callq	_unlikely
	testq	%rax, %rax
	je	LBB0_35
## %bb.34:
	movq	%r15, %rdi
	callq	_netif_wake_queue
LBB0_35:
	xorl	%ebx, %ebx
	movq	%r15, %rdi
	xorl	%esi, %esi
	callq	_netdev_get_tx_queue
	movl	%eax, %edi
	callq	_netif_xmit_stopped
	testq	%rax, %rax
	je	LBB0_37
LBB0_36:
	movq	(%r14), %rdi
	movq	_FE_REG_TX_CTX_IDX0@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_fe_reg_w32
	jmp	LBB0_28
LBB0_37:
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	cmpl	$0, 8(%rax)
	jne	LBB0_28
	jmp	LBB0_36
	.cfi_endproc
                                        ## -- End function
	.comm	_TX_DMA_DESP4_DEF,4,2           ## @TX_DMA_DESP4_DEF
	.comm	_CHECKSUM_PARTIAL,8,3           ## @CHECKSUM_PARTIAL
	.comm	_TX_DMA_CHKSUM,4,2              ## @TX_DMA_CHKSUM
	.comm	_CONFIG_SOC_MT7621,4,2          ## @CONFIG_SOC_MT7621
	.comm	_TX_DMA_INS_VLAN_MT7621,4,2     ## @TX_DMA_INS_VLAN_MT7621
	.comm	_TX_DMA_INS_VLAN,4,2            ## @TX_DMA_INS_VLAN
	.comm	_VLAN_PRIO_SHIFT,4,2            ## @VLAN_PRIO_SHIFT
	.comm	_tx_err,4,2                     ## @tx_err
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"GSO expand head fail.\n"

	.comm	_SKB_GSO_TCPV4,4,2              ## @SKB_GSO_TCPV4
	.comm	_SKB_GSO_TCPV6,4,2              ## @SKB_GSO_TCPV6
	.comm	_TX_DMA_TSO,4,2                 ## @TX_DMA_TSO
	.comm	_TX_DMA_LS0,4,2                 ## @TX_DMA_LS0
	.comm	_TX_DMA_LS1,4,2                 ## @TX_DMA_LS1
	.comm	_FE_REG_TX_CTX_IDX0,4,2         ## @FE_REG_TX_CTX_IDX0
	.comm	_TX_DMA_DESP2_DEF,4,2           ## @TX_DMA_DESP2_DEF
	.no_dead_strip	_fe_tx_map_dma
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function fe_tx_map_dma
_fe_tx_map_dma:                         ; @fe_tx_map_dma
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #128
	.cfi_def_cfa_offset 128
	stp	x28, x27, [sp, #32]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #48]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #64]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #80]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #96]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #112]            ; 16-byte Folded Spill
	add	x29, sp, #112
	.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	x19, x3
	mov	x22, x2
	mov	x20, x1
	mov	x21, x0
	mov	x0, x1
	bl	_netdev_priv
	mov	x23, x0
	ldr	x8, [x19]
	stp	x8, xzr, [sp]
	stp	xzr, x20, [sp, #16]
	ldr	x8, [x0]
	ldr	x8, [x8]
	cbz	x8, LBB0_2
; %bb.1:
	mov	x9, sp
	add	x0, x9, #16
	blr	x8
	ldr	w8, [sp, #16]
	b	LBB0_3
LBB0_2:
Lloh0:
	adrp	x8, _TX_DMA_DESP4_DEF@GOTPAGE
Lloh1:
	ldr	x8, [x8, _TX_DMA_DESP4_DEF@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	str	w8, [sp, #16]
LBB0_3:
	str	w8, [sp, #8]
	ldr	x9, [x21]
Lloh3:
	adrp	x10, _CHECKSUM_PARTIAL@GOTPAGE
Lloh4:
	ldr	x10, [x10, _CHECKSUM_PARTIAL@GOTPAGEOFF]
Lloh5:
	ldr	x10, [x10]
	cmp	x9, x10
	b.ne	LBB0_5
; %bb.4:
Lloh6:
	adrp	x9, _TX_DMA_CHKSUM@GOTPAGE
Lloh7:
	ldr	x9, [x9, _TX_DMA_CHKSUM@GOTPAGEOFF]
Lloh8:
	ldr	w9, [x9]
	orr	w8, w9, w8
	str	w8, [sp, #16]
LBB0_5:
	mov	x0, x21
	bl	_skb_vlan_tag_present
	cbz	x0, LBB0_10
; %bb.6:
	mov	x0, x21
	bl	_skb_vlan_tag_get
	mov	x24, x0
Lloh9:
	adrp	x8, _CONFIG_SOC_MT7621@GOTPAGE
Lloh10:
	ldr	x8, [x8, _CONFIG_SOC_MT7621@GOTPAGEOFF]
Lloh11:
	ldr	w0, [x8]
	bl	_IS_ENABLED
	cbz	x0, LBB0_8
; %bb.7:
Lloh12:
	adrp	x8, _TX_DMA_INS_VLAN_MT7621@GOTPAGE
Lloh13:
	ldr	x8, [x8, _TX_DMA_INS_VLAN_MT7621@GOTPAGEOFF]
Lloh14:
	ldr	w8, [x8]
	orr	w8, w8, w24
	ldr	w9, [sp, #16]
	orr	w8, w8, w9
	b	LBB0_9
LBB0_8:
Lloh15:
	adrp	x8, _TX_DMA_INS_VLAN@GOTPAGE
Lloh16:
	ldr	x8, [x8, _TX_DMA_INS_VLAN@GOTPAGEOFF]
Lloh17:
	ldr	w8, [x8]
Lloh18:
	adrp	x9, _VLAN_PRIO_SHIFT@GOTPAGE
Lloh19:
	ldr	x9, [x9, _VLAN_PRIO_SHIFT@GOTPAGEOFF]
Lloh20:
	ldr	w9, [x9]
	asr	w9, w24, w9
	and	w10, w24, #0xf
	ldr	w11, [sp, #16]
	orr	w8, w8, w10
	orr	w8, w8, w11
	orr	w8, w8, w9, lsl #4
LBB0_9:
	str	w8, [sp, #16]
LBB0_10:
	mov	x0, x21
	bl	_skb_is_gso
	cbz	x0, LBB0_15
; %bb.11:
	mov	x0, x21
	mov	w1, #0
	bl	_skb_cow_head
	cbz	x0, LBB0_13
; %bb.12:
Lloh21:
	adrp	x8, _tx_err@GOTPAGE
Lloh22:
	ldr	x8, [x8, _tx_err@GOTPAGEOFF]
Lloh23:
	ldr	w1, [x8]
Lloh24:
	adrp	x3, l_.str@PAGE
Lloh25:
	add	x3, x3, l_.str@PAGEOFF
	mov	x0, x23
	mov	x2, x20
	bl	_netif_warn
	b	LBB0_27
LBB0_13:
	mov	x0, x21
	bl	_skb_shinfo
	ldr	w8, [x0]
Lloh26:
	adrp	x9, _SKB_GSO_TCPV4@GOTPAGE
Lloh27:
	ldr	x9, [x9, _SKB_GSO_TCPV4@GOTPAGEOFF]
Lloh28:
	ldr	w9, [x9]
Lloh29:
	adrp	x10, _SKB_GSO_TCPV6@GOTPAGE
Lloh30:
	ldr	x10, [x10, _SKB_GSO_TCPV6@GOTPAGEOFF]
Lloh31:
	ldr	w10, [x10]
	orr	w9, w10, w9
	tst	w9, w8
	b.eq	LBB0_15
; %bb.14:
Lloh32:
	adrp	x8, _TX_DMA_TSO@GOTPAGE
Lloh33:
	ldr	x8, [x8, _TX_DMA_TSO@GOTPAGEOFF]
Lloh34:
	ldr	w8, [x8]
	ldr	w9, [sp, #16]
	orr	w8, w9, w8
	str	w8, [sp, #16]
	mov	x0, x21
	bl	_skb_shinfo
	ldr	w0, [x0, #16]
	bl	_htons
	mov	x23, x0
	mov	x0, x21
	bl	_tcp_hdr
	str	w23, [x0]
LBB0_15:
	mov	x23, x21
	b	LBB0_17
LBB0_16:                                ;   in Loop: Header=BB0_17 Depth=1
	mov	x0, x21
	mov	x1, x23
	bl	_fe_next_frag
	mov	x23, x0
	cbz	x0, LBB0_29
LBB0_17:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_21 Depth 2
	mov	x0, x23
	bl	_skb_headlen
	cbz	x0, LBB0_19
; %bb.18:                               ;   in Loop: Header=BB0_17 Depth=1
	mov	x1, sp
	mov	x0, x19
	mov	x2, x23
	bl	_fe_tx_dma_map_skb
	cbnz	x0, LBB0_23
LBB0_19:                                ;   in Loop: Header=BB0_17 Depth=1
	mov	x0, x23
	bl	_skb_shinfo
	ldr	w8, [x0, #4]
	cbz	w8, LBB0_16
; %bb.20:                               ;   in Loop: Header=BB0_17 Depth=1
	mov	x27, #0
	lsl	x28, x8, #2
LBB0_21:                                ;   Parent Loop BB0_17 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	mov	x0, x23
	bl	_skb_shinfo
	ldr	x8, [x0, #8]
	add	x24, x8, x27
	mov	x0, x24
	bl	_skb_frag_page
	mov	x25, x0
	ldr	w26, [x24]
	mov	x0, x24
	bl	_skb_frag_size
	mov	x4, x0
	mov	x1, sp
	mov	x0, x19
	mov	x2, x25
	mov	x3, x26
	bl	_fe_tx_dma_map_page
	cbnz	x0, LBB0_23
; %bb.22:                               ;   in Loop: Header=BB0_21 Depth=2
	add	x27, x27, #4
	cmp	x28, x27
	b.ne	LBB0_21
	b	LBB0_16
LBB0_23:
	cmp	w22, #1
	b.lt	LBB0_26
; %bb.24:
	ldr	w21, [x19]
Lloh35:
	adrp	x23, _TX_DMA_DESP2_DEF@GOTPAGE
Lloh36:
	ldr	x23, [x23, _TX_DMA_DESP2_DEF@GOTPAGEOFF]
LBB0_25:                                ; =>This Inner Loop Header: Depth=1
	ldr	x8, [x19, #24]
	add	x1, x8, w21, sxtw #3
	mov	x0, x20
	bl	_fe_txd_unmap
	ldr	w8, [x23]
	ldr	x9, [x19, #16]
	str	w8, [x9, w21, sxtw #2]
	mov	x0, x21
	bl	_NEXT_TX_DESP_IDX
	mov	x21, x0
	subs	w22, w22, #1
	b.ne	LBB0_25
LBB0_26:
	bl	_wmb
LBB0_27:
	mov	w0, #-1
LBB0_28:
	ldp	x29, x30, [sp, #112]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #96]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #80]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #64]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #48]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #128
	ret
LBB0_29:
Lloh37:
	adrp	x8, _TX_DMA_LS1@GOTPAGE
Lloh38:
	ldr	x8, [x8, _TX_DMA_LS1@GOTPAGEOFF]
Lloh39:
	adrp	x9, _TX_DMA_LS0@GOTPAGE
Lloh40:
	ldr	x9, [x9, _TX_DMA_LS0@GOTPAGEOFF]
	ldr	w10, [sp, #12]
	ldr	w11, [sp, #20]
	tst	w10, #0x1
	csel	x8, x8, x9, eq
	ldr	w8, [x8]
	orr	w8, w11, w8
	str	w8, [sp, #20]
	ldr	x8, [x19, #24]
	ldr	x9, [sp]
	str	x21, [x8, x9, lsl #3]
	ldr	w1, [x21, #12]
	mov	x0, x20
	bl	_netdev_sent_queue
	mov	x0, x21
	bl	_skb_tx_timestamp
	mov	x1, sp
	mov	x0, x19
	bl	_fe_tx_dma_write_desc
	ldr	x8, [sp]
	str	x8, [x19]
	bl	_wmb
	mov	x0, x19
	bl	_fe_empty_txd
	ldr	x8, [x19, #8]
	cmp	x0, x8
	cset	w0, le
	bl	_unlikely
	cbz	x0, LBB0_32
; %bb.30:
	mov	x0, x20
	bl	_netif_stop_queue
	bl	_smp_mb
	mov	x0, x19
	bl	_fe_empty_txd
	ldr	x8, [x19, #8]
	cmp	x0, x8
	cset	w0, gt
	bl	_unlikely
	cbz	x0, LBB0_32
; %bb.31:
	mov	x0, x20
	bl	_netif_wake_queue
LBB0_32:
	mov	x0, x20
	mov	w1, #0
	bl	_netdev_get_tx_queue
	bl	_netif_xmit_stopped
	cbz	x0, LBB0_34
LBB0_33:
	ldr	x0, [x19]
Lloh41:
	adrp	x8, _FE_REG_TX_CTX_IDX0@GOTPAGE
Lloh42:
	ldr	x8, [x8, _FE_REG_TX_CTX_IDX0@GOTPAGEOFF]
Lloh43:
	ldr	w1, [x8]
	bl	_fe_reg_w32
	b	LBB0_35
LBB0_34:
	ldr	w8, [x21, #8]
	cbz	w8, LBB0_33
LBB0_35:
	mov	w0, #0
	b	LBB0_28
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGot	Lloh35, Lloh36
	.loh AdrpLdrGot	Lloh39, Lloh40
	.loh AdrpLdrGot	Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.cfi_endproc
                                        ; -- End function
	.comm	_TX_DMA_DESP4_DEF,4,2           ; @TX_DMA_DESP4_DEF
	.comm	_CHECKSUM_PARTIAL,8,3           ; @CHECKSUM_PARTIAL
	.comm	_TX_DMA_CHKSUM,4,2              ; @TX_DMA_CHKSUM
	.comm	_CONFIG_SOC_MT7621,4,2          ; @CONFIG_SOC_MT7621
	.comm	_TX_DMA_INS_VLAN_MT7621,4,2     ; @TX_DMA_INS_VLAN_MT7621
	.comm	_TX_DMA_INS_VLAN,4,2            ; @TX_DMA_INS_VLAN
	.comm	_VLAN_PRIO_SHIFT,4,2            ; @VLAN_PRIO_SHIFT
	.comm	_tx_err,4,2                     ; @tx_err
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"GSO expand head fail.\n"

	.comm	_SKB_GSO_TCPV4,4,2              ; @SKB_GSO_TCPV4
	.comm	_SKB_GSO_TCPV6,4,2              ; @SKB_GSO_TCPV6
	.comm	_TX_DMA_TSO,4,2                 ; @TX_DMA_TSO
	.comm	_TX_DMA_LS0,4,2                 ; @TX_DMA_LS0
	.comm	_TX_DMA_LS1,4,2                 ; @TX_DMA_LS1
	.comm	_FE_REG_TX_CTX_IDX0,4,2         ; @FE_REG_TX_CTX_IDX0
	.comm	_TX_DMA_DESP2_DEF,4,2           ; @TX_DMA_DESP2_DEF
	.no_dead_strip	_fe_tx_map_dma
.subsections_via_symbols
