Re: fw_devlink=on and sunxi HDMI

From: Saravana Kannan
Date: Mon May 17 2021 - 02:33:27 EST


On Sun, May 16, 2021 at 10:05 AM Ondřej Jirman <megi@xxxxxx> wrote:
>
> Hello,
>
> Linux 5.13-rc1 again has fw_devlink=on enabled by default. I've found that this
> breaks probing display pipeline and HDMI output on sunxi boards, because of
> fwnode_link between hdmi and hdmi-phy nodes.
>
> HDMI device probe keeps being avoided with these repeated messages in dmesg:
>
> platform 1ee0000.hdmi: probe deferral - supplier 1ef0000.hdmi-phy not ready
>
> Both nodes have their own compatible, but are implemented by a single
> struct device.
>
> This looks like a kind of situation that's expected to break fw_devlink
> expectations by my reading of the the e-mails about trying the fw_devlink=on
> during 5.12 cycle.
>
> Is this supposed to be solved by implementing the PHY node as it's own
> device or by breaking the fwnode_link between the hdmi phy and hdmi nodes?
> Seems like second solution would be quicker now that rc1 is out.

Seems like sun8i_hdmi_phy_probe() already does 95% of the work to make
the PHY a separate driver. Why not just finish it up by really making
it a separate driver? I'd really prefer doing that because this seems
unnecessarily messed up. The phy will have a struct device created for
it already. You are just not probing it.

Thanks,
Saravana

>
> Where would be a good place to break that fwnode_link in code?
>
> Or can the fw_devlink code be made aware of this situation, where two fwnodes
> are implemented by the same Linux device, somehow?
>
> Relevant references:
>
> https://elixir.bootlin.com/linux/v5.13-rc1/source/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c#L600
> https://elixir.bootlin.com/linux/v5.13-rc1/source/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c#L212
> https://elixir.bootlin.com/linux/v5.13-rc1/source/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi#L1176
>
> kind regards,
> o.