mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 02:39:48 +00:00
52 lines
1.4 KiB
Text
52 lines
1.4 KiB
Text
![]() |
Ion Memory Manager
|
||
|
|
||
|
Ion is a memory manager that allows for sharing of buffers via dma-buf.
|
||
|
Ion allows for different types of allocation via an abstraction called
|
||
|
a 'heap'. A heap represents a specific type of memory. Each heap has
|
||
|
a different type. There can be multiple instances of the same heap
|
||
|
type.
|
||
|
|
||
|
Specific heap instances are tied to heap IDs. Heap IDs are not to be specified
|
||
|
in the devicetree.
|
||
|
|
||
|
Required properties for Ion
|
||
|
|
||
|
- compatible: "linux,ion" PLUS a compatible property for the device
|
||
|
|
||
|
All child nodes of a linux,ion node are interpreted as heaps
|
||
|
|
||
|
required properties for heaps
|
||
|
|
||
|
- compatible: compatible string for a heap type PLUS a compatible property
|
||
|
for the specific instance of the heap. Current heap types
|
||
|
-- linux,ion-heap-system
|
||
|
-- linux,ion-heap-system-contig
|
||
|
-- linux,ion-heap-carveout
|
||
|
-- linux,ion-heap-chunk
|
||
|
-- linux,ion-heap-dma
|
||
|
-- linux,ion-heap-custom
|
||
|
|
||
|
Optional properties
|
||
|
- memory-region: A phandle to a memory region. Required for DMA heap type
|
||
|
(see reserved-memory.txt for details on the reservation)
|
||
|
|
||
|
Example:
|
||
|
|
||
|
ion {
|
||
|
compatbile = "hisilicon,ion", "linux,ion";
|
||
|
|
||
|
ion-system-heap {
|
||
|
compatbile = "hisilicon,system-heap", "linux,ion-heap-system"
|
||
|
};
|
||
|
|
||
|
ion-camera-region {
|
||
|
compatible = "hisilicon,camera-heap", "linux,ion-heap-dma"
|
||
|
memory-region = <&camera_region>;
|
||
|
};
|
||
|
|
||
|
ion-fb-region {
|
||
|
compatbile = "hisilicon,fb-heap", "linux,ion-heap-dma"
|
||
|
memory-region = <&fb_region>;
|
||
|
};
|
||
|
}
|