Commit 8c9ff1b1 authored by Lizhi Hou's avatar Lizhi Hou Committed by Jeff Hugo
Browse files

accel/amdxdna: Add a new driver for AMD AI Engine



AMD AI Engine forms the core of AMD NPU and can be used for accelerating
machine learning applications.

Add the driver to support AI Engine integrated to AMD CPU.
Only very basic functionalities are added.
  - module and PCI device initialization
  - firmware load
  - power up
  - low level hardware initialization

Co-developed-by: default avatarNarendra Gutta <VenkataNarendraKumar.Gutta@amd.com>
Signed-off-by: default avatarNarendra Gutta <VenkataNarendraKumar.Gutta@amd.com>
Co-developed-by: default avatarGeorge Yang <George.Yang@amd.com>
Signed-off-by: default avatarGeorge Yang <George.Yang@amd.com>
Co-developed-by: default avatarMin Ma <min.ma@amd.com>
Signed-off-by: default avatarMin Ma <min.ma@amd.com>
Reviewed-by: default avatarJeffrey Hugo <quic_jhugo@quicinc.com>
Signed-off-by: default avatarLizhi Hou <lizhi.hou@amd.com>
Signed-off-by: default avatarJeffrey Hugo <quic_jhugo@quicinc.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241118172942.2014541-3-lizhi.hou@amd.com
parent cafb2c9c
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1178,6 +1178,16 @@ M: Sanjay R Mehta <sanju.mehta@amd.com>
S:	Maintained
F:	drivers/spi/spi-amd.c
AMD XDNA DRIVER
M:	Min Ma <min.ma@amd.com>
M:	Lizhi Hou <lizhi.hou@amd.com>
L:	dri-devel@lists.freedesktop.org
S:	Supported
T:	git https://gitlab.freedesktop.org/drm/misc/kernel.git
F:	Documentation/accel/amdxdna/
F:	drivers/accel/amdxdna/
F:	include/uapi/drm/amdxdna_accel.h
AMD XGBE DRIVER
M:	"Shyam Sundar S K" <Shyam-sundar.S-k@amd.com>
L:	netdev@vger.kernel.org
+1 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ menuconfig DRM_ACCEL
	  different device files, called accel/accel* (in /dev, sysfs
	  and debugfs).

source "drivers/accel/amdxdna/Kconfig"
source "drivers/accel/habanalabs/Kconfig"
source "drivers/accel/ivpu/Kconfig"
source "drivers/accel/qaic/Kconfig"
+1 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only

obj-$(CONFIG_DRM_ACCEL_AMDXDNA)		+= amdxdna/
obj-$(CONFIG_DRM_ACCEL_HABANALABS)	+= habanalabs/
obj-$(CONFIG_DRM_ACCEL_IVPU)		+= ivpu/
obj-$(CONFIG_DRM_ACCEL_QAIC)		+= qaic/
+18 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only

config DRM_ACCEL_AMDXDNA
	tristate "AMD AI Engine"
	depends on AMD_IOMMU
	depends on DRM_ACCEL
	depends on PCI && HAS_IOMEM
	depends on X86_64
	select DRM_SCHED
	select DRM_GEM_SHMEM_HELPER
	select FW_LOADER
	select HMM_MIRROR
	help
	  Choose this option to enable support for NPU integrated into AMD
	  client CPUs like AMD Ryzen AI 300 Series. AMD NPU can be used to
	  accelerate machine learning applications.

	  If "M" is selected, the driver module will be amdxdna.
+13 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only

amdxdna-y := \
	aie2_pci.o \
	aie2_psp.o \
	aie2_smu.o \
	amdxdna_pci_drv.o \
	amdxdna_sysfs.o \
	npu1_regs.o \
	npu2_regs.o \
	npu4_regs.o \
	npu5_regs.o
obj-$(CONFIG_DRM_ACCEL_AMDXDNA) = amdxdna.o
Loading