	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function dfx_xmt_queue_pkt
_dfx_xmt_queue_pkt:                     ## @dfx_xmt_queue_pkt
	.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
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r14
	movq	%rdi, %rbx
	movq	%rsi, %rdi
	callq	_netdev_priv
	movq	%rax, %r15
	movq	%rax, %r12
	movq	%r14, %rdi
	callq	_netif_stop_queue
	movl	(%rbx), %edi
	movq	_FDDI_K_LLC_ZLEN@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_FDDI_K_LLC_LEN@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	callq	_IN_RANGE
	testl	%eax, %eax
	je	LBB0_1
## %bb.2:
	movq	(%r12), %rax
	movq	_PI_K_FALSE@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_5
## %bb.3:
	movq	%r12, %rdi
	callq	_dfx_hw_adap_state_rd
	movq	_PI_STATE_K_LINK_AVAIL@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_13
## %bb.4:
	movq	_PI_K_TRUE@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, (%r12)
LBB0_5:
	movq	%rbx, %rdi
	movl	$3, %esi
	callq	_skb_push
	movq	_DFX_PRH0_BYTE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	8(%rbx), %rsi
	movl	%eax, (%rsi)
	movq	_DFX_PRH1_BYTE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 4(%rsi)
	movq	_DFX_PRH2_BYTE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 8(%rsi)
	movl	56(%r12), %edi
	movl	(%rbx), %edx
	movq	_DMA_TO_DEVICE@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	callq	_dma_map_single
	movq	%rax, %r13
	movl	56(%r12), %edi
	movq	%rax, %rsi
	callq	_dma_mapping_error
	testq	%rax, %rax
	je	LBB0_7
## %bb.6:
	movq	%rbx, %rdi
	movl	$3, %esi
	callq	_skb_pull
	movq	_NETDEV_TX_BUSY@GOTPCREL(%rip), %rax
	jmp	LBB0_12
LBB0_1:
	movl	(%r14), %esi
	movl	(%rbx), %edx
	leaq	L_.str(%rip), %rdi
	callq	_printk
	incl	64(%r12)
	movq	%r14, %rdi
	callq	_netif_wake_queue
	movq	%rbx, %rdi
	callq	_dev_kfree_skb
	jmp	LBB0_11
LBB0_7:
	addq	$8, %r15
	movq	%r15, %rdi
	callq	_spin_lock_irqsave
	movq	24(%r12), %rax
	movq	40(%r12), %r8
	movq	48(%r12), %rcx
	movq	(%rcx), %rsi
	movq	_PI_XMT_DESCR_M_SOP@GOTPCREL(%rip), %rcx
	movq	_PI_XMT_DESCR_M_EOP@GOTPCREL(%rip), %rdi
	movl	(%rdi), %edi
	orl	(%rcx), %edi
	movl	(%rbx), %edx
	movq	_PI_XMT_DESCR_V_SEG_LEN@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	shll	%cl, %edx
	leaq	1(%rax), %rcx
	orl	%edi, %edx
	movslq	%edx, %rdx
	movq	%rax, %rdi
	shlq	$4, %rdi
	movq	%rdx, 8(%rsi,%rdi)
	movq	%r13, (%rsi,%rdi)
	cmpq	32(%r12), %rcx
	jne	LBB0_9
## %bb.8:
	movq	%rbx, %rdi
	movl	$3, %esi
	callq	_skb_pull
	movq	%r15, %rdi
	callq	_spin_unlock_irqrestore
	movq	_NETDEV_TX_BUSY@GOTPCREL(%rip), %rax
	jmp	LBB0_12
LBB0_13:
	incl	60(%r12)
	movq	%rbx, %rdi
	callq	_dev_kfree_skb
	jmp	LBB0_10
LBB0_9:
	movq	%rbx, (%r8,%rax,8)
	movq	%rcx, 24(%r12)
	movq	_PI_PDQ_K_REG_TYPE_2_PROD@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	16(%r12), %edx
	movq	%r12, %rdi
	callq	_dfx_port_write_long
	movq	%r15, %rdi
	callq	_spin_unlock_irqrestore
LBB0_10:
	movq	%r14, %rdi
	callq	_netif_wake_queue
LBB0_11:
	movq	_NETDEV_TX_OK@GOTPCREL(%rip), %rax
LBB0_12:
	movl	(%rax), %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_FDDI_K_LLC_ZLEN,4,2            ## @FDDI_K_LLC_ZLEN
	.comm	_FDDI_K_LLC_LEN,4,2             ## @FDDI_K_LLC_LEN
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"%s: Invalid packet length - %u bytes\n"

	.comm	_NETDEV_TX_OK,4,2               ## @NETDEV_TX_OK
	.comm	_PI_K_FALSE,8,3                 ## @PI_K_FALSE
	.comm	_PI_STATE_K_LINK_AVAIL,8,3      ## @PI_STATE_K_LINK_AVAIL
	.comm	_PI_K_TRUE,8,3                  ## @PI_K_TRUE
	.comm	_DFX_PRH0_BYTE,4,2              ## @DFX_PRH0_BYTE
	.comm	_DFX_PRH1_BYTE,4,2              ## @DFX_PRH1_BYTE
	.comm	_DFX_PRH2_BYTE,4,2              ## @DFX_PRH2_BYTE
	.comm	_DMA_TO_DEVICE,4,2              ## @DMA_TO_DEVICE
	.comm	_NETDEV_TX_BUSY,4,2             ## @NETDEV_TX_BUSY
	.comm	_PI_XMT_DESCR_M_SOP,4,2         ## @PI_XMT_DESCR_M_SOP
	.comm	_PI_XMT_DESCR_M_EOP,4,2         ## @PI_XMT_DESCR_M_EOP
	.comm	_PI_XMT_DESCR_V_SEG_LEN,4,2     ## @PI_XMT_DESCR_V_SEG_LEN
	.comm	_PI_PDQ_K_REG_TYPE_2_PROD,4,2   ## @PI_PDQ_K_REG_TYPE_2_PROD
	.no_dead_strip	_dfx_xmt_queue_pkt
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function dfx_xmt_queue_pkt
_dfx_xmt_queue_pkt:                     ; @dfx_xmt_queue_pkt
	.cfi_startproc
; %bb.0:
	stp	x24, x23, [sp, #-64]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.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
	mov	x19, x1
	mov	x20, x0
	mov	x0, x1
	bl	_netdev_priv
	mov	x21, x0
	mov	x0, x19
	bl	_netif_stop_queue
	ldr	w0, [x20]
Lloh0:
	adrp	x8, _FDDI_K_LLC_ZLEN@GOTPAGE
Lloh1:
	ldr	x8, [x8, _FDDI_K_LLC_ZLEN@GOTPAGEOFF]
Lloh2:
	ldr	w1, [x8]
Lloh3:
	adrp	x8, _FDDI_K_LLC_LEN@GOTPAGE
Lloh4:
	ldr	x8, [x8, _FDDI_K_LLC_LEN@GOTPAGEOFF]
Lloh5:
	ldr	w2, [x8]
	bl	_IN_RANGE
	cbz	w0, LBB0_6
; %bb.1:
	ldr	x8, [x21]
Lloh6:
	adrp	x9, _PI_K_FALSE@GOTPAGE
Lloh7:
	ldr	x9, [x9, _PI_K_FALSE@GOTPAGEOFF]
Lloh8:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_4
; %bb.2:
	mov	x0, x21
	bl	_dfx_hw_adap_state_rd
Lloh9:
	adrp	x8, _PI_STATE_K_LINK_AVAIL@GOTPAGE
Lloh10:
	ldr	x8, [x8, _PI_STATE_K_LINK_AVAIL@GOTPAGEOFF]
Lloh11:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ne	LBB0_10
; %bb.3:
Lloh12:
	adrp	x8, _PI_K_TRUE@GOTPAGE
Lloh13:
	ldr	x8, [x8, _PI_K_TRUE@GOTPAGEOFF]
Lloh14:
	ldr	x8, [x8]
	str	x8, [x21]
LBB0_4:
	mov	x0, x20
	mov	w1, #3
	bl	_skb_push
Lloh15:
	adrp	x8, _DFX_PRH0_BYTE@GOTPAGE
Lloh16:
	ldr	x8, [x8, _DFX_PRH0_BYTE@GOTPAGEOFF]
Lloh17:
	ldr	w8, [x8]
	ldr	x1, [x20, #8]
Lloh18:
	adrp	x9, _DFX_PRH1_BYTE@GOTPAGE
Lloh19:
	ldr	x9, [x9, _DFX_PRH1_BYTE@GOTPAGEOFF]
	str	w8, [x1]
Lloh20:
	ldr	w8, [x9]
Lloh21:
	adrp	x9, _DFX_PRH2_BYTE@GOTPAGE
Lloh22:
	ldr	x9, [x9, _DFX_PRH2_BYTE@GOTPAGEOFF]
Lloh23:
	ldr	w9, [x9]
	stp	w8, w9, [x1, #4]
	ldr	w0, [x21, #56]
	ldr	w2, [x20]
Lloh24:
	adrp	x8, _DMA_TO_DEVICE@GOTPAGE
Lloh25:
	ldr	x8, [x8, _DMA_TO_DEVICE@GOTPAGEOFF]
Lloh26:
	ldr	w3, [x8]
	bl	_dma_map_single
	mov	x23, x0
	ldr	w0, [x21, #56]
	mov	x1, x23
	bl	_dma_mapping_error
	cbz	x0, LBB0_7
; %bb.5:
	mov	x0, x20
	mov	w1, #3
	bl	_skb_pull
	b	LBB0_9
LBB0_6:
	ldr	w1, [x19]
	ldr	w2, [x20]
Lloh27:
	adrp	x0, l_.str@PAGE
Lloh28:
	add	x0, x0, l_.str@PAGEOFF
	bl	_printk
	ldr	w8, [x21, #64]
	add	w8, w8, #1
	str	w8, [x21, #64]
	mov	x0, x19
	bl	_netif_wake_queue
	mov	x0, x20
	bl	_dev_kfree_skb
	b	LBB0_13
LBB0_7:
	add	x22, x21, #8
	mov	x0, x22
	bl	_spin_lock_irqsave
	ldp	x8, x9, [x21, #40]
	ldr	x11, [x9]
Lloh29:
	adrp	x9, _PI_XMT_DESCR_M_SOP@GOTPAGE
Lloh30:
	ldr	x9, [x9, _PI_XMT_DESCR_M_SOP@GOTPAGEOFF]
Lloh31:
	ldr	w9, [x9]
Lloh32:
	adrp	x10, _PI_XMT_DESCR_M_EOP@GOTPAGE
Lloh33:
	ldr	x10, [x10, _PI_XMT_DESCR_M_EOP@GOTPAGEOFF]
Lloh34:
	ldr	w10, [x10]
	orr	w12, w10, w9
Lloh35:
	adrp	x9, _PI_XMT_DESCR_V_SEG_LEN@GOTPAGE
Lloh36:
	ldr	x9, [x9, _PI_XMT_DESCR_V_SEG_LEN@GOTPAGEOFF]
	ldr	w10, [x20]
Lloh37:
	ldr	w9, [x9]
	lsl	w13, w10, w9
	ldp	x9, x14, [x21, #24]
	add	x10, x9, #1
	orr	w12, w12, w13
	sxtw	x12, w12
	add	x11, x11, x9, lsl #4
	stp	x23, x12, [x11]
	cmp	x10, x14
	b.ne	LBB0_11
; %bb.8:
	mov	x0, x20
	mov	w1, #3
	bl	_skb_pull
	mov	x0, x22
	bl	_spin_unlock_irqrestore
LBB0_9:
Lloh38:
	adrp	x8, _NETDEV_TX_BUSY@GOTPAGE
Lloh39:
	ldr	x8, [x8, _NETDEV_TX_BUSY@GOTPAGEOFF]
	b	LBB0_14
LBB0_10:
	ldr	w8, [x21, #60]
	add	w8, w8, #1
	str	w8, [x21, #60]
	mov	x0, x20
	bl	_dev_kfree_skb
	b	LBB0_12
LBB0_11:
	str	x20, [x8, x9, lsl #3]
	str	x10, [x21, #24]
Lloh40:
	adrp	x8, _PI_PDQ_K_REG_TYPE_2_PROD@GOTPAGE
Lloh41:
	ldr	x8, [x8, _PI_PDQ_K_REG_TYPE_2_PROD@GOTPAGEOFF]
Lloh42:
	ldr	w1, [x8]
	ldr	w2, [x21, #16]
	mov	x0, x21
	bl	_dfx_port_write_long
	mov	x0, x22
	bl	_spin_unlock_irqrestore
LBB0_12:
	mov	x0, x19
	bl	_netif_wake_queue
LBB0_13:
Lloh43:
	adrp	x8, _NETDEV_TX_OK@GOTPAGE
Lloh44:
	ldr	x8, [x8, _NETDEV_TX_OK@GOTPAGEOFF]
LBB0_14:
	ldr	w0, [x8]
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp], #64             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGot	Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGot	Lloh43, Lloh44
	.cfi_endproc
                                        ; -- End function
	.comm	_FDDI_K_LLC_ZLEN,4,2            ; @FDDI_K_LLC_ZLEN
	.comm	_FDDI_K_LLC_LEN,4,2             ; @FDDI_K_LLC_LEN
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"%s: Invalid packet length - %u bytes\n"

	.comm	_NETDEV_TX_OK,4,2               ; @NETDEV_TX_OK
	.comm	_PI_K_FALSE,8,3                 ; @PI_K_FALSE
	.comm	_PI_STATE_K_LINK_AVAIL,8,3      ; @PI_STATE_K_LINK_AVAIL
	.comm	_PI_K_TRUE,8,3                  ; @PI_K_TRUE
	.comm	_DFX_PRH0_BYTE,4,2              ; @DFX_PRH0_BYTE
	.comm	_DFX_PRH1_BYTE,4,2              ; @DFX_PRH1_BYTE
	.comm	_DFX_PRH2_BYTE,4,2              ; @DFX_PRH2_BYTE
	.comm	_DMA_TO_DEVICE,4,2              ; @DMA_TO_DEVICE
	.comm	_NETDEV_TX_BUSY,4,2             ; @NETDEV_TX_BUSY
	.comm	_PI_XMT_DESCR_M_SOP,4,2         ; @PI_XMT_DESCR_M_SOP
	.comm	_PI_XMT_DESCR_M_EOP,4,2         ; @PI_XMT_DESCR_M_EOP
	.comm	_PI_XMT_DESCR_V_SEG_LEN,4,2     ; @PI_XMT_DESCR_V_SEG_LEN
	.comm	_PI_PDQ_K_REG_TYPE_2_PROD,4,2   ; @PI_PDQ_K_REG_TYPE_2_PROD
	.no_dead_strip	_dfx_xmt_queue_pkt
.subsections_via_symbols
