From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 10/13] drm/i915: Introduce dedicated safe object VMA iterator Date: Fri, 8 Jan 2016 11:29:49 +0000 Message-ID: <1452252592-24803-11-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1452252592-24803-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 4C9BC6E768 for ; Fri, 8 Jan 2016 03:30:07 -0800 (PST) In-Reply-To: <1452252592-24803-1-git-send-email-tvrtko.ursulin@linux.intel.com> 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 Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClB1cnBvc2Ug aXMgdG8gY2F0Y2ggcGxhY2VzIHdoaWNoIGl0ZXJhdGUgdGhlIG9iamVjdCBWTUEgbGlzdAp3aXRo b3V0IGhvbGRpbmcgdGhlIGJpZyBsb2NrLgoKSW1wbGVtZW50ZWQgYnkgb3BlbiBjb2RpbmcgbGlz dF9mb3JfZWFjaF9lbnRyeV9zYWZlIHRvIG1ha2UKdGhlIG1hY3JvIGNvbXBhdGlibGUgd2l0aCBl eGlzdGluZyBjYWxsIHNpdGVzLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRr by51cnN1bGluQGludGVsLmNvbT4KQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3 bGwuY2g+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICB8IDcg KysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICB8IDYgKysr LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zaHJpbmtlci5jIHwgMyArLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIuYyAgfCAyICstCiA0IGZpbGVzIGNo YW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKaW5kZXggMDQwNmEwMjBkZmNjLi44MWE4MzQyNGZhMTMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaApAQCAtMjg1OCw2ICsyODU4LDEzIEBAIHZvaWQgaTkxNV9nZW1fdm1hX2Rlc3Ryb3ko c3RydWN0IGk5MTVfdm1hICp2bWEpOwogCSAgICAgJnZtYS0+dm1hX2xpbmsgIT0gKCYob2JqKS0+ dm1hX2xpc3QpOyBcCiAJICAgICB2bWEgPSBsaXN0X25leHRfZW50cnkodm1hLCB2bWFfbGluaykp CiAKKyNkZWZpbmUgaTkxNV9nZW1fb2JqX2Zvcl9lYWNoX3ZtYV9zYWZlKHZtYSwgbmV4dCwgb2Jq KSBcCisJZm9yIChXQVJOX09OX09OQ0UoIW11dGV4X2lzX2xvY2tlZCgmKG9iaiktPmJhc2UuZGV2 LT5zdHJ1Y3RfbXV0ZXgpKSwgXAorCSAgICAgdm1hID0gbGlzdF9maXJzdF9lbnRyeSgmKG9iaikt PnZtYV9saXN0LCB0eXBlb2YoKnZtYSksIHZtYV9saW5rKSwgXAorCSAgICAgbmV4dCA9IGxpc3Rf bmV4dF9lbnRyeSh2bWEsIHZtYV9saW5rKTsgXAorCSAgICAgJnZtYS0+dm1hX2xpbmsgIT0gKCYo b2JqKS0+dm1hX2xpc3QpOyBcCisJICAgICB2bWEgPSBuZXh0LCBuZXh0ID0gbGlzdF9uZXh0X2Vu dHJ5KG5leHQsIHZtYV9saW5rKSkKKwogLyogRmxhZ3MgdXNlZCBieSBwaW4vYmluZCZmcmllbmRz LiAqLwogI2RlZmluZSBQSU5fTUFQUEFCTEUJKDE8PDApCiAjZGVmaW5lIFBJTl9OT05CTE9DSwko MTw8MSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDQxNWJiNWVmOGIzYS4uNWE2ZGFlYWVm NjgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTI3Miw3ICsyNzIsNyBAQCBkcm9wX3Bh Z2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJaW50IHJldDsKIAogCWRybV9n ZW1fb2JqZWN0X3JlZmVyZW5jZSgmb2JqLT5iYXNlKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3Nh ZmUodm1hLCBuZXh0LCAmb2JqLT52bWFfbGlzdCwgdm1hX2xpbmspCisJaTkxNV9nZW1fb2JqX2Zv cl9lYWNoX3ZtYV9zYWZlKHZtYSwgbmV4dCwgb2JqKQogCQlpZiAoaTkxNV92bWFfdW5iaW5kKHZt YSkpCiAJCQlicmVhazsKIApAQCAtMzc3MSw3ICszNzcxLDcgQEAgaW50IGk5MTVfZ2VtX29iamVj dF9zZXRfY2FjaGVfbGV2ZWwoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkgKiBj YXRjaCB0aGUgaXNzdWUgb2YgdGhlIENTIHByZWZldGNoIGNyb3NzaW5nIHBhZ2UgYm91bmRhcmll cyBhbmQKIAkgKiByZWFkaW5nIGFuIGludmFsaWQgUFRFIG9uIG9sZGVyIGFyY2hpdGVjdHVyZXMu CiAJICovCi0JbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHZtYSwgbmV4dCwgJm9iai0+dm1hX2xp c3QsIHZtYV9saW5rKSB7CisJaTkxNV9nZW1fb2JqX2Zvcl9lYWNoX3ZtYV9zYWZlKHZtYSwgbmV4 dCwgb2JqKSB7CiAJCWlmICghZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKQogCQkJ Y29udGludWU7CiAKQEAgLTQ1MDcsNyArNDUwNyw3IEBAIHZvaWQgaTkxNV9nZW1fZnJlZV9vYmpl Y3Qoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqKQogCiAJdHJhY2VfaTkxNV9nZW1fb2Jq ZWN0X2Rlc3Ryb3kob2JqKTsKIAotCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh2bWEsIG5leHQs ICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykgeworCWk5MTVfZ2VtX29ial9mb3JfZWFjaF92bWFf c2FmZSh2bWEsIG5leHQsIG9iaikgewogCQlpbnQgcmV0OwogCiAJCXZtYS0+cGluX2NvdW50ID0g MDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Nocmlua2VyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zaHJpbmtlci5jCmluZGV4IDQxMDY2NjZh NDMwMy4uM2NmODNmNGViN2M5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9zaHJpbmtlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Nocmlu a2VyLmMKQEAgLTE3NSw4ICsxNzUsNyBAQCBpOTE1X2dlbV9zaHJpbmsoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAogCQkJZHJtX2dlbV9vYmplY3RfcmVmZXJlbmNlKCZvYmotPmJh c2UpOwogCiAJCQkvKiBGb3IgdGhlIHVuYm91bmQgcGhhc2UsIHRoaXMgc2hvdWxkIGJlIGEgbm8t b3AhICovCi0JCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCB2LAotCQkJCQkJICZvYmot PnZtYV9saXN0LCB2bWFfbGluaykKKwkJCWk5MTVfZ2VtX29ial9mb3JfZWFjaF92bWFfc2FmZSh2 bWEsIHYsIG9iaikKIAkJCQlpZiAoaTkxNV92bWFfdW5iaW5kKHZtYSkpCiAJCQkJCWJyZWFrOwog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKaW5kZXggMTlmYjBiZGRjMWNk Li5iNzMwZGZmZmUzMDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X3VzZXJwdHIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMK QEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIHZvaWQgX19jYW5jZWxfdXNlcnB0cl9fd29ya2VyKHN0 cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAkJd2FzX2ludGVycnVwdGlibGUgPSBkZXZfcHJpdi0+ bW0uaW50ZXJydXB0aWJsZTsKIAkJZGV2X3ByaXYtPm1tLmludGVycnVwdGlibGUgPSBmYWxzZTsK IAotCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCB0bXAsICZvYmotPnZtYV9saXN0LCB2 bWFfbGluaykgeworCQlpOTE1X2dlbV9vYmpfZm9yX2VhY2hfdm1hX3NhZmUodm1hLCB0bXAsIG9i aikgewogCQkJaW50IHJldCA9IGk5MTVfdm1hX3VuYmluZCh2bWEpOwogCQkJV0FSTl9PTihyZXQg JiYgcmV0ICE9IC1FSU8pOwogCQl9Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK