[PATCH] drm: lcdif: Use adjusted_mode .clock instead of .crtc_clock
Alexander Stein
alexander.stein at ew.tq-group.com
Mon Jun 24 02:19:33 PDT 2024
Am Freitag, 31. Mai 2024, 22:27:21 CEST schrieb Marek Vasut:
> In case an upstream bridge modified the required clock frequency
> in its .atomic_check callback by setting adjusted_mode.clock ,
> make sure that clock frequency is generated by the LCDIFv3 block.
>
> This is useful e.g. when LCDIFv3 feeds DSIM which feeds TC358767
> with (e)DP output, where the TC358767 expects precise timing on
> its input side, the precise timing must be generated by the LCDIF.
>
> Signed-off-by: Marek Vasut <marex at denx.de>
With the other rc358767 patches in place, this does the trick.
Reviewed-by: Alexander Stein <alexander.stein at ew.tq-group.com>
> ---
> Cc: Daniel Vetter <daniel at ffwll.ch>
> Cc: David Airlie <airlied at gmail.com>
> Cc: Fabio Estevam <festevam at gmail.com>
> Cc: Lucas Stach <l.stach at pengutronix.de>
> Cc: Lukas F. Hartmann <lukas at mntmn.com>
> Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Cc: Maxime Ripard <mripard at kernel.org>
> Cc: Pengutronix Kernel Team <kernel at pengutronix.de>
> Cc: Sascha Hauer <s.hauer at pengutronix.de>
> Cc: Shawn Guo <shawnguo at kernel.org>
> Cc: Stefan Agner <stefan at agner.ch>
> Cc: Thomas Zimmermann <tzimmermann at suse.de>
> Cc: dri-devel at lists.freedesktop.org
> Cc: imx at lists.linux.dev
> Cc: kernel at dh-electronics.com
> Cc: linux-arm-kernel at lists.infradead.org
> ---
> drivers/gpu/drm/mxsfb/lcdif_kms.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/mxsfb/lcdif_kms.c b/drivers/gpu/drm/mxsfb/lcdif_kms.c
> index 2541d2de4e45f..dbd42cc1da87f 100644
> --- a/drivers/gpu/drm/mxsfb/lcdif_kms.c
> +++ b/drivers/gpu/drm/mxsfb/lcdif_kms.c
> @@ -407,8 +407,7 @@ static void lcdif_crtc_mode_set_nofb(struct drm_crtc_state *crtc_state,
> struct drm_display_mode *m = &crtc_state->adjusted_mode;
>
> DRM_DEV_DEBUG_DRIVER(drm->dev, "Pixel clock: %dkHz (actual: %dkHz)\n",
> - m->crtc_clock,
> - (int)(clk_get_rate(lcdif->clk) / 1000));
> + m->clock, (int)(clk_get_rate(lcdif->clk) / 1000));
> DRM_DEV_DEBUG_DRIVER(drm->dev, "Bridge bus_flags: 0x%08X\n",
> lcdif_crtc_state->bus_flags);
> DRM_DEV_DEBUG_DRIVER(drm->dev, "Mode flags: 0x%08X\n", m->flags);
> @@ -538,7 +537,7 @@ static void lcdif_crtc_atomic_enable(struct drm_crtc *crtc,
> struct drm_device *drm = lcdif->drm;
> dma_addr_t paddr;
>
> - clk_set_rate(lcdif->clk, m->crtc_clock * 1000);
> + clk_set_rate(lcdif->clk, m->clock * 1000);
>
> pm_runtime_get_sync(drm->dev);
>
>
--
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/
More information about the linux-arm-kernel
mailing list