summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2012-02-17ASoC: dapm: Convert stream events to use DAI widgetsMark Brown1-26/+17
This means we don't need to walk through every single widget in the system for each stream event which is a bit less silly. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17ASoC: dapm: Implement and instantiate DAI widgetsMark Brown4-8/+146
In order to allow us to do smarter things with DAI links create DAPM widgets which directly represent the DAIs in the DAPM graph. These are automatically created from the DAIs as we probe the card with references held in both directions between the widget and the DAI. The widgets are not made available for direct instantiation by drivers, they are created automatically from the DAIs. Drivers should be updated to create stream routes using DAPM maps rather than by annotating AIF and DAC widgets with streams. In order to ease transition to this model from existing drivers we automatically create DAPM routes between the DAI widgets and the existing stream widgets which are started and stopped by the DAI widgets, though the old stream handling mechanism is still in place. This also has the nice effect of removing non-DAPM devices as any device with a DAI acquires a widget automatically which will allow future simplifications to the core DAPM logic. The intention is that in future the AIF and DAI widgets will gain the ability to interact such that we are able to manage activity on individual channels independantly rather than powering up and down the entire AIF as we do currently. Currently we only generate these for CODECs, mostly as I have no systems with non-CODEC DAPM to integrate with. It should be a simple matter of programming to add the additional hookup for these. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17ASoC: dapm: Constify lots of names that are never modifiedMark Brown3-6/+6
Neater and avoids warnings when used in other places where const strings are desired. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17ASoC: dapm: Supply the DAI and substream when calling stream eventsMark Brown4-41/+43
In order to allow us to do something smarter than iterate through widgets doing strcmp() to work out what to power up for stream events change the interface used to generate them to be based on the combination of a DAI and a stream direction rather than just a simple string identifying the stream. At some point we'll probably want a set of channels too. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17ASoC: dapm: Refactor snd_soc_dapm_new_widget() to return the widgetMark Brown1-21/+14
Let the caller fiddle with the widget after we're done in order to facilitate further refactoring. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17ASoC: dapm: Unexport snd_soc_dapm_new_control()Mark Brown2-5/+2
Everything now uses snd_soc_dapm_new_controls() instead so we don't need to make it part of the external API. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17ALSA: core: Constify the name in new kcontrolsMark Brown1-1/+1
We never modify it and this lets us use a const string as the name without warnings. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Reviewed-by: Takashi Iwai <tiwai@suse.de> Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17ASoC: Change spitz_ext_control to take dapm as argument.Axel Lin1-7/+5
This fixes below build warning: CC sound/soc/pxa/spitz.o sound/soc/pxa/spitz.c: In function 'spitz_startup': sound/soc/pxa/spitz.c:116: warning: passing argument 1 of 'spitz_ext_control' from incompatible pointer type sound/soc/pxa/spitz.c:47: note: expected 'struct snd_soc_card *' but argument is of type 'struct snd_soc_codec *' 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>
2012-02-16ASoC: ak4535: Convert to direct regmap API usageMark Brown2-13/+55
I suspect the timer register may also be volatile. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16ASoC: ak4535: Remove bitrotted driver versionMark Brown1-4/+0
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16ASoC: ak4535: Make I2C usage unconditionalMark Brown1-23/+1
Convert to module_i2c_driver() too. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16ASoC: ak4535: Remove -codec from driver nameMark Brown1-1/+1
Redundant, the device is only a CODEC. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16ASoC: wm8962: Convert to runtime PM for bias off managementMark Brown1-41/+72
This allows userspace control of final power off, allowing policy decisions for register configuration retention. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16ASoC: wm8962: Don't automatically enable and disable FLLMark Brown1-66/+6
Only enable and disable the FLL when explicitly told to, supporting some additional use cases and making the driver behaviour more standard. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16ASoC: wm8962: Clean up register dump cruftMark Brown1-9/+0
No longer needed with regmap. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16ASoC: wm8962: Add new SYSCLK ratios for new device revisionsMark Brown1-1/+1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16ASoC: wm8962: Log the selected SYSCLK ratioMark Brown1-0/+2
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16ASoC: wm8962: Only configure BCLK in hw_params when audio is activeMark Brown1-1/+2
Otherwise we might not have a sensible clocking setup ready. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16ASoC: wm8962: Update the clocking when setting system clockMark Brown1-0/+2
Make sure we update for any changes in cases where we reconfigure while live (eg, for analogue bypass). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16ASoC: spitz: Fix kcontrols to use card instead of codecLiam Girdwood1-6/+6
Machine kcontrols now use card instead of codec for thier "chip". Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-15ASoC: Show device id in the debug messageAxel Lin3-3/+3
Show the id we read when the id mismatch is detected. This is useful for debugging. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-15ASoC: Get correct revision id for wm2200Axel Lin1-1/+1
Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-15ASoC: core: add platform DAPM debugfs supportSebastien Guiriec2-0/+37
Allow platform widgets to be visible in debugfs like codec widgets. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-15ASoC: dapm: Convert pin switches to use snd_soc_cardMark Brown1-10/+10
Since the addition of the non-CODEC control adds card controls like the DAPM pin switch have been broken as they are expecting the private data for the control to be the CODEC but it's now the card. Fix that for the pin switches, an audit of other drivers is required. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-15ASoC: core: Convert CODEC debugfs init to use dev_warn()Liam Girdwood1-4/+2
Update the codec debugfs initialisation to use dev_warn() instead of printk(KERN_WARNING). Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-15ASoC: dapm: Notify stream event to all card components.Liam Girdwood1-4/+6
Currently when DAPM widgets are power sequenced the stream_event() completion callback is only called for the stream_event originator DAPM context. Other components in the card may also be interested so make sure they are also notified of any widget power events. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-15ASoC: dapm - Make DAPM reset code a separate function.Liam Girdwood1-7/+14
It's useful to export the DAPM reset as a static function for future use by other DAPM functions. e.g. The dynamic PCM query widgets resets the DAPM graph before working out active paths. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-14ASoC: wm8994: Use slow start for VMIDMark Brown1-1/+1
Improves performance on power up. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-14ASoC: wm9081: Use idle_bias_offMark Brown1-25/+10
The main role of the WM9081 is as a class D speaker amplifier so there is no concern about pops. There are also very few registers and a fast power up time so we can happily mark the driver as idle_bias_off. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-14ASoC: wm9081: Move WM9081 IRQ platform data handling into I2C probeMark Brown1-11/+9
Better style and better supports idle_bias_off which we're going to implement. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-13ASoC: wm8988: Remove unneded -codec from driver nameMark Brown1-1/+1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-13ASoC: wm8988: Convert to direct regmap API usageMark Brown1-20/+120
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-13ASoC: wm9081: Use module_i2c_driverMark Brown1-22/+1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-13ASoC: tegra+alc5632: Added digital microphone DAPM widget.Leon Romanovsky1-0/+1
ALC5632 codec supports digital microphone. This patch adds DAPM widget. Signed-off-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: wm8994: Actively discharge VMID when not in useMark Brown1-0/+4
Ensure we're in a known state when we restart. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: wm8994: VMID management improvementsMark Brown1-6/+14
Raise the ramp time to 50ms to cover corner cases, use the startup bias generator, explicitly reset the ramp circuit when complete and reorder things all of which should improve performance somewhat for systems that are sensitive to noise from VMID. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: wm_hubs: Clamp inputs to VMID while we rampMark Brown2-0/+19
Reduces the amount of time taken to stabilise them. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: wm_hubs: Improve single ended line output enable performanceMark Brown4-8/+125
The enable of the single ended line outputs on wm_hubs devices performs better if the output is enabled prior to starting VMID. Since inactive outputs are held at VMID anyway there is little cost to doing this for unused outputs. Add callbacks into wm_hubs and keep track of which outputs are really active so we can disable them once we're active. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: alc5632: Allow 8kHz stream support.Andrey Danin1-0/+1
Signed-off-by: Andrey Danin <danindrey@mail.ru> Signed-off-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: alc5632: Fix Capture/Playback attributes for microphone inputsPaul Fertser1-5/+5
According to the mixer path diagram input sources' attenuators logically belong to the playback path and DMIC boost only affects capture. Signed-off-by: Paul Fertser <fercerpav@gmail.com> Signed-off-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: alc5632: Fix Boost Volume TLVs used for the external microphonesPaul Fertser1-6/+5
This brings the TLVs in sync with the documentation and allows to properly manipulate mic boost controls with alsamixer. Signed-off-by: Paul Fertser <fercerpav@gmail.com> Signed-off-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: alc5632: Connect HP/HPL/HPR mix'es to HPOut MixMarc Dietrich1-0/+3
This patch should fix output through speakers using HP mixer. Signed-off-by: Andrey Danin <danindrey@mail.ru> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: alc5632: Fix I2S digital interface power for recordingAndrey Danin1-1/+1
Fix I2S digital interface power for recording. Signed-off-by: Andrey Danin <danindrey@mail.ru> Signed-off-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: alc5632: Add DMIC switches and controlsAndrey Danin1-3/+23
Add DMIC switches and controls to ALC5632 codec. Signed-off-by: Andrey Danin <danindrey@mail.ru> Signed-off-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: alc5632: Refactored DAPM routes to add voice supportAndrey Danin2-16/+70
Refactored DAPM routes to add voice support. - Added undocumented register - Used AIF in/out - Added missed voice items and routes - Added DMIC input - Romoved unrelevant items Signed-off-by: Andrey Danin <danindrey@mail.ru> Signed-off-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: alc5632: Remove unexisting route from Phone Mix to Mono MixAndrey Danin1-1/+0
There is no Phone Mix<->Mono Mix route in datasheet. Signed-off-by: Andrey Danin <danindrey@mail.ru> Signed-off-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: alc5632: Rename capture switches to common scheme XXX2RECAndrey Danin1-28/+28
Rename capture switches to common scheme XXX2REC. Signed-off-by: Andrey Danin <danindrey@mail.ru> Signed-off-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: alc5632: Add voice DAC playback switchAndrey Danin1-0/+2
Add voice DAC playback switch. Signed-off-by: Andrey Danin <danindrey@mail.ru> Signed-off-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: alc5632: Fixed voice DAC volume step.Andrey Danin1-1/+1
Remove extra zero from volume step in DECLARE_TLV_DB_SCALE macro. Signed-off-by: Andrey Danin <danindrey@mail.ru> Signed-off-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-11ASoC: alc5632: Coding style. Remove two extra empty lines.Andrey Danin1-2/+0
Signed-off-by: Andrey Danin <danindrey@mail.ru> Signed-off-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>