#
a10e763b |
|
31-May-2019 |
Thomas Gleixner <tglx@linutronix.de> |
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation version 2 extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 135 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190531081036.435762997@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
f56742cc |
|
18-Sep-2016 |
Andrej Krutak <dev@andree.sk> |
ALSA: line6: Add LINE6_CAP_IN_NEEDS_OUT, a void playback stream during capture E.g. POD X3 seems to require playback data to be sent to it to generate capture data. Otherwise the device stalls and doesn't send any more capture data until it's reset. Signed-off-by: Andrej Krutak <dev@andree.sk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
97d78acf |
|
18-Sep-2016 |
Andrej Krutak <dev@andree.sk> |
ALSA: line6: Allow different channel numbers for in/out Changes bytes_per_frame to bytes_per_channel. Signed-off-by: Andrej Krutak <dev@andree.sk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
7a0f55ae |
|
18-Sep-2016 |
Andrej Krutak <dev@andree.sk> |
ALSA: line6: Support assymetrical in/out configurations Splits max_packet_size to max_packet_size_in/out (e.g. for different channel counts). Signed-off-by: Andrej Krutak <dev@andree.sk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
79faa2b0 |
|
18-Sep-2016 |
Andrej Krutak <dev@andree.sk> |
ALSA: line6: Add high-speed USB support This has two parts: * intervals_per_second setup (high speed needs 8000, instead of 1000) * iso_buffers setup (count of iso buffers depends on USB speed, 2 is not enough for high speed) Signed-off-by: Andrej Krutak <dev@andree.sk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
b2233d97 |
|
18-Sep-2016 |
Andrej Krutak <dev@andree.sk> |
ALSA: line6: Enable different number of URBs for frame transfers This basically changes LINE6_ISO_BUFFERS constant to a configurable iso_buffers property. Signed-off-by: Andrej Krutak <dev@andree.sk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
1263f611 |
|
28-Jan-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: line6: Remove snd_line6_ prefix of pcm property fields It's just superfluous and doesn't give any better readability. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
129b3be6 |
|
28-Jan-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: line6: Move the contents of usbdefs.h into driver.h Most of them are rather relevant with the definitions in driver.h, and there are only a few lines, so just rip it off. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
cddbd4f1 |
|
28-Jan-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: line6: Tidy up and typo fixes in comments Just reformatting the comments and typos fixed, no functional changes. Particularly, - avoid the kerneldoc marker "/**", - reduce multiple comment lines into single lines, - corrected wrongly referred function names Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
2954f914 |
|
27-Jan-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: line6: Make common PCM pointer callback Both playback and capture callbacks are identical, so let's merge them. Tested-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
63e20df1 |
|
27-Jan-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: line6: Reorganize PCM stream handling 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: Chris Rorvick <chris@rorvick.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ad0119ab |
|
23-Jan-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: line6: Rearrange PCM structure Introduce a new line6_pcm_stream structure and group individual fields of snd_line6_pcm struct to playback and capture groups. This patch itself just does rename and nothing else. More meaningful cleanups based on these fields shuffling will follow. Tested-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
f2a76225 |
|
23-Jan-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: line6: Drop superfluous spinlock for trigger The trigger callback is already spinlocked, so we need no more lock here (even for the linked substreams). Let's drop it. Tested-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
c078a4aa |
|
20-Jan-2015 |
Chris Rorvick <chris@rorvick.com> |
ALSA: line6: Remove driver version from header comment The driver version string was removed in an ealier commit for being useless. These are equally useless. Signed-off-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
c6fffce9 |
|
20-Jan-2015 |
Chris Rorvick <chris@rorvick.com> |
ALSA: line6: Refer to manufacturer as "Line 6" The correct spelling includes the space. Fix this in strings and comments that refer to the manufacturer. Signed-off-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
075587b7 |
|
19-Jan-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: line6: Handle impulse response via control API Instead of sysfs and the conditional build with Kconfig, implement the handling of the impulse response controls via control API, and always enable the build. Two new controls, "Impulse Response Volume" and "Impulse Response Period" are added as a replacement for the former sysfs files. Tested-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
61864d84 |
|
12-Jan-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: move line6 usb driver into sound/usb Promote line6 driver from staging to sound/usb/line6 directory, and maintain through sound subsystem tree. This commit just moves the code and adapts Makefile / Kconfig. The further renames and misc cleanups will follow. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|