summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: OMAP: Fix DSP_B format in OMAP McBSP DAI driverJarkko Nikula2009-04-161-2/+5
| | | | | | | | | | | | | The DSP format wasn't still correct in OMAP McBSP DAI even after the commit bd25867a6cbe7a00ef7dbe8d9ddebc91b00b9b3f. Thanks to Peter Ujfalusi <peter.ujfalusi@nokia.com> for noticing and being part of the fix. Now the FS length definition is more clear by defining it with FWID(0). Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix include build error in s3c2412-i2s.cBen Dooks2009-04-161-1/+1
| | | | | | | | Fix accidental change of <mach/regs-gpio.h> to <plat/regs-gpio.h> in s3c2412-i2s.c Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix s3c-i2s-v2.c snd_soc_dai changesBen Dooks2009-04-161-4/+6
| | | | | | | | Fix the build error in s3c-i2s-v2.c caused by a change to the snd_soc_dai ops field. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: s3c-i2s-v2.c fix for s3c_i2sv2_iis_calc_rateBen Dooks2009-04-161-4/+4
| | | | | | | | | The definition of s3c_i2sv2_iis_calc_rate was never renamed from s3c2412_iis_calc_rate, so rename this to allow the build to work. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix jive_wm8750.c build problemsBen Dooks2009-04-161-6/+6
| | | | | | | | Fix build errors in sound/soc/s3c24xx/jive_wm8750.c from changes to ASoC. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: pxa-ssp: allow setting of dai format 0Daniel Mack2009-04-161-0/+1
| | | | | | | | | | | | | | | pxa_ssp_set_dai_fmt() currently has an early exit if the desired format equals the current configuration. This is correct behaviour unless this function is called with a zero value parameter for the first time. Zero is a valid value for this function, but the early exit is bogus in this case. Hence, set priv->dai_fmt to -1 in the beginning so we can configure the port. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: pHilipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Disable S3C64xx support in KconfigMark Brown2009-04-091-3/+3
| | | | | | | | | | Due to the process and communications issues with the 2.6.30 S3C platform merges none of the underlying arch/arm code for S3C64xx audio support made it into mainline, rendering the drivers useless. Disable them in Kconfig to avoid user confusion - users patching in the required support can always reenable this too. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.hEric Miao2009-04-091-2/+0
| | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com> Cc: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Compillation error fixPeter Ujfalusi2009-04-071-4/+6
| | | | | | | Fix for compillation error introduced by the constrain patch. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: fsl_dma: Pass the proper device for dma mapping routinesAnton Vorontsov2009-04-061-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver should pass a device that specifies internal DMA ops, but substream->pcm is just a logical device, and thus doesn't have arch- specific dma callbacks, therefore following bug appears: Freescale Synchronous Serial Interface (SSI) ASoC Driver ------------[ cut here ]------------ kernel BUG at arch/powerpc/include/asm/dma-mapping.h:237! Oops: Exception in kernel mode, sig: 5 [#1] ... NIP [c02259c4] snd_malloc_dev_pages+0x58/0xac LR [c0225c74] snd_dma_alloc_pages+0xf8/0x108 Call Trace: [df02bde0] [df02be2c] 0xdf02be2c (unreliable) [df02bdf0] [c0225c74] snd_dma_alloc_pages+0xf8/0x108 [df02be10] [c023a100] fsl_dma_new+0x68/0x124 [df02be20] [c02342ac] soc_new_pcm+0x1bc/0x234 [df02bea0] [c02343dc] snd_soc_new_pcms+0xb8/0x148 [df02bed0] [c023824c] cs4270_probe+0x34/0x124 [df02bef0] [c0232fe8] snd_soc_instantiate_card+0x1a4/0x2f4 [df02bf20] [c0233164] snd_soc_instantiate_cards+0x2c/0x68 [df02bf30] [c0234704] snd_soc_register_platform+0x60/0x80 [df02bf50] [c03d5664] fsl_soc_platform_init+0x18/0x28 ... This patch fixes the issue by using card's device instead. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix null dereference in ak4535_remove()Dan Carpenter2009-04-061-1/+2
| | | | | | | | | | ak4535_remove() from sound/soc/codecs/ak4535.c calls i2c_unregister_device() with a possibly null pointer. This bug was found by smatch (http://repo.or.cz/w/smatch.git/). Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Add actual support for 96KHz playback supportPeter Ujfalusi2009-04-032-0/+4
| | | | | | | Adds the needed code to be able to use 96KHz playback. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Implement suspend and resume operations for WM9705Mark Brown2009-04-021-0/+37
| | | | | | | Without this the WM9705 driver fails badly when resuming. Tested-by: Russell King <linux@arm.linux.org.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Set parent for AC97 devices we registerMark Brown2009-04-021-1/+1
| | | | | | | | | Ensure that any AC97 devices that bind to the CODEC are below the ASoC device in the device tree so the suspend and resume code can figure out what order to handle them in. Reported-by: Russell King <linux@arm.linux.org.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Don't defer resume work for AC97 codecsMark Brown2009-04-021-4/+14
| | | | | | | | | | | | | | | AC97 devices may have other drivers hanging off them directly so need to have resumed when the resume function returns meaning that we can't defer the resume - complete it immediately for them. Non-AC97 devices should not have other drivers hanging directly off the ASoC devices. We only really need the deferral for non-AC97 devices - it's there since some I2C buses are very slow and non-AC97 codecs often have large numbers of registers to restore and require delays to bring the codec up cleanly leading to a substantial impact on overall resume time. Reported-by: Russell King <linux@arm.linux.org.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add some documentation for the ASoC jack APIMark Brown2009-04-021-0/+71
| | | | | | A brief overview of how the components of the API fit together. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: OMAP: Set minimum buffer size constraint for McBSP2 in OMAP3Jarkko Nikula2009-04-021-0/+11
| | | | | | | | | | | | | McBSP2 in OMAP3 has 1 ksample (1k x 32 bit) internal FIFO. During initial playback startup, this FIFO is keeping the DMA request active until the FIFO is full. So now if ALSA buffer size is smaller, DMA is looping around it while filling up the HW FIFO, generating burst of interrupts as well and SW doesn't have any change to fill enough data. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Add constrains for second streamPeter Ujfalusi2009-04-021-0/+54
| | | | | | | | | In case of duplex mode (capture and playback at the same time), the second stream has to have the same parameters (rate, sample size) as the already running stream. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: 96KHz playback supportPeter Ujfalusi2009-04-021-1/+1
| | | | | | | TWL4030 supports 96KHz sample playback, but only playback. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: trim SSI sysfs statistics in Freescale MPC8610 sound driversTimur Tabi2009-04-021-32/+47
| | | | | | | | | | Optimize the display of SSI statistics in the Freescale MPC8610 sound driver to display the status count only of the interrupts that were actually enabled. Previously, it would display the counts of all SISR status bits, even those that were not enabled. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* pxa2xx-ac97: fix displaying GSR after reset timeoutLuotao Fu2009-04-021-5/+10
| | | | | | | | | the variable gsr_bit is set in isr. It is however set to 0 and interrupts are disabled prior to reset. Hence it doesn't make a lot of sense to show the content of gsr_bit in case of a reset timeout. Signed-off-by: Luotao Fu <l.fu@pengutronix.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: remove trigger delay in Freescale MPC8610 sound driverTimur Tabi2009-04-022-18/+19
| | | | | | | | | | | | | | | Remove the delay from the trigger function in the Freescale MPC8610 sound driver when capture is started. This delay was used to ensure that the DMA controller was active when ALSA call the .pointer function to request a DMA transfer status. A better approach is for the .pointer function to detect that DMA has not started, and return zero instead. This change eliminates the need for the delay. Also add some related code to check for a DMA programming error, and report XRUN if it occurs. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add Magician machine supportPhilipp Zabel2009-04-023-0/+572
| | | | | | | | | | | | HTC Magician has a Philips UDA1380 codec connected via SSP1 (playback) and I2S (capture). There is a flip-flop between the SSP frame clock output and the codec's word select input pin. To make the codec see proper I2S input, the SSP has to send two frames per sample. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: pxa-ssp: Use 16-bit DMA for magician stereoPhilipp Zabel2009-04-021-3/+9
| | | | | | | | | Now magician and similar boards can use network mode with only one active slot to explicitly set 16 bit frame width, even for S16_LE stereo sound. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ALSA: Fix wrong pointer to dev_err() in arm/pxa2xx-ac97-lib.cTakashi Iwai2009-03-191-1/+1
| | | | | | Fix the wrong device pointer passed to dev_err(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ASoC: Declare Headset as Mic and Headphone widgets for SDP3430Lopez Cruz, Misael2009-03-191-8/+16
| | | | | | | | | | | | | | | | Headset was declared previously as a Headphone widget connecting HSMIC and HSOL/HSOR pins of TWL4030 codec in SDP430 machine driver. The capture path becomes invalid as the Headphone widget is not a valid input endpoint. Instead of that, the Headset is declared as separate Microphone and Headphone widgets. Current patch modifies audio map: - Headset Mic: HSMIC with bias - Headset Stereophone: HSOL, HSOR Signed-off-by: Misael Lopez Cruz <x0052729@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: OMAP: N810: Add more jack functionsJarkko Nikula2009-03-191-2/+26
| | | | | | | | | | | | Add functions "Headset" and "Mic" to the control "Jack Function" for activating and de-activating codec input pin LINE1L which is connected to the mic pin of 4-pole Nokia AV connecter. Note there is no mic bias voltage management here since bias is coming from Nokia ASIC and driver for it is not in mainline. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: OMAP: N810: Mark not connected input pinsJarkko Nikula2009-03-191-0/+5
| | | | | Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add FLL support for WM8400Mark Brown2009-03-191-0/+129
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add separate AVDD for WM8400Mark Brown2009-03-181-0/+3
| | | | | | | There is an AVDD supply as well, normally one or more of the other upplies would be tied to it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Further optimise WM8400 bias configuration sequenceMark Brown2009-03-181-25/+2
| | | | | | | The active discharge does not bring sufficient benefit to justify the lengthy times involved so don't do that. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'pxa-ssp' into for-2.6.30Mark Brown2009-03-172-42/+68
|\
| * ASoC: Fix Zylonite for non-networked SSP modeMark Brown2009-03-141-30/+25
| | | | | | | | | | | | This also simplifies the code a bit. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Fix non-networked I2S mode for PXA SSPMark Brown2009-03-141-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | Two issues are fixed here: - I2S transmits the left frame with the clock low but I don't seem to get LRCLK out without SFRMDLY being set so invert SFRMP and set a delay. - I2S has a clock cycle prior to the first data byte in each channel so we need to delay the data by one cycle. Tested-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: switch PXA SSP driver from network mode to PSPDaniel Mack2009-03-131-11/+33
| | | | | | | | | | | | | | | | | | | | | | | | This switches the pxa ssp port usage from network mode to PSP mode. Removed some comments and checks for configured TDM channels. A special case is added to support configuration where BCLK = 64fs. We need to do some black magic in this case which doesn't look nice but there is unfortunately no other option than that. Diagnosed-by: Tim Ruetz <tim@caiaq.de> Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Only deregister AC97 dev if it's name was not "AC97"Atsushi Nemoto2009-03-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | The commit 14fa43f53ff3a9c3d8b9662574b7369812a31a97 ("ASoC: Only register AC97 bus if it's not done already") added a condition for calling of soc_ac97_dev_register() but not added for calling of soc_ac97_dev_unregister(). This patch adds same condition for soc_ac97_dev_unregister(). Without this fix, kernel crashes when unloading an asoc driver. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Each PXA AC97 DAI needs a separate opsMark Brown2009-03-161-4/+12
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Fix some missing dai_ops conversionsMark Brown2009-03-162-9/+11
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: twl4030 - Fix build errorJoonyoung Shim2009-03-161-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CC sound/soc/codecs/twl4030.o sound/soc/codecs/twl4030.c:1400: warning: braces around scalar initializer sound/soc/codecs/twl4030.c:1400: warning: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1401: error: field name not in record or union initializer sound/soc/codecs/twl4030.c:1401: error: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1401: warning: initialization from incompatible pointer type sound/soc/codecs/twl4030.c:1402: error: field name not in record or union initializer sound/soc/codecs/twl4030.c:1402: error: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1402: warning: excess elements in scalar initializer sound/soc/codecs/twl4030.c:1402: warning: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1403: error: field name not in record or union initializer sound/soc/codecs/twl4030.c:1403: error: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1403: warning: excess elements in scalar initializer sound/soc/codecs/twl4030.c:1403: warning: (near initialization for 'twl4030_dai.ops') Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Allow choice of ac97 gpio reset lineRobert Jarzmik2009-03-152-5/+81
|/ | | | | | | | | | | | As the PXA27x series allow 2 gpios to reset the ac97 bus, allow through platform data configuration the definition of the correct gpio which will reset the AC97 bus. This comes from a silicon defect on the PXA27x series, where the gpio must be manually controlled in warm reset cases. Signed-off-by: Robert Jarzmik <rjarzmik@free.fr> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Move headset jack registration to device initialization for SDP3430Lopez Cruz, Misael2009-03-131-35/+39
| | | | | | | | | | | | | | Move headset jack registration to the codec/machine specific initialization. Having the jack registration in machine init causes that the jack device gets initialized but not registered since the sound card is registered before the jack. Moving jack registration to device initialization will register the jack device along with all other devices associated to the card when the card is registed. As a consequence of jack device registered properly, the jack is detected as an input device. Signed-off-by: Misael Lopez Cruz <x0052729@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Replace remaining uses of snd_soc_cnew with snd_soc_add_controls.Philipp Zabel2009-03-1210-86/+46
| | | | | | | | | The drivers are basically duplicating the same code over and over. As snd_soc_cnew is going to be made static some time after the next merge window, we might as well convert them now. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Move WM8580 to normal I2C device probeMark Brown2009-03-122-173/+158
| | | | | | | Refactor the WM8580 device registration to probe via standard I2C device registration, registering the DAIs once the device has probed via I2C. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 's3c-iis-header' into for-2.6.30Mark Brown2009-03-112-2/+1
|\
| * [ARM] Revert futher extraneous changes from the S3C header moveMark Brown2009-03-112-2/+1
| | | | | | | | | | | | Can't see any immediate need for these; build tested. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Merge dai_ops factor outMark Brown2009-03-1142-433/+495
|\ \ | | | | | | | | | | | | | | | | | | | | | Merge Eric Maio's patch to merge snd_soc_dai_ops out of line. Fixed merge issues and updated drivers, plus an issue with the ops for the two s3c2443 AC97 DAIs having been merged. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: make ops a pointer in 'struct snd_soc_dai'Eric Miao2009-03-0440-428/+481
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Considering the fact that most cpu_dai or codec_dai are using a same 'snd_soc_dai_ops' for several similar interfaces, 'ops' would be better made a pointer instead, to make sharing easier and code a bit cleaner. The patch below is rather preliminary since the asoc tree is being actively developed, and this touches almost every piece of code, (and possibly many others in development need to be changed as well). Building of all codecs are OK, yet to every SoC, I didn't test that. Signed-off-by: Eric Miao <eric.miao@marvell.com> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Fix formats for s3c24xx-i2s register printsMark Brown2009-03-111-8/+8
| | | | | | | | | | | | | | | | | | The register values are all u32 so don't need the long format. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Remove version display from WM8580 driverMark Brown2009-03-111-4/+0
| | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Add initial driver for the WM8400 CODECMark Brown2009-03-115-0/+1548
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The WM8400 is a highly integrated audio CODEC and power management unit intended for mobile multimedia application. This driver supports the primary audio CODEC features, including: - 1W speaker driver - Fully differential headphone output - Up to 4 differential microphone inputs Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>