drm/i915: Simplify i915_gtt_color_adjust()
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 16 Dec 2016 07:46:40 +0000 (07:46 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 16 Dec 2016 15:36:41 +0000 (16:36 +0100)
If we remember that node_list is a circular list containing the fake
head_node, we can use a simple list_next_entry() and skip the NULL check
for the allocated check against the head_node.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20161216074718.32500-3-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_gtt.c

index 8983b30d0e64d530bfae1ee04795e67e8569d5e7..d49a04eb584a307a64c1faed5f1fc560da19ec8c 100644 (file)
@@ -2729,10 +2729,8 @@ static void i915_gtt_color_adjust(const struct drm_mm_node *node,
        if (node->color != color)
                *start += 4096;
 
-       node = list_first_entry_or_null(&node->node_list,
-                                       struct drm_mm_node,
-                                       node_list);
-       if (node && node->allocated && node->color != color)
+       node = list_next_entry(node, node_list);
+       if (node->allocated && node->color != color)
                *end -= 4096;
 }