From mboxrd@z Thu Jan 1 00:00:00 1970 From: changbin.du@intel.com Subject: [PATCH v3] drm/i915: Add interface to reserve fence registers for vGPU Date: Mon, 4 Sep 2017 16:01:01 +0800 Message-ID: <1504512061-5892-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 dG8gdGhlIGZlbmNlIG1hbmFnZW1lbnQgY29kZToKIC0gaTkxNV9yZXNlcnZlX2ZlbmNlKCkgd2ls bCB0cnkgdG8gZmluZCBhIGZyZWUgZmVuY2UgZnJvbSBmZW5jZV9saXN0CiAgIGFuZCBmb3JjZS1y ZW1vdmUgdm1hIGlmIG5lZWQuCiAtIGk5MTVfdW5yZXNlcnZlX2ZlbmNlKCkgcmVjbGFpbSBhIHJl c2VydmVkIGZlbmNlIGFmdGVyIHZHUFUgaGFzCiAgIGZpbmlzaGVkLgoKV2l0aCB0aGlzIGNoYW5n ZSwgdGhlIGZlbmNlIG1hbmFnZW1lbnQgaXMgbW9yZSBjbGVhciB0byB3b3JrIHdpdGggdkdQVS4K R1ZUZyBkbyBub3QgbmVlZCByZW1vdmUgZmVuY2UgZnJvbSBmZW5jZV9saXN0IGluIHByaXZhdGUu Cgp2MzogKENocmlzKQogIC0gQWRkIHN0cnVjdF9tdXRleCBsb2NrIGFzc2VydGlvbi4KICAtIE9u bHkgY291bnQgZm9yIHVucGlubmVkIGZlbmNlLgoKdjI6IChDaHJpcykKICAtIFJlbmFtZSB0aGUg bmV3IGFwaSBmb3Igc3ltbWV0cnkuCiAgLSBBZGQgc2FmZWd1YXJkIHRvIGVuc3VyZSBhdCBsZWFz dCAxIGZlbmNlIHJlbWFpbmVkIGZvciBob3N0IGRpc3BsYXkuCgpTaWduZWQtb2ZmLWJ5OiBDaGFu Z2JpbiBEdSA8Y2hhbmdiaW4uZHVAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29u IDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0 L2FwZXJ0dXJlX2dtLmMgICAgfCAyNiArKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oICAgICAgICAgICB8ICAzICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9mZW5jZV9yZWcuYyB8IDQ5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IDMgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2FwZXJ0dXJlX2dtLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndnQvYXBlcnR1cmVfZ20uYwppbmRleCBjYTNkMTkyLi43YzllYzRmIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvYXBlcnR1cmVfZ20uYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvYXBlcnR1cmVfZ20uYwpAQCAtMTczLDggKzE3Myw4IEBA IHN0YXRpYyB2b2lkIGZyZWVfdmdwdV9mZW5jZShzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSkKIAlf Y2xlYXJfdmdwdV9mZW5jZSh2Z3B1KTsKIAlmb3IgKGkgPSAwOyBpIDwgdmdwdV9mZW5jZV9zeih2 Z3B1KTsgaSsrKSB7CiAJCXJlZyA9IHZncHUtPmZlbmNlLnJlZ3NbaV07Ci0JCWxpc3RfYWRkX3Rh aWwoJnJlZy0+bGluaywKLQkJCSAgICAgICZkZXZfcHJpdi0+bW0uZmVuY2VfbGlzdCk7CisJCWk5 MTVfdW5yZXNlcnZlX2ZlbmNlKHJlZyk7CisJCXZncHUtPmZlbmNlLnJlZ3NbaV0gPSBOVUxMOwog CX0KIAltdXRleF91bmxvY2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKIApAQCAtMTg3 LDI0ICsxODcsMTkgQEAgc3RhdGljIGludCBhbGxvY192Z3B1X2ZlbmNlKHN0cnVjdCBpbnRlbF92 Z3B1ICp2Z3B1KQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd2dC0+ZGV2 X3ByaXY7CiAJc3RydWN0IGRybV9pOTE1X2ZlbmNlX3JlZyAqcmVnOwogCWludCBpOwotCXN0cnVj dCBsaXN0X2hlYWQgKnBvcywgKnE7CiAKIAlpbnRlbF9ydW50aW1lX3BtX2dldChkZXZfcHJpdik7 CiAKIAkvKiBSZXF1ZXN0IGZlbmNlcyBmcm9tIGhvc3QgKi8KIAltdXRleF9sb2NrKCZkZXZfcHJp di0+ZHJtLnN0cnVjdF9tdXRleCk7Ci0JaSA9IDA7Ci0JbGlzdF9mb3JfZWFjaF9zYWZlKHBvcywg cSwgJmRldl9wcml2LT5tbS5mZW5jZV9saXN0KSB7Ci0JCXJlZyA9IGxpc3RfZW50cnkocG9zLCBz dHJ1Y3QgZHJtX2k5MTVfZmVuY2VfcmVnLCBsaW5rKTsKLQkJaWYgKHJlZy0+cGluX2NvdW50IHx8 IHJlZy0+dm1hKQotCQkJY29udGludWU7Ci0JCWxpc3RfZGVsKHBvcyk7CisKKwlmb3IgKGkgPSAw OyBpIDwgdmdwdV9mZW5jZV9zeih2Z3B1KTsgaSsrKSB7CisJCXJlZyA9IGk5MTVfcmVzZXJ2ZV9m ZW5jZShkZXZfcHJpdik7CisJCWlmIChJU19FUlIocmVnKSkKKwkJCWdvdG8gb3V0X2ZyZWVfZmVu Y2U7CisKIAkJdmdwdS0+ZmVuY2UucmVnc1tpXSA9IHJlZzsKLQkJaWYgKCsraSA9PSB2Z3B1X2Zl bmNlX3N6KHZncHUpKQotCQkJYnJlYWs7CiAJfQotCWlmIChpICE9IHZncHVfZmVuY2Vfc3oodmdw dSkpCi0JCWdvdG8gb3V0X2ZyZWVfZmVuY2U7CiAKIAlfY2xlYXJfdmdwdV9mZW5jZSh2Z3B1KTsK IApAQCAtMjEyLDEzICsyMDcsMTQgQEAgc3RhdGljIGludCBhbGxvY192Z3B1X2ZlbmNlKHN0cnVj dCBpbnRlbF92Z3B1ICp2Z3B1KQogCWludGVsX3J1bnRpbWVfcG1fcHV0KGRldl9wcml2KTsKIAly ZXR1cm4gMDsKIG91dF9mcmVlX2ZlbmNlOgorCWd2dF92Z3B1X2VycigiRmFpbGVkIHRvIGFsbG9j IGZlbmNlc1xuIik7CiAJLyogUmV0dXJuIGZlbmNlcyB0byBob3N0LCBpZiBmYWlsICovCiAJZm9y IChpID0gMDsgaSA8IHZncHVfZmVuY2Vfc3oodmdwdSk7IGkrKykgewogCQlyZWcgPSB2Z3B1LT5m ZW5jZS5yZWdzW2ldOwogCQlpZiAoIXJlZykKIAkJCWNvbnRpbnVlOwotCQlsaXN0X2FkZF90YWls KCZyZWctPmxpbmssCi0JCQkgICAgICAmZGV2X3ByaXYtPm1tLmZlbmNlX2xpc3QpOworCQlpOTE1 X3VucmVzZXJ2ZV9mZW5jZShyZWcpOworCQl2Z3B1LT5mZW5jZS5yZWdzW2ldID0gTlVMTDsKIAl9 CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAJaW50ZWxfcnVu dGltZV9wbV9wdXQoZGV2X3ByaXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMDY0YmYw Zi4uN2MzNWQ1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0zNjczLDYgKzM2NzMsOSBA QCBpOTE1X3ZtX3RvX3BwZ3R0KHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQogLyogaTkx NV9nZW1fZmVuY2VfcmVnLmMgKi8KIGludCBfX211c3RfY2hlY2sgaTkxNV92bWFfZ2V0X2ZlbmNl KHN0cnVjdCBpOTE1X3ZtYSAqdm1hKTsKIGludCBfX211c3RfY2hlY2sgaTkxNV92bWFfcHV0X2Zl bmNlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKTsKK3N0cnVjdCBkcm1faTkxNV9mZW5jZV9yZWcgKgor aTkxNV9yZXNlcnZlX2ZlbmNlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cit2 b2lkIGk5MTVfdW5yZXNlcnZlX2ZlbmNlKHN0cnVjdCBkcm1faTkxNV9mZW5jZV9yZWcgKmZlbmNl KTsKIAogdm9pZCBpOTE1X2dlbV9yZXZva2VfZmVuY2VzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdik7CiB2b2lkIGk5MTVfZ2VtX3Jlc3RvcmVfZmVuY2VzKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9mZW5jZV9yZWcuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ZlbmNl X3JlZy5jCmluZGV4IDVmZTJjZDguLmRjMzk3NTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2ZlbmNlX3JlZy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2ZlbmNlX3JlZy5jCkBAIC0zNjAsNiArMzYwLDU1IEBAIGk5MTVfdm1hX2dldF9mZW5j ZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKIH0KIAogLyoqCisgKiBpOTE1X3Jlc2VydmVfZmVuY2Ug LSBSZXNlcnZlIGEgZmVuY2UgZm9yIHZHUFUKKyAqIEBkZXZfcHJpdjogaTkxNSBkZXZpY2UgcHJp dmF0ZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gd2Fsa3MgdGhlIGZlbmNlIHJlZ3MgbG9va2luZyBm b3IgYSBmcmVlIG9uZSBhbmQgcmVtb3ZlCisgKiBpdCBmcm9tIHRoZSBmZW5jZV9saXN0LiBJdCBp cyB1c2VkIHRvIHJlc2VydmUgZmVuY2UgZm9yIHZHUFUgdG8gdXNlLgorICovCitzdHJ1Y3QgZHJt X2k5MTVfZmVuY2VfcmVnICoKK2k5MTVfcmVzZXJ2ZV9mZW5jZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCit7CisJc3RydWN0IGRybV9pOTE1X2ZlbmNlX3JlZyAqZmVuY2U7CisJ aW50IGNvdW50ID0gMDsKKwlpbnQgcmV0OworCisJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3By aXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOworCisJLyogS2VlcCBhdCBsZWFzdCBvbmUgZmVuY2UgYXZh aWxhYmxlIGZvciB0aGUgZGlzcGxheSBlbmdpbmUuICovCisJbGlzdF9mb3JfZWFjaF9lbnRyeShm ZW5jZSwgJmRldl9wcml2LT5tbS5mZW5jZV9saXN0LCBsaW5rKQorCQljb3VudCArPSAhZmVuY2Ut PnBpbl9jb3VudDsKKwlpZiAoY291bnQgPD0gMSkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT1NQQyk7 CisKKwlmZW5jZSA9IGZlbmNlX2ZpbmQoZGV2X3ByaXYpOworCWlmIChJU19FUlIoZmVuY2UpKQor CQlyZXR1cm4gZmVuY2U7CisKKwlpZiAoZmVuY2UtPnZtYSkgeworCQkvKiBGb3JjZS1yZW1vdmUg ZmVuY2UgZnJvbSBWTUEgKi8KKwkJcmV0ID0gZmVuY2VfdXBkYXRlKGZlbmNlLCBOVUxMKTsKKwkJ aWYgKHJldCkKKwkJCXJldHVybiBFUlJfUFRSKHJldCk7CisJfQorCisJbGlzdF9kZWwoJmZlbmNl LT5saW5rKTsKKwlyZXR1cm4gZmVuY2U7Cit9CisKKy8qKgorICogaTkxNV91bnJlc2VydmVfZmVu Y2UgLSBSZWNsYWltIGEgcmVzZXJ2ZWQgZmVuY2UKKyAqIEBmZW5jZTogdGhlIGZlbmNlIHJlZwor ICoKKyAqIFRoaXMgZnVuY3Rpb24gYWRkIGEgcmVzZXJ2ZWQgZmVuY2UgcmVnaXN0ZXIgZnJvbSB2 R1BVIHRvIHRoZSBmZW5jZV9saXN0LgorICovCit2b2lkIGk5MTVfdW5yZXNlcnZlX2ZlbmNlKHN0 cnVjdCBkcm1faTkxNV9mZW5jZV9yZWcgKmZlbmNlKQoreworCWxvY2tkZXBfYXNzZXJ0X2hlbGQo JmZlbmNlLT5pOTE1LT5kcm0uc3RydWN0X211dGV4KTsKKwlsaXN0X2FkZF90YWlsKCZmZW5jZS0+ bGluaywgJmZlbmNlLT5pOTE1LT5tbS5mZW5jZV9saXN0KTsKK30KKworLyoqCiAgKiBpOTE1X2dl bV9yZXZva2VfZmVuY2VzIC0gcmV2b2tlIGZlbmNlIHN0YXRlCiAgKiBAZGV2X3ByaXY6IGk5MTUg ZGV2aWNlIHByaXZhdGUKICAqCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==