1. 11 12月, 2018 3 次提交
    • T
      ALSA: hda/intel: Properly free the display power at error path · 457f3c86
      Takashi Iwai 提交于
      When an error occurs in azx_probe_continue(), we should release the
      display power.  However, the current code ignores it and releases the
      display power only for HSW/BDW cases.  Fix it.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      457f3c86
    • T
      ALSA: hda/intel: Drop superfluous AZX_DCAPS_I915_POWERWELL checks · e454ff8e
      Takashi Iwai 提交于
      snd_hdac_display_power() can be called even for a HDA controller
      without DRM binding.  The same is true for other helpers,
      snd_hdac_i915_set_bclk() and snd_hdac_set_codec_wakeup().
      So all superfluous AZX_DCAPS_I915_POWERWELL  checks in hda_intel.c can
      be dropped, and the definition of AZX_DCAPS_I915_POWERWELL itself can
      be removed as well.  This simplifies the code a lot.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      e454ff8e
    • T
      ALSA: hda: Refactor display power management · 029d92c2
      Takashi Iwai 提交于
      The current HD-audio code manages the DRM audio power via too complex
      redirections, and this seems even still unbalanced in a corner case as
      Intel DRM CI has been intermittently reporting.  This patch is a big
      surgery for addressing the complexity and the possible unbalance.
      
      Basically the patch changes the display PM in the following ways:
      
      - Both HD-audio controller and codec drivers call a single helper,
        snd_hdac_display_power().  (Formerly, the display power control from
        a codec was done indirectly via link_power bus ops.)
      
      - snd_hdac_display_power() receives the codec address index.  For
        turning on/off from the controller, pass HDA_CODEC_IDX_CONTROLLER.
      
      - snd_hdac_display_power() doesn't manage refcounts any longer, but
        keeps the power status in bitmap.  If any of controller or codecs is
        turned on, the function updates the DRM power state via get_power()
        or put_power().
      
      Also this refactor allows us more cleanup:
      
      - The link_power bus ops is dropped, so there is no longer indirect
        management, as mentioned in the above.
      
      - hdac_device link_power_control flag is moved to hda_codec
        display_power_control flag, as it's only for HDA legacy.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106525Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      029d92c2
  2. 09 12月, 2018 2 次提交
  3. 07 12月, 2018 1 次提交
  4. 05 12月, 2018 4 次提交
  5. 03 12月, 2018 1 次提交
    • T
      ALSA: hda/realtek - Fix speaker output regression on Thinkpad T570 · 54947cd6
      Takashi Iwai 提交于
      We've got a regression report for some Thinkpad models (at least
      T570s) which shows the too low speaker output volume.  The bisection
      leaded to the commit 61fcf8ec ("ALSA: hda/realtek - Enable Thinkpad
      Dock device for ALC298 platform"), and it's basically adding the two
      pin configurations for the dock, and looks harmless.
      
      The real culprit seems, though, that the DAC assignment for the
      speaker pin is implicitly assumed on these devices, i.e. pin NID 0x14
      to be coupled with DAC NID 0x03.  When more pins are configured by the
      commit above, the auto-parser changes the DAC assignment, and this
      resulted in the regression.
      
      As a workaround, just provide the fixed pin / DAC mapping table for
      this Thinkpad fixup function.  It's no generic solution, but the
      problem itself is pretty much device-specific, so must be good
      enough.
      
      Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1554304
      Fixes: 61fcf8ec ("ALSA: hda/realtek - Enable Thinkpad Dock device for ALC298 platform")
      Cc: <stable@vger.kernel.org>
      Reported-and-tested-by: NJeremy Cline <jcline@redhat.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      54947cd6
  6. 29 11月, 2018 1 次提交
  7. 27 11月, 2018 2 次提交
  8. 26 11月, 2018 1 次提交
  9. 24 11月, 2018 3 次提交
  10. 19 11月, 2018 2 次提交
  11. 12 11月, 2018 2 次提交
  12. 06 11月, 2018 1 次提交
    • T
      ALSA: hda - Fix incorrect clearance of thinkpad_acpi hooks · 5e93a125
      Takashi Iwai 提交于
      Since the commit c647f806 ("ALSA: hda - Allow multiple ADCs for
      mic mute LED controls") we allow enabling the mic mute LED with
      multiple ADCs.  The commit changed the function return value to be
      zero or a negative error, while this change was overlooked in the
      thinkpad_acpi helper code where it still expects a positive return
      value for success.  This eventually leads to a NULL dereference on a
      system that has only a mic mute LED.
      
      This patch corrects the return value check in the corresponding code
      as well.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=201621
      Fixes: c647f806 ("ALSA: hda - Allow multiple ADCs for mic mute LED controls")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      5e93a125
  13. 29 10月, 2018 1 次提交
    • A
      ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops · ac237c28
      Alex Stanoev 提交于
      The Creative Audigy SE (SB0570) card currently exhibits an audible pop
      whenever playback is stopped or resumed, or during silent periods of an
      audio stream. Initialise the IZD bit to the 0 to eliminate these pops.
      
      The Infinite Zero Detection (IZD) feature on the DAC causes the output
      to be shunted to Vcap after 2048 samples of silence. This discharges the
      AC coupling capacitor through the output and causes the aforementioned
      pop/click noise.
      
      The behaviour of the IZD bit is described on page 15 of the WM8768GEDS
      datasheet: "With IZD=1, applying MUTE for 1024 consecutive input samples
      will cause all outputs to be connected directly to VCAP. This also
      happens if 2048 consecutive zero input samples are applied to all 6
      channels, and IZD=0. It will be removed as soon as any channel receives
      a non-zero input". I believe the second sentence might be referring to
      IZD=1 instead of IZD=0 given the observed behaviour of the card.
      
      This change should make the DAC initialisation consistent with
      Creative's Windows driver, as this popping persists when initialising
      the card in Linux and soft rebooting into Windows, but is not present on
      a cold boot to Windows.
      Signed-off-by: NAlex Stanoev <alex@astanoev.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      ac237c28
  14. 22 10月, 2018 1 次提交
  15. 16 10月, 2018 1 次提交
  16. 14 10月, 2018 1 次提交
  17. 12 10月, 2018 2 次提交
  18. 10 10月, 2018 1 次提交
  19. 09 10月, 2018 5 次提交
  20. 07 10月, 2018 2 次提交
  21. 05 10月, 2018 1 次提交
  22. 04 10月, 2018 1 次提交
  23. 03 10月, 2018 1 次提交