Re: [PATCH v6 00/11] reserved-memory regions/CMA in devicetree, again

2014-03-31 Thread Grant Likely
On Tue, Mar 11, 2014 at 10:37 AM, Grant Likely grant.lik...@linaro.org wrote:
 Hi Ben, Russell and Catalin,

 I've got this series queued up, and I'd like to be ready to merge it
 in the next merge window. I'm going to queue it up in linux-next. If
 you have any concerns, please shout and it can be removed. I won't ask
 Linus to pull it without you giving the okay.

Hi Ben and Russell.

Any feedback on this? The arch/powerpc and arch/arm patches are a
single line change each and are easy to revert if they cause problems.
I'm going to send Linus a pull request tomorrow morning if I don't
hear anything before then.

g.

 On Fri, Feb 28, 2014 at 1:42 PM, Marek Szyprowski
 m.szyprow...@samsung.com wrote:
 Hello again!

 Here is another update of the support for reserved memory regions in
 device tree. I've fixes a few more minor issues pointed by Grant. See
 changelog for more details.

 The initial code for this feature were posted here [1], merged as commit
 9d8eab7af79cb4ce2de5de39f82c455b1f796963 (drivers: of: add
 initialization code for dma reserved memory) and later reverted by
 commit 1931ee143b0ab72924944bc06e363d837ba05063. For more information,
 see [2]. Finally a new bindings has been proposed [3] and Josh
 Cartwright a few days ago prepared some code which implements those
 bindings [4]. This finally pushed me again to find some time to finish
 this task and review the code. Josh agreed to give me the ownership of
 this series to continue preparing them for mainline inclusion.

 For more information please refer to the changlelog and links below.

 [1]: 
 http://lkml.kernel.org/g/1377527959-5080-1-git-send-email-m.szyprow...@samsung.com
 [2]: 
 http://lkml.kernel.org/g/1381476448-14548-1-git-send-email-m.szyprow...@samsung.com
 [3]: http://lkml.kernel.org/g/20131030134702.19b57c40...@trevor.secretlab.ca
 [4]: http://thread.gmane.org/gmane.linux.documentation/19579

 Changelog:

 v6:
 - removed the need for #memory-region-cells property
 - fixed compilation issues on some systems
 - some other minor code cleanups

 v5: https://lkml.org/lkml/2014/2/21/147
 - sliced main patch into several smaller patches on Grant's request
 - fixed coding style issues pointed by Grant
 - use node-phandle value directly instead of parsing properties manually

 v4: https://lkml.org/lkml/2014/2/20/150
 - dynamic allocations are processed after all static reservations has been
   done
 - moved code for handling static reservations to drivers/of/fdt.c
 - removed node matching by string comparison, now phandle values are used
   directly
 - moved code for DMA and CMA handling directly to
   drivers/base/dma-{coherent,contiguous}.c
 - added checks for proper #size-cells, #address-cells, ranges properties
   in /reserved-memory node
 - even more code cleanup
 - added init code for ARM64 and PowerPC

 v3: http://article.gmane.org/gmane.linux.documentation/20169/
 - refactored memory reservation code, created common code to parse reg, size,
   align, alloc-ranges properties
 - added support for multiple tuples in 'reg' property
 - memory is reserved regardless of presence of the driver for its compatible
 - prepared arch specific hooks for memory reservation (defaults use memblock
   calls)
 - removed node matching by string during device initialization
 - CMA init code: added checks for required region alignment
 - more code cleanup here and there

 v2: http://thread.gmane.org/gmane.linux.documentation/19870/
 - removed copying of the node name
 - split shared-dma-pool handling into separate files (one for CMA and one
   for dma_declare_coherent based implementations) for making the code easier
   to understand
 - added support for AMBA devices, changed prototypes to use struct decice
   instead of struct platform_device
 - renamed some functions to better match other names used in drivers/of/
 - restructured the rest of the code a bit for better readability
 - added 'reusable' property to exmaple linux,cma node in documentation
 - exclusive dma (dma_coherent) is used for only handling 'shared-dma-pool'
   regions without 'reusable' property and CMA is used only for handling
   'shared-dma-pool' regions with 'reusable' property.

 v1: http://thread.gmane.org/gmane.linux.documentation/19579
 - initial version prepared by Josh Cartwright

 Summary:

 Grant Likely (1):
   of: document bindings for reserved-memory nodes

 Marek Szyprowski (10):
   drivers: of: add initialization code for static reserved memory
   drivers: of: add initialization code for dynamic reserved memory
   drivers: of: add support for custom reserved memory drivers
   drivers: of: add automated assignment of reserved regions to client
 devices
   drivers: of: initialize and assign reserved memory to newly created
 devices
   drivers: dma-coherent: add initialization from device tree
   drivers: dma-contiguous: add initialization from device tree
   arm: add support for reserved memory defined by device tree
   arm64: add support for reserved 

Re: [PATCH v6 00/11] reserved-memory regions/CMA in devicetree, again

2014-03-11 Thread Grant Likely
Hi Ben, Russell and Catalin,

I've got this series queued up, and I'd like to be ready to merge it
in the next merge window. I'm going to queue it up in linux-next. If
you have any concerns, please shout and it can be removed. I won't ask
Linus to pull it without you giving the okay.

g.

On Fri, Feb 28, 2014 at 1:42 PM, Marek Szyprowski
m.szyprow...@samsung.com wrote:
 Hello again!

 Here is another update of the support for reserved memory regions in
 device tree. I've fixes a few more minor issues pointed by Grant. See
 changelog for more details.

 The initial code for this feature were posted here [1], merged as commit
 9d8eab7af79cb4ce2de5de39f82c455b1f796963 (drivers: of: add
 initialization code for dma reserved memory) and later reverted by
 commit 1931ee143b0ab72924944bc06e363d837ba05063. For more information,
 see [2]. Finally a new bindings has been proposed [3] and Josh
 Cartwright a few days ago prepared some code which implements those
 bindings [4]. This finally pushed me again to find some time to finish
 this task and review the code. Josh agreed to give me the ownership of
 this series to continue preparing them for mainline inclusion.

 For more information please refer to the changlelog and links below.

 [1]: 
 http://lkml.kernel.org/g/1377527959-5080-1-git-send-email-m.szyprow...@samsung.com
 [2]: 
 http://lkml.kernel.org/g/1381476448-14548-1-git-send-email-m.szyprow...@samsung.com
 [3]: http://lkml.kernel.org/g/20131030134702.19b57c40...@trevor.secretlab.ca
 [4]: http://thread.gmane.org/gmane.linux.documentation/19579

 Changelog:

 v6:
 - removed the need for #memory-region-cells property
 - fixed compilation issues on some systems
 - some other minor code cleanups

 v5: https://lkml.org/lkml/2014/2/21/147
 - sliced main patch into several smaller patches on Grant's request
 - fixed coding style issues pointed by Grant
 - use node-phandle value directly instead of parsing properties manually

 v4: https://lkml.org/lkml/2014/2/20/150
 - dynamic allocations are processed after all static reservations has been
   done
 - moved code for handling static reservations to drivers/of/fdt.c
 - removed node matching by string comparison, now phandle values are used
   directly
 - moved code for DMA and CMA handling directly to
   drivers/base/dma-{coherent,contiguous}.c
 - added checks for proper #size-cells, #address-cells, ranges properties
   in /reserved-memory node
 - even more code cleanup
 - added init code for ARM64 and PowerPC

 v3: http://article.gmane.org/gmane.linux.documentation/20169/
 - refactored memory reservation code, created common code to parse reg, size,
   align, alloc-ranges properties
 - added support for multiple tuples in 'reg' property
 - memory is reserved regardless of presence of the driver for its compatible
 - prepared arch specific hooks for memory reservation (defaults use memblock
   calls)
 - removed node matching by string during device initialization
 - CMA init code: added checks for required region alignment
 - more code cleanup here and there

 v2: http://thread.gmane.org/gmane.linux.documentation/19870/
 - removed copying of the node name
 - split shared-dma-pool handling into separate files (one for CMA and one
   for dma_declare_coherent based implementations) for making the code easier
   to understand
 - added support for AMBA devices, changed prototypes to use struct decice
   instead of struct platform_device
 - renamed some functions to better match other names used in drivers/of/
 - restructured the rest of the code a bit for better readability
 - added 'reusable' property to exmaple linux,cma node in documentation
 - exclusive dma (dma_coherent) is used for only handling 'shared-dma-pool'
   regions without 'reusable' property and CMA is used only for handling
   'shared-dma-pool' regions with 'reusable' property.

 v1: http://thread.gmane.org/gmane.linux.documentation/19579
 - initial version prepared by Josh Cartwright

 Summary:

 Grant Likely (1):
   of: document bindings for reserved-memory nodes

 Marek Szyprowski (10):
   drivers: of: add initialization code for static reserved memory
   drivers: of: add initialization code for dynamic reserved memory
   drivers: of: add support for custom reserved memory drivers
   drivers: of: add automated assignment of reserved regions to client
 devices
   drivers: of: initialize and assign reserved memory to newly created
 devices
   drivers: dma-coherent: add initialization from device tree
   drivers: dma-contiguous: add initialization from device tree
   arm: add support for reserved memory defined by device tree
   arm64: add support for reserved memory defined by device tree
   powerpc: add support for reserved memory defined by device tree

  .../bindings/reserved-memory/reserved-memory.txt   |  136 ++
  arch/arm/Kconfig   |1 +
  arch/arm/mm/init.c |2 +
  arch/arm64/Kconfig  

[PATCH v6 00/11] reserved-memory regions/CMA in devicetree, again

2014-02-28 Thread Marek Szyprowski
Hello again!

Here is another update of the support for reserved memory regions in
device tree. I've fixes a few more minor issues pointed by Grant. See
changelog for more details.

The initial code for this feature were posted here [1], merged as commit
9d8eab7af79cb4ce2de5de39f82c455b1f796963 (drivers: of: add
initialization code for dma reserved memory) and later reverted by
commit 1931ee143b0ab72924944bc06e363d837ba05063. For more information,
see [2]. Finally a new bindings has been proposed [3] and Josh
Cartwright a few days ago prepared some code which implements those
bindings [4]. This finally pushed me again to find some time to finish
this task and review the code. Josh agreed to give me the ownership of
this series to continue preparing them for mainline inclusion.

For more information please refer to the changlelog and links below.

[1]: 
http://lkml.kernel.org/g/1377527959-5080-1-git-send-email-m.szyprow...@samsung.com
[2]: 
http://lkml.kernel.org/g/1381476448-14548-1-git-send-email-m.szyprow...@samsung.com
[3]: http://lkml.kernel.org/g/20131030134702.19b57c40...@trevor.secretlab.ca
[4]: http://thread.gmane.org/gmane.linux.documentation/19579

Changelog:

v6:
- removed the need for #memory-region-cells property
- fixed compilation issues on some systems
- some other minor code cleanups

v5: https://lkml.org/lkml/2014/2/21/147
- sliced main patch into several smaller patches on Grant's request
- fixed coding style issues pointed by Grant
- use node-phandle value directly instead of parsing properties manually

v4: https://lkml.org/lkml/2014/2/20/150
- dynamic allocations are processed after all static reservations has been
  done
- moved code for handling static reservations to drivers/of/fdt.c
- removed node matching by string comparison, now phandle values are used
  directly
- moved code for DMA and CMA handling directly to
  drivers/base/dma-{coherent,contiguous}.c
- added checks for proper #size-cells, #address-cells, ranges properties
  in /reserved-memory node
- even more code cleanup
- added init code for ARM64 and PowerPC

v3: http://article.gmane.org/gmane.linux.documentation/20169/
- refactored memory reservation code, created common code to parse reg, size,
  align, alloc-ranges properties
- added support for multiple tuples in 'reg' property
- memory is reserved regardless of presence of the driver for its compatible
- prepared arch specific hooks for memory reservation (defaults use memblock
  calls)
- removed node matching by string during device initialization
- CMA init code: added checks for required region alignment
- more code cleanup here and there

v2: http://thread.gmane.org/gmane.linux.documentation/19870/
- removed copying of the node name
- split shared-dma-pool handling into separate files (one for CMA and one
  for dma_declare_coherent based implementations) for making the code easier
  to understand
- added support for AMBA devices, changed prototypes to use struct decice
  instead of struct platform_device
- renamed some functions to better match other names used in drivers/of/
- restructured the rest of the code a bit for better readability
- added 'reusable' property to exmaple linux,cma node in documentation
- exclusive dma (dma_coherent) is used for only handling 'shared-dma-pool'
  regions without 'reusable' property and CMA is used only for handling
  'shared-dma-pool' regions with 'reusable' property.

v1: http://thread.gmane.org/gmane.linux.documentation/19579
- initial version prepared by Josh Cartwright

Summary:

Grant Likely (1):
  of: document bindings for reserved-memory nodes

Marek Szyprowski (10):
  drivers: of: add initialization code for static reserved memory
  drivers: of: add initialization code for dynamic reserved memory
  drivers: of: add support for custom reserved memory drivers
  drivers: of: add automated assignment of reserved regions to client
devices
  drivers: of: initialize and assign reserved memory to newly created
devices
  drivers: dma-coherent: add initialization from device tree
  drivers: dma-contiguous: add initialization from device tree
  arm: add support for reserved memory defined by device tree
  arm64: add support for reserved memory defined by device tree
  powerpc: add support for reserved memory defined by device tree

 .../bindings/reserved-memory/reserved-memory.txt   |  136 ++
 arch/arm/Kconfig   |1 +
 arch/arm/mm/init.c |2 +
 arch/arm64/Kconfig |1 +
 arch/arm64/mm/init.c   |1 +
 arch/powerpc/Kconfig   |1 +
 arch/powerpc/kernel/prom.c |3 +
 drivers/base/dma-coherent.c|   40 +++
 drivers/base/dma-contiguous.c  |  129 +++--
 drivers/of/Kconfig |6 +
 drivers/of/Makefile|1 +