12 Aug, 2013
4 commits
-
Add the volume control quirk for avoiding the kernel warning
for the Logitech HD Webcam C525
as in the similar commit 36691e1be6ec551eef4a5225f126a281f8c051c2
for the Logitech HD Webcam C310.Reported-by: Maksim Boyko
Tested-by: Maksim Boyko
Cc: # 3.10.5+
Signed-off-by: Maksim Boyko
Signed-off-by: Takashi Iwai -
Commit aafe77cc45a5 (ALSA: usb-audio: add support for many Roland/Yamaha
devices) had several logic errors that prevented create_auto_midi_quirk
from enumerating any MIDI ports.Reported-by: Keith A. Milner
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Patch makes midi output buffer DMA-able by allocating it separately.
Signed-off-by: Torsten Schenk
Cc:
Signed-off-by: Takashi Iwai -
Patch makes pcm buffers DMA-able by allocating each one separately.
Signed-off-by: Torsten Schenk
Cc:
Signed-off-by: Takashi Iwai
08 Aug, 2013
1 commit
-
The driver used to assume that the streaming endpoint's wMaxPacketSize
value would be an indication of how much data the endpoint expects or
sends, and compute the number of packets per URB using this value.However, the Focusrite Scarlett 2i4 declares a value of 1024 bytes,
while only about 88 or 44 bytes are be actually used. This discrepancy
would result in URBs with far too few packets, which would not work
correctly on the EHCI driver.To get correct URBs, use wMaxPacketSize only as an upper limit on the
packet size.Reported-by: James Stone
Tested-by: James Stone
Cc: # 2.6.35+
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
07 Aug, 2013
1 commit
-
Patch fixes 6fire not to use stack as URB transfer_buffer. URB buffers need to
be DMA-able, which stack is not. Furthermore, transfer_buffer should not be
allocated as part of larger device structure because DMA coherency issues and
patch fixes this issue too.Cc: stable@vger.kernel.org
Signed-off-by: Jussi Kivilinna
Tested-by: Torsten Schenk
Signed-off-by: Takashi Iwai
24 Jul, 2013
1 commit
-
Return SNDRV_PCM_POS_XRUN (snd_pcm_uframes_t) instead of
SNDRV_PCM_STATE_XRUN (snd_pcm_state_t) from the pointer
function of hiface, as expected by snd_pcm_update_hw_ptr0().Caught by sparse.
Cc: Antonio Ospite
Signed-off-by: Eldad Zack
Cc:
Signed-off-by: Takashi Iwai
21 Jul, 2013
1 commit
-
Return SNDRV_PCM_POS_XRUN (snd_pcm_uframes_t) instead of
SNDRV_PCM_STATE_XRUN (snd_pcm_state_t) from the pointer
function of 6fire, as expected by snd_pcm_update_hw_ptr0().Caught by sparse.
Signed-off-by: Eldad Zack
Cc:
Signed-off-by: Takashi Iwai
16 Jul, 2013
3 commits
-
snd_pcm_stop() must be called in the PCM substream lock context.
Cc:
Signed-off-by: Takashi Iwai -
snd_pcm_stop() must be called in the PCM substream lock context.
Cc:
Acked-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
snd_pcm_stop() must be called in the PCM substream lock context.
Cc:
Signed-off-by: Takashi Iwai
10 Jul, 2013
1 commit
-
Commit 8f898e92aea2c24c7f379ee265d178f69ebb9c07 removed the redundant
reads of bInterfaceProtocol from the descriptors, but introduced a
regression to devices with quirks of type QUIRK_AUDIO_FIXED_ENDPOINT,
since fp->protocol is not set in setup process.As a consequence, audio streams would not get initialized, as the
following logs show:[ 48.923043] setting usb interface 3:1
[ 48.923056] Creating new capture data endpoint #81
[ 48.923484] 4:3:1: cannot set freq 48000 to ep 0x81This patch sets fp->protocol in create_fixed_stream_quirk() and
resolves the regression.Signed-off-by: Eldad Zack
Signed-off-by: Takashi Iwai
28 Jun, 2013
9 commits
-
This patch is adding extensive support (beside standard usb audio class)
for Audio Advantage Micro II usb sound card.
Features included:
- Access to AES bits (so now sending the IEC61937 compliant stream is
possible).
- Mixer SPDIF control added to turn on/off the optical transmitter.Signed-off-by: Przemek Rudy
Signed-off-by: Takashi Iwai -
For adding support for many Roland and Yamaha devices:
* 'full-roland-support' of git://git.alsa-project.org/alsa-kprivate:
ALSA: usb-audio: add quirks for Roland QUAD/OCTO-CAPTURE
ALSA: usb-audio: claim autodetected PCM interfaces all at once
ALSA: usb-audio: remove superfluous Roland quirks
ALSA: usb-audio: add MIDI port names for some Roland devices
ALSA: usb-audio: add support for many Roland/Yamaha devices
ALSA: usb-audio: detect implicit feedback on Roland devices
ALSA: usb-audio: store protocol version in struct audioformat -
The Roland Quad/Octo-Capture devices use some unknown vendor-specific
mechanism to switch sample rates (and to manage other controls). To
prevent the driver from attempting to use any other than the default
44.1 kHz sample rate, use quirks to hide the other alternate settings.Signed-off-by: Clemens Ladisch
-
snd_card_register() registers all devices newly added since the last
call. However, the playback/capture streams are handled as one ALSA
device, so the second /dev device will not be registered if the PCM
streams are added in two steps.QUIRK_AUTODETECT caused the probe callback to be called once for each
interface, which triggered this problem. Work around this by handling
this like the composite quirk, i.e., autodetecting all other interfaces
that might be used for PCM or MIDI.Signed-off-by: Clemens Ladisch
-
Remove all quirks that are no longer needed now that the generic Roland
quirks can handle the vendor-specific descriptors correctly.Signed-off-by: Clemens Ladisch
-
Signed-off-by: Clemens Ladisch
-
Add quirks to detect the various vendor-specific descriptors used by
Roland and Yamaha in most of their recent USB audio and MIDI devices.Together with the previous patch, this should add audio/MIDI support for
the following USB devices:
- Edirol motion dive .tokyo performance package
- Roland MC-808 Synthesizer
- Roland BK-7m Synthesizer
- Roland VIMA JM-5/8 Synthesizer
- Roland SP-555 Sequencer
- Roland V-Synth GT Synthesizer
- Roland Music Atelier AT-75/100/300/350C/500/800/900/900C Organ
- Edirol V-Mixer M-200i/300/380/400/480/R-1000
- BOSS GT-10B Effects Processor
- Roland Fantom G6/G7/G8 Keyboard
- Cakewalk Sonar V-Studio 20/100/700 Audio Interface
- Roland GW-8 Keyboard
- Roland AX-Synth Keyboard
- Roland JUNO-Di/STAGE/Gi Keyboard
- Roland VB-99 Effects Processor
- Cakewalk UM-2G MIDI Interface
- Roland A-500S Keyboard
- Roland SD-50 Synthesizer
- Roland OCTAPAD SPD-30 Controller
- Roland Lucina AX-09 Synthesizer
- BOSS BR-800 Digital Recorder
- Roland DUO/TRI-CAPTURE (EX) Audio Interface
- BOSS RC-300 Loop Station
- Roland JUPITER-50/80 Keyboard
- Roland R-26 Recorder
- Roland SPD-SX Controller
- BOSS JS-10 Audio Player
- Roland TD-11/15/30 Drum Module
- Roland A-49/88 Keyboard
- Roland INTEGRA-7 Synthesizer
- Roland R-88 RecorderSigned-off-by: Clemens Ladisch
-
All the Roland/Edirol/BOSS USB audio devices that need implicit feedback
show this unambiguously in their descriptors, so it might be a good idea
to let the driver detect this.This should make playback work correctly (at least with Jack) with the
following devices:
- BOSS GT-100
- BOSS JS-8 Jam Station
- Edirol M-16DX
- Roland GAIA SH-01Signed-off-by: Clemens Ladisch
-
Instead of reading bInterfaceProtocol from the descriptor whenever it's
needed, store this value in the audioformat structure. Besides
simplifying some code, this will allow us to correctly handle vendor-
specific devices where the descriptors are marked with other values.Signed-off-by: Clemens Ladisch
24 Jun, 2013
1 commit
-
Add driver for M2Tech hiFace USB-SPDIF interface and compatible devices.
M2Tech hiFace and compatible devices offer a Hi-End S/PDIF Output
Interface, see http://www.m2tech.biz/hiface.htmlThe supported products are:
* M2Tech Young
* M2Tech hiFace
* M2Tech North Star
* M2Tech W4S Young
* M2Tech Corrson
* M2Tech AUDIA
* M2Tech SL Audio
* M2Tech Empirical
* M2Tech Rockna
* M2Tech Pathos
* M2Tech Metronome
* M2Tech CAD
* M2Tech Audio Esclusive
* M2Tech Rotel
* M2Tech Eeaudio
* The Chord Company CHORD
* AVA Group A/S VitusSigned-off-by: Antonio Ospite
Signed-off-by: Takashi Iwai
21 Jun, 2013
4 commits
-
In sound/usb/card.c and sound/usb/misc/ua101.c there are no spaces
between the vendor and the device names, use this style in the other
drivers too.This also helps keeping consistency when new drivers copies from the
ones already in the mainline tree.Signed-off-by: Antonio Ospite
Signed-off-by: Takashi Iwai -
For USB devices it's not necessary to allocate physically contiguous
buffers.Signed-off-by: Antonio Ospite
Signed-off-by: Takashi Iwai -
For USB devices it's not necessary to allocate physically contiguous
buffers.Signed-off-by: Antonio Ospite
Signed-off-by: Takashi Iwai -
The snd_card_used variable is only read but never written, remove it.
Signed-off-by: Antonio Ospite
Signed-off-by: Takashi Iwai
18 Jun, 2013
1 commit
-
Signed-off-by: Dave Jones
Signed-off-by: Takashi Iwai
17 Jun, 2013
3 commits
-
USB_QUEUE_BULK isn't defined any more.
Signed-off-by: Dan Carpenter
Signed-off-by: Takashi Iwai -
Just like the previous fix for LogitechHD Webcam c270 in commit
11e7064f35bb87da8f427d1aa4bbd8b7473a3993, c310 model also requires the
same workaround for avoiding the kernel warning.Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=59741
Cc:
Signed-off-by: Takashi Iwai -
When the Android firmware enables the audio interfaces in accessory
mode, it always declares in the control interface's baInterfaceNr array
that interfaces 0 and 1 belong to the audio function. However, the
accessory interface itself, if also enabled, already is at index 0 and
shifts the actual audio interface numbers to 1 and 2, which prevents the
PCM streaming interface from being seen by the host driver.To get the PCM interface interface to work, detect when the descriptors
point to the (for this driver useless) accessory interface, and redirect
to the correct one.Reported-by: Jeremy Rosen
Tested-by: Jeremy Rosen
Cc:
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
05 Jun, 2013
1 commit
-
USB audio driver spews an error message when probing Logitech HD
webcam c270:
ALSA mixer.c:1300 usb_audio: Warning! Unlikely big volume range (=6144), cval->res is probably wrong.
ALSA mixer.c:1304 usb_audio: [5] FU [Mic Capture Volume] ch = 1, val = 1536/7680/1Obviously the device needs a fixed volume resolution (cval->res = 384)
like other Logitech devices.Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=821735
Reported-and-tested-by: Cristian Rodríguez
Cc:
Signed-off-by: Takashi Iwai
04 Jun, 2013
1 commit
-
... instead of applying to all interfaces.
Reference: http://forums.gentoo.org/viewtopic-p-6886404.html
Cc:
Signed-off-by: Takashi Iwai
03 Jun, 2013
1 commit
-
Commit 927c9423dd5f2d1c0b93d5e694ab84b4a5559713 (ALSA: usb-audio: add
Edirol UM-3G support) used a wrong quirk type, which would make the
driver refuse to attach with the error message "MIDIStreaming interface
descriptor not found".Cc: # 3.3 and later
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
23 May, 2013
1 commit
-
Check only the uppermost 16 bits instead of the whole 32 bits of
the version information. Do this because all firmware version tested
with this version information worked correctly and the strict check
causes problems for several users.Signed-off-by: Torsten Schenk
Signed-off-by: Takashi Iwai
17 May, 2013
1 commit
-
freqshift is only set for the data endpoint and syncmaxsize is only set
for the sync endpoint. This results in a syncmaxsize of zero used in the
proc output feedback format calculation, which gives a feedback format
incorrectly shown as 8.16 for UAC2 devices.As neither the data nor the sync endpoint gives all the relevant
content, output the two combined.Also remove the sync_endpoint "packet size" which is always zero
and the sync_endpoint "momentary freq" which is constant.Tested with UAC2 async and UAC1 adaptive, not tested with UAC1 async.
Reported-by: B. Zhang
Signed-off-by: Torstein Hegge
Signed-off-by: Takashi Iwai
30 Apr, 2013
1 commit
-
Current code does this:
be16_to_cpu(buf[i * 2] << 8 | buf[(i * 2) + 1])
Which is effectively (neglecting the index):
be16_to_cpu(be16_to_cpu(*((u16 *) buf)))
This means the int16 in the buffer is not converted at all.
Daniel Mack confirmed that the driver works on little endian
CPUs, leading to the conclusion that the device-side structure
is actually little endian.
This changes the code to use le16_to_cpu().Caught by sparse.
Acked-by: Daniel Mack
Signed-off-by: Eldad Zack
Signed-off-by: Takashi Iwai
29 Apr, 2013
2 commits
-
Add a function to handle conversion from snd_pcm_format_t
to bitwise with proper typing.Change such conversions to use this function and silence sparse
warnings.Signed-off-by: Eldad Zack
Signed-off-by: Takashi Iwai -
The recent changes in the USB API ("implement new semantics for
URB_ISO_ASAP") made the former meaning of the URB_ISO_ASAP flag the
default, and changed this flag to mean that URBs can be delayed.
This is not the behaviour wanted by any of the audio drivers because
it leads to discontinuous playback with very small period sizes.
Therefore, our URBs need to be submitted without this flag.Reported-by: Joe Rayhawk
Cc: # 3.8 only
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
26 Apr, 2013
1 commit
-
The Scarlett 2i2 seems to take almost 500 ms to set the sample rate,
even if the clock is currently set to that value. This patch speeds
up prepare of the device, by avoiding setting the clock to something
it already is.Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai
25 Apr, 2013
1 commit
-
This patch adds a USB quirk for the Yamaha THR10C amp.
Signed-off-by: Trulan Martin
Signed-off-by: Takashi Iwai