[alsa-devel] [PATCH 0/3] ALSA: snd-usb: Some small fixes to make Playback Design products work

Daniel Mack zonque at gmail.com
Sun Mar 17 13:07:23 CET 2013

Thanks to Andreas, I got my hands on a Playback Design MPD-3 and hacked
up some small hanges necessary to make it fully work with snd-usb.

The device reports 0x80000000 in the bmFormats field of two of three of
its alternate settings, which wrongly made the driver believe it's a
usual PCM endpoint (actually due to a fix-up fallback). However, bit 31
of this mask in fact denotes 'raw data'.

The effect of this issue is that in addition to the first altsetting with
a bit depth of 24, the driver exposed 8-bit and 16-bit native audio
formats on the raw data endpoints, which do not work as expected.

Also, those devices need a 50ms delay after switching the USB interface.


Daniel Mack (3):
  ALSA: snd-usb: handle the bmFormats field as unsigned int
  ALSA: snd-usb: handle raw data format of UAC2 devices
  ALSA: snd-usb: add delay quirk for "Playback Design" products

 include/linux/usb/audio-v2.h |    2 ++
 sound/usb/format.c           |   20 ++++++++++++--------
 sound/usb/format.h           |    2 +-
 sound/usb/pcm.c              |    7 +++++++
 sound/usb/stream.c           |    2 +-
 5 files changed, 23 insertions(+), 10 deletions(-)


More information about the Alsa-devel mailing list