linux/drivers/misc/habanalabs
Yuri Nudelman babe8e7c04 habanalabs: unified memory manager infrastructure
This is a part of overall refactoring attempt to separate nic and the
core drivers.
Currently, there are 4 different flows, that contain very similar code.
These are the ts, nic, hwblocks and cb alloc/map flows. The similar
aspect of all these flows is that they all contain a central store, with
memory buffers inside, supporting the following set of operations:

- Allocate buffer and return handle
- Get buffer from the store with handle
- Put the buffer (last put releases the buffer)
- Map the buffer to the user

This patch contains a generic data structure used to implement the above
memory buffer store interface. Conversion of the existing code to use
the new data structure will follow.

Signed-off-by: Yuri Nudelman <ynudelman@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-05-22 20:57:36 +02:00
..
common habanalabs: unified memory manager infrastructure 2022-05-22 20:57:36 +02:00
gaudi habanalabs: modify dma_mask to be ASIC specific property 2022-05-22 20:57:35 +02:00
goya habanalabs: modify dma_mask to be ASIC specific property 2022-05-22 20:57:35 +02:00
include habanalabs: convert all MMU masks/shifts to arrays 2022-05-22 20:57:34 +02:00
Kconfig habanalabs: select CRC32 2021-10-18 12:05:47 +03:00
Makefile habanalabs: create common folder 2020-07-24 20:31:37 +03:00