Am 18.09.2017 um 15:01 schrieb Tom St Denis:
On 18/09/17 08:48 AM, Christian König wrote:
Am 18.09.2017 um 14:35 schrieb Tom St Denis:
Signed-off-by: Tom St Denis tom.stdenis@amd.com
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 53 ++++++++++++++++++--------------- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 4 +-- 2 files changed, 31 insertions(+), 26 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index 8ee16dfdb8af..7848ffa99eb4 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c @@ -1809,6 +1809,18 @@ static const struct file_operations amdgpu_ttm_gtt_fops = { #endif
+static const struct {
- char *name;
- const struct file_operations *fops;
+} ttm_debugfs_entries[] = {
- { "amdgpu_vram", &amdgpu_ttm_vram_fops },
+#ifdef CONFIG_DRM_AMDGPU_GART_DEBUGFS
- { "amdgpu_gtt", &amdgpu_ttm_gtt_fops },
+#endif +};
- #endif static int amdgpu_ttm_debugfs_init(struct amdgpu_device *adev)
@@ -1819,22 +1831,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 (!strcmp(ttm_debugfs_entries[count].name, "amdgpu_vram"))
i_size_write(ent->d_inode, adev->mc.mc_vram_size);
else if (!strcmp(ttm_debugfs_entries[count].name,
"amdgpu_gtt"))
i_size_write(ent->d_inode, adev->mc.gart_size);
Uff, string compare? That is screaming break me by typo.
Maybe but the domain type into the struct as well?
Apart from that looks good to me,
Sure, a quick grep didn't turn up any defines/enums for VRAM vs GTT though so just make some up?
Just use TTM_PL_VRAM and TTM_PL_TT for this.
Christian.
Tom