* [PATCH 1/5] drm/i915: use hlist_for_each_entry
@ 2016-01-13 14:48 Geliang Tang
2016-01-13 14:48 ` [PATCH 2/5] drm/i915: use kobj_to_dev() Geliang Tang
2016-01-13 15:12 ` [Intel-gfx] [PATCH 1/5] drm/i915: use hlist_for_each_entry Chris Wilson
0 siblings, 2 replies; 6+ messages in thread
From: Geliang Tang @ 2016-01-13 14:48 UTC (permalink / raw)
To: Daniel Vetter, Jani Nikula, David Airlie
Cc: Geliang Tang, intel-gfx, linux-kernel, dri-devel
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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/5] drm/i915: use kobj_to_dev()
2016-01-13 14:48 [PATCH 1/5] drm/i915: use hlist_for_each_entry Geliang Tang
@ 2016-01-13 14:48 ` Geliang Tang
2016-01-13 15:42 ` Daniel Vetter
2016-01-13 15:12 ` [Intel-gfx] [PATCH 1/5] drm/i915: use hlist_for_each_entry Chris Wilson
1 sibling, 1 reply; 6+ messages in thread
From: Geliang Tang @ 2016-01-13 14:48 UTC (permalink / raw)
To: Daniel Vetter, Jani Nikula, David Airlie
Cc: Geliang Tang, intel-gfx, dri-devel, linux-kernel
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
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH 1/5] drm/i915: use hlist_for_each_entry
2016-01-13 14:48 [PATCH 1/5] drm/i915: use hlist_for_each_entry Geliang Tang
2016-01-13 14:48 ` [PATCH 2/5] drm/i915: use kobj_to_dev() Geliang Tang
@ 2016-01-13 15:12 ` Chris Wilson
2016-01-18 15:54 ` [PATCH 1/5 v2] " Geliang Tang
1 sibling, 1 reply; 6+ messages in thread
From: Chris Wilson @ 2016-01-13 15:12 UTC (permalink / raw)
To: Geliang Tang; +Cc: intel-gfx, linux-kernel, dri-devel, Daniel Vetter
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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/5] drm/i915: use kobj_to_dev()
2016-01-13 14:48 ` [PATCH 2/5] drm/i915: use kobj_to_dev() Geliang Tang
@ 2016-01-13 15:42 ` Daniel Vetter
0 siblings, 0 replies; 6+ messages in thread
From: Daniel Vetter @ 2016-01-13 15:42 UTC (permalink / raw)
To: Geliang Tang
Cc: David Airlie, intel-gfx, linux-kernel, dri-devel, Daniel Vetter
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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/5 v2] drm/i915: use hlist_for_each_entry
2016-01-13 15:12 ` [Intel-gfx] [PATCH 1/5] drm/i915: use hlist_for_each_entry Chris Wilson
@ 2016-01-18 15:54 ` Geliang Tang
2016-01-18 16:49 ` Daniel Vetter
0 siblings, 1 reply; 6+ messages in thread
From: Geliang Tang @ 2016-01-18 15:54 UTC (permalink / raw)
To: Daniel Vetter, Jani Nikula, David Airlie
Cc: Geliang Tang, intel-gfx, dri-devel, linux-kernel
Use hlist_for_each_entry() instead of hlist_for_each() to simplify
the code.
Signed-off-by: Geliang Tang <geliangtang@163.com>
---
Changes in v2:
- Keep head = &eb->buckets[handle & eb->and]
---
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index dccb517..7dc95a7 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -193,13 +193,10 @@ static struct i915_vma *eb_get_vma(struct eb_vmas *eb, unsigned long handle)
return eb->lut[handle];
} else {
struct hlist_head *head;
- struct hlist_node *node;
+ struct i915_vma *vma;
head = &eb->buckets[handle & eb->and];
- hlist_for_each(node, head) {
- struct i915_vma *vma;
-
- vma = hlist_entry(node, struct i915_vma, exec_node);
+ hlist_for_each_entry(vma, head, exec_node) {
if (vma->exec_handle == handle)
return vma;
}
--
2.5.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/5 v2] drm/i915: use hlist_for_each_entry
2016-01-18 15:54 ` [PATCH 1/5 v2] " Geliang Tang
@ 2016-01-18 16:49 ` Daniel Vetter
0 siblings, 0 replies; 6+ messages in thread
From: Daniel Vetter @ 2016-01-18 16:49 UTC (permalink / raw)
To: Geliang Tang
Cc: David Airlie, intel-gfx, linux-kernel, dri-devel, Daniel Vetter
On Mon, Jan 18, 2016 at 11:54:20PM +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>
> ---
> Changes in v2:
> - Keep head = &eb->buckets[handle & eb->and]
Queued for -next, thanks for the patch.
-Daniel
> ---
> drivers/gpu/drm/i915/i915_gem_execbuffer.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> index dccb517..7dc95a7 100644
> --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> @@ -193,13 +193,10 @@ static struct i915_vma *eb_get_vma(struct eb_vmas *eb, unsigned long handle)
> return eb->lut[handle];
> } else {
> struct hlist_head *head;
> - struct hlist_node *node;
> + struct i915_vma *vma;
>
> head = &eb->buckets[handle & eb->and];
> - hlist_for_each(node, head) {
> - struct i915_vma *vma;
> -
> - vma = hlist_entry(node, struct i915_vma, exec_node);
> + hlist_for_each_entry(vma, head, exec_node) {
> if (vma->exec_handle == handle)
> return vma;
> }
> --
> 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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-01-18 16:49 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-13 14:48 [PATCH 1/5] drm/i915: use hlist_for_each_entry Geliang Tang
2016-01-13 14:48 ` [PATCH 2/5] drm/i915: use kobj_to_dev() Geliang Tang
2016-01-13 15:42 ` Daniel Vetter
2016-01-13 15:12 ` [Intel-gfx] [PATCH 1/5] drm/i915: use hlist_for_each_entry Chris Wilson
2016-01-18 15:54 ` [PATCH 1/5 v2] " Geliang Tang
2016-01-18 16:49 ` Daniel Vetter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox