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>
This commit is contained in:
		
							parent
							
								
									b441093e40
								
							
						
					
					
						commit
						9f0a0b41ff
					
				| @ -347,3 +347,10 @@ void get_cu_info(struct kgd_dev *kgd, struct kfd_cu_info *cu_info) | ||||
| 	cu_info->max_scratch_slots_per_cu = acu_info.max_scratch_slots_per_cu; | ||||
| 	cu_info->lds_size = acu_info.lds_size; | ||||
| } | ||||
| 
 | ||||
| uint64_t amdgpu_amdkfd_get_vram_usage(struct kgd_dev *kgd) | ||||
| { | ||||
| 	struct amdgpu_device *adev = (struct amdgpu_device *)kgd; | ||||
| 
 | ||||
| 	return amdgpu_vram_mgr_usage(&adev->mman.bdev.man[TTM_PL_VRAM]); | ||||
| } | ||||
|  | ||||
| @ -62,6 +62,7 @@ uint64_t get_gpu_clock_counter(struct kgd_dev *kgd); | ||||
| 
 | ||||
| uint32_t get_max_engine_clock_in_mhz(struct kgd_dev *kgd); | ||||
| void get_cu_info(struct kgd_dev *kgd, struct kfd_cu_info *cu_info); | ||||
| uint64_t amdgpu_amdkfd_get_vram_usage(struct kgd_dev *kgd); | ||||
| 
 | ||||
| #define read_user_wptr(mmptr, wptr, dst)				\ | ||||
| 	({								\ | ||||
|  | ||||
| @ -200,7 +200,8 @@ static const struct kfd2kgd_calls kfd2kgd = { | ||||
| 	.get_fw_version = get_fw_version, | ||||
| 	.set_scratch_backing_va = set_scratch_backing_va, | ||||
| 	.get_tile_config = get_tile_config, | ||||
| 	.get_cu_info = get_cu_info | ||||
| 	.get_cu_info = get_cu_info, | ||||
| 	.get_vram_usage = amdgpu_amdkfd_get_vram_usage | ||||
| }; | ||||
| 
 | ||||
| struct kfd2kgd_calls *amdgpu_amdkfd_gfx_7_get_functions(void) | ||||
|  | ||||
| @ -161,7 +161,8 @@ static const struct kfd2kgd_calls kfd2kgd = { | ||||
| 	.get_fw_version = get_fw_version, | ||||
| 	.set_scratch_backing_va = set_scratch_backing_va, | ||||
| 	.get_tile_config = get_tile_config, | ||||
| 	.get_cu_info = get_cu_info | ||||
| 	.get_cu_info = get_cu_info, | ||||
| 	.get_vram_usage = amdgpu_amdkfd_get_vram_usage | ||||
| }; | ||||
| 
 | ||||
| struct kfd2kgd_calls *amdgpu_amdkfd_gfx_8_0_get_functions(void) | ||||
|  | ||||
| @ -177,6 +177,8 @@ struct tile_config { | ||||
|  * | ||||
|  * @get_cu_info: Retrieves activated cu info | ||||
|  * | ||||
|  * @get_vram_usage: Returns current VRAM usage | ||||
|  * | ||||
|  * This structure contains function pointers to services that the kgd driver | ||||
|  * provides to amdkfd driver. | ||||
|  * | ||||
| @ -267,6 +269,7 @@ struct kfd2kgd_calls { | ||||
| 
 | ||||
| 	void (*get_cu_info)(struct kgd_dev *kgd, | ||||
| 			struct kfd_cu_info *cu_info); | ||||
| 	uint64_t (*get_vram_usage)(struct kgd_dev *kgd); | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user