summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2017-04-05 14:10:36 -0700
committerKenneth Graunke <[email protected]>2017-04-10 14:33:12 -0700
commit538fa87f40709f2cafb561056ea3ca5c46f8c85e (patch)
treeb7239f66455e03ff60fe9a87ecaffc88bdaa0854 /src
parent10929da5fbe99bd9fb3138917d554f561a2ecd21 (diff)
i965/drm: Use list_for_each_entry_safe in a couple of cases.
Suggested by Chris Wilson. A tiny bit simpler. Reviewed-by: Daniel Vetter <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/brw_bufmgr.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.c b/src/mesa/drivers/dri/i965/brw_bufmgr.c
index 08634468256..b12cd3acfc3 100644
--- a/src/mesa/drivers/dri/i965/brw_bufmgr.c
+++ b/src/mesa/drivers/dri/i965/brw_bufmgr.c
@@ -236,10 +236,7 @@ static void
brw_bo_cache_purge_bucket(struct brw_bufmgr *bufmgr,
struct bo_cache_bucket *bucket)
{
- while (!list_empty(&bucket->head)) {
- struct brw_bo *bo;
-
- bo = LIST_ENTRY(struct brw_bo, bucket->head.next, head);
+ list_for_each_entry_safe(struct brw_bo, bo, &bucket->head, head) {
if (brw_bo_madvise(bo, I915_MADV_DONTNEED))
break;
@@ -596,10 +593,7 @@ cleanup_bo_cache(struct brw_bufmgr *bufmgr, time_t time)
for (i = 0; i < bufmgr->num_buckets; i++) {
struct bo_cache_bucket *bucket = &bufmgr->cache_bucket[i];
- while (!list_empty(&bucket->head)) {
- struct brw_bo *bo;
-
- bo = LIST_ENTRY(struct brw_bo, bucket->head.next, head);
+ list_for_each_entry_safe(struct brw_bo, bo, &bucket->head, head) {
if (time - bo->free_time <= 1)
break;
@@ -1096,10 +1090,8 @@ brw_bufmgr_destroy(struct brw_bufmgr *bufmgr)
/* Free any cached buffer objects we were going to reuse */
for (int i = 0; i < bufmgr->num_buckets; i++) {
struct bo_cache_bucket *bucket = &bufmgr->cache_bucket[i];
- struct brw_bo *bo;
- while (!list_empty(&bucket->head)) {
- bo = LIST_ENTRY(struct brw_bo, bucket->head.next, head);
+ list_for_each_entry_safe(struct brw_bo, bo, &bucket->head, head) {
list_del(&bo->head);
bo_free(bo);