summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: Blackfin: keep better track of SPORT configuration stateCliff Cai2009-06-201-1/+6
| | | | | | | | | Do not let the SPORT be reconfigured until there are no more active streams. Then we can let the system reprogram the SPORT state. Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Kill BUS_ID_SIZETakashi Iwai2009-06-171-2/+2
| | | | | | | | | Remove the use of BUS_ID_SIZE from txx9aclc.c, as BUS_ID_SIZE will be removed soon later. Also, use snprintf() instead of sprintf() as a safer operation. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ASoC: magician: fix PXA SSP clock polarityPhilipp Zabel2009-06-141-1/+1
| | | | | | | Follow-up fix needed since "ASoC: pxa-ssp.c fix clock/frame invert". Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Instantiate any forgotten DAPM widgetsMark Brown2009-06-141-0/+3
| | | | | | | | | | | With the recent changes to the DAPM power checks it has become important to explicitly instantiate all widgets but some drivers were forgetting to do that. Since everything needs to do it add a call to instantiate them immediately before the card registration - it does no harm when it is called repeatedly and saves work in drivers. Tested-by: pHilipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Revert duplicated code in SSM2602 driverMark Brown2009-06-131-4/+0
| | | | | | | | | The Blackfin submission was done as a patch against a different tree and contained a duplicate hunk which will cause us to loose track of the substream pointers when shutting down. Remove one of the duplicated hunks. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Remove odd bit clock ratios for WM8903Mark Brown2009-06-121-4/+0
| | | | | | | | These are not supported since performance can not be guaranteed when they are in use. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* ASoC: Fix lm4857 controlMark Brown2009-06-101-6/+10
| | | | | | | | | | Commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf changed semantics of private_value member of kcontrol. This resulted in inability to control amplifier and subsequently in very low output volume. Tested-by: Johannes Schauer <josch@pyneo.org> Signed-off-by: Paul Fertser <fercerpav@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Apostrophe patrolMark Brown2009-06-061-5/+5
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: codec tlv320aic23 fix bogus divide by 0 messageTroy Kisky2009-06-061-5/+5
| | | | | | | | | Some code analyzer software mistakenly gives divide by 0 error messages for these lines. This patch will end its confusion. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: fix NULL pointer dereference in soc_suspend()Daniel Mack2009-06-041-0/+6
| | | | | | | | | | | | | | In case the initalization of an soc_device failed, there is no codec associated with it. soc_suspend() will still dereference the pointer and cause an Ooops when entering the sleep mode. This happens on our board with a multi-target kernel image when booted on a machine without audio circuits. This patch makes the code bail out very early in this special case. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix build error in twl4030.cTakashi Iwai2009-06-041-0/+1
| | | | | | | | | Fix the (likely cut-n-paste) error by commit 16a30fbb0d3aa4ee829a2dd3d0e314e2b5ae96a9, which causes the error below: sound/soc/codecs/twl4030.c: In function 'twl4030_read_reg_cache': sound/soc/codecs/twl4030.c:152: error: 'cache' undeclared (first use in this function) Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ASoC: SSM2602: assign last substream to the master when shutting downCliff Cai2009-06-031-9/+16
| | | | | | | | Fixes crash when shutting down. Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Blackfin: document how anomaly 05000250 is handledSonic Zhang2009-06-031-0/+9
| | | | | | Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Blackfin: set the transfer size according the ac97_frame sizeCliff Cai2009-06-031-2/+2
| | | | | | | Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: SSM2602: remove unsupported sample ratesCliff Cai2009-06-031-5/+3
| | | | | | Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Check the interface format for 4 channel modePeter Ujfalusi2009-06-011-3/+9
| | | | | | | | | In addition to the operating mode check, also check the codec's interface format in case of four channel mode. If the codec is not in TDM (DSP_A) mode, return with error. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Use reg_cache in twl4030_init_chipPeter Ujfalusi2009-05-291-2/+2
| | | | | | | | Use the codec->reg_cache instead of the array directly in twl4030_init_chip for setting the default values. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Initialise dev for the dummy S/PDIF DAIMark Brown2009-05-281-1/+3
| | | | | | Also include the header to make sure the DAI is prototyped. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add dummy S/PDIF codec supportChaithrika U S2009-05-284-0/+92
| | | | | | | | | | | | McASP on DM646x can operate in DIT (S/PDIF) where no codec is needed. This patch provides stub codec that can be used in these configurations. On DM646x EVM the McASP1 is connected to the S/PDIF out. Signed-off-by: Steve Chen <schen@mvista.com> Signed-off-by: Pavel Kiryukhin <pkiryukhin@ru.mvista.com> Signed-off-by: Naresh Medisetty <naresh@ti.com> Signed-off-by: Chaithrika U S <chaithrika@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: correct print specifiers for unsignedsRoel Kluin2009-05-2814-22/+22
| | | | | | | | Unsigned variables should use `%u' rather than `%d'. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Modify mpc5200 AC97 driver to use V9 of spin_event_timeout()Jon Smirl2009-05-271-16/+14
| | | | | | | | | The function signature for spin_event_timeout() has changed in version V9. Adjust the mpc5200 AC97 driver to use the new function. Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Switch FSL SSI DAI over to symmetric_ratesMark Brown2009-05-271-6/+3
| | | | | | | | The effect of symmetric_constraints should provide a standard way to enforce the use of the same sample rate for both directions. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Timur Tabi <timur@freescale.com>
* ASoC: Mark MPC5200 AC97 as BROKEN until PowerPC merge issues are resolvedMark Brown2009-05-261-3/+4
| | | | | | | | | These drivers use spin_event_timeout() which is only present in the PowerPC tree at present and which is undergoing some API revisions so temporarily mark them as BROKEN until these issues are sorted out. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fabric bindings for STAC9766 on the EfikaJon Smirl2009-05-263-0/+99
| | | | | Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Support for AC97 on Phytec pmc030 base board.Jon Smirl2009-05-263-0/+100
| | | | | | | A wm9712 AC97 codec is used. Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: AC97 driver for mpc5200Jon Smirl2009-05-264-0/+358
| | | | | | | | | | | | I've implemented retries for when the AC97 hardware doesn't reset on first try. About 10% of the time both the Efika and pcm030 AC97 codecs don't reset on first try and need to be poked multiple times. Failure is indicated by not having the link clock start ticking. Every once in a while even five pokes won't get the link started and I have to power cycle. Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Main rewite of the mpc5200 audio DMA codeJon Smirl2009-05-265-391/+344
| | | | | | | | Rewrite the mpc5200 audio DMA code to support both I2S and AC97. Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: HandsfreeL/R mute DAPM switchPeter Ujfalusi2009-05-251-2/+16
| | | | | | | | | Add DAPM switch for HeadsetL/R mute. Since all bits are are needed for the HFL/R pop removal to work the switch is using the SW_SHADOW no HW register for the HandsfreeL/R mute. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Add shadow registerPeter Ujfalusi2009-05-252-2/+12
| | | | | | | | Shadow, non HW register for dealing with the HandsfreeL/R muting. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Handsfree pop removal redesignPeter Ujfalusi2009-05-251-19/+59
| | | | | | | | | | | Move the HandsfreeL/R (IHFL/R) pop removal code from the DAPM_MUX_E to a more appropriate DAPM_PGA_E widget. Also fix the power-up sequence to match with the TRM. The power-down sequence is not described in the TRM, so do it in a way, which seams like the correct sequence. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Rename the PSC functions to DMAJon Smirl2009-05-243-190/+190
| | | | | | | | | Rename the functions in the mpc5200 DMA file from i2s based names to dma ones to reflect the file they are in. Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Basic split of mpc5200 DMA code out of mpc5200_psc_i2sJon Smirl2009-05-245-483/+547
| | | | | | | | Basic split of mpc5200 DMA code out from i2s into a standalone file. Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix minor issues in STAC9766 driverMark Brown2009-05-241-36/+29
| | | | | | | | | | Fairly minor issues: - Don't register the DAIs, it's not required for AC97 devices. - Make unexported functions static. - Wrap some excessively long lines. - Undo tab/space breakage. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Codec for STAC9766 used on the EfikaJon Smirl2009-05-244-0/+497
| | | | | | | Datasheet: http://www.idt.com/products/getDoc.cfm?docID=13134007 Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix WM9081 PowerPC compiler issuesMark Brown2009-05-231-2/+4
| | | | | | | Ensure that we always set a new sysclk when using the FLL in master mode and pick out the correct value for the sample rate in hw_params(). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier driverMark Brown2009-05-224-0/+2325
| | | | | | | The WM9081 is designed to provide high power output at low distortion levels in space-constrained portable applications. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Differentiate the playback streamsPeter Ujfalusi2009-05-221-6/+6
| | | | | | | | Give unique stream names for the two playback streams so DAPM can figure out which codec_dai is in use. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: SDP4030: Use the twl4030_setup_data for headset pop-removalPeter Ujfalusi2009-05-221-0/+7
| | | | | | | | With this patch the initial headset pop-removal related values are configured for the twl4030 codec (ramp delay and sysclk). Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Add support for platform dependent configurationPeter Ujfalusi2009-05-222-3/+24
| | | | | | | | | | | twl4030_setup_data structure can be passed from platform drivers to the codec via the snd_soc_device->codec_data pointer. Currently the setup data has support for the Headset pop-removal related configuration, which differs from board to board. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Move the Headset pop-attenuation code to PGA eventPeter Ujfalusi2009-05-201-25/+91
| | | | | | | | | | | | | | | This patch adds SND_SOC_DAPM_PGA_E to the headset path, which handles the headset ramp up and down sequences needed for the pop noise removal. With this patch the order of the internal components in the twl4030 codec is turned on and off in a correct order. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Tested-by: Anuj Aggarwal <anuj.aggarwal@ti.com> Tested-by: Jarkko Nikula <jhnikula@gmail.com> Tested-by: Misael Lopez Cruz <x0052729@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Change DAPM routings and controls for DACs and PGAsPeter Ujfalusi2009-05-201-70/+71
| | | | | | | | | | | | | | | | | | | | | | | Restructuring the twl4030 codec's DAPM routing to be able to handle the power sequences correctly. The twl4030 codec internal implementation have this order: DAC -> Analog PGA -> Mixer/Mux While the ASoC framework expects the following order: DAC -> Mixer -> Analog PGA This patch moves the Analog PGA handling from SND_SOC_DAPM_PGA to _MIXER and adds two levels of mixer to handle the digital and analog loopback functionality. Now the analog loopback does not powers on any of the DACs. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Tested-by: Anuj Aggarwal <anuj.aggarwal@ti.com> Tested-by: Jarkko Nikula <jhnikula@gmail.com> Tested-by: Misael Lopez Cruz <x0052729@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add TXx9 AC link controller driver (v3)Atsushi Nemoto2009-05-198-0/+908
| | | | | | | This patch adds support for the integrated ACLC of the TXx9 family. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: SDP3430: Connect twl4030 voice DAI to McBSP3Lopez Cruz, Misael2009-05-191-10/+77
| | | | | | | | | | Connect twl4030 voice DAI to McBSP3 in sdp3430 machine driver. Voice DAI init function enables corresponding interface by writting directly to VOICE_IF codec register. Signed-off-by: Misael Lopez Cruz <x0052729@ti.com> Acked-by: Peter Ujflausi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Add control for selecting codec operation modeLopez Cruz, Misael2009-05-191-0/+47
| | | | | | | | | | | | | | Add a control for selecting the codec operation mode. TWL4030 codec has two modes: - Option 1. Audio only (4 audio DACs) - Option 2. Voice/Audio (2 audio DACs and voice ADC/DAC) Control is restricted when a stream is ongoing, since codec's operation mode cannot be changed on-the-fly. Signed-off-by: Misael Lopez Cruz <x0052729@ti.com> Acked-by: Peter Ujflausi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Fix Analog capture path for AUXRPeter Ujfalusi2009-05-191-1/+1
| | | | | | | AUXR is selected by bit 2 and not by bit 1 in the ANAMICR register. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add debug trace for bias level transitionsMark Brown2009-05-181-0/+18
| | | | | | A standard way of making sure we know when the bias level changes. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Integrate bias management with DAPM power managementMark Brown2009-05-182-75/+64
| | | | | | | | | | Rather than managing the bias level of the system based on if there is an active audio stream manage it based on there being an active DAPM widget. This simplifies the code a little, moving the power handling into one place, and improves audio performance for bypass paths when no playbacks or captures are active. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Make DAPM sysfs entries non-optionalMark Brown2009-05-181-9/+1
| | | | | | sysfs is so standard these days there's no point. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Split DAPM power checks from sequencing of power changesMark Brown2009-05-181-25/+56
| | | | | | | | | | | | | | | | | | DAPM has always applied any changes to the power state of widgets as soon as it has determined that they are required. Instead of doing this store all the changes that are required on lists of widgets to power up and down, then iterate over those lists and apply the changes. This changes the sequence in which changes are implemented, doing all power downs before power ups and always using the up/down sequences (previously they were only used when changes were due to DAC/ADC power events). The error handling is also changed so that we continue attempting to power widgets if some changes fail. The main benefit of this is to allow future changes to do optimisations over the whole power sequence and to reduce the number of walks of the widget graph required to check the power status of widgets. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Enable/disable voice digital filtersMisael Lopez Cruz2009-05-182-1/+38
| | | | | | | | | | | | Enable TWL4030 VTXL/VTXR and VRX digital filters for uplink and downlink paths, respectively. This patch also corrects voice 8/16kHz mode selection bit (SEL_16K) of CODEC_MODE register. Signed-off-by: Misael Lopez Cruz <x0052729@ti.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud