diff mbox

[v3,08/10] dmaengine: sun6i: allow build on ARM64 platforms (sun50i)

Message ID 20170129023331.62106-9-icenowy@aosc.xyz (mailing list archive)
State New, archived
Headers show

Commit Message

Icenowy Zheng Jan. 29, 2017, 2:33 a.m. UTC
As 64-bit Allwinner H5 SoC has the same DMA engine with H3, the DMA
driver should be allowed to be built for ARM64, in order to make it work on H5.

Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
---
Patch introduced between v1 and v2, to satisfy the newly added H3/H5 audio
codec support.

 drivers/dma/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Vinod Koul Jan. 30, 2017, 4:42 p.m. UTC | #1
On Sun, Jan 29, 2017 at 10:33:29AM +0800, Icenowy Zheng wrote:
> As 64-bit Allwinner H5 SoC has the same DMA engine with H3, the DMA
> driver should be allowed to be built for ARM64, in order to make it work on H5.
> 
> Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> Acked-by: Chen-Yu Tsai <wens@csie.org>
> ---
> Patch introduced between v1 and v2, to satisfy the newly added H3/H5 audio
> codec support.
> 
>  drivers/dma/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
> index 0d6a96ee9fc7..d01d59812cf3 100644
> --- a/drivers/dma/Kconfig
> +++ b/drivers/dma/Kconfig
> @@ -157,7 +157,7 @@ config DMA_SUN4I
>  
>  config DMA_SUN6I
>  	tristate "Allwinner A31 SoCs DMA support"
> -	depends on MACH_SUN6I || MACH_SUN8I || COMPILE_TEST
> +	depends on MACH_SUN6I || MACH_SUN8I || (ARM64 && ARCH_SUNXI) || COMPILE_TEST

Do we really need ARM64 here? also looking at others I wonder why isn't
this MACH_SUNXI...?
Icenowy Zheng Jan. 30, 2017, 6:23 p.m. UTC | #2
31.01.2017, 00:41, "Vinod Koul" <vinod.koul@intel.com>:
> On Sun, Jan 29, 2017 at 10:33:29AM +0800, Icenowy Zheng wrote:
>>  As 64-bit Allwinner H5 SoC has the same DMA engine with H3, the DMA
>>  driver should be allowed to be built for ARM64, in order to make it work on H5.
>>
>>  Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
>>  Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
>>  Acked-by: Chen-Yu Tsai <wens@csie.org>
>>  ---
>>  Patch introduced between v1 and v2, to satisfy the newly added H3/H5 audio
>>  codec support.
>>
>>   drivers/dma/Kconfig | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>>  diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
>>  index 0d6a96ee9fc7..d01d59812cf3 100644
>>  --- a/drivers/dma/Kconfig
>>  +++ b/drivers/dma/Kconfig
>>  @@ -157,7 +157,7 @@ config DMA_SUN4I
>>
>>   config DMA_SUN6I
>>           tristate "Allwinner A31 SoCs DMA support"
>>  - depends on MACH_SUN6I || MACH_SUN8I || COMPILE_TEST
>>  + depends on MACH_SUN6I || MACH_SUN8I || (ARM64 && ARCH_SUNXI) || COMPILE_TEST
>
> Do we really need ARM64 here? also looking at others I wonder why isn't
> this MACH_SUNXI...?

You mean directly place "ARCH_SUNXI" here?

SUN4I/SUN5I/SUN7I do not use DMA_SUN6I, they have different DMA
controllers.

>
> --
> ~Vinod
Vinod Koul Jan. 31, 2017, 3:32 a.m. UTC | #3
On Tue, Jan 31, 2017 at 02:23:55AM +0800, Icenowy Zheng wrote:
> 
> 
> 31.01.2017, 00:41, "Vinod Koul" <vinod.koul@intel.com>:
> > On Sun, Jan 29, 2017 at 10:33:29AM +0800, Icenowy Zheng wrote:
> >>  As 64-bit Allwinner H5 SoC has the same DMA engine with H3, the DMA
> >>  driver should be allowed to be built for ARM64, in order to make it work on H5.
> >>
> >>  Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
> >>  Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> >>  Acked-by: Chen-Yu Tsai <wens@csie.org>
> >>  ---
> >>  Patch introduced between v1 and v2, to satisfy the newly added H3/H5 audio
> >>  codec support.
> >>
> >>   drivers/dma/Kconfig | 2 +-
> >>   1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >>  diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
> >>  index 0d6a96ee9fc7..d01d59812cf3 100644
> >>  --- a/drivers/dma/Kconfig
> >>  +++ b/drivers/dma/Kconfig
> >>  @@ -157,7 +157,7 @@ config DMA_SUN4I
> >>
> >>   config DMA_SUN6I
> >>           tristate "Allwinner A31 SoCs DMA support"
> >>  - depends on MACH_SUN6I || MACH_SUN8I || COMPILE_TEST
> >>  + depends on MACH_SUN6I || MACH_SUN8I || (ARM64 && ARCH_SUNXI) || COMPILE_TEST
> >
> > Do we really need ARM64 here? also looking at others I wonder why isn't
> > this MACH_SUNXI...?
> 
> You mean directly place "ARCH_SUNXI" here?
> 
> SUN4I/SUN5I/SUN7I do not use DMA_SUN6I, they have different DMA
> controllers.

No my question was different..

We have MACH_SUNxx for 6I and 8I, so why do we have ARCH_SUNXI and if its an
arch SUNXI, X means it can take any value...

This schema looks pretty confusing while reading

Also I had a question on usage of ARM64..
Icenowy Zheng Feb. 2, 2017, 3:50 p.m. UTC | #4
31.01.2017, 11:32, "Vinod Koul" <vinod.koul@intel.com>:
> On Tue, Jan 31, 2017 at 02:23:55AM +0800, Icenowy Zheng wrote:
>>  31.01.2017, 00:41, "Vinod Koul" <vinod.koul@intel.com>:
>>  > On Sun, Jan 29, 2017 at 10:33:29AM +0800, Icenowy Zheng wrote:
>>  >>  As 64-bit Allwinner H5 SoC has the same DMA engine with H3, the DMA
>>  >>  driver should be allowed to be built for ARM64, in order to make it work on H5.
>>  >>
>>  >>  Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
>>  >>  Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
>>  >>  Acked-by: Chen-Yu Tsai <wens@csie.org>
>>  >>  ---
>>  >>  Patch introduced between v1 and v2, to satisfy the newly added H3/H5 audio
>>  >>  codec support.
>>  >>
>>  >>   drivers/dma/Kconfig | 2 +-
>>  >>   1 file changed, 1 insertion(+), 1 deletion(-)
>>  >>
>>  >>  diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
>>  >>  index 0d6a96ee9fc7..d01d59812cf3 100644
>>  >>  --- a/drivers/dma/Kconfig
>>  >>  +++ b/drivers/dma/Kconfig
>>  >>  @@ -157,7 +157,7 @@ config DMA_SUN4I
>>  >>
>>  >>   config DMA_SUN6I
>>  >>           tristate "Allwinner A31 SoCs DMA support"
>>  >>  - depends on MACH_SUN6I || MACH_SUN8I || COMPILE_TEST
>>  >>  + depends on MACH_SUN6I || MACH_SUN8I || (ARM64 && ARCH_SUNXI) || COMPILE_TEST
>>  >
>>  > Do we really need ARM64 here? also looking at others I wonder why isn't
>>  > this MACH_SUNXI...?
>>
>>  You mean directly place "ARCH_SUNXI" here?
>>
>>  SUN4I/SUN5I/SUN7I do not use DMA_SUN6I, they have different DMA
>>  controllers.
>
> No my question was different..
>
> We have MACH_SUNxx for 6I and 8I, so why do we have ARCH_SUNXI and if its an
> arch SUNXI, X means it can take any value...
>
> This schema looks pretty confusing while reading

It's a weird schema made by the vendor.

> Also I had a question on usage of ARM64..

For ARM64, we have no MACH_SUN50I, as the only ARM64-capable series in SUNXI
is SUN50I. So I use (ARM64 && ARCH_SUNXI) here to represent "MACH_SUN50I".

P.S. Allwinner have sun4i(A10), sun5i(A13/A10s/GR8), sun6i(A31/A31s), sun7i(A20),
sun8i(A23/A33/H3/V3s/A83T), sun9i(A80), sun50i(A64/H5). From the sun6i
generation, things changed a lot; however, sun7i is a derivation of sun4i. In U-Boot,
every SoC after sun6i (except sun7i) have an option CONFIG_GEN_SUN6I.

This DMAengine driver is for the new generation DMA engine.

SUN4I, SUN5I and SUN7I have no hardware that uses such a DMAengine, so here's
MACH_SUN6I || MACH_SUN8I || (ARM64 && ARCH_SUNXI), to prevent it to be built
in a kernel that do not support any system with such a DMAengine.

>
> --
> ~Vinod
Vinod Koul Feb. 5, 2017, 7:19 a.m. UTC | #5
On Sun, Jan 29, 2017 at 10:33:29AM +0800, Icenowy Zheng wrote:
> As 64-bit Allwinner H5 SoC has the same DMA engine with H3, the DMA
> driver should be allowed to be built for ARM64, in order to make it work on H5.

Applied, thanks
diff mbox

Patch

diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
index 0d6a96ee9fc7..d01d59812cf3 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -157,7 +157,7 @@  config DMA_SUN4I
 
 config DMA_SUN6I
 	tristate "Allwinner A31 SoCs DMA support"
-	depends on MACH_SUN6I || MACH_SUN8I || COMPILE_TEST
+	depends on MACH_SUN6I || MACH_SUN8I || (ARM64 && ARCH_SUNXI) || COMPILE_TEST
 	depends on RESET_CONTROLLER
 	select DMA_ENGINE
 	select DMA_VIRTUAL_CHANNELS