	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function pxa2xx_i2s_hw_params
_pxa2xx_i2s_hw_params:                  ## @pxa2xx_i2s_hw_params
	.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	%rdx, %rbx
	movq	%rsi, %r14
	movq	%rdi, %r15
	movq	8(%rdi), %rax
	movq	(%rax), %rax
	movq	(%rax), %r13
	movq	_clk_i2s@GOTPCREL(%rip), %r12
	movl	(%r12), %edi
	callq	_IS_ERR
	movl	%eax, %edi
	callq	_BUG_ON
	movl	(%r12), %edi
	callq	_clk_enable
	movq	%rbx, 8(%rbx)
	xorl	%eax, %eax
	callq	_pxa_i2s_wait
	movq	(%r15), %rax
	movq	_SNDRV_PCM_STREAM_PLAYBACK@GOTPCREL(%rip), %r12
	cmpq	(%r12), %rax
	jne	LBB0_1
## %bb.2:
	movq	_pxa2xx_i2s_pcm_stereo_out@GOTPCREL(%rip), %rax
	jmp	LBB0_3
LBB0_1:
	movq	_pxa2xx_i2s_pcm_stereo_in@GOTPCREL(%rip), %rax
LBB0_3:
	movq	%rax, (%r13)
	movq	_SACR0@GOTPCREL(%rip), %rbx
	movq	_SACR0_ENB@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%rbx)
	jne	LBB0_7
## %bb.4:
	movl	$0, (%rbx)
	movq	_pxa_i2s@GOTPCREL(%rip), %rax
	cmpq	$0, 8(%rax)
	je	LBB0_6
## %bb.5:
	movq	_SACR0_BCKD@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, (%rbx)
LBB0_6:
	movl	$14, %edi
	callq	_SACR0_RFTH
	movl	%eax, %r13d
	movl	$1, %edi
	callq	_SACR0_TFTH
	orl	%r13d, %eax
	orl	%eax, (%rbx)
	movq	_pxa_i2s@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_SACR1@GOTPCREL(%rip), %rcx
	orl	%eax, (%rcx)
LBB0_7:
	movq	(%r15), %rax
	cmpq	(%r12), %rax
	jne	LBB0_8
## %bb.9:
	movq	_SAIMR_TFS@GOTPCREL(%rip), %rax
	jmp	LBB0_10
LBB0_8:
	movq	_SAIMR_RFS@GOTPCREL(%rip), %rax
LBB0_10:
	movl	(%rax), %eax
	movq	_SAIMR@GOTPCREL(%rip), %rcx
	orl	%eax, (%rcx)
	movq	%r14, %rdi
	callq	_params_rate
	cmpl	$22049, %eax                    ## imm = 0x5621
	jle	LBB0_11
## %bb.16:
	cmpl	$47999, %eax                    ## imm = 0xBB7F
	jg	LBB0_20
## %bb.17:
	cmpl	$22050, %eax                    ## imm = 0x5622
	je	LBB0_24
## %bb.18:
	cmpl	$44100, %eax                    ## imm = 0xAC44
	jne	LBB0_27
## %bb.19:
	movl	$13, %eax
	jmp	LBB0_26
LBB0_11:
	cmpl	$8000, %eax                     ## imm = 0x1F40
	je	LBB0_12
## %bb.13:
	cmpl	$11025, %eax                    ## imm = 0x2B11
	je	LBB0_23
## %bb.14:
	cmpl	$16000, %eax                    ## imm = 0x3E80
	jne	LBB0_27
## %bb.15:
	movl	$36, %eax
	jmp	LBB0_26
LBB0_20:
	cmpl	$48000, %eax                    ## imm = 0xBB80
	je	LBB0_25
## %bb.21:
	cmpl	$96000, %eax                    ## imm = 0x17700
	jne	LBB0_27
## %bb.22:
	movl	$6, %eax
	jmp	LBB0_26
LBB0_24:
	movl	$26, %eax
	jmp	LBB0_26
LBB0_12:
	movl	$72, %eax
	jmp	LBB0_26
LBB0_25:
	movl	$12, %eax
	jmp	LBB0_26
LBB0_23:
	movl	$52, %eax
LBB0_26:
	movq	_SADIV@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
LBB0_27:
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_clk_i2s,4,2                    ## @clk_i2s
	.comm	_SNDRV_PCM_STREAM_PLAYBACK,8,3  ## @SNDRV_PCM_STREAM_PLAYBACK
	.comm	_pxa2xx_i2s_pcm_stereo_out,4,2  ## @pxa2xx_i2s_pcm_stereo_out
	.comm	_pxa2xx_i2s_pcm_stereo_in,4,2   ## @pxa2xx_i2s_pcm_stereo_in
	.comm	_SACR0,4,2                      ## @SACR0
	.comm	_SACR0_ENB,4,2                  ## @SACR0_ENB
	.comm	_pxa_i2s,16,3                   ## @pxa_i2s
	.comm	_SACR0_BCKD,4,2                 ## @SACR0_BCKD
	.comm	_SACR1,4,2                      ## @SACR1
	.comm	_SAIMR_TFS,4,2                  ## @SAIMR_TFS
	.comm	_SAIMR,4,2                      ## @SAIMR
	.comm	_SAIMR_RFS,4,2                  ## @SAIMR_RFS
	.comm	_SADIV,4,2                      ## @SADIV
	.no_dead_strip	_pxa2xx_i2s_hw_params
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function pxa2xx_i2s_hw_params
_pxa2xx_i2s_hw_params:                  ; @pxa2xx_i2s_hw_params
	.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	x21, x2
	mov	x19, x1
	mov	x20, x0
	ldr	x8, [x0, #8]
	ldr	x8, [x8]
	ldr	x24, [x8]
Lloh0:
	adrp	x22, _clk_i2s@GOTPAGE
Lloh1:
	ldr	x22, [x22, _clk_i2s@GOTPAGEOFF]
	ldr	w0, [x22]
	bl	_IS_ERR
	bl	_BUG_ON
	ldr	w0, [x22]
	bl	_clk_enable
	str	x21, [x21, #8]
	bl	_pxa_i2s_wait
	ldr	x8, [x20]
Lloh2:
	adrp	x22, _SNDRV_PCM_STREAM_PLAYBACK@GOTPAGE
Lloh3:
	ldr	x22, [x22, _SNDRV_PCM_STREAM_PLAYBACK@GOTPAGEOFF]
	ldr	x9, [x22]
Lloh4:
	adrp	x10, _pxa2xx_i2s_pcm_stereo_in@GOTPAGE
Lloh5:
	ldr	x10, [x10, _pxa2xx_i2s_pcm_stereo_in@GOTPAGEOFF]
Lloh6:
	adrp	x11, _pxa2xx_i2s_pcm_stereo_out@GOTPAGE
Lloh7:
	ldr	x11, [x11, _pxa2xx_i2s_pcm_stereo_out@GOTPAGEOFF]
	cmp	x8, x9
	csel	x8, x11, x10, eq
Lloh8:
	adrp	x23, _SACR0@GOTPAGE
Lloh9:
	ldr	x23, [x23, _SACR0@GOTPAGEOFF]
	str	x8, [x24]
	ldr	w8, [x23]
Lloh10:
	adrp	x9, _SACR0_ENB@GOTPAGE
Lloh11:
	ldr	x9, [x9, _SACR0_ENB@GOTPAGEOFF]
Lloh12:
	ldr	w9, [x9]
	tst	w9, w8
	b.ne	LBB0_4
; %bb.1:
	str	wzr, [x23]
Lloh13:
	adrp	x24, _pxa_i2s@GOTPAGE
Lloh14:
	ldr	x24, [x24, _pxa_i2s@GOTPAGEOFF]
	ldr	x8, [x24, #8]
	cbz	x8, LBB0_3
; %bb.2:
Lloh15:
	adrp	x8, _SACR0_BCKD@GOTPAGE
Lloh16:
	ldr	x8, [x8, _SACR0_BCKD@GOTPAGEOFF]
Lloh17:
	ldr	w8, [x8]
	str	w8, [x23]
LBB0_3:
	mov	w0, #14
	bl	_SACR0_RFTH
	mov	x21, x0
	mov	w0, #1
	bl	_SACR0_TFTH
	orr	w8, w0, w21
	ldr	w9, [x23]
	orr	w8, w8, w9
	str	w8, [x23]
	ldr	w8, [x24]
Lloh18:
	adrp	x9, _SACR1@GOTPAGE
Lloh19:
	ldr	x9, [x9, _SACR1@GOTPAGEOFF]
	ldr	w10, [x9]
	orr	w8, w10, w8
	str	w8, [x9]
LBB0_4:
	ldr	x8, [x20]
	ldr	x9, [x22]
Lloh20:
	adrp	x10, _SAIMR_TFS@GOTPAGE
Lloh21:
	ldr	x10, [x10, _SAIMR_TFS@GOTPAGEOFF]
Lloh22:
	adrp	x11, _SAIMR_RFS@GOTPAGE
Lloh23:
	ldr	x11, [x11, _SAIMR_RFS@GOTPAGEOFF]
	cmp	x8, x9
	csel	x8, x10, x11, eq
	ldr	w8, [x8]
Lloh24:
	adrp	x9, _SAIMR@GOTPAGE
Lloh25:
	ldr	x9, [x9, _SAIMR@GOTPAGEOFF]
	ldr	w10, [x9]
	orr	w8, w10, w8
	str	w8, [x9]
	mov	x0, x19
	bl	_params_rate
	mov	w8, #22049
	cmp	w0, w8
	b.le	LBB0_9
; %bb.5:
	mov	w8, #47999
	cmp	w0, w8
	b.gt	LBB0_13
; %bb.6:
	mov	w8, #22050
	cmp	w0, w8
	b.eq	LBB0_16
; %bb.7:
	mov	w8, #44100
	cmp	w0, w8
	b.ne	LBB0_21
; %bb.8:
	mov	w8, #13
	b	LBB0_20
LBB0_9:
	mov	w8, #8000
	cmp	w0, w8
	b.eq	LBB0_17
; %bb.10:
	mov	w8, #11025
	cmp	w0, w8
	b.eq	LBB0_19
; %bb.11:
	mov	w8, #16000
	cmp	w0, w8
	b.ne	LBB0_21
; %bb.12:
	mov	w8, #36
	b	LBB0_20
LBB0_13:
	mov	w8, #48000
	cmp	w0, w8
	b.eq	LBB0_18
; %bb.14:
	mov	w8, #30464
	movk	w8, #1, lsl #16
	cmp	w0, w8
	b.ne	LBB0_21
; %bb.15:
	mov	w8, #6
	b	LBB0_20
LBB0_16:
	mov	w8, #26
	b	LBB0_20
LBB0_17:
	mov	w8, #72
	b	LBB0_20
LBB0_18:
	mov	w8, #12
	b	LBB0_20
LBB0_19:
	mov	w8, #52
LBB0_20:
Lloh26:
	adrp	x9, _SADIV@GOTPAGE
Lloh27:
	ldr	x9, [x9, _SADIV@GOTPAGEOFF]
Lloh28:
	str	w8, [x9]
LBB0_21:
	mov	w0, #0
	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	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGot	Lloh8, Lloh9
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGot	Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGot	Lloh18, Lloh19
	.loh AdrpLdrGot	Lloh24, Lloh25
	.loh AdrpLdrGot	Lloh22, Lloh23
	.loh AdrpLdrGot	Lloh20, Lloh21
	.loh AdrpLdrGotStr	Lloh26, Lloh27, Lloh28
	.cfi_endproc
                                        ; -- End function
	.comm	_clk_i2s,4,2                    ; @clk_i2s
	.comm	_SNDRV_PCM_STREAM_PLAYBACK,8,3  ; @SNDRV_PCM_STREAM_PLAYBACK
	.comm	_pxa2xx_i2s_pcm_stereo_out,4,2  ; @pxa2xx_i2s_pcm_stereo_out
	.comm	_pxa2xx_i2s_pcm_stereo_in,4,2   ; @pxa2xx_i2s_pcm_stereo_in
	.comm	_SACR0,4,2                      ; @SACR0
	.comm	_SACR0_ENB,4,2                  ; @SACR0_ENB
	.comm	_pxa_i2s,16,3                   ; @pxa_i2s
	.comm	_SACR0_BCKD,4,2                 ; @SACR0_BCKD
	.comm	_SACR1,4,2                      ; @SACR1
	.comm	_SAIMR_TFS,4,2                  ; @SAIMR_TFS
	.comm	_SAIMR,4,2                      ; @SAIMR
	.comm	_SAIMR_RFS,4,2                  ; @SAIMR_RFS
	.comm	_SADIV,4,2                      ; @SADIV
	.no_dead_strip	_pxa2xx_i2s_hw_params
.subsections_via_symbols
