diff --git a/drivers/media/osd/osd_fb.c b/drivers/media/osd/osd_fb.c index 8546c7abe..b39ef311e 100644 --- a/drivers/media/osd/osd_fb.c +++ b/drivers/media/osd/osd_fb.c @@ -4468,6 +4468,8 @@ static struct device_attribute osd_attrs_viu2[] = { show_fence_count, NULL), __ATTR(game_mode, 0644, show_game_mode, store_game_mode), + __ATTR(force_dim, 0644, + show_force_dimm, store_force_dimm), }; #ifdef CONFIG_PM diff --git a/drivers/media/osd/osd_hw.c b/drivers/media/osd/osd_hw.c index af52b6a6d..57abe549b 100644 --- a/drivers/media/osd/osd_hw.c +++ b/drivers/media/osd/osd_hw.c @@ -13603,6 +13603,12 @@ static void osd_setting_viux(u32 output_index) osd_hw.reg[OSD_ENABLE] .update_func(index); } + /* if osd is disabled, use black dim color */ + if (osd_hw.enable[index] == DISABLE) { + osd_hw.dim_layer[index] = 1; + osd_hw.dim_color[index] = 0; + } + if (!osd_hw.dim_layer[index]) { VSYNCOSD_WR_MPEG_REG(osd_reg->osd_dimm_ctrl, 0x00000000);