Skip to content

RFC reserved-memory regions/CMA in devicetree, again

Josh Cartwright linux-arch linux-arm-kernel linux-devicetree lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest4 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4drivers: of: add initialization code for reserved memorydrivers/of/Kconfig drivers/of/Makefile drivers/of/of_reserved_mem.c +3 more+271 -00 replies
2/4drivers: of: implement reserved-memory handling for dmadrivers/of/Kconfig drivers/of/Makefile drivers/of/of_reserved_mem_dma.c+186 -00 replies
3/4ARM: init: add support for reserved memory defined by device treearch/arm/mm/init.c+3 -00 replies
4/4of: document bindings for reserved-memory nodesDocumentation/devicetree/bindings/reserved-memory/reserved-memory.txt+137 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH RFC 0/4] reserved-memory regions/CMA in devicetree, again

Hey Marek-

What is the current status of the reserved-memory/CMA device tree support series? It looks like it's stalled out a bit since the revert[2]. Hopefully this series is a push in the right direction?

---
This set is an adaptation of Marek's original patchset posted here[1], and then subsequently reverted here[2]. In [3], Grant proposed a new set of bindings after discussion in Edinburgh.

This is a partially complete implementation of these proposed bindings.

It's functionality is now split into two pieces, the first of which implements a default/fallback behavior for reserved-memory nodes; that is, reserved memory nodes describing fixed-address static regions will be unconditionally reserved, regardless of their intended use. In addition, it provides an interface for adding additional reserved-memory types, using a method similar to CLOCKSOURCE_OF_DECLARE().

The second piece uses the above method to provide support for reserved-memory nodes whose compatible = "shared-dma-pool". It makes use of CMA when available, and when a describing node has the 'reusable' property.

There is basic support for dynamic allocation of memory reserved regions, however, noticeably missing is support for additional restrictions (use of alignment and alloc-ranges properties).

[1]: http://lkml.kernel.org/g/[email protected]
[2]: http://lkml.kernel.org/g/[email protected]
[3]: http://lkml.kernel.org/g/[email protected]

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

Josh Cartwright (1):
drivers: of: implement reserved-memory handling for dma

Marek Szyprowski (2):
drivers: of: add initialization code for reserved memory
ARM: init: add support for reserved memory defined by device tree

 .../bindings/reserved-memory/reserved-memory.txt   | 137 +++++++++++++++
 arch/arm/mm/init.c                                 |   3 +
 drivers/of/Kconfig                                 |  13 ++
 drivers/of/Makefile                                |   2 +
 drivers/of/of_reserved_mem.c                       | 188 +++++++++++++++++++++
 drivers/of/of_reserved_mem_dma.c                   | 178 +++++++++++++++++++
 drivers/of/platform.c                              |   4 +
 include/asm-generic/vmlinux.lds.h                  |  11 ++
 include/linux/of_reserved_mem.h                    |  61 +++++++
 9 files changed, 597 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
 create mode 100644 drivers/of/of_reserved_mem.c
 create mode 100644 drivers/of/of_reserved_mem_dma.c
 create mode 100644 include/linux/of_reserved_mem.h
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation