aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1834-drm-amd-amdgpu-Fold-TTM-debugfs-entries-into-array-v.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1834-drm-amd-amdgpu-Fold-TTM-debugfs-entries-into-array-v.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1834-drm-amd-amdgpu-Fold-TTM-debugfs-entries-into-array-v.patch130
1 files changed, 130 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1834-drm-amd-amdgpu-Fold-TTM-debugfs-entries-into-array-v.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1834-drm-amd-amdgpu-Fold-TTM-debugfs-entries-into-array-v.patch
new file mode 100644
index 00000000..d40f287c
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1834-drm-amd-amdgpu-Fold-TTM-debugfs-entries-into-array-v.patch
@@ -0,0 +1,130 @@
+From c655cd26f0f38e876e83c552d15510d6e4deaf19 Mon Sep 17 00:00:00 2001
+From: Tom St Denis <tom.stdenis@amd.com>
+Date: Mon, 18 Sep 2017 07:14:56 -0400
+Subject: [PATCH 1834/4131] drm/amd/amdgpu: Fold TTM debugfs entries into array
+ (v2)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
+Reviewed-by: Christian König <christian.koenig@amd.com>
+
+(v2): add domains and avoid strcmp
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 54 ++++++++++++++++++---------------
+ drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 4 +--
+ 2 files changed, 32 insertions(+), 26 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+index 88daa5a..8681ce6 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+@@ -2101,6 +2101,19 @@ static const struct file_operations amdgpu_ttm_gtt_fops = {
+
+ #endif
+
++
++
++static const struct {
++ char *name;
++ const struct file_operations *fops;
++ int domain;
++} ttm_debugfs_entries[] = {
++ { "amdgpu_vram", &amdgpu_ttm_vram_fops, TTM_PL_VRAM },
++#ifdef CONFIG_DRM_AMDGPU_GART_DEBUGFS
++ { "amdgpu_gtt", &amdgpu_ttm_gtt_fops, TTM_PL_TT },
++#endif
++};
++
+ #endif
+
+ static int amdgpu_ttm_debugfs_init(struct amdgpu_device *adev)
+@@ -2112,22 +2125,21 @@ static int amdgpu_ttm_debugfs_init(struct amdgpu_device *adev)
+ struct drm_minor *minor = adev->ddev->primary;
+ struct dentry *ent, *root = minor->debugfs_root;
+
+- ent = debugfs_create_file("amdgpu_vram", S_IFREG | S_IRUGO, root,
+- adev, &amdgpu_ttm_vram_fops);
+- if (IS_ERR(ent))
+- return PTR_ERR(ent);
+- i_size_write(ent->d_inode, adev->mc.mc_vram_size);
+- adev->mman.vram = ent;
+-
+-#ifdef CONFIG_DRM_AMDGPU_GART_DEBUGFS
+- ent = debugfs_create_file("amdgpu_gtt", S_IFREG | S_IRUGO, root,
+- adev, &amdgpu_ttm_gtt_fops);
+- if (IS_ERR(ent))
+- return PTR_ERR(ent);
+- i_size_write(ent->d_inode, adev->mc.gart_size);
+- adev->mman.gtt = ent;
++ for (count = 0; count < ARRAY_SIZE(ttm_debugfs_entries); count++) {
++ ent = debugfs_create_file(
++ ttm_debugfs_entries[count].name,
++ S_IFREG | S_IRUGO, root,
++ adev,
++ ttm_debugfs_entries[count].fops);
++ if (IS_ERR(ent))
++ return PTR_ERR(ent);
++ if (ttm_debugfs_entries[count].domain == TTM_PL_VRAM)
++ i_size_write(ent->d_inode, adev->mc.mc_vram_size);
++ else if (ttm_debugfs_entries[count].domain == TTM_PL_TT)
++ i_size_write(ent->d_inode, adev->mc.gart_size);
++ adev->mman.debugfs_entries[count] = ent;
++ }
+
+-#endif
+ count = ARRAY_SIZE(amdgpu_ttm_debugfs_list);
+
+ #ifdef CONFIG_SWIOTLB
+@@ -2145,7 +2157,6 @@ static int amdgpu_ttm_debugfs_init(struct amdgpu_device *adev)
+
+ return r;
+ #else
+-
+ return 0;
+ #endif
+ }
+@@ -2153,14 +2164,9 @@ static int amdgpu_ttm_debugfs_init(struct amdgpu_device *adev)
+ static void amdgpu_ttm_debugfs_fini(struct amdgpu_device *adev)
+ {
+ #if defined(CONFIG_DEBUG_FS)
++ unsigned i;
+
+- debugfs_remove(adev->mman.vram);
+- adev->mman.vram = NULL;
+-
+-#ifdef CONFIG_DRM_AMDGPU_GART_DEBUGFS
+- debugfs_remove(adev->mman.gtt);
+- adev->mman.gtt = NULL;
+-#endif
+-
++ for (i = 0; i < ARRAY_SIZE(ttm_debugfs_entries); i++)
++ debugfs_remove(adev->mman.debugfs_entries[i]);
+ #endif
+ }
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
+index d065700..e431cf7 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
+@@ -24,6 +24,7 @@
+ #ifndef __AMDGPU_TTM_H__
+ #define __AMDGPU_TTM_H__
+
++#include "amdgpu.h"
+ #include "gpu_scheduler.h"
+
+ #define AMDGPU_PL_GDS (TTM_PL_PRIV + 0)
+@@ -49,8 +50,7 @@ struct amdgpu_mman {
+ bool initialized;
+
+ #if defined(CONFIG_DEBUG_FS)
+- struct dentry *vram;
+- struct dentry *gtt;
++ struct dentry *debugfs_entries[8];
+ #endif
+
+ /* buffer handling */
+--
+2.7.4
+