diff mbox series

[5/8] ipq8064: ASoC: qcom: lpass-cpu: Fix fallback SD line index handling

Message ID 20230102232534.592501-5-computersforpeace@gmail.com
State Superseded
Delegated to: Petr Štetiar
Headers show
Series [1/8] base-files: Remove nand.sh dependency from emmc upgrade | expand

Commit Message

Brian Norris Jan. 2, 2023, 11:25 p.m. UTC
This fixes device tree registration for 'qcom,lpass-cpu' as used by
qcom-ipq8064 SoCs, and allows speaker audio to function.

This patch has been submitted (and merged, for -next) upstream.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
---

 ...cpu-Fix-fallback-SD-line-index-handl.patch | 39 +++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 target/linux/ipq806x/patches-5.15/902-ASoC-qcom-lpass-cpu-Fix-fallback-SD-line-index-handl.patch

Comments

Christian Marangi Jan. 4, 2023, 12:54 p.m. UTC | #1
On Mon, Jan 02, 2023 at 03:25:31PM -0800, Brian Norris wrote:
> This fixes device tree registration for 'qcom,lpass-cpu' as used by
> qcom-ipq8064 SoCs, and allows speaker audio to function.
> 
> This patch has been submitted (and merged, for -next) upstream.

Considering it's tagged for stable and assuming it will be part of 6.2
wonder if it's a good idea to add the kernel tag to better track this?

> 
> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
> ---
> 
>  ...cpu-Fix-fallback-SD-line-index-handl.patch | 39 +++++++++++++++++++
>  1 file changed, 39 insertions(+)
>  create mode 100644 target/linux/ipq806x/patches-5.15/902-ASoC-qcom-lpass-cpu-Fix-fallback-SD-line-index-handl.patch
> 
> diff --git a/target/linux/ipq806x/patches-5.15/902-ASoC-qcom-lpass-cpu-Fix-fallback-SD-line-index-handl.patch b/target/linux/ipq806x/patches-5.15/902-ASoC-qcom-lpass-cpu-Fix-fallback-SD-line-index-handl.patch
> new file mode 100644
> index 000000000000..0bdab5dc62a5
> --- /dev/null
> +++ b/target/linux/ipq806x/patches-5.15/902-ASoC-qcom-lpass-cpu-Fix-fallback-SD-line-index-handl.patch
> @@ -0,0 +1,39 @@
> +From: Brian Norris <computersforpeace@gmail.com>
> +Date: Thu, 15 Dec 2022 01:33:45 -0800
> +Subject: [PATCH] ASoC: qcom: lpass-cpu: Fix fallback SD line index handling
> +
> +[[ Submitted upstream as:
> +   https://lore.kernel.org/all/20221231061545.2110253-1-computersforpeace@gmail.com/ ]]
> +
> +These indices should reference the ID placed within the dai_driver
> +array, not the indices of the array itself.
> +
> +This fixes commit 4ff028f6c108 ("ASoC: qcom: lpass-cpu: Make I2S SD
> +lines configurable"), which among others, broke IPQ8064 audio
> +(sound/soc/qcom/lpass-ipq806x.c) because it uses ID 4 but we'd stop
> +initializing the mi2s_playback_sd_mode and mi2s_capture_sd_mode arrays
> +at ID 0.
> +
> +Fixes: 4ff028f6c108 ("ASoC: qcom: lpass-cpu: Make I2S SD lines configurable")
> +Cc: <stable@vger.kernel.org>
> +Signed-off-by: Brian Norris <computersforpeace@gmail.com>
> +---
> + sound/soc/qcom/lpass-cpu.c | 5 +++--
> + 1 file changed, 3 insertions(+), 2 deletions(-)
> +
> +--- a/sound/soc/qcom/lpass-cpu.c
> ++++ b/sound/soc/qcom/lpass-cpu.c
> +@@ -851,10 +851,11 @@ static void of_lpass_cpu_parse_dai_data(
> + 					struct lpass_data *data)
> + {
> + 	struct device_node *node;
> +-	int ret, id;
> ++	int ret, i, id;
> + 
> + 	/* Allow all channels by default for backwards compatibility */
> +-	for (id = 0; id < data->variant->num_dai; id++) {
> ++	for (i = 0; i < data->variant->num_dai; i++) {
> ++		id = data->variant->dai_driver[i].id;
> + 		data->mi2s_playback_sd_mode[id] = LPAIF_I2SCTL_MODE_8CH;
> + 		data->mi2s_capture_sd_mode[id] = LPAIF_I2SCTL_MODE_8CH;
> + 	}
> -- 
> 2.39.0
> 
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Robert Marko Jan. 4, 2023, 1:30 p.m. UTC | #2
On Wed, 4 Jan 2023 at 14:04, Christian Marangi <ansuelsmth@gmail.com> wrote:
>
> On Mon, Jan 02, 2023 at 03:25:31PM -0800, Brian Norris wrote:
> > This fixes device tree registration for 'qcom,lpass-cpu' as used by
> > qcom-ipq8064 SoCs, and allows speaker audio to function.
> >
> > This patch has been submitted (and merged, for -next) upstream.
>
> Considering it's tagged for stable and assuming it will be part of 6.2
> wonder if it's a good idea to add the kernel tag to better track this?

Also, the 900 prefix isn't really meant for backports.

Regards,
Robert
>
> >
> > Signed-off-by: Brian Norris <computersforpeace@gmail.com>
> > ---
> >
> >  ...cpu-Fix-fallback-SD-line-index-handl.patch | 39 +++++++++++++++++++
> >  1 file changed, 39 insertions(+)
> >  create mode 100644 target/linux/ipq806x/patches-5.15/902-ASoC-qcom-lpass-cpu-Fix-fallback-SD-line-index-handl.patch
> >
> > diff --git a/target/linux/ipq806x/patches-5.15/902-ASoC-qcom-lpass-cpu-Fix-fallback-SD-line-index-handl.patch b/target/linux/ipq806x/patches-5.15/902-ASoC-qcom-lpass-cpu-Fix-fallback-SD-line-index-handl.patch
> > new file mode 100644
> > index 000000000000..0bdab5dc62a5
> > --- /dev/null
> > +++ b/target/linux/ipq806x/patches-5.15/902-ASoC-qcom-lpass-cpu-Fix-fallback-SD-line-index-handl.patch
> > @@ -0,0 +1,39 @@
> > +From: Brian Norris <computersforpeace@gmail.com>
> > +Date: Thu, 15 Dec 2022 01:33:45 -0800
> > +Subject: [PATCH] ASoC: qcom: lpass-cpu: Fix fallback SD line index handling
> > +
> > +[[ Submitted upstream as:
> > +   https://lore.kernel.org/all/20221231061545.2110253-1-computersforpeace@gmail.com/ ]]
> > +
> > +These indices should reference the ID placed within the dai_driver
> > +array, not the indices of the array itself.
> > +
> > +This fixes commit 4ff028f6c108 ("ASoC: qcom: lpass-cpu: Make I2S SD
> > +lines configurable"), which among others, broke IPQ8064 audio
> > +(sound/soc/qcom/lpass-ipq806x.c) because it uses ID 4 but we'd stop
> > +initializing the mi2s_playback_sd_mode and mi2s_capture_sd_mode arrays
> > +at ID 0.
> > +
> > +Fixes: 4ff028f6c108 ("ASoC: qcom: lpass-cpu: Make I2S SD lines configurable")
> > +Cc: <stable@vger.kernel.org>
> > +Signed-off-by: Brian Norris <computersforpeace@gmail.com>
> > +---
> > + sound/soc/qcom/lpass-cpu.c | 5 +++--
> > + 1 file changed, 3 insertions(+), 2 deletions(-)
> > +
> > +--- a/sound/soc/qcom/lpass-cpu.c
> > ++++ b/sound/soc/qcom/lpass-cpu.c
> > +@@ -851,10 +851,11 @@ static void of_lpass_cpu_parse_dai_data(
> > +                                     struct lpass_data *data)
> > + {
> > +     struct device_node *node;
> > +-    int ret, id;
> > ++    int ret, i, id;
> > +
> > +     /* Allow all channels by default for backwards compatibility */
> > +-    for (id = 0; id < data->variant->num_dai; id++) {
> > ++    for (i = 0; i < data->variant->num_dai; i++) {
> > ++            id = data->variant->dai_driver[i].id;
> > +             data->mi2s_playback_sd_mode[id] = LPAIF_I2SCTL_MODE_8CH;
> > +             data->mi2s_capture_sd_mode[id] = LPAIF_I2SCTL_MODE_8CH;
> > +     }
> > --
> > 2.39.0
> >
> >
> > _______________________________________________
> > openwrt-devel mailing list
> > openwrt-devel@lists.openwrt.org
> > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>
> --
>         Ansuel
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Brian Norris Jan. 5, 2023, 3:02 a.m. UTC | #3
Hi Christian, Robert,

On Wed, Jan 04, 2023 at 02:30:23PM +0100, Robert Marko wrote:
> On Wed, 4 Jan 2023 at 14:04, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >
> > On Mon, Jan 02, 2023 at 03:25:31PM -0800, Brian Norris wrote:
> > > This fixes device tree registration for 'qcom,lpass-cpu' as used by
> > > qcom-ipq8064 SoCs, and allows speaker audio to function.
> > >
> > > This patch has been submitted (and merged, for -next) upstream.
> >
> > Considering it's tagged for stable and assuming it will be part of 6.2
> > wonder if it's a good idea to add the kernel tag to better track this?

I first wrote this when I had just posted the patch; didn't expect it to
land so quickly!

But what do you mean: just tweak the commit title to 'kernel: ...'? Or
move this to the generic kernel patches
(target/linux/generic/backport-5.15/)?

> Also, the 900 prefix isn't really meant for backports.

Ack. I only just noticed target/linux/generic/PATCHES. So I guess that's
one of these?

  0xx - upstream backports
  1xx - code awaiting upstream merge

Thanks,
Brian
Robert Marko Jan. 5, 2023, 10:02 a.m. UTC | #4
On Thu, 5 Jan 2023 at 04:02, Brian Norris <computersforpeace@gmail.com> wrote:
>
> Hi Christian, Robert,
>
> On Wed, Jan 04, 2023 at 02:30:23PM +0100, Robert Marko wrote:
> > On Wed, 4 Jan 2023 at 14:04, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > >
> > > On Mon, Jan 02, 2023 at 03:25:31PM -0800, Brian Norris wrote:
> > > > This fixes device tree registration for 'qcom,lpass-cpu' as used by
> > > > qcom-ipq8064 SoCs, and allows speaker audio to function.
> > > >
> > > > This patch has been submitted (and merged, for -next) upstream.
> > >
> > > Considering it's tagged for stable and assuming it will be part of 6.2
> > > wonder if it's a good idea to add the kernel tag to better track this?
>
> I first wrote this when I had just posted the patch; didn't expect it to
> land so quickly!
>
> But what do you mean: just tweak the commit title to 'kernel: ...'? Or
> move this to the generic kernel patches
> (target/linux/generic/backport-5.15/)?

No need for generic as its cleary QCA related, he means to add the
kernel version
it will be available in after number, so lets say 024-v6.2-whatever.patch
>
> > Also, the 900 prefix isn't really meant for backports.
>
> Ack. I only just noticed target/linux/generic/PATCHES. So I guess that's
> one of these?
>
>   0xx - upstream backports
>   1xx - code awaiting upstream merge
>
> Thanks,
> Brian
diff mbox series

Patch

diff --git a/target/linux/ipq806x/patches-5.15/902-ASoC-qcom-lpass-cpu-Fix-fallback-SD-line-index-handl.patch b/target/linux/ipq806x/patches-5.15/902-ASoC-qcom-lpass-cpu-Fix-fallback-SD-line-index-handl.patch
new file mode 100644
index 000000000000..0bdab5dc62a5
--- /dev/null
+++ b/target/linux/ipq806x/patches-5.15/902-ASoC-qcom-lpass-cpu-Fix-fallback-SD-line-index-handl.patch
@@ -0,0 +1,39 @@ 
+From: Brian Norris <computersforpeace@gmail.com>
+Date: Thu, 15 Dec 2022 01:33:45 -0800
+Subject: [PATCH] ASoC: qcom: lpass-cpu: Fix fallback SD line index handling
+
+[[ Submitted upstream as:
+   https://lore.kernel.org/all/20221231061545.2110253-1-computersforpeace@gmail.com/ ]]
+
+These indices should reference the ID placed within the dai_driver
+array, not the indices of the array itself.
+
+This fixes commit 4ff028f6c108 ("ASoC: qcom: lpass-cpu: Make I2S SD
+lines configurable"), which among others, broke IPQ8064 audio
+(sound/soc/qcom/lpass-ipq806x.c) because it uses ID 4 but we'd stop
+initializing the mi2s_playback_sd_mode and mi2s_capture_sd_mode arrays
+at ID 0.
+
+Fixes: 4ff028f6c108 ("ASoC: qcom: lpass-cpu: Make I2S SD lines configurable")
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Brian Norris <computersforpeace@gmail.com>
+---
+ sound/soc/qcom/lpass-cpu.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/sound/soc/qcom/lpass-cpu.c
++++ b/sound/soc/qcom/lpass-cpu.c
+@@ -851,10 +851,11 @@ static void of_lpass_cpu_parse_dai_data(
+ 					struct lpass_data *data)
+ {
+ 	struct device_node *node;
+-	int ret, id;
++	int ret, i, id;
+ 
+ 	/* Allow all channels by default for backwards compatibility */
+-	for (id = 0; id < data->variant->num_dai; id++) {
++	for (i = 0; i < data->variant->num_dai; i++) {
++		id = data->variant->dai_driver[i].id;
+ 		data->mi2s_playback_sd_mode[id] = LPAIF_I2SCTL_MODE_8CH;
+ 		data->mi2s_capture_sd_mode[id] = LPAIF_I2SCTL_MODE_8CH;
+ 	}