diff mbox

[0/11,RFC] sound DMA support patches

Message ID 87mw8i1h8m.wl%kuninori.morimoto.gx@gmail.com (mailing list archive)
State RFC
Headers show

Commit Message

Kuninori Morimoto Oct. 27, 2014, 12:36 a.m. UTC
Hi Laurent

Thank you for contacting me

> > These are sound DMA support platform side patches.
> > These worked well when it was based on shdma-base
> > driver base.
> > 
> > These are including all sound DMA supports,
> > but, it is too much for cyclic transfer test.
> 
> I'm trying to test cyclic DMA support in the rcar-dmac driver using this patch 
> series.
> 
> I've applied all the patches on top of a merge of asoc/topic/rcar, renesas-
> drivers-2014-10-23-v3.18-rc1 and Simon's latest master branch. The sound 
> devices are not probed correctly:
(snip)
> Am I missing something ? Is there a newer version of the Lager audio + DMA 
> support patches ?

Sorry, driver had a bug, and I fixed it on latest upstream.
Can you add below on my previous patch series ?
It should be probed.

------------------
------------------

Best regards
---
Kuninori Morimoto
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Laurent Pinchart Oct. 27, 2014, 12:48 p.m. UTC | #1
Hi Morimoto-san,

On Sunday 26 October 2014 17:36:12 Kuninori Morimoto wrote:
> Hi Laurent
> 
> Thank you for contacting me
> 
> > > These are sound DMA support platform side patches.
> > > These worked well when it was based on shdma-base
> > > driver base.
> > > 
> > > These are including all sound DMA supports,
> > > but, it is too much for cyclic transfer test.
> > 
> > I'm trying to test cyclic DMA support in the rcar-dmac driver using this
> > patch series.
> > 
> > I've applied all the patches on top of a merge of asoc/topic/rcar,
> > renesas-
> > drivers-2014-10-23-v3.18-rc1 and Simon's latest master branch. The sound
> 
> > devices are not probed correctly:
> (snip)
> 
> > Am I missing something ? Is there a newer version of the Lager audio + DMA
> > support patches ?
> 
> Sorry, driver had a bug, and I fixed it on latest upstream.
> Can you add below on my previous patch series ?
> It should be probed.

That fixed the probe issue, thank you. Do you plan to push this change to 
Simon's tree ?

With this patch applied I've been able to test audio playback and get it to 
fail :-) The first problem is caused by GFP_KERNEL allocation in the prep 
cyclic handler in shdma-base.c. I've sent a patch to fix that and have CC'ed 
you.

The next failure comes from the call to pm_runtime_get() in shdma_tx_submit():

  rcar-audmapp-engine ec740000.audio-dma-pp: shdma_tx_submit(): GET = -13
  rcar_sound ec500000.rcar_sound: status check failed
  rcar_sound ec500000.rcar_sound: status check failed

Is that a known problem ?

> ------------------
> diff --git a/arch/arm/boot/dts/r8a7790-lager.dts
> b/arch/arm/boot/dts/r8a7790-lager.dts index 950a438..d6e7efd 100644
> --- a/arch/arm/boot/dts/r8a7790-lager.dts
> +++ b/arch/arm/boot/dts/r8a7790-lager.dts
> @@ -166,7 +166,7 @@
>                 simple-audio-card,frame-master = <&sndcodec>;
> 
>                 sndcpu: simple-audio-card,cpu {
> -                       sound-dai = <&rcar_sound 0>;
> +                       sound-dai = <&rcar_sound>;
>                 };
> 
>                 sndcodec: simple-audio-card,codec {
> @@ -474,6 +474,8 @@
>         pinctrl-0 = <&sound_pins &sound_clk_pins>;
>         pinctrl-names = "default";
> 
> +       #sound-dai-cells = <0>;
> +
>         status = "okay";
> 
>         rcar_sound,dai {
> ------------------
Kuninori Morimoto Oct. 28, 2014, 12:16 a.m. UTC | #2
Hi Laurent

> That fixed the probe issue, thank you. Do you plan to push this change to 
> Simon's tree ?

Current Simon's tree doesn't have board support yet.
This means no one (= except you :) have trouble in upstream.
But, yes, I will fix it when I send sound board support patch-set.

> With this patch applied I've been able to test audio playback and get it to 
> fail :-) The first problem is caused by GFP_KERNEL allocation in the prep 
> cyclic handler in shdma-base.c. I've sent a patch to fix that and have CC'ed 
> you.
> 
> The next failure comes from the call to pm_runtime_get() in shdma_tx_submit():
> 
>   rcar-audmapp-engine ec740000.audio-dma-pp: shdma_tx_submit(): GET = -13
>   rcar_sound ec500000.rcar_sound: status check failed
>   rcar_sound ec500000.rcar_sound: status check failed

GET = -13 is because PeriPeri doesn't have MSTP bit,
but it is message/warning only.

status check failed seems DMA doesn't work (?)
it seems similar with my known issue which was this

   http://www.spinics.net/lists/dmaengine/msg01525.html

especially 1) issue ?

Kuninori Morimoto (11):
       1) ARM: shmobile: r8a7790: Add Audio DMAC devices to DT
       2) ARM: shmobile: r8a7790: Add Audio DMAC peri peri devices to DT
       3) ARM: shmobile: r8a7790: sound enables Audio DMAC entry on DTSI
       4) ARM: shmobile: r8a7790: sound enables Audio DMAC peri peri entry on DTSI
       5) ARM: shmobile: lager: Sound PIO support on DTS
       6) ARM: shmobile: lager: Sound DMA support on DTS
       7) ARM: shmobile: lager: Sound DMA support via BUSIF on DTS
       8) ARM: shmobile: lager: Sound DMA support via SRC on DTS
       9) ARM: shmobile: lager: Sound DMA support via DVC on DTS
      10) ARM: shmobile: multiplatform: add Audo DMAC peri peri support on defconfig
      11) ARM: shmobile: multiplatform: add R-Car DMAC support on defconfig

I'm sorry that I didn't explain about sound.
I guess you are using soud FULL feature now (= 1 to 11), and,
this means your kernel is using Audio DMAC + PeriPeri DMAC.
But, very basic sound doesn't need PeriPeri DMAC.

Can you use 1) - 6) patches (and previous fixup patch) ?
7) / 8) / 9) requests PeriPeri DMAC, and problem will be more complex.

Best regards
---
Kuninori Morimoto
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts
index 950a438..d6e7efd 100644
--- a/arch/arm/boot/dts/r8a7790-lager.dts
+++ b/arch/arm/boot/dts/r8a7790-lager.dts
@@ -166,7 +166,7 @@ 
                simple-audio-card,frame-master = <&sndcodec>;
 
                sndcpu: simple-audio-card,cpu {
-                       sound-dai = <&rcar_sound 0>;
+                       sound-dai = <&rcar_sound>;
                };
 
                sndcodec: simple-audio-card,codec {
@@ -474,6 +474,8 @@ 
        pinctrl-0 = <&sound_pins &sound_clk_pins>;
        pinctrl-names = "default";
 
+       #sound-dai-cells = <0>;
+
        status = "okay";
 
        rcar_sound,dai {