Bill Pemberton [Thu, 6 Dec 2012 17:35:13 +0000 (12:35 -0500)]
ALSA: atmel: remove __dev* attributes
CONFIG_HOTPLUG is going away as an option. As result the __dev*
markings will be going away.
Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Bill Pemberton [Thu, 6 Dec 2012 17:35:12 +0000 (12:35 -0500)]
ALSA: pxa2xx: remove __dev* attributes
CONFIG_HOTPLUG is going away as an option. As result the __dev*
markings will be going away.
Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Eric Miao <eric.y.miao@gmail.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Bill Pemberton [Thu, 6 Dec 2012 17:35:11 +0000 (12:35 -0500)]
ALSA: AACI: remove __dev* attributes
CONFIG_HOTPLUG is going away as an option. As result the __dev*
markings will be going away.
Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Bill Pemberton [Thu, 6 Dec 2012 17:35:10 +0000 (12:35 -0500)]
ALSA: pci: remove __dev* attributes
CONFIG_HOTPLUG is going away as an option. As result the __dev*
markings will be going away.
Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Daniel J Blueman [Wed, 5 Dec 2012 15:04:21 +0000 (23:04 +0800)]
ALSA: hda: Add PCI device prefix for clarity
When printing, use a prefix of the PCI domain, bus, device and function
as in other drivers, to differentiate multiple devices.
Important for reporting and debugging. A future step is to tidy this up with
dev_printk et al.
v2: Move conversion specifier into call site, preventing build issues
v3: Refactor for Takashi's for-next branch
Signed-off-by: Daniel J Blueman <daniel@quora.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 4 Dec 2012 14:09:23 +0000 (15:09 +0100)]
ALSA: hda - Fix yet another race of vga_switcheroo registration
The recent fix for vga switcheroo race in commit
128960a9 opened yet
another race. At the time the audio driver starts probing, user may
turn off D-GPU off. But at this moment, the audio driver still
doesn't register the vga switcheroo client, thus the switching isn't
notified. Then the hardware gets off out of sudden, resulting in
invalid reads and lots of "spurious response" error messages.
For solving this situation, the following changes have been done in
this patch:
- Move again vga switcheroo registration to the very early stage of
the probing; this also requires to set pci drvdata properly before
registration
- Introduce the completion to synchronize the driver probe at vga
switcheroo callbacks; this assures that the whole probing finished
before executing the callbacks
Reported-by: Daniel J Blueman <daniel@quora.org>
Tested-by: Daniel J Blueman <daniel@quora.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Eldad Zack [Mon, 3 Dec 2012 19:30:09 +0000 (20:30 +0100)]
ALSA: usb-audio: sync ep init fix for audioformat mismatch
Commit
947d299686aa9cc8aecf749d54e8475c6e498956 , "ALSA: snd-usb:
properly initialize the sync endpoint", while correcting the
initialization of the sync endpoint when opening just the data
endpoint, prevents devices that has a sync endpoint, with a channel
number different than that of the data endpoint, from functioning.
Due to a different channel and period bytes count, attempting to
initialize the sync endpoint will fail at the usb host driver.
For example, when using xhci:
cannot submit urb 0, error -90: internal error
With this patch, if a sync endpoint has multiple audioformats, a
matching audioformat is preferred. An audioformat must be found
with at least one channel and support the requested sample rate
and PCM format, otherwise the stream will not be opened.
If the number of channels differ between the selected audioformat
and the requested format, adjust the period bytes count accordingly.
It is safe to perform the calculation on the basis of the channel
count, since the requested PCM audio format and the rate must be
supported by the selected audioformat.
Cc: Jeffrey Barish <jeff_barish@earthlink.net>
Cc: Daniel Mack <zonque@gmail.com>
Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 3 Dec 2012 10:30:50 +0000 (11:30 +0100)]
ALSA: usb-audio: Fix missing autopm for MIDI input
The commit [
88a8516a: ALSA: usbaudio: implement USB autosuspend] added
the support of autopm for USB MIDI output, but it didn't take the MIDI
input into account.
This patch adds the following for fixing the autopm:
- Manage the URB start at the first MIDI input stream open, instead of
the time of instance creation
- Move autopm code to the common substream_open()
- Make snd_usbmidi_input_start/_stop() more robust and add the running
state check
Reviewd-by: Clemens Ladisch <clemens@ladisch.de>
Tested-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 3 Dec 2012 10:12:46 +0000 (11:12 +0100)]
ALSA: usb-audio: Avoid autopm calls after disconnection
Add a similar protection against the disconnection race and the
invalid use of usb instance after disconnection, as well as we've done
for the USB audio PCM.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=51201
Reviewd-by: Clemens Ladisch <clemens@ladisch.de>
Tested-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Adrian Knoth [Mon, 3 Dec 2012 13:55:51 +0000 (14:55 +0100)]
ALSA: hdspm - Remove obsolete settings functions
With HDSPM_TOGGLE_SETTING in place, these functions are no longer
required. Removing them makes the code DRY and considerably shorter.
Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Adrian Knoth [Mon, 3 Dec 2012 13:55:50 +0000 (14:55 +0100)]
ALSA: hdspm - Use HDSPM_TOGGLE_SETTING to alter settings
HDSPM_TOGGLE_SETTING and its corresponding functions allow to change
settings in the control register. Instead of using the specialised
functions, use the generic code to make the code DRY.
Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Adrian Knoth [Mon, 3 Dec 2012 13:55:49 +0000 (14:55 +0100)]
ALSA: hdspm - Implement generic function to toggle settings
The driver contains at least six similar functions that change only a
single bit in the control register, only the bit position varies.
This patch implements a generic function to toggle a certain bit
position that will be used to replace the old code.
Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 3 Dec 2012 09:30:58 +0000 (10:30 +0100)]
ALSA: hda/realtek - Keep the channel count for multiple speakers
The current Realtek driver reconfigures the max PCM channels
dynamically according to the value of Channel Mode enum if the
multi-io retasking is available. It works fine for multi-io pins.
But when multiple speaker pins are available, the channels of speakers
also have to obey to the channel mode, which isn't nice.
(That is, when you select "2ch" in Channel Mode so that the line-in
and mic jack behave as input, you can't play surrounds properly from
the built-in speaker.)
This patch fixes the problem by taking the channel number for multiple
speakers into account in the channel-mode setup code.
Also it fixes the wrongly set up max_channels value in the case of
multi-io extension.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 3 Dec 2012 08:55:44 +0000 (09:55 +0100)]
Merge tag 'asoc-3.8' of git://git./linux/kernel/git/broonie/sound into for-next
ASoC: Updates for v3.8
Very quiet release for ASoC really:
- Standardisation of the logging.
- DT and dmaengine support for Atmel.
- Support for Wolfson ADSP cores.
- New drivers for Freescale/iVeia P1022 and Maxim MAX98090.
Mark Brown [Sun, 2 Dec 2012 04:35:31 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm9090' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:31 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm9081' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:30 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8995' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:29 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8994' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:28 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8993' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:28 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8988' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:27 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8985' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:27 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8978' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:26 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8971' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:25 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:25 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8960' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:24 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8955' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:23 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8804' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:23 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8770' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:22 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8753' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:22 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8750' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:21 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8741' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:20 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8510' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:20 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8400' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:19 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm8350' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:18 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm2200' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:17 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm2000' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:16 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/wm0010' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:15 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/ux500' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:14 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/tlv320aic32x4' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:13 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/si476x' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:12 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/samsung' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:12 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/rt5631' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:11 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/omap' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:10 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/max98090' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:10 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/max9768' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:09 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/log' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:09 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/lm49453' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:08 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/kirkwood' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:07 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/jz4740' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:06 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/jack' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:06 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/hotplug' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:05 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/fsl' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:04 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/fsi' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:03 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/dmaengine' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:02 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/davinci' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:01 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/da9055' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:01 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/da7210' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:35:00 +0000 (13:35 +0900)]
Merge remote-tracking branch 'asoc/topic/cs4271' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:34:58 +0000 (13:34 +0900)]
Merge remote-tracking branch 'asoc/topic/atmel' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:34:56 +0000 (13:34 +0900)]
Merge remote-tracking branch 'asoc/topic/arizona' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:34:55 +0000 (13:34 +0900)]
Merge remote-tracking branch 'asoc/topic/ak4642' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:34:54 +0000 (13:34 +0900)]
Merge remote-tracking branch 'asoc/topic/ak4535' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:34:54 +0000 (13:34 +0900)]
Merge remote-tracking branch 'asoc/topic/ak4104' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:34:50 +0000 (13:34 +0900)]
Merge remote-tracking branch 'asoc/topic/adsp' into asoc-next
Mark Brown [Sun, 2 Dec 2012 04:34:49 +0000 (13:34 +0900)]
Merge remote-tracking branch 'asoc/topic/ab8500' into asoc-next
Bo Shen [Wed, 28 Nov 2012 03:46:13 +0000 (11:46 +0800)]
ASoC: atmel-pcm: dma support based on pcm dmaengine
Specify overrun bit in interrupt mask
Add dmaengine specific routines
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
[voice.shen@atmel.com: adapt to soc dmaengine framework]
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Bo Shen [Wed, 28 Nov 2012 03:46:12 +0000 (11:46 +0800)]
ASoC: atmel-pcm: split into two file
This patch is split original atmel-pcm.c into new atmel-pcm.c and
atmel-pcm-pdc.c two files. The new atmel-pcm.c is the share routine
while will be used for pdc or dma transfer.
Using SND_ATMEL_SOC_PDC to select using PDC for audio transfer
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Sun, 2 Dec 2012 01:42:22 +0000 (10:42 +0900)]
ASoC: wm5102: Correct base address for Y region
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Sachin Kamat [Mon, 26 Nov 2012 11:49:43 +0000 (17:19 +0530)]
ASoC: wm8960: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler. There was no explicit
regmap_exit call in this function which was probably a bug.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Sachin Kamat [Mon, 26 Nov 2012 11:49:42 +0000 (17:19 +0530)]
ASoC: wm8955: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Sachin Kamat [Mon, 26 Nov 2012 11:49:41 +0000 (17:19 +0530)]
ASoC: max9768: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Sachin Kamat [Mon, 26 Nov 2012 11:49:44 +0000 (17:19 +0530)]
ASoC: wm8962: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Sachin Kamat [Mon, 26 Nov 2012 11:49:46 +0000 (17:19 +0530)]
ASoC: wm8993: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Sachin Kamat [Mon, 26 Nov 2012 11:49:47 +0000 (17:19 +0530)]
ASoC: wm9081: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Sachin Kamat [Wed, 28 Nov 2012 09:13:52 +0000 (14:43 +0530)]
ASoC: wm9090: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Fri, 30 Nov 2012 17:34:38 +0000 (18:34 +0100)]
ALSA: hda - Add a helper function for simple enum kcontrols
The same type of code is being used in multiple places in various
codec drivers, so put it as a core library.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 30 Nov 2012 07:31:30 +0000 (08:31 +0100)]
ALSA: hda - Pass errors properly in alc_auto_check_switches()
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 29 Nov 2012 13:10:17 +0000 (14:10 +0100)]
ALSA: hda - Refactor alc_kcontrol_new() usages
Allocate the name string and assign the structure in
alc_kcontrol_new() itself to reduce the code.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 29 Nov 2012 09:18:57 +0000 (10:18 +0100)]
ALSA: hda - Use standard sort function in hda_auto_parser.c
Just refactoring, no functional changes.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Thu, 29 Nov 2012 15:16:10 +0000 (15:16 +0000)]
ASoC: arizona: Add parentheses
Some compiler versions complain.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
David Henningsson [Fri, 23 Nov 2012 12:48:55 +0000 (13:48 +0100)]
ALSA: usb - Don't create "Speaker" mixer controls on headphones and headsets
A lot of headsets/headphones have a "Speaker" mixer control. This confuses
PulseAudio to think it is a speaker instead of a headphone/headset.
Therfore, we rename it to "Headphone".
We determine if something is a headphone similar to how udev determines
form factor (see 78-sound-card.rules).
BugLink: https://bugs.launchpad.net/bugs/1082357
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Eldad Zack [Wed, 28 Nov 2012 22:55:41 +0000 (23:55 +0100)]
ALSA: usb-audio: FT C400 sync playback EP to capture EP
The playback endpoint uses implicit feedback mode, similar
to the M-Audio FTU. Like with the FTU, we need to associate
the sync pipe ourselves.
Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Eldad Zack [Wed, 28 Nov 2012 22:55:40 +0000 (23:55 +0100)]
ALSA: usb-audio: Fast Track C400 mixer controls
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 Feedback
Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Eldad Zack [Wed, 28 Nov 2012 22:55:39 +0000 (23:55 +0100)]
ALSA: usb-audio: Fast Track C400 mixer ranges
Add ranges for various Fast Track C400 controls, as observed
while using the vendor's mixer control software (res values
are an estimation).
Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Eldad Zack [Wed, 28 Nov 2012 22:55:38 +0000 (23:55 +0100)]
ALSA: usb-audio: M-Audio Fast Track C400 quirks table
Adds a quirks table for the M-Audio Fast Track C400.
Thanks to Clemens Ladisch <clemens@ladisch.de> for pointing out that
the table must be sorted.
Based on the following patch from the alsa-devel list:
http://mailman.alsa-project.org/pipermail/alsa-devel/2012-May/051676.html
See also:
http://mailman.alsa-project.org/pipermail/alsa-devel/2012-April/051219.html
Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Eldad Zack [Wed, 28 Nov 2012 22:55:37 +0000 (23:55 +0100)]
ALSA: usb-audio: parameterize FTU effect unit control
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 <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Eldad Zack [Wed, 28 Nov 2012 22:55:36 +0000 (23:55 +0100)]
ALSA: usb-audio: skip UAC2 EFFECT_UNIT
Current code mishandles the case where the device is a UAC2
and the bDescriptorSubtype is a UAC2 Effect Unit (0x07).
It tries to parse it as a Processing Unit (which is similar to two
other UAC1 units with overlapping subtypes), but since the structure
is different (See: 4.7.2.10, 4.7.2.11 in UAC2 standard), the parsing
is done incorrectly and prevents the device from initializing.
For now, just ignore the unit.
Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Eldad Zack [Wed, 28 Nov 2012 22:55:35 +0000 (23:55 +0100)]
ALSA: usb-audio: add control index offset
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 <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Eldad Zack [Wed, 28 Nov 2012 22:55:34 +0000 (23:55 +0100)]
ALSA: usb-audio: use sender stride for implicit feedback
For implicit feedback endpoints, the number of bytes for each packet
is matched by the corresponding synchronizing endpoint.
The size is calculated by taking the actual size and dividing it by
the stride - currently by the endpoint's stride, but we should use the
synchronization source's stride.
This is evident when the number of channels differ between the
synchronization source and the implicitly fed-back endpoint, as with
M-Audio Fast Track C400 - the synchronization source (capture)
has 4 channels, while the implicit feedback mode endpoint has 6.
Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Eldad Zack [Wed, 28 Nov 2012 22:55:32 +0000 (23:55 +0100)]
ALSA: usb-audio: replace hardcoded value with const
In this context, 0x01 is USB_ENDPOINT_XFER_ISOC.
Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Wed, 28 Nov 2012 19:53:59 +0000 (19:53 +0000)]
ASoC: wm_adsp: Set the core enable as well as start bit for ADSP2
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Sachin Kamat [Wed, 28 Nov 2012 09:15:25 +0000 (14:45 +0530)]
ASoC: wm2200: Remove empty labels
Removed unnecessary labels probably left out of some previous cleanup.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Padmavathi Venna [Wed, 28 Nov 2012 10:47:48 +0000 (16:17 +0530)]
ASoC: Samsung: Get I2S src_clk from clock alias id.
As the I2S src clks are registered with clkdev using generic
connection id, driver can get the clk name using generic id.
So the variable representing the array of rclk src clks is
deleted.
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Peter Ujfalusi [Wed, 28 Nov 2012 10:35:43 +0000 (11:35 +0100)]
ASoC: omap-abe-twl6040: Use "ti,jack-detection" DT property as boolean
Handle the jack detection inforamtion as bool from devicetree.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Wed, 28 Nov 2012 17:20:52 +0000 (17:20 +0000)]
ASoC: wm5102: Enable DVFS support for the DSP
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Wed, 28 Nov 2012 17:45:57 +0000 (17:45 +0000)]
Merge branch 'topic/adsp' of git://git./linux/kernel/git/broonie/sound into asoc-arizona
Sachin Kamat [Mon, 26 Nov 2012 11:49:40 +0000 (17:19 +0530)]
ASoC: lm49453: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Sachin Kamat [Mon, 26 Nov 2012 11:49:39 +0000 (17:19 +0530)]
ASoC: da7210: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Sachin Kamat [Mon, 26 Nov 2012 11:49:38 +0000 (17:19 +0530)]
ASoC: ak4535: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Sachin Kamat [Mon, 26 Nov 2012 11:49:37 +0000 (17:19 +0530)]
ASoC: wm8993: Use devm_regulator_bulk_get
devm_regulator_bulk_get() is device managed and makes error
handling and code cleanup simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>