980d97ef | 06-Jul-2023 |
Mark Brown <broonie@kernel.org> |
ASoC/soundwire/qdsp6/wcd: fix leaks and probe deferral
Merge series from Johan Hovold <johan+linaro@kernel.org>:
I've been hitting a race during boot which breaks probe of the sound card on the Len
ASoC/soundwire/qdsp6/wcd: fix leaks and probe deferral
Merge series from Johan Hovold <johan+linaro@kernel.org>:
I've been hitting a race during boot which breaks probe of the sound card on the Lenovo ThinkPad X13s as I've previously reported here:
https://lore.kernel.org/all/ZIHMMFtuDtvdpFAZ@hovoldconsulting.com/
The immediate issue appeared to be a probe deferral that was turned into a hard failure, but addressing that in itself only made things worse as it exposed further bugs.
I was hoping someone more familiar with the code in question would look into this, but as this affects users of the X13s and breaks audio on my machine every fifth boot or so, I decided to investigate it myself.
As expected, the Qualcomm codec drivers are broken and specifically leak resources on component remove, which in turn breaks sound card probe deferrals.
The source of the deferral itself appears to be legitimate and was simply due to some audio component not yet having been registered due to random changes in timing during boot.
These issues can most easily be reproduced by simply blacklisting the q6apm_dai module and loading it manually after boot.
Included are also two patches that suppresses error messages on component probe deferral to avoid spamming the logs during boot.
show more ...
|
c1be6292 | 05-Jul-2023 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
ASoC: qcom: q6apm: do not close GPR port before closing graph
Closing GPR port before graph close can result in un handled notifications from DSP, this results in spam of errors from GPR driver as t
ASoC: qcom: q6apm: do not close GPR port before closing graph
Closing GPR port before graph close can result in un handled notifications from DSP, this results in spam of errors from GPR driver as there is no one to handle these notification at that point in time.
Fix this by closing GPR port after graph close is finished.
Fixes: 5477518b8a0e ("ASoC: qdsp6: audioreach: add q6apm support") Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20230705131842.41584-1-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
46ec4205 | 05-Jul-2023 |
Johan Hovold <johan+linaro@kernel.org> |
ASoC: qdsp6: audioreach: fix topology probe deferral
Propagate errors when failing to load the topology component so that probe deferrals can be handled.
Fixes: 36ad9bf1d93d ("ASoC: qdsp6: audiorea
ASoC: qdsp6: audioreach: fix topology probe deferral
Propagate errors when failing to load the topology component so that probe deferrals can be handled.
Fixes: 36ad9bf1d93d ("ASoC: qdsp6: audioreach: add topology support") Cc: stable@vger.kernel.org # 5.17 Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Johan Hovold <johan+linaro@kernel.org> Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20230705123018.30903-3-johan+linaro@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
c317d148 | 19-Jun-2023 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
ASoC: q6dsp: q6apm-dai: Add mmap and copy compress DAI callbacks
Add q6apm mmap and copy compress DAI callbacks to support compress offload playback.
Co-developed-by: Mohammad Rafi Shaik <quic_mohs
ASoC: q6dsp: q6apm-dai: Add mmap and copy compress DAI callbacks
Add q6apm mmap and copy compress DAI callbacks to support compress offload playback.
Co-developed-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20230619101653.9750-12-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
b3f736d1 | 19-Jun-2023 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
ASoC: q6dsp: q6apm-dai: Add compress set params and metadata DAI callbacks
Add q6apm compress DAI callbacks for setting params and metadata to support compress offload playback.
Co-developed-by: Mo
ASoC: q6dsp: q6apm-dai: Add compress set params and metadata DAI callbacks
Add q6apm compress DAI callbacks for setting params and metadata to support compress offload playback.
Co-developed-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20230619101653.9750-11-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
c337bf33 | 19-Jun-2023 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
ASoC: q6dsp: q6apm-dai: Add trigger/pointer compress DAI callbacks
Add q6apm trigger and pointer compress DAI callbacks to support compress offload playback.
Co-developed-by: Mohammad Rafi Shaik <q
ASoC: q6dsp: q6apm-dai: Add trigger/pointer compress DAI callbacks
Add q6apm trigger and pointer compress DAI callbacks to support compress offload playback.
Co-developed-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20230619101653.9750-10-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
c0c87738 | 19-Jun-2023 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
ASoC: q6dsp: q6apm-dai: Add compress DAI and codec caps get callbacks
Add q6apm get compress DAI capabilities and codec capabilities callbacks to support compress offload playback.
Co-developed-by:
ASoC: q6dsp: q6apm-dai: Add compress DAI and codec caps get callbacks
Add q6apm get compress DAI capabilities and codec capabilities callbacks to support compress offload playback.
Co-developed-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20230619101653.9750-9-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
88b60bf0 | 19-Jun-2023 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
ASoC: q6dsp: q6apm-dai: Add open/free compress DAI callbacks
Add q6apm open and free compress DAI callbacks to support compress offload playback. Include compress event handler callback also.
Co-de
ASoC: q6dsp: q6apm-dai: Add open/free compress DAI callbacks
Add q6apm open and free compress DAI callbacks to support compress offload playback. Include compress event handler callback also.
Co-developed-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20230619101653.9750-8-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
2c954a37 | 19-Jun-2023 |
Mohammad Rafi Shaik <quic_mohs@quicinc.com> |
ASoC: q6dsp: audioreach: Add gapless feature support
Add support for setting EOS delay command and receive the EOS response from ADSP, for seamless compress offload playback feature.
Co-developed-b
ASoC: q6dsp: audioreach: Add gapless feature support
Add support for setting EOS delay command and receive the EOS response from ADSP, for seamless compress offload playback feature.
Co-developed-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20230619101653.9750-7-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
e41521b6 | 19-Jun-2023 |
Mohammad Rafi Shaik <quic_mohs@quicinc.com> |
ASoC: q6dsp: audioreach: Add support to set compress format params
Add function for setting compress params.
Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Co-developed-by: Srinivas Kan
ASoC: q6dsp: audioreach: Add support to set compress format params
Add function for setting compress params.
Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Co-developed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20230619101653.9750-6-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
c7548f59 | 19-Jun-2023 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
ASoC: q6dsp: audioreach: Add placeholder decoder for compress playback
Add placeholder decoder graph module for compressed playback feature.
Co-developed-by: Mohammad Rafi Shaik <quic_mohs@quicinc.
ASoC: q6dsp: audioreach: Add placeholder decoder for compress playback
Add placeholder decoder graph module for compressed playback feature.
Co-developed-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20230619101653.9750-5-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
69bff594 | 19-Jun-2023 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
ASoC: q6dsp: audioreach: add helper function to set u32 param
Some of the Audioreach commands take a u32 value, ex: PARAM_ID_MODULE_ENABLE.
It makes more sense to provide a helper function so that
ASoC: q6dsp: audioreach: add helper function to set u32 param
Some of the Audioreach commands take a u32 value, ex: PARAM_ID_MODULE_ENABLE.
It makes more sense to provide a helper function so that other new commands can reuse this.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20230619101653.9750-4-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
2f6860e6 | 09-May-2023 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
ASoC: qcom: q6apm: add support to display ports in lpass dais
This patch adds support to q6apm lpass display port dais. This support is required to get DP audio on x13s.
Signed-off-by: Srinivas Kan
ASoC: qcom: q6apm: add support to display ports in lpass dais
This patch adds support to q6apm lpass display port dais. This support is required to get DP audio on x13s.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org Link: https://lore.kernel.org/r/20230509112202.21471-5-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org
show more ...
|
90848a25 | 09-May-2023 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
ASoC: qcom: q6dsp: add support to more display ports
Existing code base only supports one display port, this patch adds support upto 8 display ports. This support is required to allow platforms like
ASoC: qcom: q6dsp: add support to more display ports
Existing code base only supports one display port, this patch adds support upto 8 display ports. This support is required to allow platforms like X13s which have 3 display ports, and some of the Qualcomm SoCs there are upto 7 Display ports.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org Link: https://lore.kernel.org/r/20230509112202.21471-4-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org
show more ...
|
a8ab6541 | 09-May-2023 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
ASoC: qcom: audioreach: add support for DISPLAY PORT SINK module
Add support for DISPLAY PORT SINK module and associated configuration.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linar
ASoC: qcom: audioreach: add support for DISPLAY PORT SINK module
Add support for DISPLAY PORT SINK module and associated configuration.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org Link: https://lore.kernel.org/r/20230509112202.21471-3-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org
show more ...
|