Re: [PATCH v6 05/12] drm/bridge: cdns-dsi: Fix the clock variable for mode_valid()

From: Dmitry Baryshkov
Date: Mon Jan 13 2025 - 16:20:20 EST


On Mon, Jan 13, 2025 at 09:12:02PM +0530, Aradhya Bhatia wrote:
>
> On 1/13/25 15:10, Dmitry Baryshkov wrote:
> > On Sun, Jan 12, 2025 at 12:57:31AM +0530, Aradhya Bhatia wrote:
> >> From: Aradhya Bhatia <a-bhatia1@xxxxxx>
> >>
> >> Allow the D-Phy config checks to use mode->clock instead of
> >> mode->crtc_clock during mode_valid checks, like everywhere else in the
> >> driver.
> >
> > Please describe why, not what.
>
> It is unclear why the rest of the code uses mode->crtc_* parameters at
> all during the non mode validation phase.
>
> But during that phase, the crtc_* parameters are not generated
> (duplicated in this case) from the regular ones, and so the validation
> fails. The patch prevents that from happening by streamlining with
> other instances.
>
> I will update the commit text with this.

SGTM

>
> Regards
> Aradhya
>
> >
> >>
> >> Fixes: fced5a364dee ("drm/bridge: cdns: Convert to phy framework")
> >> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>
> >> Signed-off-by: Aradhya Bhatia <a-bhatia1@xxxxxx>
> >> Signed-off-by: Aradhya Bhatia <aradhya.bhatia@xxxxxxxxx>
> >> ---
> >> drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 3 ++-
> >> 1 file changed, 2 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
> >> index 3b3c45df1399..9c743fde2861 100644
> >> --- a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
> >> +++ b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
> >> @@ -568,13 +568,14 @@ static int cdns_dsi_check_conf(struct cdns_dsi *dsi,
> >> struct phy_configure_opts_mipi_dphy *phy_cfg = &output->phy_opts.mipi_dphy;
> >> unsigned long dsi_hss_hsa_hse_hbp;
> >> unsigned int nlanes = output->dev->lanes;
> >> + int mode_clock = (mode_valid_check ? mode->clock : mode->crtc_clock);
> >> int ret;
> >>
> >> ret = cdns_dsi_mode2cfg(dsi, mode, dsi_cfg, mode_valid_check);
> >> if (ret)
> >> return ret;
> >>
> >> - phy_mipi_dphy_get_default_config(mode->crtc_clock * 1000,
> >> + phy_mipi_dphy_get_default_config(mode_clock * 1000,
> >> mipi_dsi_pixel_format_to_bpp(output->dev->format),
> >> nlanes, phy_cfg);
> >>
> >> --
> >> 2.34.1
> >>
> >

--
With best wishes
Dmitry