Re: [PATCH v3 3/6] drm/panel-simple: Support hpd-gpios for delaying prepare()
From: Linus Walleij
Date: Tue Apr 28 2020 - 08:21:38 EST
On Thu, Apr 23, 2020 at 6:26 PM Douglas Anderson <dianders@xxxxxxxxxxxx> wrote:
> People use panel-simple when they have panels that are builtin to
> their device. In these cases the HPD (Hot Plug Detect) signal isn't
> really used for hotplugging devices but instead is used for power
> sequencing. Panel timing diagrams (especially for eDP panels) usually
> have the HPD signal in them and it acts as an indicator that the panel
> is ready for us to talk to it.
>
> Sometimes the HPD signal is hooked up to a normal GPIO on a system.
> In this case we need to poll it in the correct place to know that the
> panel is ready for us. In some system designs the right place for
> this is panel-simple.
>
> When adding this support, we'll account for the case that there might
> be a circular dependency between panel-simple and the provider of the
> GPIO. The case this was designed for was for the "ti-sn65dsi86"
> bridge chip. If HPD is hooked up to one of the GPIOs provided by the
> bridge chip then in our probe function we'll always get back
> -EPROBE_DEFER. Let's handle this by allowing this GPIO to show up
> late if we saw -EPROBE_DEFER during probe. NOTE: since the
> gpio_get_optional() is used, if the "hpd-gpios" isn't there our
> variable will just be NULL and we won't do anything in prepare().
>
> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
> Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
> ---
>
> Changes in v3:
> - Remind how gpio_get_optional() works in the commit message.
Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
I have a small inkling to protest against calling this driver "panel-simple"
as we tend to stockpile things like this.
I suppose panel-panacea.c is a better name at this point :/
Yours,
Linus Walleij