Re:RE: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit
From: Bernard
Date: Mon May 11 2020 - 09:36:17 EST
åääï"Ruhl, Michael J" <michael.j.ruhl@xxxxxxxxx>
åéææï2020-05-08 23:45:07
æääïBernard Zhao <bernard@xxxxxxxx>,Alex Deucher <alexander.deucher@xxxxxxx>,"Christian KÃnig" <christian.koenig@xxxxxxx>,"David (ChunMing) Zhou" <David1.Zhou@xxxxxxx>,David Airlie <airlied@xxxxxxxx>,Daniel Vetter <daniel@xxxxxxxx>,Tom St Denis <tom.stdenis@xxxxxxx>,Sam Ravnborg <sam@xxxxxxxxxxxx>,Ori Messinger <Ori.Messinger@xxxxxxx>,"amd-gfx@xxxxxxxxxxxxxxxxxxxxx" <amd-gfx@xxxxxxxxxxxxxxxxxxxxx>,"dri-devel@xxxxxxxxxxxxxxxxxxxxx" <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>
æéäï"opensource.kernel@xxxxxxxx" <opensource.kernel@xxxxxxxx>
äéïRE: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit>>-----Original Message-----
>>From: dri-devel <dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of
>>Bernard Zhao
>>Sent: Thursday, May 7, 2020 5:13 AM
>>To: Alex Deucher <alexander.deucher@xxxxxxx>; Christian KÃnig
>><christian.koenig@xxxxxxx>; David (ChunMing) Zhou
>><David1.Zhou@xxxxxxx>; David Airlie <airlied@xxxxxxxx>; Daniel Vetter
>><daniel@xxxxxxxx>; Tom St Denis <tom.stdenis@xxxxxxx>; Sam Ravnborg
>><sam@xxxxxxxxxxxx>; Ori Messinger <Ori.Messinger@xxxxxxx>; Bernard
>>Zhao <bernard@xxxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx; dri-
>>devel@xxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
>>Cc: opensource.kernel@xxxxxxxx
>>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@xxxxxxxx>
>>
>>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@xxxxxxxxx>
>
>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@xxxxxxxxxxxxxxxxxxxxx
>>https://lists.freedesktop.org/mailman/listinfo/dri-devel