drm/rockchip: ebc_dev: release version v7.10

reduce auto clear shine

Change-Id: Ifbd2b46266701211c89e4e61f895d2777f2ae96c
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
This commit is contained in:
Zorro Liu
2025-03-28 17:36:13 +08:00
parent 3509395b45
commit 3aa9586e3b
4 changed files with 2328 additions and 2155 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -9,6 +9,7 @@
#define EPD_LUT_H
#define MAXFRAME 255
#define LAST_REPAIR_NUM 13
#define WF_4BIT 16
#define WF_5BIT 32

View File

@@ -82,11 +82,11 @@ pvi_wf_get_lut:
ldr x9, [x9]
cbz x9, .LBB1_13
.LBB1_3:
adrp x24, pvi_wf_get_lut.sftemp
adrp x27, pvi_wf_get_lut.sftemp
mov w9, #21846
movk w9, #21845, lsl #16
adrp x27, pvi_wf_get_lut.stype
ldrsw x10, [x24, :lo12:pvi_wf_get_lut.sftemp]
adrp x28, pvi_wf_get_lut.stype
ldrsw x10, [x27, :lo12:pvi_wf_get_lut.sftemp]
smull x11, w19, w9
mul x9, x10, x9
lsr x10, x11, #63
@@ -98,21 +98,21 @@ pvi_wf_get_lut:
adrp x11, pvi_wf_get_lut.fix
cmp w26, w9
b.ne .LBB1_6
ldr w10, [x27, :lo12:pvi_wf_get_lut.stype]
ldr w10, [x28, :lo12:pvi_wf_get_lut.stype]
cmp w10, w22
b.ne .LBB1_6
ldr w10, [x11, :lo12:pvi_wf_get_lut.fix]
cmp w10, w21
b.eq .LBB1_28
b.eq .LBB1_25
.LBB1_6:
adrp x10, need_pic
cmp w22, #10
str w3, [x10, :lo12:need_pic]
b.eq .LBB1_27
b.eq .LBB1_24
ldr x10, [x20, #16]
adrp x28, waveformdata
adrp x24, waveformdata
ldrb w9, [x8, #38]
str x10, [x28, :lo12:waveformdata]
str x10, [x24, :lo12:waveformdata]
cbz w9, .LBB1_14
mov x10, xzr
add x8, x8, #48
@@ -128,10 +128,10 @@ pvi_wf_get_lut:
b .LBB1_16
.LBB1_12:
mov w0, #-19
b .LBB1_42
b .LBB1_39
.LBB1_13:
mov w0, #-22
b .LBB1_42
b .LBB1_39
.LBB1_14:
mov w10, wzr
mov w8, #-1
@@ -147,129 +147,136 @@ pvi_wf_get_lut:
and w0, w0, #0xff
mov w1, w23
bl get_wf_frm_num
tbnz w0, #31, .LBB1_47
tbnz w0, #31, .LBB1_44
mov w23, w0
cmp w22, #1
b.eq .LBB1_22
cmp w22, #7
b.ne .LBB1_35
ldr x8, [x28, :lo12:waveformdata]
cbz w23, .LBB1_25
mov w10, w23
mov x9, xzr
lsl x10, x10, #10
b.eq .LBB1_19
cmp w22, #1
b.ne .LBB1_32
.LBB1_19:
ldr x28, [x24, :lo12:waveformdata]
mov w8, #8992
mov w9, #4832
cmp w23, #12
add x27, x28, x8
add x24, x28, x9
b.ls .LBB1_61
.LBB1_20:
mov w8, wzr
mov w9, w23
.LBB1_21:
add x11, x8, w9, sxtw
add x9, x9, #1024
cmp x10, x9
ldrb w12, [x11, #960]
strb wzr, [x11, #32]
strb wzr, [x11, #62]
strb wzr, [x11, #96]
strb w12, [x11]
ldrb w12, [x11, #30]
strb wzr, [x11, #126]
strb wzr, [x11, #928]
strb w12, [x11, #990]
strb wzr, [x11, #958]
strb wzr, [x11, #992]
strb wzr, [x11, #1022]
add x10, x28, w8, sxtw
subs x9, x9, #1
add w8, w8, #1024
ldrb w11, [x10, #960]
strb wzr, [x10, #32]
strb wzr, [x10, #62]
strb wzr, [x10, #96]
strb w11, [x10]
ldrb w11, [x10, #30]
strb wzr, [x10, #126]
strb wzr, [x10, #928]
strb w11, [x10, #990]
strb wzr, [x10, #958]
strb wzr, [x10, #992]
strb wzr, [x10, #1022]
b.ne .LBB1_21
b .LBB1_25
.LBB1_22:
ldr x8, [x28, :lo12:waveformdata]
cbz w23, .LBB1_25
mov w10, w23
mov x9, xzr
lsl x10, x10, #10
.LBB1_24:
add x11, x8, w9, sxtw
add x9, x9, #1024
cmp x10, x9
ldrb w12, [x11, #960]
strb wzr, [x11, #32]
strb wzr, [x11, #62]
strb wzr, [x11, #96]
strb w12, [x11]
ldrb w12, [x11, #30]
strb wzr, [x11, #126]
strb wzr, [x11, #928]
strb w12, [x11, #990]
strb wzr, [x11, #958]
strb wzr, [x11, #992]
strb wzr, [x11, #1022]
b.ne .LBB1_24
.LBB1_25:
mov w9, #1
mov w10, #2
strb w9, [x8, #928]
strb w10, [x8, #958]
strb w9, [x8, #1952]
strb w10, [x8, #1982]
strb w9, [x8, #2976]
strb w10, [x8, #3006]
strb w10, [x8, #3070]
strb w9, [x8, #4000]
strb w10, [x8, #4030]
strb w10, [x8, #4094]
.LBB1_26:
mov w8, #1
mov w9, #2
strb w8, [x28, #672]
strb w9, [x28, #702]
strb w8, [x24]
strb w9, [x24, #30]
strb w8, [x27]
strb w9, [x27, #30]
strb w8, [x28, #1696]
strb w9, [x28, #1726]
strb w8, [x24, #1024]
strb w9, [x24, #1054]
strb w8, [x27, #1024]
strb w9, [x27, #1054]
strb w8, [x28, #2720]
strb w9, [x28, #2750]
strb w8, [x24, #2048]
strb w9, [x24, #2078]
strb w8, [x27, #2048]
strb w9, [x27, #2078]
strb w8, [x28, #3744]
strb w9, [x28, #3774]
strb w8, [x24, #3072]
strb w9, [x24, #3102]
strb w8, [x27, #3072]
strb w9, [x27, #3102]
strb w8, [x28, #1918]
strb w9, [x28, #2942]
strb w9, [x28, #3966]
adrp x28, pvi_wf_get_lut.stype
strb w8, [x24, #1246]
strb w9, [x24, #2270]
strb w9, [x24, #3294]
strb w8, [x27, #1246]
strb w9, [x27, #2270]
strb w9, [x27, #3294]
adrp x27, pvi_wf_get_lut.sftemp
.LBB1_23:
ldrb w8, [x20, #1]
mov w9, #21846
movk w9, #21845, lsl #16
orr w8, w23, w8, lsl #8
str w8, [x20]
ldrsw x8, [x24, :lo12:pvi_wf_get_lut.sftemp]
str w22, [x27, :lo12:pvi_wf_get_lut.stype]
ldrsw x8, [x27, :lo12:pvi_wf_get_lut.sftemp]
str w22, [x28, :lo12:pvi_wf_get_lut.stype]
mul x8, x8, x9
lsr x9, x8, #63
lsr x8, x8, #32
add w9, w8, w9
adrp x8, pvi_wf_get_lut.fix
str w21, [x8, :lo12:pvi_wf_get_lut.fix]
.LBB1_27:
.LBB1_24:
cmp w26, w9
b.ne .LBB1_29
.LBB1_28:
b.ne .LBB1_26
.LBB1_25:
mov w0, wzr
b .LBB1_42
.LBB1_29:
b .LBB1_39
.LBB1_26:
ldr x8, [x20, #24]
adrp x9, waveformdata
str x8, [x9, :lo12:waveformdata]
bl epd_overlay_lut
ldr x10, [x25, :lo12:global_waveform]
ldrb w8, [x10, #38]
cbz w8, .LBB1_34
cbz w8, .LBB1_31
mov x9, xzr
add x10, x10, #48
.LBB1_31:
.LBB1_28:
ldrb w11, [x10, x9]
cmp w11, w19
b.ge .LBB1_39
b.ge .LBB1_36
add x9, x9, #1
cmp x8, x9
b.ne .LBB1_31
b.ne .LBB1_28
mov w10, #-1
mov w9, w8
b .LBB1_40
.LBB1_34:
b .LBB1_37
.LBB1_31:
mov w9, wzr
mov w10, #-1
b .LBB1_40
.LBB1_35:
b .LBB1_37
.LBB1_32:
sub w8, w22, #5
cmp w8, #1
b.hi .LBB1_43
cbz w23, .LBB1_26
ldr x8, [x28, :lo12:waveformdata]
b.hi .LBB1_40
cbz w23, .LBB1_23
ldr x8, [x24, :lo12:waveformdata]
mov w9, w23
cmp w23, #1
b.ne .LBB1_50
b.ne .LBB1_47
mov x10, xzr
b .LBB1_62
.LBB1_39:
b .LBB1_59
.LBB1_36:
mov w10, w9
.LBB1_40:
.LBB1_37:
sub w11, w9, #1
cmp w9, w8
csel w21, w11, w10, eq
@@ -277,13 +284,13 @@ pvi_wf_get_lut:
and w0, w0, #0xff
mov w1, w21
bl get_wf_frm_num
tbnz w0, #31, .LBB1_47
tbnz w0, #31, .LBB1_44
ldrb w8, [x20]
bfi w8, w0, #8, #24
mov w0, wzr
str w8, [x20]
str w19, [x24, :lo12:pvi_wf_get_lut.sftemp]
.LBB1_42:
str w19, [x27, :lo12:pvi_wf_get_lut.sftemp]
.LBB1_39:
ldp x20, x19, [sp, #80]
ldp x22, x21, [sp, #64]
ldp x24, x23, [sp, #48]
@@ -292,33 +299,33 @@ pvi_wf_get_lut:
ldp x29, x30, [sp], #96
ldr x30, [x18, #-8]!
ret
.LBB1_43:
.LBB1_40:
sub w8, w22, #11
cmp w8, #1
b.hi .LBB1_48
cbz w23, .LBB1_26
ldr x8, [x28, :lo12:waveformdata]
b.hi .LBB1_45
cbz w23, .LBB1_23
ldr x8, [x24, :lo12:waveformdata]
mov w9, w23
cmp w23, #1
b.ne .LBB1_64
mov x10, xzr
b .LBB1_84
.LBB1_47:
.LBB1_44:
adrp x0, .L.str
add x0, x0, :lo12:.L.str
bl _printk
mov w0, #-5
b .LBB1_42
.LBB1_48:
b .LBB1_39
.LBB1_45:
sub w8, w22, #13
cmp w8, #1
b.hi .LBB1_26
ldr x0, [x28, :lo12:waveformdata]
b.hi .LBB1_23
ldr x0, [x24, :lo12:waveformdata]
mov w1, w23
mov w2, w21
bl pvi_wf_normal_fix
b .LBB1_26
.LBB1_50:
b .LBB1_23
.LBB1_47:
sub x12, x9, #1
mov x10, xzr
and x11, x12, #0xffffffff
@@ -327,30 +334,30 @@ pvi_wf_get_lut:
cset w13, ne
cmp xzr, x12, lsr #54
cset w11, ne
tbnz w14, #31, .LBB1_62
tbnz w13, #0, .LBB1_62
tbnz w14, #31, .LBB1_59
tbnz w13, #0, .LBB1_59
lsr x13, x12, #32
cbnz x13, .LBB1_62
cbnz x13, .LBB1_59
add x13, x8, #30
lsl x12, x12, #10
add x14, x13, x12
cmp x14, x13
b.lo .LBB1_62
tbnz w11, #0, .LBB1_62
b.lo .LBB1_59
tbnz w11, #0, .LBB1_59
add x13, x8, #29
add x14, x13, x12
cmp x14, x13
b.lo .LBB1_62
tbnz w11, #0, .LBB1_62
b.lo .LBB1_59
tbnz w11, #0, .LBB1_59
add x13, x8, #31
add x12, x13, x12
cmp x12, x13
b.lo .LBB1_62
tbnz w11, #0, .LBB1_62
b.lo .LBB1_59
tbnz w11, #0, .LBB1_59
and x10, x9, #0xfffffffe
mov w11, #1024
mov x12, x10
.LBB1_60:
.LBB1_57:
sub w13, w11, #1024
add x14, x8, w11, sxtw
subs x12, x12, #2
@@ -362,21 +369,46 @@ pvi_wf_get_lut:
strb w15, [x14, #29]
strb w16, [x13, #31]
strb w16, [x13, #29]
b.ne .LBB1_60
b.ne .LBB1_57
cmp x10, x9
b.eq .LBB1_26
.LBB1_62:
b.eq .LBB1_23
.LBB1_59:
sub x9, x9, x10
lsl w10, w10, #10
.LBB1_63:
.LBB1_60:
add x11, x8, w10, sxtw
subs x9, x9, #1
add w10, w10, #1024
ldrb w12, [x11, #30]
strb w12, [x11, #31]
strb w12, [x11, #29]
b.ne .LBB1_63
b .LBB1_26
b.ne .LBB1_60
b .LBB1_23
.LBB1_61:
adrp x0, .L.str.8
add x0, x0, :lo12:.L.str.8
bl _printk
lsl w8, w23, #10
mov w9, #13
.LBB1_62:
add x10, x28, w8, uxtw
sub w9, w9, #1
add w8, w8, #1024
cmp w23, w9
strb wzr, [x10, #30]
strb wzr, [x10, #960]
strb wzr, [x10, #32]
strb wzr, [x10, #62]
strb wzr, [x10, #96]
strb wzr, [x10, #126]
strb wzr, [x10, #928]
strb wzr, [x10, #958]
strb wzr, [x10, #992]
strb wzr, [x10, #1022]
b.ne .LBB1_62
cmp w23, #1
b.ge .LBB1_20
b .LBB1_22
.LBB1_64:
sub x12, x9, #1
mov x10, xzr
@@ -449,7 +481,7 @@ pvi_wf_get_lut:
b .LBB1_80
.LBB1_83:
cmp x10, x9
b.eq .LBB1_26
b.eq .LBB1_23
.LBB1_84:
sub x9, x9, x10
lsl w10, w10, #10
@@ -457,7 +489,7 @@ pvi_wf_get_lut:
.LBB1_85:
subs x9, x9, #1
add w10, w10, #1024
b.eq .LBB1_26
b.eq .LBB1_23
.LBB1_86:
add x11, x8, w10, sxtw
ldrb w12, [x11, #30]
@@ -1363,6 +1395,11 @@ maxpic:
.asciz "pvi: decodec waveform error, framenum err\n"
.size .L.str.7, 43
.type .L.str.8,@object
.L.str.8:
.asciz "gray2 waveform framenum < 13 frames\n"
.size .L.str.8, 37
.type .Lswitch.table.get_wf_mode_index,@object
.section .rodata,"a",@progbits
.p2align 3

View File

@@ -193,16 +193,16 @@ rkf_wf_get_lut:
str x30, [x18], #8
stp x29, x30, [sp, #-96]!
adrp x8, global_waveform
str x27, [sp, #16]
stp x28, x27, [sp, #16]
stp x26, x25, [sp, #32]
mov x29, sp
stp x24, x23, [sp, #48]
ldr x8, [x8, :lo12:global_waveform]
stp x22, x21, [sp, #64]
stp x20, x19, [sp, #80]
cbz x8, .LBB2_29
cbz x8, .LBB2_30
mov x20, x0
cbz x0, .LBB2_30
cbz x0, .LBB2_31
mov w23, w4
mov w19, w2
mov w21, w1
@@ -235,10 +235,10 @@ rkf_wf_get_lut:
b.ne .LBB2_7
ldr w9, [x26, :lo12:rkf_wf_get_lut.stype]
cmp w9, w21
b.eq .LBB2_38
b.eq .LBB2_35
.LBB2_7:
cmp w21, #10
b.eq .LBB2_37
b.eq .LBB2_34
ldr x0, [x20, #8]
cbz x0, .LBB2_10
bl kfree
@@ -248,10 +248,10 @@ rkf_wf_get_lut:
mov w1, w21
mov w2, w19
bl parse_wf_data
tbnz w0, #31, .LBB2_48
tbnz w0, #31, .LBB2_45
mov w22, w0
ldr x1, [x20, #16]
cbz w21, .LBB2_31
cbz w21, .LBB2_32
adrp x8, maxpic
mov w10, #32
ldrb w9, [x8, :lo12:maxpic]
@@ -356,83 +356,86 @@ rkf_wf_get_lut:
cmp x11, x8
b.ne .LBB2_21
.LBB2_24:
cmp w21, #1
b.eq .LBB2_32
cmp w21, #7
b.ne .LBB2_44
ldr x8, [x20, #16]
cmp w22, #1
b.lt .LBB2_35
mov w10, w22
mov x9, xzr
lsl x10, x10, #10
b.eq .LBB2_26
cmp w21, #1
b.ne .LBB2_41
.LBB2_26:
ldr x23, [x20, #16]
mov w8, #8992
mov w9, #4832
cmp w22, #12
add x27, x23, x8
add x28, x23, x9
b.le .LBB2_66
.LBB2_27:
mov w8, wzr
mov w9, w22
.LBB2_28:
add x11, x8, w9, sxtw
add x9, x9, #1024
cmp x10, x9
ldrb w12, [x11, #960]
strb wzr, [x11, #32]
strb wzr, [x11, #62]
strb wzr, [x11, #96]
strb w12, [x11]
ldrb w12, [x11, #30]
strb wzr, [x11, #126]
strb wzr, [x11, #928]
strb w12, [x11, #990]
strb wzr, [x11, #958]
strb wzr, [x11, #992]
strb wzr, [x11, #1022]
add x10, x23, w8, sxtw
subs x9, x9, #1
add w8, w8, #1024
ldrb w11, [x10, #960]
strb wzr, [x10, #32]
strb wzr, [x10, #62]
strb wzr, [x10, #96]
strb w11, [x10]
ldrb w11, [x10, #30]
strb wzr, [x10, #126]
strb wzr, [x10, #928]
strb w11, [x10, #990]
strb wzr, [x10, #958]
strb wzr, [x10, #992]
strb wzr, [x10, #1022]
b.ne .LBB2_28
b .LBB2_35
.LBB2_29:
mov w0, #-19
b .LBB2_43
mov w8, #1
mov w9, #2
strb w8, [x23, #672]
strb w9, [x23, #702]
strb w8, [x28]
strb w9, [x28, #30]
strb w8, [x27]
strb w9, [x27, #30]
strb w8, [x23, #1696]
strb w9, [x23, #1726]
strb w8, [x28, #1024]
strb w9, [x28, #1054]
strb w8, [x27, #1024]
strb w9, [x27, #1054]
strb w8, [x23, #2720]
strb w9, [x23, #2750]
strb w8, [x28, #2048]
strb w9, [x28, #2078]
strb w8, [x27, #2048]
strb w9, [x27, #2078]
strb w8, [x23, #3744]
strb w9, [x23, #3774]
strb w8, [x28, #3072]
strb w9, [x28, #3102]
strb w8, [x27, #3072]
strb w9, [x27, #3102]
strb w8, [x23, #1918]
strb w9, [x23, #2942]
strb w9, [x23, #3966]
strb w8, [x28, #1246]
strb w9, [x28, #2270]
strb w9, [x28, #3294]
strb w8, [x27, #1246]
strb w9, [x27, #2270]
strb w9, [x27, #3294]
b .LBB2_33
.LBB2_30:
mov w0, #-22
b .LBB2_43
mov w0, #-19
b .LBB2_40
.LBB2_31:
mov w0, #-22
b .LBB2_40
.LBB2_32:
mov x0, x20
mov w2, w22
bl rkf_lut_init_wf_table
b .LBB2_36
.LBB2_32:
ldr x8, [x20, #16]
cmp w22, #1
b.lt .LBB2_35
mov w10, w22
mov x9, xzr
lsl x10, x10, #10
.LBB2_34:
add x11, x8, w9, sxtw
add x9, x9, #1024
cmp x10, x9
ldrb w12, [x11, #960]
strb wzr, [x11, #32]
strb wzr, [x11, #62]
strb wzr, [x11, #96]
strb w12, [x11]
ldrb w12, [x11, #30]
strb wzr, [x11, #126]
strb wzr, [x11, #928]
strb w12, [x11, #990]
strb wzr, [x11, #958]
strb wzr, [x11, #992]
strb wzr, [x11, #1022]
b.ne .LBB2_34
.LBB2_35:
mov w9, #1
mov w10, #2
strb w9, [x8, #928]
strb w10, [x8, #958]
strb w9, [x8, #1952]
strb w10, [x8, #1982]
strb w9, [x8, #2976]
strb w10, [x8, #3006]
strb w10, [x8, #3070]
strb w9, [x8, #4000]
strb w10, [x8, #4030]
strb w10, [x8, #4094]
.LBB2_36:
.LBB2_33:
ldrb w8, [x20, #1]
mov w9, #26215
movk w9, #26214, lsl #16
@@ -444,24 +447,24 @@ rkf_wf_get_lut:
lsr x9, x8, #63
asr x8, x8, #33
add w8, w8, w9
.LBB2_37:
.LBB2_34:
cmp w25, w8
b.ne .LBB2_39
.LBB2_38:
b.ne .LBB2_36
.LBB2_35:
mov w0, wzr
b .LBB2_43
.LBB2_39:
b .LBB2_40
.LBB2_36:
ldr x0, [x20, #8]
cbz x0, .LBB2_41
cbz x0, .LBB2_38
bl kfree
str xzr, [x20, #8]
.LBB2_41:
.LBB2_38:
bl epd_overlay_lut
mov w1, w0
mov x0, x20
mov w2, w19
bl parse_wf_data
tbnz w0, #31, .LBB2_48
tbnz w0, #31, .LBB2_45
mov w21, w0
ldr x1, [x20, #24]
mov x0, x20
@@ -472,55 +475,55 @@ rkf_wf_get_lut:
bfi w8, w21, #8, #24
str w8, [x20]
str w19, [x24, :lo12:rkf_wf_get_lut.sftemp]
.LBB2_43:
.LBB2_40:
ldp x20, x19, [sp, #80]
ldp x22, x21, [sp, #64]
ldp x24, x23, [sp, #48]
ldp x26, x25, [sp, #32]
ldr x27, [sp, #16]
ldp x28, x27, [sp, #16]
ldp x29, x30, [sp], #96
ldr x30, [x18, #-8]!
ret
.LBB2_44:
.LBB2_41:
sub w8, w21, #5
cmp w8, #1
b.hi .LBB2_49
b.hi .LBB2_46
cmp w22, #1
b.lt .LBB2_36
b.lt .LBB2_33
ldr x8, [x20, #16]
mov w9, w22
cmp w22, #1
b.ne .LBB2_55
b.ne .LBB2_52
mov x10, xzr
b .LBB2_67
.LBB2_48:
b .LBB2_64
.LBB2_45:
adrp x0, .L.str.3
add x0, x0, :lo12:.L.str.3
bl _printk
mov w0, #-5
b .LBB2_43
.LBB2_49:
b .LBB2_40
.LBB2_46:
sub w8, w21, #11
cmp w8, #1
b.hi .LBB2_53
b.hi .LBB2_50
cmp w22, #1
b.lt .LBB2_36
b.lt .LBB2_33
ldr x8, [x20, #16]
mov w9, w22
cmp w22, #1
b.ne .LBB2_69
mov x10, xzr
b .LBB2_89
.LBB2_53:
.LBB2_50:
sub w8, w21, #13
cmp w8, #1
b.hi .LBB2_36
b.hi .LBB2_33
ldr x0, [x20, #16]
mov w1, w22
mov w2, w23
bl rkf_wf_normal_fix
b .LBB2_36
.LBB2_55:
b .LBB2_33
.LBB2_52:
sub x12, x9, #1
mov x10, xzr
and x11, x12, #0xffffffff
@@ -529,30 +532,30 @@ rkf_wf_get_lut:
cset w13, ne
cmp xzr, x12, lsr #54
cset w11, ne
tbnz w14, #31, .LBB2_67
tbnz w13, #0, .LBB2_67
tbnz w14, #31, .LBB2_64
tbnz w13, #0, .LBB2_64
lsr x13, x12, #32
cbnz x13, .LBB2_67
cbnz x13, .LBB2_64
add x13, x8, #30
lsl x12, x12, #10
add x14, x13, x12
cmp x14, x13
b.lo .LBB2_67
tbnz w11, #0, .LBB2_67
b.lo .LBB2_64
tbnz w11, #0, .LBB2_64
add x13, x8, #29
add x14, x13, x12
cmp x14, x13
b.lo .LBB2_67
tbnz w11, #0, .LBB2_67
b.lo .LBB2_64
tbnz w11, #0, .LBB2_64
add x13, x8, #31
add x12, x13, x12
cmp x12, x13
b.lo .LBB2_67
tbnz w11, #0, .LBB2_67
b.lo .LBB2_64
tbnz w11, #0, .LBB2_64
and x10, x9, #0xfffffffe
mov w11, #1024
mov x12, x10
.LBB2_65:
.LBB2_62:
sub w13, w11, #1024
add x14, x8, w11, sxtw
subs x12, x12, #2
@@ -564,21 +567,46 @@ rkf_wf_get_lut:
strb w15, [x14, #29]
strb w16, [x13, #31]
strb w16, [x13, #29]
b.ne .LBB2_65
b.ne .LBB2_62
cmp x10, x9
b.eq .LBB2_36
.LBB2_67:
b.eq .LBB2_33
.LBB2_64:
sub x9, x9, x10
lsl w10, w10, #10
.LBB2_68:
.LBB2_65:
add x11, x8, w10, sxtw
subs x9, x9, #1
add w10, w10, #1024
ldrb w12, [x11, #30]
strb w12, [x11, #31]
strb w12, [x11, #29]
b.ne .LBB2_68
b .LBB2_36
b.ne .LBB2_65
b .LBB2_33
.LBB2_66:
adrp x0, .L.str.11
add x0, x0, :lo12:.L.str.11
bl _printk
lsl w8, w22, #10
mov w9, #13
.LBB2_67:
add x10, x23, w8, uxtw
sub w9, w9, #1
add w8, w8, #1024
cmp w22, w9
strb wzr, [x10, #30]
strb wzr, [x10, #960]
strb wzr, [x10, #32]
strb wzr, [x10, #62]
strb wzr, [x10, #96]
strb wzr, [x10, #126]
strb wzr, [x10, #928]
strb wzr, [x10, #958]
strb wzr, [x10, #992]
strb wzr, [x10, #1022]
b.ne .LBB2_67
cmp w22, #1
b.ge .LBB2_27
b .LBB2_29
.LBB2_69:
sub x12, x9, #1
mov x10, xzr
@@ -651,7 +679,7 @@ rkf_wf_get_lut:
b .LBB2_85
.LBB2_88:
cmp x10, x9
b.eq .LBB2_36
b.eq .LBB2_33
.LBB2_89:
sub x9, x9, x10
lsl w10, w10, #10
@@ -659,7 +687,7 @@ rkf_wf_get_lut:
.LBB2_90:
subs x9, x9, #1
add w10, w10, #1024
b.eq .LBB2_36
b.eq .LBB2_33
.LBB2_91:
add x11, x8, w10, sxtw
ldrb w12, [x11, #30]
@@ -1339,6 +1367,11 @@ need_pic:
.type crc32_table,@object
.local crc32_table
.comm crc32_table,1024,4
.type .L.str.11,@object
.L.str.11:
.asciz "gray2 waveform framenum < 13 frames\n"
.size .L.str.11, 37
.type .Lswitch.table.rkf_wf_get_lut,@object
.section .rodata,"a",@progbits
.p2align 2