linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit
@ 2020-05-07  9:13 Bernard Zhao
  2020-05-07  9:22 ` Christian König
  2020-05-08 15:45 ` Ruhl, Michael J
  0 siblings, 2 replies; 5+ messages in thread
From: Bernard Zhao @ 2020-05-07  9:13 UTC (permalink / raw)
  To: Alex Deucher, Christian König, David (ChunMing) Zhou,
	David Airlie, Daniel Vetter, Tom St Denis, Sam Ravnborg,
	Ori Messinger, Bernard Zhao, amd-gfx, dri-devel, linux-kernel
  Cc: opensource.kernel

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");
 
 	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


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit
  2020-05-07  9:13 [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit Bernard Zhao
@ 2020-05-07  9:22 ` Christian König
  2020-05-07 19:30   ` Alex Deucher
  2020-05-08 15:45 ` Ruhl, Michael J
  1 sibling, 1 reply; 5+ messages in thread
From: Christian König @ 2020-05-07  9:22 UTC (permalink / raw)
  To: Bernard Zhao, Alex Deucher, David (ChunMing) Zhou, David Airlie,
	Daniel Vetter, Tom St Denis, Sam Ravnborg, Ori Messinger,
	amd-gfx, dri-devel, linux-kernel
  Cc: opensource.kernel

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 <bernard@vivo.com>

Reviewed-by: Christian König <christian.koenig@amd.com>

>
> 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%2F&amp;data=02%7C01%7Cchristian.koenig%40amd.com%7C073b9043be5346b3c90c08d7f266e6fb%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637244396096735223&amp;sdata=PjFsYvmw2pvVisZ6TzMqOyoSr0m3DsFN%2F0q%2B%2FfBxACg%3D&amp;reserved=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[] = {
> +	&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;
>   }
>   


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit
  2020-05-07  9:22 ` Christian König
@ 2020-05-07 19:30   ` Alex Deucher
  0 siblings, 0 replies; 5+ messages in thread
From: Alex Deucher @ 2020-05-07 19:30 UTC (permalink / raw)
  To: Christian König
  Cc: Bernard Zhao, Alex Deucher, David (ChunMing) Zhou, David Airlie,
	Daniel Vetter, Tom St Denis, Sam Ravnborg, Ori Messinger,
	amd-gfx list, Maling list - DRI developers, LKML,
	opensource.kernel

On Thu, May 7, 2020 at 5:22 AM Christian König <christian.koenig@amd.com> 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 <bernard@vivo.com>
>
> Reviewed-by: Christian König <christian.koenig@amd.com>
>

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%2F&amp;data=02%7C01%7Cchristian.koenig%40amd.com%7C073b9043be5346b3c90c08d7f266e6fb%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637244396096735223&amp;sdata=PjFsYvmw2pvVisZ6TzMqOyoSr0m3DsFN%2F0q%2B%2FfBxACg%3D&amp;reserved=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[] = {
> > +     &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;
> >   }
> >
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit
  2020-05-07  9:13 [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit Bernard Zhao
  2020-05-07  9:22 ` Christian König
@ 2020-05-08 15:45 ` Ruhl, Michael J
  2020-05-11 13:26   ` Bernard
  1 sibling, 1 reply; 5+ messages in thread
From: Ruhl, Michael J @ 2020-05-08 15:45 UTC (permalink / raw)
  To: Bernard Zhao, Alex Deucher, Christian König,
	David (ChunMing) Zhou, David Airlie, Daniel Vetter, Tom St Denis,
	Sam Ravnborg, Ori Messinger, amd-gfx, dri-devel, linux-kernel
  Cc: opensource.kernel

>-----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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re:RE: [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit
  2020-05-08 15:45 ` Ruhl, Michael J
@ 2020-05-11 13:26   ` Bernard
  0 siblings, 0 replies; 5+ messages in thread
From: Bernard @ 2020-05-11 13:26 UTC (permalink / raw)
  To: Ruhl, Michael J
  Cc: Alex Deucher, Christian König, David (ChunMing) Zhou,
	David Airlie, Daniel Vetter, Tom St Denis, Sam Ravnborg,
	Ori Messinger, amd-gfx, dri-devel, linux-kernel,
	opensource.kernel



发件人:"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



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-05-11 13:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-07  9:13 [PATCH v2] drm/amd/amdgpu: cleanup coding style a bit Bernard Zhao
2020-05-07  9:22 ` Christian König
2020-05-07 19:30   ` Alex Deucher
2020-05-08 15:45 ` Ruhl, Michael J
2020-05-11 13:26   ` Bernard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).