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

Icenowy Zheng icenowy at aosc.xyz
Thu Feb 2 07:50:42 PST 2017



31.01.2017, 11:32, "Vinod Koul" <vinod.koul at intel.com>:
> On Tue, Jan 31, 2017 at 02:23:55AM +0800, Icenowy Zheng wrote:
>>  31.01.2017, 00:41, "Vinod Koul" <vinod.koul at 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 at aosc.xyz>
>>  >>  Acked-by: Maxime Ripard <maxime.ripard at free-electrons.com>
>>  >>  Acked-by: Chen-Yu Tsai <wens at 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



More information about the linux-arm-kernel mailing list