linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
To: Srinivasa Rao Mandadapu <srivasam@codeaurora.org>,
	agross@kernel.org, bjorn.andersson@linaro.org,
	lgirdwood@gmail.com, broonie@kernel.org, robh+dt@kernel.org,
	plai@codeaurora.org, bgoswami@codeaurora.org, perex@perex.cz,
	tiwai@suse.com, rohitkr@codeaurora.org,
	linux-arm-msm@vger.kernel.org, alsa-devel@alsa-project.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: V Sujith Kumar Reddy <vsujithk@codeaurora.org>
Subject: Re: [PATCH v3 3/5] ASoC: qcom: Add support for lpass hdmi driver
Date: Fri, 4 Sep 2020 11:41:09 +0100	[thread overview]
Message-ID: <ac1f0b9a-8e07-464c-b0df-6b8e5665a632@linaro.org> (raw)
In-Reply-To: <1598855964-1042-4-git-send-email-srivasam@codeaurora.org>



On 31/08/2020 07:39, Srinivasa Rao Mandadapu wrote:
> From: V Sujith Kumar Reddy <vsujithk@codeaurora.org>
> 
> Upadate lpass cpu and platform driver to support audio over dp.
> Also add lpass-hdmi.c and lpass-hdmi.h.
> 
> Signed-off-by: Srinivasa Rao <srivasam@codeaurora.org>
> Signed-off-by: V Sujith Kumar Reddy <vsujithk@codeaurora.org>
> ---
>   sound/soc/qcom/Kconfig           |   5 +
>   sound/soc/qcom/Makefile          |   2 +
>   sound/soc/qcom/lpass-apq8016.c   |   1 +
>   sound/soc/qcom/lpass-cpu.c       |  64 ++--
>   sound/soc/qcom/lpass-hdmi.c      | 684 +++++++++++++++++++++++++++++++++++++++
>   sound/soc/qcom/lpass-hdmi.h      | 129 ++++++++
>   sound/soc/qcom/lpass-ipq806x.c   |   1 +
>   sound/soc/qcom/lpass-lpaif-reg.h |  48 ++-
>   sound/soc/qcom/lpass-platform.c  | 287 ++++++++++++----
>   sound/soc/qcom/lpass.h           |  88 ++++-
>   10 files changed, 1225 insertions(+), 84 deletions(-)
>   create mode 100644 sound/soc/qcom/lpass-hdmi.c
>   create mode 100644 sound/soc/qcom/lpass-hdmi.h
> 
> diff --git a/sound/soc/qcom/Kconfig b/sound/soc/qcom/Kconfig
> index a607ace..509584c 100644
> --- a/sound/soc/qcom/Kconfig
> +++ b/sound/soc/qcom/Kconfig
> @@ -12,6 +12,10 @@ config SND_SOC_LPASS_CPU
>   	tristate
>   	select REGMAP_MMIO
>   
> +config SND_SOC_LPASS_HDMI
> +	tristate
> +	select REGMAP_MMIO
> +
>   config SND_SOC_LPASS_PLATFORM
>   	tristate
>   	select REGMAP_MMIO
> @@ -30,6 +34,7 @@ config SND_SOC_LPASS_SC7180
>   	tristate
>   	select SND_SOC_LPASS_CPU
>   	select SND_SOC_LPASS_PLATFORM
> +	select SND_SOC_LPASS_HDMI
>   
>   config SND_SOC_STORM
>   	tristate "ASoC I2S support for Storm boards"
> diff --git a/sound/soc/qcom/Makefile b/sound/soc/qcom/Makefile
> index 7972c94..0bd90d7 100644
> --- a/sound/soc/qcom/Makefile
> +++ b/sound/soc/qcom/Makefile
> @@ -1,12 +1,14 @@
>   # SPDX-License-Identifier: GPL-2.0
>   # Platform
>   snd-soc-lpass-cpu-objs := lpass-cpu.o
> +snd-soc-lpass-hdmi-objs := lpass-hdmi.o
>   snd-soc-lpass-platform-objs := lpass-platform.o
>   snd-soc-lpass-ipq806x-objs := lpass-ipq806x.o
>   snd-soc-lpass-apq8016-objs := lpass-apq8016.o
>   snd-soc-lpass-sc7180-objs := lpass-sc7180.o
>   
>   obj-$(CONFIG_SND_SOC_LPASS_CPU) += snd-soc-lpass-cpu.o
> +obj-$(CONFIG_SND_SOC_LPASS_HDMI) += snd-soc-lpass-hdmi.o
>   obj-$(CONFIG_SND_SOC_LPASS_PLATFORM) += snd-soc-lpass-platform.o
>   obj-$(CONFIG_SND_SOC_LPASS_IPQ806X) += snd-soc-lpass-ipq806x.o
>   obj-$(CONFIG_SND_SOC_LPASS_APQ8016) += snd-soc-lpass-apq8016.o
> diff --git a/sound/soc/qcom/lpass-apq8016.c b/sound/soc/qcom/lpass-apq8016.c
> index 5c8ae22..a1bc7e2 100644
> --- a/sound/soc/qcom/lpass-apq8016.c
> +++ b/sound/soc/qcom/lpass-apq8016.c
> @@ -289,6 +289,7 @@ static struct lpass_variant apq8016_data = {
>   	.exit			= apq8016_lpass_exit,
>   	.alloc_dma_channel	= apq8016_lpass_alloc_dma_channel,
>   	.free_dma_channel	= apq8016_lpass_free_dma_channel,
> +	.id			= I2S_INTERFACE,

Before going into detail review, I see real issue in the overall 
approach here to add new interface to exiting lpass!!

Intention of struct lpass_variant is to address differences between SoCs 
or different lpass versions. But you should not duplicate this and use 
it for addressing differences between each lpass interfaces!

All the dai related register offsets should still go in to this 
structure and driver should be able to know which dai its talking to 
based on snd_soc_dai_driver id and select correct register offset.

Also on the other note, can you please split the patch if possible so 
that it will be easy for review. Specially I would like to see header 
file changes specific to adding new interface to be separate then 
followed by the actual interface implementation  and then the user.

I also see some unrelated changes like changing buffer sizes, which 
should go into different patch!

--srini

  parent reply	other threads:[~2020-09-04 10:42 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-31  6:39 [PATCH v3 0/5] Qualcomm's lpass-hdmi ASoC driver to support audio over dp port Srinivasa Rao Mandadapu
2020-08-31  6:39 ` [PATCH v3 1/5] ASoC: Add sc7180-lpass binding header hdmi define Srinivasa Rao Mandadapu
2020-08-31  6:39 ` [PATCH v3 2/5] ASoC: dt-bindings: Add dt binding for lpass hdmi Srinivasa Rao Mandadapu
2020-09-04 10:41   ` Srinivas Kandagatla
2020-09-04 11:02     ` Srinivasa Rao Mandadapu
2020-08-31  6:39 ` [PATCH v3 3/5] ASoC: qcom: Add support for lpass hdmi driver Srinivasa Rao Mandadapu
2020-09-01  7:36   ` Stephen Boyd
2020-09-03  9:29     ` Srinivasa Rao Mandadapu
2020-09-04 10:41   ` Srinivas Kandagatla [this message]
2020-09-04 11:21     ` Srinivasa Rao Mandadapu
     [not found]     ` <0101017458d94c82-96bbcff0-018e-4f5d-8273-7869c3599d32-000000@us-west-2.amazonses.com>
2020-09-04 11:24       ` Srinivas Kandagatla
2020-09-08 17:42         ` Srinivasa Rao Mandadapu
2020-08-31  6:39 ` [PATCH v3 4/5] ASoC: qcom: Add support for audio over DP Srinivasa Rao Mandadapu
2020-09-01  7:32   ` Stephen Boyd
2020-09-03  9:23     ` Srinivasa Rao Mandadapu
2020-08-31  6:39 ` [PATCH v3 5/5] ASoC: qcom: Optimise lpass variant structure Srinivasa Rao Mandadapu

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=ac1f0b9a-8e07-464c-b0df-6b8e5665a632@linaro.org \
    --to=srinivas.kandagatla@linaro.org \
    --cc=agross@kernel.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=bgoswami@codeaurora.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=plai@codeaurora.org \
    --cc=robh+dt@kernel.org \
    --cc=rohitkr@codeaurora.org \
    --cc=srivasam@codeaurora.org \
    --cc=tiwai@suse.com \
    --cc=vsujithk@codeaurora.org \
    /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).