OSDN Git Service

OMAPDSS: APPLY: add missing uses of spinlock
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 15 Nov 2011 12:32:57 +0000 (14:32 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 2 Dec 2011 06:54:42 +0000 (08:54 +0200)
commite0a2aa5b3d1a26969ba906447c816d44c018969d
tree6e0044f26982c0df41e52e339c8571f39ae47232
parent5558db3fdd52e3928d5eaabe363e1576dc5fe473
OMAPDSS: APPLY: add missing uses of spinlock

The functions in apply.c, called mostly via function pointers in overlay
and overlay_manager structs, will be divided into two groups. The other
group will not sleep and can be called from interrupts, and the other
group may sleep.

The idea is that the non-sleeping functions may only change certain
settings in overlays and managers, and those settings may only affect
the particular overlay/manager. For example, set the base address of the
overlay.

The blocking functions, however, will handle more complex configuration
changes. For example, when an overlay is enabled and fifo-merge feature
is used, we need to do the enable in multiple steps, waiting in between,
and the change affects multiple overlays and managers.

apply.c already contains a spinlock, which has been used to protect
(badly) the dss_data. This patch adds locks/unlocks of the spinlock to
the missing places, and the lock should now properly protect dss_data.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/apply.c