From: Laurent Pinchart <laurent.pinchart@ideasonboard.com> To: Douglas Anderson <dianders@chromium.org> Cc: Andrzej Hajda <a.hajda@samsung.com>, Neil Armstrong <narmstrong@baylibre.com>, Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>, Sam Ravnborg <sam@ravnborg.org>, robdclark@chromium.org, David Airlie <airlied@linux.ie>, linux-arm-msm@vger.kernel.org, Stephen Boyd <swboyd@chromium.org>, dri-devel@lists.freedesktop.org, Bjorn Andersson <bjorn.andersson@linaro.org>, Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>, Thierry Reding <thierry.reding@gmail.com>, Steev Klimaszewski <steev@kali.org>, Thierry Reding <treding@nvidia.com>, linux-kernel@vger.kernel.org Subject: Re: [PATCH v7 01/10] drm/panel: panel-simple: Add missing pm_runtime_dont_use_autosuspend() calls Date: Mon, 24 May 2021 23:22:18 +0300 [thread overview] Message-ID: <YKwK+lkcHMwAosLn@pendragon.ideasonboard.com> (raw) In-Reply-To: <20210517130450.v7.1.I9e947183e95c9bd067c9c1d51208ac6a96385139@changeid> Hi Doug, Thank you for the patch. On Mon, May 17, 2021 at 01:08:58PM -0700, Douglas Anderson wrote: > The PM Runtime docs specifically call out the need to call > pm_runtime_dont_use_autosuspend() in the remove() callback if > pm_runtime_use_autosuspend() was called in probe(): > > > Drivers in ->remove() callback should undo the runtime PM changes done > > in ->probe(). Usually this means calling pm_runtime_disable(), > > pm_runtime_dont_use_autosuspend() etc. ~/src/kernel/linux $ git grep pm_runtime_use_autosuspend -- drivers | wc -l 209 ~/src/kernel/linux $ git grep pm_runtime_dont_use_autosuspend -- drivers | wc -l 80 Seems like a lost battle :-( The fix is right, but I wonder if this shouldn't be handled automatically by the runtime PM core. The runtime PM API is notoriously difficult to use correctly. > We should do this. This fixes a warning splat that I saw when I was > testing out the panel-simple's remove(). > > Fixes: 3235b0f20a0a ("drm/panel: panel-simple: Use runtime pm to avoid excessive unprepare / prepare") > Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > > Changes in v7: > - pm_runtime_dont_use_autosuspend() fix new for v7. > > drivers/gpu/drm/panel/panel-simple.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > index 9be050ab372f..21939d4352cf 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -798,6 +798,7 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc) > return 0; > > disable_pm_runtime: > + pm_runtime_dont_use_autosuspend(dev); > pm_runtime_disable(dev); > free_ddc: > if (panel->ddc) > @@ -814,6 +815,7 @@ static int panel_simple_remove(struct device *dev) > drm_panel_disable(&panel->base); > drm_panel_unprepare(&panel->base); > > + pm_runtime_dont_use_autosuspend(dev); > pm_runtime_disable(dev); > if (panel->ddc) > put_device(&panel->ddc->dev); -- Regards, Laurent Pinchart
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com> To: Douglas Anderson <dianders@chromium.org> Cc: robdclark@chromium.org, Jernej Skrabec <jernej.skrabec@siol.net>, Thierry Reding <treding@nvidia.com>, Jonas Karlman <jonas@kwiboo.se>, David Airlie <airlied@linux.ie>, linux-arm-msm@vger.kernel.org, Neil Armstrong <narmstrong@baylibre.com>, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Stephen Boyd <swboyd@chromium.org>, Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>, Andrzej Hajda <a.hajda@samsung.com>, Thierry Reding <thierry.reding@gmail.com>, Steev Klimaszewski <steev@kali.org>, Bjorn Andersson <bjorn.andersson@linaro.org>, Sam Ravnborg <sam@ravnborg.org> Subject: Re: [PATCH v7 01/10] drm/panel: panel-simple: Add missing pm_runtime_dont_use_autosuspend() calls Date: Mon, 24 May 2021 23:22:18 +0300 [thread overview] Message-ID: <YKwK+lkcHMwAosLn@pendragon.ideasonboard.com> (raw) In-Reply-To: <20210517130450.v7.1.I9e947183e95c9bd067c9c1d51208ac6a96385139@changeid> Hi Doug, Thank you for the patch. On Mon, May 17, 2021 at 01:08:58PM -0700, Douglas Anderson wrote: > The PM Runtime docs specifically call out the need to call > pm_runtime_dont_use_autosuspend() in the remove() callback if > pm_runtime_use_autosuspend() was called in probe(): > > > Drivers in ->remove() callback should undo the runtime PM changes done > > in ->probe(). Usually this means calling pm_runtime_disable(), > > pm_runtime_dont_use_autosuspend() etc. ~/src/kernel/linux $ git grep pm_runtime_use_autosuspend -- drivers | wc -l 209 ~/src/kernel/linux $ git grep pm_runtime_dont_use_autosuspend -- drivers | wc -l 80 Seems like a lost battle :-( The fix is right, but I wonder if this shouldn't be handled automatically by the runtime PM core. The runtime PM API is notoriously difficult to use correctly. > We should do this. This fixes a warning splat that I saw when I was > testing out the panel-simple's remove(). > > Fixes: 3235b0f20a0a ("drm/panel: panel-simple: Use runtime pm to avoid excessive unprepare / prepare") > Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > > Changes in v7: > - pm_runtime_dont_use_autosuspend() fix new for v7. > > drivers/gpu/drm/panel/panel-simple.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > index 9be050ab372f..21939d4352cf 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -798,6 +798,7 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc) > return 0; > > disable_pm_runtime: > + pm_runtime_dont_use_autosuspend(dev); > pm_runtime_disable(dev); > free_ddc: > if (panel->ddc) > @@ -814,6 +815,7 @@ static int panel_simple_remove(struct device *dev) > drm_panel_disable(&panel->base); > drm_panel_unprepare(&panel->base); > > + pm_runtime_dont_use_autosuspend(dev); > pm_runtime_disable(dev); > if (panel->ddc) > put_device(&panel->ddc->dev); -- Regards, Laurent Pinchart
next prev parent reply other threads:[~2021-05-24 20:22 UTC|newest] Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-05-17 20:08 [PATCH v7 00/10] drm: Fix EDID reading on ti-sn65dsi86 by introducing the DP AUX bus Douglas Anderson 2021-05-17 20:08 ` Douglas Anderson 2021-05-17 20:08 ` [PATCH v7 01/10] drm/panel: panel-simple: Add missing pm_runtime_dont_use_autosuspend() calls Douglas Anderson 2021-05-17 20:08 ` Douglas Anderson 2021-05-24 20:22 ` Laurent Pinchart [this message] 2021-05-24 20:22 ` Laurent Pinchart 2021-05-24 21:08 ` Doug Anderson 2021-05-24 21:08 ` Doug Anderson 2021-05-17 20:08 ` [PATCH v7 02/10] dt-bindings: display: simple: List hpd properties in panel-simple Douglas Anderson 2021-05-17 20:08 ` Douglas Anderson 2021-05-18 12:41 ` Rob Herring 2021-05-18 12:41 ` Rob Herring 2021-05-18 13:58 ` Doug Anderson 2021-05-18 13:58 ` Doug Anderson 2021-05-22 10:38 ` Linus Walleij 2021-05-22 10:38 ` Linus Walleij 2021-05-17 20:09 ` [PATCH v7 03/10] dt-bindings: drm/bridge: ti-sn65dsi86: Add aux-bus child Douglas Anderson 2021-05-17 20:09 ` Douglas Anderson 2021-05-19 20:01 ` Rob Herring 2021-05-19 20:01 ` Rob Herring 2021-05-19 21:06 ` Doug Anderson 2021-05-19 21:06 ` Doug Anderson 2021-05-20 13:25 ` Rob Herring 2021-05-20 13:25 ` Rob Herring 2021-05-17 20:09 ` [PATCH v7 04/10] drm: Introduce the DP AUX bus Douglas Anderson 2021-05-17 20:09 ` Douglas Anderson 2021-05-22 10:34 ` Linus Walleij 2021-05-22 10:34 ` Linus Walleij 2021-05-17 20:09 ` [PATCH v7 05/10] drm/panel: panel-simple: Allow panel-simple be a DP AUX endpoint device Douglas Anderson 2021-05-17 20:09 ` Douglas Anderson 2021-05-17 20:09 ` [PATCH v7 06/10] drm/panel: panel-simple: Stash DP AUX bus; allow using it for DDC Douglas Anderson 2021-05-17 20:09 ` Douglas Anderson 2021-05-17 20:09 ` [PATCH v7 07/10] drm/bridge: ti-sn65dsi86: Promote the AUX channel to its own sub-dev Douglas Anderson 2021-05-17 20:09 ` Douglas Anderson 2021-05-17 20:09 ` [PATCH v7 08/10] drm/bridge: ti-sn65dsi86: Add support for the DP AUX bus Douglas Anderson 2021-05-17 20:09 ` Douglas Anderson 2021-05-22 10:35 ` Linus Walleij 2021-05-22 10:35 ` Linus Walleij 2021-05-24 20:29 ` Lyude Paul 2021-05-24 20:29 ` Lyude Paul 2021-05-17 20:09 ` [PATCH v7 09/10] drm/bridge: ti-sn65dsi86: Don't read EDID blob over DDC Douglas Anderson 2021-05-17 20:09 ` Douglas Anderson 2021-05-17 20:09 ` [PATCH v7 10/10] arm64: dts: qcom: sc7180-trogdor: Move panel under the bridge chip Douglas Anderson 2021-05-17 20:09 ` Douglas Anderson 2021-05-22 10:40 ` Linus Walleij 2021-05-22 10:40 ` Linus Walleij 2021-05-19 21:41 ` [PATCH v7 00/10] drm: Fix EDID reading on ti-sn65dsi86 by introducing the DP AUX bus Lyude Paul 2021-05-19 21:41 ` Lyude Paul 2021-05-21 23:07 ` Lyude Paul 2021-05-21 23:07 ` Lyude Paul 2021-05-24 15:14 ` Doug Anderson 2021-05-24 15:14 ` Doug Anderson
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=YKwK+lkcHMwAosLn@pendragon.ideasonboard.com \ --to=laurent.pinchart@ideasonboard.com \ --cc=a.hajda@samsung.com \ --cc=airlied@linux.ie \ --cc=bjorn.andersson@linaro.org \ --cc=dianders@chromium.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=jernej.skrabec@siol.net \ --cc=jonas@kwiboo.se \ --cc=linux-arm-msm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=narmstrong@baylibre.com \ --cc=robdclark@chromium.org \ --cc=sam@ravnborg.org \ --cc=stanislav.lisovskiy@intel.com \ --cc=steev@kali.org \ --cc=swboyd@chromium.org \ --cc=thierry.reding@gmail.com \ --cc=treding@nvidia.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.