From: Dominique Martinet <dominique.martinet@atmark-techno.com>
To: Frieder Schrempf <frieder@fris.de>
Cc: "Adam Ford" <aford173@gmail.com>,
linux-phy@lists.infradead.org, linux-imx@nxp.com,
festevam@gmail.com, frieder.schrempf@kontron.de,
aford@beaconembedded.com, Sandor.yu@nxp.com,
"Vinod Koul" <vkoul@kernel.org>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
"Marco Felsch" <m.felsch@pengutronix.de>,
"Lucas Stach" <l.stach@pengutronix.de>,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH V6 4/5] phy: freescale: fsl-samsung-hdmi: Use closest divider
Date: Sat, 7 Sep 2024 13:49:59 +0900 [thread overview]
Message-ID: <Ztvbd4XqY95YMAZd@atmark-techno.com> (raw)
In-Reply-To: <ada922ea-b307-4ccf-9e2d-9a2a08fb97c1@fris.de>
Frieder Schrempf wrote on Fri, Sep 06, 2024 at 10:28:59PM +0200:
> I think I managed to get behind the calculation of the fractional-n divider
> parameters. I came up with a spreadsheet to calculate the output frequency
> from existing register values and I have a crude Python script that can be
> used to search for parameters for a given pixel clock.
>
> I tested this with three different non-CEA-861 pixel clock values (supported
> by my HDMI USB grabber) for which the integer PLL yielded deviations >0.5%.
> With the new LUT entries those modes work now.
>
> I will clean things up a bit and then share what I have. I hope that this
> allows anyone to calculate parameters for their non-standard displays if
> required.
>
> If someone feels extra motivated they could try to calculate the fractional
> parameters at runtime. However I'm not sure that this is feasible. The
> numerical computation of a large number of parameters is quite heavy and
> it's probably not easy to strip the algorithm down to something that can be
> run on the target without too much overhead.
I think keeping the LUT is perfectly fine if we know where the values
come from - perhaps having your python program in a comment above the
LUT so anyone can check the values match?
My main problem with the LUT is just that -- there's no way of
checking. If the values come from somewhere sensible and can be verified
I think it makes sense to keep it to fill the holes where the integer
divider isn't enough.
> > This way, the calling function can determine if it needs to be
> > multiplied by 5. I haven't fully determined how the fractional
> > calculator determines what frequency it wants for a target frequency,
> > and using the values for P, M and S from the fractional divider
> > doesn't seem to always yield 5x like they did for the table entries
> > using the integer divider.
>
> For what I found out the factor of 5 always applies. For the integer part
> and also for the fractional part.
In that case I'm definitely in favor of moving it inside the function as
part of the calculation
Thank you both!
--
Dominique
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
WARNING: multiple messages have this Message-ID (diff)
From: Dominique Martinet <dominique.martinet@atmark-techno.com>
To: Frieder Schrempf <frieder@fris.de>
Cc: "Adam Ford" <aford173@gmail.com>,
linux-phy@lists.infradead.org, linux-imx@nxp.com,
festevam@gmail.com, frieder.schrempf@kontron.de,
aford@beaconembedded.com, Sandor.yu@nxp.com,
"Vinod Koul" <vkoul@kernel.org>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
"Marco Felsch" <m.felsch@pengutronix.de>,
"Lucas Stach" <l.stach@pengutronix.de>,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH V6 4/5] phy: freescale: fsl-samsung-hdmi: Use closest divider
Date: Sat, 7 Sep 2024 13:49:59 +0900 [thread overview]
Message-ID: <Ztvbd4XqY95YMAZd@atmark-techno.com> (raw)
In-Reply-To: <ada922ea-b307-4ccf-9e2d-9a2a08fb97c1@fris.de>
Frieder Schrempf wrote on Fri, Sep 06, 2024 at 10:28:59PM +0200:
> I think I managed to get behind the calculation of the fractional-n divider
> parameters. I came up with a spreadsheet to calculate the output frequency
> from existing register values and I have a crude Python script that can be
> used to search for parameters for a given pixel clock.
>
> I tested this with three different non-CEA-861 pixel clock values (supported
> by my HDMI USB grabber) for which the integer PLL yielded deviations >0.5%.
> With the new LUT entries those modes work now.
>
> I will clean things up a bit and then share what I have. I hope that this
> allows anyone to calculate parameters for their non-standard displays if
> required.
>
> If someone feels extra motivated they could try to calculate the fractional
> parameters at runtime. However I'm not sure that this is feasible. The
> numerical computation of a large number of parameters is quite heavy and
> it's probably not easy to strip the algorithm down to something that can be
> run on the target without too much overhead.
I think keeping the LUT is perfectly fine if we know where the values
come from - perhaps having your python program in a comment above the
LUT so anyone can check the values match?
My main problem with the LUT is just that -- there's no way of
checking. If the values come from somewhere sensible and can be verified
I think it makes sense to keep it to fill the holes where the integer
divider isn't enough.
> > This way, the calling function can determine if it needs to be
> > multiplied by 5. I haven't fully determined how the fractional
> > calculator determines what frequency it wants for a target frequency,
> > and using the values for P, M and S from the fractional divider
> > doesn't seem to always yield 5x like they did for the table entries
> > using the integer divider.
>
> For what I found out the factor of 5 always applies. For the integer part
> and also for the fractional part.
In that case I'm definitely in favor of moving it inside the function as
part of the calculation
Thank you both!
--
Dominique
next prev parent reply other threads:[~2024-09-07 4:50 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-04 23:30 [PATCH V6 0/5] phy: freescale: fsl-samsung-hdmi: Expand phy clock options Adam Ford
2024-09-04 23:30 ` Adam Ford
2024-09-04 23:30 ` [PATCH V6 1/5] phy: freescale: fsl-samsung-hdmi: Replace register defines with macro Adam Ford
2024-09-04 23:30 ` Adam Ford
2024-09-04 23:30 ` [PATCH V6 2/5] phy: freescale: fsl-samsung-hdmi: Simplify REG21_PMS_S_MASK lookup Adam Ford
2024-09-04 23:30 ` Adam Ford
2024-09-04 23:30 ` [PATCH V6 3/5] phy: freescale: fsl-samsung-hdmi: Support dynamic integer Adam Ford
2024-09-04 23:30 ` Adam Ford
2024-09-04 23:30 ` [PATCH V6 4/5] phy: freescale: fsl-samsung-hdmi: Use closest divider Adam Ford
2024-09-04 23:30 ` Adam Ford
2024-09-05 7:30 ` Frieder Schrempf
2024-09-05 7:30 ` Frieder Schrempf
2024-09-06 0:26 ` Dominique Martinet
2024-09-06 0:26 ` Dominique Martinet
2024-09-06 0:57 ` Adam Ford
2024-09-06 0:57 ` Adam Ford
2024-09-06 1:54 ` Dominique Martinet
2024-09-06 1:54 ` Dominique Martinet
2024-09-06 20:28 ` Frieder Schrempf
2024-09-06 20:28 ` Frieder Schrempf
2024-09-07 4:49 ` Dominique Martinet [this message]
2024-09-07 4:49 ` Dominique Martinet
2024-09-09 12:46 ` Adam Ford
2024-09-09 12:46 ` Adam Ford
2024-09-04 23:30 ` [PATCH V6 5/5] phy: freescale: fsl-samsung-hdmi: Remove unnecessary LUT entries Adam Ford
2024-09-04 23:30 ` Adam Ford
2024-09-05 7:49 ` [PATCH V6 0/5] phy: freescale: fsl-samsung-hdmi: Expand phy clock options Frieder Schrempf
2024-09-05 7:49 ` Frieder Schrempf
2024-09-05 12:35 ` Adam Ford
2024-09-05 12:35 ` Adam Ford
2024-09-05 12:43 ` Frieder Schrempf
2024-09-05 12:43 ` Frieder Schrempf
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=Ztvbd4XqY95YMAZd@atmark-techno.com \
--to=dominique.martinet@atmark-techno.com \
--cc=Sandor.yu@nxp.com \
--cc=aford173@gmail.com \
--cc=aford@beaconembedded.com \
--cc=festevam@gmail.com \
--cc=frieder.schrempf@kontron.de \
--cc=frieder@fris.de \
--cc=kishon@kernel.org \
--cc=l.stach@pengutronix.de \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=m.felsch@pengutronix.de \
--cc=u.kleine-koenig@pengutronix.de \
--cc=vkoul@kernel.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.