drm/rockchip: ebc_dev: release version v8.07

improve fast mode
improve do osd clear
improve balance control
extern gray2 last repair waveform
extern overlay enable

Change-Id: I45f08eb3cc679858bda86a5345fed52822cc2978
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
This commit is contained in:
Zorro Liu
2025-08-05 12:00:56 +08:00
parent ef9566680c
commit 7a3b662367
7 changed files with 2855 additions and 2899 deletions

View File

@@ -145,4 +145,6 @@ enum ebc_debug_level {
};
int ebc_get_init_log_level(void);
int ebc_overlay_enable_control(void);
int ebc_overlay_enable_timeout_ms(void);
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -39,3 +39,14 @@ int ebc_get_init_log_level(void)
{
return DEBUG_LEVEL_0;
}
int ebc_overlay_enable_control(void)
{
return 0; //overlay enable/disable control by driver
}
int ebc_overlay_enable_timeout_ms(void)
{
return 100; //100ms
}

View File

@@ -96,3 +96,21 @@ int epd_overlay_lut(void)
{
return WF_TYPE_GRAY2;
}
void epd_gray2_last_repair(u8 *wf_table)
{
int f;
u8 *table;
for (f = 0; f < REPAIR_NUM_MAX; f += FRAME_STEP) {
table = wf_table + (f << 10);
table[(0xe8 << 2) + (0x00 >> 3)] = 1;
table[(0xe8 << 2) + (0xf0 >> 3)] = 2;
}
for (f = 0; f < REPAIR_NUM_MAX; f += 2 * FRAME_STEP) {
table = wf_table + (f << 10);
table[(0xf8 << 2) + (0xf0 >> 3)] = 2;
table[(0xf8 << 2) + (0x00 >> 3)] = 1;
}
}

View File

@@ -59,6 +59,7 @@ int epd_lut_get_original(struct epd_lut_data *output, enum epd_lut_type lut_type
//you can change overlay lut mode here
int epd_overlay_lut(void);
void epd_gray2_last_repair(u8 *wf_table);
/*
* PVI Waveform Interfaces

View File

@@ -156,87 +156,48 @@ pvi_wf_get_lut:
cmp w22, #1
b.ne .LBB1_28
.LBB1_20:
ldr x8, [x25, :lo12:waveformdata]
mov w10, #52128
mov w12, #41888
mov w9, #62368
mov w14, #31648
mov w15, #11168
add x11, x8, #17, lsl #12
add x13, x8, x10
add x10, x8, x12
mov w12, #21408
mov x16, xzr
add x9, x8, x9
add x11, x11, #2976
add x14, x8, x14
add x12, x8, x12
add x15, x8, x15
mov w17, w23
mov x0, x8
ldr x0, [x25, :lo12:waveformdata]
mov x9, xzr
mov w8, w23
mov x10, x0
b .LBB1_22
.LBB1_21:
add x16, x16, #1
add x0, x0, #1024
cmp x16, #72
add x9, x9, #1
add x10, x10, #1024
cmp x9, #72
b.eq .LBB1_24
.LBB1_22:
cmp x16, x17
strb wzr, [x0, #32]
strb wzr, [x0, #62]
strb wzr, [x0, #96]
strb wzr, [x0, #126]
strb wzr, [x0, #928]
strb wzr, [x0, #958]
strb wzr, [x0, #992]
strb wzr, [x0, #1022]
strb wzr, [x0]
strb wzr, [x0, #990]
cmp x9, x8
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]
strb wzr, [x10]
strb wzr, [x10, #990]
b.lo .LBB1_21
strb wzr, [x0, #30]
strb wzr, [x0, #960]
strb wzr, [x10, #30]
strb wzr, [x10, #960]
b .LBB1_21
.LBB1_24:
cmp w23, #1
b.lt .LBB1_27
mov x16, xzr
lsl x17, x17, #10
mov x9, xzr
lsl x8, x8, #10
.LBB1_26:
add x0, x8, w16, sxtw
add x16, x16, #1024
cmp x17, x16
ldrb w1, [x0, #960]
ldrb w2, [x0, #30]
strb w1, [x0]
strb w2, [x0, #990]
add x10, x0, w9, sxtw
add x9, x9, #1024
cmp x8, x9
ldrb w11, [x10, #960]
ldrb w12, [x10, #30]
strb w11, [x10]
strb w12, [x10, #990]
b.ne .LBB1_26
.LBB1_27:
mov w16, #1
mov w17, #2
strb w16, [x8, #928]
strb w17, [x8, #958]
strb w16, [x15]
strb w17, [x15, #30]
strb w16, [x12]
strb w17, [x12, #30]
strb w16, [x14]
strb w17, [x14, #30]
strb w16, [x10]
strb w17, [x10, #30]
strb w16, [x13]
strb w17, [x13, #30]
strb w16, [x9]
strb w17, [x9, #30]
strb w16, [x11]
strb w17, [x11, #30]
strb w17, [x8, #1022]
strb w16, [x8, #992]
strb w17, [x12, #94]
strb w16, [x12, #64]
strb w17, [x10, #94]
strb w16, [x10, #64]
strb w17, [x9, #94]
strb w16, [x9, #64]
bl epd_gray2_last_repair
b .LBB1_56
.LBB1_28:
sub w8, w22, #13

View File

@@ -351,88 +351,49 @@ rkf_wf_get_lut:
cmp w21, #1
b.ne .LBB3_28
.LBB3_20:
ldr x8, [x20, #16]
mov w10, #52128
mov w12, #41888
mov w9, #62368
mov w14, #31648
mov w15, #11168
add x11, x8, #17, lsl #12
add x13, x8, x10
add x10, x8, x12
mov w12, #21408
mov x16, xzr
add x9, x8, x9
add x11, x11, #2976
add x14, x8, x14
add x12, x8, x12
add x15, x8, x15
sxtw x17, w25
mov x0, x8
ldr x0, [x20, #16]
mov x8, xzr
sxtw x9, w25
mov x10, x0
b .LBB3_22
.LBB3_21:
add x16, x16, #1
add x0, x0, #1024
cmp x16, #72
add x8, x8, #1
add x10, x10, #1024
cmp x8, #72
b.eq .LBB3_24
.LBB3_22:
cmp x16, x17
strb wzr, [x0, #32]
strb wzr, [x0, #62]
strb wzr, [x0, #96]
strb wzr, [x0, #126]
strb wzr, [x0, #928]
strb wzr, [x0, #958]
strb wzr, [x0, #992]
strb wzr, [x0, #1022]
strb wzr, [x0]
strb wzr, [x0, #990]
cmp x8, x9
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]
strb wzr, [x10]
strb wzr, [x10, #990]
b.lt .LBB3_21
strb wzr, [x0, #30]
strb wzr, [x0, #960]
strb wzr, [x10, #30]
strb wzr, [x10, #960]
b .LBB3_21
.LBB3_24:
cmp w25, #1
b.lt .LBB3_27
mov w17, w25
mov x16, xzr
lsl x17, x17, #10
mov w9, w25
mov x8, xzr
lsl x9, x9, #10
.LBB3_26:
add x0, x8, w16, sxtw
add x16, x16, #1024
cmp x17, x16
ldrb w1, [x0, #960]
ldrb w2, [x0, #30]
strb w1, [x0]
strb w2, [x0, #990]
add x10, x0, w8, sxtw
add x8, x8, #1024
cmp x9, x8
ldrb w11, [x10, #960]
ldrb w12, [x10, #30]
strb w11, [x10]
strb w12, [x10, #990]
b.ne .LBB3_26
.LBB3_27:
mov w16, #1
mov w17, #2
strb w16, [x8, #928]
strb w17, [x8, #958]
strb w16, [x15]
strb w17, [x15, #30]
strb w16, [x12]
strb w17, [x12, #30]
strb w16, [x14]
strb w17, [x14, #30]
strb w16, [x10]
strb w17, [x10, #30]
strb w16, [x13]
strb w17, [x13, #30]
strb w16, [x9]
strb w17, [x9, #30]
strb w16, [x11]
strb w17, [x11, #30]
strb w17, [x8, #1022]
strb w16, [x8, #992]
strb w17, [x12, #94]
strb w16, [x12, #64]
strb w17, [x10, #94]
strb w16, [x10, #64]
strb w17, [x9, #94]
strb w16, [x9, #64]
bl epd_gray2_last_repair
b .LBB3_56
.LBB3_28:
sub w8, w21, #13