summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/tilcdc/tilcdc_drv.c
diff options
context:
space:
mode:
authorDarren Etheridge <detheridge@ti.com>2014-09-25 00:59:32 +0000
committerJyri Sarha <jsarha@ti.com>2016-02-25 16:39:32 +0200
commit614b3cfeb8d22e2b0f49bcfeaf5b52900242a944 (patch)
tree609bbe7b3617663e7e0110e91d770b89928c926b /drivers/gpu/drm/tilcdc/tilcdc_drv.c
parentb62222fcaab994177f121d58acdab269f0f54897 (diff)
drm/tilcdc: disable the lcd controller/dma engine when suspend invoked
The LCD controller must be deactivated and all DMA transactions stopped when the suspend power state is entered otherwise the PRCM causes the L3 bus to get stuck in transition state. This commit forces the lcdc to be shut down and waits for all pending DMA transactions to complete as part of the suspend handler for this driver. Signed-off-by: Darren Etheridge <detheridge@ti.com> Tested-by: Dave Gerlach <d-gerlach@ti.com> Signed-off-by: Jyri Sarha <jsarha@ti.com> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/gpu/drm/tilcdc/tilcdc_drv.c')
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_drv.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index 7c39362c9455..30d8ac61cc85 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
@@ -592,6 +592,9 @@ static int tilcdc_pm_suspend(struct device *dev)
return 0;
}
+ /* Disable the LCDC controller, to avoid locking up the PRCM */
+ tilcdc_crtc_dpms(priv->crtc, DRM_MODE_DPMS_OFF);
+
/* Save register state: */
for (i = 0; i < ARRAY_SIZE(registers); i++)
if (registers[i].save && (priv->rev >= registers[i].rev))