<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">2023년 12월 19일 (화) 오전 11:11, Frieder Schrempf <<a href="mailto:frieder.schrempf@kontron.de">frieder.schrempf@kontron.de</a>>님이 작성:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 01.12.23 10:04, Michael Walle wrote:<br>
>> The FORCE_STOP_STATE bit is unsuitable to force the DSI link into LP-11<br>
>> mode. It seems the bridge internally queues DSI packets and when the<br>
>> FORCE_STOP_STATE bit is cleared, they are sent in close succession<br>
>> without any useful timing (this also means that the DSI lanes won't go<br>
>> into LP-11 mode). The length of this gibberish varies between 1ms and<br>
>> 5ms. This sometimes breaks an attached bridge (TI SN65DSI84 in this<br>
>> case). In our case, the bridge will fail in about 1 per 500 reboots.<br>
>><br>
>> The FORCE_STOP_STATE handling was introduced to have the DSI lanes in<br>
>> LP-11 state during the .pre_enable phase. But as it turns out, none of<br>
>> this is needed at all. Between samsung_dsim_init() and<br>
>> samsung_dsim_set_display_enable() the lanes are already in LP-11 mode.<br>
>> The code as it was before commit 20c827683de0 ("drm: bridge:<br>
>> samsung-dsim: Fix init during host transfer") and 0c14d3130654 ("drm:<br>
>> bridge: samsung-dsim: Fix i.MX8M enable flow to meet spec") was correct<br>
>> in this regard.<br>
>><br>
>> This patch basically reverts both commits. It was tested on an i.MX8M<br>
>> SoC with an SN65DSI84 bridge. The signals were probed and the DSI<br>
>> packets were decoded during initialization and link start-up. After this<br>
>> patch the first DSI packet on the link is a VSYNC packet and the timing<br>
>> is correct.<br>
>><br>
>> Command mode between .pre_enable and .enable was also briefly tested by<br>
>> a quick hack. There was no DSI link partner which would have responded,<br>
>> but it was made sure the DSI packet was send on the link. As a side<br>
>> note, the command mode seems to just work in HS mode. I couldn't find<br>
>> that the bridge will handle commands in LP mode.<br>
>><br>
>> Fixes: 20c827683de0 ("drm: bridge: samsung-dsim: Fix init during host<br>
>> transfer")<br>
>> Fixes: 0c14d3130654 ("drm: bridge: samsung-dsim: Fix i.MX8M enable<br>
>> flow to meet spec")<br>
>> Signed-off-by: Michael Walle <<a href="mailto:mwalle@kernel.org" target="_blank" rel="noreferrer">mwalle@kernel.org</a>><br>
>> ---<br>
>> Let me know wether this should be two commits each reverting one, but<br>
>> both<br>
>> commits appeared first in kernel 6.5.<br>
> <br>
> Are there any news?<br>
<br>
Inki, are you picking this up? Or if not, who will?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I can pick it up but it would be better to go to the drm-misc tree. If nobody cares about it then I will pick it up. :)</div><div dir="auto"><br></div><div dir="auto">acked-by : Inki Dae <<a href="mailto:inki.dae@samsung.com">inki.dae@samsung.com</a>></div><div dir="auto"><br></div><div dir="auto">Thanks,</div><div dir="auto">Inki Dae</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>