Re:RE: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit

2020-05-11 Thread Bernard


发件人:"Ruhl, Michael J" 
发送日期:2020-05-08 23:45:07
收件人:Bernard Zhao ,Alex Deucher 
,"Christian König" ,"David 
(ChunMing) Zhou" ,David Airlie ,Daniel 
Vetter ,Tom St Denis ,Sam Ravnborg 
,Ori Messinger 
,"amd-...@lists.freedesktop.org" 
,"dri-de...@lists.freedesktop.org" 
,"linux-kernel@vger.kernel.org" 

抄送人:"opensource.ker...@vivo.com" 
主题:RE: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit>>-Original 
Message-
>>From: dri-devel  On Behalf Of
>>Bernard Zhao
>>Sent: Thursday, May 7, 2020 5:13 AM
>>To: Alex Deucher ; Christian König
>>; David (ChunMing) Zhou
>>; David Airlie ; Daniel Vetter
>>; Tom St Denis ; Sam Ravnborg
>>; Ori Messinger ; Bernard
>>Zhao ; amd-...@lists.freedesktop.org; dri-
>>de...@lists.freedesktop.org; linux-kernel@vger.kernel.org
>>Cc: opensource.ker...@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 
>>
>>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[] = {
>>+ _attr_mem_info_vram_total.attr,
>>+ _attr_mem_info_vis_vram_total.attr,
>>+ _attr_mem_info_vram_used.attr,
>>+ _attr_mem_info_vis_vram_used.attr,
>>+ _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,
>>_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,
>>_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,
>>_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,
>>_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,
>>_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(>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 
>
>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

RE: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit

2020-05-08 Thread Ruhl, Michael J
>-Original Message-
>From: dri-devel  On Behalf Of
>Bernard Zhao
>Sent: Thursday, May 7, 2020 5:13 AM
>To: Alex Deucher ; Christian König
>; David (ChunMing) Zhou
>; David Airlie ; Daniel Vetter
>; Tom St Denis ; Sam Ravnborg
>; Ori Messinger ; Bernard
>Zhao ; amd-...@lists.freedesktop.org; dri-
>de...@lists.freedesktop.org; linux-kernel@vger.kernel.org
>Cc: opensource.ker...@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 
>
>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[] = {
>+  _attr_mem_info_vram_total.attr,
>+  _attr_mem_info_vis_vram_total.attr,
>+  _attr_mem_info_vram_used.attr,
>+  _attr_mem_info_vis_vram_used.attr,
>+  _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,
>_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,
>_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,
>_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,
>_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,
>_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(>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 

m

>
>   return 0;
> }
>@@ -219,11 +206,7 @@ static int amdgpu_vram_mgr_fini(struct
>ttm_mem_type_manager *man)
>   spin_unlock(>lock);
>   kfree(mgr);
>   man->priv = NULL;
>-  device_remove_file(adev->dev, _attr_mem_info_vram_total);
>-  device_remove_file(adev->dev,
>_attr_mem_info_vis_vram_total);
>-  device_remove_file(adev->dev, _attr_mem_info_vram_used);
>-  device_remove_file(adev->dev,
>_attr_mem_info_vis_vram_used);
>-  device_remove_file(adev->dev,
>_attr_mem_info_vram_vendor);
>+  sysfs_remove_files(>dev->kobj,
>amdgpu_vram_mgr_attributes);
>   return 0;
> }
>
>--
>2.26.2
>
>___
>dri-devel mailing list
>dri-de...@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit

2020-05-07 Thread Alex Deucher
On Thu, May 7, 2020 at 5:22 AM Christian König  wrote:
>
> Am 07.05.20 um 11:13 schrieb Bernard Zhao:
> > 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 
>
> Reviewed-by: Christian König 
>

Applied with a minor change to make the array const to fix the build.

Alex

> >
> > Changes since V1:
> > *Use DEVICE_ATTR mechanism
> >
> > Link for V1:
> > *https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Fpatchwork%2Fpatch%2F1228076%2Fdata=02%7C01%7Cchristian.koenig%40amd.com%7C073b9043be5346b3c90c08d7f266e6fb%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637244396096735223sdata=PjFsYvmw2pvVisZ6TzMqOyoSr0m3DsFN%2F0q%2B%2FfBxACg%3Dreserved=0
> > ---
> >   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[] = {
> > + _attr_mem_info_vram_total.attr,
> > + _attr_mem_info_vis_vram_total.attr,
> > + _attr_mem_info_vram_used.attr,
> > + _attr_mem_info_vis_vram_used.attr,
> > + _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, _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, 
> > _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, _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, _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, _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(>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(>lock);
> >   kfree(mgr);
> >   man->priv = NULL;
> > - device_remove_file(adev->dev, _attr_mem_info_vram_total);
> > - device_remove_file(adev->dev, _attr_mem_info_vis_vram_total);
> > - device_remove_file(adev->dev, _attr_mem_info_vram_used);
> > - device_remove_file(adev->dev, _attr_mem_info_vis_vram_used);
> > - device_remove_file(adev->dev, _attr_mem_info_vram_vendor);
> > + sysfs_remove_files(>dev->kobj, amdgpu_vram_mgr_attributes);
> >   return 0;
> >   }
> >
>
> ___
> amd-gfx mailing list
> amd-...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


Re: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit

2020-05-07 Thread Christian König

Am 07.05.20 um 11:13 schrieb Bernard Zhao:

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 


Reviewed-by: Christian König 



Changes since V1:
*Use DEVICE_ATTR mechanism

Link for V1:
*https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Fpatchwork%2Fpatch%2F1228076%2Fdata=02%7C01%7Cchristian.koenig%40amd.com%7C073b9043be5346b3c90c08d7f266e6fb%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637244396096735223sdata=PjFsYvmw2pvVisZ6TzMqOyoSr0m3DsFN%2F0q%2B%2FfBxACg%3Dreserved=0
---
  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[] = {

+   _attr_mem_info_vram_total.attr,
+   _attr_mem_info_vis_vram_total.attr,
+   _attr_mem_info_vram_used.attr,
+   _attr_mem_info_vis_vram_used.attr,
+   _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, _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, _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, _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, _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, _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(>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(>lock);
kfree(mgr);
man->priv = NULL;
-   device_remove_file(adev->dev, _attr_mem_info_vram_total);
-   device_remove_file(adev->dev, _attr_mem_info_vis_vram_total);
-   device_remove_file(adev->dev, _attr_mem_info_vram_used);
-   device_remove_file(adev->dev, _attr_mem_info_vis_vram_used);
-   device_remove_file(adev->dev, _attr_mem_info_vram_vendor);
+   sysfs_remove_files(>dev->kobj, amdgpu_vram_mgr_attributes);
return 0;
  }
  




[PATCH v2] drm/amd/amdgpu: cleanup coding style a bit

2020-05-07 Thread Bernard Zhao
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 

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[] = {
+   _attr_mem_info_vram_total.attr,
+   _attr_mem_info_vis_vram_total.attr,
+   _attr_mem_info_vram_used.attr,
+   _attr_mem_info_vis_vram_used.attr,
+   _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, _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, _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, _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, _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, _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(>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(>lock);
kfree(mgr);
man->priv = NULL;
-   device_remove_file(adev->dev, _attr_mem_info_vram_total);
-   device_remove_file(adev->dev, _attr_mem_info_vis_vram_total);
-   device_remove_file(adev->dev, _attr_mem_info_vram_used);
-   device_remove_file(adev->dev, _attr_mem_info_vis_vram_used);
-   device_remove_file(adev->dev, _attr_mem_info_vram_vendor);
+   sysfs_remove_files(>dev->kobj, amdgpu_vram_mgr_attributes);
return 0;
 }
 
-- 
2.26.2