[PATCH 2/6] drm/bridge: tc358767: Use tc_pxl_pll_calc() to correct adjusted_mode clock

Marek Vasut marex at denx.de
Fri Jun 21 14:54:51 UTC 2024


On 6/21/24 12:32 PM, Alexander Stein wrote:

Hi,

skipping the parts where I would simply write "OK" ...

>>>> As FVUEN is cleared at the next VSYNC event I suspect the DSI timings
>>>> are (slightly) off, but unfortunately I don't have equipment to check
>>>> DSI signal quality/timings.
>>>
>>> As long as the LCDIFv3 pixel clock are equal or slightly slower than
>>> what the TC9595 PixelPLL generates, AND, DSIM serializer has enough
>>> bandwidth on the DSI bus (i.e. set the bus to 1 GHz, the TC9595 DSI RX
>>> cannot go any faster), you should have no issues on that end.
> 
> I'm using samsung,burst-clock-frequency = <1000000000> so this should be
> okay. That is 1080p resolution.

Yes, correct.

>>> When in doubt, try and use i2ctransfer to read out register 0x300
>>> repeatedly, that's DSI RX error counter register. See if the DSI error
>>> count increments.
> 
> If the bridge is not working the registers look like this:
> 300: c0800000
> 464: 00000001
> 
> they are not changing and stay like that.
> 
> If the bridge is actually running they are like
> 300: c08000d3
> 464: 00000000
> 
> and are also not changing.

Uh ... that looks like the whole chip clock tree somehow locked up .

Thinking about this, I once did force the DSIM into 24 MHz mode (there 
is PLL bypass setting, where the DSIM uses 24 MHz serializer clock 
directly for the DSI HS clock) or something close, it was enough to 
drive a low resolution panel. But the upside was, with a 200 MHz 5Gsps 
scope set to AC-coupling and 10x probe, I could discern the traffic on 
DSI data lane and decode it by hand. The nice thing is, you could 
trigger on 1V2 LP mode, so you know where the packet starts. The 
downside is, if you have multiple data lanes, the packet is spread 
across them.

You could also tweak tc_edp_atomic_check()/tc_edp_mode_valid() and force 
only low(er) resolution modes of your DP panel right from the start, so 
you wouldn't need that much DSI bandwidth. Maybe you could reach some 
mode where your equipment is enough to analyze the traffic by hand ?

>>>> Are you running the DSIM host from 24MHz refclock?
>>>
>>> Yes, I did not modify imx8mp.dtsi mipi_dsi node
>>> samsung,pll-clock-frequency = <24000000>; in any way , so that's 24 MHz
>>> base.
>>
>> How shall we proceed with this series ?
> 
> Would you mind rebasing and fix patch 2/6 regarding the adjusted mode?

I wouldn't ... and I totally forgot about that, even if I have a V2 
patch in my tree already. I'll send it out, thanks for the reminder.

> BTW: Patch 3/6 (dropping line_pixel_subtract) is actually necessary for even
> running test mode (tc358767.test=1), so this fixes an actual problem as well.

:)


More information about the dri-devel mailing list