From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org,
dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v1 1/3] media: vsp1: Prevent resuming DRM pipelines
Date: Fri, 15 Sep 2017 19:58:58 +0300 [thread overview]
Message-ID: <1514508.N9eClCS3vr@avalon> (raw)
In-Reply-To: <f15075b98a75895d65132ebf5ffb7a6b55d76ac8.1505493461.git-series.kieran.bingham+renesas@ideasonboard.com>
Hi Kieran,
Thank you for the patch.
On Friday, 15 September 2017 19:42:05 EEST Kieran Bingham wrote:
> DRM pipelines utilising the VSP must stop all frame processing as part
> of the suspend operation to ensure the hardware is idle. Upon resume,
> the pipeline must not be started until the DU performs an atomic flush
> to restore the hardware configuration and state.
>
> Therefore the vsp1_pipeline_resume() call is not needed for DRM
> pipelines, and we can disable it in this instance.
Being familiar with the issue I certainly understand the commit message, but I
think it can be a bit confusing to a reader not familiar to the VSP/DU. How
about something similar to the following ?
"When used as part of a display pipeline, the VSP is stopped and restarted
explicitly by the DU from its suspend and resume handlers. There is thus no
need to stop or restart pipelines in the VSP suspend and resume handlers."
> CC: linux-media@vger.kernel.org
>
> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> ---
> drivers/media/platform/vsp1/vsp1_drv.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/vsp1/vsp1_drv.c
> b/drivers/media/platform/vsp1/vsp1_drv.c index 962e4c304076..7604c7994c74
> 100644
> --- a/drivers/media/platform/vsp1/vsp1_drv.c
> +++ b/drivers/media/platform/vsp1/vsp1_drv.c
> @@ -582,7 +582,13 @@ static int __maybe_unused vsp1_pm_resume(struct device
> *dev) struct vsp1_device *vsp1 = dev_get_drvdata(dev);
>
> pm_runtime_force_resume(vsp1->dev);
> - vsp1_pipelines_resume(vsp1);
> +
> + /*
> + * DRM pipelines are stopped before suspend, and will be resumed after
> + * the DRM subsystem has reconfigured its pipeline with an atomic flush
> + */
I would also adapt this comment similarly to the commit message.
> + if (!vsp1->drm)
> + vsp1_pipelines_resume(vsp1);
Should we do the same in vsp1_pm_suspend() ? I know it shouldn't be strictly
needed at the moment as vsp1_pipelines_suspend() should be a no-op when the
pipelines are already stopped, but a symmetrical implementation sounds better
to me.
I also wonder whether the check shouldn't be moved inside the
vsp1_pipelines_suspend() and vsp1_pipelines_resume() functions as we will
likely need to handle suspend/resume of display pipelines when adding
writeback support, but we could do so later.
> return 0;
> }
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2017-09-15 16:58 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-15 16:42 [PATCH v1 0/3] drm/media: Implement DU Suspend and Resume on VSP pipelines Kieran Bingham
2017-09-15 16:42 ` [PATCH v1 1/3] media: vsp1: Prevent resuming DRM pipelines Kieran Bingham
2017-09-15 16:58 ` Laurent Pinchart [this message]
2017-09-18 0:04 ` Kieran Bingham
2017-09-19 8:46 ` Laurent Pinchart
2017-09-15 16:42 ` [PATCH v1 2/3] drm: rcar-du: Add suspend resume helpers Kieran Bingham
2017-09-15 17:02 ` Laurent Pinchart
2017-09-15 17:49 ` Kieran Bingham
2017-09-15 18:20 ` Laurent Pinchart
2017-09-15 16:42 ` [PATCH v1 3/3] drm: rcar-du: Remove unused CRTC suspend/resume functions Kieran Bingham
2017-09-15 17:06 ` Laurent Pinchart
2017-09-20 9:16 ` [PATCH v2] media: vsp1: Prevent suspending and resuming DRM pipelines Kieran Bingham
2017-11-11 16:14 ` Kieran Bingham
2017-11-12 4:28 ` Laurent Pinchart
2017-11-12 16:38 ` Kieran Bingham
2017-11-13 2:16 ` Laurent Pinchart
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=1514508.N9eClCS3vr@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).