From: Rob Clark <robdclark@gmail.com>
To: dri-devel@lists.freedesktop.org
Cc: freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org,
Rob Clark <robdclark@chromium.org>,
Abhinav Kumar <quic_abhinavk@quicinc.com>,
Akhil P Oommen <quic_akhilpo@quicinc.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Iskren Chernev <iskren.chernev@gmail.com>,
Jonathan Marek <jonathan@marek.ca>,
Jordan Crouse <jordan@cosmicpenguin.net>,
linux-kernel@vger.kernel.org (open list),
Vladimir Lypak <vladimir.lypak@gmail.com>
Subject: [PATCH 0/2] drm/msm/gpu: System suspend fixes
Date: Thu, 6 Jan 2022 10:14:45 -0800 [thread overview]
Message-ID: <20220106181449.696988-1-robdclark@gmail.com> (raw)
From: Rob Clark <robdclark@chromium.org>
Because system suspend uses pm_runtime_force_suspend() we can't rely
runpm refcnt's to protect us if the GPU is active, etc. Fortunately
*usually* the GPU is idle when system suspend is triggered. But that
isn't quite good enough.
The first patch attempts to block for a modest amount of time until GPU
is idle (and failing that, returns -EBUSY). We could have taken a
slightly easier approach and just returned -EBUSY if GPU is not idle,
but that would cause system suspend to fail. And no one likes pulling
a hot laptop out of their backpack.
The second patch avoids getting devfreq callbacks after suspend, since
pm_runtime_force_suspend() breaks the pm_runtime_get_if_in_use() tricks
used to deal with devfreq callbacks while suspended.
Rob Clark (2):
drm/msm/gpu: Wait for idle before suspending
drm/msm/gpu: Cancel idle/boost work on suspend
drivers/gpu/drm/msm/adreno/adreno_device.c | 9 +++++++++
drivers/gpu/drm/msm/msm_gpu.c | 3 +++
drivers/gpu/drm/msm/msm_gpu.h | 3 +++
drivers/gpu/drm/msm/msm_gpu_devfreq.c | 21 +++++++++++++++++++--
4 files changed, 34 insertions(+), 2 deletions(-)
--
2.33.1
WARNING: multiple messages have this Message-ID (diff)
From: Rob Clark <robdclark@gmail.com>
To: dri-devel@lists.freedesktop.org
Cc: Rob Clark <robdclark@chromium.org>,
Jonathan Marek <jonathan@marek.ca>,
Akhil P Oommen <quic_akhilpo@quicinc.com>,
linux-arm-msm@vger.kernel.org,
Vladimir Lypak <vladimir.lypak@gmail.com>,
Abhinav Kumar <quic_abhinavk@quicinc.com>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Iskren Chernev <iskren.chernev@gmail.com>,
Jordan Crouse <jordan@cosmicpenguin.net>,
freedreno@lists.freedesktop.org,
open list <linux-kernel@vger.kernel.org>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>
Subject: [PATCH 0/2] drm/msm/gpu: System suspend fixes
Date: Thu, 6 Jan 2022 10:14:45 -0800 [thread overview]
Message-ID: <20220106181449.696988-1-robdclark@gmail.com> (raw)
From: Rob Clark <robdclark@chromium.org>
Because system suspend uses pm_runtime_force_suspend() we can't rely
runpm refcnt's to protect us if the GPU is active, etc. Fortunately
*usually* the GPU is idle when system suspend is triggered. But that
isn't quite good enough.
The first patch attempts to block for a modest amount of time until GPU
is idle (and failing that, returns -EBUSY). We could have taken a
slightly easier approach and just returned -EBUSY if GPU is not idle,
but that would cause system suspend to fail. And no one likes pulling
a hot laptop out of their backpack.
The second patch avoids getting devfreq callbacks after suspend, since
pm_runtime_force_suspend() breaks the pm_runtime_get_if_in_use() tricks
used to deal with devfreq callbacks while suspended.
Rob Clark (2):
drm/msm/gpu: Wait for idle before suspending
drm/msm/gpu: Cancel idle/boost work on suspend
drivers/gpu/drm/msm/adreno/adreno_device.c | 9 +++++++++
drivers/gpu/drm/msm/msm_gpu.c | 3 +++
drivers/gpu/drm/msm/msm_gpu.h | 3 +++
drivers/gpu/drm/msm/msm_gpu_devfreq.c | 21 +++++++++++++++++++--
4 files changed, 34 insertions(+), 2 deletions(-)
--
2.33.1
next reply other threads:[~2022-01-06 18:15 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-06 18:14 Rob Clark [this message]
2022-01-06 18:14 ` [PATCH 0/2] drm/msm/gpu: System suspend fixes Rob Clark
2022-01-06 18:14 ` [PATCH 1/2] drm/msm/gpu: Wait for idle before suspending Rob Clark
2022-01-06 18:14 ` Rob Clark
2022-01-06 23:25 ` Bjorn Andersson
2022-01-06 23:25 ` Bjorn Andersson
2022-01-07 9:05 ` AngeloGioacchino Del Regno
2022-01-07 9:05 ` AngeloGioacchino Del Regno
2022-01-08 0:27 ` Stephen Boyd
2022-01-08 0:27 ` Stephen Boyd
2022-01-08 17:41 ` Rob Clark
2022-01-08 17:41 ` Rob Clark
2022-01-06 18:14 ` [PATCH 2/2] drm/msm/gpu: Cancel idle/boost work on suspend Rob Clark
2022-01-06 18:14 ` Rob Clark
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=20220106181449.696988-1-robdclark@gmail.com \
--to=robdclark@gmail.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=bjorn.andersson@linaro.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=iskren.chernev@gmail.com \
--cc=jonathan@marek.ca \
--cc=jordan@cosmicpenguin.net \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=quic_abhinavk@quicinc.com \
--cc=quic_akhilpo@quicinc.com \
--cc=robdclark@chromium.org \
--cc=vladimir.lypak@gmail.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: link
Be 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.