aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: McPDM - Add ABE McPDM supportLiam Girdwood2011-06-146-717/+840
| | | | | | | | This driver replaces the legacy McPDM driver in that it supports both legacy and ABE McPDM support. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
* OMAP4: ABE: Add ABE platform deviceLiam Girdwood2011-06-141-0/+16
| | | | | | | Add platform device for Audio Backend. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
* OMAP: AESS: Add omap_device for AESSLiam Girdwood2011-06-141-2/+55
| | | | | | | | | | Register Audio Engine Subsystem (AESS) device through omap device framework. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com> Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com> Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
* OMAP: hwmod - Enable McPDM hwmod deviceLiam Girdwood2011-06-141-1/+1
| | | | | | Enable McPDM hwmod device. Signed-off-by: Liam Girdwood <lrg@ti.com>
* OMAP4: hwmod - Enable AESS hwmod deviceLiam Girdwood2011-06-141-1/+43
| | | | | | | | | Enable AESS hwmod device and add memory bank information for DMEM, CMEM, SMEM and PMEM. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Benoit Cousson <b-cousson@ti.com> Signed-off-by: sebastien Guiriec <s-guiriec@ti.com>
* OMAP: McPDM: Convert McPDM device to omap_deviceJorge Eduardo Candelaria2011-06-141-19/+27
| | | | | | | | | McPDM device is converted to omap device. Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ticom> Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com> Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
* ASoC: twl6040 - Configure ramp step based on platformAxel Castaneda Gonzalez2011-06-142-20/+75
| | | | | | | | Enable ramp down/up step to be configured based on platform. Signed-off-by: Axel Castaneda Gonzalez <x0055901@ti.com> Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
* ASoC: twl6040: Fix volume range for MICGAINL/MICGAINRRicardo Neri2011-06-141-2/+2
| | | | | | | According to TWL6040 specification, gain start at 6dB and not -6dB. Change-Id: I62cd12372e249a7bb1a7887d75429a349a5b2c00 Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
* ASoC: twl6040 - set default constraints.Liam Girdwood2011-06-141-0/+1
| | | | | | Set default sysclk constraints to high performance mode. Signed-off-by: Liam Girdwood <lrg@ti.com>
* ASoC: twl6040: Convert to TWL6040 MFD clientMisael Lopez Cruz2011-06-143-445/+81
| | | | | | | | | | | | | | TWL6040 CODEC driver is a client of TWL6040 MFD, following modifications are done: - skip access to shared registers (vibrator, gpo, pll) - remove shared operations (power-up/down, irq) - use new MFD APIs for register access, pll setting and irq handling - register definitions are removed from header file as already defined in MFD code Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
* ASoC: twl6040: Remove pll and headset mode dependencyMisael Lopez Cruz2011-06-141-9/+60
| | | | | | | | | | | | Remove dependency between pll (hppll, lppll) and headset power mode (low-power, high-performance), as headset power mode can be used with any pll. A new control is created to allow headset power mode configuration from userspace. Changing headset power mode during earpiece related usecases is not allowed as earpiece requires HS DAC in HP mode. Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
* ASoC: twl6040 - Support other sample rates in constraintsLiam Girdwood2011-06-141-0/+11
| | | | | | Add other supported sample rates to LP and HP modes. Signed-off-by: Liam Girdwood <lrg@ti.com>
* ASoC: twl6040: add all ABE DAIsLiam Girdwood2011-06-141-7/+35
| | | | | | Add all DAIs to fully support OMAP4 ABE. Signed-off-by: Liam Girdwood <lrg@ti.com>
* mfd: twl6040: Add initial support for twl6040 mfdJorge Eduardo Candelaria2011-06-148-3/+1165
| | | | | | | | | | | | | | | | | TWL6040 IC provides analog high-end audio codec functions for handset applications. It contains several audio analog inputs and outputs as well as vibrator support. It's connected to the host processor via PDM interface for audio data communication. The audio modules are controlled by internal registers that can be accessed by I2C and PDM interface. TWL6040 MFD will be registered as a child of TWL-CORE, and will have two children of its own: twl6040-codec and twl6040-vibra This driver is based on TWL4030 and WM8350 MFD drivers. Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com> Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
* ALSA: pcm - reject calls to open backend PCMsLiam Girdwood2011-06-141-0/+6
| | | | | | This stops userspace opening backlemd PCMs. Signed-off-by: Liam Girdwood <lrg@ti.com>
* ASoC: core - add hostless DAI supportLiam Girdwood2011-06-145-0/+54
| | | | | | | | | 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) Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: core - add dynamic kcontrolsLiam Girdwood2011-06-143-9/+19
| | | | | | Add initial implementation of dynamic kcontrols. Signed-off-by: Liam Girdwood <lrg@ti.com>
* ASoC: dsp - Add ASoC DSP coreLiam Girdwood2011-06-147-55/+2061
| | | | | | | | | | | | | | 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>
* ASoC: dapm - allow custom widgets to update power events.Liam Girdwood2011-06-142-11/+32
| | | | | | | | | | | | 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>
* ASoC: dapm - Add locking to the DAPM power_widgets()Liam Girdwood2011-06-143-4/+8
| | | | | | Add locking to the DAPM power_widgets function. Signed-off-by: Liam Girdwood <lrg@ti.com>
* ASoC: dapm - Add API call to query valid DAPM pathsLiam Girdwood2011-06-142-11/+337
| | | | | | | | | | | | | 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>
* ASoC: core - Add platform driver DAPM widgets/kcontrolsLiam Girdwood2011-06-145-14/+169
| | | | | | | | | | | In preparation for ASoC DSP support. Allow platform drivers to export widgets and kcontrols. This is required to support DSP dynamic DAI routing and power management where platform DSP drivers have kcontrols, DAPM widgets etc. Signed-off-by: Liam Girdwood <lrg@ti.com>
* ASoC: dapm - add widget IO functionsLiam Girdwood2011-06-141-6/+49
| | | | | | | | | Add widget IO in preparation to support platform driver DAPM widgets with IO. This provides a generic widget IO operation wrapper in preparation for decouplement of register IO from CODEC drivers. Signed-off-by: Liam Girdwood <lrg@ti.com>
* ASoC: core - pcm mutex per rtdLiam Girdwood2011-06-142-23/+31
| | | | | | | | | | | | | | | | | | | | | In preparation for ASoC DSP support. The new 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 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 DSP hw_params() could configure multiple backend hw_params() with similar or different hw parameters at the same time. Also fix the naming of soc_pcm_close. Signed-off-by: Liam Girdwood <lrg@ti.com>
* ASoC: dapm - Add DAPM stream completion eventLiam Girdwood2011-06-144-3/+18
| | | | | | | | | | | 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>
* ASoC: core - refactor pcm_new() to pass only rtdLiam Girdwood2011-06-1425-57/+89
| | | | | | | | | | In preparation for ASoC DSP support. Currently pcm_new() passes in card, pcm and DAI. Refactor this to only pass in rtd since rtd contains card, pcm and DAI. Struct rtd also contain other members too that are useful to DSPs. Signed-off-by: Liam Girdwood <lrg@ti.com>
* ASoC: core - Allow some components to probe/remove later or earlierLiam Girdwood2011-06-143-14/+48
| | | | | | | | | | Some ASoC components depend on other ASoC components to provide clocks and power resources in order to probe(). Provide a method to allow some components to be probed() later and be also removed() earlier. Signed-off-by: Liam Girdwood <lrg@ti.com>
* ASoC: core - set platform dapm context deviceLiam Girdwood2011-06-141-0/+1
| | | | | | In preparation for ASoC DSP support, set the platform DAPM device context. Signed-off-by: Liam Girdwood <lrg@ti.com>
* ASoC: dapm - add method to get AIF widget from streamLiam Girdwood2011-06-142-0/+19
| | | | | | | | In preparation for ASoC DSP support. Provide a method to get the AIF widget name from the stream name. Signed-off-by: Liam Girdwood <lrg@ti.com>
* ASoC: dapm - fix prefix for DAPM muxesLiam Girdwood2011-06-141-2/+2
| | | | | | Make sure DAPM muxes have a valid kcontrol name instead of NULL. Signed-off-by: Liam Girdwood <lrg@ti.com>
* ASoC: core - Fixes for module reference countingLiam Girdwood2011-06-141-0/+5
| | | | | | | | | | | | | | | | Currently CODEC and platform drivers have their module reference count incremented soc_probe_dai_link() whilst CPU DAI drivers have their reference count incremented in soc_bind_dai_link(). CPU DAIs should have their reference count incremented in soc_probe_dai_link() just like the CODEC and platform drivers. DAI refcounting logic is simplified by by ref counting all (CODEC and platform) DAIs in each sound card, this is required in preparation for ASoC DSP as DSP components can have DAIs that can exist in either the CODEC driver or platform DAI driver. Signed-off-by: Liam Girdwood <lrg@ti.com>
* OMAP: control: Add System Control Module definitionsLiam Girdwood2011-06-141-0/+431
| | | | | | Add System Control Module definitions. Signed-off-by: Liam Girdwood <lrg@ti.com>
* Linux 3.0-rc3Linus Torvalds2011-06-131-1/+1
|
* Merge branch 'for-linus' of ↵Linus Torvalds2011-06-133-12/+12
|\ | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: SLAB: Record actual last user of freed objects. slub: always align cpu_slab to honor cmpxchg_double requirement
| * SLAB: Record actual last user of freed objects.Suleiman Souhlal2011-06-031-4/+5
| | | | | | | | | | | | | | | | | | | | | | Currently, when using CONFIG_DEBUG_SLAB, we put in kfree() or kmem_cache_free() as the last user of free objects, which is not very useful, so change it to the caller of those functions instead. Acked-by: David Rientjes <rientjes@google.com> Acked-by: Christoph Lameter <cl@linux.com> Signed-off-by: Suleiman Souhlal <suleiman@google.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
| * slub: always align cpu_slab to honor cmpxchg_double requirementChris Metcalf2011-06-032-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On an architecture without CMPXCHG_LOCAL but with DEBUG_VM enabled, the VM_BUG_ON() in __pcpu_double_call_return_bool() will cause an early panic during boot unless we always align cpu_slab properly. In principle we could remove the alignment-testing VM_BUG_ON() for architectures that don't have CMPXCHG_LOCAL, but leaving it in means that new code will tend not to break x86 even if it is introduced on another platform, and it's low cost to require alignment. Acked-by: David Rientjes <rientjes@google.com> Acked-by: Christoph Lameter <cl@linux.com> Signed-off-by: Chris Metcalf <cmetcalf@tilera.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
* | Merge branch 'for-linus' of ↵Linus Torvalds2011-06-1311-58/+80
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: ceph: unwind canceled flock state ceph: fix ENOENT logic in striped_read ceph: fix short sync reads from the OSD ceph: fix sync vs canceled write ceph: use ihold when we already have an inode ref
| * | ceph: unwind canceled flock stateSage Weil2011-06-071-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | If we request a lock and then abort (e.g., ^C), we need to send a matching unlock request to the MDS to unwind our lock attempt to avoid indefinitely blocking other clients. Reported-by: Brian Chrisman <brchrisman@gmail.com> Signed-off-by: Sage Weil <sage@newdream.net>
| * | ceph: fix ENOENT logic in striped_readSage Weil2011-06-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Getting ENOENT is equivalent to reading 0 bytes. Make that correction before setting up the hit_stripe and was_short flags. Fixes the following case: dd if=/dev/zero of=/mnt/fs_depot/dd3 bs=1 seek=1048576 count=0 dd if=/mnt/fs_depot/dd3 of=/root/ddout1 skip=8 bs=500 count=2 iflag=direct Reported-by: Henry C Chang <henry.cy.chang@gmail.com> Signed-off-by: Sage Weil <sage@newdream.net>
| * | ceph: fix short sync reads from the OSDSage Weil2011-06-071-13/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we get a short read from the OSD because the object is small, we need to zero the remainder of the buffer. For O_DIRECT reads, the attempted range is not trimmed to i_size by the VFS, so we were actually looping indefinitely. Fix by trimming by i_size, and the unconditionally zeroing the trailing range. Reported-by: Jeff Wu <cpwu@tnsoft.com.cn> Signed-off-by: Sage Weil <sage@newdream.net>
| * | ceph: fix sync vs canceled writeSage Weil2011-06-071-5/+10
| | | | | | | | | | | | | | | | | | | | | If we cancel a write, trigger the safe completions to prevent a sync from blocking indefinitely in ceph_osdc_sync(). Signed-off-by: Sage Weil <sage@newdream.net>
| * | ceph: use ihold when we already have an inode refSage Weil2011-06-0710-28/+37
| | | | | | | | | | | | | | | | | | | | | | | | We should use ihold whenever we already have a stable inode ref, even when we aren't holding i_lock. This avoids adding new and unnecessary locking dependencies. Signed-off-by: Sage Weil <sage@newdream.net>
* | | Merge branch 'timers-urgent-for-linus' of ↵Linus Torvalds2011-06-133-7/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: rtc: Staticize non-exported __rtc_set_alarm() rtc: Fix ioctl error path return ptp: Fix some locking bugs in ptp_read() ptp: Return -EFAULT on copy_to_user() errors
| * \ \ Merge branch 'fortglx/3.0/tip/timers/ptp' of ↵Thomas Gleixner2011-06-061-5/+6
| |\ \ \ | | | | | | | | | | | | | | | git://git.linaro.org/people/jstultz/linux into timers/urgent
| | * | | ptp: Fix some locking bugs in ptp_read()Dan Carpenter2011-06-011-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In ptp_read there is an unlock missing on an error path, and a double unlock on another error path. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Richard Cochran <richard.cochran@omicron.at> Signed-off-by: John Stultz <john.stultz@linaro.org>
| | * | | ptp: Return -EFAULT on copy_to_user() errorsDan Carpenter2011-06-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | copy_to_user() returns the number of bytes remaining, but we want a negative error code in ptp_ioctl. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Richard Cochran <richard.cochran@omicron.at> Signed-off-by: John Stultz <john.stultz@linaro.org>
| * | | | Merge branch 'fortglx/3.0/tip/timers/rtc' of ↵Thomas Gleixner2011-06-062-2/+3
| |\ \ \ \ | | | | | | | | | | | | | | | | | | git://git.linaro.org/people/jstultz/linux into timers/urgent
| | * | | | rtc: Staticize non-exported __rtc_set_alarm()Mark Brown2011-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not referenced outside this file so there's no need for it to be in the global namespace and sparse warns about that. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: John Stultz <john.stultz@linaro.org>
| | * | | | rtc: Fix ioctl error path returnJohn Stultz2011-06-011-1/+2
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bryan Henderson noticed that the "RTC: Fix rtc driver ioctl specific shortcutting" commit has a small bug: When an ioctl is called with an invalid command code and the clock driver does not have an "ioctl" method, the ioctl returns rc 0 instead of -ENOTTY. This patch fixes the issue. CC: Bryan Henderson <bryanh@giraffe-data.com> CC: Gabor Z. Papp <gzp@papp.hu> Reported-by: Bryan Henderson <bryanh@giraffe-data.com> Signed-off-by: John Stultz <john.stultz@linaro.org>
* | | | | Merge branch 'perf-urgent-for-linus' of ↵Linus Torvalds2011-06-136-18/+39
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ftrace: Revert 8ab2b7efd ftrace: Remove unnecessary disabling of irqs kprobes/trace: Fix kprobe selftest for gcc 4.6 ftrace: Fix possible undefined return code oprofile, dcookies: Fix possible circular locking dependency oprofile: Fix locking dependency in sync_start() oprofile: Free potentially owned tasks in case of errors oprofile, x86: Add comments to IBS LVT offset initialization