xf86-video-intel: 2 commits - src/sna/kgem.c src/uxa/intel_driver.c

Chris Wilson ickle at kemper.freedesktop.org
Fri Apr 24 12:49:19 PDT 2015


 src/sna/kgem.c         |   18 +++++-------------
 src/uxa/intel_driver.c |    2 +-
 2 files changed, 6 insertions(+), 14 deletions(-)

New commits:
commit dafd181441f6cde71e6748adab230e851ca5a277
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Apr 24 20:48:14 2015 +0100

    uxa: Fix compilation for bool
    
    ../../../src/uxa/intel_driver.c: At top level:
    ../../../src/uxa/intel_driver.c:769:1: error: unknown type name 'bool'
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/uxa/intel_driver.c b/src/uxa/intel_driver.c
index 0fb8609..8e685bd 100644
--- a/src/uxa/intel_driver.c
+++ b/src/uxa/intel_driver.c
@@ -766,7 +766,7 @@ I830HandleUEvents(int fd, void *closure)
 	udev_device_unref(dev);
 }
 
-static bool has_randr(void)
+static int has_randr(void)
 {
 #if HAS_DIXREGISTERPRIVATEKEY
 	return dixPrivateKeyRegistered(rrPrivKey);
commit 73ae4197d6ebfa0fc1b7c2653b74667a51885a5e
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Apr 24 14:36:50 2015 +0100

    sna: Defer marking cache objects purgeable
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index d190255..6238812 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -2523,8 +2523,7 @@ static bool kgem_bo_move_to_cache(struct kgem *kgem, struct kgem_bo *bo)
 		kgem_bo_move_to_snoop(kgem, bo);
 	} else if (bo->scanout) {
 		kgem_bo_move_to_scanout(kgem, bo);
-	} else if ((bo = kgem_bo_replace_io(bo))->reusable &&
-		   kgem_bo_set_purgeable(kgem, bo)) {
+	} else if ((bo = kgem_bo_replace_io(bo))->reusable) {
 		kgem_bo_move_to_inactive(kgem, bo);
 		retired = true;
 	} else
@@ -2728,9 +2727,6 @@ static void __kgem_bo_destroy(struct kgem *kgem, struct kgem_bo *bo)
 	assert(list_is_empty(&bo->request));
 
 	if (bo->map__cpu == NULL || bucket(bo) >= NUM_CACHE_BUCKETS) {
-		if (!kgem_bo_set_purgeable(kgem, bo))
-			goto destroy;
-
 		if (!kgem->has_llc && bo->domain == DOMAIN_CPU)
 			goto destroy;
 
@@ -2902,14 +2898,8 @@ static bool __kgem_retire_rq(struct kgem *kgem, struct kgem_request *rq)
 	assert(rq->bo->refcnt > 0);
 
 	if (--rq->bo->refcnt == 0) {
-		if (kgem_bo_set_purgeable(kgem, rq->bo)) {
-			kgem_bo_move_to_inactive(kgem, rq->bo);
-			retired = true;
-		} else {
-			DBG(("%s: closing %d\n",
-			     __FUNCTION__, rq->bo->handle));
-			kgem_bo_free(kgem, rq->bo);
-		}
+		kgem_bo_move_to_inactive(kgem, rq->bo);
+		retired = true;
 	}
 
 	__kgem_request_free(rq);
@@ -4093,6 +4083,7 @@ bool kgem_expire_cache(struct kgem *kgem)
 			break;
 		}
 
+		kgem_bo_set_purgeable(kgem, bo);
 		bo->delta = now;
 	}
 	if (expire) {
@@ -4138,6 +4129,7 @@ bool kgem_expire_cache(struct kgem *kgem)
 				break;
 			}
 
+			kgem_bo_set_purgeable(kgem, bo);
 			bo->delta = now;
 		}
 	}


More information about the xorg-commit mailing list