From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
Rob Herring <robh@kernel.org>
Cc: broonie@kernel.org, krzysztof.kozlowski+dt@linaro.org,
perex@perex.cz, tiwai@suse.com,
pierre-louis.bossart@linux.intel.com,
linux-arm-msm@vger.kernel.org, alsa-devel@alsa-project.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/6] ASoC: codecs: wsa-macro: add support for sm8450 and sc8280xp
Date: Thu, 1 Sep 2022 10:28:49 +0300 [thread overview]
Message-ID: <fea60b71-4623-43f5-d81c-a0250a63c697@linaro.org> (raw)
In-Reply-To: <a4562481-780b-585f-01a5-d447040fbd0a@linaro.org>
On 31/08/2022 13:37, Srinivas Kandagatla wrote:
>
>
> 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@linaro.org>
>>>>> ---
>>>>> 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.
Ahh, I see now. The true problem is that driver encodes compatibles in
several places. That's very confusing design - variants should be rather
customized via driver data, not via multiple of_device_is_compatible()
inside the code.
Best regards,
Krzysztof
next prev parent reply other threads:[~2022-09-01 7:32 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-18 13:46 [PATCH 0/6] ASoC: codecs: lpass: add support fro sm8450 and sc8280xp Srinivas Kandagatla
2022-08-18 13:46 ` [PATCH 1/6] ASoC: qcom: dt-bindings: add sm8450 and sc8280xp compatibles Srinivas Kandagatla
2022-08-18 17:11 ` Rob Herring
2022-08-18 13:46 ` [PATCH 2/6] ASoC: codecs: wsa-macro: add support for sm8450 and sc8280xp Srinivas Kandagatla
2022-08-18 17:12 ` Rob Herring
2022-08-31 9:17 ` Srinivas Kandagatla
2022-08-31 9:19 ` Krzysztof Kozlowski
2022-08-31 9:20 ` Krzysztof Kozlowski
2022-08-31 10:37 ` Srinivas Kandagatla
2022-09-01 7:28 ` Krzysztof Kozlowski [this message]
2022-08-18 13:46 ` [PATCH 3/6] ASoC: codecs: tx-macro: " Srinivas Kandagatla
2022-08-18 13:46 ` [PATCH 4/6] ASoC: codecs: rx-macro: " Srinivas Kandagatla
2022-08-18 13:46 ` [PATCH 5/6] ASoC: codecs: va-macro: clear the frame sync counter before enabling Srinivas Kandagatla
2022-08-18 13:46 ` [PATCH 6/6] ASoC: codecs: tx-macro: add support for sm8450 and sc8280xp Srinivas Kandagatla
2022-09-01 7:30 ` Krzysztof Kozlowski
2022-09-01 8:50 ` Srinivas Kandagatla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fea60b71-4623-43f5-d81c-a0250a63c697@linaro.org \
--to=krzysztof.kozlowski@linaro.org \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=perex@perex.cz \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=robh@kernel.org \
--cc=srinivas.kandagatla@linaro.org \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).