1. 18 5月, 2012 1 次提交
  2. 15 5月, 2012 1 次提交
  3. 14 5月, 2012 2 次提交
  4. 10 5月, 2012 1 次提交
  5. 09 5月, 2012 2 次提交
    • D
      ALSA: HDA: Lessen CPU usage when waiting for chip to respond · 32cf4023
      David Henningsson 提交于
      When an IRQ for some reason gets lost, we wait up to a second using
      udelay, which is CPU intensive. This patch improves the situation by
      waiting about 30 ms in the CPU intensive mode, then stepping down to
      using msleep(2) instead. In essence, we trade some granularity in
      exchange for less CPU consumption when the waiting time is a bit longer.
      
      As a result, PulseAudio should no longer be killed by the kernel
      for taking up to much RT-prio CPU time. At least not for *this* reason.
      Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com>
      Tested-by: NArun Raghavan <arun.raghavan@collabora.co.uk>
      Cc: <stable@kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      32cf4023
    • T
      ALSA: hda - Always resume the codec immediately · 7f30830b
      Takashi Iwai 提交于
      This is a fix for the problem in commit 785f857d, the pop noise
      issue on some machines with ALC269.  The problem was the uninitialized
      state after the resume due to the delayed resume of the codec chips.
      In that commit, we tried to fix by forcibly putting the codec to D3 at
      suspend.  But, this still also leaves the uninitialized state after
      resume, and it _might_ be still problematic with some BIOS.  Since the
      commit turned out to regress another issues, we reverted it in the
      end.
      
      Now, in this fix, try to fix by turning on the codec immediately at
      the resume path.  We need to take care of the power-saving in this
      case.  When the device is woken up at the power-saved state, it should
      go power-saving again after the resume.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      7f30830b
  6. 08 5月, 2012 1 次提交
    • T
      Revert "ALSA: hda - Set codec to D3 forcibly even if not used" · 619a341b
      Takashi Iwai 提交于
      This reverts commit 785f857d.
      
      The commit causes a problem with the wrong D3 state after suspend
      because the call of hda_set_power_state() involves with the power-up
      sequence, which changes the power_count, and this confuses the resume
      sequence that checks the power_count as well.
      
      Originally, this go-to-D3 sequence should be a simple task without the
      power-up sequence.  But, it'd need some proper sanity checks in the
      case of power-saved state, so it's not too easy to write now in the
      3.4-rc cycle.
      
      In short, the safest option now is to revert this affecting commit.
      
      Of course, we need to clean up and robustify the power-saving code
      better for 3.5 kernel.
      Reported-by: NKonstantin Khlebnikov <khlebnikov@openvz.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      619a341b
  7. 24 4月, 2012 1 次提交
  8. 07 3月, 2012 1 次提交
    • T
      ALSA: hda - Set codec to D3 forcibly even if not used · 785f857d
      Takashi Iwai 提交于
      We've seen a problem with a pop-noise at suspend/resume on a HP
      machine with ALC269, and it turned out to be an issue that the
      controller going to D3 while the codec is unused.
      
      When the device is once suspended and resumed and kept unused, the
      driver doesn't initialize the codecs.  Instead, the codec chips are
      set up dynamically at the first usage.  Now, suppose the device going
      to suspend again before the codec is set up.  The controller is turned
      off to D3 while the codec chips are untouched.  This caused a pop
      noise because the codec chip might have been turned on implicitly by
      the hardware.
      
      As a workaround, the codec chip needs to be set to D3 when going to
      suspend no matter whether it was used or not.  Also, for making it
      happening, the controller has to be always set up in the resume path.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      785f857d
  9. 28 2月, 2012 1 次提交
  10. 08 2月, 2012 1 次提交
  11. 24 1月, 2012 2 次提交
  12. 20 1月, 2012 1 次提交
  13. 13 1月, 2012 1 次提交
  14. 08 1月, 2012 2 次提交
  15. 01 1月, 2012 1 次提交
  16. 19 12月, 2011 1 次提交
  17. 15 12月, 2011 1 次提交
  18. 14 12月, 2011 2 次提交
  19. 12 12月, 2011 1 次提交
  20. 29 11月, 2011 1 次提交
    • M
      ALSA: hda_intel - revert a quirk that affect VIA chipsets · 4f8b6c7d
      Marc Vertes 提交于
      This quirk sould be reverted. It has the following probems:
      
      1) The quirk was intended to "ASUS MV2-MX SE" motherboards only, but the
      ID used matches a much broader range, potentially all boards containing a
      VIA chipset model in the family of vendor VIA 0x1106 and audio device ID
      0x3288, which encompasses VIA-VT82xx, VIA-VT1xx and VIA-VT20xx chipsets.
      
      2) VIA chipsets rely on azx_via_get_position() to handle correctly dma
      transfers during capture. Using POS_FIX_LPIB instead of POS_FIX_VIACOMBO
      leads to partially corrupted input buffers during capture. The effects
      of this bug are not immediately visible, it took strong DSP expertise,
      some expensive signal generator and a spectrum analyzer to identify it
      and verify correct behaviour using original default.
      
      3) It's almost certain that the quirk did not fix the real problem,
      if there was one. Refer to original submission:
      http://mailman.alsa-project.org/pipermail/alsa-devel/2010-February/025109.htmlSigned-of-by: NMarc Vertes <mvertes@sigfox.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      4f8b6c7d
  21. 26 11月, 2011 1 次提交
    • T
      ALSA: hda - Supports more audio streams · 01b65bfb
      Takashi Iwai 提交于
      So far, the driver supports up to 10 streams.  This is a restriction in
      hda_intel.c and hda_codec.c: in the former, the fixed array size limits
      the amount, and in the latter, the fixed device-number assignment table
      (in get_empty_pcm_device()) limits the possibility.
      
      This patch reduces the restriction by
      - using linked list for managing PCM instances in hda_intel.c, and
      - assigning non-fixed device numbers for the extra devices
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      01b65bfb
  22. 06 11月, 2011 1 次提交
  23. 18 10月, 2011 1 次提交
  24. 06 10月, 2011 1 次提交
    • T
      ALSA: hda - Distinguish each substream for better sticky assignment · d5cf9911
      Takashi Iwai 提交于
      The commit ef18bede introduced a
      mechanism to assign the previously used slot for the next reopen of a
      PCM stream.  But the PCM device number isn't always unique (it may
      have multiple substreams), and also the code doesn't check the stream
      direction, thus both playback and capture streams share the same
      device number.
      
      For avoiding this conflict, make a unique key for each substream and
      store/check this value at reopening.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      d5cf9911
  25. 30 9月, 2011 1 次提交
  26. 29 9月, 2011 1 次提交
    • T
      ALSA: hda - Add snoop option · 27fe48d9
      Takashi Iwai 提交于
      Added a new option "snoop" for the traffic control of the HD-audio
      controller chip.  When set to 0, the non-snooping mode is used with
      the traffic control bit is set in each stream control register.
      This may allow better operations in the low power mode, but the actual
      implementation is depending pretty much on the chipset.
      
      As already implemented, more or less each chipset has own snoop-control
      register bit.  Now this setup refers to the snoop option, too.
      
      Also, a new VIA chipset may require the non-snooping mode when set so
      in BIOS.  In such a case, the option value is overridden.
      
      As default, it's still set to snoop=1 for keeping the same behavior as
      before.  In near future, it'll be set to 0 as default after checking
      it works in every system well.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      27fe48d9
  27. 04 8月, 2011 1 次提交
  28. 12 7月, 2011 1 次提交
  29. 18 6月, 2011 1 次提交
  30. 10 6月, 2011 3 次提交
  31. 07 6月, 2011 2 次提交
  32. 06 6月, 2011 1 次提交
    • S
      ALSA: hda: Allow multple SPDIF controls per codec · 7c935976
      Stephen Warren 提交于
      Currently, the data that backs the kcontrols created by
      snd_hda_create_spdif_out_ctls is stored directly in struct hda_codec. When
      multiple sets of these controls are stored, they will all manipulate the
      same data, causing confusion. Instead, store an array of this data, one
      copy per converter, to isolate the controls.
      
      This patch would cause a behavioural change in the case where
      snd_hda_create_spdif_out_ctls was called multiple times for a single codec.
      As best I can tell, this is never the case for any codec.
      
      This will be relevant at least for some HDMI audio codecs, such as the
      NVIDIA GeForce 520 and Intel Ibex Peak. A future change will modify the
      driver's handling of those codecs to create multiple PCMs per codec. Note
      that this issue isn't affected by whether one creates a PCM-per-converter
      or PCM-per-pin; there are multiple of both within a single codec in both
      of those codecs.
      
      Note that those codecs don't currently create multiple PCMs for the codec
      due to the default HW mux state of all pins being to point at the same
      converter, hence there is only a single converter routed to any pin, and
      hence only a single PCM.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      7c935976