[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LNX.2.00.1507010849390.8255@localhost.localdomain>
Date: Wed, 1 Jul 2015 08:54:56 +0200 (CEST)
From: Paul Osmialowski <pawelo@...g.net.pl>
To: Arnd Bergmann <arnd@...db.de>
cc: linux-arm-kernel@...ts.infradead.org,
Paul Osmialowski <pawelo@...g.net.pl>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Ian Campbell <ijc+devicetree@...lion.org.uk>,
Jiri Slaby <jslaby@...e.cz>, Kumar Gala <galak@...eaurora.org>,
Linus Walleij <linus.walleij@...aro.org>,
Mark Rutland <mark.rutland@....com>,
Michael Turquette <mturquette@...libre.com>,
Pawel Moll <pawel.moll@....com>,
Rob Herring <robh+dt@...nel.org>,
Russell King <linux@....linux.org.uk>,
Stephen Boyd <sboyd@...eaurora.org>,
Vinod Koul <vinod.koul@...el.com>,
linux-kernel@...r.kernel.org, linux-clk@...r.kernel.org,
linux-gpio@...r.kernel.org, linux-serial@...r.kernel.org,
devicetree@...r.kernel.org, dmaengine@...r.kernel.org,
Nicolas Pitre <nicolas.pitre@...aro.org>,
Sergei Poselenov <sposelenov@...raft.com>,
Paul Bolle <pebolle@...cali.nl>,
Jingchang Lu <jingchang.lu@...escale.com>,
Yuri Tikhonov <yur@...raft.com>,
Rob Herring <r.herring@...escale.com>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Uwe Kleine-Koenig <u.kleine-koenig@...gutronix.de>,
Alexander Potashev <aspotashev@...raft.com>,
Frank Li <Frank.Li@...escale.com>,
Thomas Gleixner <tglx@...utronix.de>,
Anson Huang <b20788@...escale.com>
Subject: Re: [PATCH v2 7/9] arm: twr-k70f120m: use Freescale eDMA driver with
Kinetis SoC
Hi Arnd,
Thanks for pointing this - dma-ranges seem to work properly. This makes
the patch much simpler. To be included to the next iteration.
I also removed DMA_OF from Kconfig and CONFIG_DMA_OF from my defconfig and
it was automatically added during preparation of .cofing for build.
On Tue, 30 Jun 2015, Arnd Bergmann wrote:
> On Tuesday 30 June 2015 14:27:28 Paul Osmialowski wrote:
>> Note that <mach/memory.h> is needed (which is denoted by
>> CONFIG_NEED_MACH_MEMORY_H) as it provides macros required for proper
>> operation of DMA allocation functions.
>
> You can't do this, it breaks compilation when multiple platforms
> are enabled.
>
>> Signed-off-by: Paul Osmialowski <pawelo@...g.net.pl>
>> ---
>> arch/arm/Kconfig | 4 ++
>> arch/arm/boot/dts/kinetis.dtsi | 34 ++++++++++++++++
>> arch/arm/mach-kinetis/include/mach/memory.h | 61 +++++++++++++++++++++++++++++
>> 3 files changed, 99 insertions(+)
>> create mode 100644 arch/arm/mach-kinetis/include/mach/memory.h
>>
>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>> index b21592b..8ccffee 100644
>> --- a/arch/arm/Kconfig
>> +++ b/arch/arm/Kconfig
>> @@ -971,6 +971,10 @@ config ARCH_KINETIS
>> select CLKSRC_KINETIS
>> select PINCTRL
>> select PINCTRL_KINETIS
>> + select DMADEVICES
>> + select FSL_EDMA
>> + select DMA_OF
>> + select NEED_MACH_MEMORY_H
>
> I think DMA_OF is implied by dmaengine support in combination with CONFIG_OF
>
>> +
>> +#ifndef _MACH_KINETIS_MEMORY_H
>> +#define _MACH_KINETIS_MEMORY_H
>> +
>> +#ifndef __ASSEMBLY__
>> +
>> +/*
>> + * On Kinetis K70, consistent DMA memory resides in a special
>> + * DDRAM alias region (non-cacheable DDRAM at 0x80000000).
>> + *
>> + */
>> +#define KINETIS_PHYS_DMA_OFFSET UL(0x80000000)
>> +
>> +/*
>> + * Mask of the field used to distinguish DDRAM aliases
>> + */
>> +#define KINETIS_DRAM_ALIAS_MASK UL(0xf8000000)
>
> This should be expressed using the 'dma-ranges' properties in the
> bus nodes above any DMA master, the normal DMA mapping code will
> then do the right thing.
>
> Arnd
>
View attachment "0007-arm-twr-k70f120m-use-Freescale-eDMA-driver-with-Kine.patch" of type "TEXT/x-diff" (2182 bytes)
Powered by blists - more mailing lists