From mboxrd@z Thu Jan 1 00:00:00 1970 From: changbin.du@intel.com Subject: [PATCH] drm/i915: Add interface to reserve fence registers for vGPU Date: Wed, 30 Aug 2017 16:54:21 +0800 Message-ID: <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: 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 dG8gdGhlIGZlbmNlIG1hbmFnZW1lbnQgY29kZToKIC0gaTkxNV9yZXNlcnZlX29uZV9mZW5jZSgp IHdpbGwgdHJ5IHRvIGZpbmQgYSBmcmVlIGZlbmNlIGZyb20gZmVuY2VfbGlzdAogICBhbmQgZm9y Y2UtcmVtb3ZlIHZtYSBpZiBuZWVkLgogLSBpOTE1X2dpdmViYWNrX3Jlc2VydmVkX2ZlbmNlKCkg cmVjbGFpbSBhIHJlc2VydmVkIGZlbmNlIGFmdGVyIHZHUFUgaGFzCiAgIGZpbmlzaGVkLgoKV2l0 aCB0aGlzIGNoYW5nZSwgdGhlIGZlbmNlIG1hbmFnZW1lbnQgaXMgbW9yZSBjbGVhciB0byB3b3Jr IHdpdGggdkdQVS4KR1ZUZyBkbyBub3QgbmVlZCByZW1vdmUgZmVuY2UgZnJvbSBmZW5jZV9saXN0 IGluIHByaXZhdGUuCgpTaWduZWQtb2ZmLWJ5OiBDaGFuZ2JpbiBEdSA8Y2hhbmdiaW4uZHVAaW50 ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9hcGVydHVyZV9nbS5jICAgIHwg MjYgKysrKysrKysrLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICAgICAgICAgICB8ICAzICsrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZmVuY2Vf cmVnLmMgfCAzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5n ZWQsIDUzIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d2dC9hcGVydHVyZV9nbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3Z0L2FwZXJ0dXJlX2dtLmMKaW5kZXggY2EzZDE5Mi4uMjlmMWJmNyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2FwZXJ0dXJlX2dtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3Z0L2FwZXJ0dXJlX2dtLmMKQEAgLTE3Myw4ICsxNzMsOCBAQCBzdGF0aWMgdm9pZCBm cmVlX3ZncHVfZmVuY2Uoc3RydWN0IGludGVsX3ZncHUgKnZncHUpCiAJX2NsZWFyX3ZncHVfZmVu Y2UodmdwdSk7CiAJZm9yIChpID0gMDsgaSA8IHZncHVfZmVuY2Vfc3oodmdwdSk7IGkrKykgewog CQlyZWcgPSB2Z3B1LT5mZW5jZS5yZWdzW2ldOwotCQlsaXN0X2FkZF90YWlsKCZyZWctPmxpbmss Ci0JCQkgICAgICAmZGV2X3ByaXYtPm1tLmZlbmNlX2xpc3QpOworCQlpOTE1X2dpdmViYWNrX3Jl c2VydmVkX2ZlbmNlKHJlZyk7CisJCXZncHUtPmZlbmNlLnJlZ3NbaV0gPSBOVUxMOwogCX0KIAlt dXRleF91bmxvY2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKIApAQCAtMTg3LDI0ICsx ODcsMTkgQEAgc3RhdGljIGludCBhbGxvY192Z3B1X2ZlbmNlKHN0cnVjdCBpbnRlbF92Z3B1ICp2 Z3B1KQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd2dC0+ZGV2X3ByaXY7 CiAJc3RydWN0IGRybV9pOTE1X2ZlbmNlX3JlZyAqcmVnOwogCWludCBpOwotCXN0cnVjdCBsaXN0 X2hlYWQgKnBvcywgKnE7CiAKIAlpbnRlbF9ydW50aW1lX3BtX2dldChkZXZfcHJpdik7CiAKIAkv KiBSZXF1ZXN0IGZlbmNlcyBmcm9tIGhvc3QgKi8KIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZHJt LnN0cnVjdF9tdXRleCk7Ci0JaSA9IDA7Ci0JbGlzdF9mb3JfZWFjaF9zYWZlKHBvcywgcSwgJmRl dl9wcml2LT5tbS5mZW5jZV9saXN0KSB7Ci0JCXJlZyA9IGxpc3RfZW50cnkocG9zLCBzdHJ1Y3Qg ZHJtX2k5MTVfZmVuY2VfcmVnLCBsaW5rKTsKLQkJaWYgKHJlZy0+cGluX2NvdW50IHx8IHJlZy0+ dm1hKQotCQkJY29udGludWU7Ci0JCWxpc3RfZGVsKHBvcyk7CisKKwlmb3IgKGkgPSAwOyBpIDwg dmdwdV9mZW5jZV9zeih2Z3B1KTsgaSsrKSB7CisJCXJlZyA9IGk5MTVfcmVzZXJ2ZV9vbmVfZmVu Y2UoZGV2X3ByaXYpOworCQlpZiAoSVNfRVJSKHJlZykpCisJCQlnb3RvIG91dF9mcmVlX2ZlbmNl OworCiAJCXZncHUtPmZlbmNlLnJlZ3NbaV0gPSByZWc7Ci0JCWlmICgrK2kgPT0gdmdwdV9mZW5j ZV9zeih2Z3B1KSkKLQkJCWJyZWFrOwogCX0KLQlpZiAoaSAhPSB2Z3B1X2ZlbmNlX3N6KHZncHUp KQotCQlnb3RvIG91dF9mcmVlX2ZlbmNlOwogCiAJX2NsZWFyX3ZncHVfZmVuY2UodmdwdSk7CiAK QEAgLTIxMiwxMyArMjA3LDE0IEBAIHN0YXRpYyBpbnQgYWxsb2NfdmdwdV9mZW5jZShzdHJ1Y3Qg aW50ZWxfdmdwdSAqdmdwdSkKIAlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7CiAJcmV0 dXJuIDA7CiBvdXRfZnJlZV9mZW5jZToKKwlndnRfdmdwdV9lcnIoIkZhaWxlZCB0byBhbGxvYyBm ZW5jZXNcbiIpOwogCS8qIFJldHVybiBmZW5jZXMgdG8gaG9zdCwgaWYgZmFpbCAqLwogCWZvciAo aSA9IDA7IGkgPCB2Z3B1X2ZlbmNlX3N6KHZncHUpOyBpKyspIHsKIAkJcmVnID0gdmdwdS0+ZmVu Y2UucmVnc1tpXTsKIAkJaWYgKCFyZWcpCiAJCQljb250aW51ZTsKLQkJbGlzdF9hZGRfdGFpbCgm cmVnLT5saW5rLAotCQkJICAgICAgJmRldl9wcml2LT5tbS5mZW5jZV9saXN0KTsKKwkJaTkxNV9n aXZlYmFja19yZXNlcnZlZF9mZW5jZShyZWcpOworCQl2Z3B1LT5mZW5jZS5yZWdzW2ldID0gTlVM TDsKIAl9CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAJaW50 ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXgg NzU4N2VmNS4uYzUwNWI0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0zNjUwLDYgKzM2 NTAsOSBAQCBpOTE1X3ZtX3RvX3BwZ3R0KHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQog LyogaTkxNV9nZW1fZmVuY2VfcmVnLmMgKi8KIGludCBfX211c3RfY2hlY2sgaTkxNV92bWFfZ2V0 X2ZlbmNlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKTsKIGludCBfX211c3RfY2hlY2sgaTkxNV92bWFf cHV0X2ZlbmNlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKTsKK3N0cnVjdCBkcm1faTkxNV9mZW5jZV9y ZWcgKgoraTkxNV9yZXNlcnZlX29uZV9mZW5jZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpOwordm9pZCBpOTE1X2dpdmViYWNrX3Jlc2VydmVkX2ZlbmNlKHN0cnVjdCBkcm1faTkx NV9mZW5jZV9yZWcgKmZlbmNlKTsKIAogdm9pZCBpOTE1X2dlbV9yZXZva2VfZmVuY2VzKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGk5MTVfZ2VtX3Jlc3RvcmVfZmVu Y2VzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9mZW5jZV9yZWcuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2ZlbmNlX3JlZy5jCmluZGV4IDVmZTJjZDguLjYzZTRlOTQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ZlbmNlX3JlZy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ZlbmNlX3JlZy5jCkBAIC0zNjAsNiArMzYwLDQ1IEBA IGk5MTVfdm1hX2dldF9mZW5jZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKIH0KIAogLyoqCisgKiBp OTE1X3Jlc2VydmVfb25lX2ZlbmNlIC0gUmVzZXJ2ZSBhIGZlbmNlIGZvciB2R1BVCisgKiBAZGV2 X3ByaXY6IGk5MTUgZGV2aWNlIHByaXZhdGUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHdhbGtzIHRo ZSBmZW5jZSByZWdzIGxvb2tpbmcgZm9yIGEgZnJlZSBvbmUgYW5kIHJlbW92ZQorICogaXQgZnJv bSB0aGUgZmVuY2VfbGlzdC4gSXQgaXMgdXNlZCB0byByZXNlcnZlIGZlbmNlIGZvciB2R1BVIHRv IHVzZS4KKyAqLworc3RydWN0IGRybV9pOTE1X2ZlbmNlX3JlZyAqCitpOTE1X3Jlc2VydmVfb25l X2ZlbmNlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlzdHJ1Y3QgZHJt X2k5MTVfZmVuY2VfcmVnICpmZW5jZTsKKwlpbnQgcmV0OworCisJZmVuY2UgPSBmZW5jZV9maW5k KGRldl9wcml2KTsKKwlpZiAoSVNfRVJSKGZlbmNlKSkKKwkJcmV0dXJuIGZlbmNlOworCisJaWYg KGZlbmNlLT52bWEpIHsKKwkJLyogRm9yY2UtcmVtb3ZlIGZlbmNlIGZyb20gVk1BICovCisJCXJl dCA9IGZlbmNlX3VwZGF0ZShmZW5jZSwgTlVMTCk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gRVJS X1BUUihyZXQpOworCX0KKworCWxpc3RfZGVsKCZmZW5jZS0+bGluayk7CisJcmV0dXJuIGZlbmNl OworfQorCisvKioKKyAqIGk5MTVfZ2l2ZWJhY2tfcmVzZXJ2ZWRfZmVuY2UgLSBSZWNsYWltIGEg cmVzZXJ2ZWQgZmVuY2UKKyAqIEBmZW5jZTogdGhlIGZlbmNlIHJlZworICoKKyAqIFRoaXMgZnVu Y3Rpb24gYWRkIGEgcmVzZXJ2ZWQgZmVuY2UgcmVnaXN0ZXIgZnJvbSB2R1BVIHRvIHRoZSBmZW5j ZV9saXN0LgorICovCit2b2lkIGk5MTVfZ2l2ZWJhY2tfcmVzZXJ2ZWRfZmVuY2Uoc3RydWN0IGRy bV9pOTE1X2ZlbmNlX3JlZyAqZmVuY2UpCit7CisJbGlzdF9hZGRfdGFpbCgmZmVuY2UtPmxpbmss ICZmZW5jZS0+aTkxNS0+bW0uZmVuY2VfbGlzdCk7Cit9CisKKy8qKgogICogaTkxNV9nZW1fcmV2 b2tlX2ZlbmNlcyAtIHJldm9rZSBmZW5jZSBzdGF0ZQogICogQGRldl9wcml2OiBpOTE1IGRldmlj ZSBwcml2YXRlCiAgKgotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=