aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
Commit message (Collapse)AuthorAge
* Subject: [PATCH 082/104] ASoC: OMAP4 ABE DSP - Add support for the OMAP4 ABE DSPLiam Girdwood2012-08-17
| | | | | | | | | This patch adds the OMAP4 ABE platform driver. This driver defines and exports control for the DSP Frontend and Backend routing. TODO: cleanup Signed-off-by: Liam Girdwood <lrg@ti.com>
* Subject: [PATCH 078/104] ASoC: dsp - add core support for bespoke trigger()Liam Girdwood2012-08-17
| | | | | | | | | This allows the DSP core to call a beskope trigger() call on DAIs and platforms that require it. TODO: move into DSP patch series. Signed-off-by: Liam Girdwood <lrg@ti.com>
* Subject: [PATCH 077/104] ASoC: core - add hostless DAI supportLiam Girdwood2012-08-17
| | | | | | | | | | Allow DAI's to be hostless so that no PCM data is sent between DAI and CPU. This allows for power savings as there is no DMA or CPU interaction required. TODO: we shouldn't need to allocate a PAGE for a dummy DMA buffer. Signed-off-by: Liam Girdwood <lrg@ti.com>
* Subject: [PATCH 075/104] ALSA: pcm - add support for hostless audioLiam Girdwood2012-08-17
| | | | | | | | | | | Allow some PCM devices to be hostless, i.e. there is no PCM data transferred to or from the host CPU. This can be used to minimise power on systems since the CPU can idle/sleep during the PCM device operation (e.g. a phone call where the DAI is between a MODEM and DSP) TODO: cleanup, look at adding a read/write blocker. Singed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* Subject: [PATCH 074/104] ASoC: core - add dynamic kcontrolsLiam Girdwood2012-08-17
| | | | | | TODO: First phase of dynamic kcontrols. More todo. Signed-off-by: Liam Girdwood <lrg@ti.com>
* Subject: [PATCH 071/104] ASoC: dsp - Add DSP support to core ASoC API/structuresLiam Girdwood2012-08-17
| | | | | | | | | | | | Export inline DAI PCM operations to allow DSP core to individually call BE PCM operations and .... Allow machine drivers to specifify DSP FE and BE DAI links. Add FE and BE state information to PCM rtd. TODO: split out this into smaller patches. Signed-off-by: Liam Girdwood <lrg@ti.com>
* Subject: [PATCH 070/104] ASoC: dsp - Add ASoC DSP coreLiam Girdwood2012-08-17
| | | | | | | | | | | | | | This adds ASoC core support for internal and external DSPs and represents them to the audio user as a CODEC like device with mixers, muxes and runtime audio route changing. The DSP core allows DSP DAIs to be dynamically re-routed at runtime between the PCM device end (or Frontend - FE) and the physical DAI (Backend - BE) using regular kcontrols (just like a hardware CODEC). The DSP core also deal with DSP FE+BE suspend and resume PM ops. Signed-off-by: Liam Girdwood <lrg@ti.com>
* Subject: [PATCH 069/104] ASoC: dapm - allow custom widgets to update power ↵Liam Girdwood2012-08-17
| | | | | | | | | | | | | | events. In preparation for ASoC DSP support. Allow for the operation of custom mixer and mux DAPM widgets that can call snd_soc_dapm_mixer_update_power() and snd_soc_dapm_mux_update_power() directly after updating their status. This adds two previously static calls to the public DAPM API. Signed-off-by: Liam Girdwood <lrg@ti.com>
* Subject: [PATCH 068/104] ASoC: dapm - Add API call to query valid DAPM paths.Liam Girdwood2012-08-17
| | | | | | | | | | | | | In preparation for ASoC DSP support. Add a DAPM API call to determine whether a DAPM audio path is valid between source and sink widgets. This also takes into account all kcontrol mux and mixer settings in between the source and sink widgets to validate the audio path. This will be used by the DSP core to determine the runtime DAI mappings between FE and BE DAIs in order to run PCM operations. Signed-off-by: Liam Girdwood <lrg@ti.com>
* Subject: [PATCH 067/104] ASoC: dapm - Add DAPM stream completion event.Liam Girdwood2012-08-17
| | | | | | | | | | | In preparation for ASoC DSP support. This adds a callback function to be called at the completion of a DAPM stream event. This can be used by DSP components to perform calculations based on DAPM graphs. Signed-off-by: Liam Girdwood <lrg@ti.com>
* Subject: [PATCH 036/104] ASoC: core - platform widget IOLiam Girdwood2012-08-17
| | | | | | Allow platform driver widgets to perform any IO required via DAPM. Signed-off-by: Liam Girdwood <lrg@ti.com>
* Subject: [PATCH 035/104] ASoC: core - add API call to register platform ↵Liam Girdwood2012-08-17
| | | | | | | | | | kcontrols. In preparation for Dynamic PCM (AKA DSP) support. Allow platform drivers to register kcontrols. Signed-off-by: Liam Girdwood <lrg@ti.com>
* Subject: [PATCH 033/104] ASoC: core - Add platform read and write.Liam Girdwood2012-08-17
| | | | | | | | | In preparation for ASoC Dynamic PCM (AKA DSP) support. Allow platform driver to perform IO. Intended for platform DAPM. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Subject: [PATCH 029/104] ASoC: Fix mismerge with release branchMark Brown2012-08-17
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Subject: [PATCH 027/104] ASoC: Add weak routes for sidetone style pathsMark Brown2012-08-17
| | | | | | | | | | | | | | | | | | Normally DAPM will power up any connected audio path. This is not ideal for sidetone paths as with sidetone paths the audio path is not wanted in itself, it is only desired if the two paths it provides a sidetone between are both active. If the sidetone path causes a power up then it can be hard to minimise pops as we first power up either the sidetone or the main output path and then power the other, with the second power up potentially introducing a DC offset. Address this by introducing the concept of a weak path. If a path is marked as weak then DAPM will ignore that path when walking the graph, though all the relevant controls are still available to the application layer to allow these paths to be configured. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* Subject: [PATCH 023/104] ASoC: core - PCM mutex per rtdLiam Girdwood2012-08-17
| | | | | | | | | | | | | | | | | | | | | In preparation for the new ASoC Dynamic PCM support (AKA DSP support). The new ASoC Dynamic PCM core allows DAIs to be dynamically re-routed at runtime between the PCM device end (or Frontend - FE) and the physical DAI (Backend - BE) using regular kcontrols (just like a hardware CODEC routes audio in the analog domain). The Dynamic PCM core therefore must be able to call PCM operations for both the Frontend and Backend(s) DAIs at the same time. Currently we have a global pcm_mutex that is used to serialise the ASoC PCM operations. This patch removes the global mutex and adds a mutex per RTD allowing the PCM operations to be reentrant and allow control of more than one DAI at at time. e.g. a frontend PCM hw_params() could configure multiple backend DAI hw_params() with similar or different hw parameters at the same time. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Subject: [PATCH 019/104] ASoC: core - Allow components to probe/remove in ↵Liam Girdwood2012-08-17
| | | | | | | | | | | | | sequence. Some ASoC components depend on other ASoC components to provide clocks and power resources in order to probe() and vice versa for remove(). Allow components to be ordered so that components can be probed() and removed() in sequences that conform to their dependencies. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Subject: [PATCH 018/104] ASoC: core - Optimise and refactor pcm_new() to ↵Liam Girdwood2012-08-17
| | | | | | | | | | | | pass only rtd Currently pcm_new() passes in 3 arguments :- card, pcm and DAI. Refactor this to only pass in 1 argument (i.e. the rtd) since struct rtd contains card, pcm and DAI along with other members too that are useful too. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Subject: [PATCH 016/104] ASoC: Add context parameter to card DAPM callbacksMark Brown2012-08-17
| | | | | | | | | The card callback will get called for each DAPM context in the card so it can be useful for it to know which device is currently undergoing a transition. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* Subject: [PATCH 011/104] ASoC: Specify target bias state directly as a bias ↵Mark Brown2012-08-17
| | | | | | | | | | | | state Rather than a simple flag to say if we want the DAPM context to be at full power specify the target bias state. This should have no current effect but is a bit more direct and so makes it easier to change our decisions about the which bias state to go into in future. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* ALSA: sb16 - Fix build errors on MIPS and others with 13bit ioctl sizeTakashi Iwai2011-06-30
| | | | | | | | | | | One of ioctl definition in sound/sb16_csp.h contains the data size over 8kB, and this causes build errors on architectures like MIPS, which define _IOC_SIZEBITS=13. For avoiding this build errors but keeping the compatibility, manually expand with _IOC() instead of using _IOW() for the problematic ioctl. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ASoC: Remove unused and about to be broken SND_SOC_CUSTOM I/O busMark Brown2011-06-13
| | | | | | | This will be removed in -next so let's drop it from mainline as soon as we can in order to minimise surprises. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'topic/asoc' into for-linusTakashi Iwai2011-05-22
|\
| * Merge branch 'for-2.6.40' of ↵Takashi Iwai2011-05-20
| |\ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into topic/asoc
| | * ASoC: tpa6130a2: Update e-mail addressPeter Ujfalusi2011-05-11
| | | | | | | | | | | | | | | | | | Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@ti.com>
| | * ASoC: tlv320dac33: Update e-mail addressPeter Ujfalusi2011-05-11
| | | | | | | | | | | | | | | | | | Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@ti.com>
| * | ASoC: Asahi Kasei AK4641 codec driverDmitry Artamonow2011-05-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A driver for the AK4641 codec used in iPAQ hx4700 and Glofiish M800 among others. Signed-off-by: Harald Welte <laforge@gnumonks.org> Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: core - allow ASoC more flexible machine nameLiam Girdwood2011-05-12
| |/ | | | | | | | | | | | | | | | | Allow ASoC machine drivers to register a driver name and a longname. This allows user space to determine the flavour of machine driver. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * Merge branch 'topic/asoc' of ↵Mark Brown2011-05-03
| |\ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into for-2.6.40
| | * ASoC: Declare const properly for enum textsTakashi Iwai2011-05-03
| | | | | | | | | | | | | | | | | | | | | | | | The enum texts are supposed to be const char * const []. Without the second const, it gets compile warnings like sound/soc/codecs/max98095.c:607:2: warning: initialization discards qualifiers from pointer target type Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ASoC: Store a list of widgets in a DAPM mux/mixer kcontrolStephen Warren2011-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A future change will allow multiple widgets to be affected by the same control. For example, a single register bit that controls separate muxes in both the L and R audio paths. This change updates the code that handles relevant controls to be able to iterate over a list of affected widgets. Note that only the put functions need significant modification to implement the iteration; the get functions do not need to iterate, nor unify the results, since all affected widgets reference the same kcontrol. When creating the list of widgets, always create a 1-sized list, since the control sharing is not implemented in this change. 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: Add w->kcontrols, and populate itStephen Warren2011-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | Future changes will need reference to the kcontrol created for a given kcontrol_new. Store the created kcontrol values now. 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: s/w->kcontrols/w->kcontrol_news/gStephen Warren2011-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A future change will modify struct snd_soc_dapm_widget to store the actual kcontrol pointers for each kcontrol_new in a field named kcontrols. Rename the existing kcontrols field to enable this. 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: Move DAPM debugfs directory creation to snd_soc_dapm_debugfs_initLars-Peter Clausen2011-05-03
| |/ | | | | | | | | | | | | | | | | Move the creation of the DAPM debugfs directory to snd_soc_dapm_debugfs_init instead of having the same duplicated code in both codec and card DAPM setup. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Work around allmodconfig failureMark Brown2011-04-28
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
| * ASoC: Define constants for WM8962 GPIO functionsMark Brown2011-04-26
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
| * ASoC: Add EQ and filter to max98095 CODEC driverPeter Hsiang2011-04-20
| | | | | | | | | | | | | | | | This patch adds the equalizer and biquad filter controls. Signed-off-by: Peter Hsiang <peter.hsiang@maxim-ic.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: simple style fixLu Guanqun2011-04-20
| | | | | | | | | | | | | | | | | | replace the tab with spaces, make it align with other paragraphs Signed-off-by: Lu Guanqun <guanqun.lu@intel.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Merge branch 'for-2.6.39' into for-2.6.40Mark Brown2011-04-18
| |\ | | | | | | | | | | | | | | | | | | Fix trivial conflict caused by silly spelling fix patch. Conflicts: sound/soc/codecs/wm8994.c
| * | ASoC: Make struct snd_soc_card's dapm_widgets and dapm_routes constLars-Peter Clausen2011-04-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Those should not be modified (and are not) by the core code, so make them const. This also makes them consistent with the same members of snd_soc_codec. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: Add WM8915 CODEC driverMark Brown2011-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The WM8915 is an ultra low power mobile CODEC designed for smartphones, featuring a mixture of digital and analogue I/O with flexible mixing options and advanced low power accessory detection functionality in a compact package. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * | ASoC: Add data based control initialisation for CODECs and cardsMark Brown2011-04-07
| | | | | | | | | | | | | | | | | | | | | Allow CODEC and card drivers to point to an array of controls from their driver structure rather than explicitly calling snd_soc_add_controls(). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: Add max98095 CODEC driverPeter Hsiang2011-04-06
| | | | | | | | | | | | | | | | | | | | | This patch adds the MAX98095 CODEC driver. Signed-off-by: Peter Hsiang <peter.hsiang@maxim-ic.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | Merge branch 'for-2.6.39' into for-2.6.40Mark Brown2011-04-03
| |\ \
| | * \ Merge branch 'for-2.6.39' of ↵Mark Brown2011-04-03
| | |\ \ | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into for-2.6.39
| * | | | ASoC: Add snd_soc_codec_{readable,writable}_register()Dimitris Papastamos2011-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide the top level ASoC core functions for indicating whether a given register is readable or writable. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | ASoC: Add default snd_soc_default_writable_register() callbackDimitris Papastamos2011-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By using struct snd_soc_reg_access for the read/write/vol attributes of the registers, we provide callbacks that automatically determine whether a given register is readable/writable or volatile. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | ASoC: Add control_type in snd_soc_codecDimitris Papastamos2011-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is mainly used by the soc-cache code to easily determine the currently used underlying serial bus. Set SND_SOC_CUSTOM to 1 so we can distinguish it if it is not initialized or set. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | ASoC: soc-cache: Introduce raw bulk write supportDimitris Papastamos2011-03-26
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As it has become more common to have to write firmware or similar large chunks of data to the hardware, add a function to perform raw bulk writes that bypass the cache. This only handles volatile registers as we should avoid getting out of sync with the actual cache. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | Merge branch 'topic/misc' into for-linusTakashi Iwai2011-05-22
|\ \ \ \ | |_|_|/ |/| | |