Pārlūkot izejas kodu

drm/amdgpu: expose the max virtual address

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Jammy Zhou 10 gadi atpakaļ
vecāks
revīzija
02b70c8c9f

+ 1 - 0
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c

@@ -428,6 +428,7 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
 		if (adev->flags & AMDGPU_IS_APU)
 			dev_info.ids_flags |= AMDGPU_IDS_FLAGS_FUSION;
 		dev_info.virtual_address_offset = AMDGPU_VA_RESERVED_SIZE;
+		dev_info.virtual_address_max = (uint64_t)adev->vm_manager.max_pfn * AMDGPU_GPU_PAGE_SIZE;
 		dev_info.virtual_address_alignment = max(PAGE_SIZE, 0x10000UL);
 		dev_info.pte_fragment_size = (1 << AMDGPU_LOG2_PAGES_PER_FRAG) *
 					     AMDGPU_GPU_PAGE_SIZE;

+ 2 - 0
include/uapi/drm/amdgpu_drm.h

@@ -560,6 +560,8 @@ struct drm_amdgpu_info_device {
 	uint64_t ids_flags;
 	/** Starting virtual address for UMDs. */
 	uint64_t virtual_address_offset;
+	/** The maximum virtual address */
+	uint64_t virtual_address_max;
 	/** Required alignment of virtual addresses. */
 	uint32_t virtual_address_alignment;
 	/** Page table entry - fragment size */