[alsa-devel] [PATCH v2 0/7] ALSA: USB-audio: Support Zoom R16 playback

Ricard Wanderlof ricard.wanderlof at axis.com
Mon Oct 19 08:52:48 CEST 2015


V2: Change u32 to __le32 (kbuild test robot warning).
    Since Zoom R24 most likely behaves as R16 when used as an audio
    interface, refer to "R16/24" throughout in all comments (no code
    change).
    Tested both in Linux 3.16.7 (with appropriate backports) and 4.3.0 .
    Made changelogs more descriptive.

The Zoom R16 has a nonstandard playback format where each isochronous packet
contains a length descriptor in the first four bytes.

This patch series implements a quirk which involves adding the extra length
descriptor whenever outgoing isochronous packets are generated.

The first four patches refactor some code in pcm.c and endpoint.c before
the actual quirk implementation. A final commit cleans up the entry in
the quirks table.

Big thanks to Panu for testing this patch.

Signed-off-by: Ricard Wanderlof <ricardw at axis.com>
Tested-by: Panu Matilainen <pmatilai at laiskiainen.org>

Ricard Wanderlof (7):
  Break out copying to urb from prepare_playback_urb()
  Also move out hwptr_done wrap from prepare_playback_urb()
  Break out creation of silent urbs from prepare_outbound_urb()
  Add offset parameter to copy_to_urb()
  Add quirk for Zoom R16/24 playback
  Adjust max packet size calculation for tx_length_quirk
  Remove mixer entry from Zoom R16/24 quirk

 sound/usb/card.h         |  1 +
 sound/usb/endpoint.c     | 73 +++++++++++++++++++++++++++++++++--------------
 sound/usb/pcm.c          | 74 +++++++++++++++++++++++++++++++++++++-----------
 sound/usb/quirks-table.h | 14 +++------
 sound/usb/quirks.c       |  3 ++
 sound/usb/stream.c       |  1 +
 sound/usb/usbaudio.h     |  1 +
 7 files changed, 119 insertions(+), 48 deletions(-)

-- 
2.1.4



More information about the Alsa-devel mailing list