habanalabs: allow memory allocations larger than 4GB

This patch increase the size field in the uapi structure of the Memory
IOCTL from 32-bit to 64-bit. This is to allow the user to allocate and/or
map memory in chunks that are larger then 4GB.

Goya's device memory (DRAM) can be up to 16GB, and for certain
topologies, the user may want an allocation that is larger than 4GB.

This change doesn't break current user-space because there was a "pad"
field in the uapi structure right after the size field. Changing the size
field to be 64-bit and removing the pad field maintains compatibility with
current user-space.

Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Oded Gabbay
2019-02-27 00:19:18 +02:00
committed by Greg Kroah-Hartman
parent c5b9f97ce5
commit 230afe74d1
3 changed files with 7 additions and 11 deletions

View File

@@ -237,8 +237,7 @@ struct hl_mem_in {
/* HL_MEM_OP_ALLOC- allocate device memory */
struct {
/* Size to alloc */
__u32 mem_size;
__u32 pad;
__u64 mem_size;
} alloc;
/* HL_MEM_OP_FREE - free device memory */
@@ -278,8 +277,7 @@ struct hl_mem_in {
*/
__u64 hint_addr;
/* Size of allocated host memory */
__u32 mem_size;
__u32 pad;
__u64 mem_size;
} map_host;
/* HL_MEM_OP_UNMAP - unmap host memory */