OpenCloudOS-Kernel/drivers/misc/habanalabs
Omer Shpigelman 0feaf86d4e habanalabs: add virtual memory and MMU modules
This patch adds the Virtual Memory and MMU modules.

Goya has an internal MMU which provides process isolation on the internal
DDR. The internal MMU also performs translations for transactions that go
from Goya to the Host.

The driver is responsible for allocating and freeing memory on the DDR
upon user request. It also provides an interface to map and unmap DDR and
Host memory to the device address space.

The MMU in Goya supports 3-level and 4-level page tables. With 3-level, the
size of each page is 2MB, while with 4-level the size of each page is 4KB.

In the DDR, the physical pages are always 2MB.

Reviewed-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Omer Shpigelman <oshpigelman@habana.ai>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-18 09:46:46 +01:00
..
goya habanalabs: add virtual memory and MMU modules 2019-02-18 09:46:46 +01:00
include habanalabs: add virtual memory and MMU modules 2019-02-18 09:46:46 +01:00
Kconfig habanalabs: add skeleton driver 2019-02-18 09:46:43 +01:00
Makefile habanalabs: add virtual memory and MMU modules 2019-02-18 09:46:46 +01:00
asid.c habanalabs: add context and ASID modules 2019-02-18 09:46:44 +01:00
command_buffer.c habanalabs: add device reset support 2019-02-18 09:46:45 +01:00
command_submission.c habanalabs: add command submission module 2019-02-18 09:46:45 +01:00
context.c habanalabs: add virtual memory and MMU modules 2019-02-18 09:46:46 +01:00
device.c habanalabs: add virtual memory and MMU modules 2019-02-18 09:46:46 +01:00
habanalabs.h habanalabs: add virtual memory and MMU modules 2019-02-18 09:46:46 +01:00
habanalabs_drv.c habanalabs: add virtual memory and MMU modules 2019-02-18 09:46:46 +01:00
habanalabs_ioctl.c habanalabs: add virtual memory and MMU modules 2019-02-18 09:46:46 +01:00
hw_queue.c habanalabs: add command submission module 2019-02-18 09:46:45 +01:00
hwmon.c habanalabs: add device reset support 2019-02-18 09:46:45 +01:00
irq.c habanalabs: add device reset support 2019-02-18 09:46:45 +01:00
memory.c habanalabs: add virtual memory and MMU modules 2019-02-18 09:46:46 +01:00
mmu.c habanalabs: add virtual memory and MMU modules 2019-02-18 09:46:46 +01:00
sysfs.c habanalabs: add device reset support 2019-02-18 09:46:45 +01:00