• A
    ALSA: hda - hdmi: Fix reported channel map on common default layouts · 56cac413
    Anssi Hannula 提交于
    hdmi_setup_fake_chmap() is supposed to set the reported channel map when
    the channel map is not specified by the user.
    
    However, the function indexes channel_allocations[] with a wrong value
    and extracts the wrong nibble from hdmi_channel_mapping[], causing wrong
    channel maps to be shown.
    
    Fix those issues.
    
    Tested on Intel HDMI to correctly generate various channel maps, for
    example 3,4,14,15,7,8,5,6 (instead of incorrect 3,4,8,7,5,6,14,0) for
    standard 7.1 channel audio. (Note that the side and rear channels are
    reported as RL/RR and RLC/RRC, respectively, as per the CEA-861
    standard, instead of the more traditional SL/SR and RL/RR.)
    
    Note that this only fixes the layouts that only contain traditional 7.1
    speakers (2.0, 2.1, 4.0, 5.1, 7.1, etc.). E.g. the rear center of 6.1
    is still being shown wrongly due to an issue with from_cea_slot()
    which will be fixed in a later patch.
    Signed-off-by: NAnssi Hannula <anssi.hannula@iki.fi>
    Signed-off-by: NTakashi Iwai <tiwai@suse.de>
    56cac413
patch_hdmi.c 76.2 KB