All of lore.kernel.org
 help / color / mirror / Atom feed
From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Banajit Goswami <bgoswami@quicinc.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
	linux-arm-msm@vger.kernel.org, alsa-devel@alsa-project.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/9] ASoC: codecs: lpass-rx-macro: add support for SM8550
Date: Sat, 11 Mar 2023 11:23:57 +0000	[thread overview]
Message-ID: <5b923d49-c151-0ed7-3db1-a7caf85109f3@linaro.org> (raw)
In-Reply-To: <20230310132201.322148-4-krzysztof.kozlowski@linaro.org>

Thanks Krzysztof for adding this support.
Few minor nits,

On 10/03/2023 13:21, Krzysztof Kozlowski wrote:
> Add support for the RX macro codec on Qualcomm SM8550.  SM8550 does not
> use NPL clock, thus add flags allowing to skip it.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
>   sound/soc/codecs/lpass-rx-macro.c | 39 ++++++++++++++++++++++++-------
>   1 file changed, 31 insertions(+), 8 deletions(-)
> 
> diff --git a/sound/soc/codecs/lpass-rx-macro.c b/sound/soc/codecs/lpass-rx-macro.c
> index a73a7d7a1c0a..e322d918db36 100644
> --- a/sound/soc/codecs/lpass-rx-macro.c
> +++ b/sound/soc/codecs/lpass-rx-macro.c
> @@ -395,6 +395,9 @@
>   #define COMP_MAX_COEFF 25
>   #define RX_NUM_CLKS_MAX	5
>   
> +/* NPL clock is expected */
> +#define RX_MACRO_FLAG_HAS_NPL_CLOCK		BIT(0)

We could probably rename it and move it to 
sound/soc/codecs/lpass-macro-common.h as this equally applies to all the 
codec macros.


Once done,

Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

> +
>   struct comp_coeff_val {
>   	u8 lsb;
>   	u8 msb;
> @@ -3491,7 +3494,10 @@ static int rx_macro_register_mclk_output(struct rx_macro *rx)
>   	struct clk_init_data init;
>   	int ret;
>   
> -	parent_clk_name = __clk_get_name(rx->npl);
> +	if (rx->npl)
> +		parent_clk_name = __clk_get_name(rx->npl);
> +	else
> +		parent_clk_name = __clk_get_name(rx->mclk);
>   
>   	init.name = clk_name;
>   	init.ops = &swclk_gate_ops;
> @@ -3521,10 +3527,13 @@ static const struct snd_soc_component_driver rx_macro_component_drv = {
>   static int rx_macro_probe(struct platform_device *pdev)
>   {
>   	struct device *dev = &pdev->dev;
> +	kernel_ulong_t flags;
>   	struct rx_macro *rx;
>   	void __iomem *base;
>   	int ret;
>   
> +	flags = (kernel_ulong_t)device_get_match_data(dev);
> +
>   	rx = devm_kzalloc(dev, sizeof(*rx), GFP_KERNEL);
>   	if (!rx)
>   		return -ENOMEM;
> @@ -3541,9 +3550,11 @@ static int rx_macro_probe(struct platform_device *pdev)
>   	if (IS_ERR(rx->mclk))
>   		return PTR_ERR(rx->mclk);
>   
> -	rx->npl = devm_clk_get(dev, "npl");
> -	if (IS_ERR(rx->npl))
> -		return PTR_ERR(rx->npl);
> +	if (flags & RX_MACRO_FLAG_HAS_NPL_CLOCK) {
> +		rx->npl = devm_clk_get(dev, "npl");
> +		if (IS_ERR(rx->npl))
> +			return PTR_ERR(rx->npl);
> +	}
>   
>   	rx->fsgen = devm_clk_get(dev, "fsgen");
>   	if (IS_ERR(rx->fsgen))
> @@ -3655,10 +3666,22 @@ static int rx_macro_remove(struct platform_device *pdev)
>   }
>   
>   static const struct of_device_id rx_macro_dt_match[] = {
> -	{ .compatible = "qcom,sc7280-lpass-rx-macro" },
> -	{ .compatible = "qcom,sm8250-lpass-rx-macro" },
> -	{ .compatible = "qcom,sm8450-lpass-rx-macro" },
> -	{ .compatible = "qcom,sc8280xp-lpass-rx-macro" },
> +	{
> +		.compatible = "qcom,sc7280-lpass-rx-macro",
> +		.data = (void *)RX_MACRO_FLAG_HAS_NPL_CLOCK,
> +
> +	}, {
> +		.compatible = "qcom,sm8250-lpass-rx-macro",
> +		.data = (void *)RX_MACRO_FLAG_HAS_NPL_CLOCK,
> +	}, {
> +		.compatible = "qcom,sm8450-lpass-rx-macro",
> +		.data = (void *)RX_MACRO_FLAG_HAS_NPL_CLOCK,
> +	}, {
> +		.compatible = "qcom,sm8550-lpass-rx-macro",
> +	}, {
> +		.compatible = "qcom,sc8280xp-lpass-rx-macro",
> +		.data = (void *)RX_MACRO_FLAG_HAS_NPL_CLOCK,
> +	},
>   	{ }
>   };
>   MODULE_DEVICE_TABLE(of, rx_macro_dt_match);

  reply	other threads:[~2023-03-11 11:29 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-10 13:21 [PATCH 0/9] ASoC: add audio digital codecs for Qualcomm SM8550 Krzysztof Kozlowski
2023-03-10 13:21 ` [PATCH 1/9] ASoC: dt-bindings: qcom,lpass-rx-macro: narrow clocks per variants Krzysztof Kozlowski
2023-03-10 13:21 ` [PATCH 2/9] ASoC: dt-bindings: qcom,lpass-rx-macro: Add SM8550 RX macro Krzysztof Kozlowski
2023-03-10 13:21 ` [PATCH 3/9] ASoC: codecs: lpass-rx-macro: add support for SM8550 Krzysztof Kozlowski
2023-03-11 11:23   ` Srinivas Kandagatla [this message]
2023-03-11 11:27     ` Krzysztof Kozlowski
2023-03-10 13:21 ` [PATCH 4/9] ASoC: dt-bindings: qcom,lpass-tx-macro: narrow clocks per variants Krzysztof Kozlowski
2023-03-10 13:21 ` [PATCH 5/9] ASoC: dt-bindings: qcom,lpass-tx-macro: Add SM8550 TX macro Krzysztof Kozlowski
2023-03-10 13:21 ` [PATCH 6/9] ASoC: codecs: lpass-tx-macro: add support for SM8550 Krzysztof Kozlowski
2023-03-11 11:24   ` Srinivas Kandagatla
2023-03-10 13:21 ` [PATCH 7/9] ASoC: dt-bindings: qcom,lpass-va-macro: Add SM8550 VA macro Krzysztof Kozlowski
2023-03-10 13:22 ` [PATCH 8/9] ASoC: dt-bindings: qcom,lpass-wsa-macro: Add SM8550 WSA macro Krzysztof Kozlowski
2023-03-10 13:22 ` [PATCH 9/9] ASoC: codecs: lpass-wsa-macro: add support for SM8550 Krzysztof Kozlowski
2023-03-11 11:28   ` Srinivas Kandagatla
2023-03-10 14:35 ` [PATCH 0/9] ASoC: add audio digital codecs for Qualcomm SM8550 Krzysztof Kozlowski

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=5b923d49-c151-0ed7-3db1-a7caf85109f3@linaro.org \
    --to=srinivas.kandagatla@linaro.org \
    --cc=agross@kernel.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=andersson@kernel.org \
    --cc=bgoswami@quicinc.com \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=robh+dt@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.