Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1308471 > unrolled thread

[PATCH 1/5] drm/i915: use hlist_for_each_entry

Started byGeliang Tang <geliangtang@163.com>
First post2016-01-13 15:50 +0100
Last post2016-01-13 16:20 +0100
Articles 8 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 1/5] drm/i915: use hlist_for_each_entry Geliang Tang <geliangtang@163.com> - 2016-01-13 15:50 +0100
    [PATCH 3/5] drm/sysfs: use kobj_to_dev() Geliang Tang <geliangtang@163.com> - 2016-01-13 15:50 +0100
      Re: [PATCH 3/5] drm/sysfs: use kobj_to_dev() Daniel Vetter <daniel@ffwll.ch> - 2016-01-13 16:50 +0100
    [PATCH 5/5] drm/radeon: use kobj_to_dev() Geliang Tang <geliangtang@163.com> - 2016-01-13 16:00 +0100
      Re: [PATCH 5/5] drm/radeon: use kobj_to_dev() Alex Deucher <alexdeucher@gmail.com> - 2016-01-13 18:20 +0100
    [PATCH 2/5] drm/i915: use kobj_to_dev() Geliang Tang <geliangtang@163.com> - 2016-01-13 16:00 +0100
      Re: [Intel-gfx] [PATCH 2/5] drm/i915: use kobj_to_dev() Daniel Vetter <daniel@ffwll.ch> - 2016-01-13 16:50 +0100
    Re: [Intel-gfx] [PATCH 1/5] drm/i915: use hlist_for_each_entry Chris Wilson <chris@chris-wilson.co.uk> - 2016-01-13 16:20 +0100

#1308471 — [PATCH 1/5] drm/i915: use hlist_for_each_entry

FromGeliang Tang <geliangtang@163.com>
Date2016-01-13 15:50 +0100
Subject[PATCH 1/5] drm/i915: use hlist_for_each_entry
Message-ID<qQuUh-15y-7@gated-at.bofh.it>
Use hlist_for_each_entry() instead of hlist_for_each() to simplify
the code.

Signed-off-by: Geliang Tang <geliangtang@163.com>
---
 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index 5d01ea6..8f194be 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -192,14 +192,10 @@ static struct i915_vma *eb_get_vma(struct eb_vmas *eb, unsigned long handle)
 			return NULL;
 		return eb->lut[handle];
 	} else {
-		struct hlist_head *head;
-		struct hlist_node *node;
-
-		head = &eb->buckets[handle & eb->and];
-		hlist_for_each(node, head) {
-			struct i915_vma *vma;
+		struct i915_vma *vma;
 
-			vma = hlist_entry(node, struct i915_vma, exec_node);
+		hlist_for_each_entry(vma, &eb->buckets[handle & eb->and],
+				     exec_node) {
 			if (vma->exec_handle == handle)
 				return vma;
 		}
-- 
2.5.0

[toc] | [next] | [standalone]


#1308472 — [PATCH 3/5] drm/sysfs: use kobj_to_dev()

FromGeliang Tang <geliangtang@163.com>
Date2016-01-13 15:50 +0100
Subject[PATCH 3/5] drm/sysfs: use kobj_to_dev()
Message-ID<qQuUh-15y-5@gated-at.bofh.it>
In reply to#1308471
Use kobj_to_dev() instead of open-coding it.

Signed-off-by: Geliang Tang <geliangtang@163.com>
---
 drivers/gpu/drm/drm_sysfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c
index 0ca6410..d503f8e 100644
--- a/drivers/gpu/drm/drm_sysfs.c
+++ b/drivers/gpu/drm/drm_sysfs.c
@@ -240,7 +240,7 @@ static ssize_t edid_show(struct file *filp, struct kobject *kobj,
 			 struct bin_attribute *attr, char *buf, loff_t off,
 			 size_t count)
 {
-	struct device *connector_dev = container_of(kobj, struct device, kobj);
+	struct device *connector_dev = kobj_to_dev(kobj);
 	struct drm_connector *connector = to_drm_connector(connector_dev);
 	unsigned char *edid;
 	size_t size;
-- 
2.5.0

[toc] | [prev] | [next] | [standalone]


#1308529 — Re: [PATCH 3/5] drm/sysfs: use kobj_to_dev()

FromDaniel Vetter <daniel@ffwll.ch>
Date2016-01-13 16:50 +0100
SubjectRe: [PATCH 3/5] drm/sysfs: use kobj_to_dev()
Message-ID<qQvQn-1KI-29@gated-at.bofh.it>
In reply to#1308472
On Wed, Jan 13, 2016 at 10:48:41PM +0800, Geliang Tang wrote:
> Use kobj_to_dev() instead of open-coding it.
> 
> Signed-off-by: Geliang Tang <geliangtang@163.com>

Merged to drm-misc, thanks.
-Daniel

> ---
>  drivers/gpu/drm/drm_sysfs.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c
> index 0ca6410..d503f8e 100644
> --- a/drivers/gpu/drm/drm_sysfs.c
> +++ b/drivers/gpu/drm/drm_sysfs.c
> @@ -240,7 +240,7 @@ static ssize_t edid_show(struct file *filp, struct kobject *kobj,
>  			 struct bin_attribute *attr, char *buf, loff_t off,
>  			 size_t count)
>  {
> -	struct device *connector_dev = container_of(kobj, struct device, kobj);
> +	struct device *connector_dev = kobj_to_dev(kobj);
>  	struct drm_connector *connector = to_drm_connector(connector_dev);
>  	unsigned char *edid;
>  	size_t size;
> -- 
> 2.5.0
> 
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

[toc] | [prev] | [next] | [standalone]


#1308474 — [PATCH 5/5] drm/radeon: use kobj_to_dev()

FromGeliang Tang <geliangtang@163.com>
Date2016-01-13 16:00 +0100
Subject[PATCH 5/5] drm/radeon: use kobj_to_dev()
Message-ID<qQv3Y-19C-1@gated-at.bofh.it>
In reply to#1308471
Use kobj_to_dev() instead of open-coding it.

Signed-off-by: Geliang Tang <geliangtang@163.com>
---
 drivers/gpu/drm/radeon/radeon_pm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
index 59abebd..460c8f2 100644
--- a/drivers/gpu/drm/radeon/radeon_pm.c
+++ b/drivers/gpu/drm/radeon/radeon_pm.c
@@ -713,7 +713,7 @@ static struct attribute *hwmon_attributes[] = {
 static umode_t hwmon_attributes_visible(struct kobject *kobj,
 					struct attribute *attr, int index)
 {
-	struct device *dev = container_of(kobj, struct device, kobj);
+	struct device *dev = kobj_to_dev(kobj);
 	struct radeon_device *rdev = dev_get_drvdata(dev);
 	umode_t effective_mode = attr->mode;
 
-- 
2.5.0

[toc] | [prev] | [next] | [standalone]


#1308647 — Re: [PATCH 5/5] drm/radeon: use kobj_to_dev()

FromAlex Deucher <alexdeucher@gmail.com>
Date2016-01-13 18:20 +0100
SubjectRe: [PATCH 5/5] drm/radeon: use kobj_to_dev()
Message-ID<qQxfu-2SP-25@gated-at.bofh.it>
In reply to#1308474
On Wed, Jan 13, 2016 at 9:48 AM, Geliang Tang <geliangtang@163.com> wrote:
> Use kobj_to_dev() instead of open-coding it.
>
> Signed-off-by: Geliang Tang <geliangtang@163.com>

Applied patches 4 and 5.  thanks!

Alex

> ---
>  drivers/gpu/drm/radeon/radeon_pm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
> index 59abebd..460c8f2 100644
> --- a/drivers/gpu/drm/radeon/radeon_pm.c
> +++ b/drivers/gpu/drm/radeon/radeon_pm.c
> @@ -713,7 +713,7 @@ static struct attribute *hwmon_attributes[] = {
>  static umode_t hwmon_attributes_visible(struct kobject *kobj,
>                                         struct attribute *attr, int index)
>  {
> -       struct device *dev = container_of(kobj, struct device, kobj);
> +       struct device *dev = kobj_to_dev(kobj);
>         struct radeon_device *rdev = dev_get_drvdata(dev);
>         umode_t effective_mode = attr->mode;
>
> --
> 2.5.0
>
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

[toc] | [prev] | [next] | [standalone]


#1308479 — [PATCH 2/5] drm/i915: use kobj_to_dev()

FromGeliang Tang <geliangtang@163.com>
Date2016-01-13 16:00 +0100
Subject[PATCH 2/5] drm/i915: use kobj_to_dev()
Message-ID<qQv3Z-19C-15@gated-at.bofh.it>
In reply to#1308471
Use kobj_to_dev() instead of open-coding it.

Signed-off-by: Geliang Tang <geliangtang@163.com>
---
 drivers/gpu/drm/i915/i915_sysfs.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c
index 37e3f0d..c6188dd 100644
--- a/drivers/gpu/drm/i915/i915_sysfs.c
+++ b/drivers/gpu/drm/i915/i915_sysfs.c
@@ -164,7 +164,7 @@ i915_l3_read(struct file *filp, struct kobject *kobj,
 	     struct bin_attribute *attr, char *buf,
 	     loff_t offset, size_t count)
 {
-	struct device *dev = container_of(kobj, struct device, kobj);
+	struct device *dev = kobj_to_dev(kobj);
 	struct drm_minor *dminor = dev_to_drm_minor(dev);
 	struct drm_device *drm_dev = dminor->dev;
 	struct drm_i915_private *dev_priv = drm_dev->dev_private;
@@ -200,7 +200,7 @@ i915_l3_write(struct file *filp, struct kobject *kobj,
 	      struct bin_attribute *attr, char *buf,
 	      loff_t offset, size_t count)
 {
-	struct device *dev = container_of(kobj, struct device, kobj);
+	struct device *dev = kobj_to_dev(kobj);
 	struct drm_minor *dminor = dev_to_drm_minor(dev);
 	struct drm_device *drm_dev = dminor->dev;
 	struct drm_i915_private *dev_priv = drm_dev->dev_private;
@@ -521,7 +521,7 @@ static ssize_t error_state_read(struct file *filp, struct kobject *kobj,
 				loff_t off, size_t count)
 {
 
-	struct device *kdev = container_of(kobj, struct device, kobj);
+	struct device *kdev = kobj_to_dev(kobj);
 	struct drm_minor *minor = dev_to_drm_minor(kdev);
 	struct drm_device *dev = minor->dev;
 	struct i915_error_state_file_priv error_priv;
@@ -556,7 +556,7 @@ static ssize_t error_state_write(struct file *file, struct kobject *kobj,
 				 struct bin_attribute *attr, char *buf,
 				 loff_t off, size_t count)
 {
-	struct device *kdev = container_of(kobj, struct device, kobj);
+	struct device *kdev = kobj_to_dev(kobj);
 	struct drm_minor *minor = dev_to_drm_minor(kdev);
 	struct drm_device *dev = minor->dev;
 	int ret;
-- 
2.5.0

[toc] | [prev] | [next] | [standalone]


#1308522 — Re: [Intel-gfx] [PATCH 2/5] drm/i915: use kobj_to_dev()

FromDaniel Vetter <daniel@ffwll.ch>
Date2016-01-13 16:50 +0100
SubjectRe: [Intel-gfx] [PATCH 2/5] drm/i915: use kobj_to_dev()
Message-ID<qQvQm-1KI-1@gated-at.bofh.it>
In reply to#1308479
On Wed, Jan 13, 2016 at 10:48:40PM +0800, Geliang Tang wrote:
> Use kobj_to_dev() instead of open-coding it.
> 
> Signed-off-by: Geliang Tang <geliangtang@163.com>

Queued for -next, thanks for the patch.
-Daniel

> ---
>  drivers/gpu/drm/i915/i915_sysfs.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c
> index 37e3f0d..c6188dd 100644
> --- a/drivers/gpu/drm/i915/i915_sysfs.c
> +++ b/drivers/gpu/drm/i915/i915_sysfs.c
> @@ -164,7 +164,7 @@ i915_l3_read(struct file *filp, struct kobject *kobj,
>  	     struct bin_attribute *attr, char *buf,
>  	     loff_t offset, size_t count)
>  {
> -	struct device *dev = container_of(kobj, struct device, kobj);
> +	struct device *dev = kobj_to_dev(kobj);
>  	struct drm_minor *dminor = dev_to_drm_minor(dev);
>  	struct drm_device *drm_dev = dminor->dev;
>  	struct drm_i915_private *dev_priv = drm_dev->dev_private;
> @@ -200,7 +200,7 @@ i915_l3_write(struct file *filp, struct kobject *kobj,
>  	      struct bin_attribute *attr, char *buf,
>  	      loff_t offset, size_t count)
>  {
> -	struct device *dev = container_of(kobj, struct device, kobj);
> +	struct device *dev = kobj_to_dev(kobj);
>  	struct drm_minor *dminor = dev_to_drm_minor(dev);
>  	struct drm_device *drm_dev = dminor->dev;
>  	struct drm_i915_private *dev_priv = drm_dev->dev_private;
> @@ -521,7 +521,7 @@ static ssize_t error_state_read(struct file *filp, struct kobject *kobj,
>  				loff_t off, size_t count)
>  {
>  
> -	struct device *kdev = container_of(kobj, struct device, kobj);
> +	struct device *kdev = kobj_to_dev(kobj);
>  	struct drm_minor *minor = dev_to_drm_minor(kdev);
>  	struct drm_device *dev = minor->dev;
>  	struct i915_error_state_file_priv error_priv;
> @@ -556,7 +556,7 @@ static ssize_t error_state_write(struct file *file, struct kobject *kobj,
>  				 struct bin_attribute *attr, char *buf,
>  				 loff_t off, size_t count)
>  {
> -	struct device *kdev = container_of(kobj, struct device, kobj);
> +	struct device *kdev = kobj_to_dev(kobj);
>  	struct drm_minor *minor = dev_to_drm_minor(kdev);
>  	struct drm_device *dev = minor->dev;
>  	int ret;
> -- 
> 2.5.0
> 
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

[toc] | [prev] | [next] | [standalone]


#1308494 — Re: [Intel-gfx] [PATCH 1/5] drm/i915: use hlist_for_each_entry

FromChris Wilson <chris@chris-wilson.co.uk>
Date2016-01-13 16:20 +0100
SubjectRe: [Intel-gfx] [PATCH 1/5] drm/i915: use hlist_for_each_entry
Message-ID<qQvnk-1xE-3@gated-at.bofh.it>
In reply to#1308471
On Wed, Jan 13, 2016 at 10:48:39PM +0800, Geliang Tang wrote:
> Use hlist_for_each_entry() instead of hlist_for_each() to simplify
> the code.
> 
> Signed-off-by: Geliang Tang <geliangtang@163.com>
> ---
>  drivers/gpu/drm/i915/i915_gem_execbuffer.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> index 5d01ea6..8f194be 100644
> --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> @@ -192,14 +192,10 @@ static struct i915_vma *eb_get_vma(struct eb_vmas *eb, unsigned long handle)
>  			return NULL;
>  		return eb->lut[handle];
>  	} else {
> -		struct hlist_head *head;
> -		struct hlist_node *node;
> -
> -		head = &eb->buckets[handle & eb->and];
> -		hlist_for_each(node, head) {
> -			struct i915_vma *vma;
> +		struct i915_vma *vma;
>  
> -			vma = hlist_entry(node, struct i915_vma, exec_node);
> +		hlist_for_each_entry(vma, &eb->buckets[handle & eb->and],
> +				     exec_node) {

Keep the 
	head = &eb->buckets[handle & eb->and];
local assignment as it makes the line splitting neater (and iirc
something like gcc -Os doesn't use the temporary assignment - but then
who would use CONFIG_OPTIMIZE_FOR_SIZE!).
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web