	.file	"extr_blizzard.c_do_partial_update.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	do_partial_update, @function
do_partial_update:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	movsx	rax, esi
	mov	r11d, ecx
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	mov	r14d, edx
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	rbp, rax
	sal	rax, 5
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	ebx, r9d
	sub	rsp, 72
	.cfi_def_cfa_offset 128
	mov	DWORD PTR 48[rsp], edx
	mov	rdx, QWORD PTR blizzard[rip+64]
	mov	DWORD PTR 52[rsp], ecx
	add	rax, rdx
	mov	QWORD PTR 56[rsp], rdi
	mov	edi, DWORD PTR [rdi]
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR 8[rsp], r9d
	mov	DWORD PTR 4[rsp], r8d
	lea	r12d, [rcx+r14]
	lea	r15d, [rax+r11]
	mov	DWORD PTR 28[rsp], edi
	lea	r14d, [r12+r8]
	add	r9d, r15d
	mov	DWORD PTR 20[rsp], r14d
	mov	DWORD PTR 24[rsp], r9d
	test	DWORD PTR OMAPFB_FORMAT_FLAG_DOUBLE[rip], edi
	je	.L2
	mov	esi, r8d
	mov	eax, r8d
	add	ebx, r9d
	mov	DWORD PTR 40[rsp], r15d
	add	eax, eax
	add	esi, r14d
	mov	DWORD PTR 36[rsp], ebx
	mov	DWORD PTR 144[rsp], eax
	mov	DWORD PTR 32[rsp], esi
	mov	DWORD PTR 44[rsp], r12d
.L3:
	mov	edi, DWORD PTR OMAPFB_PLANE_NUM[rip]
	test	edi, edi
	jle	.L4
	mov	DWORD PTR [rsp], r12d
	xor	ebx, ebx
	mov	r12d, DWORD PTR 160[rsp]
	lea	r13, blizzard[rip]
	mov	DWORD PTR 12[rsp], r15d
	jmp	.L13
	.p2align 4,,10
	.p2align 3
.L55:
	mov	eax, ebx
	test	r12d, r12d
	je	.L6
	cmp	ebp, ebx
	jne	.L9
.L6:
	mov	rcx, rbx
	sal	rcx, 5
	add	rcx, rdx
	cmp	ebp, eax
	je	.L29
	mov	r8d, DWORD PTR [rcx]
	mov	r10d, DWORD PTR [rsp]
	mov	eax, DWORD PTR 8[rcx]
	sub	r10d, r8d
	cmp	eax, r10d
	jle	.L9
	mov	r9d, DWORD PTR 4[rcx]
	mov	esi, DWORD PTR 12[rsp]
	mov	r14d, DWORD PTR 12[rcx]
	sub	esi, r9d
	cmp	r14d, esi
	jle	.L9
	mov	r15d, DWORD PTR 20[rsp]
	mov	r11d, DWORD PTR 24[rsp]
	sub	r15d, r8d
	sub	r11d, r9d
	test	r15d, r15d
	jle	.L9
	test	r11d, r11d
	jle	.L9
	xor	edx, edx
	test	r10d, r10d
	cmovs	r10d, edx
	test	esi, esi
	cmovs	esi, edx
	sub	r8d, DWORD PTR [rsp]
	cmovs	r8d, edx
	sub	r9d, DWORD PTR 12[rsp]
	cmovs	r9d, edx
	cmp	eax, r15d
	cmovg	eax, r15d
	sub	eax, r10d
	cmp	r14d, r11d
	cmovg	r14d, r11d
	sub	r14d, esi
.L8:
	mov	r11d, DWORD PTR 20[rcx]
	mov	r15d, DWORD PTR 24[rcx]
	imul	esi, r11d
	add	r10d, esi
	imul	r10d, r15d
	test	r10d, r10d
	lea	edx, 7[r10]
	cmovs	r10d, edx
	sar	r10d, 3
	add	r10d, DWORD PTR 16[rcx]
	movsx	r10, r10d
	test	r12d, r12d
	je	.L12
	add	eax, 1
	imul	eax, DWORD PTR 168[rsp]
	cdq
	idiv	r15d
.L12:
	mov	edx, DWORD PTR 28[rcx]
	mov	esi, DWORD PTR OMAPFB_CHANNEL_OUT_LCD[rip]
	sub	rsp, 8
	.cfi_def_cfa_offset 136
	mov	ecx, r11d
	add	rbx, 1
	push	rdx
	.cfi_def_cfa_offset 144
	mov	rdx, r10
	push	r14
	.cfi_def_cfa_offset 152
	push	rax
	.cfi_def_cfa_offset 160
	mov	rax, QWORD PTR blizzard[rip+48]
	mov	DWORD PTR 48[rsp], edi
	call	[QWORD PTR 8[rax]]
	add	rsp, 32
	.cfi_def_cfa_offset 128
	mov	esi, 1
	mov	edi, DWORD PTR 16[rsp]
	mov	rax, QWORD PTR blizzard[rip+48]
	call	[QWORD PTR [rax]]
	cmp	DWORD PTR OMAPFB_PLANE_NUM[rip], ebx
	jle	.L51
.L56:
	mov	rdx, QWORD PTR blizzard[rip+64]
.L13:
	mov	eax, DWORD PTR 0[r13]
	mov	edi, ebx
	bt	eax, ebx
	jc	.L55
.L9:
	mov	rax, QWORD PTR blizzard[rip+48]
	xor	esi, esi
	add	rbx, 1
	call	[QWORD PTR [rax]]
	cmp	DWORD PTR OMAPFB_PLANE_NUM[rip], ebx
	jg	.L56
.L51:
	mov	r12d, DWORD PTR [rsp]
	mov	r15d, DWORD PTR 12[rsp]
.L4:
	cmp	DWORD PTR 160[rsp], 128
	mov	ebx, DWORD PTR BLIZZARD_COLOR_RGB565[rip]
	mov	ebp, DWORD PTR 4[rsp]
	jne	.L15
	lea	eax, 3[rbp+rbp*2]
	mov	ebx, DWORD PTR BLIZZARD_COLOR_YUV420[rip]
	test	eax, eax
	lea	ebp, 3[rax]
	cmovns	ebp, eax
	sar	ebp, 2
.L15:
	xor	eax, eax
	call	blizzard_wait_line_buffer@PLT
	mov	eax, DWORD PTR BLIZZARD_COLOR_YUV420[rip]
	cmp	DWORD PTR blizzard[rip+4], eax
	je	.L57
.L16:
	mov	DWORD PTR blizzard[rip+4], ebx
	mov	eax, DWORD PTR 28[rsp]
	test	DWORD PTR OMAPFB_FORMAT_FLAG_TEARSYNC[rip], eax
	je	.L17
	and	eax, DWORD PTR OMAPFB_FORMAT_FLAG_FORCE_VSYNC[rip]
	mov	edx, DWORD PTR 8[rsp]
	mov	esi, ebp
	mov	edi, r15d
	mov	r8d, DWORD PTR 152[rsp]
	mov	ecx, DWORD PTR blizzard[rip+8]
	mov	r9d, eax
	call	enable_tearsync@PLT
	mov	eax, DWORD PTR 4[rsp]
	cmp	eax, DWORD PTR 144[rsp]
	je	.L19
.L60:
	mov	esi, DWORD PTR blizzard[rip+12]
	test	esi, esi
	je	.L21
	mov	eax, 1
.L20:
	mov	edx, DWORD PTR 32[rsp]
	cmp	DWORD PTR blizzard[rip+16], edx
	je	.L58
.L23:
	test	eax, eax
	je	.L59
.L21:
	mov	r8d, DWORD PTR 44[rsp]
	mov	eax, DWORD PTR 32[rsp]
	sub	rsp, 8
	.cfi_def_cfa_offset 136
	mov	DWORD PTR blizzard[rip+12], 1
	mov	r9d, DWORD PTR 48[rsp]
	mov	edx, DWORD PTR 44[rsp]
	mov	ecx, DWORD PTR 36[rsp]
	mov	DWORD PTR blizzard[rip+20], r8d
	mov	DWORD PTR blizzard[rip+24], eax
	push	rcx
	.cfi_def_cfa_offset 144
	mov	DWORD PTR blizzard[rip+28], r9d
	push	0
	.cfi_def_cfa_offset 152
	mov	DWORD PTR blizzard[rip+32], edx
	push	rbx
	.cfi_def_cfa_offset 160
	push	rdx
	.cfi_def_cfa_offset 168
	push	rax
	.cfi_def_cfa_offset 176
.L53:
	mov	ecx, DWORD PTR 72[rsp]
	mov	edx, DWORD PTR 68[rsp]
	mov	esi, r15d
	mov	edi, r12d
	call	set_window_regs@PLT
	add	rsp, 48
	.cfi_def_cfa_offset 128
.L27:
	mov	rax, QWORD PTR blizzard[rip+40]
	mov	edi, 16
	call	[QWORD PTR 8[rax]]
	mov	rax, QWORD PTR blizzard[rip+40]
	mov	esi, DWORD PTR 8[rsp]
	mov	edi, ebp
	mov	rcx, QWORD PTR 56[rsp]
	mov	edx, DWORD PTR request_complete[rip]
	call	[QWORD PTR [rax]]
	mov	eax, DWORD PTR REQ_PENDING[rip]
	add	rsp, 72
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L29:
	.cfi_restore_state
	mov	r14d, DWORD PTR 8[rsp]
	mov	eax, DWORD PTR 4[rsp]
	xor	r9d, r9d
	xor	r8d, r8d
	mov	esi, DWORD PTR 52[rsp]
	mov	r10d, DWORD PTR 48[rsp]
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L2:
	mov	esi, DWORD PTR 128[rsp]
	add	eax, DWORD PTR 136[rsp]
	mov	DWORD PTR 40[rsp], eax
	add	eax, DWORD PTR 152[rsp]
	add	esi, ecx
	mov	DWORD PTR 36[rsp], eax
	mov	DWORD PTR 44[rsp], esi
	add	esi, DWORD PTR 144[rsp]
	mov	DWORD PTR 32[rsp], esi
	jmp	.L3
	.p2align 4,,10
	.p2align 3
.L17:
	xor	eax, eax
	call	disable_tearsync@PLT
	mov	eax, DWORD PTR 4[rsp]
	cmp	eax, DWORD PTR 144[rsp]
	jne	.L60
.L19:
	mov	ecx, DWORD PTR blizzard[rip+12]
	xor	eax, eax
	mov	edx, DWORD PTR 36[rsp]
	sub	edx, DWORD PTR 40[rsp]
	cmp	edx, DWORD PTR 8[rsp]
	setne	al
	test	ecx, ecx
	jne	.L20
	cmp	edx, DWORD PTR 8[rsp]
	jne	.L21
.L50:
	sub	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 136
	mov	eax, DWORD PTR 36[rsp]
	push	rax
	.cfi_def_cfa_offset 144
	push	0
	.cfi_def_cfa_offset 152
	push	rbx
	.cfi_def_cfa_offset 160
	mov	eax, DWORD PTR 68[rsp]
	push	rax
	.cfi_def_cfa_offset 168
	mov	eax, DWORD PTR 72[rsp]
	push	rax
	.cfi_def_cfa_offset 176
	mov	r9d, DWORD PTR 88[rsp]
	mov	r8d, DWORD PTR 92[rsp]
	jmp	.L53
	.p2align 4,,10
	.p2align 3
.L57:
	.cfi_restore_state
	xor	eax, eax
	call	blizzard_wait_yyc@PLT
	jmp	.L16
	.p2align 4,,10
	.p2align 3
.L59:
	mov	ecx, DWORD PTR 32[rsp]
	mov	edx, DWORD PTR 44[rsp]
	mov	esi, DWORD PTR blizzard[rip+24]
	mov	edi, DWORD PTR blizzard[rip+20]
	call	check_1d_intersect@PLT
	test	rax, rax
	je	.L50
	mov	ecx, DWORD PTR 36[rsp]
	mov	edx, DWORD PTR 40[rsp]
	mov	esi, DWORD PTR blizzard[rip+32]
	mov	edi, DWORD PTR blizzard[rip+28]
	call	check_1d_intersect@PLT
	test	rax, rax
	je	.L50
	sub	rsp, 8
	.cfi_def_cfa_offset 136
	mov	ecx, DWORD PTR blizzard[rip+8]
	xor	r9d, r9d
	xor	r8d, r8d
	mov	eax, DWORD PTR 36[rsp]
	mov	edx, DWORD PTR blizzard[rip+16]
	xor	esi, esi
	xor	edi, edi
	push	rax
	.cfi_def_cfa_offset 144
	mov	eax, DWORD PTR BLIZZARD_COLOR_RGB565[rip]
	push	1
	.cfi_def_cfa_offset 152
	push	rax
	.cfi_def_cfa_offset 160
	push	rcx
	.cfi_def_cfa_offset 168
	push	rdx
	.cfi_def_cfa_offset 176
	call	set_window_regs@PLT
	add	rsp, 48
	.cfi_def_cfa_offset 128
	mov	DWORD PTR blizzard[rip+12], 0
	jmp	.L50
.L58:
	mov	edx, DWORD PTR 36[rsp]
	cmp	DWORD PTR blizzard[rip+8], edx
	jne	.L23
	mov	edx, r12d
	or	edx, r15d
	or	edx, DWORD PTR 44[rsp]
	or	edx, DWORD PTR 40[rsp]
	or	edx, eax
	jne	.L23
	sub	rsp, 8
	.cfi_def_cfa_offset 136
	mov	esi, r15d
	mov	edi, r12d
	mov	eax, DWORD PTR 36[rsp]
	push	rax
	.cfi_def_cfa_offset 144
	push	1
	.cfi_def_cfa_offset 152
	push	rbx
	.cfi_def_cfa_offset 160
	mov	eax, DWORD PTR 68[rsp]
	push	rax
	.cfi_def_cfa_offset 168
	mov	eax, DWORD PTR 72[rsp]
	push	rax
	.cfi_def_cfa_offset 176
	mov	r9d, DWORD PTR 88[rsp]
	mov	r8d, DWORD PTR 92[rsp]
	mov	ecx, DWORD PTR 72[rsp]
	mov	edx, DWORD PTR 68[rsp]
	call	set_window_regs@PLT
	add	rsp, 48
	.cfi_def_cfa_offset 128
	mov	DWORD PTR blizzard[rip+12], 0
	jmp	.L27
	.cfi_endproc
.LFE0:
	.size	do_partial_update, .-do_partial_update
	.comm	request_complete,4,4
	.comm	blizzard,72,32
	.comm	REQ_PENDING,4,4
	.comm	OMAPFB_PLANE_NUM,4,4
	.comm	OMAPFB_FORMAT_FLAG_TEARSYNC,4,4
	.comm	OMAPFB_FORMAT_FLAG_FORCE_VSYNC,4,4
	.comm	OMAPFB_FORMAT_FLAG_DOUBLE,4,4
	.comm	OMAPFB_CHANNEL_OUT_LCD,4,4
	.comm	BLIZZARD_COLOR_YUV420,4,4
	.comm	BLIZZARD_COLOR_RGB565,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_blizzard.c_do_partial_update.c"
	.text
	.global	__aeabi_idiv
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	do_partial_update, %function
do_partial_update:
	@ args = 32, pretend = 0, frame = 56
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r8, r1
	mov	r1, r0
	mov	ip, r3
	ldr	r5, .L53
	sub	sp, sp, #92
	mov	lr, r2
	str	r2, [sp, #68]
	ldr	r2, [r5, #48]
	str	r0, [sp, #76]
	str	r3, [sp, #72]
	ldr	r0, .L53+4
	add	r3, r2, r8, lsl #5
	ldr	r3, [r3, #4]
	ldr	r4, [r1]
	ldr	r0, [r0]
	add	ip, r3, ip
	tst	r4, r0
	mov	r0, ip
	ldr	r1, [r2, r8, lsl #5]
	str	ip, [sp, #36]
	ldr	ip, [sp, #132]
	add	lr, r1, lr
	str	r4, [sp, #48]
	add	r4, r0, ip
	mov	ip, lr
	str	lr, [sp, #32]
	ldr	lr, [sp, #128]
	str	r4, [sp, #44]
	add	lr, ip, lr
	str	lr, [sp, #40]
	beq	.L2
	ldr	r3, [sp, #128]
	str	r0, [sp, #60]
	lsl	r3, r3, #1
	str	r3, [sp, #144]
	ldr	r3, [sp, #128]
	str	ip, [sp, #64]
	add	r3, r3, lr
	str	r3, [sp, #52]
	ldr	r3, [sp, #132]
	add	r3, r3, r4
	str	r3, [sp, #56]
.L3:
	ldr	r10, .L53+8
	ldr	r3, [r10]
	cmp	r3, #0
	ble	.L4
	mov	r4, #0
	b	.L12
.L46:
	ldr	r3, [sp, #152]
	subs	r6, r8, r4
	movne	r6, #1
	cmp	r3, #0
	moveq	r6, #0
	cmp	r6, #0
	bne	.L9
	cmp	r8, r4
	add	r7, r2, r4, lsl #5
	beq	.L28
	ldr	r9, [r2, r4, lsl #5]
	ldr	r3, [sp, #32]
	ldr	r0, [r7, #8]
	sub	lr, r3, r9
	cmp	r0, lr
	ble	.L9
	ldr	r6, [r7, #4]
	ldr	r3, [sp, #36]
	ldr	r2, [r7, #12]
	sub	ip, r3, r6
	cmp	r2, ip
	ble	.L9
	ldr	r3, [sp, #40]
	sub	r1, r3, r9
	ldr	r3, [sp, #44]
	sub	r3, r3, r6
	cmp	r3, #0
	cmpgt	r1, #0
	ble	.L9
	bic	lr, lr, lr, asr #31
	bic	ip, ip, ip, asr #31
	cmp	r0, r1
	rsble	r0, lr, r0
	rsbgt	r0, lr, r1
	cmp	r2, r3
	rsble	r2, ip, r2
	rsbgt	r2, ip, r3
	ldr	fp, [sp, #32]
	sub	r9, r9, fp
	ldr	fp, [sp, #36]
	bic	r9, r9, r9, asr #31
	sub	r6, r6, fp
	bic	r6, r6, r6, asr #31
.L8:
	ldr	r3, [r7, #20]
	ldr	r1, [r7, #24]
	mla	ip, r3, ip, lr
	mul	fp, r1, ip
	add	lr, fp, #7
	cmp	fp, #0
	movlt	fp, lr
	ldr	lr, [sp, #152]
	ldr	ip, [r7, #16]
	cmp	lr, #0
	add	fp, ip, fp, asr #3
	beq	.L11
	str	r3, [sp, #80]
	ldr	r3, [sp, #156]
	add	r0, r0, #1
	mul	r3, r0, r3
	mov	r0, r3
	str	r2, [sp, #84]
	bl	__aeabi_idiv
	ldr	r2, [sp, #84]
	ldr	r3, [sp, #80]
.L11:
	ldr	ip, [r7, #28]
	ldr	r1, [r5, #40]
	str	ip, [sp, #16]
	str	r2, [sp, #12]
	str	r0, [sp, #8]
	str	r6, [sp, #4]
	str	r9, [sp]
	ldr	r6, [r1, #4]
	ldr	r1, .L53+12
	mov	r2, fp
	mov	r0, r4
	ldr	r1, [r1]
	blx	r6
	ldr	r3, [r5, #40]
	mov	r0, r4
	ldr	r3, [r3]
	mov	r1, #1
	blx	r3
	ldr	r3, [r10]
	add	r4, r4, #1
	cmp	r3, r4
	ble	.L4
.L47:
	ldr	r2, [r5, #48]
.L12:
	ldr	r3, [r5]
	asr	r3, r3, r4
	tst	r3, #1
	bne	.L46
.L9:
	ldr	r3, [r5, #40]
	mov	r0, r4
	ldr	r3, [r3]
	mov	r1, #0
	blx	r3
	ldr	r3, [r10]
	add	r4, r4, #1
	cmp	r3, r4
	bgt	.L47
.L4:
	ldr	r3, [sp, #152]
	cmp	r3, #128
	beq	.L48
	ldr	r3, .L53+16
	ldr	r4, [sp, #128]
	ldr	r7, .L53+20
	ldr	r6, [r3]
.L14:
	bl	blizzard_wait_line_buffer
	ldr	r3, [r7]
	ldr	r2, [r5, #4]
	cmp	r2, r3
	beq	.L49
.L15:
	ldr	r3, .L53+24
	ldr	r1, [sp, #48]
	ldr	r3, [r3]
	str	r6, [r5, #4]
	tst	r1, r3
	beq	.L16
	ldr	r2, [sp, #148]
	ldr	r3, .L53+28
	str	r2, [sp]
	ldr	r2, [r3]
	ldr	r0, [sp, #36]
	and	r2, r2, r1
	ldr	r3, [r5, #8]
	mov	r1, r4
	str	r2, [sp, #4]
	ldr	r2, [sp, #132]
	bl	enable_tearsync
.L17:
	ldr	r3, [sp, #128]
	ldr	r2, [sp, #144]
	cmp	r3, r2
	ldr	r3, [r5, #12]
	beq	.L18
	cmp	r3, #0
	beq	.L20
	mov	r8, #1
.L19:
	ldr	r3, [r5, #16]
	ldr	r2, [sp, #52]
	cmp	r3, r2
	beq	.L50
.L22:
	cmp	r8, #0
	beq	.L51
.L20:
	mov	lr, #0
	mov	ip, #1
	str	r6, [sp, #16]
	ldr	r3, [sp, #48]
	ldr	r6, [sp, #56]
	ldr	r7, [sp, #52]
	ldr	r8, [sp, #60]
	ldr	r9, [sp, #64]
	str	r3, [sp, #24]
	str	r6, [sp, #12]
	str	r7, [sp, #8]
	str	r8, [sp, #4]
	str	r9, [sp]
	add	r0, sp, #32
	ldm	r0, {r0, r1, r2, r3}
	str	lr, [sp, #20]
	str	r9, [r5, #20]
	str	r7, [r5, #24]
	str	r8, [r5, #28]
	str	r6, [r5, #32]
	str	ip, [r5, #12]
	bl	set_window_regs
.L26:
	ldr	r3, [r5, #36]
	mov	r0, #16
	ldr	r3, [r3, #4]
	blx	r3
	ldr	r3, [r5, #36]
	ldr	r2, .L53+32
	ldr	r5, [r3]
	mov	r0, r4
	ldr	r3, [sp, #76]
	ldr	r1, [sp, #132]
	ldr	r2, [r2]
	blx	r5
	ldr	r3, .L53+36
	ldr	r0, [r3]
	add	sp, sp, #92
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L28:
	mov	r9, r6
	ldr	r2, [sp, #132]
	ldr	r0, [sp, #128]
	ldr	ip, [sp, #72]
	ldr	lr, [sp, #68]
	b	.L8
.L2:
	ldr	r0, [sp, #136]
	add	r1, r1, r0
	ldr	r0, [sp, #140]
	str	r1, [sp, #64]
	add	r3, r3, r0
	ldr	r0, [sp, #144]
	str	r3, [sp, #60]
	add	r1, r1, r0
	str	r1, [sp, #52]
	ldr	r1, [sp, #148]
	add	r3, r3, r1
	str	r3, [sp, #56]
	b	.L3
.L16:
	bl	disable_tearsync
	b	.L17
.L48:
	ldr	r3, [sp, #128]
	ldr	r7, .L53+20
	add	r4, r3, #1
	add	r4, r4, r4, lsl #1
	add	r3, r4, #3
	cmp	r4, #0
	movlt	r4, r3
	ldr	r6, [r7]
	asr	r4, r4, #2
	b	.L14
.L18:
	ldr	r1, [sp, #60]
	ldr	r2, [sp, #56]
	sub	r2, r2, r1
	ldr	r1, [sp, #132]
	subs	r8, r2, r1
	movne	r8, #1
	cmp	r3, #0
	bne	.L19
	ldr	r1, [sp, #132]
	cmp	r2, r1
	bne	.L20
	str	r3, [sp, #20]
	ldr	r3, [sp, #56]
	ldr	r2, [sp, #48]
	str	r3, [sp, #12]
	ldr	r3, [sp, #52]
	str	r2, [sp, #24]
	str	r3, [sp, #8]
	ldr	r3, [sp, #60]
	str	r6, [sp, #16]
	str	r3, [sp, #4]
	ldr	r3, [sp, #64]
	add	r0, sp, #32
	str	r3, [sp]
	ldm	r0, {r0, r1, r2, r3}
	bl	set_window_regs
	b	.L26
.L49:
	bl	blizzard_wait_yyc
	b	.L15
.L51:
	ldr	r3, [sp, #52]
	ldr	r2, [sp, #64]
	ldr	r1, [r5, #24]
	ldr	r0, [r5, #20]
	bl	check_1d_intersect
	cmp	r0, #0
	bne	.L52
.L25:
	mov	ip, #0
	ldr	r3, [sp, #48]
	str	r6, [sp, #16]
	str	r3, [sp, #24]
	ldr	r3, [sp, #56]
	add	r0, sp, #32
	str	r3, [sp, #12]
	ldr	r3, [sp, #52]
	str	r3, [sp, #8]
	ldr	r3, [sp, #60]
	str	r3, [sp, #4]
	ldr	r3, [sp, #64]
	str	r3, [sp]
	ldm	r0, {r0, r1, r2, r3}
	str	ip, [sp, #20]
	bl	set_window_regs
	b	.L26
.L52:
	ldr	r3, [sp, #56]
	ldr	r2, [sp, #60]
	ldr	r1, [r5, #32]
	ldr	r0, [r5, #28]
	bl	check_1d_intersect
	cmp	r0, #0
	beq	.L25
	mov	r1, #1
	ldr	r3, .L53+16
	ldr	r2, [r5, #16]
	ldr	r0, [r3]
	ldr	ip, [sp, #48]
	ldr	r3, [r5, #8]
	str	r0, [sp, #16]
	str	r1, [sp, #20]
	mov	r0, r8
	mov	r1, r8
	str	ip, [sp, #24]
	str	r8, [sp, #4]
	str	r8, [sp]
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	bl	set_window_regs
	str	r8, [r5, #12]
	b	.L25
.L50:
	ldr	r3, [r5, #8]
	ldr	r2, [sp, #56]
	cmp	r3, r2
	bne	.L22
	ldr	r3, [sp, #32]
	ldr	r2, [sp, #36]
	orr	r7, r3, r2
	ldr	r3, [sp, #64]
	orr	r7, r7, r3
	ldr	r3, [sp, #60]
	orr	r7, r7, r3
	orrs	r7, r7, r8
	bne	.L22
	mov	ip, #1
	ldr	r3, [sp, #48]
	str	r6, [sp, #16]
	str	r3, [sp, #24]
	ldr	r3, [sp, #56]
	add	r0, sp, #32
	str	r3, [sp, #12]
	ldr	r3, [sp, #52]
	str	r3, [sp, #8]
	ldr	r3, [sp, #60]
	str	r3, [sp, #4]
	ldr	r3, [sp, #64]
	str	r3, [sp]
	ldm	r0, {r0, r1, r2, r3}
	str	ip, [sp, #20]
	bl	set_window_regs
	str	r7, [r5, #12]
	b	.L26
.L54:
	.align	2
.L53:
	.word	blizzard
	.word	OMAPFB_FORMAT_FLAG_DOUBLE
	.word	OMAPFB_PLANE_NUM
	.word	OMAPFB_CHANNEL_OUT_LCD
	.word	BLIZZARD_COLOR_RGB565
	.word	BLIZZARD_COLOR_YUV420
	.word	OMAPFB_FORMAT_FLAG_TEARSYNC
	.word	OMAPFB_FORMAT_FLAG_FORCE_VSYNC
	.word	request_complete
	.word	REQ_PENDING
	.size	do_partial_update, .-do_partial_update
	.comm	request_complete,4,4
	.comm	blizzard,52,4
	.comm	REQ_PENDING,4,4
	.comm	OMAPFB_PLANE_NUM,4,4
	.comm	OMAPFB_FORMAT_FLAG_TEARSYNC,4,4
	.comm	OMAPFB_FORMAT_FLAG_FORCE_VSYNC,4,4
	.comm	OMAPFB_FORMAT_FLAG_DOUBLE,4,4
	.comm	OMAPFB_CHANNEL_OUT_LCD,4,4
	.comm	BLIZZARD_COLOR_YUV420,4,4
	.comm	BLIZZARD_COLOR_RGB565,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
