All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Stein <alexander.stein@ew.tq-group.com>
To: Adam Ford <aford173@gmail.com>
Cc: marex@denx.de, Neil Armstrong <neil.armstrong@linaro.org>,
	Robert Foss <rfoss@kernel.org>, Jonas Karlman <jonas@kwiboo.se>,
	aford@beaconembedded.com, dri-devel@lists.freedesktop.org,
	linux-kernel@vger.kernel.org,
	Jagan Teki <jagan@amarulasolutions.com>,
	Jernej Skrabec <jernej.skrabec@gmail.com>,
	Andrzej Hajda <andrzej.hajda@intel.com>,
	Chen-Yu Tsai <wenst@chromium.org>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Subject: Re: [PATCH V3 3/7] drm: bridge: samsung-dsim: Fetch pll-clock-frequency automatically
Date: Thu, 04 May 2023 15:18:07 +0200	[thread overview]
Message-ID: <1856543.CQOukoFCf9@steina-w> (raw)
In-Reply-To: <CAHCN7x+Me-wbUNNyN9fJwg3KETE+0S2MfPOsAb=-CSuSUvZvPg@mail.gmail.com>

Am Donnerstag, 4. Mai 2023, 14:57:01 CEST schrieb Adam Ford:
> On Thu, May 4, 2023 at 7:40 AM Alexander Stein
> 
> <alexander.stein@ew.tq-group.com> wrote:
> > Hi Adam,
> > 
> > Am Donnerstag, 4. Mai 2023, 14:00:08 CEST schrieb Adam Ford:
> > > On Thu, May 4, 2023 at 4:21 AM Alexander Stein
> > > 
> > > <alexander.stein@ew.tq-group.com> wrote:
> > > > Am Dienstag, 2. Mai 2023, 03:07:55 CEST schrieb Adam Ford:
> > > > > Make the pll-clock-frequency optional.  If it's present, use it
> > > > > to maintain backwards compatibility with existing hardware.  If it
> > > > > is absent, read clock rate of "sclk_mipi" to determine the rate.
> > > > > 
> > > > > Signed-off-by: Adam Ford <aford173@gmail.com>
> > > > > Tested-by: Chen-Yu Tsai <wenst@chromium.org>
> > > > > ---
> > > > > 
> > > > >  drivers/gpu/drm/bridge/samsung-dsim.c | 12 ++++++++++--
> > > > >  1 file changed, 10 insertions(+), 2 deletions(-)
> > > > > 
> > > > > diff --git a/drivers/gpu/drm/bridge/samsung-dsim.c
> > > > > b/drivers/gpu/drm/bridge/samsung-dsim.c index
> > > > > bf4b33d2de76..2dc02a9e37c0
> > > > > 100644
> > > > > --- a/drivers/gpu/drm/bridge/samsung-dsim.c
> > > > > +++ b/drivers/gpu/drm/bridge/samsung-dsim.c
> > > > > @@ -1726,12 +1726,20 @@ static int samsung_dsim_parse_dt(struct
> > > > > samsung_dsim *dsi) {
> > > > > 
> > > > >       struct device *dev = dsi->dev;
> > > > >       struct device_node *node = dev->of_node;
> > > > > 
> > > > > +     struct clk *pll_clk;
> > > > > 
> > > > >       int ret;
> > > > >       
> > > > >       ret = samsung_dsim_of_read_u32(node,
> > > > >       "samsung,pll-clock-frequency",
> > > > >       
> > > > >                                      &dsi->pll_clk_rate);
> > > > > 
> > > > > -     if (ret < 0)
> > > > > -             return ret;
> > > > > +
> > > > > +     /* If it doesn't exist, read it from the clock instead of
> > > > > failing
> > > > > */
> > > > > +     if (ret < 0) {
> > > > > +             pll_clk = devm_clk_get(dev, "sclk_mipi");
> > > > > +             if (!IS_ERR(pll_clk))
> > > > > +                     dsi->pll_clk_rate = clk_get_rate(pll_clk);
> > > > > +             else
> > > > > +                     return PTR_ERR(pll_clk);
> > > > > +     }
> > > > 
> > > > Now that 'samsung,pll-clock-frequency' is optional the error in
> > > > samsung_dsim_of_read_u32() should be changed. Otherwise you will get
> > > > 
> > > > > /soc@0/bus@32c00000/dsi@32e10000: failed to get 'samsung,pll-clock-
> > > > 
> > > > frequency' property
> > > 
> > > I'll change the message from err to info with a message that reads "no
> > > samsung,pll-clock-frequency, using pixel clock"
> > > 
> > > Does that work?
> > 
> > Having just a info is totally fine with me. Thanks.
> > Although your suggested message somehow implies (to me) using pixel clock
> > is just a fallback. I'm a bit concerned some might think
> > "samsung,pll-clock- frequency" should be provided in DT. But this might
> > just be me.
> 
> Oops, I got the PLL and burst burst clock confused.  I think both
> burst-clock and pll clock messages should get updates.
> 
> The pll clock should say something like "samsung,pll-clock-frequency
> not defined, using sclk_mipi"
> 
> The imx8m n/m/p have the sclk_mipi defined in the device tree, and
> this patch allows them to not have
> to manually set the pll clock since it can be read.  This allows to
> people to change the frequency of the PLL in
> in one place and let the driver read it instead of having to set the
> value in two places for the same clock.

That's why I would like to make it sound less error-like.
How about "Using sclk_mipi for pll clock frequency"?

> For the burst clock, I'd like to propose
> "samsung,burst-clock-frequency not defined, using pixel clock"

Similar to above how about "Using pixel clock for burst clock frequency"?

> Does that work for you?

But I'm okay with both ways. Up to you.

Thanks and best regards,
Alexander


> > frequency
> > 
> > 
> > Best regards,
> > Alexander
> > 
> > > adam
> > > 
> > > > Best regards,
> > > > Alexander
> > > > 
> > > > >       ret = samsung_dsim_of_read_u32(node, "samsung,burst-clock-
> > > > 
> > > > frequency",
> > > > 
> > > > >                                      &dsi->burst_clk_rate);
> > > > 
> > > > --
> > > > 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/
> > 
> > --
> > 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/


-- 
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/



WARNING: multiple messages have this Message-ID (diff)
From: Alexander Stein <alexander.stein@ew.tq-group.com>
To: Adam Ford <aford173@gmail.com>
Cc: dri-devel@lists.freedesktop.org, marex@denx.de,
	Neil Armstrong <neil.armstrong@linaro.org>,
	Robert Foss <rfoss@kernel.org>, Jonas Karlman <jonas@kwiboo.se>,
	aford@beaconembedded.com,
	Jernej Skrabec <jernej.skrabec@gmail.com>,
	linux-kernel@vger.kernel.org,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	Andrzej Hajda <andrzej.hajda@intel.com>,
	Chen-Yu Tsai <wenst@chromium.org>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Jagan Teki <jagan@amarulasolutions.com>
Subject: Re: [PATCH V3 3/7] drm: bridge: samsung-dsim: Fetch pll-clock-frequency automatically
Date: Thu, 04 May 2023 15:18:07 +0200	[thread overview]
Message-ID: <1856543.CQOukoFCf9@steina-w> (raw)
In-Reply-To: <CAHCN7x+Me-wbUNNyN9fJwg3KETE+0S2MfPOsAb=-CSuSUvZvPg@mail.gmail.com>

Am Donnerstag, 4. Mai 2023, 14:57:01 CEST schrieb Adam Ford:
> On Thu, May 4, 2023 at 7:40 AM Alexander Stein
> 
> <alexander.stein@ew.tq-group.com> wrote:
> > Hi Adam,
> > 
> > Am Donnerstag, 4. Mai 2023, 14:00:08 CEST schrieb Adam Ford:
> > > On Thu, May 4, 2023 at 4:21 AM Alexander Stein
> > > 
> > > <alexander.stein@ew.tq-group.com> wrote:
> > > > Am Dienstag, 2. Mai 2023, 03:07:55 CEST schrieb Adam Ford:
> > > > > Make the pll-clock-frequency optional.  If it's present, use it
> > > > > to maintain backwards compatibility with existing hardware.  If it
> > > > > is absent, read clock rate of "sclk_mipi" to determine the rate.
> > > > > 
> > > > > Signed-off-by: Adam Ford <aford173@gmail.com>
> > > > > Tested-by: Chen-Yu Tsai <wenst@chromium.org>
> > > > > ---
> > > > > 
> > > > >  drivers/gpu/drm/bridge/samsung-dsim.c | 12 ++++++++++--
> > > > >  1 file changed, 10 insertions(+), 2 deletions(-)
> > > > > 
> > > > > diff --git a/drivers/gpu/drm/bridge/samsung-dsim.c
> > > > > b/drivers/gpu/drm/bridge/samsung-dsim.c index
> > > > > bf4b33d2de76..2dc02a9e37c0
> > > > > 100644
> > > > > --- a/drivers/gpu/drm/bridge/samsung-dsim.c
> > > > > +++ b/drivers/gpu/drm/bridge/samsung-dsim.c
> > > > > @@ -1726,12 +1726,20 @@ static int samsung_dsim_parse_dt(struct
> > > > > samsung_dsim *dsi) {
> > > > > 
> > > > >       struct device *dev = dsi->dev;
> > > > >       struct device_node *node = dev->of_node;
> > > > > 
> > > > > +     struct clk *pll_clk;
> > > > > 
> > > > >       int ret;
> > > > >       
> > > > >       ret = samsung_dsim_of_read_u32(node,
> > > > >       "samsung,pll-clock-frequency",
> > > > >       
> > > > >                                      &dsi->pll_clk_rate);
> > > > > 
> > > > > -     if (ret < 0)
> > > > > -             return ret;
> > > > > +
> > > > > +     /* If it doesn't exist, read it from the clock instead of
> > > > > failing
> > > > > */
> > > > > +     if (ret < 0) {
> > > > > +             pll_clk = devm_clk_get(dev, "sclk_mipi");
> > > > > +             if (!IS_ERR(pll_clk))
> > > > > +                     dsi->pll_clk_rate = clk_get_rate(pll_clk);
> > > > > +             else
> > > > > +                     return PTR_ERR(pll_clk);
> > > > > +     }
> > > > 
> > > > Now that 'samsung,pll-clock-frequency' is optional the error in
> > > > samsung_dsim_of_read_u32() should be changed. Otherwise you will get
> > > > 
> > > > > /soc@0/bus@32c00000/dsi@32e10000: failed to get 'samsung,pll-clock-
> > > > 
> > > > frequency' property
> > > 
> > > I'll change the message from err to info with a message that reads "no
> > > samsung,pll-clock-frequency, using pixel clock"
> > > 
> > > Does that work?
> > 
> > Having just a info is totally fine with me. Thanks.
> > Although your suggested message somehow implies (to me) using pixel clock
> > is just a fallback. I'm a bit concerned some might think
> > "samsung,pll-clock- frequency" should be provided in DT. But this might
> > just be me.
> 
> Oops, I got the PLL and burst burst clock confused.  I think both
> burst-clock and pll clock messages should get updates.
> 
> The pll clock should say something like "samsung,pll-clock-frequency
> not defined, using sclk_mipi"
> 
> The imx8m n/m/p have the sclk_mipi defined in the device tree, and
> this patch allows them to not have
> to manually set the pll clock since it can be read.  This allows to
> people to change the frequency of the PLL in
> in one place and let the driver read it instead of having to set the
> value in two places for the same clock.

That's why I would like to make it sound less error-like.
How about "Using sclk_mipi for pll clock frequency"?

> For the burst clock, I'd like to propose
> "samsung,burst-clock-frequency not defined, using pixel clock"

Similar to above how about "Using pixel clock for burst clock frequency"?

> Does that work for you?

But I'm okay with both ways. Up to you.

Thanks and best regards,
Alexander


> > frequency
> > 
> > 
> > Best regards,
> > Alexander
> > 
> > > adam
> > > 
> > > > Best regards,
> > > > Alexander
> > > > 
> > > > >       ret = samsung_dsim_of_read_u32(node, "samsung,burst-clock-
> > > > 
> > > > frequency",
> > > > 
> > > > >                                      &dsi->burst_clk_rate);
> > > > 
> > > > --
> > > > 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/
> > 
> > --
> > 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/


-- 
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/



  reply	other threads:[~2023-05-04 13:18 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20230502010811eucas1p1df7fcdcb3e3d363d39eb711f19618628@eucas1p1.samsung.com>
2023-05-02  1:07 ` [PATCH V3 0/7] drm: bridge: samsung-dsim: Support variable clocking Adam Ford
2023-05-02  1:07   ` Adam Ford
2023-05-02  1:07   ` [PATCH V3 1/7] drm: bridge: samsung-dsim: fix blanking packet size calculation Adam Ford
2023-05-02  1:07     ` Adam Ford
2023-05-03 15:17     ` Frieder Schrempf
2023-05-03 15:17       ` Frieder Schrempf
2023-05-02  1:07   ` [PATCH V3 2/7] drm: bridge: samsung-dsim: Fix PMS Calculator on imx8m[mnp] Adam Ford
2023-05-02  1:07     ` Adam Ford
2023-05-03 15:18     ` Frieder Schrempf
2023-05-03 15:18       ` Frieder Schrempf
2023-05-02  1:07   ` [PATCH V3 3/7] drm: bridge: samsung-dsim: Fetch pll-clock-frequency automatically Adam Ford
2023-05-02  1:07     ` Adam Ford
2023-05-03 15:20     ` Frieder Schrempf
2023-05-03 15:20       ` Frieder Schrempf
2023-05-04  9:21     ` Alexander Stein
2023-05-04  9:21       ` Alexander Stein
2023-05-04 12:00       ` Adam Ford
2023-05-04 12:00         ` Adam Ford
2023-05-04 12:40         ` Alexander Stein
2023-05-04 12:40           ` Alexander Stein
2023-05-04 12:57           ` Adam Ford
2023-05-04 12:57             ` Adam Ford
2023-05-04 13:18             ` Alexander Stein [this message]
2023-05-04 13:18               ` Alexander Stein
2023-05-04 13:30               ` Adam Ford
2023-05-04 13:30                 ` Adam Ford
2023-05-02  1:07   ` [PATCH V3 4/7] drm: bridge: samsung-dsim: Select GENERIC_PHY_MIPI_DPHY Adam Ford
2023-05-02  1:07     ` Adam Ford
2023-05-03 15:21     ` Frieder Schrempf
2023-05-03 15:21       ` Frieder Schrempf
2023-05-02  1:07   ` [PATCH V3 5/7] drm: bridge: samsung-dsim: Dynamically configure DPHY timing Adam Ford
2023-05-02  1:07     ` Adam Ford
2023-05-03 15:39     ` Frieder Schrempf
2023-05-03 15:39       ` Frieder Schrempf
2023-05-05  7:33     ` Michael Walle
2023-05-05  7:33       ` Michael Walle
2023-05-02  1:07   ` [PATCH V3 6/7] drm: bridge: samsung-dsim: Support non-burst mode Adam Ford
2023-05-02  1:07     ` Adam Ford
2023-05-03 15:43     ` Frieder Schrempf
2023-05-03 15:43       ` Frieder Schrempf
2023-05-02  1:07   ` [PATCH V3 7/7] drm: bridge: samsung-dsim: Let blanking calcuation work in " Adam Ford
2023-05-02  1:07     ` Adam Ford
2023-05-03 15:51     ` Frieder Schrempf
2023-05-03 15:51       ` Frieder Schrempf
2023-05-03 16:17       ` Adam Ford
2023-05-03 16:17         ` Adam Ford
2023-05-02  8:32   ` [PATCH V3 0/7] drm: bridge: samsung-dsim: Support variable clocking Chen-Yu Tsai
2023-05-02  8:32     ` Chen-Yu Tsai
2023-05-02  8:35   ` Marek Szyprowski
2023-05-02  8:35     ` Marek Szyprowski
2023-05-02 18:40     ` Adam Ford
2023-05-02 18:40       ` Adam Ford
2023-05-04  9:23   ` Alexander Stein
2023-05-04  9:23     ` 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=1856543.CQOukoFCf9@steina-w \
    --to=alexander.stein@ew.tq-group.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=aford173@gmail.com \
    --cc=aford@beaconembedded.com \
    --cc=andrzej.hajda@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jagan@amarulasolutions.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=jonas@kwiboo.se \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=marex@denx.de \
    --cc=neil.armstrong@linaro.org \
    --cc=rfoss@kernel.org \
    --cc=wenst@chromium.org \
    /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.