Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/bridge: cdns-dsi: Fix the clock variable for mode_valid()

The crtc_* mode parameters do not get generated (duplicated in this
case) from the regular parameters before the mode validation phase
begins.

The rest of the code conditionally uses the crtc_* parameters only
during the bridge enable phase, but sticks to the regular parameters
for mode validation. In this singular instance, however, the driver
tries to use the crtc_clock parameter even during the mode validation,
causing the validation to fail.

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.

Fixes: fced5a364dee ("drm/bridge: cdns: Convert to phy framework")
Cc: stable@vger.kernel.org
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tested-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
Signed-off-by: Aradhya Bhatia <aradhya.bhatia@linux.dev>
Link: https://lore.kernel.org/r/20250329113925.68204-4-aradhya.bhatia@linux.dev
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>

authored by

Aradhya Bhatia and committed by
Dmitry Baryshkov
132bdcec fd2611c1

+2 -1
+2 -1
drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
··· 568 568 struct phy_configure_opts_mipi_dphy *phy_cfg = &output->phy_opts.mipi_dphy; 569 569 unsigned long dsi_hss_hsa_hse_hbp; 570 570 unsigned int nlanes = output->dev->lanes; 571 + int mode_clock = (mode_valid_check ? mode->clock : mode->crtc_clock); 571 572 int ret; 572 573 573 574 ret = cdns_dsi_mode2cfg(dsi, mode, dsi_cfg, mode_valid_check); 574 575 if (ret) 575 576 return ret; 576 577 577 - phy_mipi_dphy_get_default_config(mode->crtc_clock * 1000, 578 + phy_mipi_dphy_get_default_config(mode_clock * 1000, 578 579 mipi_dsi_pixel_format_to_bpp(output->dev->format), 579 580 nlanes, phy_cfg); 580 581