summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-3.0' into for-3.1Mark Brown2011-07-171-3/+4
|\
| * ASoC: Correct WM8994 MICBIAS supply widget hookupMark Brown2011-07-171-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | The WM8994 and WM8958 series of devices have two MICBIAS supplies rather than one, the current widget actually manages the microphone detection control register bit (which is managed separately by the relevant API). Fix this, hooking the relevant supplies up to the MICBIAS1 and MICBIAS2 widgets. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* | ASoC: Don't use -1 to boostrap subseq so it can be used by driversMark Brown2011-07-171-1/+1
| | | | | | | | | | | | | | Makes life a little easier if you want to add subsequences to an existing driver as you can use -1 to put things at the start of sequences. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Reduce power consumption for idle DAIs in WM8994Mark Brown2011-07-171-0/+29
| | | | | | | | | | | | | | | | If DAIs are idle but their clocks are in use for some reason (eg, as SYSCLK or for accessory detect) then set the clock dividers to the maximum to reduce slightly the power consumption of the unclocked circuits. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Report an error for unknown adav80x formatsMark Brown2011-07-171-2/+2
| | | | | | | | | | | | | | | | Not only fixes error handling but also some uninitialized variable warnings. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
* | ASoC: Handle failed WM8994 FLL lock waitsMark Brown2011-07-171-0/+3
| | | | | | | | | | | | | | | | Try the completion before we start the FLL so that if an interrupt was delayed long enough for us to miss it we don't wait for the completion it signalled. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Handle spurious wm_hubs DC servo done interruptsMark Brown2011-07-151-14/+16
| | | | | | | | | | | | Don't assume the first fire indicates that we're done. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: WM8983: Initial driverDimitris Papastamos2011-07-154-0/+2238
| | | | | | | | | | | | | | | | | | | | The WM8983 is a low power, high quality stereo CODEC designed for portable multimedia applications. Highly flexible analogue mixing functions enable new application features, combining hi-fi quality audio with voice communication. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-3.0' into for-3.1Mark Brown2011-07-151-1/+1
|\ \ | |/
| * ASoC: Fix shift in WM8958 accessory detection default implementationMark Brown2011-07-151-1/+1
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* | ASoC: wm8900: fix a memory leak if wm8900_set_fll failsAxel Lin2011-07-141-0/+1
| | | | | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Log WM8994 FIFO errors from the interruptMark Brown2011-07-141-0/+14
| | | | | | | | | | | | | | We should spot them anyway on state changes but logging them gives us better time information about when the misconfiguration happened. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: SAMSUNG: 24-bit audio playback on Exynos4210Giridhar Maruthy2011-07-141-1/+4
| | | | | | | | | | | | | | | | | | Using 256fs or 512fs will result in distortion of 24-bit audio samples. This is because the lrclk generated is not proper. Using 384 fs generates proper output. Signed-off-by: Giridhar Maruthy <giridhar.maruthy@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Don't warn on low WM8994/58 AIFnCLKsMark Brown2011-07-141-4/+0
| | | | | | | | | | | | We can have valid but very low clocks in accessory detection modes. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Use WM8994 FLL lock interruptMark Brown2011-07-142-1/+42
| | | | | | | | | | | | | | If we have interrupts then wait for the FLL lock interrupt rather than using dead reckoning when waiting for the FLL to start. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Hook up DC servo completion IRQ for WM8994 and WM8958Mark Brown2011-07-141-0/+11
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Implement DC servo completion IRQ handling for wm_hubs devicesMark Brown2011-07-142-5/+37
| | | | | | | | | | | | | | | | The individual devices should set the flag dcs_done_irq in the hubs shared data structure to indicate that they will flag the interrupt by calling wm_hubs_dcs_done(). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Use late enable handling for direct voice, speaker and headphoneMark Brown2011-07-143-13/+22
| | | | | | | | | | | | | | This ensures appropriate clocking for bypass paths to speaker and headphone and direct voice paths on affected revisions. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: STA32x: Preserve reserved register bitsJohannes Stezenbach2011-07-141-0/+16
| | | | | | | | | | | | | | | | | | | | | | Chip documentation explicitly requires that the reset values of reserved register bits are left untouched. It is possible there are differences between STA326 and STA328 or future chip revisions in these bits, and clobbering them might cause malfunction. Signed-off-by: Johannes Stezenbach <js@sig21.net> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: STA32x: Add mixer controls for biquad coefficientsJohannes Stezenbach2011-07-141-0/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The STA32x has a number of preset EQ settings, but also allows full user control of the biquad filter coeffcients (when "Automode EQ" is set to "User"). Each biquad has five signed, 24bit, fixed-point coefficients representing the range -1...1. The five biquad coefficients can be uploaded in one atomic operation into on-chip coefficient RAM. There are also a few prescale, postscale and mixing coefficients, in the same numeric format and range (a negative coefficient inverts phase). These coefficients are made available as SNDRV_CTL_ELEM_TYPE_BYTES mixer controls. Signed-off-by: Johannes Stezenbach <js@sig21.net> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Conditionalize the enable of WM8994 ADC TDM modeMark Brown2011-07-091-4/+12
| | | | | | | | | | | | | | Future devices will not benefit from this. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | Merge branch 'topic/asoc' of ↵Mark Brown2011-07-097-15/+361
|\ \ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into for-3.1
| * \ Merge branch 'for-3.1' of ↵Takashi Iwai2011-07-099-30/+917
| |\ \ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc
| * \ \ Merge branch 'for-3.1' of ↵Takashi Iwai2011-07-0519-136/+1613
| |\ \ \ | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc
| * \ \ \ Merge branch 'for-3.1' of ↵Takashi Iwai2011-07-057-15/+361
| |\ \ \ \ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into topic/asoc
| | * | | | ASoC: tlv320aic3x: Add correct hw registers to Line1 cross connect muxesJarkko Nikula2011-07-041-13/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit af46800 ("ASoC: Implement mux control sharing") revealed that "Left Line1[L | R] Mux" and "Right Line1[L | R] Mux" widgets were pointing to the same kcontrols and codec registers and thus soc-core falsely detected them as shared controls. This is actually wrong since there are separate registers in hardware that configure Line1L to RADC and Line1R to LADC cross connects so these muxes should not be shared. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@ti.com>
| | * | | | ASoC: twl6040 - According to TWL6040 specification, gain start at 6dB and ↵Ricardo Neri2011-06-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | not -6dB. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@ti.com>
| | * | | | ASoC: OMAP: Update Makefile and Kconfig for HDMI audioRicardo Neri2011-06-032-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update Makefile and Kconfig to build HDMI audio support for OMAP4 SDP and Panda boards. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@ti.com>
| | * | | | ASoC: OMAP4: Add HDMI Audio machine driver for OMAP4 boardsRicardo Neri2011-06-031-0/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add machine driver for HDMI audio on OMAP4 boards. This driver is in charge of putting together the HDMI audio codec and the CPU DAI and register the HDMI sound card with ALSA. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@ti.com>
| | * | | | ASoC: OMAP: Add CPU DAI driver for HDMIRicardo Neri2011-06-032-0/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Addition of the HDMI CPU DAI driver for OMAP4. This driver is in charge of configuring DMA settings for HDMI. Also, it finds the HDMI video device and determines if audio playback can proceed. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@ti.com>
* | | | | | Merge branch 'for-3.0' into for-3.1Mark Brown2011-07-093-11/+11
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | |
| * | | | | ASoC: sh: fsi-hdmi: fixup snd_soc_card nameKuninori Morimoto2011-07-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it shouldn't contain space letters and special letters like parentheses. aplay will be "Segmentation fault" without this patch special thanks to Takashi. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | ASoC: sh: fsi-da7210: fixup snd_soc_card nameKuninori Morimoto2011-07-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it shouldn't contain space letters and special letters like parentheses. aplay will be "Segmentation fault" without this patch. special thanks to Takashi. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | ASoC: sh: fsi-ak4642: fixup snd_soc_card nameKuninori Morimoto2011-07-091-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it shouldn't contain space letters and special letters like parentheses. aplay will be "Segmentation fault" without this patch. special thanks to Takashi. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | | | Merge branch 'for-3.0' into for-3.1Mark Brown2011-07-093-6/+22
|\ \ \ \ \ \ | |/ / / / / | | | | | / | |_|_|_|/ |/| | | |
| * | | | Merge branch 'for-3.0' of ↵Takashi Iwai2011-07-092-27/+4
| |\ \ \ \ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into fix/asoc
| * | | | | ASoC: Don't set invalid name string to snd_card->driver fieldTakashi Iwai2011-07-051-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The snd_card->driver field contains a driver name string, and in general it shouldn't contain space or special letters. The commit 2b39535b9e54888649923beaab443af212b6c0fd changed the string copy from card->name, but the long name string may contain such letters, thus it may still lead to a segfault. A temporary fix is not to copy the long name string but just keep it empty as the earlier version did. Reported-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | Merge branch 'for-3.0' of ↵Takashi Iwai2011-07-053-2/+19
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into fix/asoc
| * \ \ \ \ \ Merge branch 'for-3.0' of ↵Takashi Iwai2011-07-052-4/+19
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into fix/asoc
| | * | | | | | ASoC: tlv320aic3x: Do soft reset to codec when going to bias off stateJarkko Nikula2011-05-231-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TLV320AIC33, TLV320AIC34 and I believe others too in this family have some hw bugs that cause that analogue and digital VDD supplies remain leaking up to a few mA of current after certain use cases even the hw blocks inside codec are driven to off. Highest leakages occur after using the bypass paths inside codec but it is possible to get smaller leakages just by toggling mute switches in unused audio paths (i.e. no DAPM changes) while codec is on due another active audio path. While some cases are able to workaroud by making sure that e.g. output mixer switches are muted before powering down the output stage this doesn't help all the cases. Therefore use the software reset command to clear possible leakage currents since that works in every cases and affects only this codec instance. Only drawback is that now cache sync is required everytime when codec bias comes out from bias off state, not only when supply regulators were off. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@ti.com>
| | * | | | | | ASoC: tlv320aic3x: Don't sync first two registers from register cacheJarkko Nikula2011-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to sync first two registers from cache to hw after a reset. First one is used to select page for register access and this driver is normally accessing page 0 only. Second one does a software reset which is obviously unneeded after hardware or previous software reset command. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@ti.com>
| | * | | | | | audio: tlv320aic26: fix PLL register configurationMichael Williamson2011-05-211-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current PLL configuration code for the tlc320aic26 codec appears to assume a hardcoded system clock of 12 MHz. Use the clock value provided by the DAI_OPS API for the calculation. Tested using a MityDSP-L138 platform providing a 24.576 MHz clock. Signed-off-by: Michael Williamson <michael.williamson@criticallink.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@ti.com>
* | | | | | | | Merge branch 'for-3.0' into for-3.1Mark Brown2011-07-071-1/+1
|\ \ \ \ \ \ \ \ | | |_|_|/ / / / | |/| | | | | |
| * | | | | | | ASoC: ak4642: fixup snd_soc_update_bits mask for PW_MGMT2Kuninori Morimoto2011-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mask didn't cover update-data Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * | | | | | | ASoC: Manage WM8731 ACTIVE bit as a supply widgetMark Brown2011-07-051-26/+3
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we have supply widgets there's no need to open code the handling of the ACTIVE bit. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Tested-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | | | | | | ASoC: pxa2xx-pcm: remove unused variable 'dai'Axel Lin2011-07-071-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove unused variable 'dai' to eliminate below warning. CC sound/soc/pxa/pxa2xx-pcm.o sound/soc/pxa/pxa2xx-pcm.c: In function 'pxa2xx_soc_pcm_new': sound/soc/pxa/pxa2xx-pcm.c:91: warning: unused variable 'dai' Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | | | | ASoC: Tegra: Implement SPDIF CPU DAIStephen Warren2011-07-054-0/+855
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a minimal driver for the Tegra SPDIF controller. In hardware, the SPDIF output signal is always routed to any active HDMI display controllers, and may also be routed to external pins on Tegra using the pinmux. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | | | | ASoC: core - Add platform IO tracingLiam Girdwood2011-07-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Trace platform IO just like CODEC IO. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | | | | ASoC: core - Add convenience register for platform kcontrol and DAPMLiam Girdwood2011-07-051-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow platform probe to register platform kcontrols and DAPM just like the CODEC probe(). Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | | | | ASoC: core - Add platform widget IOLiam Girdwood2011-07-052-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow platform driver widgets to perform any IO required for DAPM. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud