| Age | Commit message (Collapse) | Author | Files | Lines |
|
This will be used for the ICCMAX stream as well.
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Ranjani Sridharan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Modify the signature of get_stream_with_tag() to add the direction
as an argument to extend it for using with capture streams.
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Ranjani Sridharan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
For some platforms, the recommended HW sequence for FW boot involves
starting a specially crafted capture stream before powering
on the DSP cores. Add a helper function to define the minimal
recommended stream programming sequence for this stream.
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Ranjani Sridharan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
cl_dsp_init() doesn't use the fwdata and fwsize parameters.
Remove it, and update caller accordingly.
Signed-off-by: Yong Zhi <[email protected]>
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Ranjani Sridharan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Dump the extended ROM status information to the error logs
to aid with remote support. The analysis of these logs requires
access to non-public technical information.
Reviewed-by: Kai Vehmanen <[email protected]>
Reviewed-by: Jaska Uimonen <[email protected]>
Signed-off-by: Ranjani Sridharan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Currently the dmic check code supports only devices with 2 or 4 dmics.
With other dmic counts the function will return 0. Lately we've seen
devices with only 1 dmic thus enable also configurations with 1, and
possibly 3, dmics. Add also topology postfix -1ch and -3ch for new dmic
configuration.
Signed-off-by: Jaska Uimonen <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Ranjani Sridharan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
When hda_codec_probe() doesn't initialize audio component, we disable
the codec and keep going. However,the resources are not released. The
child_count of SOF device is increased in snd_hdac_ext_bus_device_init
but is not decrease in error case, so SOF can't get suspended.
snd_hdac_ext_bus_device_exit will be invoked in HDA framework if it
gets a error. Now copy this behavior to release resources and decrease
SOF device child_count to release SOF device.
Signed-off-by: Rander Wang <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Bard Liao <[email protected]>
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Signed-off-by: Ranjani Sridharan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
The FW boot sequence includes multiple attempts for ROM init.
When it does take more than one attempt, we should not log the
errors encountered during the failed attempts and only log them
during the final iteration.
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Ranjani Sridharan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
We use HDaudio and HDAudio, pick one to make searches easier.
No functionality change
Reported-by: Guennadi Liakhovetski <[email protected]>
Reviewed-by: Bard Liao <[email protected]>
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Add topology filename override based on system DMI data matching,
typically to account for a different hardware layout.
In ACPI based systems, the tplg_filename is pre-defined in an ACPI
machine table. When a DMI quirk is detected, the
sof_pdata->tplg_filename is not set with the hard-coded ACPI value,
and instead is set with the DMI-specific filename.
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Signed-off-by: Sathyanarayana Nujella <[email protected]>
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Replace the existing /* fall through */ comments and its variants with
the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
fall-through markings when it is the case.
[1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through
Signed-off-by: Gustavo A. R. Silva <[email protected]>
|
|
Select SoundWire capabilities on newer Intel platforms, starting with
CannonLake/CoffeeLake/CometLake.
As done for HDaudio, the SoundWire link is an opt-in capability. We
explicitly test for ACPI to avoid warnings on unmet dependencies on
the SoundWire side.
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Bard Liao <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Make sure the SoundWire driver can be loaded
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Bard Liao <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Bossart <[email protected]>:
A small set of fixes to reduce the number of warnings.
Pierre-Louis Bossart (5):
ASOC: SOF: Intel: hda-codec: move unused label to correct position
ASoC: SOF: Intel: hda-codec: move variable used conditionally
ASoC: Intel: rename shadowed variable for all broadwell boards
ASoC: Intel: bytcht_cx2072x: simplify return handling
ASoC: Intel: sof_sdw: clarify operator precedence
sound/soc/intel/boards/bdw-rt5650.c | 10 +++++-----
sound/soc/intel/boards/bdw-rt5677.c | 8 ++++----
sound/soc/intel/boards/broadwell.c | 8 ++++----
sound/soc/intel/boards/bytcht_cx2072x.c | 2 +-
sound/soc/intel/boards/sof_sdw.c | 2 +-
sound/soc/sof/intel/hda-codec.c | 7 ++++++-
6 files changed, 21 insertions(+), 16 deletions(-)
--
2.25.1
|
|
Drop the repeated words {that, the} in comments.
Signed-off-by: Randy Dunlap <[email protected]>
Acked-by: Pierre-Louis Bossart <[email protected]>
Cc: Liam Girdwood <[email protected]>
Cc: Mark Brown <[email protected]>
Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Cppcheck reports the following warning:
sound/soc/sof/intel/hda-codec.c:122:20: style: Unused variable: codec
[unusedVariable]
struct hda_codec *codec;
^
Move declaration inside a conditionally-compiled block.
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Cppcheck reports the following warning:
sound/soc/sof/intel/hda-codec.c:191:1: style: Label 'error' is not
used. [unusedLabel]
This label is indeed only used conditionally, move it where it's
actually used.
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
We should always disable DMA trace on S0Ix. When staying at S0-D0I3,
we should enable DMA trace while both DMA Trace debug is enabled and
hda_enable_trace_D0I3_S0 is set. This commit corrects the existed
logic errors about that.
Signed-off-by: Marcin Rajwa <[email protected]>
Signed-off-by: Keyon Jie <[email protected]>
Signed-off-by: Ranjani Sridharan <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
This patch fixes the suspend & resume procedure to allow entry into the
low power states with some streams being active as a wake source - wake on
voice is a perfect example. The current implementation does not stop
the CORB/RIRB DMA and does not power down the HDA links. With firmware's
help, the platform has been able to still enter s0ix state on older
platforms, but the sequence is still incorrect, and the additional
driver actions are needed to ensure correct s0ix behaviour.
Signed-off-by: Marcin Rajwa <[email protected]>
Signed-off-by: Keyon Jie <[email protected]>
Signed-off-by: Ranjani Sridharan <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Now we can use asoc_substream_to_rtd() macro,
let's use it.
Signed-off-by: Kuninori Morimoto <[email protected]>
Tested-by: Pierre-Louis Bossart <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
We already have two configurations for CometLake, and a third one
coming. On other platforms, we used a single Kconfig option, so we
should follow the same trend by merging the two cases in a backwards
compatible way.
The backwards compatibility is handled by overloading the COMETLAKE_LP
kconfig as COMETLAKE. In practice we've never seen a case where
COMETLAKE_H is not selected along with COMETLAKE_LP, so keeping one
of the two is enough.
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Port commit 6d011d5057ff ("ALSA: hda: Clear RIRB status before reading
WP") from legacy HDA driver to fix the get response timeout issue.
Current SOF driver does not suffer from this issue because sync write
is enabled in hda_init. The issue will come back if the sync write is
disabled for some reason.
Signed-off-by: Brent Lu <[email protected]>
Reviewed-by: Takashi Iwai <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Add support for using generic codec driver with SOF. Generic driver
is used if:
- snd_sof_intel_hda_common.hda_model="generic" is set, or
- fallback if no other codec driver is found
The implementation is aligned with snd-hda-intel driver, and fixes audio
support for systems like Acer Swift 3 SF314-57G, on which this issue was
originally reported.
Signed-off-by: Kai Vehmanen <[email protected]>
Reviewed-by: Hui Wang <[email protected]>
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
BugLink: https://github.com/thesofproject/linux/issues/1807
BugLink: https://bugs.launchpad.net/bugs/1877757
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
With the allmodconfig option, CONFIG_SND_SOC_SOF_BAYTRAIL is disabled
due to mutual exclusion with the legacy driver. This generates
'defined by not used' warnings.
suspend/resume/remove are only supported for Baytrail for now, so move
the code under the CONFIG_SND_SOC_SOF_BAYTRAIL checks.
Fixes: ddcccd543f5d ("ASoC: SOF: Intel: byt: Add PM callbacks")
Reported-by: Stephen Rothwell <[email protected]>
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
On probe and reset, we should not touch the SHIM_IMRD register since
it is configured by firmware.
The driver only configures SHIM_IMRX with the BUSY interrupt enabled
by default and DONE interrupt disabled. When sending an IPC message,
the DONE interrupt is enabled until the DSP response is provided.
This sequence hardens the IPC communication and avoid
interrupt-related issues when adding/removing modules or during system
suspend-resume transitions.
Signed-off-by: Keyon Jie <[email protected]>
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Tested-by: Enric Balletbo i Serra <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
The DSP may send the same interrupt multiple times before it's handled
in the interrupt thread. Rather than masking it in the thread, mask it
in the handler directly.
This patch also removes useless checks that cannot happen, and masks
that are set don't need to be re-tested.
Suggested-by: Keyon Jie <[email protected]>
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Tested-by: Enric Balletbo i Serra <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
BugLink: https://github.com/thesofproject/linux/issues/1492
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Add .remove op that disables interrupts and reset the DSP
for BYT and CHT platforms.
Signed-off-by: Ranjani Sridharan <[email protected]>
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Tested-by: Enric Balletbo i Serra <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Add the PM callbacks for BYT/CHT platforms.
Signed-off-by: Ranjani Sridharan <[email protected]>
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Tested-by: Enric Balletbo i Serra <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Condition in if statement should be same as trace message
and FW size equal to zero (after skipping offset) should
be marked as invalid.
Signed-off-by: Karol Trzcinski <[email protected]>
Signed-off-by: Kai Vehmanen <[email protected]>
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
On some platforms such as Up Extreme all links are enabled but only one
link can be used by external codec. Instead of exact match of two masks,
first check whether link_mask of mach is subset of link_mask supported
by hw and then go on searching link_adr.
Signed-off-by: randerwang <[email protected]>
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Kai Vehmanen <[email protected]>
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
When CONFIG_SND_SOC_SOF_BAYTRAIL is not set, gcc warns:
sound/soc/sof/intel/byt.c:85:41: warning: ‘cht_debugfs’ defined but not used [-Wunused-const-variable=]
static const struct snd_sof_debugfs_map cht_debugfs[] = {
^~~~~~~~~~~
Move the variable inside #ifdef
Reported-by: Hulk Robot <[email protected]>
Suggested-by: Joe Perches <[email protected]>
Signed-off-by: YueHaibing <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Remove the ambiguity with GPL-2.0 and use an explicit GPL-2.0-only
tag.
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Daniel Baluta <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
codec driver
It may be useful to pass the specific model to the generic HDA codec
routines like the legacy HDA driver (snd-hda-intel) allows.
The model name "sofbus" is tricky anyway.
Original proposal: https://lore.kernel.org/alsa-devel/[email protected]/
Signed-off-by: Jaroslav Kysela <[email protected]>
Reviewed-by: Takashi Iwai <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
Cc: Pierre-Louis Bossart <[email protected]>
Cc: Mark Brown <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
<[email protected]>:
Fix dependency issues of SND_SOC introduced by commit ea00d95200d02
("ASoC: Use imply for SND_SOC_ALL_CODECS").
Wei Li (2):
ASoC: wm89xx: Fix build errors caused by I2C dependency
ASoC: Fix wrong dependency of da7210 and wm8983
sound/soc/codecs/Kconfig | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
--
2.17.1
|
|
Major regressions were detected by SOF CI on CherryTrail and Broadwell:
[ 25.705750] SSP2-Codec: ASoC: no backend playback stream
[ 27.923378] SSP2-Codec: ASoC: no users playback at close - state
This is root-caused to the introduction of the DAI capability checks
with snd_soc_dai_stream_valid(). Its use in soc-pcm.c makes it a
requirement for all DAIs to report at least a non-zero min_channels
field.
For some reason the SSP structures used for SKL+ did provide this
information but legacy platforms didn't.
Fixes: 9b5db059366ae2 ("ASoC: soc-pcm: dpcm: Only allow playback/capture if supported")
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
It makes possible to provide extra information to host
before downloading firmware. Extra data should be put
at the beginning of firmware binary.
Exchange is done without any effort on DSP side.
This mechanism will be used in extended manifest.
Signed-off-by: Karol Trzcinski <[email protected]>
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
<[email protected]>:
Decrease the dmesg verbosity to remove unnecessary logs on SoundWire
platforms, and conversely add more information to help the community
and downstream distros with HDaudio/SOF support (DMIC detection and card
instanciation are the most prevalent issues on GitHub).
Pierre-Louis Bossart (3):
ASoC: codecs: rt1308-sdw: reduce verbosity
ASoC: SOF: Intel: hda: reduce verbosity on SoundWire detection
ASoC: SOF: Intel: hda: log number of microphones detected in NHLT
tables
Ranjani Sridharan (1):
ASoC: soc-core: Add dynamic debug logs in soc_dai_link_sanity_check()
sound/soc/codecs/rt1308-sdw.c | 4 ++--
sound/soc/soc-core.c | 18 +++++++++++++++---
sound/soc/sof/intel/hda.c | 10 ++++++----
3 files changed, 23 insertions(+), 9 deletions(-)
base-commit: dd8e871d4e560eeb8d22af82dde91457ad835a63
--
2.20.1
|
|
Log the information extracted from NHLT tables to help support users
who report non-functional digital mics with SOF.
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
No need to report an error when SoundWire is not detected (not present
in hardware or not exposed in ACPI). Move to dev_dbg to state that
SoundWire is skipped.
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Remove unnecessary parentheses around the right hand side of an assignment
and align the code.
Signed-off-by: Payal Kshirsagar <[email protected]>
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
Reviewed-by: Guennadi Liakhovetski <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Remove unneeded temporary local variables and their declarations.
Change suggested by coccinelle.
Signed-off-by: Payal Kshirsagar <[email protected]>
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
<[email protected]>:
Hi Mark
Now, CPU/Codec DAI(s) were replaced by rtd->dais.
Thus, We don't need rtd->cpu/codec_dai{s} anymore.
This pathset replaces it by new macro.
Kuninori Morimoto (36):
ASoC: soc-core: add asoc_rtd_to_cpu/codec() macro
ASoC: amd: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: atmel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: au1x: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: bcm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: cirrus: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: dwc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: fsl: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: generic: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: img: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: intel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: kirkwood: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: mediatek: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: meson: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: mxs: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: pxa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: qcom: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: rockchip: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: samsung: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: sh: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: sof: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: sprd: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: stm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: sunxi: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: tegra: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: txx9: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: uniphier: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: ux500: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: xtensa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: arm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: codecs: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: soc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: soc-core: set rtd->num_cpu/codec at soc_new_pcm_runtime()
ASoC: soc-core: tidyup soc_new_pcm_runtime() rtd setups
ASoC: soc-core: remove cpu_dai/codec_dai/cpu_dais/codec_dais
include/sound/soc.h | 30 +++++++------
sound/arm/pxa2xx-pcm-lib.c | 8 ++--
sound/soc/amd/acp-da7219-max98357a.c | 2 +-
sound/soc/amd/acp-rt5645.c | 4 +-
sound/soc/amd/acp3x-rt5682-max9836.c | 6 +--
sound/soc/atmel/atmel-pcm-dma.c | 4 +-
sound/soc/atmel/atmel-pcm-pdc.c | 2 +-
sound/soc/atmel/atmel_wm8904.c | 2 +-
sound/soc/atmel/mikroe-proto.c | 2 +-
sound/soc/atmel/sam9g20_wm8731.c | 2 +-
sound/soc/atmel/sam9x5_wm8731.c | 2 +-
sound/soc/au1x/db1200.c | 2 +-
sound/soc/au1x/dbdma2.c | 2 +-
sound/soc/au1x/dma.c | 2 +-
sound/soc/au1x/psc-ac97.c | 2 +-
sound/soc/bcm/bcm63xx-pcm-whistler.c | 16 +++----
sound/soc/bcm/cygnus-pcm.c | 22 +++++-----
sound/soc/cirrus/edb93xx.c | 4 +-
sound/soc/cirrus/snappercl15.c | 4 +-
sound/soc/codecs/cs47l15.c | 4 +-
sound/soc/codecs/cs47l24.c | 6 +--
sound/soc/codecs/cs47l35.c | 6 +--
sound/soc/codecs/cs47l85.c | 6 +--
sound/soc/codecs/cs47l90.c | 6 +--
sound/soc/codecs/cs47l92.c | 4 +-
sound/soc/codecs/wm5110.c | 6 +--
sound/soc/codecs/wm_adsp.c | 10 ++---
sound/soc/dwc/dwc-pcm.c | 2 +-
sound/soc/fsl/eukrea-tlv320.c | 4 +-
sound/soc/fsl/fsl-asoc-card.c | 10 ++---
sound/soc/fsl/fsl_asrc_dma.c | 6 +--
sound/soc/fsl/fsl_spdif.c | 10 ++---
sound/soc/fsl/fsl_ssi.c | 8 ++--
sound/soc/fsl/imx-audmix.c | 8 ++--
sound/soc/fsl/imx-mc13783.c | 4 +-
sound/soc/fsl/imx-sgtl5000.c | 2 +-
sound/soc/fsl/mpc5200_dma.c | 10 ++---
sound/soc/fsl/mpc5200_psc_i2s.c | 2 +-
sound/soc/fsl/mpc8610_hpcd.c | 4 +-
sound/soc/fsl/mx27vis-aic32x4.c | 4 +-
sound/soc/fsl/p1022_ds.c | 4 +-
sound/soc/fsl/p1022_rdk.c | 4 +-
sound/soc/fsl/wm1133-ev1.c | 6 +--
sound/soc/generic/simple-card-utils.c | 12 +++---
sound/soc/img/img-i2s-in.c | 2 +-
sound/soc/img/img-i2s-out.c | 2 +-
sound/soc/intel/atom/sst-mfld-platform-pcm.c | 6 +--
sound/soc/intel/boards/bdw-rt5650.c | 6 +--
sound/soc/intel/boards/bdw-rt5677.c | 6 +--
sound/soc/intel/boards/broadwell.c | 4 +-
sound/soc/intel/boards/bxt_da7219_max98357a.c | 8 ++--
sound/soc/intel/boards/bxt_rt298.c | 8 ++--
sound/soc/intel/boards/byt-max98090.c | 2 +-
sound/soc/intel/boards/byt-rt5640.c | 4 +-
sound/soc/intel/boards/bytcht_cx2072x.c | 10 ++---
sound/soc/intel/boards/bytcht_da7213.c | 8 ++--
sound/soc/intel/boards/bytcht_es8316.c | 8 ++--
sound/soc/intel/boards/bytcht_nocodec.c | 4 +-
sound/soc/intel/boards/bytcr_rt5640.c | 8 ++--
sound/soc/intel/boards/bytcr_rt5651.c | 8 ++--
sound/soc/intel/boards/cht_bsw_max98090_ti.c | 6 +--
sound/soc/intel/boards/cht_bsw_nau8824.c | 4 +-
sound/soc/intel/boards/cht_bsw_rt5645.c | 14 +++----
sound/soc/intel/boards/cht_bsw_rt5672.c | 8 ++--
sound/soc/intel/boards/cml_rt1011_rt5682.c | 6 +--
sound/soc/intel/boards/glk_rt5682_max98357a.c | 10 ++---
sound/soc/intel/boards/haswell.c | 2 +-
sound/soc/intel/boards/kbl_da7219_max98357a.c | 8 ++--
sound/soc/intel/boards/kbl_da7219_max98927.c | 6 +--
sound/soc/intel/boards/kbl_rt5660.c | 6 +--
sound/soc/intel/boards/kbl_rt5663_max98927.c | 8 ++--
.../intel/boards/kbl_rt5663_rt5514_max98927.c | 8 ++--
.../soc/intel/boards/skl_nau88l25_max98357a.c | 12 +++---
sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 16 +++----
sound/soc/intel/boards/skl_rt286.c | 8 ++--
sound/soc/intel/boards/sof_da7219_max98373.c | 8 ++--
sound/soc/intel/boards/sof_pcm512x.c | 8 ++--
sound/soc/intel/boards/sof_rt5682.c | 6 +--
sound/soc/intel/haswell/sst-haswell-pcm.c | 26 ++++++------
sound/soc/intel/skylake/skl-pcm.c | 10 ++---
sound/soc/kirkwood/armada-370-db.c | 2 +-
sound/soc/kirkwood/kirkwood-dma.c | 2 +-
sound/soc/mediatek/common/mtk-afe-fe-dai.c | 10 ++---
.../mediatek/common/mtk-afe-platform-driver.c | 2 +-
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c | 2 +-
sound/soc/mediatek/mt2701/mt2701-cs42448.c | 4 +-
sound/soc/mediatek/mt2701/mt2701-wm8960.c | 4 +-
sound/soc/mediatek/mt6797/mt6797-afe-pcm.c | 2 +-
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 2 +-
sound/soc/mediatek/mt8173/mt8173-max98090.c | 4 +-
.../mediatek/mt8173/mt8173-rt5650-rt5514.c | 2 +-
.../mediatek/mt8173/mt8173-rt5650-rt5676.c | 4 +-
sound/soc/mediatek/mt8173/mt8173-rt5650.c | 6 +--
sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 2 +-
.../mediatek/mt8183/mt8183-da7219-max98357.c | 4 +-
.../mt8183/mt8183-mt6358-ts3a227-max98357.c | 2 +-
sound/soc/meson/aiu-fifo.c | 2 +-
sound/soc/meson/axg-card.c | 8 ++--
sound/soc/meson/axg-fifo.c | 2 +-
sound/soc/meson/meson-card-utils.c | 2 +-
sound/soc/mxs/mxs-sgtl5000.c | 4 +-
sound/soc/pxa/brownstone.c | 4 +-
sound/soc/pxa/corgi.c | 4 +-
sound/soc/pxa/hx4700.c | 4 +-
sound/soc/pxa/imote2.c | 4 +-
sound/soc/pxa/magician.c | 8 ++--
sound/soc/pxa/mioa701_wm9713.c | 4 +-
sound/soc/pxa/mmp-pcm.c | 2 +-
sound/soc/pxa/mmp-sspa.c | 2 +-
sound/soc/pxa/poodle.c | 4 +-
sound/soc/pxa/pxa2xx-i2s.c | 2 +-
sound/soc/pxa/spitz.c | 4 +-
sound/soc/pxa/ttc-dkb.c | 2 +-
sound/soc/pxa/z2.c | 4 +-
sound/soc/pxa/zylonite.c | 6 +--
sound/soc/qcom/apq8016_sbc.c | 2 +-
sound/soc/qcom/apq8096.c | 6 +--
sound/soc/qcom/lpass-platform.c | 2 +-
sound/soc/qcom/qdsp6/q6asm-dai.c | 4 +-
sound/soc/qcom/qdsp6/q6routing.c | 2 +-
sound/soc/qcom/sdm845.c | 22 +++++-----
sound/soc/qcom/storm.c | 2 +-
sound/soc/rockchip/rk3288_hdmi_analog.c | 4 +-
sound/soc/rockchip/rk3399_gru_sound.c | 16 +++----
sound/soc/rockchip/rockchip_max98090.c | 6 +--
sound/soc/rockchip/rockchip_rt5645.c | 6 +--
sound/soc/samsung/arndale.c | 6 +--
sound/soc/samsung/bells.c | 16 +++----
sound/soc/samsung/h1940_uda1380.c | 2 +-
sound/soc/samsung/i2s.c | 2 +-
sound/soc/samsung/jive_wm8750.c | 4 +-
sound/soc/samsung/littlemill.c | 14 +++----
sound/soc/samsung/lowland.c | 4 +-
sound/soc/samsung/neo1973_wm8753.c | 10 ++---
sound/soc/samsung/odroid.c | 2 +-
sound/soc/samsung/pcm.c | 4 +-
sound/soc/samsung/rx1950_uda1380.c | 2 +-
sound/soc/samsung/s3c-i2s-v2.c | 2 +-
sound/soc/samsung/s3c24xx_simtec.c | 4 +-
sound/soc/samsung/s3c24xx_uda134x.c | 6 +--
sound/soc/samsung/smartq_wm8987.c | 4 +-
sound/soc/samsung/smdk_spdif.c | 2 +-
sound/soc/samsung/smdk_wm8580.c | 2 +-
sound/soc/samsung/smdk_wm8994.c | 2 +-
sound/soc/samsung/smdk_wm8994pcm.c | 4 +-
sound/soc/samsung/snow.c | 4 +-
sound/soc/samsung/spdif.c | 8 ++--
sound/soc/samsung/speyside.c | 8 ++--
sound/soc/samsung/tm2_wm5110.c | 16 +++----
sound/soc/samsung/tobermory.c | 8 ++--
sound/soc/sh/dma-sh7760.c | 16 +++----
sound/soc/sh/fsi.c | 2 +-
sound/soc/sh/migor.c | 6 +--
sound/soc/sh/rcar/core.c | 2 +-
sound/soc/soc-compress.c | 36 ++++++++--------
sound/soc/soc-core.c | 42 +++++++------------
sound/soc/soc-dapm.c | 4 +-
sound/soc/soc-generic-dmaengine-pcm.c | 6 +--
sound/soc/soc-pcm.c | 30 ++++++-------
sound/soc/sof/intel/hda-dai.c | 6 +--
sound/soc/sof/intel/hda-dsp.c | 2 +-
sound/soc/sprd/sprd-pcm-compress.c | 4 +-
sound/soc/sprd/sprd-pcm-dma.c | 2 +-
sound/soc/stm/stm32_adfsdm.c | 12 +++---
sound/soc/stm/stm32_sai_sub.c | 2 +-
sound/soc/sunxi/sun4i-spdif.c | 2 +-
sound/soc/tegra/tegra_alc5632.c | 2 +-
sound/soc/tegra/tegra_max98090.c | 2 +-
sound/soc/tegra/tegra_rt5640.c | 2 +-
sound/soc/tegra/tegra_rt5677.c | 2 +-
sound/soc/tegra/tegra_sgtl5000.c | 2 +-
sound/soc/tegra/tegra_wm8753.c | 2 +-
sound/soc/tegra/tegra_wm8903.c | 6 +--
sound/soc/tegra/trimslice.c | 2 +-
sound/soc/ti/ams-delta.c | 4 +-
sound/soc/ti/davinci-evm.c | 4 +-
sound/soc/ti/davinci-vcif.c | 4 +-
sound/soc/ti/n810.c | 2 +-
sound/soc/ti/omap-abe-twl6040.c | 6 +--
sound/soc/ti/omap-mcbsp-st.c | 2 +-
sound/soc/ti/omap-mcbsp.c | 4 +-
sound/soc/ti/omap-mcpdm.c | 2 +-
sound/soc/ti/omap3pandora.c | 4 +-
sound/soc/ti/osk5912.c | 2 +-
sound/soc/ti/rx51.c | 2 +-
sound/soc/txx9/txx9aclc.c | 2 +-
sound/soc/uniphier/aio-compress.c | 22 +++++-----
sound/soc/uniphier/aio-dma.c | 6 +--
sound/soc/ux500/mop500_ab8500.c | 6 +--
sound/soc/ux500/ux500_pcm.c | 8 ++--
sound/soc/xtensa/xtfpga-i2s.c | 2 +-
191 files changed, 573 insertions(+), 577 deletions(-)
--
2.17.1
|
|
Without this cycle, HDaudio capability parsing fails on some devices.
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
If pci device is in D0, wakeen interrupt will be
aggregated at cAVS level as interrupt. This commit
check the wakeen status and process it in irq thread
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Rander Wang <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
When a SoundWire link is in clock stop state, a Slave device may wake
up the Master for some events such as jack detection. The WAKEEN
interrupt will be triggered and processed by the audio pci device.
If audio device is in D3, the interrupt will be routed to PME, or
aggregated at cAVS level as interrupt when audio device is in D0. This
patch only supports D3 case, where the audio pci device will be
resumed by a PME event and the WAKEEN interrupt will be processed
after audio pci device is powered up and ROM is initialized
successfully.
The WAKEEN handling is only enabled after the first boot due to
dependencies on a shim_lock mutex being initialized.
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Rander Wang <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Add module parameter so that the different modes can be quickly tested.
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
We have a single irq handler for SOF interrupts. We can further merge
SoundWire ones to completely remove MSI interrupts handling issues
leading to timeouts.
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Bard Liao <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
Doing this avoid conflicts and errors reported on the bus.
The interrupts are only re-enabled on resume after the firmware is
downloaded, so the behavior is not fully symmetric
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
For now we have a limited number of machine driver configurations, and
we can detect them based on the link configuration returned after
checking hardware and firmware (BIOS) configurations.
The link configuration is checked with a link_mask as well as a list
of _ADR descriptors for each link.
There is a chance that in extreme cases where the BIOS contains too
much information we would need to detect which Slave devices actually
report as 'attached'. This would be more accurate than static
table-based solutions, but it also introduces timing dependencies
since we don't know when those devices might become attached, so will
only be only be looked at if we see limitations with static methods
and the usual quirks based e.g. on DMI information.
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Bard Liao <[email protected]>
Signed-off-by: Rander Wang <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|
|
These callbacks are invoked when a matching hw_params/hw_free() DAI
operation takes place, and will result in IPC operations with the SOF
firmware.
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
|