1. 29 4月, 2013 2 次提交
  2. 26 4月, 2013 3 次提交
  3. 25 4月, 2013 6 次提交
  4. 24 4月, 2013 3 次提交
  5. 23 4月, 2013 4 次提交
  6. 22 4月, 2013 8 次提交
  7. 21 4月, 2013 7 次提交
  8. 20 4月, 2013 1 次提交
  9. 18 4月, 2013 6 次提交
    • L
      ASoC: ux500: Use generic dmaengine PCM · 22f38f79
      Lars-Peter Clausen 提交于
      Use the generic dmaengine PCM driver instead of a custom implemention.  There is
      a minor functional change, the ux500 PCM driver did not preallocate the audio
      buffer, while the generic dmaengine PCM driver will do this.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Acked-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      22f38f79
    • D
      ALSA: snd-usb: add quirks handler for DSD streams · 126825e7
      Daniel Mack 提交于
      Unfortunately, none of the UAC standards provides a way to identify DSD
      (Direct Stream Digital) formats. Hence, this patch adds a quirks
      handler to identify USB interfaces that are capable of handling DSD.
      
      That quirks handler can augment the already parsed formats bit-field,
      by any of the new SNDRV_PCM_FMTBIT_DSD_{U8_U16} and setting the dsd_dop
      flag in the audio format, if the driver should take care for the DOP
      byte stuffing.
      
      The only devices that are known to work with this are the ones with
      a 'Playback Designs' vendor id.
      Signed-off-by: NDaniel Mack <zonque@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      126825e7
    • D
      ALSA: snd-usb: add support for bit-reversed byte formats · 44dcbbb1
      Daniel Mack 提交于
      There is quite some confusion around the bit-ordering in DSD samples,
      and no general agreement that defines whether hardware is supposed to
      expect the oldest sample in the MSB or the LSB of a byte.
      
      ALSA will hence set the rule that on the software API layer, bytes
      always carry the oldest bit in the most significant bit of a byte, and
      the driver has to translate that at runtime in order to match the
      hardware layout.
      
      This patch adds support for this by adding a boolean flag to the
      audio format struct.
      Signed-off-by: NDaniel Mack <zonque@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      44dcbbb1
    • D
      ALSA: snd-usb: add support for DSD DOP stream transport · d24f5061
      Daniel Mack 提交于
      In order to provide a compatibility way for pushing DSD
      samples through ordinary PCM channels, the "DoP open Standard" was
      invented. See http://www.dsd-guide.com for the official document.
      
      The host is required to stuff DSD marker bytes (0x05, 0xfa,
      alternating) in the MSB of 24 bit wide samples on the bus, in addition
      to the 16 bits of actual DSD sample payload.
      
      To support this, the hardware and software stride logic in the driver
      has to be tweaked a bit, as we make the userspace believe we're
      operating on 16 bit samples, while we in fact push one more byte per
      channel down to the hardware.
      
      The DOP runtime information is stored in struct snd_usb_substream, so
      we can keep track of our state across multiple calls to
      prepare_playback_urb_dsd_dop().
      Signed-off-by: NDaniel Mack <zonque@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      d24f5061
    • D
      ALSA: snd-usb: use ep->stride from urb callbacks · 8a2a74d2
      Daniel Mack 提交于
      For normal PCM transfer, this change has no effect, as the endpoint's
      stride is always frame_bits/8. For DSD DOP streams, however, which is
      added later, the hardware stride differs from the software stride, and
      the endpoint has the correct information in these cases.
      Signed-off-by: NDaniel Mack <zonque@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      8a2a74d2
    • D
      ALSA: add DSD formats · ef7a4f97
      Daniel Mack 提交于
      This patch adds two formats for Direct Stream Digital (DSD), a
      pulse-density encoding format which is described here:
      https://en.wikipedia.org/wiki/Direct_Stream_Digital
      
      DSD operates on 2.8, 5.6 or 11.2MHz sample rates and as a 1-bit
      stream.
      
      The two new types added by this patch describe streams that are capable
      of handling DSD samples in DOP format as 8-bit or in 16-bit (or at a x8
      or x16 data rate, respectively).
      
      DSD itself specifies samples in *bit*, while DOP and ALSA handle them
      as *bytes*. Hence, a factor of 8 or 16 has to be applied for the sample
      rare configuration, according to the following table:
      
                                                        configured hardware
              176.4KHz   352.8kHz   705.6KHz     <----       sample rate
      
      8-bit                2.8MHz     5.6MHz
      16-bit    2.8Mhz     5.6MHz    11.2MHz
      
               `-----------------------------'
                   actual DSD sample rates
      Signed-off-by: NDaniel Mack <zonque@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      ef7a4f97