diff --git a/drivers/amlogic/media/osd/osd_fb.c b/drivers/amlogic/media/osd/osd_fb.c index 1f60542759e0..68d0e060c9e3 100644 --- a/drivers/amlogic/media/osd/osd_fb.c +++ b/drivers/amlogic/media/osd/osd_fb.c @@ -1488,7 +1488,7 @@ static int osd_open(struct fb_info *info, int arg) /* clear osd buffer if not logo layer */ if (((logo_index < 0) || (logo_index != fb_index)) || (osd_meson_dev.cpu_id == __MESON_CPU_MAJOR_ID_AXG) || - (osd_meson_dev.cpu_id == __MESON_CPU_MAJOR_ID_G12A)) { + (osd_meson_dev.cpu_id >= __MESON_CPU_MAJOR_ID_G12A)) { osd_log_info("set logo loaded\n"); set_logo_loaded(); } diff --git a/drivers/amlogic/media/osd/osd_hw.c b/drivers/amlogic/media/osd/osd_hw.c index 1c34ba385fa1..edbeaaeb7f03 100644 --- a/drivers/amlogic/media/osd/osd_hw.c +++ b/drivers/amlogic/media/osd/osd_hw.c @@ -1635,7 +1635,7 @@ u32 osd_get_afbc(u32 index) if (osd_hw.osd_meson_dev.cpu_id == __MESON_CPU_MAJOR_ID_GXM) afbc_type = 1; - else if (osd_hw.osd_meson_dev.cpu_id == + else if (osd_hw.osd_meson_dev.cpu_id >= __MESON_CPU_MAJOR_ID_G12A) afbc_type = 2; else @@ -7000,6 +7000,7 @@ void osd_init_hw(u32 logo_loaded, u32 osd_probe, /* init vpu fifo control register */ data32 = osd_reg_read(VPP_OFIFO_SIZE); if (osd_hw.osd_meson_dev.osd_ver >= OSD_HIGH_ONE) { + data32 = 0; /* reset value 0xfff0fff */ data32 |= (osd_hw.osd_meson_dev.vpp_fifo_len) << 20; data32 |= osd_hw.osd_meson_dev.vpp_fifo_len + 1; } else