1# SPDX-License-Identifier: MIT
2#
3# Heterogeneous system architecture configuration
4#
5
6config HSA_AMD
7	bool "HSA kernel driver for AMD GPU devices"
8	depends on DRM_AMDGPU && (X86_64 || ARM64 || PPC64)
9	imply AMD_IOMMU_V2 if X86_64
10	select HMM_MIRROR
11	select MMU_NOTIFIER
12	select DRM_AMDGPU_USERPTR
13	help
14	  Enable this if you want to use HSA features on AMD GPU devices.
15
16config HSA_AMD_SVM
17	bool "Enable HMM-based shared virtual memory manager"
18	depends on HSA_AMD && DEVICE_PRIVATE
19	default y
20	select HMM_MIRROR
21	select MMU_NOTIFIER
22	help
23	  Enable this to use unified memory and managed memory in HIP. This
24	  memory manager supports two modes of operation. One based on
25	  preemptions and one based on page faults. To enable page fault
26	  based memory management on most GFXv9 GPUs, set the module
27	  parameter amdgpu.noretry=0.
28
29config HSA_AMD_P2P
30	bool "HSA kernel driver support for peer-to-peer for AMD GPU devices"
31	depends on HSA_AMD && PCI_P2PDMA && DMABUF_MOVE_NOTIFY
32	help
33	  Enable peer-to-peer (P2P) communication between AMD GPUs over
34	  the PCIe bus. This can improve performance of multi-GPU compute
35	  applications and libraries by enabling GPUs to access data directly
36	  in peer GPUs' memory without intermediate copies in system memory.
37
38	  This P2P feature is only enabled on compatible chipsets, and between
39	  GPUs with large memory BARs that expose the entire VRAM in PCIe bus
40	  address space within the physical address limits of the GPUs.
41
42