Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: Add support for reporting VRAM usage

Add functions to report the vram_usage from the amdgpu_device

Signed-off-by: Kent Russell <kent.russell@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>

authored by

Kent Russell and committed by
Oded Gabbay
9f0a0b41 b441093e

+15 -2
+7
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
··· 347 347 cu_info->max_scratch_slots_per_cu = acu_info.max_scratch_slots_per_cu; 348 348 cu_info->lds_size = acu_info.lds_size; 349 349 } 350 + 351 + uint64_t amdgpu_amdkfd_get_vram_usage(struct kgd_dev *kgd) 352 + { 353 + struct amdgpu_device *adev = (struct amdgpu_device *)kgd; 354 + 355 + return amdgpu_vram_mgr_usage(&adev->mman.bdev.man[TTM_PL_VRAM]); 356 + }
+1
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
··· 62 62 63 63 uint32_t get_max_engine_clock_in_mhz(struct kgd_dev *kgd); 64 64 void get_cu_info(struct kgd_dev *kgd, struct kfd_cu_info *cu_info); 65 + uint64_t amdgpu_amdkfd_get_vram_usage(struct kgd_dev *kgd); 65 66 66 67 #define read_user_wptr(mmptr, wptr, dst) \ 67 68 ({ \
+2 -1
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
··· 200 200 .get_fw_version = get_fw_version, 201 201 .set_scratch_backing_va = set_scratch_backing_va, 202 202 .get_tile_config = get_tile_config, 203 - .get_cu_info = get_cu_info 203 + .get_cu_info = get_cu_info, 204 + .get_vram_usage = amdgpu_amdkfd_get_vram_usage 204 205 }; 205 206 206 207 struct kfd2kgd_calls *amdgpu_amdkfd_gfx_7_get_functions(void)
+2 -1
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
··· 161 161 .get_fw_version = get_fw_version, 162 162 .set_scratch_backing_va = set_scratch_backing_va, 163 163 .get_tile_config = get_tile_config, 164 - .get_cu_info = get_cu_info 164 + .get_cu_info = get_cu_info, 165 + .get_vram_usage = amdgpu_amdkfd_get_vram_usage 165 166 }; 166 167 167 168 struct kfd2kgd_calls *amdgpu_amdkfd_gfx_8_0_get_functions(void)
+3
drivers/gpu/drm/amd/include/kgd_kfd_interface.h
··· 177 177 * 178 178 * @get_cu_info: Retrieves activated cu info 179 179 * 180 + * @get_vram_usage: Returns current VRAM usage 181 + * 180 182 * This structure contains function pointers to services that the kgd driver 181 183 * provides to amdkfd driver. 182 184 * ··· 269 267 270 268 void (*get_cu_info)(struct kgd_dev *kgd, 271 269 struct kfd_cu_info *cu_info); 270 + uint64_t (*get_vram_usage)(struct kgd_dev *kgd); 272 271 }; 273 272 274 273 /**