Hello Jared,
On Wed, 23 Apr 2025 at 00:49, Jared Kangas jkangas@redhat.com wrote:
Hi all,
This patch series is based on a previous discussion around CMA heap naming. [1] The heap's name depends on the device name, which is generally "reserved", "linux,cma", or "default-pool", but could be any arbitrary name given to the default CMA area in the devicetree. For a consistent userspace interface, the series introduces a constant name for the CMA heap, and for backwards compatibility, an additional Kconfig that controls the creation of a legacy-named heap with the same CMA backing.
The ideas to handle backwards compatibility in [1] are to either use a symlink or add a heap node with a duplicate minor. However, I assume that we don't want to create symlinks in /dev from module initcalls, and attempting to duplicate minors would cause device_create() to fail. Because of these drawbacks, after brainstorming with Maxime Ripard, I went with creating a new node in devtmpfs with its own minor. This admittedly makes it a little unclear that the old and new nodes are backed by the same heap when both are present. The only approach that I think would provide total clarity on this in userspace is symlinking, which seemed like a fairly involved solution for devtmpfs, but if I'm wrong on this, please let me know.
Thanks indeed for this patch; just one minor nit: the link referred to as [1] here seems to be missing. Could you please add it? This would make it easier to follow the chain of discussion in posterity.
Changelog: v2: Use tabs instead of spaces for large vertical alignment.
Jared Kangas (2): dma-buf: heaps: Parameterize heap name in __add_cma_heap() dma-buf: heaps: Give default CMA heap a fixed name
Documentation/userspace-api/dma-buf-heaps.rst | 11 ++++--- drivers/dma-buf/heaps/Kconfig | 10 +++++++ drivers/dma-buf/heaps/cma_heap.c | 30 ++++++++++++++----- 3 files changed, 40 insertions(+), 11 deletions(-)
-- 2.49.0
Best, Sumit
linaro-mm-sig@lists.linaro.org