| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Improve probe/remove order by defining ordering levels.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
| |
Refactor out some member resulting in code reduction.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
| |
Remove unused function is_be_supported().
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
|
|
| |
Add twl6040 codec support for Panda.
Signed-off-by: David Anders <x0132446@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
|
|
|
|
| |
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
| |
Add full support for ABE Frontend and Backend DAIs.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
|
|
| |
Add initial support for ABE HAL, based on version 09.11.
Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Sebastien Guiriec <s-guiriec@ti.com>
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
|
|
|
|
|
|
|
| |
Add ABE port manager to manage ABE port resources for the ABE
DAI driver, ABE platform driver and ABE firmware interface.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
| |
Make sure OMAP self linked DMA is really stopped.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
|
| |
ABE needs a buffer size in steps of 24 * 4 data bits. HDMI requires
steps of 32 * 4. Ensure buffer size satisfies both constraints.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
|
| |
This patch adds the OMAP4 ABE platform driver. This driver defines and
exports control for the DSP Frontend and Backend routing.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
| |
Add initial support for the OMAP4 ABE DSP Frontend DAIs.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Add platform device for Audio Backend.
Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Enable McPDM hwmod device.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
According to TWL6040 specification, gain start at 6dB and not -6dB.
Change-Id: I62cd12372e249a7bb1a7887d75429a349a5b2c00
Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
|
|
|
|
|
|
| |
Set default sysclk constraints to high performance mode.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Add other supported sample rates to LP and HP modes.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
| |
Add all DAIs to fully support OMAP4 ABE.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
This stops userspace opening backlemd PCMs.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Add initial implementation of dynamic kcontrols.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Add locking to the DAPM power_widgets function.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
In preparation for ASoC DSP support, set the platform DAPM device context.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Make sure DAPM muxes have a valid kcontrol name instead of NULL.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Add System Control Module definitions.
Signed-off-by: Liam Girdwood <lrg@ti.com>
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|