osd: fix afbc decoder error caused flicker in display [1/1]

PD#OTT-3000

Problem:
afbc decoder error caused flicker in display.

Solution:
close osd prefetch.

Verify:
Verified with raven

Change-Id: I44356c028b41e251f7a98b5e931b2cbd583b0829
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
This commit is contained in:
Pengcheng Chen
2019-04-16 11:33:04 +08:00
committed by Tao Zeng
parent 81926a9131
commit 91bda20eb4

View File

@@ -5348,8 +5348,10 @@ static void osd_update_enable(u32 index)
notify_to_amvideo(); notify_to_amvideo();
VSYNCOSD_CLR_MPEG_REG_MASK(VPP_MISC, temp_val); VSYNCOSD_CLR_MPEG_REG_MASK(VPP_MISC, temp_val);
} }
VSYNCOSD_CLR_MPEG_REG_MASK( if (!(osd_hw.osd_meson_dev.cpu_id ==
osd_reg->osd_ctrl_stat, 1 << 0); __MESON_CPU_MAJOR_ID_G12B))
VSYNCOSD_CLR_MPEG_REG_MASK(
osd_reg->osd_ctrl_stat, 1 << 0);
} }
if (osd_hw.osd_meson_dev.afbc_type == MESON_AFBC) { if (osd_hw.osd_meson_dev.afbc_type == MESON_AFBC) {
if ((osd_hw.osd_afbcd[index].enable == ENABLE) if ((osd_hw.osd_afbcd[index].enable == ENABLE)
@@ -9198,13 +9200,11 @@ void osd_init_hw(u32 logo_loaded, u32 osd_probe,
osd_reg_set_bits( osd_reg_set_bits(
hw_osd_reg_array[idx].osd_fifo_ctrl_stat, hw_osd_reg_array[idx].osd_fifo_ctrl_stat,
1, 10, 2); 1, 10, 2);
/* TODO: temp set at here, if (osd_hw.osd_meson_dev.cpu_id ==
* need check for logo __MESON_CPU_MAJOR_ID_G12B)
*/ osd_reg_set_bits
if (idx > 0) (hw_osd_reg_array[idx].osd_ctrl_stat,
osd_reg_set_bits( 1, 0, 1);
hw_osd_reg_array[idx].osd_ctrl_stat,
0, 0, 1);
osd_reg_set_bits( osd_reg_set_bits(
hw_osd_reg_array[idx].osd_ctrl_stat, hw_osd_reg_array[idx].osd_ctrl_stat,
0, 31, 1); 0, 31, 1);