[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAD=FV=WmkYg33qsXS4znQ8K2H0xVhJfZoPC+HjKt-rPhZ_R4KA@mail.gmail.com>
Date: Wed, 23 Mar 2022 14:47:17 -0700
From: Doug Anderson <dianders@...omium.org>
To: Kieran Bingham <kieran.bingham+renesas@...asonboard.com>
Cc: Sam Ravnborg <sam@...nborg.org>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Linux-Renesas <linux-renesas-soc@...r.kernel.org>,
dri-devel <dri-devel@...ts.freedesktop.org>,
Laurent Pinchart <laurent.pinchart+renesas@...asonboard.com>,
Andrzej Hajda <andrzej.hajda@...el.com>,
Neil Armstrong <narmstrong@...libre.com>,
Robert Foss <robert.foss@...aro.org>,
Jonas Karlman <jonas@...boo.se>,
Jernej Skrabec <jernej.skrabec@...il.com>,
David Airlie <airlied@...ux.ie>,
Daniel Vetter <daniel@...ll.ch>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v4 3/3] drm/bridge: ti-sn65dsi86: Support hotplug detection
Hi,
On Thu, Mar 17, 2022 at 6:13 AM Kieran Bingham
<kieran.bingham+renesas@...asonboard.com> wrote:
>
> @@ -1241,9 +1350,32 @@ static int ti_sn_bridge_probe(struct auxiliary_device *adev,
> pdata->bridge.type = pdata->next_bridge->type == DRM_MODE_CONNECTOR_DisplayPort
> ? DRM_MODE_CONNECTOR_DisplayPort : DRM_MODE_CONNECTOR_eDP;
>
> - if (pdata->bridge.type == DRM_MODE_CONNECTOR_DisplayPort)
> + if (pdata->bridge.type == DRM_MODE_CONNECTOR_DisplayPort) {
> pdata->bridge.ops = DRM_BRIDGE_OP_EDID;
>
> + if (!pdata->no_hpd)
> + pdata->bridge.ops |= DRM_BRIDGE_OP_DETECT;
> + }
> +
> + if (!pdata->no_hpd && pdata->irq > 0) {
> + ret = devm_request_threaded_irq(pdata->dev, pdata->irq, NULL,
> + ti_sn65dsi86_irq_handler,
> + IRQF_ONESHOT, "sn65dsi86-irq",
> + pdata);
> + if (ret)
> + return dev_err_probe(pdata->dev, ret,
> + "Failed to register DP interrupt\n");
> +
> + /* Enable IRQ based HPD */
> + pdata->bridge.ops |= DRM_BRIDGE_OP_HPD;
> +
> + /*
> + * Keep the IRQ disabled initially. It will only be enabled when
> + * requested through ti_sn_bridge_hpd_enable().
> + */
> + disable_irq(pdata->irq);
Instead, I think you should use `IRQF_NO_AUTOEN` which makes sure that
no matter what the state of the hardware is your IRQ won't fire
"early". ...and, of course, it saves a line of code. ;-)
Other than that this looks nice to me now so feel free to add my
Reviewed-by tag after the above is fixed.
-Doug
Powered by blists - more mailing lists