1. 20 9月, 2018 15 次提交
  2. 11 9月, 2018 1 次提交
  3. 30 8月, 2018 3 次提交
    • P
      ALSA: hda: move hda_codec.h to include/sound · be57bfff
      Pierre-Louis Bossart 提交于
      As suggested by Takashi, move this header file to make it easier
      to include from e.g. the Intel Skylake driver in follow-up patches
      Signed-off-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      be57bfff
    • 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
    • T
      ALSA: hda - Clean up jackpoll_ms option handling · 3a182c84
      Takashi Iwai 提交于
      Currently the jackpoll_ms option value is passed indirectly by
      referring to an array in chip->jackpoll_ms although each card needs to
      see only the assigned value.  Also, the sanity check is done at each
      time in get_jackpoll_interval() although basically jackpoll_ms option
      is a read-only, hence we need to evaluate only once at probe time.
      
      This patch is the code simplification about the above points: the jack
      polling interval is directly set to chip->jackpoll_interval so that it
      can be simply copied to each codec.
      
      No functional change but only code reduction.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3a182c84
  4. 28 8月, 2018 3 次提交
    • T
      ALSA: hda: Remove substream allocation/free ops · 193c7e14
      Takashi Iwai 提交于
      Since we dropped the memory page fiddling in the own allocators in
      hda_intel.c, the substream allocation and free ops in both hda_intel.c
      and hda_tegra.c became nothing but the simple calls of the standard
      snd_pcm_lib helpers.  As both are identical, there is no longer need
      for indirect calls via ops; it's a good opportunity for removing ops
      and simplifying the codes.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      193c7e14
    • T
      ALSA: hda: Use new non-cached allocation for non-snoop mode · fc478143
      Takashi Iwai 提交于
      Now the ALSA memory allocator helper supports the new non-cached
      pages, let's use the new type, SNDRV_DMA_TYPE_DEV_UC_SG, for HD-audio
      driver.  This allows us to reduce lots of codes.
      
      As another positive side-effect by this patch, the long-standing issue
      with non-snoop mode playing in the non-mmap mode is fixed.  The core
      memalloc helper does the proper pgprot setup for non-cached pages for
      vmap(), which was missing in the past.
      Reported-and-tested-by: NHans Hu <HansHu@zhaoxin.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      fc478143
    • T
      ALSA: hda: Check the non-cached stream buffers more explicitly · 78c9be61
      Takashi Iwai 提交于
      Introduce a new flag, uc_buffer, to indicate that the controller
      requires the non-cached pages for stream buffers, either as a
      chip-specific requirement or specified via snoop=0 option.
      This improves the code-readability.
      
      Also, this patch fixes the incorrect behavior for C-Media chip where
      the stream buffers were never handled as non-cached due to the check
      of driver_type even if you pass snoop=0 option.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      78c9be61
  5. 21 8月, 2018 1 次提交
  6. 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
  7. 09 8月, 2018 11 次提交
  8. 06 8月, 2018 1 次提交
  9. 02 8月, 2018 1 次提交
  10. 29 7月, 2018 3 次提交