From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 22/33] drm/i915/overlay: Use VMA as the primary tracker for images Date: Sun, 7 Aug 2016 15:45:30 +0100 Message-ID: <1470581141-14432-23-git-send-email-chris@chris-wilson.co.uk> References: <1470581141-14432-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 372816E2EC for ; Sun, 7 Aug 2016 14:46:14 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id i5so11073318wmg.2 for ; Sun, 07 Aug 2016 07:46:14 -0700 (PDT) In-Reply-To: <1470581141-14432-1-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org U2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jIHwgMzggKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygr KSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfb3ZlcmxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jCmluZGV4 IDkwZjNhYjQyNGUwMS4uM2Y0NGI3N2FhMGEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9vdmVybGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3Zl cmxheS5jCkBAIC0xNzEsOCArMTcxLDcgQEAgc3RydWN0IG92ZXJsYXlfcmVnaXN0ZXJzIHsKIHN0 cnVjdCBpbnRlbF9vdmVybGF5IHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNTsKIAlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YzsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqdmlk X2JvOwotCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvbGRfdmlkX2JvOworCXN0cnVjdCBp OTE1X3ZtYSAqdm1hLCAqb2xkX3ZtYTsKIAlib29sIGFjdGl2ZTsKIAlib29sIHBmaXRfYWN0aXZl OwogCXUzMiBwZml0X3ZzY2FsZV9yYXRpbzsgLyogc2hpZnRlZC1wb2ludCBudW1iZXIsICgxPDwx MikgPT0gMS4wICovCkBAIC0zMTcsMTUgKzMxNiwxNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9vdmVy bGF5X3JlbGVhc2Vfb2xkX3ZpZF90YWlsKHN0cnVjdCBpOTE1X2dlbV9hY3RpdmUgKmFjdGl2ZSwK IHsKIAlzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSA9CiAJCWNvbnRhaW5lcl9vZihhY3Rp dmUsIHR5cGVvZigqb3ZlcmxheSksIGxhc3RfZmxpcCk7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaiA9IG92ZXJsYXktPm9sZF92aWRfYm87CisJc3RydWN0IGk5MTVfdm1hICp2bWE7 CiAKLQlpOTE1X2dlbV90cmFja19mYihvYmosIE5VTEwsCi0JCQkgIElOVEVMX0ZST05UQlVGRkVS X09WRVJMQVkob3ZlcmxheS0+Y3J0Yy0+cGlwZSkpOworCXZtYSA9IG51bGxpZnkoJm92ZXJsYXkt Pm9sZF92bWEpOworCWlmIChXQVJOX09OKCF2bWEpKQorCQlyZXR1cm47CiAKLQlpOTE1X2dlbV9v YmplY3RfZ2d0dF91bnBpbihvYmopOwotCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKKwlpOTE1 X2dlbV90cmFja19mYih2bWEtPm9iaiwgTlVMTCwKKwkJCSAgSU5URUxfRlJPTlRCVUZGRVJfT1ZF UkxBWShvdmVybGF5LT5jcnRjLT5waXBlKSk7CiAKLQlvdmVybGF5LT5vbGRfdmlkX2JvID0gTlVM TDsKKwlpOTE1X2dlbV9vYmplY3RfdW5waW5fZnJvbV9kaXNwbGF5X3BsYW5lKHZtYS0+b2JqLCAm aTkxNV9nZ3R0X3ZpZXdfbm9ybWFsKTsKKwlpOTE1X2dlbV9vYmplY3RfcHV0KHZtYS0+b2JqKTsK IH0KIAogc3RhdGljIHZvaWQgaW50ZWxfb3ZlcmxheV9vZmZfdGFpbChzdHJ1Y3QgaTkxNV9nZW1f YWN0aXZlICphY3RpdmUsCkBAIC0zMzMsMTUgKzMzNCwxNSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9v dmVybGF5X29mZl90YWlsKHN0cnVjdCBpOTE1X2dlbV9hY3RpdmUgKmFjdGl2ZSwKIHsKIAlzdHJ1 Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSA9CiAJCWNvbnRhaW5lcl9vZihhY3RpdmUsIHR5cGVv Zigqb3ZlcmxheSksIGxhc3RfZmxpcCk7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aiA9IG92ZXJsYXktPnZpZF9ibzsKKwlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKIAogCS8qIG5ldmVy IGhhdmUgdGhlIG92ZXJsYXkgaHcgb24gd2l0aG91dCBzaG93aW5nIGEgZnJhbWUgKi8KLQlpZiAo V0FSTl9PTighb2JqKSkKKwl2bWEgPSBudWxsaWZ5KCZvdmVybGF5LT52bWEpOworCWlmIChXQVJO X09OKCF2bWEpKQogCQlyZXR1cm47CiAKLQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihvYmop OwotCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKLQlvdmVybGF5LT52aWRfYm8gPSBOVUxMOwor CWk5MTVfZ2VtX29iamVjdF91bnBpbl9mcm9tX2Rpc3BsYXlfcGxhbmUodm1hLT5vYmosICZpOTE1 X2dndHRfdmlld19ub3JtYWwpOworCWk5MTVfZ2VtX29iamVjdF9wdXQodm1hLT5vYmopOwogCiAJ b3ZlcmxheS0+Y3J0Yy0+b3ZlcmxheSA9IE5VTEw7CiAJb3ZlcmxheS0+Y3J0YyA9IE5VTEw7CkBA IC00MjEsNyArNDIyLDcgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X3JlbGVhc2Vfb2xkX3Zp ZChzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSkKIAkvKiBPbmx5IHdhaXQgaWYgdGhlcmUg aXMgYWN0dWFsbHkgYW4gb2xkIGZyYW1lIHRvIHJlbGVhc2UgdG8KIAkgKiBndWFyYW50ZWUgZm9y d2FyZCBwcm9ncmVzcy4KIAkgKi8KLQlpZiAoIW92ZXJsYXktPm9sZF92aWRfYm8pCisJaWYgKCFv dmVybGF5LT5vbGRfdm1hKQogCQlyZXR1cm4gMDsKIAogCWlmIChJOTE1X1JFQUQoSVNSKSAmIEk5 MTVfT1ZFUkxBWV9QTEFORV9GTElQX1BFTkRJTkdfSU5URVJSVVBUKSB7CkBAIC03NDQsNiArNzQ1 LDcgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X2RvX3B1dF9pbWFnZShzdHJ1Y3QgaW50ZWxf b3ZlcmxheSAqb3ZlcmxheSwKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBv dmVybGF5LT5pOTE1OwogCXUzMiBzd2lkdGgsIHN3aWR0aHN3LCBzaGVpZ2h0LCBvc3RyaWRlOwog CWVudW0gcGlwZSBwaXBlID0gb3ZlcmxheS0+Y3J0Yy0+cGlwZTsKKwlzdHJ1Y3QgaTkxNV92bWEg KnZtYTsKIAogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4 KTsKIAlXQVJOX09OKCFkcm1fbW9kZXNldF9pc19sb2NrZWQoJmRldl9wcml2LT5kcm0ubW9kZV9j b25maWcuY29ubmVjdGlvbl9tdXRleCkpOwpAQCAtNzU3LDYgKzc1OSw4IEBAIHN0YXRpYyBpbnQg aW50ZWxfb3ZlcmxheV9kb19wdXRfaW1hZ2Uoc3RydWN0IGludGVsX292ZXJsYXkgKm92ZXJsYXks CiAJaWYgKHJldCAhPSAwKQogCQlyZXR1cm4gcmV0OwogCisJdm1hID0gaTkxNV9nZW1fb2JqX3Rv X2dndHRfdmlldyhuZXdfYm8sICZpOTE1X2dndHRfdmlld19ub3JtYWwpOworCiAJcmV0ID0gaTkx NV9nZW1fb2JqZWN0X3B1dF9mZW5jZShuZXdfYm8pOwogCWlmIChyZXQpCiAJCWdvdG8gb3V0X3Vu cGluOwpAQCAtODM0LDExICs4MzgsMTEgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X2RvX3B1 dF9pbWFnZShzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSwKIAlpZiAocmV0KQogCQlnb3Rv IG91dF91bnBpbjsKIAotCWk5MTVfZ2VtX3RyYWNrX2ZiKG92ZXJsYXktPnZpZF9ibywgbmV3X2Jv LAorCWk5MTVfZ2VtX3RyYWNrX2ZiKG92ZXJsYXktPnZtYS0+b2JqLCBuZXdfYm8sCiAJCQkgIElO VEVMX0ZST05UQlVGRkVSX09WRVJMQVkocGlwZSkpOwogCi0Jb3ZlcmxheS0+b2xkX3ZpZF9ibyA9 IG92ZXJsYXktPnZpZF9ibzsKLQlvdmVybGF5LT52aWRfYm8gPSBuZXdfYm87CisJb3ZlcmxheS0+ b2xkX3ZtYSA9IG92ZXJsYXktPnZtYTsKKwlvdmVybGF5LT52bWEgPSB2bWE7CiAKIAlpbnRlbF9m cm9udGJ1ZmZlcl9mbGlwKGRldl9wcml2LCBJTlRFTF9GUk9OVEJVRkZFUl9PVkVSTEFZKHBpcGUp KTsKIAotLSAKMi44LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=