[PATCH v6 00/11] reserved-memory regions/CMA in devicetree, again
Grant Likely
grant.likely at linaro.org
Mon Mar 31 09:52:04 EDT 2014
On Tue, Mar 11, 2014 at 10:37 AM, Grant Likely <grant.likely at 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.szyprowski at 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.szyprowski@samsung.com
>> [2]: http://lkml.kernel.org/g/1381476448-14548-1-git-send-email-m.szyprowski@samsung.com
>> [3]: http://lkml.kernel.org/g/20131030134702.19B57C402A0@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 +
>> drivers/of/fdt.c | 140 ++++++++++
>> drivers/of/of_reserved_mem.c | 287 ++++++++++++++++++++
>> drivers/of/platform.c | 7 +
>> include/asm-generic/vmlinux.lds.h | 11 +
>> include/linux/of_fdt.h | 3 +
>> include/linux/of_reserved_mem.h | 60 ++++
>> 17 files changed, 807 insertions(+), 22 deletions(-)
>> create mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
>> create mode 100644 drivers/of/of_reserved_mem.c
>> create mode 100644 include/linux/of_reserved_mem.h
>>
>> --
>> 1.7.9.5
>>
More information about the linux-arm-kernel
mailing list