• Nikhil Mahale's avatar
    ALSA: hda - Add DP-MST jack support · 5204a05d
    Nikhil Mahale authored
    This patch adds DP-MST jack support which will be used on NVIDIA
    platforms. Today, DP-MST audio is supported only if the codec has
    acomp support. This patch makes it possible to add DP-MST support
    for non-acomp codecs.
    
    For the codecs supporting DP-MST audio, each pin can contain several
    device entries. Each device entry is a virtual pin, described by
    pin_nid and dev_id in struct hdmi_spec_per_pin. For monitor hotplug
    event handling, non-acomp codecs enable and register jack-detection
    for every hdmi_spec_per_pin.
    
    This patch updates every relevant function in hda_jack.h and its
    implementation in hda_jack.c, to consider dev_id along with pin_nid.
    
    Changes to the HD Audio specification to support DP-MST audio are
    described in the Intel Document Change Notification (DCN) number
    HDA040-A.
    
    From HDA040-A, "For the case of multi stream capable Digital Display
    Pin Widget, [the Get Pin Sense verb] can be used to read a specific
    Device Entry state as reported in Get Device List Entry verb." This
    patch updates the read_pin_sense() function to take the dev_id as an
    argument and pass it as a parameter to the Get Pin Sense verb.
    
    Bits 15 through 20 from the Unsolicited Response for intrinsic
    events contain the index of the Device Entry that generated the
    event. This patch updates the Unsolicited Response event handlers to
    extract the device entry index from the response and pass it to
    snd_hda_jack_tbl_get_from_tag().
    
    This patch updates snd_hda_jack_tbl_new() to take a dev_id argument
    and store it in the jack structure, and to make sure not to generate
    a different tag when called more than once for the same nid.
    Signed-off-by: default avatarNikhil Mahale <nmahale@nvidia.com>
    Link: https://lore.kernel.org/r/20191119084710.29267-3-nmahale@nvidia.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    5204a05d
hda_jack.c 17.6 KB