• Jyri Sarha's avatar
    OMAPDSS: hdmi: Reconfigure and restart audio when display is enabled · 8a9d4626
    Jyri Sarha authored
    Reconfigure and restart audio when display is enabled, if audio
    playback was active before. This is needed in a situation when an
    audio+video stream application opens the audio stream before the
    video. When video stream is opened the display mode may change and
    that aborts audio playback, because the display is momentarily
    turned off.
    
    The audio configuration is stored when it is successfully applied and
    a boolean is set when the audio playback is started and unset when
    stopped. This data is used to reconfigure the audio when display is
    re-enabled. The audio playback is aborted if the reconfiguration fails.
    
    A new spin lock is introduced in order to protect state variables
    related to audio playback status. This is needed for the transition
    from display enabled state (when audio start/stop commands can be
    written to HW) to display disabled state (when audio start/stop
    commands update only the hdmi.audio_playing variable) to always
    serialize correctly with the start/stop audio commands. The already
    existing mutex can not be used, because the audio start and stop
    commands are executed in atomic context.
    
    For example: when display is turned back on we take the spinlock and
    we can be sure that the audio start/stop status will not change while
    we update the HW according to hdmi.audio_playing state and set
    hdmi.display_enabled to true. After releasing the lock
    hdmi.display_enabled is true and all audio_start and audio_stop
    commands write their stuff directly to HW.
    Signed-off-by: default avatarJyri Sarha <jsarha@ti.com>
    Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    8a9d4626
hdmi5.c 17.8 KB