From: Marek Vasut <marex@denx.de>
To: Liu Ying <victor.liu@nxp.com>, dri-devel@lists.freedesktop.org
Cc: Abel Vesa <abelvesa@kernel.org>,
Andrzej Hajda <andrzej.hajda@intel.com>,
David Airlie <airlied@gmail.com>,
Fabio Estevam <festevam@gmail.com>,
Isaac Scott <isaac.scott@ideasonboard.com>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Jonas Karlman <jonas@kwiboo.se>,
Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Peng Fan <peng.fan@nxp.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Robert Foss <rfoss@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Shawn Guo <shawnguo@kernel.org>, Simona Vetter <simona@ffwll.ch>,
Stephen Boyd <sboyd@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
imx@lists.linux.dev, kernel@dh-electronics.com,
linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org
Subject: Re: [PATCH 2/2] drm: bridge: ldb: Configure LDB clock in .mode_set
Date: Fri, 11 Oct 2024 03:59:30 +0200 [thread overview]
Message-ID: <0e47b529-59f2-4d25-8c5d-30ca1dc4e964@denx.de> (raw)
In-Reply-To: <d6a34efa-47ad-439b-8b0c-a427cf087cb3@nxp.com>
On 10/10/24 9:15 AM, Liu Ying wrote:
> On 10/09/2024, Marek Vasut wrote:
>> The LDB serializer clock operate at either x7 or x14 rate of the input
>
> Isn't it either x7 or 3.5x?
Is it 3.5 for the dual-link LVDS ?
I don't have such a panel right now to test.
[...]
>> diff --git a/drivers/gpu/drm/bridge/fsl-ldb.c b/drivers/gpu/drm/bridge/fsl-ldb.c
>> index 0e4bac7dd04ff..a3a31467fcc85 100644
>> --- a/drivers/gpu/drm/bridge/fsl-ldb.c
>> +++ b/drivers/gpu/drm/bridge/fsl-ldb.c
>> @@ -278,6 +278,16 @@ fsl_ldb_mode_valid(struct drm_bridge *bridge,
>> return MODE_OK;
>> }
>>
>> +static void fsl_ldb_mode_set(struct drm_bridge *bridge,
>> + const struct drm_display_mode *mode,
>> + const struct drm_display_mode *adj)
>> +{
>> + struct fsl_ldb *fsl_ldb = to_fsl_ldb(bridge);
>> + unsigned long requested_link_freq = fsl_ldb_link_frequency(fsl_ldb, mode->clock);
>> +
>> + clk_set_rate(fsl_ldb->clk, requested_link_freq);
>
> The mode_set callback won't be called when only crtc_state->active
> is changed from false to true in an atomic commit, e.g., blanking
> the emulated fbdev first and then unblanking it. So, in this case,
> the clk_set_rate() in fsl_ldb_atomic_enable() is still called after
> those from mxsfb_kms or lcdif_kms.
>
> Also, it doesn't look neat to call clk_set_rate() from both mode_set
> callback and atomic_enable callback.
I agree the mode_set callback is not the best place for this.
Do you know of a better callback where to do this ? I couldn't find one.
> The idea is to assign a reasonable PLL clock rate in DT to make
> display drivers' life easier, especially for i.MX8MP where LDB,
> Samsung MIPI DSI may use a single PLL at the same time.
I would really like to avoid setting arbitrary clock in DT, esp. if it
can be avoided. And it surely can be avoided for this simple use case.
next prev parent reply other threads:[~2024-10-11 3:39 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-08 22:38 [PATCH 1/2] clk: imx: clk-imx8mp: Allow LDB serializer clock reconfigure parent rate Marek Vasut
2024-10-08 22:38 ` [PATCH 2/2] drm: bridge: ldb: Configure LDB clock in .mode_set Marek Vasut
2024-10-09 10:27 ` Isaac Scott
2024-10-09 15:41 ` Marek Vasut
2024-10-10 7:15 ` Liu Ying
2024-10-11 1:59 ` Marek Vasut [this message]
2024-10-11 6:49 ` Liu Ying
2024-10-12 21:12 ` Marek Vasut
2024-10-22 5:59 ` Liu Ying
2024-10-23 0:55 ` Marek Vasut
2024-10-23 5:03 ` Liu Ying
2024-10-09 11:40 ` [PATCH 1/2] clk: imx: clk-imx8mp: Allow LDB serializer clock reconfigure parent rate Abel Vesa
2024-10-09 15:43 ` Marek Vasut
2024-10-10 5:22 ` Liu Ying
2024-10-11 1:55 ` Marek Vasut
2024-10-11 6:18 ` Liu Ying
2024-10-12 21:07 ` Marek Vasut
2024-10-22 6:13 ` Liu Ying
2024-10-22 7:50 ` Maxime Ripard
2024-10-31 2:35 ` Liu Ying
2024-11-18 15:46 ` Maxime Ripard
2024-11-19 2:09 ` Liu Ying
2024-10-23 0:50 ` Marek Vasut
2024-10-23 5:25 ` Liu Ying
2024-11-21 2:47 ` Marek Vasut
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=0e47b529-59f2-4d25-8c5d-30ca1dc4e964@denx.de \
--to=marex@denx.de \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=abelvesa@kernel.org \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=isaac.scott@ideasonboard.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=kernel@dh-electronics.com \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=mturquette@baylibre.com \
--cc=neil.armstrong@linaro.org \
--cc=peng.fan@nxp.com \
--cc=rfoss@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=sboyd@kernel.org \
--cc=shawnguo@kernel.org \
--cc=simona@ffwll.ch \
--cc=tzimmermann@suse.de \
--cc=victor.liu@nxp.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox