Re: [PATCH 2/6] ASoC: codecs: wsa-macro: add support for sm8450 and sc8280xp

From: Srinivas Kandagatla
Date: Wed Aug 31 2022 - 06:37:26 EST




On 31/08/2022 10:19, Krzysztof Kozlowski wrote:
On 31/08/2022 12:17, Srinivas Kandagatla wrote:


On 18/08/2022 18:12, Rob Herring wrote:
On Thu, Aug 18, 2022 at 02:46:15PM +0100, Srinivas Kandagatla wrote:
Add compatible for sm8450 and sc8280xp.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>
---
sound/soc/codecs/lpass-wsa-macro.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/sound/soc/codecs/lpass-wsa-macro.c b/sound/soc/codecs/lpass-wsa-macro.c
index 27da6c6c3c5a..f82c297ea3ab 100644
--- a/sound/soc/codecs/lpass-wsa-macro.c
+++ b/sound/soc/codecs/lpass-wsa-macro.c
@@ -2561,6 +2561,8 @@ static const struct dev_pm_ops wsa_macro_pm_ops = {
static const struct of_device_id wsa_macro_dt_match[] = {
{.compatible = "qcom,sc7280-lpass-wsa-macro"},
{.compatible = "qcom,sm8250-lpass-wsa-macro"},
+ {.compatible = "qcom,sm8450-lpass-wsa-macro"},
+ {.compatible = "qcom,sc8280xp-lpass-wsa-macro" },

Looks like these are backwards compatible with the existing versions,
why not reflect that in the binding?
Backward compatibility is not always true, some of the registers and
there defaults tend to change across SoCs. Having SoC specific
compatible could help us deal with this and also make code more inline
with other codec macros in LPASS IP.

I am not saying that there should be no SoC specific compatible. This
one is a must, but the question why duplicating the entries and not
using fallback?

You mean using fallback compatible "qcom,sc7280-lpass-wsa-macro" in sc8280xp devicetree and not add new compatibles in the driver?

The reason for adding this new compatible strings is that macros in this lpass codec that differ form each SoC.
ex: [PATCH 6/6] ASoC: codecs: tx-macro: add support for sm8450 and sc8280xp and there is a pending patch on va-macro that has soundwire controller frame sync and reset control which is moved from tx-macro to va-macro.

so DT might endup with mix of compatibles for same LPASS Codec like this:

"qcom,sc7280-lpass-wsa-macro"
"qcom,sc8280xp-lpass-va-macro"
"qcom,sc8280xp-lpass-tx-macro"
"qcom,sc8280xp-lpass-rx-macro"

AFAIU, the fallback thing will work for things that are identical but in this case they differ across SoCs, and having SoC specific compatibles in now would help handle this.


thanks,
srini


Best regards,
Krzysztof