Hi Kieran, Thank you for the patch. On Wednesday, 20 September 2017 12:16:54 EET Kieran Bingham wrote: > 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, and doing so would cause the hardware to be > left in a misconfigured state. > > Ensure that the VSP suspend and resume handlers do not affect DRM > based pipelines. s/DRM-base/DRM-based/ > Signed-off-by: Kieran Bingham <kieran.bingham+renesas@xxxxxxxxxxxxxxxx> > --- > drivers/media/platform/vsp1/vsp1_drv.c | 16 ++++++++++++++-- > 1 file changed, 14 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/vsp1/vsp1_drv.c > b/drivers/media/platform/vsp1/vsp1_drv.c index 962e4c304076..ed25ba9d551b > 100644 > --- a/drivers/media/platform/vsp1/vsp1_drv.c > +++ b/drivers/media/platform/vsp1/vsp1_drv.c > @@ -571,7 +571,13 @@ static int __maybe_unused vsp1_pm_suspend(struct device > *dev) { > struct vsp1_device *vsp1 = dev_get_drvdata(dev); > > - vsp1_pipelines_suspend(vsp1); > + /* > + * When used as part of a display pipeline, the VSP is stopped and > + * restarted explicitly by the DU s/DU/DU./ > + */ > + if (!vsp1->drm) > + vsp1_pipelines_suspend(vsp1); > + > pm_runtime_force_suspend(vsp1->dev); > > return 0; > @@ -582,7 +588,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); > + > + /* > + * When used as part of a display pipeline, the VSP is stopped and > + * restarted explicitly by the DU s/DU/DU./ Apart from that, Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > + */ > + if (!vsp1->drm) > + vsp1_pipelines_resume(vsp1); > > return 0; > } -- Regards, Laurent Pinchart