Mark Brown
6d86bdb391
ASoC: stm32: add pm runtime support
...
Merge series from Olivier Moysan <olivier.moysan@foss.st.com >:
Enable support of pm runtime on STM32 SPDIFRX, I2S and DFSDM drivers
to allow power state monitoring.
2021-11-22 23:56:02 +00:00
Mark Brown
21b159264d
Support BCLK input clock in tlv320aic31xx
...
Merge series from Ariel D'Alessandro <ariel.dalessandro@collabora.com >:
This patchset modifies the tlv320aic31xx driver to update its sysclk if
BCLK is used as the input clock. This allows to be used by the generic
fsl-asoc-card, without having to add a specific driver.
2021-11-22 23:56:00 +00:00
Mark Brown
277444544f
ASoC: SOF: enable multicore with dynamic pipelines
...
Merge series from Kai Vehmanen <kai.vehmanen@linux.intel.com >:
When a pipeline is marked dynamic in the SOF DSP firmware
topology definition (the tplg file kernel loads from filesystem),
it means the pipeline resources are not allocated when DSP is
booted (at driver probe, or at runtime resume), but rather delayed
until the pipeline is actually used.
2021-11-22 23:55:59 +00:00
Ariel D'Alessandro
8c9b9cfb77
ASoC: fsl-asoc-card: Support fsl,imx-audio-tlv320aic31xx codec
...
Add entry for fsl,imx-audio-tlv320aic31xx audio codec. This codec is
configured to use BCLK as clock input.
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com >
Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com >
Link: https://lore.kernel.org/r/20211119153248.419802-6-ariel.dalessandro@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:43:03 +00:00
Ariel D'Alessandro
c5d22d5e12
ASoC: tlv320aic31xx: Handle BCLK set as PLL input configuration
...
If BCLK is used as PLL input, the sysclk is determined by the hw
params. So it must be updated here to match the input frequency, based
on sample rate, format and channels.
Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com >
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com >
Link: https://lore.kernel.org/r/20211119153248.419802-5-ariel.dalessandro@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:43:02 +00:00
Ariel D'Alessandro
6e6752a9c7
ASoC: tlv320aic31xx: Add divs for bclk as clk_in
...
Add divisors for rates needed when the clk_in is set to BCLK.
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com >
Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com >
Link: https://lore.kernel.org/r/20211119153248.419802-4-ariel.dalessandro@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:43:01 +00:00
Ariel D'Alessandro
2664b24a8c
ASoC: tlv320aic31xx: Add support for pll_r coefficient
...
When the clock used by the codec is BCLK, the operation parameters need
to be calculated from input sample rate and format. Low frequency rates
required different r multipliers, in order to achieve a higher PLL
output frequency.
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com >
Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com >
Link: https://lore.kernel.org/r/20211119153248.419802-3-ariel.dalessandro@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:43:00 +00:00
Ariel D'Alessandro
7016fd940a
ASoC: tlv320aic31xx: Fix typo in BCLK clock name
...
Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com >
Link: https://lore.kernel.org/r/20211119153248.419802-2-ariel.dalessandro@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:42:59 +00:00
Richard Fitzgerald
fdd5352837
ASoC: cs42l42: Report initial jack state
...
When a jack handler is registered in cs42l42_set_jack() the
initial state should be reported if an attached headphone/headset
has already been detected.
The jack detect sequence takes around 1 second: typically long
enough for the machine driver to probe and register the jack handler
in time to receive the first report from the interrupt handler. So
it is possible on some systems that the correct initial state was seen
simply because of lucky timing. Modular builds were more likely to
miss the reporting of the initial state.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com >
Fixes: 4ca239f337 ("ASoC: cs42l42: Always enable TS_PLUG and TS_UNPLUG interrupts")
Link: https://lore.kernel.org/r/20211119124854.58939-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:32 +00:00
Pierre-Louis Bossart
405e52f412
ASoC: SOF: sof-pci-dev: use community key on all Up boards
...
There are already 3 versions of the Up boards with support for the SOF
community key (ApolloLake, WhiskyLake, TigerLake). Rather than
continue to add quirks for each version, let's add a wildcard.
For WHL and TGL, the authentication supports both the SOF community
key and the firmware signed with the Intel production key. Given two
choices, the community key is the preferred option to allow developers
to sign their own firmware. The firmware signed with production key
can still be selected if needed with a kernel module
option (snd-sof-pci.fw_path="intel/sof")
Tested-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Link: https://lore.kernel.org/r/20211119231327.211946-1-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:31 +00:00
Olivier Moysan
ac5e3efd55
ASoC: stm32: spdifrx: add pm_runtime support
...
Enable support of pm_runtime on STM32 SPDIFRX driver to allow
SPDIFRX power state monitoring.
Signed-off-by: Olivier Moysan <olivier.moysan@foss.st.com >
Link: https://lore.kernel.org/r/20211119104752.13564-4-olivier.moysan@foss.st.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:29 +00:00
Olivier Moysan
98e500a12f
ASoC: stm32: dfsdm: add pm_runtime support for audio
...
Enable support of pm_runtime on STM32 DFSDM audio driver
to allow power state monitoring.
Signed-off-by: Olivier Moysan <olivier.moysan@foss.st.com >
Link: https://lore.kernel.org/r/20211119104752.13564-3-olivier.moysan@foss.st.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:28 +00:00
Olivier Moysan
32a956a1fa
ASoC: stm32: i2s: add pm_runtime support
...
Enable support of pm_runtime on STM32 I2S driver to allow
I2S power state monitoring.
Signed-off-by: Olivier Moysan <olivier.moysan@foss.st.com >
Link: https://lore.kernel.org/r/20211119104752.13564-2-olivier.moysan@foss.st.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:27 +00:00
Ranjani Sridharan
05827a1537
ASoC: SOF: Intel: hda: free DAI widget during stop and suspend
...
To keep the widget use_counts balanced, free the DAI widget
during suspend and also during the stop trigger.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Link: https://lore.kernel.org/r/20211119192621.4096077-11-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:25 +00:00
Ranjani Sridharan
9ea807488c
ASoC: SOF: add support for dynamic pipelines with multi-core
...
This patch adds support for dynamic pipelines with multi-core
by using the platform-specific core_get/put() ops to
power up/down a core when a widget is set up/freed.
Along with this, a few redundant functions are removed:
1. sof_pipeline_core_enable() is no longer needed as the
pipeline core will be set up when the pipeline widget
is set up
2. sof_core_enable() is replaced with snd_sof_core_get()
4. core_power_up/down() DSP ops are deprecated and replaced with
core get/put ops.
5. Core power down in sof_widget_unload() during topology
removal is also removed as it is not really needed. For dynamic
pipelines, the cores will be powered off when they are not used.
For static pipelines, the cores will be powered off in the device
remove callback.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Link: https://lore.kernel.org/r/20211119192621.4096077-10-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:23 +00:00
Ranjani Sridharan
d416519982
ASoC: SOF: hda: don't use the core op for power up/power down
...
The core_power_up/down() ops will be deprecated. Use the
HDA platform-specific functions for powering up/down
the cores during probe/suspend/remove. The enabled_cores_mask
and the core ref_count's are manually updated in each of
these functions.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Link: https://lore.kernel.org/r/20211119192621.4096077-9-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:22 +00:00
Ranjani Sridharan
b2ebcf42a4
ASoC: SOF: free widgets in sof_tear_down_pipelines() for static pipelines
...
Free widgets for static pipelines in sof_tear_down_pipelines().
But this feature is unavailable in older firmware with ABI < 3.19.
Just reset widget use_count's for this case. This would ensure that
the secondary cores enabled required for topology setup are powered
down properly before the primary core is powered off during
system suspend.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Link: https://lore.kernel.org/r/20211119192621.4096077-8-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:21 +00:00
Ranjani Sridharan
7cc7b9ba21
ASoC: SOF: topology: remove sof_load_pipeline_ipc()
...
Remove the function sof_load_pipeline_ipc() and directly
send the IPC instead. The pipeline core is already enabled
with the call to sof_pipeline_core_enable() in sof_widget_setup().
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Link: https://lore.kernel.org/r/20211119192621.4096077-7-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:20 +00:00
Ranjani Sridharan
9cdcbc9f67
ASoC: SOF: Intel: CNL/ICL/APL: set core_get/core_put ops
...
Set core_get/put ops for CNL/ICL platforms. These platforms
do not support enabling/disabling secondary cores
dynamically. So skip sending the IPC to power off the
cores in the core_put op.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Link: https://lore.kernel.org/r/20211119192621.4096077-6-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:19 +00:00
Ranjani Sridharan
41dd63cccb
ASoC: SOF: Intel: TGL: set core_get/put ops
...
Set core_get/put() ops for TGL. When core_get()
is requested for a core, its ref_count is incremented
and the PM_CORE_ENABLE IPC sent to the firmware to
power up the core if the current ref_count is 1.
Conversely, the ref_count is decremented in core_put()
and an IPC is sent to the DSP to power off the core
if the ref_count is 0.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Link: https://lore.kernel.org/r/20211119192621.4096077-5-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:18 +00:00
Ranjani Sridharan
c414d5df9d
ASoC: SOF: Add ops for core_get and core_put
...
Add ops to get/put a core that will be used to power
up/down a core along with incrementing/decrementing
its ref_count.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Link: https://lore.kernel.org/r/20211119192621.4096077-4-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:17 +00:00
Ranjani Sridharan
5974f68432
ASoC: SOF: Introduce num_cores and ref count per core
...
Add two fields num_cores and dsp_cores_ref_count to
struct snd_sof_dev. These will be used to maintain the
ref count for each core to determine when it should be
powered up or down.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Link: https://lore.kernel.org/r/20211119192621.4096077-3-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:16 +00:00
Ranjani Sridharan
81ed6770ba
ASoC: SOF: Intel: hda: expose get_chip_info()
...
expose get_chip_info().
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Link: https://lore.kernel.org/r/20211119192621.4096077-2-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-22 15:40:15 +00:00
Mark Brown
626a3dfbdb
ASoC: SOF: Add support for Mediatek MT8195
...
Merge series from Daniel Baluta <daniel.baluta@oss.nxp.com >:
This adds sound open firmware driver support for MT8915 platform.
2021-11-18 18:57:42 +00:00
Srinivasa Rao Mandadapu
b38892b5b8
ASoC: codecs: MBHC: Remove useless condition check
...
Remove redundant conditional check and clean code in special
headset support functions.
Signed-off-by: Srinivasa Rao Mandadapu <srivasam@codeaurora.org >
Co-developed-by: Venkata Prasad Potturu <potturu@codeaurora.org >
Signed-off-by: Venkata Prasad Potturu <potturu@codeaurora.org >
Link: https://lore.kernel.org/r/1637234411-554-1-git-send-email-srivasam@codeaurora.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-18 13:57:45 +00:00
YC Hung
163fa3a592
ASoC: SOF: mediatek: Add DSP system PM callback for mt8195
...
Add DSP system PM callback for suspend and resume
Signed-off-by: YC Hung <yc.hung@mediatek.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com >
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com >
Link: https://lore.kernel.org/r/20211118100749.54628-9-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-18 13:57:43 +00:00
YC Hung
424d6d1a9a
ASoC: SOF: mediatek: Add mt8195 dsp clock support
...
Add adsp clock on/off support on mt8195 platform.
Signed-off-by: YC Hung <yc.hung@mediatek.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com >
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com >
Link: https://lore.kernel.org/r/20211118100749.54628-8-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-18 13:57:42 +00:00
YC Hung
24d75049c5
ASoC: SOF: mediatek: Add dai driver dsp ops callback for mt8195
...
Add dsp ops callback to register AFE DL2/DL3/UL4/UL5 sof dai's with ALSA
Signed-off-by: YC Hung <yc.hung@mediatek.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com >
Link: https://lore.kernel.org/r/20211118100749.54628-7-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-18 13:57:41 +00:00
YC Hung
24281bc2bf
ASoC: SOF: Add mt8195 device descriptor
...
Add SOF device and DT descriptor for Mediatek mt8195 platform.
Signed-off-by: YC Hung <yc.hung@mediatek.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com >
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com >
Link: https://lore.kernel.org/r/20211118100749.54628-6-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-18 13:57:40 +00:00
YC Hung
b7f6503830
ASoC: SOF: mediatek: Add fw loader and mt8195 dsp ops to load firmware
...
Add mt8195-loader module with ops callback to load and run firmware
on mt8195 platform.
Signed-off-by: YC Hung <yc.hung@mediatek.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com >
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com >
Link: https://lore.kernel.org/r/20211118100749.54628-5-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-18 13:57:39 +00:00
YC Hung
b72bfcffcf
ASoC: SOF: topology: Add support for Mediatek AFE DAI
...
Add new sof dai and config to pass topology file configuration
to SOF firmware running on Mediatek platform DSP core.
Add mediatek audio front end(AFE) to the list of supported sof_dais
Signed-off-by: YC Hung <yc.hung@mediatek.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com >
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com >
Link: https://lore.kernel.org/r/20211118100749.54628-4-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-18 13:57:37 +00:00
YC Hung
e6feefa541
ASoC: SOF: tokens: add token for Mediatek AFE
...
Add the definition for Mediatek audio front end(AFE) tokens,include
AFE sampling rate, channels, and format.
Signed-off-by: YC Hung <yc.hung@mediatek.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com >
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com >
Link: https://lore.kernel.org/r/20211118100749.54628-3-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-18 13:57:36 +00:00
YC Hung
32d7e03d26
ASoC: SOF: mediatek: Add mt8195 hardware support
...
This patch initialize to support SOF on Mediatek mt8195 platform.
MT8195 has four Cortex A78 cores paired with four Cortex A55 cores.
It also has Cadence HiFi-4 DSP single core. There are shared DRAM and
mailbox interrupt between AP and DSP to use for IPC communication.
Signed-off-by: YC Hung <yc.hung@mediatek.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com >
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com >
Link: https://lore.kernel.org/r/20211118100749.54628-2-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-18 13:57:35 +00:00
Mark Brown
b6a5f4f055
ASoC: SOF: Platform updates for AMD and Mediatek
...
Merge series from Daniel Baluta <daniel.baluta@oss.nxp.com >:
This patchseries adds AMD Renoir ACP HW support.
2021-11-17 22:29:46 +00:00
Mark Brown
745a8e7cbe
ASoC: SOF: New debug feature: IPC message injector
...
Merge series from Daniel Baluta <daniel.baluta@oss.nxp.com >:
Add a test/debug feature allowing IPC messages to the DSP to be injected
via debugfs.
2021-11-17 22:29:45 +00:00
Mark Brown
63eb462623
ASoC: cs42l42: Remove redundant code
...
Merge series from Richard Fitzgerald <rf@opensource.cirrus.com >:
Cleanups and code clarifications for the cs42l42 driver.
2021-11-17 22:29:44 +00:00
Charles Keepax
5c903f64ce
firmware: cs_dsp: Allow creation of event controls
...
Some firmwares contain controls intended to convey firmware state back
to the host. Whilst more infrastructure will probably be needed for
these in time, as a first step allow creation of the controls, so said
firmwares arn't completely rejected.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20211117132300.1290-10-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-17 22:16:28 +00:00
Charles Keepax
f444da38ac
firmware: cs_dsp: Add offset to cs_dsp read/write
...
Provide a mechanism to access only part of a control through the cs_dsp
interface.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20211117132300.1290-9-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-17 22:16:27 +00:00
Charles Keepax
b329b3d394
firmware: cs_dsp: Clarify some kernel doc comments
...
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20211117132300.1290-8-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-17 22:16:26 +00:00
Charles Keepax
86c6080407
firmware: cs_dsp: Perform NULL check in cs_dsp_coeff_write/read_ctrl
...
Add a NULL check to the cs_dsp_coeff_write/read_ctrl functions. This is
a major convenience for users of the cs_dsp library as it allows the call
to cs_dsp_get_ctl to be inlined with the call to read/write the control
itself.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20211117132300.1290-7-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-17 22:16:25 +00:00
Charles Keepax
dcee767667
firmware: cs_dsp: Add support for rev 2 coefficient files
...
Add support for the revision 2 coefficient file, this format is
identical to revision 1 and was simply added by accident to some
firmware. However unfortunately many firmwares have leaked into
production using this and as such driver support really needs to
be added for it.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20211117132300.1290-6-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-17 22:16:24 +00:00
Charles Keepax
40a34ae730
firmware: cs_dsp: Print messages from bin files
...
The coefficient file contains various info strings, and the equivalent
strings are printed from the WMFW file as it is loaded. Add support
for printing these from the coefficient file as well.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20211117132300.1290-5-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-17 22:16:23 +00:00
Charles Keepax
14055b5a3a
firmware: cs_dsp: Add pre_run callback
...
The code already has a post_run callback, add a matching pre_run
callback to the client_ops that is called before execution is started.
This callback provides a convenient place for the client code to
set DSP controls or hardware that requires configuration before
the DSP core actually starts execution. Note that placing this callback
before cs_dsp_coeff_sync_controls is important to ensure that any
control values are then correctly synced out to the chip.
Co-authored-by: Simon Trimmer <simont@opensource.cirrus.com >
Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com >
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20211117132300.1290-4-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-17 22:16:22 +00:00
Charles Keepax
2925748ead
firmware: cs_dsp: Add version checks on coefficient loading
...
The firmware coefficient files contain version information that is
currently ignored by the cs_dsp code. This information specifies which
version of the firmware the coefficient were generated for. Add a check
into the code which prints a warning in the case the coefficient and
firmware differ in version, in many cases this will be ok but it is not
always, so best to let the user know there is a potential issue.
Co-authored-by: Simon Trimmer <simont@opensource.cirrus.com >
Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com >
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20211117132300.1290-3-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-17 22:16:21 +00:00
Charles Keepax
5065cfabec
firmware: cs_dsp: Add lockdep asserts to interface functions
...
Some of the control functions exposed by the cs_dsp code require the
pwr_lock to be held by the caller. Add lockdep_assert_held calls to
ensure this is done correctly.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20211117132300.1290-2-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-17 22:16:20 +00:00
Charles Keepax
56717d72f7
ASoC: wm_adsp: Remove the wmfw_add_ctl helper function
...
The helper function wmfw_add_ctl is only called from one place and that
place is a function with only 2 lines of code. Merge the helper function
into the work function to simplify the code.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20211117132300.1290-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-17 22:16:19 +00:00
Ajit Kumar Pandey
f063eba3e7
ASoC: SOF: amd: Add support for SOF firmware authentication
...
Add callback to notify PSP after loading firmware on DSP. PSP will
validate the loaded firmware and set qualifier bit to run firmware
on secured AMD systems.
Signed-off-by: Julian Schroeder <Julian.Schroeder@amd.com >
Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Curtis Malainey <curtis@malainey.com >
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com >
Link: https://lore.kernel.org/r/20211117093734.17407-14-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-17 17:35:56 +00:00
V sujith kumar Reddy
4627421fb8
ASoC: SOF: amd: Add trace logger support
...
Add trace support and configure trace stream for ACP firmware.
Signed-off-by: Vishnuvardhanrao Ravuapati <vishnuvardhanrao.ravulapati@amd.com >
Signed-off-by: V sujith kumar Reddy <vsreddy@amd.com >
Reviewed-by: Bard Liao <bard.liao@intel.com >
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com >
Link: https://lore.kernel.org/r/20211117093734.17407-13-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-17 17:35:55 +00:00
Ajit Kumar Pandey
efb931cdc4
ASoC: SOF: topology: Add support for AMD ACP DAIs
...
Add new sof dais and config to pass topology file configuration
to SOF firmware running on ACP's DSP core. ACP firmware support
I2S_BT, I2S_SP and DMIC controller hence add three new dais to
the list of supported sof_dais
Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com >
Reviewed-by: Bard Liao <bard.liao@intel.com >
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com >
Link: https://lore.kernel.org/r/20211117093734.17407-12-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-17 17:35:54 +00:00
Ajit Kumar Pandey
63fba90fc8
ASoC: amd: acp-config: Remove legacy acpi based machine struct
...
We have moved legacy based machine struct into platform driver to
resolve module dependency with non-SOF ALSA build, hence removed
it from acp-config driver module.
Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com >
Link: https://lore.kernel.org/r/20211117093734.17407-11-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2021-11-17 17:35:53 +00:00