OMAPDSS: HDMI: Implement DSS driver interface for audio
authorRicardo Neri <ricardo.neri@ti.com>
Thu, 10 May 2012 02:09:50 +0000 (21:09 -0500)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 11 May 2012 12:17:10 +0000 (15:17 +0300)
commitf3a97491f2c54e5239663f8f147b34c280cf7db5
tree8d502829f3b27b5d8b587fb965919260d832497a
parentb7dea05aec8b6421500929d5003866655d6d9dab
OMAPDSS: HDMI: Implement DSS driver interface for audio

Implement the DSS device driver audio support interface in the HDMI
panel driver and generic driver. The implementation relies on the
IP-specific functions that are defined at DSS probe time.

A mixed locking strategy is used. The panel's mutex is used when
the state of the panel is queried as required by the audio functions.
The audio state is protected using a spinlock as users of DSS HDMI
audio functionality might start/stop audio while holding a spinlock.
The mutex and the spinlock are held and released as needed by each
individual function to protect the panel state and the audio state.

Although the panel's audio_start functions does not check whether
the panel is active, the audio _ENABLED state can be reached only
from audio_enable, which does check the state of the panel. Also,
if the panel is ever disabled, the audio state will transition
to _DISABLED. Transitions are always protected by the audio lock.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
drivers/video/omap2/dss/dss.h
drivers/video/omap2/dss/hdmi.c
drivers/video/omap2/dss/hdmi_panel.c