USB generic driver
When a USB packet boundary falls exactly on a buffer boundary, hwptr
remains at the end of the buffer which causes an overflow in the next
iteration and triggers double buffering although the next packet would
actually be contiguous.
This patch ensures that hwptr is always smaller than buffer_size.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Check that the synchronization feedback frequency values returned by the
device are more or less near the nominal frequency.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Bind the device files to the (first) audio control interface instead of
the entire USB device.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
This patch adds a proc file for the SB Audigy 2 NX which shows the
connection status of the various jacks. Unfortunately, no SPDIF input
frequency (yet).
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
The ioctls for LIRC compatibility can be removed because the
infrastructure and detection stuff is better done in user space.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
The SB Audigy 2 NX needs a special boot-up command before it works in
high speed mode.
However, we don't actually enable it yet because high speed
synchronization doesn't seem to work with this device.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
The SB Audigy 2 NX does not advertise the sample rate attribute in its
endpoint descriptors although it supports it.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Adds mixer controls for the CMSS/Dolby Digital/Power LEDs
on the SB Audigy 2 NX.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Add ioctls to the Sound Blaster remote control hwdep device so that it
can be used with LIRC.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Do not use more than one packet in synchronization feedback URBs because
it would be pointless to send or receive more than one value at the same
time.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Add sanity checks when reading the bRefresh value, and actually use it
for the synchronization packets instead of polling at 1000 Hz.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Extension units can have type 0, so do not ignore them when constructing
mixer controls.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Cache the decoded values of idVendor/idProduct to get rid of most of
those ugly le16_to_cpu() calls.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
ALSA Core,USB generic driver
Add an hwdep interface that supports reading remote control data from
Sound Blaster Extigy and Audigy 2 NX devices.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Add support for the optional status interrupt endpoint in audio control
interfaces, and translate USB status notifications into ALSA mixer
control notifications.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Move all data related to audio control interfaces into a separate struct
local to usbmixer.c.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Unit/terminal IDs are 8-bit integers, so the unitbitmap
variable does not need to be bigger than 256 bits.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
On the SB Audigy 2 NX, frequency feedback doesn't quite work
when playing at 44.1 kHz, so temporarily disable this frequency.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver,USB USX2Y
This patch removes the superfluous driver parameter from the
disconnect functions.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Add a mechanism to specify source names of selector units,
and add such names for the SB Audigy 2 NX.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
In the streamX proc file, show the exact number of samples per
USB frame as 16.16 hexadecimal floating point value.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Add a mixer control map for the SB Audigy 2 NX so
that we get meaningful mixer control names.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver,USB USX2Y
Without this patch, some usb kobjects, which are parents to
the usx2y's kobjects can be freed before the usx2y's.
This led to an oops in get_kobj_path_length() and a dead
keyboard, when the usx2y's kobjects were freed.
The patch ensures the correct sequence.
Tested ok on kernel 2.6.12-rc2.
Signed-off-by: Karsten Wiese <annabellesgarden@yahoo.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
USB generic driver
This patch adds quirks to support 24-bit PCM I/O in the 'Advanced
Driver' mode of the BOSS GS-10.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
This patch reintroduces the check for endpoint numbers that are
specified explicitly in the quirk structure.
This check was accidentally dropped in the last rewrite of
snd_usbmidi_detect_endpoints().
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!