Re: [PATCH v3 10/10] arm64: dts: renesas: gray-hawk-single: Add DisplayPort support

Tomi Valkeinen
2024-12-16T15:15:27Z

Hi,

On 16/12/2024 15:33, Geert Uytterhoeven wrote:
> Hi Tomi,
>
> On Fri, Dec 6, 2024 at 10:33 AM Tomi Valkeinen
> <tomi.valkeinen@ideasonboard.com> wrote:
>> From: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
>>
>> Add support for the mini DP output on the Gray Hawk board.
>>
>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
>> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
>
> Thanks for your patch, which is now commit b1000645dc29701f
> ("arm64: dts: renesas: gray-hawk-single: Add DisplayPort support")
> in renesas-devel/renesas-dts-for-v6.14.
>
> Apparently this patch breaks s2idle on Gray Hawk Single when "[PATCH
> v3 06/10] drm/rcar-du: dsi: Add r8a779h0 support" is not present, or
> when CONFIG_DRM_RCAR_USE_MIPI_DSI is not enabled. If the DSI driver
> is not available, the ti_sn65dsi86.bridge part fails to probe with
> -EPROBE_DEFER and "failed to attach dsi host". Still, the sn65dsi86
> driver must do something critical, as resuming from s2idle now hangs.
> I haven't identified yet where exactly it hangs.
> > As a result, s2idle is broken in current renesas-devel, which only
> has the DTS changes. Perhaps I should drop the DTS until the issue
> is resolved?

I'm fine with that. The DT bindings are still under work anyway.

> However, I suspect White Hawk has the same issue (if
> CONFIG_DRM_RCAR_USE_MIPI_DSI=n), but I cannot verify as my local White
> Hawk is currently not available for kernel testing.

I can reproduce on White Hawk. And I agree that it's probably related to
sn65dsi86.

I use modules, so I tried dropping modules to see when the issue goes
away. And it's always sn65dsi86. So without the rcar DRM & DSI modules
loaded, if I load or don't load sn65dsi86, I see or don't see the hang,
respectively.

Even if I drop the ti_sn65dsi86_pm_ops, it doesn't help. And looks like
just doing the i2c_add_driver() part in ti_sn65dsi86_init() will cause
the issue, so it's something that happens there.

I'll continue the debug later.

Tomi