	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function dmatest_func
_dmatest_func:                          ## @dmatest_func
	.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	$184, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r15
	xorl	%eax, %eax
	callq	_set_freezable
	movq	_ENOMEM@GOTPCREL(%rip), %rax
	xorl	%r13d, %r13d
	subl	(%rax), %r13d
	xorl	%eax, %eax
	callq	_smp_rmb
	movl	$0, (%r15)
	movq	64(%r15), %r8
	movq	8(%r15), %rax
	movq	56(%r15), %rcx
	movq	%rcx, -128(%rbp)                ## 8-byte Spill
	movq	(%rcx), %rbx
	leaq	40(%r15), %r14
	leaq	24(%r15), %r9
	movq	_DMA_MEMCPY@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	movq	%r15, -184(%rbp)                ## 8-byte Spill
	movq	%rbx, -112(%rbp)                ## 8-byte Spill
	movl	%r13d, -56(%rbp)                ## 4-byte Spill
	jne	LBB0_4
## %bb.1:
	movq	(%r8), %r12
	testq	%r12, %r12
	jns	LBB0_3
## %bb.2:
	movl	(%rbx), %r12d
LBB0_3:
	movl	$1, (%r9)
	movl	$1, (%r14)
	xorl	%r10d, %r10d
	movl	$1, %esi
LBB0_12:
	xorl	%ebx, %ebx
	jmp	LBB0_13
LBB0_4:
	movq	_DMA_MEMSET@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_8
## %bb.5:
	movq	(%r8), %r12
	testq	%r12, %r12
	jns	LBB0_7
## %bb.6:
	movl	4(%rbx), %r12d
LBB0_7:
	movl	$1, (%r9)
	movl	$1, (%r14)
	movl	$1, %esi
	xorl	%ebx, %ebx
	movl	$1, %r10d
LBB0_13:
	addl	(%r9), %esi
	cmpl	$255, %esi
	jl	LBB0_15
## %bb.14:
	movq	%rbx, %r15
	leaq	L_.str(%rip), %rdi
	xorl	%r14d, %r14d
                                        ## kill: def $esi killed $esi killed $rsi
	xorl	%eax, %eax
	callq	_pr_err
	jmp	LBB0_36
LBB0_15:
	movl	16(%r8), %esi
	movl	$1, %edx
	movl	%r12d, %ecx
	shll	%cl, %edx
	cmpl	%esi, %edx
	jbe	LBB0_17
## %bb.16:
	movq	%rbx, %r15
	leaq	L_.str.1(%rip), %rdi
	xorl	%r14d, %r14d
	xorl	%eax, %eax
	callq	_pr_err
	jmp	LBB0_36
LBB0_8:
	movq	%r9, -64(%rbp)                  ## 8-byte Spill
	movq	_DMA_XOR@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_27
## %bb.9:
	movq	%r8, %r12
	movl	8(%r8), %edi
	orl	$1, %edi
	movl	52(%rbx), %esi
	callq	_min_odd
	movq	%r12, %r8
	movq	%rax, %rsi
	movl	%esi, (%r14)
	movq	-64(%rbp), %r9                  ## 8-byte Reload
	movl	$1, (%r9)
	movq	(%r12), %r12
	testq	%r12, %r12
	jns	LBB0_11
## %bb.10:
	movl	8(%rbx), %r12d
LBB0_11:
	xorl	%r10d, %r10d
	jmp	LBB0_12
LBB0_17:
	movq	%r9, -64(%rbp)                  ## 8-byte Spill
	movl	%edx, -152(%rbp)                ## 4-byte Spill
	movq	%r10, -200(%rbp)                ## 8-byte Spill
	movq	%r8, -88(%rbp)                  ## 8-byte Spill
	movq	%r14, -104(%rbp)                ## 8-byte Spill
	movq	%r14, %rdi
	movl	%r12d, %edx
	movl	%esi, %r14d
	callq	_dmatest_alloc_test_data
	testq	%rax, %rax
	js	LBB0_35
## %bb.18:
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	movl	%r14d, -68(%rbp)                ## 4-byte Spill
	movl	%r14d, %esi
	movl	%r12d, %edx
	callq	_dmatest_alloc_test_data
	testq	%rax, %rax
	js	LBB0_43
## %bb.19:
	movq	%rbx, -176(%rbp)                ## 8-byte Spill
	movq	_current@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movl	$10, %esi
	callq	_set_user_nice
	movq	-104(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %edi
	movq	_GFP_KERNEL@GOTPCREL(%rip), %r14
	movl	(%r14), %edx
	movl	$4, %esi
	callq	_kcalloc
	movq	%rax, -144(%rbp)                ## 8-byte Spill
	testq	%rax, %rax
	je	LBB0_44
## %bb.20:
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	movl	(%rbx), %edi
	movl	(%r14), %edx
	movl	$4, %esi
	callq	_kcalloc
	testq	%rax, %rax
	je	LBB0_45
## %bb.21:
	movq	%rax, -192(%rbp)                ## 8-byte Spill
	xorl	%eax, %eax
	movq	%rax, -168(%rbp)                ## 8-byte Spill
	movq	-88(%rbp), %rax                 ## 8-byte Reload
	cmpq	$0, 48(%rax)
	movq	_DMA_CTRL_ACK@GOTPCREL(%rip), %rax
	movl	$0, %ecx
	jne	LBB0_23
## %bb.22:
	movq	_DMA_PREP_INTERRUPT@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
LBB0_23:
	orl	(%rax), %ecx
	xorl	%eax, %eax
	movl	%ecx, %ebx
	callq	_ktime_get
	movl	%eax, -204(%rbp)                ## 4-byte Spill
	xorl	%eax, %eax
	callq	_kthread_should_stop
	testl	%eax, %eax
	je	LBB0_50
## %bb.24:
	movl	$0, -120(%rbp)                  ## 4-byte Folded Spill
	xorl	%eax, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	movl	$0, -44(%rbp)                   ## 4-byte Folded Spill
	xorl	%r12d, %r12d
LBB0_25:
	movq	-64(%rbp), %r8                  ## 8-byte Reload
LBB0_26:
	movq	-176(%rbp), %r15                ## 8-byte Reload
	movq	%r8, %rbx
	movl	$0, -56(%rbp)                   ## 4-byte Folded Spill
	xorl	%eax, %eax
	callq	_ktime_get
	movl	%eax, %edi
	movl	-204(%rbp), %esi                ## 4-byte Reload
	callq	_ktime_sub
	movl	%eax, %edi
	movl	-120(%rbp), %esi                ## 4-byte Reload
	callq	_ktime_sub
	movl	%eax, %edi
	movq	-168(%rbp), %rsi                ## 8-byte Reload
                                        ## kill: def $esi killed $esi killed $rsi
	callq	_ktime_sub
	movl	%eax, %edi
	callq	_ktime_to_us
	movl	%eax, %r14d
	movq	-192(%rbp), %rdi                ## 8-byte Reload
	callq	_kfree
	jmp	LBB0_46
LBB0_27:
	movq	_DMA_PQ@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_41
## %bb.28:
	movl	12(%r8), %r12d
	orl	$1, %r12d
	movq	%r14, -104(%rbp)                ## 8-byte Spill
	xorl	%r14d, %r14d
	movq	%r8, -88(%rbp)                  ## 8-byte Spill
	movq	%rbx, %rdi
	xorl	%esi, %esi
	callq	_dma_maxpq
	movl	%r12d, %edi
	movl	%eax, %esi
	callq	_min_odd
	movq	-88(%rbp), %rcx                 ## 8-byte Reload
	movq	-104(%rbp), %rdx                ## 8-byte Reload
	movq	%rdx, %rbx
	movl	%eax, (%rdx)
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	movl	$2, (%rax)
	movq	(%rcx), %r12
	testq	%r12, %r12
	jns	LBB0_30
## %bb.29:
	movq	-112(%rbp), %rax                ## 8-byte Reload
	movl	12(%rax), %r12d
LBB0_30:
	movl	12(%rcx), %edi
	incl	%edi
	movq	_GFP_KERNEL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_kmalloc
	testq	%rax, %rax
	je	LBB0_42
## %bb.31:
	movq	%rax, %rcx
	movq	%rbx, %r14
	movl	(%rbx), %esi
	xorl	%r10d, %r10d
	testl	%esi, %esi
	jle	LBB0_49
## %bb.32:
	xorl	%eax, %eax
	movq	%rcx, %rbx
	.p2align	4, 0x90
LBB0_33:                                ## =>This Inner Loop Header: Depth=1
	movl	$1, (%rbx,%rax,4)
	incq	%rax
	movslq	(%r14), %rsi
	cmpq	%rsi, %rax
	jl	LBB0_33
## %bb.34:
	movq	-64(%rbp), %r9                  ## 8-byte Reload
	movq	-88(%rbp), %r8                  ## 8-byte Reload
	jmp	LBB0_13
LBB0_35:
	movq	%rbx, %r15
	xorl	%r14d, %r14d
LBB0_36:
	xorl	%eax, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	xorl	%r12d, %r12d
	movl	$0, -44(%rbp)                   ## 4-byte Folded Spill
LBB0_37:
	movq	%r15, %rdi
	callq	_kfree
LBB0_38:
	movl	%r12d, -48(%rbp)                ## 4-byte Spill
	movl	%r14d, %edi
	movl	%r12d, %esi
	callq	_dmatest_persec
	movq	%rax, %rbx
	movq	_current@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%rax), %r12d
	movq	%rbx, %rdi
	callq	_FIXPT_TO_INT
	movl	%eax, %r15d
	movq	%rbx, %rdi
	callq	_FIXPT_GET_FRAC
	movl	%eax, %r13d
	movl	%r14d, %edi
	movq	-80(%rbp), %rsi                 ## 8-byte Reload
	callq	_dmatest_KBs
	movl	-56(%rbp), %r14d                ## 4-byte Reload
	movl	%r14d, 8(%rsp)
	movl	%eax, (%rsp)
	leaq	L_.str.15(%rip), %rdi
	movl	%r12d, %esi
	movl	-48(%rbp), %edx                 ## 4-byte Reload
	movl	-44(%rbp), %ebx                 ## 4-byte Reload
	movl	%ebx, %ecx
	movl	%r15d, %r8d
	movl	%r13d, %r9d
	callq	_pr_info
	orl	%r14d, %ebx
	je	LBB0_40
## %bb.39:
	movq	-128(%rbp), %rdi                ## 8-byte Reload
	callq	_dmaengine_terminate_sync
LBB0_40:
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movl	$1, 16(%rax)
	movq	_thread_wait@GOTPCREL(%rip), %rdi
	callq	_wake_up
	movl	%r14d, %eax
	addq	$184, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_41:
	xorl	%r14d, %r14d
LBB0_42:
	xorl	%eax, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	xorl	%r12d, %r12d
	movl	$0, -44(%rbp)                   ## 4-byte Folded Spill
	jmp	LBB0_38
LBB0_43:
	movq	%rbx, %r15
	xorl	%r14d, %r14d
	xorl	%eax, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	xorl	%r12d, %r12d
	movl	$0, -44(%rbp)                   ## 4-byte Folded Spill
	jmp	LBB0_48
LBB0_44:
	movq	-176(%rbp), %r15                ## 8-byte Reload
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	xorl	%r14d, %r14d
	xorl	%eax, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	xorl	%r12d, %r12d
	movl	$0, -44(%rbp)                   ## 4-byte Folded Spill
	jmp	LBB0_47
LBB0_45:
	movq	-176(%rbp), %r15                ## 8-byte Reload
	xorl	%r14d, %r14d
	xorl	%eax, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	xorl	%r12d, %r12d
	movl	$0, -44(%rbp)                   ## 4-byte Folded Spill
LBB0_46:
	movq	-144(%rbp), %rdi                ## 8-byte Reload
	callq	_kfree
LBB0_47:
	movq	%rbx, %rdi
	callq	_dmatest_free_test_data
LBB0_48:
	movq	-104(%rbp), %rdi                ## 8-byte Reload
	callq	_dmatest_free_test_data
	jmp	LBB0_37
LBB0_49:
	movq	-64(%rbp), %r9                  ## 8-byte Reload
	movq	-88(%rbp), %r8                  ## 8-byte Reload
	movq	%rcx, %rbx
	jmp	LBB0_13
LBB0_50:
	movl	%ebx, -116(%rbp)                ## 4-byte Spill
	movl	$-1, %eax
	movl	%r12d, %ecx
	shll	%cl, %eax
	leaq	72(%r15), %rcx
	movq	%rcx, -160(%rbp)                ## 8-byte Spill
	movl	-68(%rbp), %ecx                 ## 4-byte Reload
	movl	%eax, -148(%rbp)                ## 4-byte Spill
	andl	%eax, %ecx
	cmovel	-152(%rbp), %ecx                ## 4-byte Folded Reload
	movl	%ecx, -208(%rbp)                ## 4-byte Spill
	movl	$0, -44(%rbp)                   ## 4-byte Folded Spill
	xorl	%r12d, %r12d
	xorl	%eax, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	movl	$0, -120(%rbp)                  ## 4-byte Folded Spill
	xorl	%eax, %eax
	movq	%rax, -168(%rbp)                ## 8-byte Spill
	movq	-104(%rbp), %r9                 ## 8-byte Reload
	movq	-64(%rbp), %r8                  ## 8-byte Reload
	jmp	LBB0_53
LBB0_51:                                ##   in Loop: Header=BB0_53 Depth=1
	incl	-44(%rbp)                       ## 4-byte Folded Spill
	movl	28(%r15), %ecx
	movl	44(%r15), %edx
	leaq	L_.str.3(%rip), %rdi
	movl	-48(%rbp), %r12d                ## 4-byte Reload
	movl	%r12d, %esi
	movq	-56(%rbp), %rbx                 ## 8-byte Reload
	movl	%ebx, %r8d
	movl	%r13d, %r9d
	callq	_result
	movq	-80(%rbp), %rcx                 ## 8-byte Reload
	movq	_GFP_KERNEL@GOTPCREL(%rip), %r14
LBB0_52:                                ##   in Loop: Header=BB0_53 Depth=1
	movl	%ebx, %eax
	addq	%rax, %rcx
	movq	%rcx, -80(%rbp)                 ## 8-byte Spill
	xorl	%eax, %eax
	callq	_kthread_should_stop
	testl	%eax, %eax
	movq	-64(%rbp), %r8                  ## 8-byte Reload
	movq	-104(%rbp), %r9                 ## 8-byte Reload
	jne	LBB0_26
LBB0_53:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_68 Depth 2
                                        ##     Child Loop BB0_73 Depth 2
                                        ##     Child Loop BB0_88 Depth 2
	movq	-88(%rbp), %rcx                 ## 8-byte Reload
	movl	20(%rcx), %eax
	testl	%eax, %eax
	je	LBB0_55
## %bb.54:                              ##   in Loop: Header=BB0_53 Depth=1
	cmpl	%eax, %r12d
	jae	LBB0_26
LBB0_55:                                ##   in Loop: Header=BB0_53 Depth=1
	incl	%r12d
	movl	24(%rcx), %esi
	testl	%esi, %esi
	je	LBB0_57
## %bb.56:                              ##   in Loop: Header=BB0_53 Depth=1
	movl	-68(%rbp), %edx                 ## 4-byte Reload
	cmpl	%edx, %esi
	jb	LBB0_60
	jmp	LBB0_112
LBB0_57:                                ##   in Loop: Header=BB0_53 Depth=1
	cmpq	$0, 56(%rcx)
	movl	-208(%rbp), %eax                ## 4-byte Reload
	je	LBB0_59
LBB0_58:                                ##   in Loop: Header=BB0_53 Depth=1
	movl	%eax, %esi
	jmp	LBB0_60
LBB0_59:                                ##   in Loop: Header=BB0_53 Depth=1
	xorl	%eax, %eax
	movq	%r9, %rbx
	callq	_dmatest_random
	movq	%rbx, %r9
	movq	-64(%rbp), %r8                  ## 8-byte Reload
	movq	-88(%rbp), %rcx                 ## 8-byte Reload
	xorl	%edx, %edx
	divl	-68(%rbp)                       ## 4-byte Folded Reload
	movl	%edx, %esi
	incl	%esi
	movl	%esi, %eax
	andl	-148(%rbp), %eax                ## 4-byte Folded Reload
	cmovel	-152(%rbp), %eax                ## 4-byte Folded Reload
	cmpl	$0, 24(%rcx)
	je	LBB0_58
LBB0_60:                                ##   in Loop: Header=BB0_53 Depth=1
	cmpq	$0, 56(%rcx)
	movq	%rsi, -56(%rbp)                 ## 8-byte Spill
	je	LBB0_62
## %bb.61:                              ##   in Loop: Header=BB0_53 Depth=1
	movl	$0, 44(%r15)
	xorl	%edx, %edx
	jmp	LBB0_63
LBB0_62:                                ##   in Loop: Header=BB0_53 Depth=1
	xorl	%eax, %eax
	movq	%rsi, %r14
	callq	_dmatest_random
	movl	-68(%rbp), %ebx                 ## 4-byte Reload
	subl	%r14d, %ebx
	incl	%ebx
	xorl	%edx, %edx
	divl	%ebx
	movl	%edx, 44(%r15)
	xorl	%eax, %eax
	callq	_dmatest_random
	movq	-64(%rbp), %r8                  ## 8-byte Reload
	movq	-88(%rbp), %rcx                 ## 8-byte Reload
	xorl	%edx, %edx
	divl	%ebx
	movq	_GFP_KERNEL@GOTPCREL(%rip), %r14
	movq	-104(%rbp), %r9                 ## 8-byte Reload
	movl	-148(%rbp), %eax                ## 4-byte Reload
	andl	%eax, 44(%r15)
	andl	%eax, %edx
LBB0_63:                                ##   in Loop: Header=BB0_53 Depth=1
	movq	-112(%rbp), %rsi                ## 8-byte Reload
	movl	%edx, 28(%r15)
	cmpq	$0, 32(%rcx)
	movl	%r12d, -48(%rbp)                ## 4-byte Spill
	jne	LBB0_65
## %bb.64:                              ##   in Loop: Header=BB0_53 Depth=1
	xorl	%eax, %eax
	callq	_ktime_get
	movl	%eax, -92(%rbp)                 ## 4-byte Spill
	movq	48(%r15), %rdi
	movl	44(%r15), %esi
	movq	-56(%rbp), %r14                 ## 8-byte Reload
	movl	%r14d, %edx
	movl	-68(%rbp), %r12d                ## 4-byte Reload
	movl	%r12d, %ecx
	movq	-200(%rbp), %rbx                ## 8-byte Reload
	movl	%ebx, %r8d
	callq	_dmatest_init_srcs
	movq	32(%r15), %rdi
	movl	28(%r15), %esi
	movl	%r14d, %edx
	movl	%r12d, %ecx
	movl	%ebx, %r8d
	movq	_GFP_KERNEL@GOTPCREL(%rip), %r14
	callq	_dmatest_init_dsts
	xorl	%eax, %eax
	callq	_ktime_get
	movl	%eax, %edi
	movl	-92(%rbp), %esi                 ## 4-byte Reload
	movq	-104(%rbp), %rbx                ## 8-byte Reload
	callq	_ktime_sub
	movq	-168(%rbp), %rdi                ## 8-byte Reload
                                        ## kill: def $edi killed $edi killed $rdi
	movl	%eax, %esi
	callq	_ktime_add
	movq	%rbx, %r9
	movq	-64(%rbp), %r8                  ## 8-byte Reload
	movq	-112(%rbp), %rsi                ## 8-byte Reload
                                        ## kill: def $eax killed $eax def $rax
	movq	%rax, -168(%rbp)                ## 8-byte Spill
LBB0_65:                                ##   in Loop: Header=BB0_53 Depth=1
	movl	48(%rsi), %edi
	movl	(%r8), %esi
	addl	(%r9), %esi
	movl	(%r14), %edx
	movq	%r9, %r14
	callq	_dmaengine_get_unmap_data
	testq	%rax, %rax
	je	LBB0_51
## %bb.66:                              ##   in Loop: Header=BB0_53 Depth=1
	movq	%rax, %r12
	movl	-68(%rbp), %eax                 ## 4-byte Reload
	movl	%eax, (%r12)
	movl	(%r14), %eax
	testl	%eax, %eax
	jle	LBB0_71
## %bb.67:                              ##   in Loop: Header=BB0_53 Depth=1
	xorl	%ebx, %ebx
	.p2align	4, 0x90
LBB0_68:                                ##   Parent Loop BB0_53 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	48(%r15), %rax
	movq	(%rax,%rbx,8), %r14
	movq	%r14, %rdi
	callq	_virt_to_page
	movq	%rax, %r13
	movq	%r14, %rdi
	callq	_offset_in_page
	movq	-112(%rbp), %r14                ## 8-byte Reload
	movl	48(%r14), %edi
	movl	(%r12), %ecx
	movq	_DMA_TO_DEVICE@GOTPCREL(%rip), %rdx
	movl	(%rdx), %r8d
	movq	%r13, %rsi
	movq	%rax, %rdx
	callq	_dma_map_page
	movq	8(%r12), %rcx
	movl	%eax, (%rcx,%rbx,4)
	addl	44(%r15), %eax
	movq	-144(%rbp), %rdx                ## 8-byte Reload
	movl	%eax, (%rdx,%rbx,4)
	movl	48(%r14), %edi
	movl	(%rcx,%rbx,4), %esi
	callq	_dma_mapping_error
	testl	%eax, %eax
	jne	LBB0_78
## %bb.69:                              ##   in Loop: Header=BB0_68 Depth=2
	incl	20(%r12)
	incq	%rbx
	movq	-104(%rbp), %rax                ## 8-byte Reload
	movslq	(%rax), %rax
	cmpq	%rax, %rbx
	jl	LBB0_68
## %bb.70:                              ##   in Loop: Header=BB0_53 Depth=1
	xorl	%r13d, %r13d
LBB0_71:                                ##   in Loop: Header=BB0_53 Depth=1
	movslq	%eax, %r14
	shlq	$2, %r14
	addq	8(%r12), %r14
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax), %eax
	testl	%eax, %eax
	jle	LBB0_76
## %bb.72:                              ##   in Loop: Header=BB0_53 Depth=1
	xorl	%r15d, %r15d
	.p2align	4, 0x90
LBB0_73:                                ##   Parent Loop BB0_53 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movq	32(%rax), %rax
	movq	(%rax,%r15,8), %rbx
	movq	%rbx, %rdi
	callq	_virt_to_page
	movq	%rax, %r13
	movq	%rbx, %rdi
	callq	_offset_in_page
	movq	-112(%rbp), %rbx                ## 8-byte Reload
	movl	48(%rbx), %edi
	movl	(%r12), %ecx
	movq	_DMA_BIDIRECTIONAL@GOTPCREL(%rip), %rdx
	movl	(%rdx), %r8d
	movq	%r13, %rsi
	movq	%rax, %rdx
	callq	_dma_map_page
	movl	%eax, (%r14,%r15,4)
	movl	48(%rbx), %edi
	movl	%eax, %esi
	callq	_dma_mapping_error
	testl	%eax, %eax
	jne	LBB0_81
## %bb.74:                              ##   in Loop: Header=BB0_73 Depth=2
	incl	16(%r12)
	incq	%r15
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	movslq	(%rax), %rax
	cmpq	%rax, %r15
	jl	LBB0_73
## %bb.75:                              ##   in Loop: Header=BB0_53 Depth=1
	xorl	%r13d, %r13d
	movq	-184(%rbp), %r15                ## 8-byte Reload
LBB0_76:                                ##   in Loop: Header=BB0_53 Depth=1
	movq	8(%r15), %rcx
	movq	_DMA_MEMCPY@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	jne	LBB0_79
## %bb.77:                              ##   in Loop: Header=BB0_53 Depth=1
	movl	28(%r15), %esi
	addl	(%r14), %esi
	movq	-144(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %edx
	movq	-128(%rbp), %rdi                ## 8-byte Reload
	movq	-56(%rbp), %rcx                 ## 8-byte Reload
                                        ## kill: def $ecx killed $ecx killed $rcx
	movl	-116(%rbp), %r8d                ## 4-byte Reload
	movq	-112(%rbp), %rax                ## 8-byte Reload
	callq	*40(%rax)
	jmp	LBB0_90
LBB0_78:                                ##   in Loop: Header=BB0_53 Depth=1
	movl	%eax, %r13d
	movl	28(%r15), %ecx
	movl	44(%r15), %edx
	leaq	L_.str.4(%rip), %rdi
	jmp	LBB0_82
LBB0_79:                                ##   in Loop: Header=BB0_53 Depth=1
	movq	_DMA_MEMSET@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	movq	-176(%rbp), %rbx                ## 8-byte Reload
	jne	LBB0_83
## %bb.80:                              ##   in Loop: Header=BB0_53 Depth=1
	movl	28(%r15), %esi
	addl	(%r14), %esi
	movl	44(%r15), %eax
	movq	48(%r15), %rcx
	movq	(%rcx), %rcx
	movl	(%rcx,%rax,4), %edx
	movq	-128(%rbp), %rdi                ## 8-byte Reload
	movq	-56(%rbp), %rcx                 ## 8-byte Reload
                                        ## kill: def $ecx killed $ecx killed $rcx
	movl	-116(%rbp), %r8d                ## 4-byte Reload
	movq	-112(%rbp), %rax                ## 8-byte Reload
	callq	*32(%rax)
	jmp	LBB0_90
LBB0_81:                                ##   in Loop: Header=BB0_53 Depth=1
	movl	%eax, %r13d
	movq	-184(%rbp), %r15                ## 8-byte Reload
	movl	28(%r15), %ecx
	movl	44(%r15), %edx
	leaq	L_.str.5(%rip), %rdi
LBB0_82:                                ##   in Loop: Header=BB0_53 Depth=1
	movl	-48(%rbp), %esi                 ## 4-byte Reload
	movq	-56(%rbp), %r8                  ## 8-byte Reload
                                        ## kill: def $r8d killed $r8d killed $r8
	movl	%r13d, %r9d
	callq	_result
	jmp	LBB0_97
LBB0_83:                                ##   in Loop: Header=BB0_53 Depth=1
	movq	_DMA_XOR@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	jne	LBB0_85
## %bb.84:                              ##   in Loop: Header=BB0_53 Depth=1
	movl	28(%r15), %esi
	movl	40(%r15), %ecx
	addl	(%r14), %esi
	movq	-128(%rbp), %rdi                ## 8-byte Reload
	movq	-144(%rbp), %rdx                ## 8-byte Reload
	movq	-56(%rbp), %r8                  ## 8-byte Reload
                                        ## kill: def $r8d killed $r8d killed $r8
	movl	-116(%rbp), %r9d                ## 4-byte Reload
	movq	-112(%rbp), %rax                ## 8-byte Reload
	callq	*24(%rax)
	jmp	LBB0_90
LBB0_85:                                ##   in Loop: Header=BB0_53 Depth=1
	movq	_DMA_PQ@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	movq	-192(%rbp), %rdx                ## 8-byte Reload
	jne	LBB0_95
## %bb.86:                              ##   in Loop: Header=BB0_53 Depth=1
	testl	%eax, %eax
	jle	LBB0_89
## %bb.87:                              ##   in Loop: Header=BB0_53 Depth=1
	xorl	%eax, %eax
LBB0_88:                                ##   Parent Loop BB0_53 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movl	28(%r15), %ecx
	addl	(%r14,%rax,4), %ecx
	movl	%ecx, (%rdx,%rax,4)
	incq	%rax
	movslq	24(%r15), %rcx
	cmpq	%rcx, %rax
	jl	LBB0_88
LBB0_89:                                ##   in Loop: Header=BB0_53 Depth=1
	movq	-104(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %ecx
	movl	-116(%rbp), %eax                ## 4-byte Reload
	movl	%eax, (%rsp)
	movq	-128(%rbp), %rdi                ## 8-byte Reload
	movq	-192(%rbp), %rsi                ## 8-byte Reload
	movq	-144(%rbp), %rdx                ## 8-byte Reload
	movq	%rbx, %r8
	movq	-56(%rbp), %r9                  ## 8-byte Reload
                                        ## kill: def $r9d killed $r9d killed $r9
	movq	-112(%rbp), %rax                ## 8-byte Reload
	callq	*16(%rax)
LBB0_90:                                ##   in Loop: Header=BB0_53 Depth=1
	movq	-88(%rbp), %rcx                 ## 8-byte Reload
	testq	%rax, %rax
	je	LBB0_95
## %bb.91:                              ##   in Loop: Header=BB0_53 Depth=1
	movq	-160(%rbp), %rdx                ## 8-byte Reload
	movl	$0, (%rdx)
	cmpq	$0, 48(%rcx)
	jne	LBB0_93
## %bb.92:                              ##   in Loop: Header=BB0_53 Depth=1
	movq	_dmatest_callback@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	movl	%ecx, 16(%rax)
	movq	-160(%rbp), %rcx                ## 8-byte Reload
	movq	%rcx, 8(%rax)
LBB0_93:                                ##   in Loop: Header=BB0_53 Depth=1
	movq	%rax, %rdi
	callq	*(%rax)
	movl	%eax, %ebx
	movl	%eax, %edi
	callq	_dma_submit_error
	testq	%rax, %rax
	je	LBB0_98
## %bb.94:                              ##   in Loop: Header=BB0_53 Depth=1
	movl	28(%r15), %ecx
	movl	44(%r15), %edx
	leaq	L_.str.7(%rip), %rdi
	jmp	LBB0_96
LBB0_95:                                ##   in Loop: Header=BB0_53 Depth=1
	movl	28(%r15), %ecx
	movl	44(%r15), %edx
	leaq	L_.str.6(%rip), %rdi
LBB0_96:                                ##   in Loop: Header=BB0_53 Depth=1
	movl	-48(%rbp), %esi                 ## 4-byte Reload
	movq	-56(%rbp), %r8                  ## 8-byte Reload
                                        ## kill: def $r8d killed $r8d killed $r8
	movl	%r13d, %r9d
	callq	_result
	movl	$100, %edi
	callq	_msleep
LBB0_97:                                ##   in Loop: Header=BB0_53 Depth=1
	movq	_GFP_KERNEL@GOTPCREL(%rip), %r14
	movq	%r12, %rdi
	callq	_dmaengine_unmap_put
	incl	-44(%rbp)                       ## 4-byte Folded Spill
	movq	-80(%rbp), %rcx                 ## 8-byte Reload
	movl	-48(%rbp), %r12d                ## 4-byte Reload
	movq	-56(%rbp), %rbx                 ## 8-byte Reload
	jmp	LBB0_52
LBB0_98:                                ##   in Loop: Header=BB0_53 Depth=1
	movq	-88(%rbp), %r14                 ## 8-byte Reload
	cmpq	$0, 48(%r14)
	je	LBB0_101
## %bb.99:                              ##   in Loop: Header=BB0_53 Depth=1
	movq	-128(%rbp), %r14                ## 8-byte Reload
	movq	%r14, %rdi
	movl	%ebx, %esi
	callq	_dma_sync_wait
	movl	%eax, %ebx
	movq	%r14, %rdi
	callq	_dmaengine_terminate_sync
	movq	_DMA_COMPLETE@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	jne	LBB0_102
## %bb.100:                             ##   in Loop: Header=BB0_53 Depth=1
	movq	-160(%rbp), %rax                ## 8-byte Reload
	movl	$1, (%rax)
	jmp	LBB0_104
LBB0_101:                               ##   in Loop: Header=BB0_53 Depth=1
	movq	-128(%rbp), %rdi                ## 8-byte Reload
	callq	_dma_async_issue_pending
	movl	20(%r15), %eax
	movl	%eax, -92(%rbp)                 ## 4-byte Spill
	movl	72(%r15), %eax
	movl	%eax, -132(%rbp)                ## 4-byte Spill
	movl	40(%r14), %edi
	callq	_msecs_to_jiffies
	movl	-92(%rbp), %edi                 ## 4-byte Reload
	movl	-132(%rbp), %esi                ## 4-byte Reload
	movl	%eax, %edx
	callq	_wait_event_freezable_timeout
	movq	-128(%rbp), %rdi                ## 8-byte Reload
	movl	%ebx, %esi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	callq	_dma_async_is_tx_complete
	movl	%eax, %ebx
LBB0_102:                               ##   in Loop: Header=BB0_53 Depth=1
	movq	-160(%rbp), %rax                ## 8-byte Reload
	cmpl	$0, (%rax)
	je	LBB0_106
## %bb.103:                             ##   in Loop: Header=BB0_53 Depth=1
	movq	_DMA_COMPLETE@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	jne	LBB0_107
LBB0_104:                               ##   in Loop: Header=BB0_53 Depth=1
	movq	%r12, %rdi
	callq	_dmaengine_unmap_put
	movq	-88(%rbp), %rax                 ## 8-byte Reload
	cmpq	$0, 32(%rax)
	movq	_GFP_KERNEL@GOTPCREL(%rip), %r14
	je	LBB0_108
## %bb.105:                             ##   in Loop: Header=BB0_53 Depth=1
	movl	28(%r15), %ecx
	movl	44(%r15), %edx
	leaq	L_.str.11(%rip), %rdi
	movl	-48(%rbp), %r12d                ## 4-byte Reload
	movl	%r12d, %esi
	movq	-56(%rbp), %rbx                 ## 8-byte Reload
	movl	%ebx, %r8d
	xorl	%r9d, %r9d
	callq	_verbose_result
	movq	-80(%rbp), %rcx                 ## 8-byte Reload
	jmp	LBB0_52
LBB0_106:                               ##   in Loop: Header=BB0_53 Depth=1
	movl	28(%r15), %ecx
	movl	44(%r15), %edx
	leaq	L_.str.8(%rip), %rdi
	movl	-48(%rbp), %esi                 ## 4-byte Reload
	movq	-56(%rbp), %r8                  ## 8-byte Reload
                                        ## kill: def $r8d killed $r8d killed $r8
	xorl	%r9d, %r9d
	callq	_result
	jmp	LBB0_97
LBB0_107:                               ##   in Loop: Header=BB0_53 Depth=1
	movq	_DMA_ERROR@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	leaq	L_.str.10(%rip), %rdi
	leaq	L_.str.9(%rip), %rax
	cmoveq	%rax, %rdi
	movl	28(%r15), %ecx
	movl	44(%r15), %edx
	jmp	LBB0_82
LBB0_108:                               ##   in Loop: Header=BB0_53 Depth=1
	xorl	%eax, %eax
	callq	_ktime_get
	movl	%eax, -92(%rbp)                 ## 4-byte Spill
	movq	_current@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%rax), %esi
	leaq	L_.str.12(%rip), %rdi
	callq	_pr_debug
	movq	48(%r15), %rdi
	movl	44(%r15), %edx
	movq	_PATTERN_SRC@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	movq	%rax, %r12
	movq	-200(%rbp), %rbx                ## 8-byte Reload
	movl	%ebx, (%rsp)
	xorl	%esi, %esi
	xorl	%ecx, %ecx
	movl	$1, %r9d
	callq	_dmatest_verify
	movl	%eax, -132(%rbp)                ## 4-byte Spill
	movq	48(%r15), %rdi
	movl	44(%r15), %ecx
	movq	-56(%rbp), %rax                 ## 8-byte Reload
	leal	(%rcx,%rax), %edx
	movq	%rax, %r14
	movq	_PATTERN_COPY@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	orl	(%r12), %r8d
	movl	%ebx, (%rsp)
	movq	%rbx, %r12
	movl	%ecx, %esi
                                        ## kill: def $ecx killed $ecx killed $rcx
	movl	$1, %r9d
	callq	_dmatest_verify
	movl	%eax, %ebx
	addl	-132(%rbp), %ebx                ## 4-byte Folded Reload
	movq	48(%r15), %rdi
	movl	44(%r15), %ecx
	addl	%r14d, %ecx
	movq	_PATTERN_SRC@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	movl	%r12d, (%rsp)
	movq	%r12, %r14
	movl	%ecx, %esi
	movl	-68(%rbp), %edx                 ## 4-byte Reload
	movl	$1, %r9d
	callq	_dmatest_verify
	movl	%eax, %r12d
	addl	%ebx, %r12d
	movq	_current@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%rax), %esi
	leaq	L_.str.13(%rip), %rdi
	callq	_pr_debug
	movq	32(%r15), %rdi
	movl	28(%r15), %edx
	movq	_PATTERN_DST@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	movl	%r14d, (%rsp)
	xorl	%esi, %esi
	xorl	%ecx, %ecx
	xorl	%r9d, %r9d
	callq	_dmatest_verify
	movl	%eax, %ebx
	addl	%r12d, %ebx
	movq	32(%r15), %rdi
	movl	28(%r15), %esi
	movq	-56(%rbp), %r14                 ## 8-byte Reload
	leal	(%rsi,%r14), %edx
	movl	44(%r15), %ecx
	movq	_PATTERN_COPY@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	movq	_PATTERN_SRC@GOTPCREL(%rip), %rax
	orl	(%rax), %r8d
	movq	-200(%rbp), %r12                ## 8-byte Reload
	movl	%r12d, (%rsp)
                                        ## kill: def $esi killed $esi killed $rsi
	xorl	%r9d, %r9d
	callq	_dmatest_verify
	addl	%ebx, %eax
	movl	%eax, %ebx
	movq	32(%r15), %rdi
	movl	28(%r15), %ecx
	movq	%r14, %rax
	addl	%eax, %ecx
	movq	_PATTERN_DST@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	movl	%r12d, (%rsp)
	movl	%ecx, %esi
	movl	-68(%rbp), %edx                 ## 4-byte Reload
	xorl	%r9d, %r9d
	callq	_dmatest_verify
	movl	%eax, %r12d
	xorl	%eax, %eax
	callq	_ktime_get
	movl	%eax, %edi
	movl	-92(%rbp), %esi                 ## 4-byte Reload
	callq	_ktime_sub
	movl	-120(%rbp), %edi                ## 4-byte Reload
	movl	%eax, %esi
	callq	_ktime_add
	movl	%eax, -120(%rbp)                ## 4-byte Spill
	movl	28(%r15), %ecx
	movl	44(%r15), %edx
	addl	%ebx, %r12d
	je	LBB0_110
## %bb.109:                             ##   in Loop: Header=BB0_53 Depth=1
	leaq	L_.str.14(%rip), %rdi
	movl	-48(%rbp), %esi                 ## 4-byte Reload
	movl	%r14d, %r8d
	movl	%r12d, %r9d
	movl	%esi, %r12d
	callq	_result
	incl	-44(%rbp)                       ## 4-byte Folded Spill
	jmp	LBB0_111
LBB0_110:                               ##   in Loop: Header=BB0_53 Depth=1
	leaq	L_.str.11(%rip), %rdi
	movl	-48(%rbp), %r12d                ## 4-byte Reload
	movl	%r12d, %esi
	movl	%r14d, %r8d
	xorl	%r9d, %r9d
	callq	_verbose_result
LBB0_111:                               ##   in Loop: Header=BB0_53 Depth=1
	movq	-80(%rbp), %rcx                 ## 8-byte Reload
	movq	_GFP_KERNEL@GOTPCREL(%rip), %rbx
	movq	%r14, %rax
	movq	%rbx, %r14
	movq	%rax, %rbx
	jmp	LBB0_52
LBB0_112:
	leaq	L_.str.2(%rip), %rdi
                                        ## kill: def $esi killed $esi killed $rsi
	xorl	%eax, %eax
	callq	_pr_err
	jmp	LBB0_25
	.cfi_endproc
                                        ## -- End function
	.comm	_ENOMEM,4,2                     ## @ENOMEM
	.comm	_DMA_MEMCPY,8,3                 ## @DMA_MEMCPY
	.comm	_DMA_MEMSET,8,3                 ## @DMA_MEMSET
	.comm	_DMA_XOR,8,3                    ## @DMA_XOR
	.comm	_DMA_PQ,8,3                     ## @DMA_PQ
	.comm	_GFP_KERNEL,4,2                 ## @GFP_KERNEL
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"too many buffers (%d of 255 supported)\n"

L_.str.1:                               ## @.str.1
	.asciz	"%u-byte buffer too small for %d-byte alignment\n"

	.comm	_current,8,3                    ## @current
	.comm	_DMA_CTRL_ACK,4,2               ## @DMA_CTRL_ACK
	.comm	_DMA_PREP_INTERRUPT,4,2         ## @DMA_PREP_INTERRUPT
L_.str.2:                               ## @.str.2
	.asciz	"%u-byte transfer size must be lower than %u-buffer size\n"

L_.str.3:                               ## @.str.3
	.asciz	"unmap data NULL"

	.comm	_DMA_TO_DEVICE,4,2              ## @DMA_TO_DEVICE
L_.str.4:                               ## @.str.4
	.asciz	"src mapping error"

	.comm	_DMA_BIDIRECTIONAL,4,2          ## @DMA_BIDIRECTIONAL
L_.str.5:                               ## @.str.5
	.asciz	"dst mapping error"

L_.str.6:                               ## @.str.6
	.asciz	"prep error"

	.comm	_dmatest_callback,4,2           ## @dmatest_callback
L_.str.7:                               ## @.str.7
	.asciz	"submit error"

	.comm	_DMA_COMPLETE,4,2               ## @DMA_COMPLETE
L_.str.8:                               ## @.str.8
	.asciz	"test timed out"

	.comm	_DMA_ERROR,4,2                  ## @DMA_ERROR
L_.str.9:                               ## @.str.9
	.asciz	"completion error status"

L_.str.10:                              ## @.str.10
	.asciz	"completion busy status"

L_.str.11:                              ## @.str.11
	.asciz	"test passed"

L_.str.12:                              ## @.str.12
	.asciz	"%s: verifying source buffer...\n"

	.comm	_PATTERN_SRC,4,2                ## @PATTERN_SRC
	.comm	_PATTERN_COPY,4,2               ## @PATTERN_COPY
L_.str.13:                              ## @.str.13
	.asciz	"%s: verifying dest buffer...\n"

	.comm	_PATTERN_DST,4,2                ## @PATTERN_DST
L_.str.14:                              ## @.str.14
	.asciz	"data error"

L_.str.15:                              ## @.str.15
	.asciz	"%s: summary %u tests, %u failures %llu.%02llu iops %llu KB/s (%d)\n"

	.comm	_thread_wait,4,2                ## @thread_wait
	.no_dead_strip	_dmatest_func
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function dmatest_func
_dmatest_func:                          ; @dmatest_func
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #272
	.cfi_def_cfa_offset 272
	stp	x28, x27, [sp, #176]            ; 16-byte Folded Spill
	stp	x26, x25, [sp, #192]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #208]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #224]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #240]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #256]            ; 16-byte Folded Spill
	add	x29, sp, #256
	.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, x0
	bl	_set_freezable
Lloh0:
	adrp	x8, _ENOMEM@GOTPAGE
Lloh1:
	ldr	x8, [x8, _ENOMEM@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	neg	w22, w8
	bl	_smp_rmb
	str	wzr, [x19]
	ldp	x11, x10, [x19, #56]
	ldr	x25, [x11]
	add	x21, x19, #40
	add	x23, x19, #24
	ldr	x8, [x19, #8]
Lloh3:
	adrp	x9, _DMA_MEMCPY@GOTPAGE
Lloh4:
	ldr	x9, [x9, _DMA_MEMCPY@GOTPAGEOFF]
Lloh5:
	ldr	x9, [x9]
Lloh6:
	adrp	x24, _current@GOTPAGE
Lloh7:
	ldr	x24, [x24, _current@GOTPAGEOFF]
	cmp	x8, x9
	stur	x11, [x29, #-104]               ; 8-byte Folded Spill
	b.ne	LBB0_4
; %bb.1:
	ldr	x20, [x10]
	tbz	x20, #63, LBB0_3
; %bb.2:
	ldr	w20, [x25]
LBB0_3:
	mov	w27, #0
	mov	x26, #0
	mov	w0, #1
	str	w0, [x23]
	str	w0, [x21]
	b	LBB0_21
LBB0_4:
Lloh8:
	adrp	x9, _DMA_MEMSET@GOTPAGE
Lloh9:
	ldr	x9, [x9, _DMA_MEMSET@GOTPAGEOFF]
Lloh10:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_8
; %bb.5:
	ldr	x20, [x10]
	tbz	x20, #63, LBB0_7
; %bb.6:
	ldr	w20, [x25, #4]
LBB0_7:
	mov	x26, #0
	mov	w0, #1
	str	w0, [x23]
	str	w0, [x21]
	mov	w27, #1
	b	LBB0_21
LBB0_8:
Lloh11:
	adrp	x9, _DMA_XOR@GOTPAGE
Lloh12:
	ldr	x9, [x9, _DMA_XOR@GOTPAGEOFF]
Lloh13:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_11
; %bb.9:
	ldr	w8, [x10, #8]
	orr	w0, w8, #0x1
	ldr	w1, [x25, #52]
	mov	x20, x10
	bl	_min_odd
	mov	x10, x20
                                        ; kill: def $w0 killed $w0 killed $x0 def $x0
	str	w0, [x21]
	mov	w8, #1
	str	w8, [x23]
	ldr	x20, [x20]
	tbnz	x20, #63, LBB0_20
; %bb.10:
	mov	w27, #0
	mov	x26, #0
	b	LBB0_21
LBB0_11:
Lloh14:
	adrp	x9, _DMA_PQ@GOTPAGE
Lloh15:
	ldr	x9, [x9, _DMA_PQ@GOTPAGEOFF]
Lloh16:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_19
; %bb.12:
	ldr	w8, [x10, #12]
	orr	w20, w8, #0x1
	mov	x0, x25
	mov	w1, #0
	mov	x28, x10
	bl	_dma_maxpq
	mov	x1, x0
	mov	x0, x20
	bl	_min_odd
	mov	x9, x28
	str	w0, [x21]
	mov	w8, #2
	str	w8, [x23]
	ldr	x20, [x28]
	tbz	x20, #63, LBB0_14
; %bb.13:
	ldr	w20, [x25, #12]
LBB0_14:
	ldr	w8, [x9, #12]
	add	w0, w8, #1
Lloh17:
	adrp	x8, _GFP_KERNEL@GOTPAGE
Lloh18:
	ldr	x8, [x8, _GFP_KERNEL@GOTPAGEOFF]
Lloh19:
	ldr	w1, [x8]
	bl	_kmalloc
	cbz	x0, LBB0_19
; %bb.15:
	mov	x26, x0
	ldr	w0, [x21]
	cmp	w0, #1
	b.lt	LBB0_18
; %bb.16:
	mov	x8, #0
	mov	w9, #1
LBB0_17:                                ; =>This Inner Loop Header: Depth=1
	str	w9, [x26, x8, lsl #2]
	add	x8, x8, #1
	ldrsw	x0, [x21]
	cmp	x8, x0
	b.lt	LBB0_17
LBB0_18:
	mov	w27, #0
	mov	x10, x28
	b	LBB0_21
LBB0_19:
	mov	w20, #0
	mov	x25, #0
	mov	w28, #0
	stur	wzr, [x29, #-92]                ; 4-byte Folded Spill
	b	LBB0_34
LBB0_20:
	mov	w27, #0
	mov	x26, #0
	ldr	w20, [x25, #8]
LBB0_21:
	ldr	w8, [x23]
	add	w1, w8, w0
	cmp	w1, #255
	b.lt	LBB0_23
; %bb.22:
Lloh20:
	adrp	x0, l_.str@PAGE
Lloh21:
	add	x0, x0, l_.str@PAGEOFF
	bl	_pr_err
	b	LBB0_32
LBB0_23:
	ldr	w28, [x10, #16]
	mov	w8, #1
	lsl	w8, w8, w20
	cmp	w8, w28
	b.ls	LBB0_25
; %bb.24:
	str	x8, [sp]
Lloh22:
	adrp	x0, l_.str.1@PAGE
Lloh23:
	add	x0, x0, l_.str.1@PAGEOFF
	mov	x1, x28
	bl	_pr_err
	b	LBB0_32
LBB0_25:
	str	x8, [sp, #96]                   ; 8-byte Folded Spill
	stur	x10, [x29, #-120]               ; 8-byte Folded Spill
	mov	x0, x21
	mov	x1, x28
	mov	x2, x20
	bl	_dmatest_alloc_test_data
	tbnz	x0, #63, LBB0_32
; %bb.26:
	mov	x0, x23
	mov	x1, x28
	mov	x2, x20
	bl	_dmatest_alloc_test_data
	tbnz	x0, #63, LBB0_37
; %bb.27:
	str	x26, [sp, #104]                 ; 8-byte Folded Spill
	ldr	x0, [x24]
	mov	w1, #10
	bl	_set_user_nice
	ldr	w0, [x21]
Lloh24:
	adrp	x26, _GFP_KERNEL@GOTPAGE
Lloh25:
	ldr	x26, [x26, _GFP_KERNEL@GOTPAGEOFF]
	ldr	w2, [x26]
	mov	w1, #4
	bl	_kcalloc
	stur	x0, [x29, #-112]                ; 8-byte Folded Spill
	cbz	x0, LBB0_38
; %bb.28:
	ldr	w0, [x23]
	ldr	w2, [x26]
	mov	w1, #4
	bl	_kcalloc
	cbz	x0, LBB0_39
; %bb.29:
	str	x0, [sp, #64]                   ; 8-byte Folded Spill
	ldur	x8, [x29, #-120]                ; 8-byte Folded Reload
	ldr	x8, [x8, #48]
Lloh26:
	adrp	x9, _DMA_CTRL_ACK@GOTPAGE
Lloh27:
	ldr	x9, [x9, _DMA_CTRL_ACK@GOTPAGEOFF]
Lloh28:
	ldr	w24, [x9]
Lloh29:
	adrp	x9, _DMA_PREP_INTERRUPT@GOTPAGE
Lloh30:
	ldr	x9, [x9, _DMA_PREP_INTERRUPT@GOTPAGEOFF]
Lloh31:
	ldr	w9, [x9]
	cmp	x8, #0
	csel	w26, w9, wzr, eq
	bl	_ktime_get
	str	w0, [sp, #44]                   ; 4-byte Folded Spill
	bl	_kthread_should_stop
	cbz	w0, LBB0_43
; %bb.30:
	str	wzr, [sp, #92]                  ; 4-byte Folded Spill
	str	wzr, [sp, #80]                  ; 4-byte Folded Spill
	str	xzr, [sp, #120]                 ; 8-byte Folded Spill
	stur	wzr, [x29, #-92]                ; 4-byte Folded Spill
	mov	w28, #0
Lloh32:
	adrp	x24, _current@GOTPAGE
Lloh33:
	ldr	x24, [x24, _current@GOTPAGEOFF]
	ldr	x26, [sp, #104]                 ; 8-byte Folded Reload
LBB0_31:
	bl	_ktime_get
	ldr	w1, [sp, #44]                   ; 4-byte Folded Reload
	bl	_ktime_sub
	ldr	w1, [sp, #80]                   ; 4-byte Folded Reload
	bl	_ktime_sub
	ldr	w1, [sp, #92]                   ; 4-byte Folded Reload
	bl	_ktime_sub
	bl	_ktime_to_us
	mov	x20, x0
	ldr	x0, [sp, #64]                   ; 8-byte Folded Reload
	bl	_kfree
	mov	w22, #0
	ldr	x25, [sp, #120]                 ; 8-byte Folded Reload
	b	LBB0_40
LBB0_32:
	mov	w20, #0
	mov	x25, #0
	mov	w28, #0
	stur	wzr, [x29, #-92]                ; 4-byte Folded Spill
LBB0_33:
	mov	x0, x26
	bl	_kfree
LBB0_34:
	mov	x0, x20
	mov	x1, x28
	bl	_dmatest_persec
	mov	x21, x0
	ldr	x8, [x24]
	ldr	w23, [x8]
	bl	_FIXPT_TO_INT
	mov	x24, x0
	mov	x0, x21
	bl	_FIXPT_GET_FRAC
	mov	x21, x0
	mov	x0, x20
	mov	x1, x25
	bl	_dmatest_KBs
	mov	x6, x0
Lloh34:
	adrp	x0, l_.str.15@PAGE
Lloh35:
	add	x0, x0, l_.str.15@PAGEOFF
	mov	x1, x23
	mov	x2, x28
	ldur	w20, [x29, #-92]                ; 4-byte Folded Reload
	mov	x3, x20
	mov	x4, x24
	mov	x5, x21
	mov	x7, x22
	bl	_pr_info
	orr	w8, w22, w20
	cbz	w8, LBB0_36
; %bb.35:
	ldur	x0, [x29, #-104]                ; 8-byte Folded Reload
	bl	_dmaengine_terminate_sync
LBB0_36:
	mov	w8, #1
	str	w8, [x19, #16]
Lloh36:
	adrp	x0, _thread_wait@GOTPAGE
Lloh37:
	ldr	x0, [x0, _thread_wait@GOTPAGEOFF]
	bl	_wake_up
	mov	x0, x22
	ldp	x29, x30, [sp, #256]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #240]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #224]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #208]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #192]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #176]            ; 16-byte Folded Reload
	add	sp, sp, #272
	ret
LBB0_37:
	mov	w20, #0
	mov	x25, #0
	mov	w28, #0
	stur	wzr, [x29, #-92]                ; 4-byte Folded Spill
	b	LBB0_42
LBB0_38:
	mov	w20, #0
	mov	x25, #0
	mov	w28, #0
	stur	wzr, [x29, #-92]                ; 4-byte Folded Spill
	ldr	x26, [sp, #104]                 ; 8-byte Folded Reload
	b	LBB0_41
LBB0_39:
	mov	w20, #0
	mov	x25, #0
	mov	w28, #0
	stur	wzr, [x29, #-92]                ; 4-byte Folded Spill
	ldr	x26, [sp, #104]                 ; 8-byte Folded Reload
LBB0_40:
	ldur	x0, [x29, #-112]                ; 8-byte Folded Reload
	bl	_kfree
LBB0_41:
	mov	x0, x23
	bl	_dmatest_free_test_data
LBB0_42:
	mov	x0, x21
	bl	_dmatest_free_test_data
	b	LBB0_33
LBB0_43:
	str	w27, [sp, #76]                  ; 4-byte Folded Spill
	stur	wzr, [x29, #-92]                ; 4-byte Folded Spill
	mov	x9, x28
	mov	w28, #0
	stp	x9, xzr, [sp, #112]             ; 16-byte Folded Spill
	str	wzr, [sp, #92]                  ; 4-byte Folded Spill
	add	x8, x19, #72
	str	x8, [sp, #32]                   ; 8-byte Folded Spill
	orr	w8, w26, w24
	str	w8, [sp, #28]                   ; 4-byte Folded Spill
	mov	w8, #-1
	lsl	w8, w8, w20
	stp	wzr, w8, [sp, #80]              ; 8-byte Folded Spill
	ands	w8, w9, w8
	ldp	x9, x26, [sp, #96]              ; 16-byte Folded Reload
	csel	w8, w9, w8, eq
	str	w8, [sp, #60]                   ; 4-byte Folded Spill
Lloh38:
	adrp	x24, _current@GOTPAGE
Lloh39:
	ldr	x24, [x24, _current@GOTPAGEOFF]
Lloh40:
	adrp	x27, _GFP_KERNEL@GOTPAGE
Lloh41:
	ldr	x27, [x27, _GFP_KERNEL@GOTPAGEOFF]
	str	x23, [sp, #48]                  ; 8-byte Folded Spill
	b	LBB0_46
LBB0_44:                                ;   in Loop: Header=BB0_46 Depth=1
	ldur	w8, [x29, #-92]                 ; 4-byte Folded Reload
	add	w8, w8, #1
	stur	w8, [x29, #-92]                 ; 4-byte Folded Spill
	ldr	w2, [x19, #44]
	ldr	w3, [x19, #28]
Lloh42:
	adrp	x0, l_.str.3@PAGE
Lloh43:
	add	x0, x0, l_.str.3@PAGEOFF
	mov	x1, x28
	ldur	w20, [x29, #-124]               ; 4-byte Folded Reload
	mov	x4, x20
	mov	x5, x22
	bl	_result
LBB0_45:                                ;   in Loop: Header=BB0_46 Depth=1
	ldr	x8, [sp, #120]                  ; 8-byte Folded Reload
	add	x8, x8, w20, uxtw
	str	x8, [sp, #120]                  ; 8-byte Folded Spill
	bl	_kthread_should_stop
	cbnz	w0, LBB0_31
LBB0_46:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_60 Depth 2
                                        ;     Child Loop BB0_65 Depth 2
                                        ;     Child Loop BB0_89 Depth 2
	ldur	x10, [x29, #-120]               ; 8-byte Folded Reload
	ldr	w8, [x10, #20]
	cmp	w8, #0
	ccmp	w28, w8, #0, ne
	b.hs	LBB0_31
; %bb.47:                               ;   in Loop: Header=BB0_46 Depth=1
	add	w28, w28, #1
	ldr	w20, [x10, #24]
	cbz	w20, LBB0_49
; %bb.48:                               ;   in Loop: Header=BB0_46 Depth=1
	ldr	x8, [sp, #112]                  ; 8-byte Folded Reload
	cmp	w20, w8
	b.lo	LBB0_52
	b	LBB0_106
LBB0_49:                                ;   in Loop: Header=BB0_46 Depth=1
	ldr	x8, [x10, #56]
	ldr	w20, [sp, #60]                  ; 4-byte Folded Reload
	cbnz	x8, LBB0_52
; %bb.50:                               ;   in Loop: Header=BB0_46 Depth=1
	bl	_dmatest_random
	ldur	x10, [x29, #-120]               ; 8-byte Folded Reload
	ldr	x9, [sp, #112]                  ; 8-byte Folded Reload
	udiv	w8, w0, w9
	msub	w8, w8, w9, w0
	add	w20, w8, #1
	ldr	w9, [x10, #24]
	ldr	w8, [sp, #84]                   ; 4-byte Folded Reload
	ands	w8, w20, w8
	ldr	x11, [sp, #96]                  ; 8-byte Folded Reload
	csel	w8, w11, w8, eq
	cbnz	w9, LBB0_52
; %bb.51:                               ;   in Loop: Header=BB0_46 Depth=1
	mov	x20, x8
LBB0_52:                                ;   in Loop: Header=BB0_46 Depth=1
	ldr	x8, [x10, #56]
	stur	w20, [x29, #-124]               ; 4-byte Folded Spill
	cbz	x8, LBB0_54
; %bb.53:                               ;   in Loop: Header=BB0_46 Depth=1
	mov	w8, #0
	str	wzr, [x19, #44]
	b	LBB0_55
LBB0_54:                                ;   in Loop: Header=BB0_46 Depth=1
	bl	_dmatest_random
	ldr	x8, [sp, #112]                  ; 8-byte Folded Reload
	sub	w8, w8, w20
	add	w20, w8, #1
	udiv	w8, w0, w20
	msub	w8, w8, w20, w0
	str	w8, [x19, #44]
	bl	_dmatest_random
	ldur	x10, [x29, #-120]               ; 8-byte Folded Reload
	udiv	w8, w0, w20
	msub	w8, w8, w20, w0
	ldr	w9, [x19, #44]
	ldr	w11, [sp, #84]                  ; 4-byte Folded Reload
	and	w9, w9, w11
	str	w9, [x19, #44]
	and	w8, w8, w11
LBB0_55:                                ;   in Loop: Header=BB0_46 Depth=1
	str	w8, [x19, #28]
	ldr	x8, [x10, #32]
	cbnz	x8, LBB0_57
; %bb.56:                               ;   in Loop: Header=BB0_46 Depth=1
	bl	_ktime_get
	str	w0, [sp, #88]                   ; 4-byte Folded Spill
	ldr	x0, [x19, #48]
	ldr	w1, [x19, #44]
	ldur	w23, [x29, #-124]               ; 4-byte Folded Reload
	mov	x2, x23
	mov	x20, x24
	mov	x24, x26
	ldr	x26, [sp, #112]                 ; 8-byte Folded Reload
	mov	x3, x26
	ldr	w27, [sp, #76]                  ; 4-byte Folded Reload
	mov	x4, x27
	bl	_dmatest_init_srcs
	ldr	x0, [x19, #32]
	ldr	w1, [x19, #28]
	mov	x2, x23
	ldr	x23, [sp, #48]                  ; 8-byte Folded Reload
	mov	x3, x26
	mov	x26, x24
	mov	x24, x20
	mov	x4, x27
Lloh44:
	adrp	x27, _GFP_KERNEL@GOTPAGE
Lloh45:
	ldr	x27, [x27, _GFP_KERNEL@GOTPAGEOFF]
	bl	_dmatest_init_dsts
	bl	_ktime_get
	ldr	w1, [sp, #88]                   ; 4-byte Folded Reload
	bl	_ktime_sub
	mov	x1, x0
	ldr	w0, [sp, #92]                   ; 4-byte Folded Reload
	bl	_ktime_add
	str	w0, [sp, #92]                   ; 4-byte Folded Spill
LBB0_57:                                ;   in Loop: Header=BB0_46 Depth=1
	ldr	w0, [x25, #48]
	ldr	w8, [x21]
	ldr	w9, [x23]
	add	w1, w9, w8
	ldr	w2, [x27]
	bl	_dmaengine_get_unmap_data
	cbz	x0, LBB0_44
; %bb.58:                               ;   in Loop: Header=BB0_46 Depth=1
	mov	x20, x0
	ldr	x8, [sp, #112]                  ; 8-byte Folded Reload
	str	w8, [x0]
	ldr	w8, [x21]
	cmp	w8, #1
	b.lt	LBB0_63
; %bb.59:                               ;   in Loop: Header=BB0_46 Depth=1
	mov	x26, #0
LBB0_60:                                ;   Parent Loop BB0_46 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	x8, [x19, #48]
	ldr	x22, [x8, x26, lsl #3]
	mov	x0, x22
	bl	_virt_to_page
	mov	x24, x0
	mov	x0, x22
	bl	_offset_in_page
	mov	x2, x0
	ldr	w0, [x25, #48]
	ldr	w3, [x20]
Lloh46:
	adrp	x8, _DMA_TO_DEVICE@GOTPAGE
Lloh47:
	ldr	x8, [x8, _DMA_TO_DEVICE@GOTPAGEOFF]
Lloh48:
	ldr	w4, [x8]
	mov	x1, x24
	bl	_dma_map_page
	ldr	x8, [x20, #8]
	lsl	x9, x26, #2
	str	w0, [x8, x9]
	ldr	w10, [x19, #44]
	add	w10, w10, w0
	ldur	x11, [x29, #-112]               ; 8-byte Folded Reload
	str	w10, [x11, x9]
	ldr	w0, [x25, #48]
	ldr	w1, [x8, x9]
	bl	_dma_mapping_error
	cbnz	w0, LBB0_70
; %bb.61:                               ;   in Loop: Header=BB0_60 Depth=2
	ldr	w8, [x20, #20]
	add	w8, w8, #1
	str	w8, [x20, #20]
	add	x26, x26, #1
	ldrsw	x8, [x21]
	cmp	x26, x8
	b.lt	LBB0_60
; %bb.62:                               ;   in Loop: Header=BB0_46 Depth=1
	mov	w22, #0
LBB0_63:                                ;   in Loop: Header=BB0_46 Depth=1
	ldr	x9, [x20, #8]
	add	x26, x9, w8, sxtw #2
	ldr	w8, [x23]
	cmp	w8, #1
	b.lt	LBB0_68
; %bb.64:                               ;   in Loop: Header=BB0_46 Depth=1
	mov	x27, #0
LBB0_65:                                ;   Parent Loop BB0_46 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	x8, [x19, #32]
	ldr	x22, [x8, x27, lsl #3]
	mov	x0, x22
	bl	_virt_to_page
	mov	x24, x0
	mov	x0, x22
	bl	_offset_in_page
	mov	x2, x0
	ldr	w0, [x25, #48]
	ldr	w3, [x20]
Lloh49:
	adrp	x8, _DMA_BIDIRECTIONAL@GOTPAGE
Lloh50:
	ldr	x8, [x8, _DMA_BIDIRECTIONAL@GOTPAGEOFF]
Lloh51:
	ldr	w4, [x8]
	mov	x1, x24
	bl	_dma_map_page
	mov	x1, x0
	str	w1, [x26, x27, lsl #2]
	ldr	w0, [x25, #48]
                                        ; kill: def $w1 killed $w1 killed $x1
	bl	_dma_mapping_error
	cbnz	w0, LBB0_79
; %bb.66:                               ;   in Loop: Header=BB0_65 Depth=2
	ldr	w8, [x20, #16]
	add	w8, w8, #1
	str	w8, [x20, #16]
	add	x27, x27, #1
	ldrsw	x8, [x23]
	cmp	x27, x8
	b.lt	LBB0_65
; %bb.67:                               ;   in Loop: Header=BB0_46 Depth=1
	mov	w22, #0
Lloh52:
	adrp	x27, _GFP_KERNEL@GOTPAGE
Lloh53:
	ldr	x27, [x27, _GFP_KERNEL@GOTPAGEOFF]
LBB0_68:                                ;   in Loop: Header=BB0_46 Depth=1
	ldr	x9, [x19, #8]
Lloh54:
	adrp	x10, _DMA_MEMCPY@GOTPAGE
Lloh55:
	ldr	x10, [x10, _DMA_MEMCPY@GOTPAGEOFF]
Lloh56:
	ldr	x10, [x10]
	cmp	x9, x10
	ldur	x0, [x29, #-104]                ; 8-byte Folded Reload
	b.ne	LBB0_71
; %bb.69:                               ;   in Loop: Header=BB0_46 Depth=1
	ldr	x8, [x25, #40]
	ldr	w9, [x26]
	ldr	w10, [x19, #28]
	add	w1, w10, w9
	ldur	x9, [x29, #-112]                ; 8-byte Folded Reload
	ldr	w2, [x9]
	b	LBB0_73
LBB0_70:                                ;   in Loop: Header=BB0_46 Depth=1
	mov	x22, x0
	ldr	w2, [x19, #44]
	ldr	w3, [x19, #28]
Lloh57:
	adrp	x0, l_.str.4@PAGE
Lloh58:
	add	x0, x0, l_.str.4@PAGEOFF
	mov	x1, x28
	ldur	w4, [x29, #-124]                ; 4-byte Folded Reload
	mov	x5, x22
	bl	_result
	b	LBB0_92
LBB0_71:                                ;   in Loop: Header=BB0_46 Depth=1
Lloh59:
	adrp	x10, _DMA_MEMSET@GOTPAGE
Lloh60:
	ldr	x10, [x10, _DMA_MEMSET@GOTPAGEOFF]
Lloh61:
	ldr	x10, [x10]
	cmp	x9, x10
	b.ne	LBB0_81
; %bb.72:                               ;   in Loop: Header=BB0_46 Depth=1
	ldr	x8, [x25, #32]
	ldr	w9, [x26]
	ldr	w10, [x19, #28]
	add	w1, w10, w9
	ldr	x9, [x19, #48]
	ldr	x9, [x9]
	ldr	w10, [x19, #44]
	ldr	w2, [x9, x10, lsl #2]
LBB0_73:                                ;   in Loop: Header=BB0_46 Depth=1
	ldur	w3, [x29, #-124]                ; 4-byte Folded Reload
	ldr	w4, [sp, #28]                   ; 4-byte Folded Reload
	blr	x8
LBB0_74:                                ;   in Loop: Header=BB0_46 Depth=1
	ldur	x8, [x29, #-120]                ; 8-byte Folded Reload
	cbz	x0, LBB0_91
; %bb.75:                               ;   in Loop: Header=BB0_46 Depth=1
	ldr	x9, [sp, #32]                   ; 8-byte Folded Reload
	str	wzr, [x9]
	ldr	x8, [x8, #48]
	cbnz	x8, LBB0_77
; %bb.76:                               ;   in Loop: Header=BB0_46 Depth=1
Lloh62:
	adrp	x8, _dmatest_callback@GOTPAGE
Lloh63:
	ldr	x8, [x8, _dmatest_callback@GOTPAGEOFF]
Lloh64:
	ldr	w8, [x8]
	str	w8, [x0, #16]
	ldr	x8, [sp, #32]                   ; 8-byte Folded Reload
	str	x8, [x0, #8]
LBB0_77:                                ;   in Loop: Header=BB0_46 Depth=1
	ldr	x8, [x0]
	blr	x8
	mov	x27, x0
	bl	_dma_submit_error
Lloh65:
	adrp	x24, _current@GOTPAGE
Lloh66:
	ldr	x24, [x24, _current@GOTPAGEOFF]
	cbz	x0, LBB0_83
; %bb.78:                               ;   in Loop: Header=BB0_46 Depth=1
	ldr	w2, [x19, #44]
	ldr	w3, [x19, #28]
Lloh67:
	adrp	x0, l_.str.7@PAGE
Lloh68:
	add	x0, x0, l_.str.7@PAGEOFF
	mov	x1, x28
	ldur	w4, [x29, #-124]                ; 4-byte Folded Reload
	mov	x5, x22
	bl	_result
	mov	w0, #100
	bl	_msleep
	b	LBB0_80
LBB0_79:                                ;   in Loop: Header=BB0_46 Depth=1
	mov	x22, x0
	ldr	w2, [x19, #44]
	ldr	w3, [x19, #28]
Lloh69:
	adrp	x0, l_.str.5@PAGE
Lloh70:
	add	x0, x0, l_.str.5@PAGEOFF
	mov	x1, x28
	ldur	w4, [x29, #-124]                ; 4-byte Folded Reload
	mov	x5, x22
	bl	_result
Lloh71:
	adrp	x24, _current@GOTPAGE
Lloh72:
	ldr	x24, [x24, _current@GOTPAGEOFF]
LBB0_80:                                ;   in Loop: Header=BB0_46 Depth=1
	ldr	x26, [sp, #104]                 ; 8-byte Folded Reload
Lloh73:
	adrp	x27, _GFP_KERNEL@GOTPAGE
Lloh74:
	ldr	x27, [x27, _GFP_KERNEL@GOTPAGEOFF]
	b	LBB0_93
LBB0_81:                                ;   in Loop: Header=BB0_46 Depth=1
Lloh75:
	adrp	x10, _DMA_XOR@GOTPAGE
Lloh76:
	ldr	x10, [x10, _DMA_XOR@GOTPAGEOFF]
Lloh77:
	ldr	x10, [x10]
	cmp	x9, x10
	b.ne	LBB0_86
; %bb.82:                               ;   in Loop: Header=BB0_46 Depth=1
	ldr	x8, [x25, #24]
	ldr	w9, [x26]
	ldr	w10, [x19, #28]
	add	w1, w10, w9
	ldr	w3, [x19, #40]
	ldur	x2, [x29, #-112]                ; 8-byte Folded Reload
	ldur	w4, [x29, #-124]                ; 4-byte Folded Reload
	ldr	w5, [sp, #28]                   ; 4-byte Folded Reload
	blr	x8
	b	LBB0_74
LBB0_83:                                ;   in Loop: Header=BB0_46 Depth=1
	str	w27, [sp, #88]                  ; 4-byte Folded Spill
	ldur	x26, [x29, #-120]               ; 8-byte Folded Reload
	ldr	x8, [x26, #48]
	cbz	x8, LBB0_94
; %bb.84:                               ;   in Loop: Header=BB0_46 Depth=1
	ldur	x27, [x29, #-104]               ; 8-byte Folded Reload
	mov	x0, x27
	ldr	w1, [sp, #88]                   ; 4-byte Folded Reload
	bl	_dma_sync_wait
	mov	x26, x0
	mov	x0, x27
	bl	_dmaengine_terminate_sync
	mov	x0, x26
Lloh78:
	adrp	x8, _DMA_COMPLETE@GOTPAGE
Lloh79:
	ldr	x8, [x8, _DMA_COMPLETE@GOTPAGEOFF]
Lloh80:
	ldr	w8, [x8]
	cmp	w26, w8
	ldr	x26, [sp, #104]                 ; 8-byte Folded Reload
	b.ne	LBB0_95
; %bb.85:                               ;   in Loop: Header=BB0_46 Depth=1
	ldr	x8, [sp, #32]                   ; 8-byte Folded Reload
	mov	w9, #1
	str	w9, [x8]
Lloh81:
	adrp	x27, _GFP_KERNEL@GOTPAGE
Lloh82:
	ldr	x27, [x27, _GFP_KERNEL@GOTPAGEOFF]
	b	LBB0_97
LBB0_86:                                ;   in Loop: Header=BB0_46 Depth=1
Lloh83:
	adrp	x10, _DMA_PQ@GOTPAGE
Lloh84:
	ldr	x10, [x10, _DMA_PQ@GOTPAGEOFF]
Lloh85:
	ldr	x10, [x10]
	cmp	x9, x10
	b.ne	LBB0_91
; %bb.87:                               ;   in Loop: Header=BB0_46 Depth=1
	cmp	w8, #1
	ldr	x1, [sp, #64]                   ; 8-byte Folded Reload
	b.lt	LBB0_90
; %bb.88:                               ;   in Loop: Header=BB0_46 Depth=1
	mov	x8, #0
LBB0_89:                                ;   Parent Loop BB0_46 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	lsl	x9, x8, #2
	ldr	w10, [x26, x9]
	ldr	w11, [x19, #28]
	add	w10, w11, w10
	str	w10, [x1, x9]
	add	x8, x8, #1
	ldrsw	x9, [x19, #24]
	cmp	x8, x9
	b.lt	LBB0_89
LBB0_90:                                ;   in Loop: Header=BB0_46 Depth=1
	ldr	x8, [x25, #16]
	ldr	w3, [x21]
	ldp	x2, x0, [x29, #-112]            ; 16-byte Folded Reload
	ldr	x4, [sp, #104]                  ; 8-byte Folded Reload
	ldur	w5, [x29, #-124]                ; 4-byte Folded Reload
	ldr	w6, [sp, #28]                   ; 4-byte Folded Reload
	blr	x8
	b	LBB0_74
LBB0_91:                                ;   in Loop: Header=BB0_46 Depth=1
	ldr	w2, [x19, #44]
	ldr	w3, [x19, #28]
Lloh86:
	adrp	x0, l_.str.6@PAGE
Lloh87:
	add	x0, x0, l_.str.6@PAGEOFF
	mov	x1, x28
	ldur	w4, [x29, #-124]                ; 4-byte Folded Reload
	mov	x5, x22
	bl	_result
	mov	w0, #100
	bl	_msleep
LBB0_92:                                ;   in Loop: Header=BB0_46 Depth=1
Lloh88:
	adrp	x24, _current@GOTPAGE
Lloh89:
	ldr	x24, [x24, _current@GOTPAGEOFF]
	ldr	x26, [sp, #104]                 ; 8-byte Folded Reload
LBB0_93:                                ;   in Loop: Header=BB0_46 Depth=1
	mov	x0, x20
	bl	_dmaengine_unmap_put
	ldur	w8, [x29, #-92]                 ; 4-byte Folded Reload
	add	w8, w8, #1
	stur	w8, [x29, #-92]                 ; 4-byte Folded Spill
	ldur	w20, [x29, #-124]               ; 4-byte Folded Reload
	b	LBB0_45
LBB0_94:                                ;   in Loop: Header=BB0_46 Depth=1
	ldur	x27, [x29, #-104]               ; 8-byte Folded Reload
	mov	x0, x27
	bl	_dma_async_issue_pending
	ldr	w9, [x19, #20]
	ldr	w8, [x19, #72]
	stp	w8, w9, [sp, #20]               ; 8-byte Folded Spill
	ldr	w0, [x26, #40]
	bl	_msecs_to_jiffies
	mov	x2, x0
	ldp	w1, w0, [sp, #20]               ; 8-byte Folded Reload
	ldr	x26, [sp, #104]                 ; 8-byte Folded Reload
	bl	_wait_event_freezable_timeout
	mov	x0, x27
	ldr	w1, [sp, #88]                   ; 4-byte Folded Reload
	mov	x2, #0
	mov	x3, #0
	bl	_dma_async_is_tx_complete
LBB0_95:                                ;   in Loop: Header=BB0_46 Depth=1
	ldr	x8, [sp, #32]                   ; 8-byte Folded Reload
	ldr	w8, [x8]
Lloh90:
	adrp	x27, _GFP_KERNEL@GOTPAGE
Lloh91:
	ldr	x27, [x27, _GFP_KERNEL@GOTPAGEOFF]
	cbz	w8, LBB0_99
; %bb.96:                               ;   in Loop: Header=BB0_46 Depth=1
Lloh92:
	adrp	x8, _DMA_COMPLETE@GOTPAGE
Lloh93:
	ldr	x8, [x8, _DMA_COMPLETE@GOTPAGEOFF]
Lloh94:
	ldr	w8, [x8]
	cmp	w0, w8
	b.ne	LBB0_100
LBB0_97:                                ;   in Loop: Header=BB0_46 Depth=1
	mov	x0, x20
	bl	_dmaengine_unmap_put
	ldur	x8, [x29, #-120]                ; 8-byte Folded Reload
	ldr	x8, [x8, #32]
	cbz	x8, LBB0_102
; %bb.98:                               ;   in Loop: Header=BB0_46 Depth=1
	ldr	w2, [x19, #44]
	ldr	w3, [x19, #28]
Lloh95:
	adrp	x0, l_.str.11@PAGE
Lloh96:
	add	x0, x0, l_.str.11@PAGEOFF
	mov	x1, x28
	ldur	w20, [x29, #-124]               ; 4-byte Folded Reload
	mov	x4, x20
	mov	w5, #0
	bl	_verbose_result
	b	LBB0_45
LBB0_99:                                ;   in Loop: Header=BB0_46 Depth=1
	ldr	w2, [x19, #44]
	ldr	w3, [x19, #28]
Lloh97:
	adrp	x0, l_.str.8@PAGE
Lloh98:
	add	x0, x0, l_.str.8@PAGEOFF
	mov	x1, x28
	ldur	w4, [x29, #-124]                ; 4-byte Folded Reload
	mov	w5, #0
	b	LBB0_101
LBB0_100:                               ;   in Loop: Header=BB0_46 Depth=1
Lloh99:
	adrp	x8, _DMA_ERROR@GOTPAGE
Lloh100:
	ldr	x8, [x8, _DMA_ERROR@GOTPAGEOFF]
Lloh101:
	ldr	w8, [x8]
	cmp	w0, w8
Lloh102:
	adrp	x8, l_.str.10@PAGE
Lloh103:
	add	x8, x8, l_.str.10@PAGEOFF
Lloh104:
	adrp	x9, l_.str.9@PAGE
Lloh105:
	add	x9, x9, l_.str.9@PAGEOFF
	csel	x0, x9, x8, eq
	ldr	w2, [x19, #44]
	ldr	w3, [x19, #28]
	mov	x1, x28
	ldur	w4, [x29, #-124]                ; 4-byte Folded Reload
	mov	x5, x22
LBB0_101:                               ;   in Loop: Header=BB0_46 Depth=1
	bl	_result
	b	LBB0_93
LBB0_102:                               ;   in Loop: Header=BB0_46 Depth=1
	bl	_ktime_get
	str	w0, [sp, #88]                   ; 4-byte Folded Spill
	ldr	x8, [x24]
	ldr	w1, [x8]
Lloh106:
	adrp	x0, l_.str.12@PAGE
Lloh107:
	add	x0, x0, l_.str.12@PAGEOFF
	bl	_pr_debug
	ldr	x0, [x19, #48]
	ldr	w2, [x19, #44]
Lloh108:
	adrp	x26, _PATTERN_SRC@GOTPAGE
Lloh109:
	ldr	x26, [x26, _PATTERN_SRC@GOTPAGEOFF]
	ldr	w4, [x26]
	mov	w1, #0
	mov	w3, #0
	mov	w5, #1
	ldr	w20, [sp, #76]                  ; 4-byte Folded Reload
	mov	x6, x20
	bl	_dmatest_verify
	mov	x27, x0
	ldr	x0, [x19, #48]
	ldr	w1, [x19, #44]
	ldur	w24, [x29, #-124]               ; 4-byte Folded Reload
	add	w2, w1, w24
	ldr	w8, [x26]
Lloh110:
	adrp	x9, _PATTERN_COPY@GOTPAGE
Lloh111:
	ldr	x9, [x9, _PATTERN_COPY@GOTPAGEOFF]
Lloh112:
	ldr	w9, [x9]
	orr	w4, w9, w8
	mov	x3, x1
	mov	w5, #1
	mov	x6, x20
	bl	_dmatest_verify
	add	w27, w0, w27
	ldr	x0, [x19, #48]
	ldr	w8, [x19, #44]
	add	w1, w8, w24
	ldr	w4, [x26]
	ldr	x2, [sp, #112]                  ; 8-byte Folded Reload
                                        ; kill: def $w2 killed $w2 killed $x2
	mov	x3, x1
	mov	w5, #1
	mov	x6, x20
	bl	_dmatest_verify
	add	w27, w27, w0
Lloh113:
	adrp	x8, _current@GOTPAGE
Lloh114:
	ldr	x8, [x8, _current@GOTPAGEOFF]
Lloh115:
	ldr	x8, [x8]
	ldr	w1, [x8]
Lloh116:
	adrp	x0, l_.str.13@PAGE
Lloh117:
	add	x0, x0, l_.str.13@PAGEOFF
	bl	_pr_debug
	ldr	x0, [x19, #32]
	ldr	w2, [x19, #28]
Lloh118:
	adrp	x8, _PATTERN_DST@GOTPAGE
Lloh119:
	ldr	x8, [x8, _PATTERN_DST@GOTPAGEOFF]
Lloh120:
	ldr	w4, [x8]
	mov	w1, #0
	mov	w3, #0
	mov	w5, #0
	mov	x6, x20
	bl	_dmatest_verify
	add	w27, w27, w0
	ldr	x0, [x19, #32]
	ldr	w1, [x19, #28]
	add	w2, w1, w24
	ldr	w3, [x19, #44]
	ldr	w8, [x26]
Lloh121:
	adrp	x9, _PATTERN_COPY@GOTPAGE
Lloh122:
	ldr	x9, [x9, _PATTERN_COPY@GOTPAGEOFF]
Lloh123:
	ldr	w9, [x9]
	orr	w4, w9, w8
	mov	w5, #0
	mov	x6, x20
	bl	_dmatest_verify
	add	w27, w27, w0
	ldr	x0, [x19, #32]
	ldr	w8, [x19, #28]
	mov	x26, x24
	add	w1, w8, w24
Lloh124:
	adrp	x8, _PATTERN_DST@GOTPAGE
Lloh125:
	ldr	x8, [x8, _PATTERN_DST@GOTPAGEOFF]
Lloh126:
	ldr	w4, [x8]
	ldr	x2, [sp, #112]                  ; 8-byte Folded Reload
                                        ; kill: def $w2 killed $w2 killed $x2
	mov	x3, x1
	mov	w5, #0
	mov	x6, x20
	bl	_dmatest_verify
	add	w24, w27, w0
	bl	_ktime_get
	ldr	w1, [sp, #88]                   ; 4-byte Folded Reload
	bl	_ktime_sub
	mov	x1, x0
	ldr	w0, [sp, #80]                   ; 4-byte Folded Reload
	bl	_ktime_add
	str	w0, [sp, #80]                   ; 4-byte Folded Spill
	ldr	w2, [x19, #44]
	ldr	w3, [x19, #28]
	cbz	w24, LBB0_104
; %bb.103:                              ;   in Loop: Header=BB0_46 Depth=1
Lloh127:
	adrp	x0, l_.str.14@PAGE
Lloh128:
	add	x0, x0, l_.str.14@PAGEOFF
	mov	x1, x28
	mov	x20, x26
	mov	x4, x26
	mov	x5, x24
	bl	_result
	ldur	w8, [x29, #-92]                 ; 4-byte Folded Reload
	add	w8, w8, #1
	stur	w8, [x29, #-92]                 ; 4-byte Folded Spill
	b	LBB0_105
LBB0_104:                               ;   in Loop: Header=BB0_46 Depth=1
Lloh129:
	adrp	x0, l_.str.11@PAGE
Lloh130:
	add	x0, x0, l_.str.11@PAGEOFF
	mov	x1, x28
	mov	x20, x26
	mov	x4, x26
	mov	w5, #0
	bl	_verbose_result
LBB0_105:                               ;   in Loop: Header=BB0_46 Depth=1
Lloh131:
	adrp	x24, _current@GOTPAGE
Lloh132:
	ldr	x24, [x24, _current@GOTPAGEOFF]
Lloh133:
	adrp	x27, _GFP_KERNEL@GOTPAGE
Lloh134:
	ldr	x27, [x27, _GFP_KERNEL@GOTPAGEOFF]
	ldr	x26, [sp, #104]                 ; 8-byte Folded Reload
	b	LBB0_45
LBB0_106:
	ldr	x8, [sp, #112]                  ; 8-byte Folded Reload
	str	x8, [sp]
Lloh135:
	adrp	x0, l_.str.2@PAGE
Lloh136:
	add	x0, x0, l_.str.2@PAGEOFF
	mov	x1, x20
	bl	_pr_err
	b	LBB0_31
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpLdrGot	Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGot	Lloh32, Lloh33
	.loh AdrpAdd	Lloh34, Lloh35
	.loh AdrpLdrGot	Lloh36, Lloh37
	.loh AdrpLdrGot	Lloh40, Lloh41
	.loh AdrpLdrGot	Lloh38, Lloh39
	.loh AdrpAdd	Lloh42, Lloh43
	.loh AdrpLdrGot	Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.loh AdrpLdrGot	Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpAdd	Lloh57, Lloh58
	.loh AdrpLdrGotLdr	Lloh59, Lloh60, Lloh61
	.loh AdrpLdrGotLdr	Lloh62, Lloh63, Lloh64
	.loh AdrpLdrGot	Lloh65, Lloh66
	.loh AdrpAdd	Lloh67, Lloh68
	.loh AdrpLdrGot	Lloh71, Lloh72
	.loh AdrpAdd	Lloh69, Lloh70
	.loh AdrpLdrGot	Lloh73, Lloh74
	.loh AdrpLdrGotLdr	Lloh75, Lloh76, Lloh77
	.loh AdrpLdrGotLdr	Lloh78, Lloh79, Lloh80
	.loh AdrpLdrGot	Lloh81, Lloh82
	.loh AdrpLdrGotLdr	Lloh83, Lloh84, Lloh85
	.loh AdrpAdd	Lloh86, Lloh87
	.loh AdrpLdrGot	Lloh88, Lloh89
	.loh AdrpLdrGot	Lloh90, Lloh91
	.loh AdrpLdrGotLdr	Lloh92, Lloh93, Lloh94
	.loh AdrpAdd	Lloh95, Lloh96
	.loh AdrpAdd	Lloh97, Lloh98
	.loh AdrpAdd	Lloh104, Lloh105
	.loh AdrpAdd	Lloh102, Lloh103
	.loh AdrpLdrGotLdr	Lloh99, Lloh100, Lloh101
	.loh AdrpLdrGotLdr	Lloh124, Lloh125, Lloh126
	.loh AdrpLdrGotLdr	Lloh121, Lloh122, Lloh123
	.loh AdrpLdrGotLdr	Lloh118, Lloh119, Lloh120
	.loh AdrpAdd	Lloh116, Lloh117
	.loh AdrpLdrGotLdr	Lloh113, Lloh114, Lloh115
	.loh AdrpLdrGotLdr	Lloh110, Lloh111, Lloh112
	.loh AdrpLdrGot	Lloh108, Lloh109
	.loh AdrpAdd	Lloh106, Lloh107
	.loh AdrpAdd	Lloh127, Lloh128
	.loh AdrpAdd	Lloh129, Lloh130
	.loh AdrpLdrGot	Lloh133, Lloh134
	.loh AdrpLdrGot	Lloh131, Lloh132
	.loh AdrpAdd	Lloh135, Lloh136
	.cfi_endproc
                                        ; -- End function
	.comm	_ENOMEM,4,2                     ; @ENOMEM
	.comm	_DMA_MEMCPY,8,3                 ; @DMA_MEMCPY
	.comm	_DMA_MEMSET,8,3                 ; @DMA_MEMSET
	.comm	_DMA_XOR,8,3                    ; @DMA_XOR
	.comm	_DMA_PQ,8,3                     ; @DMA_PQ
	.comm	_GFP_KERNEL,4,2                 ; @GFP_KERNEL
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"too many buffers (%d of 255 supported)\n"

l_.str.1:                               ; @.str.1
	.asciz	"%u-byte buffer too small for %d-byte alignment\n"

	.comm	_current,8,3                    ; @current
	.comm	_DMA_CTRL_ACK,4,2               ; @DMA_CTRL_ACK
	.comm	_DMA_PREP_INTERRUPT,4,2         ; @DMA_PREP_INTERRUPT
l_.str.2:                               ; @.str.2
	.asciz	"%u-byte transfer size must be lower than %u-buffer size\n"

l_.str.3:                               ; @.str.3
	.asciz	"unmap data NULL"

	.comm	_DMA_TO_DEVICE,4,2              ; @DMA_TO_DEVICE
l_.str.4:                               ; @.str.4
	.asciz	"src mapping error"

	.comm	_DMA_BIDIRECTIONAL,4,2          ; @DMA_BIDIRECTIONAL
l_.str.5:                               ; @.str.5
	.asciz	"dst mapping error"

l_.str.6:                               ; @.str.6
	.asciz	"prep error"

	.comm	_dmatest_callback,4,2           ; @dmatest_callback
l_.str.7:                               ; @.str.7
	.asciz	"submit error"

	.comm	_DMA_COMPLETE,4,2               ; @DMA_COMPLETE
l_.str.8:                               ; @.str.8
	.asciz	"test timed out"

	.comm	_DMA_ERROR,4,2                  ; @DMA_ERROR
l_.str.9:                               ; @.str.9
	.asciz	"completion error status"

l_.str.10:                              ; @.str.10
	.asciz	"completion busy status"

l_.str.11:                              ; @.str.11
	.asciz	"test passed"

l_.str.12:                              ; @.str.12
	.asciz	"%s: verifying source buffer...\n"

	.comm	_PATTERN_SRC,4,2                ; @PATTERN_SRC
	.comm	_PATTERN_COPY,4,2               ; @PATTERN_COPY
l_.str.13:                              ; @.str.13
	.asciz	"%s: verifying dest buffer...\n"

	.comm	_PATTERN_DST,4,2                ; @PATTERN_DST
l_.str.14:                              ; @.str.14
	.asciz	"data error"

l_.str.15:                              ; @.str.15
	.asciz	"%s: summary %u tests, %u failures %llu.%02llu iops %llu KB/s (%d)\n"

	.comm	_thread_wait,4,2                ; @thread_wait
	.no_dead_strip	_dmatest_func
.subsections_via_symbols
