summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)Author
2013-01-30ASoC: wm_adsp: Fix support for firmware switching on DSP2 and higherMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-29Merge remote-tracking branch 'asoc/fix/adsp' into asoc-adspMark Brown
Conflicts: sound/soc/codecs/wm_adsp.c
2013-01-29ASoC: wm_adsp: Ensure ADSP2 DMAs are quiesced when DSP is haltedMark Brown
Maximise robustness for the widest range of firmwares by ensuring the DSP is in a consistent state when halted. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-26ASoC: wm_adsp: Accept 0 as a parameter block addressMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-26ASoC: wm_adsp: Add speaker Tx as a firmware optionMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-24ASoC: wm_adsp: Correct handling of some coefficeint blocksMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-22ASoC: wm_adsp: Release firmware on errorCharles Keepax
This patch correctly releases the firmware if the magic string in the firmware header does not match. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-21ASoC: wm_adsp: Provide explicit trace of coefficient writesMark Brown
Helpful for debugging. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-21Merge remote-tracking branch 'asoc/fix/adsp' into asoc-adspMark Brown
2013-01-20ASoC: wm_adsp: Use GFP_DMA for algorithm readbackMark Brown
Normally kmalloc() returns things that are DMA safe so not visible on all platforms but we do need to explicitly request DMA safe memory. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-20ASoC: wm_adsp: Use GFP_DMA for things that may be DMAedMark Brown
Normally kmalloc() returns things that are DMA safe so not visible on all platforms but we do need to explicitly request DMA safe memory. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-20ASoC: wm_adsp: Make region identification errors more informativeMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-18ASoC: wm_adsp: Set ADSP1 clock rate to match sys clockChris Rattray
Sets the ADSP1 clock rate to match the system clock rate. To support this the codec driver provides details of register containing the system clock control bits. Signed-off-by: Chris Rattray <crattray@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-18ASoC: wm_adsp: Implement support for coefficeint file format 1Mark Brown
Implement support for a new revision of the coefficeint file format for ADSP cores. Since coefficient file format 0 has not been widely deployed and is very unlikely to ever be used with this driver code support for it has been removed. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-16ASoC: wm_adsp: Add initialisation function for ADSP1Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-15ALSA: hda/hdmi - Work around "alsactl restore" errorsTakashi Iwai
When "alsactl restore" is performed on HDMI codecs, it tries to restore the channel map value since the channel map controls are writable. But hdmi_chmap_ctl_put() returns -EBADFD when no PCM stream is assigned yet, and this results in an error message from alsactl. Although the error is harmless, it's certainly ugly and can be regarded as a regression. As a workaround, this patch changes the return code in such a case to be zero for making others happy. (A slight excuse is: when the chmap is changed through the proper alsa-lib API, the PCM status is checked there anyway, so we don't have to be too strict in the kernel side.) Cc: <stable@vger.kernel.org> [v3.7+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-14ALSA: usb-audio: selector map for M-Audio FT C400Eldad Zack
Add names of the clock sources for the M-Audio Fast Track C400. Signed-off-by: Eldad Zack <eldad@fogrefinery.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-14ALSA: usb-audio: M-Audio FT C400 skip packet quirkEldad Zack
Attain constant real-world latency by skipping 16 data packets. The number of packets to be skipped was found by trial and error. Signed-off-by: Eldad Zack <eldad@fogrefinery.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-14ALSA: usb-audio: correct M-Audio C400 clock source quirkEldad Zack
Taking another look at the C400 descriptors, I see now that there is a clock selector (0x80) for this device. Right now, the clock source points to the internal clock (0x81), which is also valid. When the external clock source (0x82) is selected in the mixer, and the rates mismatch (if it's free-running it is fixed to 48KHz), xruns will occur. Set the clock ID to the clock selector unit (0x81), which then allows the validation code to function correctly. Signed-off-by: Eldad Zack <eldad@fogrefinery.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-14ALSA: usb - fix race in creation of M-Audio Fast track pro driverDavid Henningsson
A patch in the 3.2 kernel caused regression with hotplugging the M-Audio Fast track pro, or sound after suspend. I don't have the device so I haven't done a full analysis, but it seems userspace (both udev and pulseaudio) got confused when a card was created, immediately destroyed, and then created again. However, at least one person in the bug report (martin djfun) reports that this patch resolves the issue for him. It also leaves a message in the log: "snd-usb-audio: probe of 1-1.1:1.1 failed with error -5" which is a bit misleading. It is better than non-working audio, but maybe there's a more elegant solution? BugLink: https://bugs.launchpad.net/bugs/1095315 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-12ASoC: wm_adsp: Add basic firmware selection supportMark Brown
There are many firmwares available for ADSP devices. Add basic support for selecting between them, including a couple of feature sets in the set of available firmware to start off with. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-11ALSA: usb-audio: Fix NULL dereference by access to non-existing substreamTakashi Iwai
The commit [0d9741c0: ALSA: usb-audio: sync ep init fix for audioformat mismatch] introduced the correction of parameters to be set for sync EP. But since the new code assumes that the sync EP is always paired with the data EP of another direction, it triggers Oops when a device only with a single direction is used. This patch adds a proper check of sync EP type and the presence of the paired substream for avoiding the crash. Reported-and-tested-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-10Merge tag 'asoc-fix-3.8-rc2' of ↵Takashi Iwai
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Fixes for v3.8 Nothing terribly exciting here except for the DOUBLE_RANGE fix which just hadn't worked before, nobody noticed due to lack of use.
2013-01-10Merge remote-tracking branch 'asoc/fix/wm5100' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/wm2200' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/wm2000' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/wm-adsp' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/sta529' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/sgtl5000' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/pxa' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/lm49453' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/cs42l52' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/cs4271' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/core' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/arizona' into tmpMark Brown
2013-01-10ALSA: hda - Add support of new codec ALC284Kailang Yang
Added the support for a new codec ALC284, which is compatible with ALC269. Also add more codec variants to handle the SSID check properly. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-10ALSA: usb-audio: Make ebox44_table staticSachin Kamat
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 <sachin.kamat@linaro.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-09ALSA: hdspm - Fix wordclock status on AES32Andre Schramm
Use correct bitmask for AES32 cards to determine wordclock lock state, add missing bitmask for sync check and make output of the corresponding control and /proc coherent. Signed-off-by: Andre Schramm <andre.schramm@iosono-sound.com> Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-09Revert "ALSA: hda - Shut up pins at power-saving mode with Conexnat codecs"David Henningsson
This reverts commit 697c373e34613609cb5450f98b91fefb6e910588. The original patch was meant to remove clicking, but in fact caused even more clicking instead. Thanks to c4pp4 for doing most of the work with this bug. BugLink: https://bugs.launchpad.net/bugs/886975 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-09ALSA: hda - Disable runtime D3 for Intel CPT & coTakashi Iwai
We've got a few bug reports that the runtime D3 results in the dead HD-audio controller. It seems that the problem is in a deeper level than the sound driver itself, so as a temporal solution, disable the feature for these controllers again. Reported-and-tested-by: Vincent Blut <vincent.debian@free.fr> Reported-and-tested-by: Maurizio Avogadro <mavoga@gmail.com> Cc: <stable@vger.kernel.org> [v3.7] Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-08ASoC: wm_adsp: Implement support for algorithm-specific coefficient blocksMark Brown
WMDR coefficient files can specify coefficients in terms of algorithm specific data regions. Record the start addresses of these regions while parsing the algorithms and then use them to handle coefficients with these formats. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-08ASoC: wm_asdp: Validate sanity of algorithm countMark Brown
If we run into I/O problems the algorithm count may be crazy, validate it before we proceed and dump the read data for diagnostic purposes. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-08ASoC: wm_adsp: Factor out calculation of memory base addressesMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-08ASoC: wm_adsp: Add support for parsing algorithmsMark Brown
ADSP devices report information on the algorithms loaded on them. Parse this data and use it to allow coefficients to be configured for specific algorithms. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-08ALSA: pxa27x: fix ac97 warm resetMike Dunn
This patch fixes some code that implements a work-around to a hardware bug in the ac97 controller on the pxa27x. A bug in the controller's warm reset functionality requires that the mfp used by the controller as the AC97_nRESET line be temporarily reconfigured as a generic output gpio (AF0) and manually held high for the duration of the warm reset cycle. This is what was done in the original code, but it was broken long ago by commit fb1bf8cd ([ARM] pxa: introduce processor specific pxa27x_assert_ac97reset()) which changed the mfp to a GPIO input instead of a high output. The fix requires the ac97 controller to obtain the gpio via gpio_request_one(), with arguments that configure the gpio as an output initially driven high. Tested on a palm treo 680 machine. Reportedly, this broken code only prevents a warm reset on hardware that lacks a pull-up on the line, which appears to be the case for me. Signed-off-by: Mike Dunn <mikedunn@newsguy.com> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2013-01-08ALSA: pxa27x: fix ac97 cold resetMike Dunn
Cold reset on the pxa27x currently fails and pxa2xx_ac97_try_cold_reset: cold reset timeout (GSR=0x44) appears in the kernel log. Through trial-and-error (the pxa270 developer's manual is mostly incoherent on the topic of ac97 reset), I got cold reset to complete by setting the WARM_RST bit in the GCR register (and later noticed that pxa3xx does this for cold reset as well). Also, a timeout loop is needed to wait for the reset to complete. Tested on a palm treo 680 machine. Signed-off-by: Mike Dunn <mikedunn@newsguy.com> Acked-by: Igor Grinberg <grinberg@compulab.co.il> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2013-01-07ASoC: wm_adsp: Ensure that block writes are from DMA aligned addressesMark Brown
Otherwise we won't run correctly on systems that require this for larger data transfers. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-07ALSA: hda - add mute LED for HP Pavilion 17 (Realtek codec)David Henningsson
The mute LED is in this case connected to the Mic1 VREF. The machine also exposes the following string in BIOS: "HP_Mute_LED_0_A", so if more machines are coming, it probably makes sense to try to do something more generic, like for the IDT codec. Cc: stable@vger.kernel.org BugLink: https://bugs.launchpad.net/bugs/1096789 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-07ALSA: au88x0: fix incorrect left shiftNickolai Zeldovich
vortex_wt_setdsout performs bit-negation on the bit position (wt&0x1f) rather than on the resulting bitmask. This code is never actually invoked (vortex_wt_setdsout is always called with en=1), so this does not currently cause any problem, and this patch is simply cleanup. Signed-off-by: Nickolai Zeldovich <nickolai@csail.mit.edu> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-04ASoC: wm2000: Fix sense of speech clarity enableMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org