09 Apr, 2015
1 commit
-
Adds an entry for Creative USB X-Fi to the rc_config array in
mixer_quirks.c to allow use of volume knob on the device.
Adds support for newer X-Fi Pro card, known as "Model No. SB1095"
with USB ID "041e:3237"Signed-off-by: Dmitry M. Fedin
Cc:
Signed-off-by: Takashi Iwai
21 Nov, 2014
10 commits
-
Like the previous fixes, the mixer accessors are converted to use
usb_mixer_elem_list objects. In addition, the proper shutdown check
are put in get and put callbacks.Signed-off-by: Takashi Iwai
-
A few FTU mixer controls have the own value handling, so they have to
be rewritten to follow the support for resume callbacks. This ended
up in a fair amount of refactoring. Its own struct is now removed,
instead the values are embedded in kctl private_value totally.Signed-off-by: Takashi Iwai
-
The changes at this time are a bit more wider than previous ones.
Firstly, the NI controls didn't cache the values, so I had to
implement the caching. It's stored in bit 24 of private_value.
In addition to that, the initial values have to be read from
registers.Signed-off-by: Takashi Iwai
-
Again another quirk fix, just convert to usb_mixer_elem_list with the
resume callback for Mbox 1 stuff.Signed-off-by: Takashi Iwai
-
This time it's about Xonar U1: add the proper resume support for
"Digital Playback Switch" element.Also, the status is moved into kcontrol private_value from
usb_mixer_interface struct field. One more cut.Signed-off-by: Takashi Iwai
-
Similar as the previous fix, this adds the proper resume support to
Emu0202 "Front Jack Channels" enum mixer element.Signed-off-by: Takashi Iwai
-
Rewrite the code to handle LEDs on audigy2nx and co for supporting the
proper resume. A new internal helper function
add_single_ctl_with_resume() is introduced to manage the
usb_mixer_elem_list more easily.Also while we're at it, move audigy2nx_leds[] in usb_mixer_interface
struct into the private_value of each kctl, too.Signed-off-by: Takashi Iwai
-
So far, we blindly assumed that the all usb-audio mixer elements
follow the standard and apply the standard resume method for the
registered elements in the id_elems[] list. However, some quirks
really need the own resume and it's incomplete for now.This patch enhances the resume handling in two folds:
- split some fields in struct usb_mixer_elem_info into a smaller
header struct (usb_mixer_elem_list) for keeping the minimal
information in the linked-list; the usb_mixer_elem_info embeds this
header struct instead
- add resume and dump callbacks to usb_mixer_elem_list struct to allow
quirks providing the own methodsFor the standard mixer elements, these new callbacks are set to the
standard ones as default, thus there is no functional change by this
patch yet.The dump and resume callbacks are typedef'ed for ease of later patches
using arrays of such function pointers.Signed-off-by: Takashi Iwai
-
snd_nativeinstruments_control_get() uses a stack as a buffer for
usb_control_msg(), but it's basically not allowed. Replace the call
with a safer helper, snd_usb_ctl_msg(), instead.Signed-off-by: Takashi Iwai
13 Nov, 2014
2 commits
-
This code contains the Scarlett mixer interface code that was originally
written by Tobias Hoffman and Robin Gareus. Because the device doesn't
properly implement UAC2 this code adds a mixer quirk for the device.Changes from the original code include removing the metering code along with
dead code and comments. Compiler warnings were fixed. The code to initialize
the sampling rate was causing a crash this was fixed as discussed on the
mailing list. Error, and info messages were convered to dev_err and dev_info
interfaces. The custom scarlett_mixer_elem_info struct was replaced with the
more generic usb_mixer_elem_info to be able to recycle more code from mixer.c.This patch also makes additional modifications based on upstream comments.
Individual control creation functions are removed and a generic
function is no used. Macros for function calls are removed to improve
readability. Hardcoded control initialization is removed. Save to HW
functionality has been removed. Strings for enums are created dynamically for
the mixer. Strings used for controls are now SNDRV_CTL_ELEM_ID_NAME_MAXLEN
length.Signed-off-by: Chris J Arges
Signed-off-by: Takashi Iwai -
Make the functions set_cur_mix_value and get_cur_mix_value accessible by files
that include mixer.h. In addition make usb_mixer_elem_free accessible.
This allows reuse of these functions by mixers that may require quirks.The following summarizes the renamed functions:
- set_cur_mix_value -> snd_usb_set_cur_mix_value
- get_cur_mix_value -> snd_usb_get_cur_mix_value
- usb_mixer_elem_free -> snd_usb_mixer_elem_freeSigned-off-by: Chris J Arges
Signed-off-by: Takashi Iwai
12 Nov, 2014
1 commit
-
M-audio FastTrack Ultra quirk doesn't release the kzalloc'ed memory.
This patch adds the private_free callback to release it properly.Cc:
Signed-off-by: Takashi Iwai
11 Nov, 2014
1 commit
-
This patch provides the infrastructure for the Digidesign Mbox 1
to have a mixer control for selecting the clock source.
Valid options are Internal and S/PDIF external sync.
A non-documented command is sent to the device to enable this feature
found by reverse engineering and bus snooping.Signed-off-by: Damien Zammit
Signed-off-by: Takashi Iwai
21 Oct, 2014
1 commit
-
... and reduce the open codes. Also add missing const to text arrays.
Signed-off-by: Takashi Iwai
26 Feb, 2014
1 commit
-
Convert with dev_err() and co from snd_printk(), etc.
As there are too deep indirections (e.g. ep->chip->dev->dev),
a few new local macros, usb_audio_err() & co, are introduced.Also, the device numbers in some messages are dropped, as they are
shown in the prefix automatically.Signed-off-by: Takashi Iwai
06 Dec, 2013
1 commit
-
Fix the following warning when optimizing for size with gcc-4.6.4:
sound/usb/mixer_quirks.c:1514:6: warning: 'err' may be used uninitialized in this function [-Wuninitialized]Signed-off-by: Mikulas Patocka
Signed-off-by: Takashi Iwai
14 Nov, 2013
1 commit
-
Add support for front jack channel selector which is present on EMU0204.
It allows to get 4 channels out of this soundcard.Tested-by: Yury Bushmelev
Signed-off-by: Vasily Khoruzhick
Signed-off-by: Takashi Iwai
28 Jun, 2013
1 commit
-
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
07 Apr, 2013
1 commit
-
The usb_control_msg() function expects __u16 types and performs
the endianness conversions by itself.
However, in three places, a conversion is performed before it is
handed over to usb_control_msg(), which leads to a double conversion
(= no conversion):
* snd_usb_nativeinstruments_boot_quirk()
* snd_nativeinstruments_control_get()
* snd_nativeinstruments_control_put()Caught by sparse:
sound/usb/mixer_quirks.c:512:38: warning: incorrect type in argument 6 (different base types)
sound/usb/mixer_quirks.c:512:38: expected unsigned short [unsigned] [usertype] index
sound/usb/mixer_quirks.c:512:38: got restricted __le16 [usertype]
sound/usb/mixer_quirks.c:543:35: warning: incorrect type in argument 5 (different base types)
sound/usb/mixer_quirks.c:543:35: expected unsigned short [unsigned] [usertype] value
sound/usb/mixer_quirks.c:543:35: got restricted __le16 [usertype]
sound/usb/mixer_quirks.c:543:56: warning: incorrect type in argument 6 (different base types)
sound/usb/mixer_quirks.c:543:56: expected unsigned short [unsigned] [usertype] index
sound/usb/mixer_quirks.c:543:56: got restricted __le16 [usertype]
sound/usb/quirks.c:502:35: warning: incorrect type in argument 5 (different base types)
sound/usb/quirks.c:502:35: expected unsigned short [unsigned] [usertype] value
sound/usb/quirks.c:502:35: got restricted __le16 [usertype]Signed-off-by: Eldad Zack
Acked-by: Daniel Mack
Cc:
Signed-off-by: Takashi Iwai
11 Feb, 2013
1 commit
-
Adds quirks and mixer support for the M-Audio Fast Track C600 USB
audio interface. This device is very similar to the C400 - the C600
simply has some more inputs and outputs, so the existing C400 support
is extended to support this device as well.Signed-off-by: Matt Gruskin
Signed-off-by: Takashi Iwai
10 Jan, 2013
1 commit
-
Fixes the following sparse warning:
sound/usb/mixer_quirks.c:1209:23: warning:
symbol 'ebox44_table' was not declared. Should it be static?Signed-off-by: Sachin Kamat
Signed-off-by: Takashi Iwai
12 Dec, 2012
1 commit
-
The only required change is to extend the existing Xonar U1
mixer quirks to the U3, which seems to be controlled the same
way.Signed-off-by: Denis Washington
Signed-off-by: Takashi Iwai
29 Nov, 2012
3 commits
-
Add a mixer quirks for the M-Audio Fast Track C400
and create the following:* Volume controls
* Effect Type (reusing FTU controls)
* Effect Volume
* Effect Send/Return
* Effect Program
* Effect FeedbackSigned-off-by: Eldad Zack
Signed-off-by: Takashi Iwai -
Adds the unit ID and the control as parameters to the creation of the
effect unit control for the M-Audio Fast Track Ultra. This allows the
code to be shared with other devices that use different unit ID and
control, such as the M-Audio Fast Track C400.Signed-off-by: Eldad Zack
Signed-off-by: Takashi Iwai -
Currently, channel IDs exceeding 31 (0x1f) cannot be used.
The channel ID is derived from the cmask. Extending cmask
to a 64-bit type would only allow it to go up to 63 (0x3f).
Some devices have channel IDs exceeding that as well.
To address that, add an offset to the mixer element which
is then accounted for in the UAC set/get functions.Signed-off-by: Eldad Zack
Signed-off-by: Takashi Iwai
30 Oct, 2012
1 commit
-
Similar like the previous commit, cover with chip->shutdown_rwsem
and chip->shutdown checks.Reported-by: Matthieu CASTET
Cc:
Signed-off-by: Takashi Iwai
11 Jun, 2012
2 commits
-
Signed-off-by: Mark Hills
Signed-off-by: Takashi Iwai -
Allow mixer controls to be provided clearly in a table, to avoid
quantity of error checking at each use.Signed-off-by: Mark Hills
Signed-off-by: Takashi Iwai
12 May, 2012
1 commit
-
Explained by Takashi in
> The reason is because get_min_max*() isn't called in the place you
> created these controls, and get_min_max() would be called only for
> integer volumes later even if uninitialized. A short cut for booleans.Signed-off-by: Mark Hills
Signed-off-by: Takashi Iwai
24 Apr, 2012
5 commits
-
Signed-off-by: Takashi Iwai
-
This adds controls for the effects section on the FTU devices.
Some of these controls need volume quirks. They are added to
mixer.c.[fixed missing break by tiwai]
Signed-off-by: Felix Homann
Signed-off-by: Takashi Iwai -
This is in preparation for more FTU controls to come.
Should help keeping names a bit shorter.Signed-off-by: Felix Homann
Signed-off-by: Takashi Iwai -
This adds db gain information to M-Audio Fast Track Ultra (8R) devices.
Signed-off-by: Felix Homann
Signed-off-by: Takashi Iwai -
Merge snd_maudio_ftu_create_ctl() and snd_ebox44_create_ctl() into
snd_create_std_mono_ctl().
As opposed to the ftu and ebox-44 specific functions, a TLV callback
can be specified for controls created by snd_create_std_mono_ctl().[fixed minor checkpatch.pl warnings by tiwai]
Signed-off-by: Felix Homann
Signed-off-by: Takashi Iwai
15 Apr, 2012
1 commit
-
The mixer units from the firmware are corrupt, and even where they
are valid they presents mono controls as L and R channels of
stereo.Signed-off-by: Mark Hills
Signed-off-by: Takashi Iwai
27 Sep, 2011
1 commit
-
There are certain devices that are reportedly so slow that they need
more than 100 ms to handle control transfers. Therefore, increase the
timeout in mixer(_quirks).c to 1000 ms.The timeout parameter of snd_usb_ctl_msg() is now constant, so we can
drop it.Reported-by: Felipe Balbi
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
25 May, 2011
1 commit
-
Make use of the freshly introduced methods to re-use standard mixer
handling and add some controls that are hidden but implemented in a
standard conform way on M-Audio's FastTrack devices.Signed-off-by: Daniel Mack
Original-code-by: Felix Homann
Signed-off-by: Takashi Iwai
18 May, 2011
1 commit
-
USB X-Fi S51 Pro volume and mute from the volume knob on the unit.
Compiled and tested with 2.6.39-rc7-git12Signed-off-by: Mathieu Bouffard
Signed-off-by: Takashi Iwai