1. 01 2月, 2014 1 次提交
    • S
      ALSA: hda/hdmi - allow PIN_OUT to be dynamically enabled · 75fae117
      Stephen Warren 提交于
      Commit 384a48d7 "ALSA: hda: HDMI: Support codecs with fewer cvts
      than pins" dynamically enabled each pin widget's PIN_OUT only when the
      pin was actively in use. This was required on certain NVIDIA CODECs for
      correct operation. Specifically, if multiple pin widgets each had their
      mux input select the same audio converter widget and each pin widget had
      PIN_OUT enabled, then only one of the pin widgets would actually receive
      the audio, and often not the one the user wanted!
      
      However, this apparently broke some Intel systems, and commit
      6169b673 "ALSA: hda - Always turn on pins for HDMI/DP" reverted the
      dynamic setting of PIN_OUT. This in turn broke the afore-mentioned NVIDIA
      CODECs.
      
      This change supports either dynamic or static handling of PIN_OUT,
      selected by a flag set up during CODEC initialization. This flag is
      enabled for all recent NVIDIA GPUs.
      Reported-by: NUosis <uosisl@gmail.com>
      Cc: <stable@vger.kernel.org> # v3.13
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      75fae117
  2. 30 1月, 2014 20 次提交
  3. 29 1月, 2014 1 次提交
  4. 25 1月, 2014 1 次提交
  5. 22 1月, 2014 2 次提交
  6. 16 1月, 2014 1 次提交
  7. 14 1月, 2014 2 次提交
  8. 13 1月, 2014 2 次提交
  9. 11 1月, 2014 1 次提交
  10. 10 1月, 2014 1 次提交
    • S
      ALSA: ctxfi - Work around emu20k1 glitch to prevent buffered sound data loss · e240a469
      Sarah Bessmer 提交于
      Occasionally, on playback stream ringbuffer wraparound, the EMU20K1
      hardware will momentarily return 0 instead of the proper current(loop)
      address. This patch handles that case, fixing the problem of playback
      position corruption and subsequent loss of buffered sound data, that
      occurs with some common buffering layout patterns(e.g. multiple
      simultaneous output streams with differently-sized or
      non-power-of-2-sized buffers).
      
      An alternate means of fixing the problem would be to read the ca
      register continuously, until two sequential reads return the same
      value; however, that would be a more invasive change, has performance
      implications, and isn't necessary unless there are also issues with the
      value not being updated atomically in regards to individual bits or
      something similar(which I have not encountered through light testing).
      
      I have no EMU20K2 hardware to confirm if the issue is present there,
      but even if it's not, this change shouldn't break anything that's not
      already broken.
      Signed-off-by: NSarah Bessmer <aotos@fastmail.fm>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      e240a469
  11. 09 1月, 2014 4 次提交
  12. 08 1月, 2014 4 次提交