On Mon, Apr 17, 2023 at 3:08 PM Marek Vasut <marex@xxxxxxx> wrote:
On 4/17/23 13:57, Adam Ford wrote:
On Sun, Apr 16, 2023 at 5:13 PM Marek Vasut <marex@xxxxxxx> wrote:
On 4/15/23 12:41, Adam Ford wrote:
The high-speed clock is hard-coded to the burst-clock
frequency specified in the device tree. However, when
using devices like certain bridge chips without burst mode
and varying resolutions and refresh rates, it may be
necessary to set the high-speed clock dynamically based
on the desired pixel clock for the connected device.
The link rate negotiation should happen internally between the nearest
bridge and DSIM, so please add that to DRM core instead of hacking
around it by tweaking the HS clock again.
I thought you tried to add something like this before and had some resistance.
Yes, all my attempts were rejected by a single reviewer. I suspended my
efforts in that area for now.
The Pixel clock is set by the bridge already without any new code
added to the DRM core.. I am just reading that value that's there,
and setting the clock accordingly. I don't see how this is a hack.
Assume you have a DSI-to-HDMI bridge attached to your DSIM bridge, it
operates in non-burst mode, like ADV7533 . How would you configure the
I have an ADV7535
HS clock rate for such a bridge in DT ? (hint: you cannot, because the
required clock comes from the EDID, which may not be available just yet)
The whole idea is that you wouldn't want to or need to configure the
clock speed in the device tree because it comes from the
EDID->bridge->DSI.
I've tested this configuration on imx8mm, imx8mn, and imx8mp and I can
change the resolution and refresh rate on the fly and the DSI will
automatically readjust accordingly. If you fixed the clock in the
device tree, you wouldn't be able to do that, and that was the point
of this patch.