linux/drivers/video/omap2
Tomi Valkeinen 6da9f89172 drm/omap: fix (un)registering irqs inside an irq handler
omapdrm (un)registers irqs inside an irq handler. The problem is that
the (un)register function uses dispc_runtime_get/put() to enable the
clocks, and those functions are not irq safe by default.

This was kind of fixed in 48664b21ae
(OMAPDSS: DISPC: set irq_safe for runtime PM), which makes dispc's
runtime calls irq-safe.

However, using pm_runtime_irq_safe in dispc makes the parent of dispc,
dss, always enabled, effectively preventing PM for the whole DSS module.

This patch makes omapdrm behave better by adding new irq (un)register
functions that do not use dispc_runtime_get/put, and using those
functions in interrupt context. Thus we can make dispc again
non-irq-safe, allowing proper PM.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Rob Clark <robdclark@gmail.com>
2014-01-09 15:15:24 +02:00
..
displays-new ARM: OMAPFB: panel-sony-acx565akm: fix bad unlock balance 2013-11-26 12:49:17 +02:00
dss drm/omap: fix (un)registering irqs inside an irq handler 2014-01-09 15:15:24 +02:00
omapfb OMAPFB: use EPROBE_DEFER if default display is not present 2013-06-17 14:00:54 +03:00
Kconfig OMAPDSS: remove all old panel drivers 2013-08-29 16:21:52 +03:00
Makefile OMAPDSS: remove all old panel drivers 2013-08-29 16:21:52 +03:00
vrfb.c drivers/video/omap2: don't check resource with devm_ioremap_resource 2013-05-18 11:58:01 +02:00