Thread (63 messages) 63 messages, 10 authors, 2014-06-02

[PATCH v3 0/7] of: setup dma parameters using dma-ranges and dma-coherent

From: Santosh Shilimkar <hidden>
Date: 2014-05-02 16:42:25
Also in: linux-devicetree, lkml

On Friday 02 May 2014 10:41 AM, Rob Herring wrote:
On Thu, May 1, 2014 at 8:25 AM, Russell King - ARM Linux
[off-list ref] wrote:
quoted
On Thu, May 01, 2014 at 09:19:18AM -0400, Santosh Shilimkar wrote:
quoted
Rob, Russell,

On Thursday 24 April 2014 11:30 AM, Santosh Shilimkar wrote:
quoted
Here is an updated v3 of the series. Series introduces support for setting up
dma parameters based on device tree properties like 'dma-ranges' and
'dma-coherent' and also update to ARM 32 bit port. Earlier version of the
series can be found here [3], [2] and [1].

The 'dma-ranges' helps to take care of few DMAable system memory restrictions
by use of dma_pfn_offset which we maintain now per device. Arch code then
uses it for dma address translations for such cases. We update the
dma_pfn_offset accordingly during DT the device creation process.The
'dma-coherent' property is used to setup arch's coherent dma_ops.

Hopefully with acks, tested-by this version can get into 3.16 queue. I will
post a followup series for Keystone SOC which will use this infrastructure.
Linus W also wants to use this for ARM integrator platform dma offset issue.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Russell King <redacted>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Olof Johansson <redacted>
Cc: Grant Likely <redacted>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Linus Walleij <redacted>
Cc: Grygorii Strashko <grygorii.strashko@ti.com>

Grygorii Strashko (2):
  of: introduce of_dma_get_range() helper
  ARM: dma: Use dma_pfn_offset for dma address translation

Santosh Shilimkar (5):
  device: introduce per device dma_pfn_offset
  of: introduce of_dma_is_coherent() helper
  of: configure the platform device dma parameters
  ARM: dma: implement set_arch_dma_coherent_ops()
  ARM: dma: use phys_addr_t in __dma_page_[cpu_to_dev/dev_to_cpu]

 arch/arm/include/asm/dma-mapping.h |   28 ++++++++++--
 arch/arm/mm/dma-mapping.c          |    4 +-
 drivers/of/address.c               |   87 ++++++++++++++++++++++++++++++++++++
 drivers/of/platform.c              |   71 +++++++++++++++++++++++++++--
 include/linux/device.h             |    2 +
 include/linux/dma-mapping.h        |    7 +++
 include/linux/of_address.h         |    8 ++++
 include/linux/of_platform.h        |    6 +++
 8 files changed, 204 insertions(+), 9 deletions(-)
How do we go about merging this series ? There is a dependency
between the patches and hence the question.
I don't know anymore.  People today want to assert exclusive rights over
parts of the kernel tree, which makes this kind of cross-patching rather
impossible.
I can take this series or provide an ack for the DT parts. Either way
it does not matter to me.
quoted
The only workable solution I can see is the long winded way to split the
series up, merge the first set of dependencies in one merge window, and
hold the rest back for the following merge window.  Not ideal, but it
stops the arguments.
That should not be necessary. We should be able to sort this out as it
is not a difficult problem.
yeah. After addressing those few minor comments, I will create a pull
request for both RMK and arm-soc to pull from with your ack. That way
I can also add keystone specific parts on top of this series to arm-soc.

Regards,
Santosh  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help