1. 16 1月, 2017 1 次提交
  2. 15 1月, 2017 1 次提交
    • T
      ALSA: hda - Make single_cmd option to stop the fallback mechanism · 41438f13
      Takashi Iwai 提交于
      HD-audio driver has a mechanism to fall back to the single cmd mode as
      a last resort if the CORB/RIRB communication goes wrong even after
      switching to the polling mode.  The switching has worked in the past
      well, but Enrico Mioso reported that his system crashes when this
      happens.
      
      Although the actual cause of the crash isn't still fully analyzed yet,
      it'd be in anyway good to provide an option to turn off the fallback
      mode.  Now this patch extends the behavior of the existing single_cmd
      option for that.  Namely,
      
      - The option is changed from bool to bint.
      - As default, it is the mode allowing the fallback to single cmd.
      - Once when either true/false value is given to the option, the driver
        explicitly turns on/off the single cmd mode, but without the
        fallback.
      
      That is, if you want to disable the fallback, just pass single_cmd=0
      option.  Passing single_cmd=1 will keep working like before.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      41438f13
  3. 12 1月, 2017 2 次提交
  4. 05 1月, 2017 1 次提交
  5. 04 1月, 2017 2 次提交
    • T
      ALSA: hda - Fix deadlock of controller device lock at unbinding · ab949d51
      Takashi Iwai 提交于
      Imre Deak reported a deadlock of HD-audio driver at unbinding while
      it's still in probing.  Since we probe the codecs asynchronously in a
      work, the codec driver probe may still be kicked off while the
      controller itself is being unbound.  And, azx_remove() tries to
      process all pending tasks via cancel_work_sync() for fixing the other
      races (see commit [0b8c8219: ALSA: hda - Cancel probe work instead
      of flush at remove]), now we may meet a bizarre deadlock:
      
      Unbind snd_hda_intel via sysfs:
        device_release_driver() ->
          device_lock(snd_hda_intel) ->
            azx_remove() ->
              cancel_work_sync(azx_probe_work)
      
      azx_probe_work():
        codec driver probe() ->
           __driver_attach() ->
             device_lock(snd_hda_intel)
      
      This deadlock is caused by the fact that both device_release_driver()
      and driver_probe_device() take both the device and its parent locks at
      the same time.  The codec device sets the controller device as its
      parent, and this lock is taken before the probe() callback is called,
      while the controller remove() callback gets called also with the same
      lock.
      
      In this patch, as an ugly workaround, we unlock the controller device
      temporarily during cancel_work_sync() call.  The race against another
      bind call should be still suppressed by the parent's device lock.
      Reported-by: NImre Deak <imre.deak@intel.com>
      Fixes: 0b8c8219 ("ALSA: hda - Cancel probe work instead of flush at remove")
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      ab949d51
    • K
      ALSA: hda/realtek - Add new codec ID ALC299 · 28f1f9b2
      Kailang Yang 提交于
      ALC299 was similar as ALC225.
      Add headset support for ALC299.
      ALC3271 was for Dell rename.
      Signed-off-by: NKailang Yang <kailang@realtek.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      28f1f9b2
  6. 28 12月, 2016 4 次提交
  7. 07 12月, 2016 1 次提交
  8. 06 12月, 2016 2 次提交
  9. 30 11月, 2016 1 次提交
  10. 29 11月, 2016 1 次提交
  11. 25 11月, 2016 1 次提交
  12. 24 11月, 2016 2 次提交
  13. 15 11月, 2016 4 次提交
    • T
      ALSA: emu10k1: Use workqueue instead of kthread for emu1010 fw polling · aeaa6203
      Takashi Iwai 提交于
      This patch is a cleanup of EMU1010 dock probing code in emu10k1 driver
      to use work instead of kthread in a loop.  The work is lighter and
      easier to control than kthread, in general.
      
      Instead of a loop with the explicit sleep, we do simply
      delayed-schedule the work.  At suspend/resume callbacks, the work is
      canceled and restarted, respectively.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      aeaa6203
    • T
      ALSA: emu10k1: Simplify firmware loader code · 4e4dfe4c
      Takashi Iwai 提交于
      The EMU1010 support in emu10k1 driver has two request_firmware()
      calls, one for the main board and one for the dock.  Both call
      patterns are fairly similar, and we can simplify it by introducing a
      helper function and a table instead of the open switch/case.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      4e4dfe4c
    • T
      ALSA: emu10k1: Fix emu1010 dock attach check · e8c44abe
      Takashi Iwai 提交于
      The emu1010_firmware_thread() checks the previous dock status, but a
      wrong register is recorded as the last status when the dock is plugged
      in.  Usually this isn't a big issue since this value gets overwritten
      by the next loop after one second.  But when a dock is unplugged
      immediately after plugging, it means essentially missing undock
      handling.
      
      This patch addresses it by remembering the correct register value.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      e8c44abe
    • T
      ALSA: ac97: Fix kernel-doc error with sphinx formatter · 1936f004
      Takashi Iwai 提交于
      Sphinx takes a word like (*foo)->bar in the kernel-doc comments as a
      part of the emphasized marker, and complains like
      
        ./sound/pci/ac97/ac97_codec.c:1908: WARNING: Inline emphasis start-string without end-string.
      
      For avoiding this, wrap it with the quotes (``) in the comment.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      1936f004
  14. 14 11月, 2016 1 次提交
  15. 11 11月, 2016 1 次提交
    • T
      ALSA: hda - Fix mic regression by ASRock mobo fixup · 9a254191
      Takashi Iwai 提交于
      The commit [1a3f0991: ALSA: hda - Fix surround output pins for
      ASRock B150M mobo] introduced a fixup of pin configs for ASRock
      mobos to fix the surround outputs.  However, this overrides the pin
      configs of the mic pins as if they are outputs-only, effectively
      disabling the mic inputs.  Of course, it's a regression wrt mic
      functionality.
      
      Actually the pins 0x18 and 0x1a don't need to be changed; we just need
      to disable the bogus pins 0x14 and 0x15.  Then the auto-parser will
      pick up mic pins as switchable and assign the surround outputs there.
      
      This patch removes the incorrect pin overrides of NID 0x18 and 0x1a
      from the ASRock fixup.
      
      Fixes: 1a3f0991 ('ALSA: hda - Fix surround output pins for ASRock...')
      Reported-and-tested-by: NVitor Antunes <vitor.hda@gmail.com>
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=187431
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      9a254191
  16. 10 11月, 2016 1 次提交
  17. 08 11月, 2016 1 次提交
  18. 25 10月, 2016 1 次提交
  19. 20 10月, 2016 1 次提交
  20. 18 10月, 2016 3 次提交
  21. 13 10月, 2016 1 次提交
    • H
      ALSA: hda - Fix a failure of micmute led when having multi adcs · 4875a5f7
      Hui Wang 提交于
      On a Dell laptop, there is no global adcs for all input devices, so
      the input devices use the different adc, as a result, dyn_adc_switch
      is set to true.
      
      In this situation, it is safe to control the micmute led according to
      user's choice of muting/unmuting the current input device, since only
      current input device path is active, while other input device paths
      are inactive and powered down.
      
      Fixes: 00ef9940 ('ALSA: hda - add mic mute led hook for dell machines')
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NHui Wang <hui.wang@canonical.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      4875a5f7
  22. 27 9月, 2016 1 次提交
  23. 26 9月, 2016 1 次提交
  24. 23 9月, 2016 1 次提交
    • P
      drm/i915/dp: DP audio API changes for MST · f9318941
      Pandiyan, Dhinakaran 提交于
      DP MST provides the capability to send multiple video and audio streams
      through a single port. This requires the API's between i915 and audio
      drivers to distinguish between multiple audio capable displays that can be
      connected to a port. Currently only the port identity is shared in the
      APIs. This patch adds support for MST with an additional parameter
      'int pipe'. The existing parameter 'port' does not change it's meaning.
      
      pipe =
      	MST	: display pipe that the stream originates from
      	Non-MST	: -1
      
      Affected APIs:
      struct i915_audio_component_ops
      -       int (*sync_audio_rate)(struct device *, int port, int rate);
      +	int (*sync_audio_rate)(struct device *, int port, int pipe,
      +	     int rate);
      
      -       int (*get_eld)(struct device *, int port, bool *enabled,
      -                       unsigned char *buf, int max_bytes);
      +       int (*get_eld)(struct device *, int port, int pipe,
      +		       bool *enabled, unsigned char *buf, int max_bytes);
      
      struct i915_audio_component_audio_ops
      -       void (*pin_eld_notify)(void *audio_ptr, int port);
      +       void (*pin_eld_notify)(void *audio_ptr, int port, int pipe);
      
      This patch makes dummy changes in the audio drivers (thanks Libin) for
      build to succeed. The audio side drivers will send the right 'pipe' values
      for MST in patches that will follow.
      
      v2:
      Renamed the new API parameter from 'dev_id' to 'pipe'. (Jim, Ville)
      Included Asoc driver API compatibility changes from Jeeja.
      Added WARN_ON() for invalid pipe in get_saved_encoder(). (Takashi)
      Added comment for av_enc_map[] definition. (Takashi)
      
      v3:
      Fixed logic error introduced while renaming 'dev_id' as 'pipe' (Ville)
      Renamed get_saved_encoder() to get_saved_enc() to reduce line length
      
      v4:
      Rebased.
      Parameter check for pipe < -1 values in get_saved_enc() (Ville)
      Switched to for_each_pipe() in get_saved_enc() (Ville)
      Renamed 'pipe' to 'dev_id' in audio side code (Takashi)
      
      v5:
      Included a comment for the dev_id arg. (Libin)
      Signed-off-by: NDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
      Reviewed-by: NTakashi Iwai <tiwai@suse.de>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1474488168-2343-1-git-send-email-dhinakaran.pandiyan@intel.com
      f9318941
  25. 21 9月, 2016 1 次提交
  26. 16 9月, 2016 1 次提交
  27. 12 9月, 2016 1 次提交
    • J
      ALSA: pci: constify local structures · 071f1344
      Julia Lawall 提交于
      For structure types defined in the same file or local header files, find
      top-level static structure declarations that have the following
      properties:
      1. Never reassigned.
      2. Address never taken
      3. Not passed to a top-level macro call
      4. No pointer or array-typed field passed to a function or stored in a
      variable.
      Declare structures having all of these properties as const.
      
      Done using Coccinelle.
      Based on a suggestion by Joe Perches <joe@perches.com>.
      Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      071f1344
  28. 11 9月, 2016 1 次提交