1. 18 2月, 2020 1 次提交
  2. 17 2月, 2020 1 次提交
  3. 12 2月, 2020 2 次提交
  4. 06 2月, 2020 1 次提交
  5. 17 1月, 2020 1 次提交
  6. 13 1月, 2020 1 次提交
    • T
      ALSA: hda: Manage concurrent reg access more properly · 1a462be5
      Takashi Iwai 提交于
      In the commit 8e85def5 ("ALSA: hda: enable regmap internal
      locking"), we re-enabled the regmap lock due to the reported
      regression that showed the possible concurrent accesses.  It was a
      temporary workaround, and there are still a few opened races even
      after the revert.  In this patch, we cover those still opened windows
      with a proper mutex lock and disable the regmap internal lock again.
      
      First off, the patch introduces a new snd_hdac_device.regmap_lock
      mutex that is applied for each snd_hdac_regmap_*() call, including
      read, write and update helpers.  The mutex is applied carefully so
      that it won't block the self-power-up procedure in the helper
      function.  Also, this assures the protection for the accesses without
      regmap, too.
      
      The snd_hdac_regmap_update_raw() is refactored to use the standard
      regmap_update_bits_check() function instead of the open-code.  The
      non-regmap case is still open-coded but it's an easy part.  The all
      read and write operations are in the single mutex protection, so it's
      now race-free.
      
      In addition, a couple of new helper functions are added:
      snd_hdac_regmap_update_raw_once() and snd_hdac_regmap_sync().  Both
      are called from HD-audio legacy driver.  The former is to initialize
      the given verb bits but only once when it's not initialized yet.  Due
      to this condition, the function invokes regcache_cache_only(), and
      it's now performed inside the regmap_lock (formerly it was racy) too.
      The latter function is for simply invoking regcache_sync() inside the
      regmap_lock, which is called from the codec resume call path.
      Along with that, the HD-audio codec driver code is slightly modified /
      simplified to adapt those new functions.
      
      And finally, snd_hdac_regmap_read_raw(), *_write_raw(), etc are
      rewritten with the helper macro.  It's just for simplification because
      the code logic is identical among all those functions.
      Tested-by: NKai Vehmanen <kai.vehmanen@linux.intel.com>
      Link: https://lore.kernel.org/r/20200109090104.26073-1-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      1a462be5
  7. 12 1月, 2020 1 次提交
  8. 08 1月, 2020 2 次提交
  9. 05 1月, 2020 2 次提交
  10. 04 1月, 2020 1 次提交
  11. 03 1月, 2020 1 次提交
  12. 30 12月, 2019 1 次提交
  13. 27 12月, 2019 1 次提交
  14. 19 12月, 2019 1 次提交
  15. 11 12月, 2019 1 次提交
  16. 29 11月, 2019 2 次提交
  17. 28 11月, 2019 1 次提交
  18. 25 11月, 2019 1 次提交
  19. 21 11月, 2019 3 次提交
  20. 24 10月, 2019 2 次提交
  21. 21 10月, 2019 1 次提交
  22. 17 10月, 2019 1 次提交
  23. 07 10月, 2019 1 次提交
  24. 20 9月, 2019 1 次提交
    • J
      ALSA: hda/realtek - PCI quirk for Medion E4254 · bd9c10bc
      Jan-Marek Glogowski 提交于
      The laptop has a combined jack to attach headsets on the right.
      The BIOS encodes them as two different colored jacks at the front,
      but otherwise it seems to be configured ok. But any adaption of
      the pins config on its own doesn't fix the jack detection to work
      in Linux. Still Windows works correct.
      
      This is somehow fixed by chaining ALC256_FIXUP_ASUS_HEADSET_MODE,
      which seems to register the microphone jack as a headset part and
      also results in fixing jack sensing, visible in dmesg as:
      
      -snd_hda_codec_realtek hdaudioC0D0:      Mic=0x19
      +snd_hda_codec_realtek hdaudioC0D0:      Headset Mic=0x19
      
      [ Actually the essential change is the location of the jack; the
        driver created "Front Mic Jack" without the matching volume / mute
        control element due to its jack location, which confused PA.
        -- tiwai ]
      Signed-off-by: NJan-Marek Glogowski <glogow@fbihome.de>
      Cc: <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/8f4f9b20-0aeb-f8f1-c02f-fd53c09679f1@fbihome.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      bd9c10bc
  25. 17 9月, 2019 1 次提交
  26. 06 9月, 2019 1 次提交
    • 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
  27. 04 9月, 2019 1 次提交
  28. 03 9月, 2019 1 次提交
  29. 02 9月, 2019 1 次提交
  30. 30 8月, 2019 1 次提交
    • T
      ALSA: hda/realtek - Fix overridden device-specific initialization · 89781d08
      Takashi Iwai 提交于
      The recent change to shuffle the codec initialization procedure for
      Realtek via commit 607ca3bd ("ALSA: hda/realtek - EAPD turn on
      later") caused the silent output on some machines.  This change was
      supposed to be safe, but it isn't actually; some devices have quirk
      setups to override the EAPD via COEF or BTL in the additional verb
      table, which is applied at the beginning of snd_hda_gen_init().  And
      this EAPD setup is again overridden in alc_auto_init_amp().
      
      For recovering from the regression, tell snd_hda_gen_init() not to
      apply the verbs there by a new flag, then apply the verbs in
      alc_init().
      
      BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204727
      Fixes: 607ca3bd ("ALSA: hda/realtek - EAPD turn on later")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      89781d08
  31. 22 8月, 2019 2 次提交
  32. 16 8月, 2019 1 次提交