]> www.infradead.org Git - users/jedix/linux-maple.git/commit
accel/amdxdna: Add GEM buffer object management
authorLizhi Hou <lizhi.hou@amd.com>
Mon, 18 Nov 2024 17:29:38 +0000 (09:29 -0800)
committerJeffrey Hugo <quic_jhugo@quicinc.com>
Fri, 22 Nov 2024 18:43:04 +0000 (11:43 -0700)
commitac49797c1815d4f8f04b7053b2998c546283c89e
tree6fb23cbf70440f0c125cb1a5d2e9342cb8ef2430
parentbe462c97b7dfd24999babe39cce3de224ebe1f80
accel/amdxdna: Add GEM buffer object management

There different types of BOs are supported:

- shmem
A user application uses shmem BOs as input/output for its workload running
on NPU.

- device memory heap
The fixed size buffer dedicated to the device.

- device buffer
The buffer object allocated from device memory heap.

- command buffer
The buffer object created for delivering commands. The command buffer
object is small and pinned on creation.

New IOCTLs are added: CREATE_BO, GET_BO_INFO, SYNC_BO. SYNC_BO is used
to explicitly flush CPU cache for BO memory.

Co-developed-by: Min Ma <min.ma@amd.com>
Signed-off-by: Min Ma <min.ma@amd.com>
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Signed-off-by: Lizhi Hou <lizhi.hou@amd.com>
Signed-off-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241118172942.2014541-7-lizhi.hou@amd.com
drivers/accel/amdxdna/Makefile
drivers/accel/amdxdna/aie2_ctx.c
drivers/accel/amdxdna/aie2_message.c
drivers/accel/amdxdna/aie2_pci.h
drivers/accel/amdxdna/amdxdna_ctx.h
drivers/accel/amdxdna/amdxdna_gem.c [new file with mode: 0644]
drivers/accel/amdxdna/amdxdna_gem.h [new file with mode: 0644]
drivers/accel/amdxdna/amdxdna_pci_drv.c
drivers/accel/amdxdna/amdxdna_pci_drv.h
include/uapi/drm/amdxdna_accel.h