	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function ivtv_yuv_init
_ivtv_yuv_init:                         ## @ivtv_yuv_init
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	pushq	%rax
	.cfi_offset %rbx, -24
	movq	%rdi, %rbx
	leaq	L_.str(%rip), %rdi
	callq	_IVTV_DEBUG_YUV
	movl	$10292, %edi                    ## imm = 0x2834
	callq	_read_reg
	movl	%eax, 16(%rbx)
	movl	$10296, %edi                    ## imm = 0x2838
	callq	_read_reg
	movl	%eax, 20(%rbx)
	movl	$10300, %edi                    ## imm = 0x283C
	callq	_read_reg
	movl	%eax, 24(%rbx)
	movl	$10304, %edi                    ## imm = 0x2840
	callq	_read_reg
	movl	%eax, 28(%rbx)
	movl	$10308, %edi                    ## imm = 0x2844
	callq	_read_reg
	movl	%eax, 32(%rbx)
	movl	$10312, %edi                    ## imm = 0x2848
	callq	_read_reg
	movl	%eax, 36(%rbx)
	movl	$10324, %edi                    ## imm = 0x2854
	callq	_read_reg
	movl	%eax, 40(%rbx)
	movl	$10332, %edi                    ## imm = 0x285C
	callq	_read_reg
	movl	%eax, 44(%rbx)
	movl	$10340, %edi                    ## imm = 0x2864
	callq	_read_reg
	movl	%eax, 48(%rbx)
	movl	$10352, %edi                    ## imm = 0x2870
	callq	_read_reg
	movl	%eax, 52(%rbx)
	movl	$10356, %edi                    ## imm = 0x2874
	callq	_read_reg
	movl	%eax, 56(%rbx)
	movl	$10392, %edi                    ## imm = 0x2898
	callq	_read_reg
	movl	%eax, 60(%rbx)
	movl	$10384, %edi                    ## imm = 0x2890
	callq	_read_reg
	movl	%eax, 64(%rbx)
	movl	$10396, %edi                    ## imm = 0x289C
	callq	_read_reg
	movl	%eax, 68(%rbx)
	movl	$10520, %edi                    ## imm = 0x2918
	callq	_read_reg
	movl	%eax, 72(%rbx)
	movl	$10524, %edi                    ## imm = 0x291C
	callq	_read_reg
	movl	%eax, 76(%rbx)
	movl	$10528, %edi                    ## imm = 0x2920
	callq	_read_reg
	movl	%eax, 80(%rbx)
	movl	$10532, %edi                    ## imm = 0x2924
	callq	_read_reg
	movl	%eax, 84(%rbx)
	movl	$10536, %edi                    ## imm = 0x2928
	callq	_read_reg
	movl	%eax, 88(%rbx)
	movl	$10540, %edi                    ## imm = 0x292C
	callq	_read_reg
	movl	%eax, 92(%rbx)
	movl	$10544, %edi                    ## imm = 0x2930
	callq	_read_reg
	movl	%eax, 96(%rbx)
	movl	$10548, %edi                    ## imm = 0x2934
	callq	_read_reg
	movl	%eax, 100(%rbx)
	movl	$10552, %edi                    ## imm = 0x2938
	callq	_read_reg
	movl	%eax, 104(%rbx)
	movl	$10556, %edi                    ## imm = 0x293C
	callq	_read_reg
	movl	%eax, 108(%rbx)
	movl	$10560, %edi                    ## imm = 0x2940
	callq	_read_reg
	movl	%eax, 112(%rbx)
	movl	$10564, %edi                    ## imm = 0x2944
	callq	_read_reg
	movl	%eax, 116(%rbx)
	movl	$10568, %edi                    ## imm = 0x2948
	callq	_read_reg
	movl	%eax, 120(%rbx)
	movl	$10572, %edi                    ## imm = 0x294C
	callq	_read_reg
	movl	%eax, 124(%rbx)
	movl	$10576, %edi                    ## imm = 0x2950
	callq	_read_reg
	movl	%eax, 128(%rbx)
	movl	$10580, %edi                    ## imm = 0x2954
	callq	_read_reg
	movl	%eax, 132(%rbx)
	movl	$10584, %edi                    ## imm = 0x2958
	callq	_read_reg
	movl	%eax, 136(%rbx)
	movl	$10588, %edi                    ## imm = 0x295C
	callq	_read_reg
	movl	%eax, 140(%rbx)
	movl	$10592, %edi                    ## imm = 0x2960
	callq	_read_reg
	movl	%eax, 144(%rbx)
	movl	$10596, %edi                    ## imm = 0x2964
	callq	_read_reg
	movl	%eax, 148(%rbx)
	movl	$10600, %edi                    ## imm = 0x2968
	callq	_read_reg
	movl	%eax, 152(%rbx)
	movl	$10604, %edi                    ## imm = 0x296C
	callq	_read_reg
	movl	%eax, 156(%rbx)
	movl	$10608, %edi                    ## imm = 0x2970
	callq	_read_reg
	movl	%eax, 160(%rbx)
	movq	$-1, 164(%rbx)
	movl	$-1, 172(%rbx)
	movl	$10756, %edi                    ## imm = 0x2A04
	callq	_read_reg
	andl	$4095, %eax                     ## imm = 0xFFF
	movl	%eax, 176(%rbx)
	movl	$10756, %edi                    ## imm = 0x2A04
	callq	_read_reg
	shrl	$16, %eax
	andl	$4095, %eax                     ## imm = 0xFFF
	movl	%eax, 180(%rbx)
	movl	$10360, %edi                    ## imm = 0x2878
	callq	_read_reg
	testb	$4, %al
	movl	$480, %eax                      ## imm = 0x1E0
	movl	$576, %edx                      ## imm = 0x240
	cmovel	%eax, %edx
	movl	%edx, 184(%rbx)
	cmpl	$0, 8(%rbx)
	je	LBB0_6
## %bb.1:
	cmpl	$0, 188(%rbx)
	jne	LBB0_3
## %bb.2:
	movl	$720, %eax                      ## imm = 0x2D0
	subl	176(%rbx), %eax
	movl	%eax, 188(%rbx)
LBB0_3:
	movl	180(%rbx), %esi
	movl	192(%rbx), %eax
	testl	%eax, %eax
	je	LBB0_7
## %bb.4:
	addl	%eax, %esi
	cmpl	%edx, %esi
	jle	LBB0_9
## %bb.5:
	leaq	L_.str.1(%rip), %rdi
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_WARN
	movl	184(%rbx), %eax
	subl	180(%rbx), %eax
	movl	%eax, 192(%rbx)
	jmp	LBB0_9
LBB0_6:
	movl	$720, %eax                      ## imm = 0x2D0
	subl	176(%rbx), %eax
	movl	%eax, 188(%rbx)
	subl	180(%rbx), %edx
	jmp	LBB0_8
LBB0_7:
	subl	%esi, %edx
LBB0_8:
	movl	%edx, 192(%rbx)
LBB0_9:
	movq	_GFP_ATOMIC@GOTPCREL(%rip), %rax
	movq	___GFP_NOWARN@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	orl	(%rax), %esi
	movl	$11520, %edi                    ## imm = 0x2D00
	callq	_kzalloc
	movq	%rax, 208(%rbx)
	testq	%rax, %rax
	je	LBB0_11
## %bb.10:
	movl	4(%rbx), %edi
	movq	_PCI_DMA_TODEVICE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	movq	%rax, %rsi
	movl	$11520, %edx                    ## imm = 0x2D00
	callq	_pci_map_single
	movq	%rax, 200(%rbx)
	jmp	LBB0_12
LBB0_11:
	movq	$0, 200(%rbx)
	leaq	L_.str.2(%rip), %rdi
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_WARN
LBB0_12:
	movq	_IVTV_REG_VDM@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	$1, %edi
	callq	_write_reg_sync
	movq	_IVTV_F_I_DECODING_YUV@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%rbx, %rsi
	callq	_set_bit
	addq	$196, %rbx
	movq	%rbx, %rdi
	xorl	%esi, %esi
	addq	$8, %rsp
	popq	%rbx
	popq	%rbp
	jmp	_atomic_set                     ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"ivtv_yuv_init\n"

L_.str.1:                               ## @.str.1
	.asciz	"Clipping yuv output - fb size (%d) exceeds video standard limit (%d)\n"

	.comm	_GFP_ATOMIC,4,2                 ## @GFP_ATOMIC
	.comm	___GFP_NOWARN,4,2               ## @__GFP_NOWARN
	.comm	_PCI_DMA_TODEVICE,4,2           ## @PCI_DMA_TODEVICE
L_.str.2:                               ## @.str.2
	.asciz	"Failed to allocate yuv blanking buffer\n"

	.comm	_IVTV_REG_VDM,4,2               ## @IVTV_REG_VDM
	.comm	_IVTV_F_I_DECODING_YUV,4,2      ## @IVTV_F_I_DECODING_YUV
	.no_dead_strip	_ivtv_yuv_init
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function ivtv_yuv_init
_ivtv_yuv_init:                         ; @ivtv_yuv_init
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #48
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.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	x0, l_.str@PAGE
Lloh1:
	add	x0, x0, l_.str@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	mov	w0, #10292
	bl	_read_reg
	str	w0, [x19, #16]
	mov	w0, #10296
	bl	_read_reg
	str	w0, [x19, #20]
	mov	w0, #10300
	bl	_read_reg
	str	w0, [x19, #24]
	mov	w0, #10304
	bl	_read_reg
	str	w0, [x19, #28]
	mov	w0, #10308
	bl	_read_reg
	str	w0, [x19, #32]
	mov	w0, #10312
	bl	_read_reg
	str	w0, [x19, #36]
	mov	w0, #10324
	bl	_read_reg
	str	w0, [x19, #40]
	mov	w0, #10332
	bl	_read_reg
	str	w0, [x19, #44]
	mov	w0, #10340
	bl	_read_reg
	str	w0, [x19, #48]
	mov	w0, #10352
	bl	_read_reg
	str	w0, [x19, #52]
	mov	w0, #10356
	bl	_read_reg
	str	w0, [x19, #56]
	mov	w0, #10392
	bl	_read_reg
	str	w0, [x19, #60]
	mov	w0, #10384
	bl	_read_reg
	str	w0, [x19, #64]
	mov	w0, #10396
	bl	_read_reg
	str	w0, [x19, #68]
	mov	w0, #10520
	bl	_read_reg
	str	w0, [x19, #72]
	mov	w0, #10524
	bl	_read_reg
	str	w0, [x19, #76]
	mov	w0, #10528
	bl	_read_reg
	str	w0, [x19, #80]
	mov	w0, #10532
	bl	_read_reg
	str	w0, [x19, #84]
	mov	w0, #10536
	bl	_read_reg
	str	w0, [x19, #88]
	mov	w0, #10540
	bl	_read_reg
	str	w0, [x19, #92]
	mov	w0, #10544
	bl	_read_reg
	str	w0, [x19, #96]
	mov	w0, #10548
	bl	_read_reg
	str	w0, [x19, #100]
	mov	w0, #10552
	bl	_read_reg
	str	w0, [x19, #104]
	mov	w0, #10556
	bl	_read_reg
	str	w0, [x19, #108]
	mov	w0, #10560
	bl	_read_reg
	str	w0, [x19, #112]
	mov	w0, #10564
	bl	_read_reg
	str	w0, [x19, #116]
	mov	w0, #10568
	bl	_read_reg
	str	w0, [x19, #120]
	mov	w0, #10572
	bl	_read_reg
	str	w0, [x19, #124]
	mov	w0, #10576
	bl	_read_reg
	str	w0, [x19, #128]
	mov	w0, #10580
	bl	_read_reg
	str	w0, [x19, #132]
	mov	w0, #10584
	bl	_read_reg
	str	w0, [x19, #136]
	mov	w0, #10588
	bl	_read_reg
	str	w0, [x19, #140]
	mov	w0, #10592
	bl	_read_reg
	str	w0, [x19, #144]
	mov	w0, #10596
	bl	_read_reg
	str	w0, [x19, #148]
	mov	w0, #10600
	bl	_read_reg
	str	w0, [x19, #152]
	mov	w0, #10604
	bl	_read_reg
	str	w0, [x19, #156]
	mov	w0, #10608
	bl	_read_reg
	str	w0, [x19, #160]
	movi.2d	v0, #0xffffffffffffffff
	stur	d0, [x19, #164]
	mov	w8, #-1
	str	w8, [x19, #172]
	mov	w0, #10756
	bl	_read_reg
	and	w8, w0, #0xfff
	str	w8, [x19, #176]
	mov	w0, #10756
	bl	_read_reg
	ubfx	w8, w0, #16, #12
	str	w8, [x19, #180]
	mov	w0, #10360
	bl	_read_reg
	tst	w0, #0x4
	mov	w8, #576
	mov	w9, #480
	csel	w8, w9, w8, eq
	str	w8, [x19, #184]
	ldr	w9, [x19, #8]
	cbz	w9, LBB0_6
; %bb.1:
	ldr	w9, [x19, #188]
	cbnz	w9, LBB0_3
; %bb.2:
	ldr	w9, [x19, #176]
	mov	w10, #720
	sub	w9, w10, w9
	str	w9, [x19, #188]
LBB0_3:
	ldr	w10, [x19, #192]
	ldr	w9, [x19, #180]
	cbz	w10, LBB0_7
; %bb.4:
	add	w9, w9, w10
	cmp	w9, w8
	b.le	LBB0_9
; %bb.5:
	stp	x9, x8, [sp]
Lloh2:
	adrp	x0, l_.str.1@PAGE
Lloh3:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	_IVTV_DEBUG_WARN
	ldp	w9, w8, [x19, #180]
	sub	w8, w8, w9
	b	LBB0_8
LBB0_6:
	mov	w9, #720
	ldp	w10, w11, [x19, #176]
	sub	w9, w9, w10
	sub	w8, w8, w11
	str	w9, [x19, #188]
	b	LBB0_8
LBB0_7:
	sub	w8, w8, w9
LBB0_8:
	str	w8, [x19, #192]
LBB0_9:
Lloh4:
	adrp	x8, _GFP_ATOMIC@GOTPAGE
Lloh5:
	ldr	x8, [x8, _GFP_ATOMIC@GOTPAGEOFF]
Lloh6:
	ldr	w8, [x8]
Lloh7:
	adrp	x9, ___GFP_NOWARN@GOTPAGE
Lloh8:
	ldr	x9, [x9, ___GFP_NOWARN@GOTPAGEOFF]
Lloh9:
	ldr	w9, [x9]
	orr	w1, w9, w8
	mov	w0, #11520
	bl	_kzalloc
	str	x0, [x19, #208]
	cbz	x0, LBB0_11
; %bb.10:
	mov	x1, x0
	ldr	w0, [x19, #4]
Lloh10:
	adrp	x8, _PCI_DMA_TODEVICE@GOTPAGE
Lloh11:
	ldr	x8, [x8, _PCI_DMA_TODEVICE@GOTPAGEOFF]
Lloh12:
	ldr	w3, [x8]
	mov	w2, #11520
	bl	_pci_map_single
	str	x0, [x19, #200]
	b	LBB0_12
LBB0_11:
	str	xzr, [x19, #200]
Lloh13:
	adrp	x0, l_.str.2@PAGE
Lloh14:
	add	x0, x0, l_.str.2@PAGEOFF
	bl	_IVTV_DEBUG_WARN
LBB0_12:
Lloh15:
	adrp	x8, _IVTV_REG_VDM@GOTPAGE
Lloh16:
	ldr	x8, [x8, _IVTV_REG_VDM@GOTPAGEOFF]
Lloh17:
	ldr	w1, [x8]
	mov	w0, #1
	bl	_write_reg_sync
Lloh18:
	adrp	x8, _IVTV_F_I_DECODING_YUV@GOTPAGE
Lloh19:
	ldr	x8, [x8, _IVTV_F_I_DECODING_YUV@GOTPAGEOFF]
Lloh20:
	ldr	w0, [x8]
	mov	x1, x19
	bl	_set_bit
	add	x0, x19, #196
	mov	w1, #0
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #48
	b	_atomic_set
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"ivtv_yuv_init\n"

l_.str.1:                               ; @.str.1
	.asciz	"Clipping yuv output - fb size (%d) exceeds video standard limit (%d)\n"

	.comm	_GFP_ATOMIC,4,2                 ; @GFP_ATOMIC
	.comm	___GFP_NOWARN,4,2               ; @__GFP_NOWARN
	.comm	_PCI_DMA_TODEVICE,4,2           ; @PCI_DMA_TODEVICE
l_.str.2:                               ; @.str.2
	.asciz	"Failed to allocate yuv blanking buffer\n"

	.comm	_IVTV_REG_VDM,4,2               ; @IVTV_REG_VDM
	.comm	_IVTV_F_I_DECODING_YUV,4,2      ; @IVTV_F_I_DECODING_YUV
	.no_dead_strip	_ivtv_yuv_init
.subsections_via_symbols
