Commit a17d2d6c authored by Kieran Bingham's avatar Kieran Bingham Committed by Mauro Carvalho Chehab

media: vsp1: Prevent suspending and resuming DRM pipelines

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.
Signed-off-by: default avatarKieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 2c21ac0a
...@@ -571,7 +571,13 @@ static int __maybe_unused vsp1_pm_suspend(struct device *dev) ...@@ -571,7 +571,13 @@ static int __maybe_unused vsp1_pm_suspend(struct device *dev)
{ {
struct vsp1_device *vsp1 = dev_get_drvdata(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.
*/
if (!vsp1->drm)
vsp1_pipelines_suspend(vsp1);
pm_runtime_force_suspend(vsp1->dev); pm_runtime_force_suspend(vsp1->dev);
return 0; return 0;
...@@ -582,7 +588,13 @@ static int __maybe_unused vsp1_pm_resume(struct device *dev) ...@@ -582,7 +588,13 @@ static int __maybe_unused vsp1_pm_resume(struct device *dev)
struct vsp1_device *vsp1 = dev_get_drvdata(dev); struct vsp1_device *vsp1 = dev_get_drvdata(dev);
pm_runtime_force_resume(vsp1->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.
*/
if (!vsp1->drm)
vsp1_pipelines_resume(vsp1);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment