From: Alexander Stein <alexander.stein@ew.tq-group.com>
To: dri-devel@lists.freedesktop.org
Cc: Marek Vasut <marex@denx.de>,
Andrzej Hajda <andrzej.hajda@intel.com>,
Daniel Vetter <daniel@ffwll.ch>, David Airlie <airlied@gmail.com>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Jonas Karlman <jonas@kwiboo.se>,
Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
Lucas Stach <l.stach@pengutronix.de>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Robert Foss <rfoss@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
kernel@dh-electronics.com, Marek Vasut <marex@denx.de>
Subject: Re: [PATCH v3 2/6] drm/bridge: tc358767: Use tc_pxl_pll_calc() to correct adjusted_mode clock
Date: Mon, 24 Jun 2024 11:05:08 +0200 [thread overview]
Message-ID: <7681391.EvYhyI6sBW@steina-w> (raw)
In-Reply-To: <20240623143846.12603-2-marex@denx.de>
Am Sonntag, 23. Juni 2024, 16:38:34 CEST schrieb Marek Vasut:
> Use tc_pxl_pll_calc() to find out the exact clock frequency generated by the
> Pixel PLL. Use the Pixel PLL frequency as adjusted_mode clock frequency and
> pass it down the display pipeline to obtain exactly this frequency on input
> into this bridge.
>
> The precise input frequency that matches the Pixel PLL frequency is
> important for this bridge, as if the frequencies do not match, the
> bridge does suffer VFIFO overruns or underruns.
>
> Signed-off-by: Marek Vasut <marex@denx.de>
This changes actually changes the media_disp1_pix clock to match the
configured PLL rate in the bridge. 147333000 instead of 148500000.
Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> ---
> Cc: Andrzej Hajda <andrzej.hajda@intel.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
> Cc: Jonas Karlman <jonas@kwiboo.se>
> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Neil Armstrong <neil.armstrong@linaro.org>
> Cc: Robert Foss <rfoss@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: dri-devel@lists.freedesktop.org
> Cc: kernel@dh-electronics.com
> ---
> V2: - Use mode clock as input into tc_pxl_pll_calc() to avoid
> accumulating rounding error
> V3: No change
> ---
> drivers/gpu/drm/bridge/tc358767.c | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
> index cbb342d811ac3..20be21660ba76 100644
> --- a/drivers/gpu/drm/bridge/tc358767.c
> +++ b/drivers/gpu/drm/bridge/tc358767.c
> @@ -1619,6 +1619,18 @@ static int tc_dpi_atomic_check(struct drm_bridge *bridge,
> struct drm_crtc_state *crtc_state,
> struct drm_connector_state *conn_state)
> {
> + struct tc_data *tc = bridge_to_tc(bridge);
> + int adjusted_clock = 0;
> + int ret;
> +
> + ret = tc_pxl_pll_calc(tc, clk_get_rate(tc->refclk),
> + crtc_state->mode.clock * 1000,
> + &adjusted_clock, NULL);
> + if (ret)
> + return ret;
> +
> + crtc_state->adjusted_mode.clock = adjusted_clock / 1000;
> +
> /* DSI->DPI interface clock limitation: upto 100 MHz */
> if (crtc_state->adjusted_mode.clock > 100000)
> return -EINVAL;
> @@ -1631,6 +1643,18 @@ static int tc_edp_atomic_check(struct drm_bridge *bridge,
> struct drm_crtc_state *crtc_state,
> struct drm_connector_state *conn_state)
> {
> + struct tc_data *tc = bridge_to_tc(bridge);
> + int adjusted_clock = 0;
> + int ret;
> +
> + ret = tc_pxl_pll_calc(tc, clk_get_rate(tc->refclk),
> + crtc_state->mode.clock * 1000,
> + &adjusted_clock, NULL);
> + if (ret)
> + return ret;
> +
> + crtc_state->adjusted_mode.clock = adjusted_clock / 1000;
> +
> /* DPI->(e)DP interface clock limitation: upto 154 MHz */
> if (crtc_state->adjusted_mode.clock > 154000)
> return -EINVAL;
>
--
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/
next prev parent reply other threads:[~2024-06-24 9:05 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-23 14:38 [PATCH v3 1/6] drm/bridge: tc358767: Split tc_pxl_pll_en() into parameter calculation and enablement Marek Vasut
2024-06-23 14:38 ` [PATCH v3 2/6] drm/bridge: tc358767: Use tc_pxl_pll_calc() to correct adjusted_mode clock Marek Vasut
2024-06-24 9:05 ` Alexander Stein [this message]
2024-06-23 14:38 ` [PATCH v3 3/6] drm/bridge: tc358767: Drop line_pixel_subtract Marek Vasut
2024-06-24 9:00 ` Alexander Stein
2024-06-23 14:38 ` [PATCH v3 4/6] drm/bridge: tc358767: Disable MIPI_DSI_CLOCK_NON_CONTINUOUS Marek Vasut
2024-06-24 7:45 ` Alexander Stein
2024-06-24 9:06 ` Alexander Stein
2024-06-24 12:46 ` Marek Vasut
2024-06-23 14:38 ` [PATCH v3 5/6] drm/bridge: tc358767: Set LSCLK divider for SYSCLK to 1 Marek Vasut
2024-06-24 8:43 ` Alexander Stein
2024-06-23 14:38 ` [PATCH v3 6/6] Revert "drm/bridge: tc358767: Set default CLRSIPO count" Marek Vasut
2024-06-24 8:38 ` Alexander Stein
2024-06-24 9:05 ` [PATCH v3 1/6] drm/bridge: tc358767: Split tc_pxl_pll_en() into parameter calculation and enablement Alexander Stein
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7681391.EvYhyI6sBW@steina-w \
--to=alexander.stein@ew.tq-group.com \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=kernel@dh-electronics.com \
--cc=l.stach@pengutronix.de \
--cc=maarten.lankhorst@linux.intel.com \
--cc=marex@denx.de \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=rfoss@kernel.org \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.