diff options
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.patch | 130 |
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 + |