alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/15] Line6 POD X3/X3Live suport
@ 2016-08-11 19:02 Andrej Krutak
  2016-08-11 19:02 ` [PATCH 01/15] ALSA: line6: Make driver configuration more generic Andrej Krutak
                   ` (18 more replies)
  0 siblings, 19 replies; 81+ messages in thread
From: Andrej Krutak @ 2016-08-11 19:02 UTC (permalink / raw)
  To: alsa-devel; +Cc: Andrej Krutak

Hello all,


attached is the first version of the driver, based on POD HD. They share a lot
of similarities, but at the same time there were some generalizations needed. I
think POD HD could follow up on these patches to add hwdep support, perhaps
helix too... I tried to not introduce regressions to the old HW.

Anyhow, this is probably not the final version of the patches, as it is my
first submission to upstream - I'm sure there will be some issues.
Especially the patch
"Use device_create_file instead of snd_card_add_dev_attr" I have to revisit,
it may not be necessarry in the end.

Other than that, the patches mostly pass `make checkpatches`. I've been
testing the driver for a while now, including lock debugging options etc.,
and there don't seem to be functional problems.

There's one missing thing - the driver uses bulk USB interface of the
device, but so far I wasn't able to make the usb_driver_claim_interface()
work... I hope this can be added later, if someone (or I) finds time.


Thanks for your inputs, greetings,


Andrej Krutak (15):
  ALSA: line6: Make driver configuration more generic.
  ALSA: line6: Add LINE6_CAP_IN_NEEDS_OUT, a void playback stream during
    capture
  ALSA: line6: Distinguish device init (ctrl EP) and MIDI data transfer
    (int EP)
  ALSA: line6: Add support for POD X3
  ALSA: line6: Use device_create_file instead of snd_card_add_dev_attr
  ALSA: line6: Allow bulk endpoints instead of interrupt endpoints
  ALSA: line6: Allow processing of raw incoming messages
  ALSA: line6: Cleanup initialization
  ALSA: line6: Add hwdep interface to access the POD control messages
  ALSA: line6: Add proper locks for hwdep open/release/read
  ALSA: line6: Only free buffer if it is set.
  ALSA: line6: Give up on the lock while URBs are released.
  ALSA: line6: Add support for POD X3 Live (only USB ID differs from POD
    X3)
  ALSA: line6: Give up hwdep spinlock temporarily during read operation
  ALSA: line6: Remove double line6_pcm_release() after failed acquire.

 include/uapi/sound/asound.h |   3 +-
 sound/usb/line6/Kconfig     |   4 +-
 sound/usb/line6/capture.c   |  49 +++++--
 sound/usb/line6/driver.c    | 303 ++++++++++++++++++++++++++++++++++------
 sound/usb/line6/driver.h    |  71 +++++++---
 sound/usb/line6/midi.c      |   2 +-
 sound/usb/line6/pcm.c       |  83 +++++++----
 sound/usb/line6/pcm.h       |  19 +--
 sound/usb/line6/playback.c  |  37 +++--
 sound/usb/line6/pod.c       |  12 +-
 sound/usb/line6/podhd.c     | 328 +++++++++++++++++++++++++++++++++++++++++---
 sound/usb/line6/toneport.c  |   6 +-
 sound/usb/line6/variax.c    |   6 +-
 13 files changed, 767 insertions(+), 156 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 81+ messages in thread

end of thread, other threads:[~2016-09-19 21:07 UTC | newest]

Thread overview: 81+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-11 19:02 [PATCH 00/15] Line6 POD X3/X3Live suport Andrej Krutak
2016-08-11 19:02 ` [PATCH 01/15] ALSA: line6: Make driver configuration more generic Andrej Krutak
2016-08-12  8:24   ` Takashi Iwai
2016-08-11 19:02 ` [PATCH 02/15] ALSA: line6: Add LINE6_CAP_IN_NEEDS_OUT, a void playback stream during capture Andrej Krutak
2016-08-11 19:02 ` [PATCH 03/15] ALSA: line6: Distinguish device init (ctrl EP) and MIDI data transfer (int EP) Andrej Krutak
2016-08-11 19:02 ` [PATCH 04/15] ALSA: line6: Add support for POD X3 Andrej Krutak
2016-08-11 19:02 ` [PATCH 05/15] ALSA: line6: Use device_create_file instead of snd_card_add_dev_attr Andrej Krutak
2016-08-12  8:26   ` Takashi Iwai
2016-08-11 19:02 ` [PATCH 06/15] ALSA: line6: Allow bulk endpoints instead of interrupt endpoints Andrej Krutak
2016-08-11 19:02 ` [PATCH 07/15] ALSA: line6: Allow processing of raw incoming messages Andrej Krutak
2016-08-11 19:02 ` [PATCH 08/15] ALSA: line6: Cleanup initialization Andrej Krutak
2016-08-11 19:02 ` [PATCH 09/15] ALSA: line6: Add hwdep interface to access the POD control messages Andrej Krutak
2016-08-12  8:44   ` Takashi Iwai
2016-08-12 11:10     ` Andrej Kruták
2016-08-12 12:03       ` Takashi Iwai
2016-08-12 12:15         ` Andrej Kruták
2016-08-12 12:30           ` Takashi Iwai
2016-08-12 16:43             ` Andrej Kruták
2016-08-12 20:01               ` Takashi Iwai
2016-08-14  7:59                 ` Andrej Kruták
2016-08-11 19:02 ` [PATCH 10/15] ALSA: line6: Add proper locks for hwdep open/release/read Andrej Krutak
2016-08-12  8:44   ` Takashi Iwai
2016-08-11 19:02 ` [PATCH 11/15] ALSA: line6: Only free buffer if it is set Andrej Krutak
2016-08-12  8:45   ` Takashi Iwai
2016-08-11 19:02 ` [PATCH 12/15] ALSA: line6: Give up on the lock while URBs are released Andrej Krutak
2016-08-12  8:45   ` Takashi Iwai
2016-08-12 11:14     ` Andrej Kruták
2016-08-12 12:04       ` Takashi Iwai
2016-08-11 19:02 ` [PATCH 13/15] ALSA: line6: Add support for POD X3 Live (only USB ID differs from POD X3) Andrej Krutak
2016-08-11 19:02 ` [PATCH 14/15] ALSA: line6: Give up hwdep spinlock temporarily during read operation Andrej Krutak
2016-08-12  8:46   ` Takashi Iwai
2016-08-11 19:02 ` [PATCH 15/15] ALSA: line6: Remove double line6_pcm_release() after failed acquire Andrej Krutak
2016-08-12  8:46   ` Takashi Iwai
2016-08-12  8:14 ` [PATCH 00/15] Line6 POD X3/X3Live suport Takashi Iwai
2016-08-12 10:31   ` Andrej Kruták
2016-08-18 22:20 ` [PATCH v2 0/9] " Andrej Krutak
2016-08-18 22:20   ` [PATCH v2 1/9] ALSA: line6: Make driver configuration more generic Andrej Krutak
2016-08-24 14:50     ` Takashi Iwai
2016-08-18 22:20   ` [PATCH v2 2/9] ALSA: line6: Add LINE6_CAP_IN_NEEDS_OUT, a void playback stream during capture Andrej Krutak
2016-08-24 14:53     ` Takashi Iwai
2016-08-18 22:20   ` [PATCH v2 3/9] ALSA: line6: Distinguish device init (ctrl EP) and MIDI data transfer (int EP) Andrej Krutak
2016-08-24 14:56     ` Takashi Iwai
2016-08-18 22:20   ` [PATCH v2 4/9] ALSA: line6: Add support for POD X3 Andrej Krutak
2016-08-18 22:20   ` [PATCH v2 5/9] ALSA: line6: Add support for POD X3 Live (only USB ID differs from POD X3) Andrej Krutak
2016-08-18 22:20   ` [PATCH v2 6/9] ALSA: line6: Allow bulk endpoints instead of interrupt endpoints Andrej Krutak
2016-08-24 15:02     ` Takashi Iwai
2016-08-18 22:20   ` [PATCH v2 7/9] ALSA: line6: Allow processing of raw incoming messages Andrej Krutak
2016-08-24 15:05     ` Takashi Iwai
2016-08-30 14:35       ` Andrej Kruták
2016-08-18 22:20   ` [PATCH v2 8/9] ALSA: line6: Cleanup initialization Andrej Krutak
2016-08-24 15:06     ` Takashi Iwai
2016-08-18 22:20   ` [PATCH v2 9/9] ALSA: line6: Add hwdep interface to access the POD control messages Andrej Krutak
2016-09-16  9:12 ` [PATCH v3 00/12] Line6 POD X3/X3Live suport Andrej Krutak
2016-09-16  9:12   ` [PATCH v3 01/12] ALSA: line6: Enable different number of URBs for frame transfers Andrej Krutak
2016-09-16  9:12   ` [PATCH v3 02/12] ALSA: line6: Add high-speed USB support Andrej Krutak
2016-09-16  9:12   ` [PATCH v3 03/12] ALSA: line6: Support assymetrical in/out configurations Andrej Krutak
2016-09-16 18:34     ` kbuild test robot
2016-09-16  9:12   ` [PATCH v3 04/12] ALSA: line6: Allow different channel numbers for in/out Andrej Krutak
2016-09-16  9:12   ` [PATCH v3 05/12] ALSA: line6: Add LINE6_CAP_IN_NEEDS_OUT, a void playback stream during capture Andrej Krutak
2016-09-16  9:12   ` [PATCH v3 06/12] ALSA: line6: Distinguish device init (ctrl EP) and MIDI data transfer (int EP) Andrej Krutak
2016-09-16  9:12   ` [PATCH v3 07/12] ALSA: line6: Allow processing of raw incoming messages Andrej Krutak
2016-09-16  9:12   ` [PATCH v3 08/12] ALSA: line6: Add support for POD X3 Andrej Krutak
2016-09-16  9:12   ` [PATCH v3 09/12] ALSA: line6: Add support for POD X3 Live (only USB ID differs from POD X3) Andrej Krutak
2016-09-16  9:12   ` [PATCH v3 10/12] ALSA: line6: Only determine control port properties if needed Andrej Krutak
2016-09-16  9:12   ` [PATCH v3 11/12] ALSA: line6: Cleanup podhd initialization Andrej Krutak
2016-09-16  9:12   ` [PATCH v3 12/12] ALSA: line6: Add hwdep interface to access the POD control messages Andrej Krutak
2016-09-18 18:59 ` [PATCH v4 00/12] Line6 POD X3/X3Live suport Andrej Krutak
2016-09-18 18:59   ` [PATCH v4 01/12] ALSA: line6: Enable different number of URBs for frame transfers Andrej Krutak
2016-09-18 18:59   ` [PATCH v4 02/12] ALSA: line6: Add high-speed USB support Andrej Krutak
2016-09-18 18:59   ` [PATCH v4 03/12] ALSA: line6: Support assymetrical in/out configurations Andrej Krutak
2016-09-18 18:59   ` [PATCH v4 04/12] ALSA: line6: Allow different channel numbers for in/out Andrej Krutak
2016-09-18 18:59   ` [PATCH v4 05/12] ALSA: line6: Add LINE6_CAP_IN_NEEDS_OUT, a void playback stream during capture Andrej Krutak
2016-09-18 18:59   ` [PATCH v4 06/12] ALSA: line6: Distinguish device init (ctrl EP) and MIDI data transfer (int EP) Andrej Krutak
2016-09-18 18:59   ` [PATCH v4 07/12] ALSA: line6: Allow processing of raw incoming messages Andrej Krutak
2016-09-18 18:59   ` [PATCH v4 08/12] ALSA: line6: Add support for POD X3 Andrej Krutak
2016-09-18 18:59   ` [PATCH v4 09/12] ALSA: line6: Add support for POD X3 Live (only USB ID differs from POD X3) Andrej Krutak
2016-09-18 18:59   ` [PATCH v4 10/12] ALSA: line6: Only determine control port properties if needed Andrej Krutak
2016-09-18 18:59   ` [PATCH v4 11/12] ALSA: line6: Cleanup podhd initialization Andrej Krutak
2016-09-18 18:59   ` [PATCH v4 12/12] ALSA: line6: Add hwdep interface to access the POD control messages Andrej Krutak
2016-09-19 21:06     ` Takashi Iwai
2016-09-19 21:07   ` [PATCH v4 00/12] Line6 POD X3/X3Live suport Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).