Message ID | 20161212115350.780-3-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On ma, 2016-12-12 at 11:53 +0000, Chris Wilson wrote: > 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> I'm not sure if the code should be sprinkled full of comments about the oddly behaving head_node, I can see somebody forgetting it in the future, too. Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Regars, Joonas
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index ef00d36680c9..b5d4a6357d8a 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -2723,10 +2723,8 @@ static void i915_gtt_color_adjust(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; }
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> --- drivers/gpu/drm/i915/i915_gem_gtt.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)