	.file	"extr_ipu-csi.c_ipu_csi_set_downsize.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	ipu_csi_set_downsize
	.type	ipu_csi_set_downsize, @function
ipu_csi_set_downsize:
.LFB0:
	.cfi_startproc
	endbr64
	push	r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	xor	r13d, r13d
	push	r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	mov	r12d, esi
	mov	rsi, r13
	push	rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	mov	rbp, rdi
	push	rbx
	.cfi_def_cfa_offset 40
	.cfi_offset 3, -40
	mov	ebx, edx
	sub	rsp, 8
	.cfi_def_cfa_offset 48
	call	spin_lock_irqsave@PLT
	mov	esi, DWORD PTR CSI_OUT_FRM_CTRL[rip]
	mov	rdi, rbp
	call	ipu_csi_read@PLT
	mov	ecx, DWORD PTR CSI_HORI_DOWNSIZE_EN[rip]
	mov	edi, DWORD PTR CSI_VERT_DOWNSIZE_EN[rip]
	mov	edx, DWORD PTR CSI_OUT_FRM_CTRL[rip]
	mov	esi, ecx
	or	esi, edi
	not	esi
	and	esi, eax
	or	ecx, esi
	test	r12d, r12d
	cmovne	esi, ecx
	test	ebx, ebx
	cmovne	ebx, edi
	mov	rdi, rbp
	or	esi, ebx
	call	ipu_csi_write@PLT
	add	rsp, 8
	.cfi_def_cfa_offset 40
	mov	rsi, r13
	mov	rdi, rbp
	pop	rbx
	.cfi_def_cfa_offset 32
	pop	rbp
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	jmp	spin_unlock_irqrestore@PLT
	.cfi_endproc
.LFE0:
	.size	ipu_csi_set_downsize, .-ipu_csi_set_downsize
	.comm	CSI_VERT_DOWNSIZE_EN,4,4
	.comm	CSI_OUT_FRM_CTRL,4,4
	.comm	CSI_HORI_DOWNSIZE_EN,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_ipu-csi.c_ipu_csi_set_downsize.c"
	.text
	.align	2
	.global	ipu_csi_set_downsize
	.syntax unified
	.arm
	.fpu softvfp
	.type	ipu_csi_set_downsize, %function
ipu_csi_set_downsize:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, lr}
	mov	r5, r0
	ldr	r7, .L11
	mov	r6, r1
	mov	r1, #0
	mov	r4, r2
	bl	spin_lock_irqsave
	ldr	r1, [r7]
	mov	r0, r5
	bl	ipu_csi_read
	ldr	r2, .L11+4
	ldr	r3, .L11+8
	ldr	r2, [r2]
	ldr	r3, [r3]
	cmp	r6, #0
	orr	r1, r2, r3
	bic	r1, r0, r1
	orrne	r1, r1, r2
	cmp	r4, #0
	movne	r4, r3
	mov	r0, r5
	orr	r1, r4, r1
	ldr	r2, [r7]
	bl	ipu_csi_write
	mov	r0, r5
	pop	{r4, r5, r6, r7, r8, lr}
	mov	r1, #0
	b	spin_unlock_irqrestore
.L12:
	.align	2
.L11:
	.word	CSI_OUT_FRM_CTRL
	.word	CSI_HORI_DOWNSIZE_EN
	.word	CSI_VERT_DOWNSIZE_EN
	.size	ipu_csi_set_downsize, .-ipu_csi_set_downsize
	.comm	CSI_VERT_DOWNSIZE_EN,4,4
	.comm	CSI_OUT_FRM_CTRL,4,4
	.comm	CSI_HORI_DOWNSIZE_EN,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
