	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_efa_com_get_dma_width          ## -- Begin function efa_com_get_dma_width
	.p2align	4, 0x90
_efa_com_get_dma_width:                 ## @efa_com_get_dma_width
	.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
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	%rdi, %r14
	movq	_EFA_REGS_CAPS_OFF@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_efa_com_reg_read32
	movl	%eax, %ebx
	movq	_EFA_REGS_CAPS_DMA_ADDR_WIDTH_MASK@GOTPCREL(%rip), %rax
	andl	(%rax), %ebx
	movq	_EFA_REGS_CAPS_DMA_ADDR_WIDTH_SHIFT@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	sarl	%cl, %ebx
	movl	4(%r14), %edi
	leaq	L_.str(%rip), %rsi
	movl	%ebx, %edx
	callq	_ibdev_dbg
	leal	-65(%rbx), %eax
	cmpl	$-34, %eax
	ja	LBB0_2
## %bb.1:
	movl	4(%r14), %edi
	leaq	L_.str.1(%rip), %rsi
	movl	%ebx, %edx
	callq	_ibdev_err
	movq	_EINVAL@GOTPCREL(%rip), %rax
	xorl	%ebx, %ebx
	subl	(%rax), %ebx
	jmp	LBB0_3
LBB0_2:
	movl	%ebx, (%r14)
LBB0_3:
	movl	%ebx, %eax
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_EFA_REGS_CAPS_OFF,4,2          ## @EFA_REGS_CAPS_OFF
	.comm	_EFA_REGS_CAPS_DMA_ADDR_WIDTH_MASK,4,2 ## @EFA_REGS_CAPS_DMA_ADDR_WIDTH_MASK
	.comm	_EFA_REGS_CAPS_DMA_ADDR_WIDTH_SHIFT,4,2 ## @EFA_REGS_CAPS_DMA_ADDR_WIDTH_SHIFT
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"DMA width: %d\n"

L_.str.1:                               ## @.str.1
	.asciz	"DMA width illegal value: %d\n"

	.comm	_EINVAL,4,2                     ## @EINVAL
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_efa_com_get_dma_width          ; -- Begin function efa_com_get_dma_width
	.p2align	2
_efa_com_get_dma_width:                 ; @efa_com_get_dma_width
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x0
Lloh0:
	adrp	x8, _EFA_REGS_CAPS_OFF@GOTPAGE
Lloh1:
	ldr	x8, [x8, _EFA_REGS_CAPS_OFF@GOTPAGEOFF]
Lloh2:
	ldr	w1, [x8]
	bl	_efa_com_reg_read32
Lloh3:
	adrp	x8, _EFA_REGS_CAPS_DMA_ADDR_WIDTH_MASK@GOTPAGE
Lloh4:
	ldr	x8, [x8, _EFA_REGS_CAPS_DMA_ADDR_WIDTH_MASK@GOTPAGEOFF]
Lloh5:
	ldr	w8, [x8]
	and	w8, w8, w0
Lloh6:
	adrp	x9, _EFA_REGS_CAPS_DMA_ADDR_WIDTH_SHIFT@GOTPAGE
Lloh7:
	ldr	x9, [x9, _EFA_REGS_CAPS_DMA_ADDR_WIDTH_SHIFT@GOTPAGEOFF]
Lloh8:
	ldr	w9, [x9]
	asr	w20, w8, w9
	ldr	w0, [x19, #4]
Lloh9:
	adrp	x1, l_.str@PAGE
Lloh10:
	add	x1, x1, l_.str@PAGEOFF
	mov	x2, x20
	bl	_ibdev_dbg
	sub	w8, w20, #65
	cmn	w8, #34
	b.hi	LBB0_2
; %bb.1:
	ldr	w0, [x19, #4]
Lloh11:
	adrp	x1, l_.str.1@PAGE
Lloh12:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	x2, x20
	bl	_ibdev_err
Lloh13:
	adrp	x8, _EINVAL@GOTPAGE
Lloh14:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
Lloh15:
	ldr	w8, [x8]
	neg	w20, w8
	b	LBB0_3
LBB0_2:
	str	w20, [x19]
LBB0_3:
	mov	x0, x20
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpAdd	Lloh11, Lloh12
	.cfi_endproc
                                        ; -- End function
	.comm	_EFA_REGS_CAPS_OFF,4,2          ; @EFA_REGS_CAPS_OFF
	.comm	_EFA_REGS_CAPS_DMA_ADDR_WIDTH_MASK,4,2 ; @EFA_REGS_CAPS_DMA_ADDR_WIDTH_MASK
	.comm	_EFA_REGS_CAPS_DMA_ADDR_WIDTH_SHIFT,4,2 ; @EFA_REGS_CAPS_DMA_ADDR_WIDTH_SHIFT
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"DMA width: %d\n"

l_.str.1:                               ; @.str.1
	.asciz	"DMA width illegal value: %d\n"

	.comm	_EINVAL,4,2                     ; @EINVAL
.subsections_via_symbols
