From mboxrd@z Thu Jan 1 00:00:00 1970 From: changbin.du@intel.com Subject: [PATCH v2] drm/i915: Add interface to reserve fence registers for vGPU Date: Fri, 1 Sep 2017 15:08:26 +0800 Message-ID: <1504249706-6661-1-git-send-email-changbin.du@intel.com> References: <1504083261-13136-1-git-send-email-changbin.du@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1504083261-13136-1-git-send-email-changbin.du@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: intel-gvt-dev@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQ2hhbmdiaW4gRHUgPGNoYW5nYmluLmR1QGludGVsLmNvbT4KCkluIHRoZSBwYXN0LCB2 R1BVIGFsbG9jIGZlbmNlIHJlZ2lzdGVycyBieSB3YWxraW5nIHRocm91Z2ggbW0uZmVuY2VfbGlz dAp0byBmaW5kIGZlbmNlIHdoaWNoIHBpbl9jb3VudCA9IDAgYW5kIHZtYSBpcyBlbXB0eS4gdkdQ VSBtYXkgbm90IGZpbmQKZW5vdWdoIGZlbmNlIHJlZ2lzdGVycyB0aGlzIHdheS4gQmVjYXVzZSBh IGZlbmNlIGNhbiBiZSBiaW5kIHRvIHZtYSBldmVuCnRob3VnaCBpdCBpcyBub3QgaW4gdXNpbmcu IFdlIGhhdmUgZm91bmQgc3VjaCBmYWlsdXJlIG1hbnkgdGltZXMgdGhlc2UKZGF5cy4KCkFuIG9w dGlvbiB0byByZXNvbHZlIHRoaXMgaXNzdWUgaXMgdGhhdCB3ZSBjYW4gZm9yY2UtcmVtb3ZlIGZl bmNlIGZyb20Kdm1hIGluIHRoaXMgY2FzZS4KClRoaXMgcGF0Y2ggYWRkZWQgdHdvIG5ldyBhcGkg dG8gdGhlIGZlbmNlIG1hbmFnZW1lbnQgY29kZToKIC0gaTkxNV9yZXNlcnZlX2ZlbmNlKCkgd2ls bCB0cnkgdG8gZmluZCBhIGZyZWUgZmVuY2UgZnJvbSBmZW5jZV9saXN0CiAgIGFuZCBmb3JjZS1y ZW1vdmUgdm1hIGlmIG5lZWQuCiAtIGk5MTVfdW5yZXNlcnZlX2ZlbmNlKCkgcmVjbGFpbSBhIHJl c2VydmVkIGZlbmNlIGFmdGVyIHZHUFUgaGFzCiAgIGZpbmlzaGVkLgoKV2l0aCB0aGlzIGNoYW5n ZSwgdGhlIGZlbmNlIG1hbmFnZW1lbnQgaXMgbW9yZSBjbGVhciB0byB3b3JrIHdpdGggdkdQVS4K R1ZUZyBkbyBub3QgbmVlZCByZW1vdmUgZmVuY2UgZnJvbSBmZW5jZV9saXN0IGluIHByaXZhdGUu Cgp2MjogKENocmlzKQogIC0gUmVuYW1lIHRoZSBuZXcgYXBpIGZvciBzeW1tZXRyeS4KICAtIEFk ZCBzYWZlZ3VhcmQgdG8gZW5zdXJlIGF0IGxlYXN0IDEgZmVuY2UgcmVtYWluZWQgZm9yIGhvc3Qg ZGlzcGxheS4KClNpZ25lZC1vZmYtYnk6IENoYW5nYmluIER1IDxjaGFuZ2Jpbi5kdUBpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2FwZXJ0dXJlX2dtLmMgICAgfCAyNiAr KysrKysrKy0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAg ICAgIHwgIDMgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9mZW5jZV9yZWcuYyB8 IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNTgg aW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3Z0L2FwZXJ0dXJlX2dtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvYXBl cnR1cmVfZ20uYwppbmRleCBjYTNkMTkyLi43YzllYzRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndnQvYXBlcnR1cmVfZ20uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dnQvYXBlcnR1cmVfZ20uYwpAQCAtMTczLDggKzE3Myw4IEBAIHN0YXRpYyB2b2lkIGZyZWVfdmdw dV9mZW5jZShzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSkKIAlfY2xlYXJfdmdwdV9mZW5jZSh2Z3B1 KTsKIAlmb3IgKGkgPSAwOyBpIDwgdmdwdV9mZW5jZV9zeih2Z3B1KTsgaSsrKSB7CiAJCXJlZyA9 IHZncHUtPmZlbmNlLnJlZ3NbaV07Ci0JCWxpc3RfYWRkX3RhaWwoJnJlZy0+bGluaywKLQkJCSAg ICAgICZkZXZfcHJpdi0+bW0uZmVuY2VfbGlzdCk7CisJCWk5MTVfdW5yZXNlcnZlX2ZlbmNlKHJl Zyk7CisJCXZncHUtPmZlbmNlLnJlZ3NbaV0gPSBOVUxMOwogCX0KIAltdXRleF91bmxvY2soJmRl dl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKIApAQCAtMTg3LDI0ICsxODcsMTkgQEAgc3RhdGlj IGludCBhbGxvY192Z3B1X2ZlbmNlKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1KQogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd2dC0+ZGV2X3ByaXY7CiAJc3RydWN0IGRybV9p OTE1X2ZlbmNlX3JlZyAqcmVnOwogCWludCBpOwotCXN0cnVjdCBsaXN0X2hlYWQgKnBvcywgKnE7 CiAKIAlpbnRlbF9ydW50aW1lX3BtX2dldChkZXZfcHJpdik7CiAKIAkvKiBSZXF1ZXN0IGZlbmNl cyBmcm9tIGhvc3QgKi8KIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7 Ci0JaSA9IDA7Ci0JbGlzdF9mb3JfZWFjaF9zYWZlKHBvcywgcSwgJmRldl9wcml2LT5tbS5mZW5j ZV9saXN0KSB7Ci0JCXJlZyA9IGxpc3RfZW50cnkocG9zLCBzdHJ1Y3QgZHJtX2k5MTVfZmVuY2Vf cmVnLCBsaW5rKTsKLQkJaWYgKHJlZy0+cGluX2NvdW50IHx8IHJlZy0+dm1hKQotCQkJY29udGlu dWU7Ci0JCWxpc3RfZGVsKHBvcyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgdmdwdV9mZW5jZV9zeih2 Z3B1KTsgaSsrKSB7CisJCXJlZyA9IGk5MTVfcmVzZXJ2ZV9mZW5jZShkZXZfcHJpdik7CisJCWlm IChJU19FUlIocmVnKSkKKwkJCWdvdG8gb3V0X2ZyZWVfZmVuY2U7CisKIAkJdmdwdS0+ZmVuY2Uu cmVnc1tpXSA9IHJlZzsKLQkJaWYgKCsraSA9PSB2Z3B1X2ZlbmNlX3N6KHZncHUpKQotCQkJYnJl YWs7CiAJfQotCWlmIChpICE9IHZncHVfZmVuY2Vfc3oodmdwdSkpCi0JCWdvdG8gb3V0X2ZyZWVf ZmVuY2U7CiAKIAlfY2xlYXJfdmdwdV9mZW5jZSh2Z3B1KTsKIApAQCAtMjEyLDEzICsyMDcsMTQg QEAgc3RhdGljIGludCBhbGxvY192Z3B1X2ZlbmNlKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1KQog CWludGVsX3J1bnRpbWVfcG1fcHV0KGRldl9wcml2KTsKIAlyZXR1cm4gMDsKIG91dF9mcmVlX2Zl bmNlOgorCWd2dF92Z3B1X2VycigiRmFpbGVkIHRvIGFsbG9jIGZlbmNlc1xuIik7CiAJLyogUmV0 dXJuIGZlbmNlcyB0byBob3N0LCBpZiBmYWlsICovCiAJZm9yIChpID0gMDsgaSA8IHZncHVfZmVu Y2Vfc3oodmdwdSk7IGkrKykgewogCQlyZWcgPSB2Z3B1LT5mZW5jZS5yZWdzW2ldOwogCQlpZiAo IXJlZykKIAkJCWNvbnRpbnVlOwotCQlsaXN0X2FkZF90YWlsKCZyZWctPmxpbmssCi0JCQkgICAg ICAmZGV2X3ByaXYtPm1tLmZlbmNlX2xpc3QpOworCQlpOTE1X3VucmVzZXJ2ZV9mZW5jZShyZWcp OworCQl2Z3B1LT5mZW5jZS5yZWdzW2ldID0gTlVMTDsKIAl9CiAJbXV0ZXhfdW5sb2NrKCZkZXZf cHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggNzU4N2VmNS4uNzYzYTcyMCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCkBAIC0zNjUwLDYgKzM2NTAsOSBAQCBpOTE1X3ZtX3RvX3BwZ3R0KHN0 cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQogLyogaTkxNV9nZW1fZmVuY2VfcmVnLmMgKi8K IGludCBfX211c3RfY2hlY2sgaTkxNV92bWFfZ2V0X2ZlbmNlKHN0cnVjdCBpOTE1X3ZtYSAqdm1h KTsKIGludCBfX211c3RfY2hlY2sgaTkxNV92bWFfcHV0X2ZlbmNlKHN0cnVjdCBpOTE1X3ZtYSAq dm1hKTsKK3N0cnVjdCBkcm1faTkxNV9mZW5jZV9yZWcgKgoraTkxNV9yZXNlcnZlX2ZlbmNlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cit2b2lkIGk5MTVfdW5yZXNlcnZlX2Zl bmNlKHN0cnVjdCBkcm1faTkxNV9mZW5jZV9yZWcgKmZlbmNlKTsKIAogdm9pZCBpOTE1X2dlbV9y ZXZva2VfZmVuY2VzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGk5 MTVfZ2VtX3Jlc3RvcmVfZmVuY2VzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9mZW5jZV9yZWcuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ZlbmNlX3JlZy5jCmluZGV4IDVmZTJjZDgu LjQyOWNlNWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ZlbmNl X3JlZy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ZlbmNlX3JlZy5jCkBA IC0zNjAsNiArMzYwLDUwIEBAIGk5MTVfdm1hX2dldF9mZW5jZShzdHJ1Y3QgaTkxNV92bWEgKnZt YSkKIH0KIAogLyoqCisgKiBpOTE1X3Jlc2VydmVfZmVuY2UgLSBSZXNlcnZlIGEgZmVuY2UgZm9y IHZHUFUKKyAqIEBkZXZfcHJpdjogaTkxNSBkZXZpY2UgcHJpdmF0ZQorICoKKyAqIFRoaXMgZnVu Y3Rpb24gd2Fsa3MgdGhlIGZlbmNlIHJlZ3MgbG9va2luZyBmb3IgYSBmcmVlIG9uZSBhbmQgcmVt b3ZlCisgKiBpdCBmcm9tIHRoZSBmZW5jZV9saXN0LiBJdCBpcyB1c2VkIHRvIHJlc2VydmUgZmVu Y2UgZm9yIHZHUFUgdG8gdXNlLgorICovCitzdHJ1Y3QgZHJtX2k5MTVfZmVuY2VfcmVnICoKK2k5 MTVfcmVzZXJ2ZV9mZW5jZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJ c3RydWN0IGRybV9pOTE1X2ZlbmNlX3JlZyAqZmVuY2U7CisJaW50IHJldDsKKworCS8qIEhvc3Qg YXQgbGVhc3QgbmVlZCBvbmUgZmVuY2UgYXZhaWxhYmxlIGZvciBkaXNwbGF5IGVuZ2luZS4gKi8K KwlpZiAodW5saWtlbHkoZGV2X3ByaXYtPm1tLmZlbmNlX2xpc3QucHJldiA9PQorCQkgICAgIGRl dl9wcml2LT5tbS5mZW5jZV9saXN0Lm5leHQpKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PU1BDKTsK KworCWZlbmNlID0gZmVuY2VfZmluZChkZXZfcHJpdik7CisJaWYgKElTX0VSUihmZW5jZSkpCisJ CXJldHVybiBmZW5jZTsKKworCWlmIChmZW5jZS0+dm1hKSB7CisJCS8qIEZvcmNlLXJlbW92ZSBm ZW5jZSBmcm9tIFZNQSAqLworCQlyZXQgPSBmZW5jZV91cGRhdGUoZmVuY2UsIE5VTEwpOworCQlp ZiAocmV0KQorCQkJcmV0dXJuIEVSUl9QVFIocmV0KTsKKwl9CisKKwlsaXN0X2RlbCgmZmVuY2Ut PmxpbmspOworCXJldHVybiBmZW5jZTsKK30KKworLyoqCisgKiBpOTE1X3VucmVzZXJ2ZV9mZW5j ZSAtIFJlY2xhaW0gYSByZXNlcnZlZCBmZW5jZQorICogQGZlbmNlOiB0aGUgZmVuY2UgcmVnCisg KgorICogVGhpcyBmdW5jdGlvbiBhZGQgYSByZXNlcnZlZCBmZW5jZSByZWdpc3RlciBmcm9tIHZH UFUgdG8gdGhlIGZlbmNlX2xpc3QuCisgKi8KK3ZvaWQgaTkxNV91bnJlc2VydmVfZmVuY2Uoc3Ry dWN0IGRybV9pOTE1X2ZlbmNlX3JlZyAqZmVuY2UpCit7CisJbGlzdF9hZGRfdGFpbCgmZmVuY2Ut PmxpbmssICZmZW5jZS0+aTkxNS0+bW0uZmVuY2VfbGlzdCk7Cit9CisKKy8qKgogICogaTkxNV9n ZW1fcmV2b2tlX2ZlbmNlcyAtIHJldm9rZSBmZW5jZSBzdGF0ZQogICogQGRldl9wcml2OiBpOTE1 IGRldmljZSBwcml2YXRlCiAgKgotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=