On Sat, 27 Jan 2024 at 02:48, Paloma Arellano <quic_parellan@xxxxxxxxxxx> wrote: > > > On 1/25/2024 1:20 PM, Dmitry Baryshkov wrote: > > On 25/01/2024 21:38, Paloma Arellano wrote: > >> Wide bus is not supported when the mode is YUV420 in DP. In preparation > >> for changing the DPU programming to reflect this, the value and > >> assignment location of wide_bus_en for the DP submodules must be > >> changed. Move it from boot time in dp_init_sub_modules() to run time in > >> dp_display_mode_set. > >> > >> Signed-off-by: Paloma Arellano <quic_parellan@xxxxxxxxxxx> > >> --- > >> drivers/gpu/drm/msm/dp/dp_display.c | 17 +++++++++++++---- > >> drivers/gpu/drm/msm/dp/dp_panel.h | 1 + > >> 2 files changed, 14 insertions(+), 4 deletions(-) > >> > >> diff --git a/drivers/gpu/drm/msm/dp/dp_display.c > >> b/drivers/gpu/drm/msm/dp/dp_display.c > >> index 9df2a8b21021e..ddac55f45a722 100644 > >> --- a/drivers/gpu/drm/msm/dp/dp_display.c > >> +++ b/drivers/gpu/drm/msm/dp/dp_display.c > >> @@ -784,10 +784,6 @@ static int dp_init_sub_modules(struct > >> dp_display_private *dp) > >> goto error_ctrl; > >> } > >> - /* populate wide_bus_supported to different layers */ > >> - dp->ctrl->wide_bus_en = dp->wide_bus_supported; > >> - dp->catalog->wide_bus_en = dp->wide_bus_supported; > >> - > >> return rc; > >> error_ctrl: > >> @@ -808,6 +804,7 @@ static int dp_display_set_mode(struct msm_dp > >> *dp_display, > >> drm_mode_copy(&dp->panel->dp_mode.drm_mode, &mode->drm_mode); > >> dp->panel->dp_mode.bpp = mode->bpp; > >> dp->panel->dp_mode.capabilities = mode->capabilities; > >> + dp->panel->dp_mode.out_fmt_is_yuv_420 = mode->out_fmt_is_yuv_420; > > > > Why do we need it in dp_panel too? > Not sure if you saw in the other later patches, but I use the > out_fmt_is_yuv_420 derived from dp_panel throughout dp_ctrl.c and dp_panel.c Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > > > >> dp_panel_init_panel_info(dp->panel); > >> return 0; > >> } -- With best wishes Dmitry