From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 2/5] drm/i915: Prepare for the idea there can be multiple VMA per VM. Date: Thu, 30 Oct 2014 16:39:35 +0000 Message-ID: <1414687178-18562-3-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1414687178-18562-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id A7D6B6E0B3 for ; Thu, 30 Oct 2014 09:40:03 -0700 (PDT) In-Reply-To: <1414687178-18562-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCldpdGggbXVs dGlwbGUgVk1BIHBlciBvYmplY3QgYW5kIHBlciBhZGRyZXNzIHNwYWNlIHdlIG5lZWQgc29tZSBz b3J0IG9mCmtleSB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZW4gZm9yIHdoaWNoIHRoZXJlIGlz IGEgbmV3ICdpZCcgZmllbGQuCgpPbGQgQVBJIHdoaWNoIGRvZXMgbm90IGtub3cgb3IgY2FyZSBh Ym91dCB0aGlzIHdpbGwgdXNlIGEgZGVmYXVsdCBpZC4KCkkgaGF2ZSB0cmllZCB0byBpZGVudGlm eSBhbGwgcGxhY2VzIHdoaWNoIGFzc3VtZSB0aGVyZSBjYW4gb25seSBiZSBvbmUuCkl0IGNvbXBp bGVzIGFuZCBydW5zIHRoZSBtb3N0IGJhc2ljIHN0dWZmIGJ1dCB0aGlzIGlzIG1vcmUgZm9yCnNv bGljaXRpbmcgZmVlZGJhY2sgYW5kIHJldmlldy4KClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1 bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwu dmV0dGVyQGZmd2xsLmNoPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j ICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgIHwgMjcg KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ndHQuYyAgIHwgIDYgKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu aCAgIHwgIDcgKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyB8 ICA4ICsrLS0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDI0IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggNmExNWZiNi4uNzNk OThjYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTE1Niw4ICsxNTYsOCBA QCBkZXNjcmliZV9vYmooc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQogCQkJc2VxX3B1dHMobSwgIiAocHAiKTsKIAkJZWxzZQogCQkJc2VxX3B1dHMo bSwgIiAoZyIpOwotCQlzZXFfcHJpbnRmKG0sICJndHQgb2Zmc2V0OiAlMDhseCwgc2l6ZTogJTA4 bHgpIiwKLQkJCSAgIHZtYS0+bm9kZS5zdGFydCwgdm1hLT5ub2RlLnNpemUpOworCQlzZXFfcHJp bnRmKG0sICJndHQgb2Zmc2V0OiAlMDhseCwgc2l6ZTogJTA4bHgsIGlkOiAldSkiLAorCQkJICAg dm1hLT5ub2RlLnN0YXJ0LCB2bWEtPm5vZGUuc2l6ZSwgdm1hLT5pZCk7CiAJfQogCWlmIChvYmot PnN0b2xlbikKIAkJc2VxX3ByaW50ZihtLCAiIChzdG9sZW46ICUwOGx4KSIsIG9iai0+c3RvbGVu LT5zdGFydCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCAyNTVhNDMxLi43ZjI4M2Q4IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTIwMDksOCArMjAwOSw3IEBAIGk5MTVfZ2VtX3No cmluayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQlkcm1fZ2VtX29iamVj dF9yZWZlcmVuY2UoJm9iai0+YmFzZSk7CiAKIAkJCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh2 bWEsIHYsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykKLQkJCQlpZiAoaTkxNV92bWFfdW5iaW5k KHZtYSkpCi0JCQkJCWJyZWFrOworCQkJCWk5MTVfdm1hX3VuYmluZCh2bWEpOwogCiAJCQlpZiAo aTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlcyhvYmopID09IDApCiAJCQkJY291bnQgKz0gb2JqLT5i YXNlLnNpemUgPj4gUEFHRV9TSElGVDsKQEAgLTIyMTEsMTcgKzIyMTAsMTQgQEAgdm9pZCBpOTE1 X3ZtYV9tb3ZlX3RvX2FjdGl2ZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKIHN0YXRpYyB2b2lkCiBp OTE1X2dlbV9vYmplY3RfbW92ZV90b19pbmFjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IG9iai0+YmFz ZS5kZXYtPmRldl9wcml2YXRlOwotCXN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtOwogCXN0 cnVjdCBpOTE1X3ZtYSAqdm1hOwogCiAJQlVHX09OKG9iai0+YmFzZS53cml0ZV9kb21haW4gJiB+ STkxNV9HRU1fR1BVX0RPTUFJTlMpOwogCUJVR19PTighb2JqLT5hY3RpdmUpOwogCi0JbGlzdF9m b3JfZWFjaF9lbnRyeSh2bSwgJmRldl9wcml2LT52bV9saXN0LCBnbG9iYWxfbGluaykgewotCQl2 bWEgPSBpOTE1X2dlbV9vYmpfdG9fdm1hKG9iaiwgdm0pOwotCQlpZiAodm1hICYmICFsaXN0X2Vt cHR5KCZ2bWEtPm1tX2xpc3QpKQotCQkJbGlzdF9tb3ZlX3RhaWwoJnZtYS0+bW1fbGlzdCwgJnZt LT5pbmFjdGl2ZV9saXN0KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xp c3QsIHZtYV9saW5rKSB7CisJCWlmICghbGlzdF9lbXB0eSgmdm1hLT5tbV9saXN0KSkKKwkJCWxp c3RfbW92ZV90YWlsKCZ2bWEtPm1tX2xpc3QsICZ2bWEtPnZtLT5pbmFjdGl2ZV9saXN0KTsKIAl9 CiAKIAlpbnRlbF9mYl9vYmpfZmx1c2gob2JqLCB0cnVlKTsKQEAgLTQ0OTMsNyArNDQ4OSw3IEBA IHN0cnVjdCBpOTE1X3ZtYSAqaTkxNV9nZW1fb2JqX3RvX3ZtYShzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqLAogewogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwogCWxpc3RfZm9yX2VhY2hf ZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgdm1hX2xpbmspCi0JCWlmICh2bWEtPnZtID09IHZt KQorCQlpZiAodm1hLT52bSA9PSB2bSAmJiB2bWEtPmlkID09IFZNQV9JRF9ERUZBVUxUKQogCQkJ cmV0dXJuIHZtYTsKIAogCXJldHVybiBOVUxMOwpAQCAtNTE4OCw3ICs1MTg0LDcgQEAgdW5zaWdu ZWQgbG9uZyBpOTE1X2dlbV9vYmpfb2Zmc2V0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv LAogCVdBUk5fT04odm0gPT0gJmRldl9wcml2LT5tbS5hbGlhc2luZ19wcGd0dC0+YmFzZSk7CiAK IAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm8tPnZtYV9saXN0LCB2bWFfbGluaykgewotCQlp ZiAodm1hLT52bSA9PSB2bSkKKwkJaWYgKHZtYS0+dm0gPT0gdm0gJiYgdm1hLT5pZCA9PSBWTUFf SURfREVGQVVMVCkKIAkJCXJldHVybiB2bWEtPm5vZGUuc3RhcnQ7CiAKIAl9CkBAIC01MzM2LDkg KzUzMzIsMTIgQEAgc3RydWN0IGk5MTVfdm1hICppOTE1X2dlbV9vYmpfdG9fZ2d0dChzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwogCi0J dm1hID0gbGlzdF9maXJzdF9lbnRyeSgmb2JqLT52bWFfbGlzdCwgdHlwZW9mKCp2bWEpLCB2bWFf bGluayk7Ci0JaWYgKHZtYS0+dm0gIT0gaTkxNV9vYmpfdG9fZ2d0dChvYmopKQotCQlyZXR1cm4g TlVMTDsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIHZtYV9saW5r KSB7CisJCWlmICh2bWEtPnZtICE9IGk5MTVfb2JqX3RvX2dndHQob2JqKSkKKwkJCWNvbnRpbnVl OworCQlpZiAodm1hLT5pZCA9PSBWTUFfSURfREVGQVVMVCkKKwkJCXJldHVybiB2bWE7CisJfQog Ci0JcmV0dXJuIHZtYTsKKwlyZXR1cm4gTlVMTDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMKaW5kZXggODE0YTgwNS4uZTRlZTJhYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMKQEAgLTIxMjcsNyArMjEyNyw4IEBAIGludCBpOTE1X2dlbV9ndHRfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogfQogCiBzdGF0aWMgc3RydWN0IGk5MTVfdm1hICpfX2k5MTVfZ2Vt X3ZtYV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKLQkJCQkJICAgICAg c3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCisJCQkJCSAgICAgIHN0cnVjdCBpOTE1X2Fk ZHJlc3Nfc3BhY2UgKnZtLAorCQkJCQkgICAgICB1bnNpZ25lZCBpbnQgaWQpCiB7CiAJc3RydWN0 IGk5MTVfdm1hICp2bWEgPSBremFsbG9jKHNpemVvZigqdm1hKSwgR0ZQX0tFUk5FTCk7CiAJaWYg KHZtYSA9PSBOVUxMKQpAQCAtMjEzOCw2ICsyMTM5LDcgQEAgc3RhdGljIHN0cnVjdCBpOTE1X3Zt YSAqX19pOTE1X2dlbV92bWFfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmos CiAJSU5JVF9MSVNUX0hFQUQoJnZtYS0+ZXhlY19saXN0KTsKIAl2bWEtPnZtID0gdm07CiAJdm1h LT5vYmogPSBvYmo7CisJdm1hLT5pZCA9IGlkOwogCiAJc3dpdGNoIChJTlRFTF9JTkZPKHZtLT5k ZXYpLT5nZW4pIHsKIAljYXNlIDk6CkBAIC0yMTgzLDcgKzIxODUsNyBAQCBpOTE1X2dlbV9vYmpf bG9va3VwX29yX2NyZWF0ZV92bWEoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAog CXZtYSA9IGk5MTVfZ2VtX29ial90b192bWEob2JqLCB2bSk7CiAJaWYgKCF2bWEpCi0JCXZtYSA9 IF9faTkxNV9nZW1fdm1hX2NyZWF0ZShvYmosIHZtKTsKKwkJdm1hID0gX19pOTE1X2dlbV92bWFf Y3JlYXRlKG9iaiwgdm0sIFZNQV9JRF9ERUZBVUxUKTsKIAogCXJldHVybiB2bWE7CiB9CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCmluZGV4IGQwNTYyZDAuLjY2YmM0NGIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCkBAIC0xMjgsNiArMTI4LDEzIEBAIHN0cnVjdCBpOTE1 X3ZtYSB7CiAjZGVmaW5lIExPQ0FMX0JJTkQJKDE8PDEpCiAjZGVmaW5lIFBURV9SRUFEX09OTFkJ KDE8PDIpCiAJdW5zaWduZWQgaW50IGJvdW5kIDogNDsKKwkvKioKKwkgKiBXaXRoIG11bHRpcGxl IFZNQSBtYXBwaW5ncyBwZXIgb2JqZWN0IGlkIGRpc3Rpbmd1aXNoZXMgYmV0d2VlbgorCSAqIHRo ZSBvbmVzIGluIHRoZSBzYW1lIGFkZHJlc3Mgc3BhY2UuIFRoZSBkZWZhdWx0IG9uZSBvZiB6ZXJv IGlzCisJICogZm9yIHVzZXJzIG9mIHRoZSBsZWdhY3kgQVBJLgorCSAqLworI2RlZmluZSBWTUFf SURfREVGQVVMVAkoMCkKKwl1bnNpZ25lZCBpbnQgaWQ7CiAKIAkvKiogVGhpcyBvYmplY3QncyBw bGFjZSBvbiB0aGUgYWN0aXZlL2luYWN0aXZlIGxpc3RzICovCiAJc3RydWN0IGxpc3RfaGVhZCBt bV9saXN0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3Iu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKaW5kZXggODBmMGM4MC4u NTBmNDI5NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3Iu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCkBAIC03MTksMTAg KzcxOSw4IEBAIHN0YXRpYyB1MzIgY2FwdHVyZV9waW5uZWRfYm8oc3RydWN0IGRybV9pOTE1X2Vy cm9yX2J1ZmZlciAqZXJyLAogCQkJYnJlYWs7CiAKIAkJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEs ICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykKLQkJCWlmICh2bWEtPnZtID09IHZtICYmIHZtYS0+ cGluX2NvdW50ID4gMCkgeworCQkJaWYgKHZtYS0+dm0gPT0gdm0gJiYgdm1hLT5waW5fY291bnQg PiAwKQogCQkJCWNhcHR1cmVfYm8oZXJyKyssIHZtYSk7Ci0JCQkJYnJlYWs7Ci0JCQl9CiAJfQog CiAJcmV0dXJuIGVyciAtIGZpcnN0OwpAQCAtMTA5OCwxMCArMTA5Niw4IEBAIHN0YXRpYyB2b2lk IGk5MTVfZ2VtX2NhcHR1cmVfdm0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAog CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShvYmosICZkZXZfcHJpdi0+bW0uYm91bmRfbGlzdCwgZ2xv YmFsX2xpc3QpIHsKIAkJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCB2 bWFfbGluaykKLQkJCWlmICh2bWEtPnZtID09IHZtICYmIHZtYS0+cGluX2NvdW50ID4gMCkgewor CQkJaWYgKHZtYS0+dm0gPT0gdm0gJiYgdm1hLT5waW5fY291bnQgPiAwKQogCQkJCWkrKzsKLQkJ CQlicmVhazsKLQkJCX0KIAl9CiAJZXJyb3ItPnBpbm5lZF9ib19jb3VudFtuZHhdID0gaSAtIGVy cm9yLT5hY3RpdmVfYm9fY291bnRbbmR4XTsKIAotLSAKMi4xLjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==