Message ID | 20200507091311.10898-1-bernard@vivo.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] drm/amd/amdgpu: cleanup coding style a bit | expand |
>-----Original Message----- >From: dri-devel <dri-devel-bounces@lists.freedesktop.org> On Behalf Of >Bernard Zhao >Sent: Thursday, May 7, 2020 5:13 AM >To: Alex Deucher <alexander.deucher@amd.com>; Christian König ><christian.koenig@amd.com>; David (ChunMing) Zhou ><David1.Zhou@amd.com>; David Airlie <airlied@linux.ie>; Daniel Vetter ><daniel@ffwll.ch>; Tom St Denis <tom.stdenis@amd.com>; Sam Ravnborg ><sam@ravnborg.org>; Ori Messinger <Ori.Messinger@amd.com>; Bernard >Zhao <bernard@vivo.com>; amd-gfx@lists.freedesktop.org; dri- >devel@lists.freedesktop.org; linux-kernel@vger.kernel.org >Cc: opensource.kernel@vivo.com >Subject: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit > >There is DEVICE_ATTR mechanism in separate attribute define. >So this change is to use attr array, also use >sysfs_create_files in init function & sysfs_remove_files in >fini function. >This maybe make the code a bit readable. > >Signed-off-by: Bernard Zhao <bernard@vivo.com> > >Changes since V1: >*Use DEVICE_ATTR mechanism > >Link for V1: >*https://lore.kernel.org/patchwork/patch/1228076/ >--- > drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | 43 ++++++------------- >- > 1 file changed, 13 insertions(+), 30 deletions(-) > >diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c >b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c >index 82a3299e53c0..57bbc70662ff 100644 >--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c >+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c >@@ -148,6 +148,15 @@ static DEVICE_ATTR(mem_info_vis_vram_used, >S_IRUGO, > static DEVICE_ATTR(mem_info_vram_vendor, S_IRUGO, > amdgpu_mem_info_vram_vendor, NULL); > >+static struct attribute *amdgpu_vram_mgr_attributes[] = { >+ &dev_attr_mem_info_vram_total.attr, >+ &dev_attr_mem_info_vis_vram_total.attr, >+ &dev_attr_mem_info_vram_used.attr, >+ &dev_attr_mem_info_vis_vram_used.attr, >+ &dev_attr_mem_info_vram_vendor.attr, >+ NULL >+}; >+ > /** > * amdgpu_vram_mgr_init - init VRAM manager and DRM MM > * >@@ -172,31 +181,9 @@ static int amdgpu_vram_mgr_init(struct >ttm_mem_type_manager *man, > man->priv = mgr; > > /* Add the two VRAM-related sysfs files */ >- ret = device_create_file(adev->dev, >&dev_attr_mem_info_vram_total); >- if (ret) { >- DRM_ERROR("Failed to create device file >mem_info_vram_total\n"); >- return ret; >- } >- ret = device_create_file(adev->dev, >&dev_attr_mem_info_vis_vram_total); >- if (ret) { >- DRM_ERROR("Failed to create device file >mem_info_vis_vram_total\n"); >- return ret; >- } >- ret = device_create_file(adev->dev, >&dev_attr_mem_info_vram_used); >- if (ret) { >- DRM_ERROR("Failed to create device file >mem_info_vram_used\n"); >- return ret; >- } >- ret = device_create_file(adev->dev, >&dev_attr_mem_info_vis_vram_used); >- if (ret) { >- DRM_ERROR("Failed to create device file >mem_info_vis_vram_used\n"); >- return ret; >- } >- ret = device_create_file(adev->dev, >&dev_attr_mem_info_vram_vendor); >- if (ret) { >- DRM_ERROR("Failed to create device file >mem_info_vram_vendor\n"); >- return ret; >- } >+ ret = sysfs_create_files(&adev->dev->kobj, >amdgpu_vram_mgr_attributes); >+ if (ret) >+ DRM_ERROR("Failed to register sysfs\n"); This looks good to me. I think that there is a new error macro (drm_err?) that you might want to use instead of DRM_ERROR(). Otherwise: Acked-by: Michael J. Ruhl <michael.j.ruhl@intel.com> m > > return 0; > } >@@ -219,11 +206,7 @@ static int amdgpu_vram_mgr_fini(struct >ttm_mem_type_manager *man) > spin_unlock(&mgr->lock); > kfree(mgr); > man->priv = NULL; >- device_remove_file(adev->dev, &dev_attr_mem_info_vram_total); >- device_remove_file(adev->dev, >&dev_attr_mem_info_vis_vram_total); >- device_remove_file(adev->dev, &dev_attr_mem_info_vram_used); >- device_remove_file(adev->dev, >&dev_attr_mem_info_vis_vram_used); >- device_remove_file(adev->dev, >&dev_attr_mem_info_vram_vendor); >+ sysfs_remove_files(&adev->dev->kobj, >amdgpu_vram_mgr_attributes); > return 0; > } > >-- >2.26.2 > >_______________________________________________ >dri-devel mailing list >dri-devel@lists.freedesktop.org >https://lists.freedesktop.org/mailman/listinfo/dri-devel
发件人:"Ruhl, Michael J" <michael.j.ruhl@intel.com> 发送日期:2020-05-08 23:45:07 收件人:Bernard Zhao <bernard@vivo.com>,Alex Deucher <alexander.deucher@amd.com>,"Christian König" <christian.koenig@amd.com>,"David (ChunMing) Zhou" <David1.Zhou@amd.com>,David Airlie <airlied@linux.ie>,Daniel Vetter <daniel@ffwll.ch>,Tom St Denis <tom.stdenis@amd.com>,Sam Ravnborg <sam@ravnborg.org>,Ori Messinger <Ori.Messinger@amd.com>,"amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>,"dri-devel@lists.freedesktop.org" <dri-devel@lists.freedesktop.org>,"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org> 抄送人:"opensource.kernel@vivo.com" <opensource.kernel@vivo.com> 主题:RE: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit>>-----Original Message----- >>From: dri-devel <dri-devel-bounces@lists.freedesktop.org> On Behalf Of >>Bernard Zhao >>Sent: Thursday, May 7, 2020 5:13 AM >>To: Alex Deucher <alexander.deucher@amd.com>; Christian König >><christian.koenig@amd.com>; David (ChunMing) Zhou >><David1.Zhou@amd.com>; David Airlie <airlied@linux.ie>; Daniel Vetter >><daniel@ffwll.ch>; Tom St Denis <tom.stdenis@amd.com>; Sam Ravnborg >><sam@ravnborg.org>; Ori Messinger <Ori.Messinger@amd.com>; Bernard >>Zhao <bernard@vivo.com>; amd-gfx@lists.freedesktop.org; dri- >>devel@lists.freedesktop.org; linux-kernel@vger.kernel.org >>Cc: opensource.kernel@vivo.com >>Subject: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit >> >>There is DEVICE_ATTR mechanism in separate attribute define. >>So this change is to use attr array, also use >>sysfs_create_files in init function & sysfs_remove_files in >>fini function. >>This maybe make the code a bit readable. >> >>Signed-off-by: Bernard Zhao <bernard@vivo.com> >> >>Changes since V1: >>*Use DEVICE_ATTR mechanism >> >>Link for V1: >>*https://lore.kernel.org/patchwork/patch/1228076/ >>--- >> drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | 43 ++++++------------- >>- >> 1 file changed, 13 insertions(+), 30 deletions(-) >> >>diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c >>b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c >>index 82a3299e53c0..57bbc70662ff 100644 >>--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c >>+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c >>@@ -148,6 +148,15 @@ static DEVICE_ATTR(mem_info_vis_vram_used, >>S_IRUGO, >> static DEVICE_ATTR(mem_info_vram_vendor, S_IRUGO, >> amdgpu_mem_info_vram_vendor, NULL); >> >>+static struct attribute *amdgpu_vram_mgr_attributes[] = { >>+ &dev_attr_mem_info_vram_total.attr, >>+ &dev_attr_mem_info_vis_vram_total.attr, >>+ &dev_attr_mem_info_vram_used.attr, >>+ &dev_attr_mem_info_vis_vram_used.attr, >>+ &dev_attr_mem_info_vram_vendor.attr, >>+ NULL >>+}; >>+ >> /** >> * amdgpu_vram_mgr_init - init VRAM manager and DRM MM >> * >>@@ -172,31 +181,9 @@ static int amdgpu_vram_mgr_init(struct >>ttm_mem_type_manager *man, >> man->priv = mgr; >> >> /* Add the two VRAM-related sysfs files */ >>- ret = device_create_file(adev->dev, >>&dev_attr_mem_info_vram_total); >>- if (ret) { >>- DRM_ERROR("Failed to create device file >>mem_info_vram_total\n"); >>- return ret; >>- } >>- ret = device_create_file(adev->dev, >>&dev_attr_mem_info_vis_vram_total); >>- if (ret) { >>- DRM_ERROR("Failed to create device file >>mem_info_vis_vram_total\n"); >>- return ret; >>- } >>- ret = device_create_file(adev->dev, >>&dev_attr_mem_info_vram_used); >>- if (ret) { >>- DRM_ERROR("Failed to create device file >>mem_info_vram_used\n"); >>- return ret; >>- } >>- ret = device_create_file(adev->dev, >>&dev_attr_mem_info_vis_vram_used); >>- if (ret) { >>- DRM_ERROR("Failed to create device file >>mem_info_vis_vram_used\n"); >>- return ret; >>- } >>- ret = device_create_file(adev->dev, >>&dev_attr_mem_info_vram_vendor); >>- if (ret) { >>- DRM_ERROR("Failed to create device file >>mem_info_vram_vendor\n"); >>- return ret; >>- } >>+ ret = sysfs_create_files(&adev->dev->kobj, >>amdgpu_vram_mgr_attributes); >>+ if (ret) >>+ DRM_ERROR("Failed to register sysfs\n"); > >This looks good to me. > >I think that there is a new error macro (drm_err?) that you might >want to use instead of DRM_ERROR(). > >Otherwise: > >Acked-by: Michael J. Ruhl <michael.j.ruhl@intel.com> > >m Hi Sure, I am willing to make this modification, also in GPU TODO list, there is one content: "Convert logging to drm_* functions with drm_device paramater,For drivers which could have multiple instances, it is necessary to differentiate between which is which in the logs. Since DRM_INFO/WARN/ERROR don’t do this, drivers used dev_info/warn/err to make this differentiation. We now have drm_* variants of the drm print functions, so we can start to convert those drivers back to using drm-formatted specific log messages." From https://www.kernel.org/doc/html/v5.7-rc5/gpu/todo.html#subsystem-wide-refactorings. But i have to say that now in the DRM/AMD modules, all are used DRM_INFO/WARNING/ERROR I'm not sure weather maintainers want to replace these. Regards, Bernard >> >> return 0; >> } >>@@ -219,11 +206,7 @@ static int amdgpu_vram_mgr_fini(struct >>ttm_mem_type_manager *man) >> spin_unlock(&mgr->lock); >> kfree(mgr); >> man->priv = NULL; >>- device_remove_file(adev->dev, &dev_attr_mem_info_vram_total); >>- device_remove_file(adev->dev, >>&dev_attr_mem_info_vis_vram_total); >>- device_remove_file(adev->dev, &dev_attr_mem_info_vram_used); >>- device_remove_file(adev->dev, >>&dev_attr_mem_info_vis_vram_used); >>- device_remove_file(adev->dev, >>&dev_attr_mem_info_vram_vendor); >>+ sysfs_remove_files(&adev->dev->kobj, >>amdgpu_vram_mgr_attributes); >> return 0; >> } >> >>-- >>2.26.2 >> >>_______________________________________________ >>dri-devel mailing list >>dri-devel@lists.freedesktop.org >>https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c index 82a3299e53c0..57bbc70662ff 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c @@ -148,6 +148,15 @@ static DEVICE_ATTR(mem_info_vis_vram_used, S_IRUGO, static DEVICE_ATTR(mem_info_vram_vendor, S_IRUGO, amdgpu_mem_info_vram_vendor, NULL); +static struct attribute *amdgpu_vram_mgr_attributes[] = { + &dev_attr_mem_info_vram_total.attr, + &dev_attr_mem_info_vis_vram_total.attr, + &dev_attr_mem_info_vram_used.attr, + &dev_attr_mem_info_vis_vram_used.attr, + &dev_attr_mem_info_vram_vendor.attr, + NULL +}; + /** * amdgpu_vram_mgr_init - init VRAM manager and DRM MM * @@ -172,31 +181,9 @@ static int amdgpu_vram_mgr_init(struct ttm_mem_type_manager *man, man->priv = mgr; /* Add the two VRAM-related sysfs files */ - ret = device_create_file(adev->dev, &dev_attr_mem_info_vram_total); - if (ret) { - DRM_ERROR("Failed to create device file mem_info_vram_total\n"); - return ret; - } - ret = device_create_file(adev->dev, &dev_attr_mem_info_vis_vram_total); - if (ret) { - DRM_ERROR("Failed to create device file mem_info_vis_vram_total\n"); - return ret; - } - ret = device_create_file(adev->dev, &dev_attr_mem_info_vram_used); - if (ret) { - DRM_ERROR("Failed to create device file mem_info_vram_used\n"); - return ret; - } - ret = device_create_file(adev->dev, &dev_attr_mem_info_vis_vram_used); - if (ret) { - DRM_ERROR("Failed to create device file mem_info_vis_vram_used\n"); - return ret; - } - ret = device_create_file(adev->dev, &dev_attr_mem_info_vram_vendor); - if (ret) { - DRM_ERROR("Failed to create device file mem_info_vram_vendor\n"); - return ret; - } + ret = sysfs_create_files(&adev->dev->kobj, amdgpu_vram_mgr_attributes); + if (ret) + DRM_ERROR("Failed to register sysfs\n"); return 0; } @@ -219,11 +206,7 @@ static int amdgpu_vram_mgr_fini(struct ttm_mem_type_manager *man) spin_unlock(&mgr->lock); kfree(mgr); man->priv = NULL; - device_remove_file(adev->dev, &dev_attr_mem_info_vram_total); - device_remove_file(adev->dev, &dev_attr_mem_info_vis_vram_total); - device_remove_file(adev->dev, &dev_attr_mem_info_vram_used); - device_remove_file(adev->dev, &dev_attr_mem_info_vis_vram_used); - device_remove_file(adev->dev, &dev_attr_mem_info_vram_vendor); + sysfs_remove_files(&adev->dev->kobj, amdgpu_vram_mgr_attributes); return 0; }
There is DEVICE_ATTR mechanism in separate attribute define. So this change is to use attr array, also use sysfs_create_files in init function & sysfs_remove_files in fini function. This maybe make the code a bit readable. Signed-off-by: Bernard Zhao <bernard@vivo.com> Changes since V1: *Use DEVICE_ATTR mechanism Link for V1: *https://lore.kernel.org/patchwork/patch/1228076/ --- drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | 43 ++++++-------------- 1 file changed, 13 insertions(+), 30 deletions(-)