summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/rcar-du
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2021-03-23 02:09:53 +0200
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2021-07-28 16:33:06 +0300
commit015f2ebb93767d40c442e749642fffaf10316d78 (patch)
tree91514aa6eefa5e27a1af11ec9978fb9f25d1efb1 /drivers/gpu/drm/rcar-du
parent4b4e7a2a4c535de40ac850ef0245106c655eaa7a (diff)
downloadlinux-stable-015f2ebb93767d40c442e749642fffaf10316d78.tar.gz
linux-stable-015f2ebb93767d40c442e749642fffaf10316d78.tar.bz2
linux-stable-015f2ebb93767d40c442e749642fffaf10316d78.zip
drm: rcar-du: Shutdown the display on system shutdown
When the system shuts down or warm reboots, the display may be active, with the hardware accessing system memory. Upon reboot, the DDR will not be accessible, which may cause issues. Implement the platform_driver .shutdown() operation and shut down the display to fix this. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Diffstat (limited to 'drivers/gpu/drm/rcar-du')
-rw-r--r--drivers/gpu/drm/rcar-du/rcar_du_drv.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
index e289a66594a7..978828681313 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
@@ -561,6 +561,13 @@ static int rcar_du_remove(struct platform_device *pdev)
return 0;
}
+static void rcar_du_shutdown(struct platform_device *pdev)
+{
+ struct rcar_du_device *rcdu = platform_get_drvdata(pdev);
+
+ drm_atomic_helper_shutdown(&rcdu->ddev);
+}
+
static int rcar_du_probe(struct platform_device *pdev)
{
struct rcar_du_device *rcdu;
@@ -615,6 +622,7 @@ error:
static struct platform_driver rcar_du_platform_driver = {
.probe = rcar_du_probe,
.remove = rcar_du_remove,
+ .shutdown = rcar_du_shutdown,
.driver = {
.name = "rcar-du",
.pm = &rcar_du_pm_ops,