• A
    ALSA: hda - hdmi: Fix channel map switch not taking effect · 39edac70
    Anssi Hannula 提交于
    Currently hdmi_setup_audio_infoframe() reprograms the HDA channel
    mapping only when the infoframe is not up-to-date or the non-PCM flag
    has changed.
    
    However, when just the channel map has been changed, the infoframe may
    still be up-to-date and non-PCM flag may not have changed, so the new
    channel map is not actually programmed into the HDA codec.
    
    Notably, this failing case is also always triggered when the device is
    already in a prepared state and a new channel map is configured while
    changing only the channel positions (for example, plain
    "speaker-test -c2 -m FR,FL").
    
    Fix that by always programming the channel map in
    hdmi_setup_audio_infoframe(). Tested on Intel HDMI.
    Signed-off-by: NAnssi Hannula <anssi.hannula@iki.fi>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: NTakashi Iwai <tiwai@suse.de>
    39edac70
patch_hdmi.c 76.0 KB