Age | Commit message (Collapse) | Author |
|
Add myself as maintainer for the ARM system MMU driver.
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Joerg Roedel <joro@8bytes.org>
(cherry picked from commit b8f9879ea9d9b697f8864f219ad98c5779e6ee04)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
This patch adds support for SMMUs implementing the ARM System MMU
architecture versions 1 or 2. Both arm and arm64 are supported, although
the v7s descriptor format is not used.
Cc: Rob Herring <robherring2@gmail.com>
Cc: Andreas Herrmann <andreas.herrmann@calxeda.com>
Cc: Olav Haugan <ohaugan@codeaurora.org>
Cc: Joerg Roedel <joro@8bytes.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Acked-by: Andreas Herrmann <andreas.herrmann@calxeda.com>
Signed-off-by: Joerg Roedel <joro@8bytes.org>
(cherry picked from commit 45ae7cff3684ab45f57fc13fc242c8546536a84e)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
This patch adds a description of the device tree binding for the ARM
System MMU architecture.
Cc: Rob Herring <robherring2@gmail.com>
Cc: Andreas Herrmann <andreas.herrmann@calxeda.com>
Cc: Joerg Roedel <joro@8bytes.org>
Acked-by: Grant Likely <grant.likely@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Acked-by: Andreas Herrmann <andreas.herrmann@calxeda.com>
Signed-off-by: Joerg Roedel <joro@8bytes.org>
(cherry picked from commit 98c33c5a971bbca31160e5e4a362496c4d702357)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Early versions of the big.LITTLE driver used special names for cpu
clocks and vexpress TC2 code expects this, so provide a fallback
path to allow this to continue to work.
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
LSK 3.10 has an old version of the CLCD driver and requires different
device-tree entries compaired to the final version of the driver which
went into mailnline Linux.
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
The foundation model is a cut down variant of the base model
so reuse the device-tree for that and disable missing features.
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
And use macros for definitions. See commit 6bc474de3661
("arm64: ARM: Fix the Generic Timers interrupt active level description")
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
We only want two codecs (SND_SOC_HDMI_CODEC and SND_SOC_SPDIF),
unfortunately, codecs aren't individually user selectable which
means merge_config.sh won't let us select them.
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Signed-off-by: Andrew Jackson <Andrew.Jackson@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
If the CPU/CODEC DAI set_sysclk() is not support, the -ENOTSUPP will returnd.
Here do the check like set_fmt().
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 4763ebe226156db985fe75bfe930c4069d1f4207)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
It's a bug that writing to the platform data directly, for it should
be constant. So just copy it before writing.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit ca919fe4b972b9428ab42bead11b04a4ebf0f632)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Remove asoc_simple_get_card_info macro and use snd_soc_card_set_drvdata
and snd_soc_card_get_drvdata instead.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit ba194a4de5c81ee200b6af88743b26f7b69aa659)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
If the dt is used and the cinfo is NULL, the -ENOMEM should be return.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 34787d0a258ebb3686676fb37a9e8717cbdd835a)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
If the dt is not used, the cinfo will be always NULL before using it.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 708ec0241c56b85176937e79314430f4f71e40c6)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Even though we might not have rigor rule for the simple card property names,
according to the existing ones, they are all in a same pattern:
[simple-audio-card,]XXX;
Rename simple-audio-routing to simple-audio-card,routing, and make the simple
card's properties has one unified name.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 8c0b8230b2d9708eed5b50f9f8442aaa879a3c57)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
The simple-card's DAPM route maping is optional.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit f87a3e825cb0f7d4d51556ece147f1a6299ac1af)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
For spdif there is no need to do the sysclk setting.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit e2a19ac6c5b27ac93fe744c0ff0823cde52c9cbb)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
The dmaengine framework now exposes the granularity with which it is able to
report the transfer residue for a certain DMA channel. Check the granularity in
the generic dmaengine PCM driver and
a) Set the SNDRV_PCM_INFO_BATCH if the granularity is per period or worse.
b) Fallback to the (race condition prone) period counting if the driver does
not support any residue reporting.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 478028e088d6a94666d8a776be2cd2291faf3bbd)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Currently we have two different snd_soc_platform_driver structs in the generic
dmaengine PCM driver. One for dmaengine drivers that support residue reporting
and one for those which do not. When registering the PCM component we check
whether the NO_RESIDUE flag is set or not and use the corresponding
snd_soc_platform_driver. This patch modifies the driver to only have one
snd_soc_platform_driver struct where the pointer() callback checks the
NO_RESIDUE flag at runtime. This allows us to set the NO_RESIDUE flag after the
PCM component has been registered. This becomes necessary when querying whether
the dmaengine driver supports residue reporting from the dmaengine driver itself
since the DMA channel might only be requested after the PCM component has been
registered.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 93b943edfc5e439f7b843535e0bb0f7d2371f67f)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Make it easier for generic code to work with set_sysclk() by distinguishing
between the operation not being supported and an error as is done for
other operations like set_dai_fmt()
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 1104a9c822f0e9f5e57a236f20a142166dd8f91e)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Signed-off-by: Jyri Sarha <jsarha@ti.com>
cc: bcousson@baylibre.com
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 0f7f3d1f17c2e4d73e449e6acb2007b13813c58e)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
The new playback format is needed for tda998x HDMI audio support. At
the moment the only other user of this codec is omap-hdmi-audio. This
change should not break anything because omap-hdmi-audio-dai, the
cpu-dai of omap-hdmi-audio, enforces sufficient constraints to
available sample formats.
Signed-off-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit c600e95360dac3a3b88f0a2106214dff8e5f56be)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Try to get the device's module clock if the dt has no clocks and
system-clock-frequency properties.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 71467e46414d3bab220de77d3d085be0c0aa03e1)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
The ret parameter is always equal to zero till here.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit e874ddead38996ec40c6a6be2347a69fac520126)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Parses a simple DAPM route table from device tree.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit d4c22094b256a7327346738721b89a78d4680b08)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Makes the code slightly shorter.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit e1acb40a3addc9aceb4600f04c9c86b50770b9b8)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
The name of cpu DAI maybe omitted, and then strlen() will lead
kernel panic.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit dd41e0c4e35abc5a5679762ab108a6fcd9a0ead9)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Support for loading the simple-card module via DeviceTree.
It requests CPU/CODEC information.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit fa558c2801fc173758c742d836f3cc4621851557)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
For many drivers using the generic dmaengine PCM driver one of the few (or the
only) things left to do in the drivers remove function is to unregister the PCM
device. This patch adds a resource managed version of snd_dmaengine_pcm_register()
which makes it possible to simplify the remove function as well as the error
path in the probe function for those drivers.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 21585ee848078b12d0d1a513e93936bf96b444a0)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
From "ASoC: make snd_soc_dai_link more symmetrical", can we see that
the name of CPU DAI maybe omitted. If the DAI name is omitted, try to
use the component name instead.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit e41975edc73d2c16d0784e5fa87a6162e2fcab80)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Current simple-card returns error if DAI doesn't
support .set_fmt callback.
But the error is -ENOTSUPP (= not supported),
and it is not error.
This patch avoids such case
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit e244bb9bc1883547d44642c99f483c2e57e2a940)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
When using the legacy filter function channel requests we currently pass
the audio specific struct snd_dmaengine_dai_dma_data which isn't likely to
be helpful for actual filtering. Since there's already a field in the
structure called filter_data clearly intended for use here convert the
driver to use that.
All existing users of plain filter functions have been converted to use
an explicit compat function to override this behaviour except i.MX which
is working around this issue in its filter function and is updated to
just use filter_data directly here.
Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
(cherry picked from commit 90130d2e8f75c7181cef514e8a1491925f386a16)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Some devices have more than just simple TX and RX DMA channels, for example
modern Samsung I2S IPs support a secondary transmit DMA stream which is
mixed into the primary stream during playback. Allow such devices to
specify the names of the channels to be requested in their dma_data.
Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
(cherry picked from commit ea73b7ddf13548afd666373dc5e26ee7c812a3fe)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Allow DMA data to be set at probe time for devices that can do that,
avoiding the need to do it every time we start a stream and supporting
non-DT dmaengine users using the helpers.
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit ecfc0c04f236f1e2a95094792ec10cf27be39f7c)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
This patch adds some default settings for the generic dmaengine PCM driver for
the case that no config has been supplied. The following defaults are used:
* Use snd_dmaengine_pcm_prepare_slave_config for preparing the DMA slave
config.
* 512kB for the prealloc buffer size. This value has been chosen based on
'feels about right' and is not backed up by any scientific facts. We
may need to come up with something smarter in the future but it should
work fine for now.
With this infrastructure in place we can finally write DAI drivers which are
independent of the DMA controller they are connected to. This is e.g. useful if
the DAI IP core is reused across different SoCs, but the SoCs uses different DMA
controllers.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit fa654e085300e9c222ef931bc0702a9df2542666)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Currently each platform making use the the generic dmaengine PCM driver still
needs to provide a custom snd_pcm_hardware struct which specifies the
capabilities of the DMA controller, e.g. the maximum period size that can be
supported. This patch adds code which uses the newly introduced
dma_get_slave_caps() API to query this information from the dmaengine driver.
The new code path will only be taken if the 'pcm_hardware' field of the
snd_dmaengine_pcm_config struct is NULL.
The patch also introduces a new 'fifo_size' field to the
snd_dmaengine_dai_dma_data struct which is used to initialize the
snd_pcm_hardware 'fifo_size' field and needs to be set by the DAI driver.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit c0de42bf595238e9dd593405ebc2992cc8470732)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
If the FIFOs aren't flushed, the left/right channels may be swapped:
this may occur if the FIFOs are not empty when the streams start.
Signed-off-by: Andrew Jackson <Andrew.Jackson@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Convert to driver to use either platform_data or device-tree for configuration
of the device. When using device-tree, the I2S block's configuration is read
from the relevant registers: this reduces the amount of information required in
the device tree.
Signed-off-by: Andrew Jackson <Andrew.Jackson@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
On the Designware core, the channels are independent and not combined
in higher registers. So as more channels are added, more registers need
to be updated.
Signed-off-by: Andrew Jackson <Andrew.Jackson@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Signed-off-by: Andrew Jackson <Andrew.Jackson@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Reorder allocations and use updated interface, platform_get_resource, to allocate
IO mapping.
Signed-off-by: Andrew Jackson <Andrew.Jackson@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Simplify error handling and remove repetitive (and rarely executed) code
for unregistration by providing a devm_snd_soc_register() card.
Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
(cherry picked from commit 0e4ff5c806263bf40ee5409ac283b776f0c11e41)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Since with the wider use of devres many drivers are now only calling
snd_soc_unregister_component() in their remove functions providing a
managed version will save a reasonable amount of code.
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit a0b03a616b08cf9d709812ff5cf7e9c0958d6807)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Current snd_soc_of_get_dai_name() needs .of_xlate_dai_name()
callback on each component drivers.
But required behavior on almost all these drivers is
just returns its indexed driver's name.
This patch adds this feature as default behavior.
.of_xlate_dai_name() can overwrite it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 6833c452c2fb47353566aa705d68541c6045c796)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
ASoC sound driver requires CPU/CODEC drivers for probing,
and each CPU/CODEC has some DAI on it.
Then, "dai name matching" have been used to identify
CPU-CODEC DAI pair on ASoC.
But, the "dai port number matching" is now required from DeviceTree.
The solution of this issue is to replace
the dai port number into dai name.
Now, CPU/CODEC are based on struct snd_soc_component,
and it can care above as common issue.
This patch adds .of_xlate_dai_name callback interface
on struct snd_soc_component_driver,
and snd_soc_of_get_dai_name() which is using .of_xlate_dai_name.
Then, #sound-dai-cells which enables DAI specifier is required
on CPU/CODEC device tree properties.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit cb470087669a3fab1958fec79dd7db280b33f178)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Codec includes component by this patch,
and component moved to upside of codec
to avoid extra declaration.
Codec dai will be registered via component
by this patch.
Current component register function
is used for cpu, and it is using
dai/dais functions properly to keep
existing cpu dai name.
And now, it will be used from codec also.
But codec driver had been used dais function only
even though it was single dai.
This patch adds new flag which can selects
dai/dais function on component register
function to keep existing codec dai name.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit d191bd8de8c61619563f2b19f1fdcc0944ff1a72)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|