dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers
@ 2022-04-12  3:35 Zack Rusin
  2022-04-12  3:35 ` [PATCH v2 1/5] drm/ttm: Add common debugfs code for resource managers Zack Rusin
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Zack Rusin @ 2022-04-12  3:35 UTC (permalink / raw)
  To: dri-devel
  Cc: David Airlie, krastevm, Huang Rui, Christian Koenig, mombasawalam

From: Zack Rusin <zackr@vmware.com>

v2: Switch to using ttm_resource_manager's directly in the debugfs
callbacks

This series introduces generic TTM resource manager debugfs helpers and
refactors TTM drivers which have been using hand rolled out versions
of those to use the new code.

Zack Rusin (5):
  drm/ttm: Add common debugfs code for resource managers
  drm/vmwgfx: Add debugfs entries for various ttm resource managers
  drm/amdgpu: Use TTM builtin resource manager debugfs code
  drm/qxl: Use TTM builtin resource manager debugfs code
  drm/radeon: Use TTM builtin resource manager debugfs code

 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 86 +++++--------------------
 drivers/gpu/drm/qxl/qxl_ttm.c           | 39 ++---------
 drivers/gpu/drm/radeon/radeon_ttm.c     | 36 ++---------
 drivers/gpu/drm/ttm/ttm_resource.c      | 34 ++++++++++
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c     | 18 ++++++
 include/drm/ttm/ttm_resource.h          |  4 ++
 6 files changed, 84 insertions(+), 133 deletions(-)

-- 
2.32.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v2 1/5] drm/ttm: Add common debugfs code for resource managers
  2022-04-12  3:35 [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers Zack Rusin
@ 2022-04-12  3:35 ` Zack Rusin
  2022-04-12  3:35 ` [PATCH v2 2/5] drm/vmwgfx: Add debugfs entries for various ttm " Zack Rusin
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Zack Rusin @ 2022-04-12  3:35 UTC (permalink / raw)
  To: dri-devel
  Cc: David Airlie, krastevm, Huang Rui, Christian Koenig, mombasawalam

From: Zack Rusin <zackr@vmware.com>

Drivers duplicate the code required to add debugfs entries for various
ttm resource managers. To fix it add common TTM resource manager debugfs
code that each driver can reuse.

Specific resource managers can overwrite
ttm_resource_manager_func::debug to get more information from those
debugfs entries.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Cc: Christian Koenig <christian.koenig@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
---
 drivers/gpu/drm/ttm/ttm_resource.c | 34 ++++++++++++++++++++++++++++++
 include/drm/ttm/ttm_resource.h     |  4 ++++
 2 files changed, 38 insertions(+)

diff --git a/drivers/gpu/drm/ttm/ttm_resource.c b/drivers/gpu/drm/ttm/ttm_resource.c
index 492ba3157e75..543db15bce5e 100644
--- a/drivers/gpu/drm/ttm/ttm_resource.c
+++ b/drivers/gpu/drm/ttm/ttm_resource.c
@@ -644,3 +644,37 @@ ttm_kmap_iter_linear_io_fini(struct ttm_kmap_iter_linear_io *iter_io,
 
 	ttm_mem_io_free(bdev, mem);
 }
+
+#if defined(CONFIG_DEBUG_FS)
+
+static int ttm_resource_manager_show(struct seq_file *m, void *unused)
+{
+	struct ttm_resource_manager *man =
+		(struct ttm_resource_manager *)m->private;
+	struct drm_printer p = drm_seq_file_printer(m);
+	ttm_resource_manager_debug(man, &p);
+	return 0;
+}
+DEFINE_SHOW_ATTRIBUTE(ttm_resource_manager);
+
+#endif
+
+/**
+ * ttm_resource_manager_create_debugfs - Create debugfs entry for specified
+ * resource manager.
+ * @man: The TTM resource manager for which the debugfs stats file be creates
+ * @parent: debugfs directory in which the file will reside
+ * @name: The filename to create.
+ *
+ * This function setups up a debugfs file that can be used to look
+ * at debug statistics of the specified ttm_resource_manager.
+ */
+void ttm_resource_manager_create_debugfs(struct ttm_resource_manager *man,
+					 struct dentry * parent,
+					 const char *name)
+{
+#if defined(CONFIG_DEBUG_FS)
+	debugfs_create_file(name, 0444, parent, man, &ttm_resource_manager_fops);
+#endif
+}
+EXPORT_SYMBOL(ttm_resource_manager_create_debugfs);
diff --git a/include/drm/ttm/ttm_resource.h b/include/drm/ttm/ttm_resource.h
index 4428a62e5f0e..c702e00fb16e 100644
--- a/include/drm/ttm/ttm_resource.h
+++ b/include/drm/ttm/ttm_resource.h
@@ -383,4 +383,8 @@ ttm_kmap_iter_linear_io_init(struct ttm_kmap_iter_linear_io *iter_io,
 void ttm_kmap_iter_linear_io_fini(struct ttm_kmap_iter_linear_io *iter_io,
 				  struct ttm_device *bdev,
 				  struct ttm_resource *mem);
+
+void ttm_resource_manager_create_debugfs(struct ttm_resource_manager *man,
+					 struct dentry * parent,
+					 const char *name);
 #endif
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 2/5] drm/vmwgfx: Add debugfs entries for various ttm resource managers
  2022-04-12  3:35 [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers Zack Rusin
  2022-04-12  3:35 ` [PATCH v2 1/5] drm/ttm: Add common debugfs code for resource managers Zack Rusin
@ 2022-04-12  3:35 ` Zack Rusin
  2022-04-12  3:35 ` [PATCH v2 3/5] drm/amdgpu: Use TTM builtin resource manager debugfs code Zack Rusin
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Zack Rusin @ 2022-04-12  3:35 UTC (permalink / raw)
  To: dri-devel
  Cc: David Airlie, krastevm, Huang Rui, Christian Koenig, mombasawalam

From: Zack Rusin <zackr@vmware.com>

Use the newly added TTM's ability to automatically create debugfs entries
for specified placements. This creates debugfs files that can be read to
get information about various TTM resource managers which are used by
vmwgfx.

Signed-off-by: Zack Rusin <zackr@vmware.com>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
index decd54b8333d..5c4d999f8cd3 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
@@ -1410,6 +1410,23 @@ static void vmw_remove(struct pci_dev *pdev)
 	vmw_driver_unload(dev);
 }
 
+static void vmw_debugfs_resource_managers_init(struct vmw_private *vmw)
+{
+	struct drm_minor *minor = vmw->drm.primary;
+	struct dentry *root = minor->debugfs_root;
+
+	ttm_resource_manager_create_debugfs(ttm_manager_type(&vmw->bdev, TTM_PL_SYSTEM),
+					    root, "system_ttm");
+	ttm_resource_manager_create_debugfs(ttm_manager_type(&vmw->bdev, TTM_PL_VRAM),
+					    root, "vram_ttm");
+	ttm_resource_manager_create_debugfs(ttm_manager_type(&vmw->bdev, VMW_PL_GMR),
+					    root, "gmr_ttm");
+	ttm_resource_manager_create_debugfs(ttm_manager_type(&vmw->bdev, VMW_PL_MOB),
+					    root, "mob_ttm");
+	ttm_resource_manager_create_debugfs(ttm_manager_type(&vmw->bdev, VMW_PL_SYSTEM),
+					    root, "system_mob_ttm");
+}
+
 static unsigned long
 vmw_get_unmapped_area(struct file *file, unsigned long uaddr,
 		      unsigned long len, unsigned long pgoff,
@@ -1657,6 +1674,7 @@ static int vmw_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 		goto out_unload;
 
 	vmw_debugfs_gem_init(vmw);
+	vmw_debugfs_resource_managers_init(vmw);
 
 	return 0;
 out_unload:
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 3/5] drm/amdgpu: Use TTM builtin resource manager debugfs code
  2022-04-12  3:35 [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers Zack Rusin
  2022-04-12  3:35 ` [PATCH v2 1/5] drm/ttm: Add common debugfs code for resource managers Zack Rusin
  2022-04-12  3:35 ` [PATCH v2 2/5] drm/vmwgfx: Add debugfs entries for various ttm " Zack Rusin
@ 2022-04-12  3:35 ` Zack Rusin
  2022-04-12  3:35 ` [PATCH v2 4/5] drm/qxl: " Zack Rusin
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Zack Rusin @ 2022-04-12  3:35 UTC (permalink / raw)
  To: dri-devel
  Cc: Thomas Zimmermann, David Airlie, Felix Kuehling, Pan, Xinhui,
	Nirmoy Das, amd-gfx, krastevm, Huang Rui, Alex Deucher,
	Christian Koenig, mombasawalam

From: Zack Rusin <zackr@vmware.com>

Switch to using the TTM resource manager debugfs helpers. It's
exactly the same functionality but the debugfs code is shared with
other drivers.

The TTM resource managers need to stay valid for as long as the
drm debugfs_root is valid.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: "Pan, Xinhui" <Xinhui.Pan@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Felix Kuehling <Felix.Kuehling@amd.com>
Cc: Nirmoy Das <nirmoy.das@amd.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: amd-gfx@lists.freedesktop.org
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 86 +++++--------------------
 1 file changed, 16 insertions(+), 70 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 57ac118fc266..37fe9fb3f8e5 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -2079,17 +2079,6 @@ int amdgpu_ttm_evict_resources(struct amdgpu_device *adev, int mem_type)
 
 #if defined(CONFIG_DEBUG_FS)
 
-static int amdgpu_mm_vram_table_show(struct seq_file *m, void *unused)
-{
-	struct amdgpu_device *adev = (struct amdgpu_device *)m->private;
-	struct ttm_resource_manager *man = ttm_manager_type(&adev->mman.bdev,
-							    TTM_PL_VRAM);
-	struct drm_printer p = drm_seq_file_printer(m);
-
-	ttm_resource_manager_debug(man, &p);
-	return 0;
-}
-
 static int amdgpu_ttm_page_pool_show(struct seq_file *m, void *unused)
 {
 	struct amdgpu_device *adev = (struct amdgpu_device *)m->private;
@@ -2097,55 +2086,6 @@ static int amdgpu_ttm_page_pool_show(struct seq_file *m, void *unused)
 	return ttm_pool_debugfs(&adev->mman.bdev.pool, m);
 }
 
-static int amdgpu_mm_tt_table_show(struct seq_file *m, void *unused)
-{
-	struct amdgpu_device *adev = (struct amdgpu_device *)m->private;
-	struct ttm_resource_manager *man = ttm_manager_type(&adev->mman.bdev,
-							    TTM_PL_TT);
-	struct drm_printer p = drm_seq_file_printer(m);
-
-	ttm_resource_manager_debug(man, &p);
-	return 0;
-}
-
-static int amdgpu_mm_gds_table_show(struct seq_file *m, void *unused)
-{
-	struct amdgpu_device *adev = (struct amdgpu_device *)m->private;
-	struct ttm_resource_manager *man = ttm_manager_type(&adev->mman.bdev,
-							    AMDGPU_PL_GDS);
-	struct drm_printer p = drm_seq_file_printer(m);
-
-	ttm_resource_manager_debug(man, &p);
-	return 0;
-}
-
-static int amdgpu_mm_gws_table_show(struct seq_file *m, void *unused)
-{
-	struct amdgpu_device *adev = (struct amdgpu_device *)m->private;
-	struct ttm_resource_manager *man = ttm_manager_type(&adev->mman.bdev,
-							    AMDGPU_PL_GWS);
-	struct drm_printer p = drm_seq_file_printer(m);
-
-	ttm_resource_manager_debug(man, &p);
-	return 0;
-}
-
-static int amdgpu_mm_oa_table_show(struct seq_file *m, void *unused)
-{
-	struct amdgpu_device *adev = (struct amdgpu_device *)m->private;
-	struct ttm_resource_manager *man = ttm_manager_type(&adev->mman.bdev,
-							    AMDGPU_PL_OA);
-	struct drm_printer p = drm_seq_file_printer(m);
-
-	ttm_resource_manager_debug(man, &p);
-	return 0;
-}
-
-DEFINE_SHOW_ATTRIBUTE(amdgpu_mm_vram_table);
-DEFINE_SHOW_ATTRIBUTE(amdgpu_mm_tt_table);
-DEFINE_SHOW_ATTRIBUTE(amdgpu_mm_gds_table);
-DEFINE_SHOW_ATTRIBUTE(amdgpu_mm_gws_table);
-DEFINE_SHOW_ATTRIBUTE(amdgpu_mm_oa_table);
 DEFINE_SHOW_ATTRIBUTE(amdgpu_ttm_page_pool);
 
 /*
@@ -2355,17 +2295,23 @@ void amdgpu_ttm_debugfs_init(struct amdgpu_device *adev)
 				 &amdgpu_ttm_vram_fops, adev->gmc.mc_vram_size);
 	debugfs_create_file("amdgpu_iomem", 0444, root, adev,
 			    &amdgpu_ttm_iomem_fops);
-	debugfs_create_file("amdgpu_vram_mm", 0444, root, adev,
-			    &amdgpu_mm_vram_table_fops);
-	debugfs_create_file("amdgpu_gtt_mm", 0444, root, adev,
-			    &amdgpu_mm_tt_table_fops);
-	debugfs_create_file("amdgpu_gds_mm", 0444, root, adev,
-			    &amdgpu_mm_gds_table_fops);
-	debugfs_create_file("amdgpu_gws_mm", 0444, root, adev,
-			    &amdgpu_mm_gws_table_fops);
-	debugfs_create_file("amdgpu_oa_mm", 0444, root, adev,
-			    &amdgpu_mm_oa_table_fops);
 	debugfs_create_file("ttm_page_pool", 0444, root, adev,
 			    &amdgpu_ttm_page_pool_fops);
+	ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev,
+							     TTM_PL_VRAM),
+					    root, "amdgpu_vram_mm");
+	ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev,
+							     TTM_PL_TT),
+					    root, "amdgpu_gtt_mm");
+	ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev,
+							     AMDGPU_PL_GDS),
+					    root, "amdgpu_gds_mm");
+	ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev,
+							     AMDGPU_PL_GWS),
+					    root, "amdgpu_gws_mm");
+	ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev,
+							     AMDGPU_PL_OA),
+					    root, "amdgpu_oa_mm");
+
 #endif
 }
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 4/5] drm/qxl: Use TTM builtin resource manager debugfs code
  2022-04-12  3:35 [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers Zack Rusin
                   ` (2 preceding siblings ...)
  2022-04-12  3:35 ` [PATCH v2 3/5] drm/amdgpu: Use TTM builtin resource manager debugfs code Zack Rusin
@ 2022-04-12  3:35 ` Zack Rusin
  2022-04-12  3:35 ` [PATCH v2 5/5] drm/radeon: " Zack Rusin
  2022-04-12  9:15 ` [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers Christian König
  5 siblings, 0 replies; 9+ messages in thread
From: Zack Rusin @ 2022-04-12  3:35 UTC (permalink / raw)
  To: dri-devel
  Cc: David Airlie, virtualization, krastevm, Huang Rui, spice-devel,
	Dave Airlie, Christian Koenig, mombasawalam, Gerd Hoffmann

From: Zack Rusin <zackr@vmware.com>

Switch to using the TTM resource manager debugfs helpers. The
functionality is largely the same.
The TTM resource managers need to stay valid for as long as the
drm debugfs_root is valid.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: virtualization@lists.linux-foundation.org
Cc: spice-devel@lists.freedesktop.org
---
 drivers/gpu/drm/qxl/qxl_ttm.c | 39 ++++++-----------------------------
 1 file changed, 6 insertions(+), 33 deletions(-)

diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
index 95df5750f47f..0dfdbfc8f6af 100644
--- a/drivers/gpu/drm/qxl/qxl_ttm.c
+++ b/drivers/gpu/drm/qxl/qxl_ttm.c
@@ -222,41 +222,14 @@ void qxl_ttm_fini(struct qxl_device *qdev)
 	DRM_INFO("qxl: ttm finalized\n");
 }
 
-#define QXL_DEBUGFS_MEM_TYPES 2
-
-#if defined(CONFIG_DEBUG_FS)
-static int qxl_mm_dump_table(struct seq_file *m, void *data)
-{
-	struct drm_info_node *node = (struct drm_info_node *)m->private;
-	struct ttm_resource_manager *man = (struct ttm_resource_manager *)node->info_ent->data;
-	struct drm_printer p = drm_seq_file_printer(m);
-
-	ttm_resource_manager_debug(man, &p);
-	return 0;
-}
-#endif
-
 void qxl_ttm_debugfs_init(struct qxl_device *qdev)
 {
 #if defined(CONFIG_DEBUG_FS)
-	static struct drm_info_list qxl_mem_types_list[QXL_DEBUGFS_MEM_TYPES];
-	static char qxl_mem_types_names[QXL_DEBUGFS_MEM_TYPES][32];
-	unsigned int i;
-
-	for (i = 0; i < QXL_DEBUGFS_MEM_TYPES; i++) {
-		if (i == 0)
-			sprintf(qxl_mem_types_names[i], "qxl_mem_mm");
-		else
-			sprintf(qxl_mem_types_names[i], "qxl_surf_mm");
-		qxl_mem_types_list[i].name = qxl_mem_types_names[i];
-		qxl_mem_types_list[i].show = &qxl_mm_dump_table;
-		qxl_mem_types_list[i].driver_features = 0;
-		if (i == 0)
-			qxl_mem_types_list[i].data = ttm_manager_type(&qdev->mman.bdev, TTM_PL_VRAM);
-		else
-			qxl_mem_types_list[i].data = ttm_manager_type(&qdev->mman.bdev, TTM_PL_PRIV);
-
-	}
-	qxl_debugfs_add_files(qdev, qxl_mem_types_list, i);
+	ttm_resource_manager_create_debugfs(ttm_manager_type(&qdev->mman.bdev,
+							     TTM_PL_VRAM),
+					    qdev->ddev.primary->debugfs_root, "qxl_mem_mm");
+	ttm_resource_manager_create_debugfs(ttm_manager_type(&qdev->mman.bdev,
+							     TTM_PL_PRIV),
+					    qdev->ddev.primary->debugfs_root, "qxl_surf_mm");
 #endif
 }
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 5/5] drm/radeon: Use TTM builtin resource manager debugfs code
  2022-04-12  3:35 [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers Zack Rusin
                   ` (3 preceding siblings ...)
  2022-04-12  3:35 ` [PATCH v2 4/5] drm/qxl: " Zack Rusin
@ 2022-04-12  3:35 ` Zack Rusin
  2022-04-12  9:15 ` [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers Christian König
  5 siblings, 0 replies; 9+ messages in thread
From: Zack Rusin @ 2022-04-12  3:35 UTC (permalink / raw)
  To: dri-devel
  Cc: David Airlie, Pan, Xinhui, amd-gfx, krastevm, Huang Rui,
	Alex Deucher, Christian Koenig, mombasawalam

From: Zack Rusin <zackr@vmware.com>

Switch to using the TTM resource manager debugfs helpers. The
functionality is largely the same.
The TTM resource managers need to stay valid for as long as the
drm debugfs_root is valid.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: "Pan, Xinhui" <Xinhui.Pan@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: amd-gfx@lists.freedesktop.org
---
 drivers/gpu/drm/radeon/radeon_ttm.c | 36 +++++------------------------
 1 file changed, 6 insertions(+), 30 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
index 44594d16611f..d33fec488713 100644
--- a/drivers/gpu/drm/radeon/radeon_ttm.c
+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
@@ -781,17 +781,6 @@ void radeon_ttm_set_active_vram_size(struct radeon_device *rdev, u64 size)
 
 #if defined(CONFIG_DEBUG_FS)
 
-static int radeon_mm_vram_dump_table_show(struct seq_file *m, void *unused)
-{
-	struct radeon_device *rdev = (struct radeon_device *)m->private;
-	struct ttm_resource_manager *man = ttm_manager_type(&rdev->mman.bdev,
-							    TTM_PL_VRAM);
-	struct drm_printer p = drm_seq_file_printer(m);
-
-	ttm_resource_manager_debug(man, &p);
-	return 0;
-}
-
 static int radeon_ttm_page_pool_show(struct seq_file *m, void *data)
 {
 	struct radeon_device *rdev = (struct radeon_device *)m->private;
@@ -799,19 +788,6 @@ static int radeon_ttm_page_pool_show(struct seq_file *m, void *data)
 	return ttm_pool_debugfs(&rdev->mman.bdev.pool, m);
 }
 
-static int radeon_mm_gtt_dump_table_show(struct seq_file *m, void *unused)
-{
-	struct radeon_device *rdev = (struct radeon_device *)m->private;
-	struct ttm_resource_manager *man = ttm_manager_type(&rdev->mman.bdev,
-							    TTM_PL_TT);
-	struct drm_printer p = drm_seq_file_printer(m);
-
-	ttm_resource_manager_debug(man, &p);
-	return 0;
-}
-
-DEFINE_SHOW_ATTRIBUTE(radeon_mm_vram_dump_table);
-DEFINE_SHOW_ATTRIBUTE(radeon_mm_gtt_dump_table);
 DEFINE_SHOW_ATTRIBUTE(radeon_ttm_page_pool);
 
 static int radeon_ttm_vram_open(struct inode *inode, struct file *filep)
@@ -930,15 +906,15 @@ static void radeon_ttm_debugfs_init(struct radeon_device *rdev)
 
 	debugfs_create_file("radeon_vram", 0444, root, rdev,
 			    &radeon_ttm_vram_fops);
-
 	debugfs_create_file("radeon_gtt", 0444, root, rdev,
 			    &radeon_ttm_gtt_fops);
-
-	debugfs_create_file("radeon_vram_mm", 0444, root, rdev,
-			    &radeon_mm_vram_dump_table_fops);
-	debugfs_create_file("radeon_gtt_mm", 0444, root, rdev,
-			    &radeon_mm_gtt_dump_table_fops);
 	debugfs_create_file("ttm_page_pool", 0444, root, rdev,
 			    &radeon_ttm_page_pool_fops);
+	ttm_resource_manager_create_debugfs(ttm_manager_type(&rdev->mman.bdev,
+							     TTM_PL_VRAM),
+					    root, "radeon_vram_mm");
+	ttm_resource_manager_create_debugfs(ttm_manager_type(&rdev->mman.bdev,
+							     TTM_PL_TT),
+					    root, "radeon_gtt_mm");
 #endif
 }
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers
  2022-04-12  3:35 [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers Zack Rusin
                   ` (4 preceding siblings ...)
  2022-04-12  3:35 ` [PATCH v2 5/5] drm/radeon: " Zack Rusin
@ 2022-04-12  9:15 ` Christian König
  2022-04-18 20:09   ` Zack Rusin
  5 siblings, 1 reply; 9+ messages in thread
From: Christian König @ 2022-04-12  9:15 UTC (permalink / raw)
  To: Zack Rusin, dri-devel; +Cc: David Airlie, krastevm, Huang Rui, mombasawalam

Hi Zack,

Reviewed-by: Christian König <christian.koenig@amd.com> for the entire 
series.

One nit pick is that I want to get rid of using ttm_manager_type() in 
drivers and use pointers to the members directly. But that's something 
for a later cleanup anyway.

Thanks,
Christian.

Am 12.04.22 um 05:35 schrieb Zack Rusin:
> From: Zack Rusin <zackr@vmware.com>
>
> v2: Switch to using ttm_resource_manager's directly in the debugfs
> callbacks
>
> This series introduces generic TTM resource manager debugfs helpers and
> refactors TTM drivers which have been using hand rolled out versions
> of those to use the new code.
>
> Zack Rusin (5):
>    drm/ttm: Add common debugfs code for resource managers
>    drm/vmwgfx: Add debugfs entries for various ttm resource managers
>    drm/amdgpu: Use TTM builtin resource manager debugfs code
>    drm/qxl: Use TTM builtin resource manager debugfs code
>    drm/radeon: Use TTM builtin resource manager debugfs code
>
>   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 86 +++++--------------------
>   drivers/gpu/drm/qxl/qxl_ttm.c           | 39 ++---------
>   drivers/gpu/drm/radeon/radeon_ttm.c     | 36 ++---------
>   drivers/gpu/drm/ttm/ttm_resource.c      | 34 ++++++++++
>   drivers/gpu/drm/vmwgfx/vmwgfx_drv.c     | 18 ++++++
>   include/drm/ttm/ttm_resource.h          |  4 ++
>   6 files changed, 84 insertions(+), 133 deletions(-)
>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers
  2022-04-12  9:15 ` [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers Christian König
@ 2022-04-18 20:09   ` Zack Rusin
  2022-04-19  6:16     ` Christian König
  0 siblings, 1 reply; 9+ messages in thread
From: Zack Rusin @ 2022-04-18 20:09 UTC (permalink / raw)
  To: dri-devel, christian.koenig
  Cc: airlied, Martin Krastev, ray.huang, Maaz Mombasawala

On Tue, 2022-04-12 at 11:15 +0200, Christian König wrote:
> 
> Hi Zack,
> 
> Reviewed-by: Christian König <christian.koenig@amd.com> for the
> entire
> series.
> 
> One nit pick is that I want to get rid of using ttm_manager_type() in
> drivers and use pointers to the members directly. But that's
> something
> for a later cleanup anyway.

That sounds good to me. Let me know if you'd like me to hold off on
pushing this until the ttm_manager_type changes are ready, otherwise
I'll push it to drm-misc-next tomorrow.

z


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers
  2022-04-18 20:09   ` Zack Rusin
@ 2022-04-19  6:16     ` Christian König
  0 siblings, 0 replies; 9+ messages in thread
From: Christian König @ 2022-04-19  6:16 UTC (permalink / raw)
  To: Zack Rusin, dri-devel
  Cc: airlied, Martin Krastev, ray.huang, Maaz Mombasawala

Am 18.04.22 um 22:09 schrieb Zack Rusin:
> On Tue, 2022-04-12 at 11:15 +0200, Christian König wrote:
>> Hi Zack,
>>
>> Reviewed-by: Christian König <christian.koenig@amd.com> for the
>> entire
>> series.
>>
>> One nit pick is that I want to get rid of using ttm_manager_type() in
>> drivers and use pointers to the members directly. But that's
>> something
>> for a later cleanup anyway.
> That sounds good to me. Let me know if you'd like me to hold off on
> pushing this until the ttm_manager_type changes are ready, otherwise
> I'll push it to drm-misc-next tomorrow.

Please go ahead with pushing. That's cleanup work which I will throw in 
when I have time (which rarely happens these days).

Christian.

>
> z
>


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-04-19  6:16 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-12  3:35 [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers Zack Rusin
2022-04-12  3:35 ` [PATCH v2 1/5] drm/ttm: Add common debugfs code for resource managers Zack Rusin
2022-04-12  3:35 ` [PATCH v2 2/5] drm/vmwgfx: Add debugfs entries for various ttm " Zack Rusin
2022-04-12  3:35 ` [PATCH v2 3/5] drm/amdgpu: Use TTM builtin resource manager debugfs code Zack Rusin
2022-04-12  3:35 ` [PATCH v2 4/5] drm/qxl: " Zack Rusin
2022-04-12  3:35 ` [PATCH v2 5/5] drm/radeon: " Zack Rusin
2022-04-12  9:15 ` [PATCH v2 0/5] drm/ttm: Introduce TTM res manager debugfs helpers Christian König
2022-04-18 20:09   ` Zack Rusin
2022-04-19  6:16     ` Christian König

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).