diff options
| author | Dave Airlie <airlied@redhat.com> | 2020-11-10 17:48:47 +1000 | 
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2020-11-10 17:48:47 +1000 | 
| commit | 5b8c596976d4338942dd889b66cd06dc766424e1 (patch) | |
| tree | 0fdcc1cc3c51daaf39400f72caf4f10d99d43541 /drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | |
| parent | c0f98d2f8b076bf3e3183aa547395f919c943a14 (diff) | |
| parent | 514ad1b6bb6e2fa205b5511bd3d50e33457f6180 (diff) | |
Merge tag 'amd-drm-next-5.11-2020-11-05' of git://people.freedesktop.org/~agd5f/linux into drm-next
amd-drm-next-5.11-2020-11-05:
amdgpu:
- Add initial support for Vangogh
- Add support for Green Sardine
- Add initial support for Dimgrey Cavefish
- Scatter/Gather display support for Renoir
- Updates for Sienna Cichlid
- Updates for Navy Flounder
- SMU7 power improvements
- Modifier support for gfx9+
- CI BACO fixes
- Arcturus SMU fixes
- Lots of code cleanups
- DC fixes
- Kernel doc fixes
- Add more GPU HW client information to page fault error logging
- MPO clock tuning for RV
- FP fixes for DCN3 on ARM and PPC
radeon:
- Expose voltage via hwmon on Sumo APUs
amdkfd:
- Fix unique id handling
- Misc fixes
From: Alex Deucher <alexdeucher@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201105222749.201798-1-alexander.deucher@amd.com
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 69 | 
1 files changed, 7 insertions, 62 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c index 8ea6fc745769..df94db199532 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c @@ -849,67 +849,6 @@ int amdgpu_mode_dumb_create(struct drm_file *file_priv,  }  #if defined(CONFIG_DEBUG_FS) - -#define amdgpu_debugfs_gem_bo_print_flag(m, bo, flag)	\ -	if (bo->flags & (AMDGPU_GEM_CREATE_ ## flag)) {	\ -		seq_printf((m), " " #flag);		\ -	} - -static int amdgpu_debugfs_gem_bo_info(int id, void *ptr, void *data) -{ -	struct drm_gem_object *gobj = ptr; -	struct amdgpu_bo *bo = gem_to_amdgpu_bo(gobj); -	struct seq_file *m = data; - -	struct dma_buf_attachment *attachment; -	struct dma_buf *dma_buf; -	unsigned domain; -	const char *placement; -	unsigned pin_count; - -	domain = amdgpu_mem_type_to_domain(bo->tbo.mem.mem_type); -	switch (domain) { -	case AMDGPU_GEM_DOMAIN_VRAM: -		placement = "VRAM"; -		break; -	case AMDGPU_GEM_DOMAIN_GTT: -		placement = " GTT"; -		break; -	case AMDGPU_GEM_DOMAIN_CPU: -	default: -		placement = " CPU"; -		break; -	} -	seq_printf(m, "\t0x%08x: %12ld byte %s", -		   id, amdgpu_bo_size(bo), placement); - -	pin_count = READ_ONCE(bo->tbo.pin_count); -	if (pin_count) -		seq_printf(m, " pin count %d", pin_count); - -	dma_buf = READ_ONCE(bo->tbo.base.dma_buf); -	attachment = READ_ONCE(bo->tbo.base.import_attach); - -	if (attachment) -		seq_printf(m, " imported from %p%s", dma_buf, -			   attachment->peer2peer ? " P2P" : ""); -	else if (dma_buf) -		seq_printf(m, " exported as %p", dma_buf); - -	amdgpu_debugfs_gem_bo_print_flag(m, bo, CPU_ACCESS_REQUIRED); -	amdgpu_debugfs_gem_bo_print_flag(m, bo, NO_CPU_ACCESS); -	amdgpu_debugfs_gem_bo_print_flag(m, bo, CPU_GTT_USWC); -	amdgpu_debugfs_gem_bo_print_flag(m, bo, VRAM_CLEARED); -	amdgpu_debugfs_gem_bo_print_flag(m, bo, SHADOW); -	amdgpu_debugfs_gem_bo_print_flag(m, bo, VRAM_CONTIGUOUS); -	amdgpu_debugfs_gem_bo_print_flag(m, bo, VM_ALWAYS_VALID); -	amdgpu_debugfs_gem_bo_print_flag(m, bo, EXPLICIT_SYNC); - -	seq_printf(m, "\n"); - -	return 0; -} -  static int amdgpu_debugfs_gem_info(struct seq_file *m, void *data)  {  	struct drm_info_node *node = (struct drm_info_node *)m->private; @@ -923,6 +862,8 @@ static int amdgpu_debugfs_gem_info(struct seq_file *m, void *data)  	list_for_each_entry(file, &dev->filelist, lhead) {  		struct task_struct *task; +		struct drm_gem_object *gobj; +		int id;  		/*  		 * Although we have a valid reference on file->pid, that does @@ -937,7 +878,11 @@ static int amdgpu_debugfs_gem_info(struct seq_file *m, void *data)  		rcu_read_unlock();  		spin_lock(&file->table_lock); -		idr_for_each(&file->object_idr, amdgpu_debugfs_gem_bo_info, m); +		idr_for_each_entry(&file->object_idr, gobj, id) { +			struct amdgpu_bo *bo = gem_to_amdgpu_bo(gobj); + +			amdgpu_bo_print_info(id, bo, m); +		}  		spin_unlock(&file->table_lock);  	} | 
