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 at 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? Tom