| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With new ABE release the driver can support now 44.1 on MM DL
and TONES DL port. For MM DL port a true interpolation is done.
For TONES DL the ratio 12/11 is used.
Change-Id: Ic433e1576e7c86b1477c1854816caf5cefdceeed
Signed-off-by: Sebastien Guiriec <s-guiriec@ti.com>
Signed-off-by: Chris Kelly <c-kelly@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MM_EXT_DL gains were being lost when ABE was hitting OFF, because
they were not properly saved when DL1 last active BE was muted.
Save DL1 BE gains along with ABE context in order to avoid
losing their values when OFF is hit. Gain values are saved when
gains are muted. These gains were not properly muted if BT_VX_DL
or MM_EXT_DL port was enabled and DL2 path was active, since
PDM_DL1 port gets enabled(for DL1 or DL2) when ABE McPDM is started.
Change-Id: Ib0d658c65c134f7ee4baeb13f7e09f6299b1923a
Signed-off-by: Axel Castaneda Gonzalez <x0055901@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implement Errata i653: if the DMIC path is reset by SW_DMIC_RST, uplink
FIFO is correctly reset but the dma pending signal is kept asserted.
This can result in an invalid access by the host DMA to uplink FIFO.
The workaround involves:
- Enable channels:
DMIC_CTRL.SW_DMIC_RST = 1
Enable necessary channels
DMIC_CTRL.SW_DMIC_RST = 0
- Disable channels:
DMIC_CTRL.SW_DMIC_RST = 1
Disable all channels
DMIC_CTRL.SW_DMIC_RST = 0
Change-Id: I03766e32493322094fb48d9ae07a19d15695996a
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add both legacy DMA and ABE support for Digital Microphones on the
OMAP4 platform.
Change-Id: Ib6681c51d78255ba94177821c570e4dd5021a243
Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Chris Kelly <c-kelly@ti.com>
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Conflicts:
sound/soc/omap/Kconfig
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Up to now the VX ports had a higher priority than BT port.
When voice call starts or stops, the ABE reference clock
changes between Modem clock and ABE system clock.
This change can produce noise on the multimedia tone played in the same time.
To avoid that the BT needs to have the priority.
Indeed, the ABE ref clock will stay at ABE system clock
inside/outside voice call.
As Vx ports have ASRC there's no problem of clock drift.
Change-Id: Ie04fe6705e6c85fe3c83bf684717ae48a10a43e7
Signed-off-by: Francois Mazard <f-mazard@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
New features:
- SRC 44.1 to 48 for MM_DL port (CBPr or Ping/Pong)
- Split monitoring of ABE filters saturation
- Table for filter saturation 8 or 16 kHz
Change-Id: I469a477612d4c927516e2bc96ea07d672bfcf3e0
Signed-off-by: Sebastien Guiriec <s-guiriec@ti.com>
Signed-off-by: Chris Kelly <c-kelly@ti.com>
Signed-off-by: Barry Woodward <b-woodward@ti.com>
Signed-off-by: Gabriel M. Beddingfield <gabrbedd@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed the formatting of the code when the MultiFrame is set to 0
change
= 0/*...*/;
to
= 0; /*...*/
No operational changes are made to this file
Change-Id: I6b49e0f66f2fad16e540968c6ca926e450c60bf5
Signed-off-by: Dan Murphy <dmurphy@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On commit 52c46046 the ABE firmware was updated with a version that
included several improvements, but also disabled the digital
microphone (DMIC) feature. In order to support DMIC on devices like
the Blaze, an alternate firmware (and matching code) must be
configured.
This commit allows an alternate firmware using
CONFIG_SND_OMAP4_ABE_USE_ALT_FW.
Change-Id: I2fd4aa8d03be802722dca973a71435b9965e80ea
Signed-off-by: Gabriel M. Beddingfield <gabrbedd@ti.com>
|
| |
| |
| |
| |
| |
| |
| | |
This enables a build to load the alternate ABE Firmware.
Change-Id: I5772616c576234845d0e839067d5b85f232f12be
Signed-off-by: Gabriel M. Beddingfield <gabrbedd@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The static struct omap_abe_dai_dma_params is used to both set defaults
and serve as the omap_pcm_dma_data instance for the driver. In some
cases, the values in this struct are overridden to suit the end-use.
When these overrides happen, there was nothing to set them back to the
original default.
This fixes an issue where single-channel headset (AMic) recording
causes subsequent DMic recordings to be rendered at double-speed.
This happened because the the dma data_type was being set to
OMAP_DMA_DATA_TYPE_S16 in the static struct omap_abe_dai_dma_params.
After being set, the value was never restored to
OMAP_DMA_DATA_TYPE_S32 (needed by DMic recording).
Change-Id: Iea2b19d451edc10ab864ca6c1a2b6b3449b05bea
Signed-off-by: Gabriel M. Beddingfield <gabrbedd@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
In function 'omap_mcbsp_dai_set_dai_sysclk':
warning: suggest explicit braces to avoid ambiguous 'else'
Change-Id: Ic273b811371ae12ae76097cc709327443690d39b
Signed-off-by: Leed Aguilar <leed.aguilar@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Correct logical to physical port mapping for MM_EXT ports.
Change-Id: Ia617ec5cc9fcba85bcdedbb29aa3fe8ce9307985
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Axel Castaneda Gonzalez <x0055901@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reset value of MCPDM_CTRL is 0, so there is no need to do an
extra clear write during McPDM DAIs probe(). One important
advantage of removing this extra register access is that it
removes the dependency on the McPDM clock which is supplied
externally.
Change-Id: I8bcad0494cc389523172b0f9ae5834e0f0f96326
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With ABE release 09.50 both UL and DL task for McPDM are at OPP 25
So we just need to set the constrain to OPP 25 instead of 50.
Change-Id: Ic250678085d0b763993d3be8f540bc0cf836924e
Signed-off-by: Sebastien Guiriec <s-guiriec@ti.com>
Signed-off-by: Chris Kelly <c-kelly@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
aess_hw_params() calls subroutines that manipulate registers and
buffers in the ABE. Therefore it needs exclusive access to the ABE to
prevent corruption.
Change-Id: I5a8f62a818168bb402dcf48f619e993a9ee26df7
Signed-off-by: Francois Mazard <f-mazard@ti.com>
Signed-off-by: Gabriel M. Beddingfield <gabrbedd@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add runtime checking during core audio configuration
to enable MCLK usage.
Change-Id: Ia8a3032c3fe5338980b7af98b4bd42ed814c715e
Signed-off-by: Leonid Iziumtsev <x0153368@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
During suspend/resume cycle, PLUGINT could be processed while
corresponding irq has not being enabled back, so PLUGINT handler
is skipped. Converting PLUGINT to no-suspend type makes this
interrupt to be handled properly during resume as it's kept enabled
during suspend.
Change-Id: I38c344113816afcf05634cb92cdd0d81a908b088
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
|
| |
| |
| |
| |
| |
| |
| | |
Allow passing irqflags to TWL6040 IRQ request API (twl6040_request_irq).
Change-Id: I731931c4f8fc9aee57bb3707c94f7b763e140c0a
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
|
|\ \ |
|
| |\ \
| | |/ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 267f8fa2e1eef0612b2007e1f1846bcbc35cc1fa upstream.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|\ \ \
| |/ / |
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
Fixup incompatible code in opp.c: omap_init_opp_table()
Change-Id: Iac7d60b814a539285d00e0a3dbb6e3f0060cb683
Signed-off-by: Todd Poynor <toddpoynor@google.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 445632ad6dda42f4d3f9df2569a852ca0d4ea608 upstream.
DAPM shutdown incorrectly uses "list" field of codec struct while
iterating over probed components (codec_dev_list). "list" field
refers to codecs registered in the system, "card_list" field is
used for probed components.
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 55c6f4cb6ef49afbb86222c6a3ff85329199c729 upstream.
When MCLK is supplied externally and BCLK and LRC are configured as outputs
(codec is master), the PLL values are only calculated correctly on the first
transmission. On subsequent transmissions, at differenct sample rates, the
wrong PLL values are used. Test for f_opclk instead of f_pllout to determine
if the PLL values are needed.
Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 689185b78ba6fbe0042f662a468b5565909dff7a upstream.
Help UIs associate it with the matching gain control.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit ccf795847a38235ee4a56a24129ce75147d6ba8f upstream.
Currently the microphone input source is not selectable as while there is
a DAPM widget it's not connected to anything so it won't be properly
instantiated. Add something more correct for the input structure to get
things going, even though it's not hooked into the rest of the routing
map and so won't actually achieve anything except allowing the relevant
register bits to be written.
Reported-by: Christop Fritz <chf.fritz@googlemail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit b8edf3e5522735c8ce78b81845f7a1a2d4a08626 upstream.
Otherwise if someone tries to use all four channels on AIF1 with the
device in master mode we won't be able to clock out all the data.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 9d40e5582c9c4cfb6977ba2a0ca9c2ed82c56f21 upstream.
Required for reliable power up from cold.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit c9fe573a6584034670c1a55ee8162d623519cbbf upstream.
In sound/soc/codecs/tlv320aic3x.c
data = snd_soc_read(codec, AIC3X_PLL_PROGA_REG);
snd_soc_write(codec, AIC3X_PLL_PROGA_REG,
data | (pll_p << PLLP_SHIFT));
In the above code, pll-p value is OR'ed with previous value without
clearing it. Bug is not seen if pll-p value doesn't change across
Sampling frequency.
However on some platforms (like AM335x EVM-SK), pll-p may have different
values across different sampling frequencies. In such case, above code
configures the pll with a wrong value.
Because of this bug, when a audio stream is played with pll value
different from previous stream, audio is heard as differently(like its
stretched).
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also fix a potential race condition where the state
could have changed during the sleep.
Change-Id: I189d0cd17ea56f5e0c2315061ab18acfcff2c91c
Signed-off-by: Simon Wilson <simonwilson@google.com>
|
|\ \ \
| |/ / |
|
| |\ \
| | |/ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 7e1f7c8a6e517900cd84da1b8ae020f08f286c3b upstream.
Line widgets had not been included in either the power up or power down
sequences so if a widget had an event associated with it that event would
never be run. Fix this minimally by adding them to the sequences, we
should probably be doing away with the specific widget types as they all
have the same priority anyway.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Defer audio transfer after HDMI AUDIO wrapper is enabled.
If audio transmit was started along with audio wrapper enabling,
spurious data (zeros) was sent at the beginning of the transfer
as part of the of audio sample packets, due an AUDIO FIFO UNDERFLOW,
which was shifting audio channels.
Change-Id: I48d8c02c0467dd3158ac748eb0720173d3b209ca
Signed-off-by: Axel Castaneda Gonzalez <x0055901@ti.com>
|
|\ \ \
| |/ /
| | |
| | |
| | | |
Change-Id: I336ba4d61beba035ecc237ccc68b012e48702a87
Signed-off-by: Todd Poynor <toddpoynor@google.com>
|
| |\ \
| | |/
| | |
| | |
| | | |
Change-Id: I76904a60370e2cb9cc29ccde5d526d9183ff4f8e
Signed-off-by: Todd Poynor <toddpoynor@google.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 1f99e44cf059d2ed43c5a0724fa738b83800f725 upstream.
ak4642 out_tlv is +12.0dB to -115.0 dB, and it supports mute.
But current settings didn't care +1 step for mute.
This patch adds it
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 273b72c8ce6b28df6b49423d775c3e59072c73c5 upstream.
PXA's SSP engine fails to take its current channel phase into account
when enabling a stream while the engine is already running. This
results in randomly swapped left/right channels on either the record
or the playback side, depending on which one was enabled first.
The following patch fixes this by factoring out the bit field
modifications in question to a separate function that pauses the
engine temporarily, modifies the bits and kicks it off again
afterwards. Appearantly, a transition of SSCR0_SSE syncs both
directions properly.
The patch has been rolled out to quite a number of devices over the
last weeks and seems to fix the issue reliably.
Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-and-tested-by: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit b2ccf065f7b23147ed135a41b01d05a332ca6b7e upstream.
The neo1973 driver had wrong codec name which prevented the "sound card"
from appearing.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 5ed80a75b248bfaf840ea6b38f941edcf6ee7dc7 upstream.
According to i.MX27 Reference Manual (p 1593) TXBIT0 bit selects
whether the most significant or the less significant part of the
data word written to the FIFO is transmitted.
As DSP_A is the same as DSP_B with a data offset of 1 bit, it
doesn't make any sense to remove TXBIT0 bit here.
Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 7679e42ec833ed70aa34790a5f39dcb7e5bda4fe upstream.
Recent enhancements in the bias management means that we might not be
in standby when the CODEC is idle and can have active widgets without
being in full power mode but the shutdown functionality assumes these
things. Add checks for the bias level at each stage so that we don't
do transitions other than the ON->PREPARE->STANDBY->OFF ones that the
drivers are expecting.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 31794bc37bf2db84f085da52b72bfba65739b2d2 upstream.
The sidetone enumeration texts have left and right swapped.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 2b6712b19531e22455e7fa18371c5ba9eec76699 upstream.
Signed-off-by: Susan Gao <sgao@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 43b6cec27e1e50a1de3eff47e66e502f3fe7e66e upstream.
The second line output mixer has the controls for the line input bypasses
in the opposite order.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit ee76744c51ec342df9822b4a85dbbfc3887b6d60 upstream.
IN1L/R is routed to both line output mixers, we don't route IN1 to LINEOUT1
and IN2 to LINEOUT2.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit f0e8ed858edb327802ee65fd695cc1538286226f upstream.
Commit 873bd4c (ASoC: Don't set invalid name string to snd_card->driver
field) broke generation of a driver name for all ASoC cards relying on the
automatic generation of one. Fix this by using the old default with spaces
replaced by underscores.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 114395c61ad2eb5a7a5cd163fcadb2414e48245a upstream.
Signed-off-by: UK KIM <w0806.kim@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
commit 77231abe55433aa17eca712718745275853fa66d upstream.
For optimal performance the single ended line outputs require that the
line output VMID buffer be enabled.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|