summaryrefslogtreecommitdiffstats
path: root/include/sound
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'topic/digital-mixing' into for-2.6.32Mark Brown2009-08-241-0/+8
|\
| * ASoC: Add input and output AIF widgetsMark Brown2009-08-181-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently DAPM interfaces with the audio streams to and from the processor at the DAC and ADC widgets. As the digital capabilities of parts increases this is becoming a less and less able to meet the needs of parts. To meet the needs of these devices create new widgets interfacing with the TDM bus but not integrated into any other functionality. Audio can then be routed to and from these widgets using existing routing widgets. A slot number is provided in the definition but this is currently not used yet. This is intended to support devices which can use more than one TDM slot on a single interface. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add DAPM widget power decision debugfs filesMark Brown2009-08-212-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently when built with DEBUG DAPM will dump information about the power state decisions it is taking for each widget to dmesg. This isn't an ideal way of getting the information - it requires a kernel build to turn it on and off and for large hub CODECs the volume of information is so large as to be illegible. When the output goes to the console it can also cause a noticable impact on performance simply to print it out. Improve the situation by adding a dapm directory to our debugfs tree containing a file per widget with the same information in it. This still requires a decision to build with debugfs support but is easier to navigate and much less intrusive. In addition to the previously displayed information active streams are also shown in these files. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add SuperH FSI driver support for ALSAKuninori Morimoto2009-08-201-0/+83
|/ | | | | | | | | This driver is very simple. It support playback only now. This patch is tested by ms7724se board. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ALSA: Allow passing platform_data for pxa2xx-ac97Marek Vasut2009-08-131-0/+3
| | | | | | | | This patch adds support for passing platform data to ac97 bus devices from PXA2xx-AC97 driver.. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge commit 'a5479e389e989acfeca9c32eeb0083d086202280' into for-2.6.32Mark Brown2009-08-111-2/+3
|\
| * ASoC: change set_tdm_slot api to allow slot_width override.Daniel Ribeiro2009-08-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend set_tdm_slot to allow the user to arbitrarily set the frame width and active TX/RX slots. Updates magician.c and wm9081.c for the new set_tdm_slot(). wm9081.c still doesn't handle the slot_width override. While being there, correct an incorrect use of SlotsPerFrm(7) use in bitmask on pxa-ssp.c (SSCR0_SlotsPerFrm(x) is (((x) - 1) << 24)) ). (this series is meant for Mark's for-2.6.32 branch) Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Define more formats for the AC97 CODECsMark Brown2009-08-091-1/+7
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'reg-cache' into for-2.6.32Mark Brown2009-08-071-1/+10
|\ \ | |/ |/|
| * ASoC: Factor out I2C 8 bit address 16 bit data I/OMark Brown2009-08-031-1/+1
| | | | | | | | | | | | | | As part of this refactoring the type of the CODEC hw_read operation is changed to match the regular read operation. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Add I/O control bus information to factored out cache setupMark Brown2009-08-031-1/+8
| | | | | | | | | | | | | | | | | | | | | | While writes tend to be able to use a fairly bus independant format to do the writes reads are all bus specific. To allow us to factor out this code include the bus type as a parameter when setting up the cache. Initially just use this to factor out hw_write_t for I2C. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Begin to factor out register cache I/O functionsMark Brown2009-07-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A lot of CODECs share the same register data formats and therefore replicate the code to manage access to and caching of the register map. In order to reduce code duplication centralised versions of this code will be introduced with drivers able to configure the use of the common code by calling the new snd_soc_codec_set_cache_io() API call during startup. As an initial user the 7 bit address/9 bit data format used by many Wolfson devices is supported for write only CODECs and the drivers with straightforward register cache implementations are converted to use it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Allow CODECs to flag invalid registersMark Brown2009-07-311-0/+1
| | | | | | | | | | | | | | This helps CODECs with sparse register maps work better with the register cache display interface. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ALSA: Allow passing platform_data to devices attached to AC97 busMarek Vasut2009-07-232-0/+7
| | | | | | | | | | | | | | | | This patch allows passing platform_data to devices attached to AC97 bus (like touchscreens, battery measurement chips ...). Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: add SOC_DOUBLE_R_EXT_TLV control typeJoonyoung Shim2009-07-151-0/+11
| | | | | | | | | | | | | | | | | | This is a macro for double controls with special callback function and TLV. The SOC_DOUBLE_R_EXT_TLV needs two registers and one shift for double controls. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: add SOC_DOUBLE_EXT_TLV control typeJoonyoung Shim2009-07-151-0/+11
| | | | | | | | | | | | | | | | | | This is a macro for double controls with special callback function and TLV. The SOC_DOUBLE_EXT_TLV needs one register and two shifts for double controls. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: fixes multiple typos in comments, no functional changePeter Meerwald2009-07-131-13/+13
| | | | | | | | | | Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add WM8993 CODEC driverMark Brown2009-07-081-0/+44
|/ | | | | | | The WM8993 is a highly integrated ultra-low power hi-fi CODEC designed for portable devices such as multimedia phones. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add CODEC volatile register operationMark Brown2009-07-051-0/+2
| | | | | | | | Add a volatile_register() operation to the CODEC structure providing a standard operation to query if a register is volatile. This will be used to factor out the register cache I/O operations for the CODECs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'for-2.6.32' of ↵Takashi Iwai2009-06-253-4/+30
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc
| * ASoC: Add a shutdown callbackMark Brown2009-06-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | Ensure that the audio subsystem is powered down cleanly when the system shuts down by providing a shutdown operation. This ensures that all the components have been returned to an off state cleanly which should avoid audio issues from partially charged capacitors or noise on digital inputs if the system is restarted quickly. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Tested-by: Ben Dooks <ben-linux@fluff.org>
| * ASoC: UDA1380: refactor device registrationPhilipp Zabel2009-06-151-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch mostly follows commit 5998102b9095fdb7c67755812038612afea315c5 "ASoC: Refactor WM8731 device registration" to make UDA1380 use standard device instantiation. Similarly, the I2C device registration temporarily moves into the magician machine driver before it will find its final resting place in the board file. At the same time, platform specific configuration is moved to platform data and common power/reset GPIO handling moves into the codec driver. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Add stub suspend and resume calls for ASoC subdevicesMark Brown2009-06-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that ASoC subdevices can be regular devices they can have normal suspend and resume calls from their buses. However, suspending them individually is not desirable since this can lead to problems such as pops and clicks from devices being suspended with their signals being amplified or clocks being stopped suddenly. This will be resolved by having the normal device model suspend and resume calls call into ASoC which will suspend the entire card while any of its components are suspended. At present this is not yet implemented but in order to aid the transition of drivers to the standard device model this patch adds API calls for the notifications. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * Merge branch 'dapm' into for-2.6.32Mark Brown2009-06-111-2/+0
| |\
| | * ASoC: Make DAPM power sequence lists local variablesMark Brown2009-06-081-2/+0
| | | | | | | | | | | | | | | | | | | | | They are now only accessed within dapm_power_widgets() so can be local to that function. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: Allow 32 bit registers for DAPMDaniel Ribeiro2009-06-081-2/+2
| |/ | | | | | | | | | | | | | | Replace the remaining unsigned shorts with unsigned ints. Tested with pcap2 codec (25 bits registers). Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'topic/pcm-jiffies-check' into for-linusTakashi Iwai2009-06-102-0/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * topic/pcm-jiffies-check: ALSA: pcm - A helper function to compose PCM stream name for debug prints ALSA: pcm - Fix update of runtime->hw_ptr_interrupt ALSA: pcm - Fix a typo in hw_ptr update check ALSA: PCM midlevel: lower jiffies check margin using runtime->delay value ALSA: PCM midlevel: Do not update hw_ptr_jiffies when hw_ptr is not changed ALSA: PCM midlevel: introduce mask for xrun_debug() macro ALSA: PCM midlevel: improve fifo_size handling
| * | ALSA: PCM midlevel: improve fifo_size handlingJaroslav Kysela2009-05-292-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the fifo_size assignment to hw->ioctl callback to allow lowlevel drivers overwrite the default behaviour. fifo_size is in frames not bytes as specified in asound.h and alsa-lib's documentation, but most hardware have fixed byte based FIFOs. Introduce internal SNDRV_PCM_INFO_FIFO_IN_FRAMES. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Merge branch 'fix/pcm-jiffies-check' into topic/pcm-jiffies-checkTakashi Iwai2009-05-291-1/+1
| |\ \
* | \ \ Merge branch 'topic/pcm-delay' into for-linusTakashi Iwai2009-06-101-0/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | * topic/pcm-delay: ALSA: usbaudio - Add delay account ALSA: Add extra delay count in PCM
| * | | ALSA: Add extra delay count in PCMTakashi Iwai2009-05-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added runtime->delay field to adjust the delayed samples for snd_pcm_delay(). Typically a hardware FIFO length is stored in this field, so that the extra delay between hwptr and applptr can be computed. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | Merge branch 'topic/div64-cleanup' into for-linusTakashi Iwai2009-06-101-74/+0
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * topic/div64-cleanup: ALSA: Clean up 64bit division functions
| * | | | ALSA: Clean up 64bit division functionsTakashi Iwai2009-06-051-74/+0
| | |/ / | |/| | | | | | | | | | | | | | | | | | Replace the house-made div64_32() with the standard div_u64*() functions. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | Merge branch 'topic/cleanup' into for-linusTakashi Iwai2009-06-102-11/+0
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | * topic/cleanup: ALSA: Remove deprecated include/sound/driver.h ALSA: Remove deprecated snd_card_new()
| * | | | ALSA: Remove deprecated include/sound/driver.hTakashi Iwai2009-04-211-1/+0
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: Remove deprecated snd_card_new()Takashi Iwai2009-04-211-10/+0
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | Merge branch 'topic/caiaq' into for-linusTakashi Iwai2009-06-101-0/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * topic/caiaq: ALSA: snd_usb_caiaq: bump version number ALSA: snd_usb_caiaq: give better shortname ALSA: Core - add snd_card_set_id() function ALSA: snd_usb_caiaq: give better longname ALSA: snd_usb_caiaq: use strlcpy ALSA: snd_usb_caiaq: clean whitespaces
| * | | | | ALSA: Core - add snd_card_set_id() functionJaroslav Kysela2009-06-021-0/+1
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce snd_card_set_id() function to allow lowlevel drivers to set default identification name for card slot. The function checks also for identification name collisions and tries to create unique name. Also, the snd_card_create() function is simplified, because this new function is used. As bonus, proper name collision checks are evaluated at the card create time. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | Merge branch 'topic/asoc' into for-linusTakashi Iwai2009-06-104-30/+83
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * topic/asoc: (135 commits) ASoC: Apostrophe patrol ASoC: codec tlv320aic23 fix bogus divide by 0 message ASoC: fix NULL pointer dereference in soc_suspend() ASoC: Fix build error in twl4030.c ASoC: SSM2602: assign last substream to the master when shutting down ASoC: Blackfin: document how anomaly 05000250 is handled ASoC: Blackfin: set the transfer size according the ac97_frame size ASoC: SSM2602: remove unsupported sample rates ASoC: TWL4030: Check the interface format for 4 channel mode ASoC: TWL4030: Use reg_cache in twl4030_init_chip ASoC: Initialise dev for the dummy S/PDIF DAI ASoC: Add dummy S/PDIF codec support ASoC: correct print specifiers for unsigneds ASoC: Modify mpc5200 AC97 driver to use V9 of spin_event_timeout() ASoC: Switch FSL SSI DAI over to symmetric_rates ASoC: Mark MPC5200 AC97 as BROKEN until PowerPC merge issues are resolved ASoC: Fabric bindings for STAC9766 on the Efika ASoC: Support for AC97 on Phytec pmc030 base board. ASoC: AC97 driver for mpc5200 ASoC: Main rewite of the mpc5200 audio DMA code ...
| * | | ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier driverMark Brown2009-05-221-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Make snd_soc_read() and snd_soc_write() functionsMark Brown2009-05-221-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Should be no impact on the generated code but it helps the compiler print clearer messages. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: Integrate bias management with DAPM power managementMark Brown2009-05-182-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Split DAPM power checks from sequencing of power changesMark Brown2009-05-182-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Add SNDRV_PCM_FMTBIT_S32_BE as a valid AC97 formatJon Smirl2009-05-141-1/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: Remove redundant codec pointer from DAIsMark Brown2009-05-051-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DAI structure has two pointers to the codec, one in the body of the DAI and one in a union for a parent pointer. Drop the parent pointer version. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | Merge commit 'takashi/topic/asoc' into for-2.6.31Mark Brown2009-05-053-16/+4
| |\ \ \
| | * \ \ Merge branch 'fix/asoc' into topic/asocTakashi Iwai2009-05-043-16/+4
| | |\ \ \ | | | | |/ | | | |/|
| * | | | ASoC: Remove unused DAI format definesMark Brown2009-05-021-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The defines for TDM and synchronous clocks are not used - they are mostly a legacy of the automatic clocking configuration. TDM will require configuration of the number of timeslots and which ones to use so can't be fit into the DAI format and synchronous mode is handled by symmetric_rates (and needs to be done by constraints rather than when the DAI format is being configured). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | ASoC: Use a shared define for AC97 CODEC data formatsMark Brown2009-05-021-0/+3
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The AC97 wire format is completely fixed so CODECs don't have any choice about the formats they accept but controllers accept a variety of data formats and render them down onto the bus. Have a shared define so all the CODEC drivers will interoperate with any of our controller drivers. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: add SOC_DOUBLE_EXT macroDaniel Mack2009-04-241-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a macro for double controls with special callback functions. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud