]> git.baikalelectronics.ru Git - kernel.git/commit
drm/omap: fix suspend/resume handling
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 2 Oct 2015 08:10:42 +0000 (11:10 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 3 Mar 2016 15:38:20 +0000 (17:38 +0200)
commit5fa49d6b37a05ea9731e11f7014459cada627faf
tree07dd215fe2d33e68f2f8f82866e8c85c0cf5babc
parent0ae2dcbe07c7827967dd9f819378913a8b931989
drm/omap: fix suspend/resume handling

For legacy reasons omapdss handles system suspend/resume via PM notifier
callback, where the driver disables/resumes all the outputs.

This doesn't work well with omapdrm. What happens on suspend is that the
omapdss disables the displays while omapdrm is still happily continuing
its work, possibly waiting for an vsync irq, which will never come if
the display output is disabled, leading to timeouts and errors sent to
userspace.

This patch moves the suspend/resume handling to omapdrm, and the
suspend/resume is now done safely inside modeset lock.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/gpu/drm/omapdrm/dss/core.c
drivers/gpu/drm/omapdrm/dss/display.c
drivers/gpu/drm/omapdrm/dss/dss.h
drivers/gpu/drm/omapdrm/omap_drv.c