1. 13 12月, 2018 4 次提交
  2. 06 12月, 2018 6 次提交
  3. 27 11月, 2018 2 次提交
  4. 14 11月, 2018 8 次提交
  5. 04 10月, 2018 1 次提交
  6. 13 9月, 2018 1 次提交
    • T
      ALSA: hda - Enable runtime PM only for discrete GPU · 37a3a98e
      Takashi Iwai 提交于
      The recent change of vga_switcheroo allowed the runtime PM for
      HD-audio on AMD GPUs, but this also resulted in a regression.  When
      the HD-audio controller driver gets runtime-suspended, HD-audio link
      is turned off, and the hotplug notification is ignored.  This leads to
      the inconsistent audio state (the connection isn't notified and ELD is
      ignored).
      
      The best fix would be to implement the proper ELD notification via the
      audio component, but it's still not ready.  As a quick workaround,
      this patch adds the check of runtime_idle and allows the runtime
      suspend only when the vga_switcheroo is bound with discrete GPU.
      That is, a system with a single GPU and APU would be again without
      runtime PM to keep the HD-audio link for the hotplug notification and
      ELD read out.
      
      Also, the codec->auto_runtime_pm flag is set only for the discrete GPU
      at the time GPU gets bound via vga_switcheroo (i.e. only dGPU is
      forcibly runtime-PM enabled), so that APU can still get the ELD
      notification.
      
      For identifying which GPU is bound, a new vga_switcheroo client
      callback, gpu_bound, is implemented.  The vga_switcheroo simply calls
      this when GPU is bound, and tells whether it's dGPU or APU.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200945
      Fixes: 07f4f97d ("vga_switcheroo: Use device link for HDA controller")
      Reported-by: NJian-Hong Pan <jian-hong@endlessm.com>
      Tested-by: NJian-Hong Pan <jian-hong@endlessm.com>
      Acked-by: NLukas Wunner <lukas@wunner.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      37a3a98e
  7. 10 9月, 2018 1 次提交
  8. 30 8月, 2018 1 次提交
    • T
      ALSA: hda - Fix cancel_work_sync() stall from jackpoll work · 16037643
      Takashi Iwai 提交于
      On AMD/ATI controllers, the HD-audio controller driver allows a bus
      reset upon the error recovery, and its procedure includes the
      cancellation of pending jack polling work as found in
      snd_hda_bus_codec_reset().  This works usually fine, but it becomes a
      problem when the reset happens from the jack poll work itself; then
      calling cancel_work_sync() from the work being processed tries to wait
      the finish endlessly.
      
      As a workaround, this patch adds the check of current_work() and
      applies the cancel_work_sync() only when it's not from the
      jackpoll_work.
      
      This doesn't fix the root cause of the reported error below, but at
      least, it eases the unexpected stall of the whole system.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200937
      Cc: <stable@vger.kernel.org>
      Cc: Lukas Wunner <lukas@wunner.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      16037643
  9. 21 8月, 2018 1 次提交
  10. 16 8月, 2018 1 次提交
    • L
      ALSA: update dell-wmi mic-mute registration to new world order · 70b20dd7
      Linus Torvalds 提交于
      Commit c647f806 ("ALSA: hda - Allow multiple ADCs for mic mute LED
      controls") changed the return value of the snd_hda_gen_add_micmute_led()
      without actually updating the callers.
      
      Admittedly, almost no callers actually cared about the return value.
      But one call site very much did: the Dell wmi code.  It would see the
      registration return zero, which _used_ to mean "failed" but now means
      "success", and clear the dell_micmute_led_set_func pointer.
      
      End result: the successful registration would end up calling the Dell
      code that thought it had all failed, and call through a NULL pointer.
      
      To make matters worse, it ends up being a tail-call, and with the
      retpoline sequence you don't even see the caller (dell_micmute_update())
      in the stack trace, so the error ended up way less obvious than it
      should have been.
      
      Fixes: c647f806 "ALSA: hda - Allow multiple ADCs for mic mute LED controls"
      Cc: Takashi Iwai <tiwai@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      70b20dd7
  11. 09 8月, 2018 12 次提交
  12. 06 8月, 2018 2 次提交