1. 29 5月, 2015 1 次提交
  2. 24 5月, 2015 1 次提交
  3. 19 5月, 2015 1 次提交
  4. 21 4月, 2015 1 次提交
    • T
      ALSA: usb-audio: Fix audio output on Roland SC-D70 sound module · 6d1f2f60
      Takamichi Horikawa 提交于
      Roland SC-D70 reports its device class as vendor specific class and
      the quirk QUIRK_AUDIO_FIXED_ENDPOINT was used for audio output.
      
      In the quirks table the sampling rate was hard-coded to 44100 Hz
      and therefore not worked when the sound module was in 48000 Hz mode.
      
      In this change the quirk is changed to QUIRK_AUDIO_STANDARD_INTERFACE
      but as the sound module reports incorrect bSubframeSize in its
      descriptors, additional change is made in format.c to detect it and
      to override it (which uses the existing code for Edirol SD-90).
      
      Tested both when the sound module was in 44100 Hz mode and 48000 Hz
      mode and both audio input and output. MIDI related part of the driver
      is not touched.
      Signed-off-by: NTakamichi Horikawa <takamichiho@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      6d1f2f60
  5. 12 4月, 2015 1 次提交
  6. 09 4月, 2015 1 次提交
  7. 04 4月, 2015 1 次提交
  8. 12 3月, 2015 1 次提交
  9. 05 3月, 2015 1 次提交
  10. 04 3月, 2015 1 次提交
  11. 18 2月, 2015 1 次提交
  12. 17 2月, 2015 1 次提交
    • J
      ALSA: usb-audio: Don't attempt to get Lifecam HD-5000 sample rate · b62b9980
      Joe Turner 提交于
      Adds a quirk to disable the check that the sample rate has been set correctly, as the Lifecam does not support getting the sample rate.
      
      This means that we don't need to wait for the USB timeout when attempting to get the sample rate. Waiting for the timeout causes problems in some applications, which give up on the device acquisition process before it has had time to complete, resulting in no sound.
      
      [minor tidy up by tiwai]
      Signed-off-by: NJoe Turner <joe@oampo.co.uk>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      b62b9980
  13. 12 2月, 2015 1 次提交
  14. 11 2月, 2015 5 次提交
  15. 09 2月, 2015 1 次提交
  16. 08 2月, 2015 3 次提交
  17. 06 2月, 2015 2 次提交
  18. 03 2月, 2015 2 次提交
  19. 01 2月, 2015 2 次提交
  20. 29 1月, 2015 8 次提交
  21. 28 1月, 2015 4 次提交
    • T
      247d95ee
    • T
      ALSA: line6: Make common PCM pointer callback · 2954f914
      Takashi Iwai 提交于
      Both playback and capture callbacks are identical, so let's merge
      them.
      Tested-by: NChris Rorvick <chris@rorvick.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      2954f914
    • T
      ALSA: line6: Reorganize PCM stream handling · 63e20df1
      Takashi Iwai 提交于
      The current code deals with the stream start / stop solely via
      line6_pcm_acquire() and line6_pcm_release().  This was (supposedly)
      intended to avoid the races, but it doesn't work as expected.  The
      concurrent acquire and release calls can be performed without proper
      protections, thus this might result in memory corruption.
      Furthermore, we can't take a mutex to protect the whole function
      because it can be called from the PCM trigger callback that is an
      atomic context.  Also spinlock isn't appropriate because the function
      allocates with kmalloc with GFP_KERNEL.  That is, these function just
      lead to singular problems.
      
      This is an attempt to reduce the existing races.  First off, separate
      both the stream buffer management and the stream URB management.  The
      former is protected via a newly introduced state_mutex while the
      latter is protected via each line6_pcm_stream lock.
      
      Secondly, the stream state are now managed in opened and running bit
      flags of each line6_pcm_stream.  Not only this a bit clearer than
      previous combined bit flags, this also gives a better abstraction.
      These rewrites allows us to make common hw_params and hw_free
      callbacks for both playback and capture directions.
      
      For the monitor and impulse operations, still line6_pcm_acquire() and
      line6_pcm_release() are used.  They call internally the corresponding
      functions for both playback and capture streams with proper lock or
      mutex.  Unlike the previous versions, these function don't take the
      bit masks but the only single type value.  Also they are supposed to
      be applied only as duplex operations.
      Tested-by: NChris Rorvick <chris@rorvick.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      63e20df1
    • T
      ALSA: line6: Clear prev_fbuf and prev_fsize properly · f2bb614b
      Takashi Iwai 提交于
      Clearing prev_fsize in line6_pcm_acquire() is pretty racy.
      This can be called at any time while the stream is being played.
      Rather better to clear prev_fbuf and prev_fsize at the proper place
      like the stream stop for capture, and just after copying the monitor /
      impulse data inside the spinlock.
      Tested-by: NChris Rorvick <chris@rorvick.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      f2bb614b