1. 25 11月, 2019 1 次提交
  2. 22 11月, 2019 2 次提交
  3. 21 11月, 2019 3 次提交
  4. 20 11月, 2019 1 次提交
  5. 19 11月, 2019 4 次提交
    • N
      ALSA: hda - Add DP-MST support for NVIDIA codecs · 5398e94f
      Nikhil Mahale 提交于
      This patch adds DP-MST support for GK104+ NVIDIA codecs.
      
      GK104+ NVIDIA codecs support DP-MST audio. These codecs have 4
      output converters and 4 pin widgets, with 4 device entries per pin
      widget for a total of 16 device entries.
      
      This patch moves the existing patch_nvhdmi() definition to
      patch_nvhdmi_legacy(), used by pre-GK104 NVIDIA codecs. Redefine
      patch_nvhdmi() to enable DP-MST support by setting codec->dp_mst and
      spec->dyn_pcm_assign.
      
      Introduce fresh logic for dynamic pcm assignment, making
      sure that new pcm assignments are compatible with the legacy static
      per_pin-pmc assignment that existed in the days before DP-MST.
      Signed-off-by: NNikhil Mahale <nmahale@nvidia.com>
      Reviewed-by: NAaron Plattner <aplattner@nvidia.com>
      Link: https://lore.kernel.org/r/20191119084710.29267-5-nmahale@nvidia.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      5398e94f
    • N
      ALSA: hda - Add DP-MST support for non-acomp codecs · 9c32fea8
      Nikhil Mahale 提交于
      This patch make it possible for non-acomp codecs to set
      dyn_pcm_assign/dp_mst and get DP-MST audio support.
      
      Document change notification HDA040-A for the Intel High Definition
      Audio 1.0a specification introduces a Device Select verb for Digital
      Display Pin Widgets that are multi-stream capable. This verb selects
      a Device Entry that is used by subsequent Pin Widget verbs.
      Once the Device Entry is selected, all subsequent Pin Widget verbs
      controlling the sink device will be directed to the selected Device
      Entry until the Device Select verb is updated with a new value.
      
      These Pin Widget verbs include:
      
        * Connection Select
        * Get Connection List Entry
        * Amplifier Gain/Mute
        * Power State
        * Pin Widget Control
        * ELD Data
        * DIP-Size
        * DIP-Index
        * DIP-Data
        * DIP-XmitCtrl
        * Content Protection Control
        * ASP Channel Mapping
      
      This patch adds calls to snd_hda_set_dev_select() to direct each of
      these Pin Widget control verbs to the correct Device Entry.
      
      snd_hda_get_connections() does not return per-device connection
      list, therefore make use snd_hda_get_raw_connections() instead of
      snd_hda_get_connections().
      Signed-off-by: NNikhil Mahale <nmahale@nvidia.com>
      Reviewed-by: NAaron Plattner <aplattner@nvidia.com>
      Link: https://lore.kernel.org/r/20191119084710.29267-4-nmahale@nvidia.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      9c32fea8
    • N
      ALSA: hda - Add DP-MST jack support · 5204a05d
      Nikhil Mahale 提交于
      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: NNikhil Mahale <nmahale@nvidia.com>
      Link: https://lore.kernel.org/r/20191119084710.29267-3-nmahale@nvidia.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      5204a05d
    • N
      ALSA: hda - Rename snd_hda_pin_sense to snd_hda_jack_pin_sense · 80b917a8
      Nikhil Mahale 提交于
      s/snd_hda_pin_sense/snd_hda_jack_pin_sense/g
      
      This aligns the snd_hda_pin_sense function name with the names of
      other functions in hda_jack.h.
      Signed-off-by: NNikhil Mahale <nmahale@nvidia.com>
      Reviewed-by: NAaron Plattner <aplattner@nvidia.com>
      Link: https://lore.kernel.org/r/20191119084710.29267-2-nmahale@nvidia.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      80b917a8
  6. 15 11月, 2019 4 次提交
  7. 11 11月, 2019 2 次提交
  8. 06 11月, 2019 2 次提交
  9. 05 11月, 2019 1 次提交
  10. 30 10月, 2019 2 次提交
    • T
      ALSA: hda - Fix mutex deadlock in HDMI codec driver · 302d5a80
      Takashi Iwai 提交于
      The commit ade49db3 ("ALSA: hda/hdmi - Allow audio component for
      AMD/ATI and Nvidia HDMI") introduced the spec->pcm_lock mutex lock to
      the whole generic_hdmi_init() function for avoiding the race with the
      audio component registration.  However, this caused a dead lock when
      the unsolicited event is handled without the audio component, as the
      codec gets runtime-resumed in hdmi_present_sense() which is already
      inside the spec->pcm_lock in its caller.
      
      For avoiding this deadlock, add a new mutex only for the audio
      component binding that is used in both generic_hdmi_init() and the
      audio notifier registration where the jack callbacks are handled /
      re-registered.
      
      Fixes: ade49db3 ("ALSA: hda/hdmi - Allow audio component for AMD/ATI and Nvidia HDMI")
      Reported-and-tested-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://lore.kernel.org/r/s5himo7i89i.wl-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      302d5a80
    • K
      ALSA: hda/hdmi - implement mst_no_extra_pcms flag · 2a2edfbb
      Kai Vehmanen 提交于
      To support the DP-MST multiple streams via single connector feature,
      the HDMI driver was extended with the concept of backup PCMs. See
      commit 9152085d ("ALSA: hda - add DP MST audio support").
      
      This implementation works fine with snd_hda_intel.c as PCM topology
      is fully managed within the single driver.
      
      When the HDA codec driver is used from ASoC components, the concept
      of backup PCMs no longer fits. For ASoC topologies, the physical
      HDMI converters are presented as backend DAIs and these should match
      with hardware capabilities. The ASoC topology may define arbitrary
      PCMs (i.e. frontend DAIs) and have processing elements before eventual
      routing to the HDMI BE DAIs. With backup PCMs, the link between
      FE and BE DAIs would become dynamic and change when monitors are
      (un)plugged. This would lead to modifying the topology every time
      hotplug events happen, which is not currently possible in ASoC and
      there does not seem to be any obvious benefits from this design.
      
      To overcome above problems and enable the HDMI driver to be used
      from ASoC, this patch adds a new mode (mst_no_extra_pcms flags) to
      patch_hdmi.c. In this mode, the codec driver does not assume
      the backup PCMs to be created.
      Signed-off-by: NKai Vehmanen <kai.vehmanen@linux.intel.com>
      Reviewed-by: NTakashi Iwai <tiwai@suse.de>
      Reviewed-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Link: https://lore.kernel.org/r/20191029134017.18901-2-kai.vehmanen@linux.intel.comSigned-off-by: NMark Brown <broonie@kernel.org>
      2a2edfbb
  11. 28 10月, 2019 2 次提交
  12. 24 10月, 2019 2 次提交
  13. 23 10月, 2019 2 次提交
  14. 21 10月, 2019 2 次提交
  15. 17 10月, 2019 2 次提交
  16. 07 10月, 2019 1 次提交
  17. 20 9月, 2019 3 次提交
  18. 17 9月, 2019 1 次提交
  19. 06 9月, 2019 2 次提交
    • S
      Add Acer Aspire Ethos 8951G model quirk · 00066e97
      Sergey Bostandzhyan 提交于
      This notebook has 6 built in speakers for 5.1 surround support, however
      only two got autodetected and have also not been assigned correctly.
      
      This patch enables all speakers and also fixes muting when headphones are
      plugged in.
      
      The speaker layout is as follows:
      
      pin 0x15 Front Left / Front Right
      pin 0x18 Front Center / Subwoofer
      pin 0x1b Rear Left / Rear Right (Surround)
      
      The quirk will be enabled automatically on this hardware, but can also be
      activated manually via the model=aspire-ethos module parameter.
      
      Caveat: pin 0x1b is shared between headphones jack and surround speakers.
      When headphones are plugged in, the surround speakers get muted
      automatically by the hardware, however all other speakers remain
      unmuted. Currently it's not possible to make use of the generic automute
      function in the driver, because such shared pins are not supported.
      
      If we would change the pin settings to identify the pin as headphones,
      the surround channel and thus the ability to select 5.1 profiles would
      get lost.
      
      This quirk solves the above problem by monitoring jack state of 0x1b and
      by connecting/disconnecting all remaining speaker pins when something
      gets plugged in or unplugged from the headphones jack port.
      Signed-off-by: NSergey Bostandzhyan <jin@mediatomb.cc>
      Link: https://lore.kernel.org/r/20190906093343.GA7640@xn--80adja5bqm.suSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      00066e97
    • C
      ALSA: hda/hdmi: remove redundant assignment to variable pcm_idx · f953e72c
      Colin Ian King 提交于
      Variable pcm_idx is being initialized with a value that is never read
      and is being re-assigned immediately afterwards. The assignment is
      redundant and hence can be removed.
      
      Addresses-Coverity: ("Unused value")
      Signed-off-by: NColin Ian King <colin.king@canonical.com>
      Link: https://lore.kernel.org/r/20190905154826.5916-1-colin.king@canonical.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      f953e72c
  20. 04 9月, 2019 1 次提交