From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhi Wang Subject: [RFC 03/29] drm/i915: Introduce GVT context creation API Date: Thu, 28 Jan 2016 18:21:25 +0800 Message-ID: <1453976511-27322-4-git-send-email-zhi.a.wang@intel.com> References: <1453976511-27322-1-git-send-email-zhi.a.wang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 9ECE66E7ED for ; Thu, 28 Jan 2016 02:23:49 -0800 (PST) In-Reply-To: <1453976511-27322-1-git-send-email-zhi.a.wang@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, igvt-g@lists.01.org Cc: daniel.vetter@ffwll.ch, david.j.cowperthwaite@intel.com List-Id: intel-gfx@lists.freedesktop.org R1ZUIHdvcmtsb2FkIHNjaGVkdWxlciBuZWVkcyBzcGVjaWFsIGhvc3QgTFJDIGNvbnRleHRzLCB0 aGUgc28gY2FsbGVkICJzaGFkb3cKTFJDIGNvbnRleHQiIHRvIHN1Ym1pdCBndWVzdCB3b3JrbG9h ZCB0byBob3N0IGk5MTUuIER1cmluZyB0aGUgZ3Vlc3QKd29ya2xvYWQgc3VibWlzc2lvbiwgR1ZU IGZpbGxzIHRoZSBzaGFkb3cgTFJDIGNvbnRleHQgd2l0aCB0aGUgY29udGVudCBvZgpndWVzdCBM UkMgY29udGV4dDogZW5naW5lIGNvbnRleHQgaXMgY29waWVkIHdpdGhvdXQgY2hhbmdlcywgcmlu ZyBjb250ZXh0IGlzCm1vc3RseSBvd25lZCBieSBob3N0IGk5MTUsIGV4Y2VwdCB0aGUgUFBHVFQg cm9vdCBwb2ludGVycywgd2hpY2ggd2lsbCBiZQpmaWxsZWQgd2l0aCB0aGUgc2hhZG93IFBQR1RU IHBhZ2UgdGFibGUgcm9vdCBwb2ludGVycyBtYW5hZ2VkIGJ5IEdWVC1nLgoKVGhlIEdWVC1nIHdv cmtsb2FkIHNjaGVkdWxlciBmbG93OgoKICAgICAgICAgKy0tLS0tLS0tLS0tKyAgICAgICAgICAg ICAgICAgICArLS0tLS0tLS0tLS0rCiAgICAgICAgIHwgR1ZUIEd1ZXN0IHwgICAgICAgICAgICAg ICAgICAgfCBHVlQgR3Vlc3QgfAogICAgICAgICArLSstLS0tLV4tLS0rICAgICAgICAgICAgICAg ICAgICstKy0tLS0tXi0tLSsKICAgICAgICAgICB8ICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgIHwKICAgICAgICAgICB8ICAgICB8IEdWVC1nICAgICAgICAgICAgICAgICAgIHwg ICAgIHwgR1ZULWcKdkVMU1Agd3JpdGV8ICAgICB8IGVtdWxhdGVzICAgICB2RUxTUCB3cml0ZXwg ICAgIHwgZW11bGF0ZXMKICAgICAgICAgICB8ICAgICB8IEV4ZWNsaXN0L0NTQiAgICAgICAgICAg IHwgICAgIHwgRXhlY2xpc3QvQ1NCCiAgICAgICAgICAgfCAgICAgfCBTdGF0dXMgICAgICAgICAg ICAgICAgICB8ICAgICB8IFN0YXR1cwogICAgICAgICAgIHwgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgfAogICAgKy0tLS0tLXYtLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tdi0tLS0tKy0tLS0tLS0tLSsKICAgIHwgICAgICAgICAgIEdWVCBWaXJ0dWFsIEV4ZWNsaXN0 IFN1Ym1pc3Npb24gICAgICAgICAgICB8CiAgICArLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKwogICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfAogICAgICAgICAgIHwgUGVyLVZNL1JpbmcgV29ya29hZCBRICAgICAg ICAgfCBQZXItVk0vUmluZyBXb3JrbG9hZCBRCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0r ICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgICAgICstLS12LS0tLS0tLS0rICAg IF4gICAgICAgICAgICAgKy0tLXYtLS0tLS0tLSsKICAgICAgIHxHVlQgV29ya2xvYWR8Li4uIHwg ICAgICAgICAgICAgfEdWVCBXb3JrbG9hZHwuLi4KICAgICAgICstLS0tLS0tLS0tLS0rICAgIHwg ICAgICAgICAgICAgKy0tLS0tLS0tLS0tLSsKICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAg ICAgICAgICAgICAgICAgICAgICAgIHwgUGljayBXb3JrbG9hZCBmcm9tIFEKICAgICstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICB8ICAg ICAgICAgICAgICAgIEdWVCBXb3JrbG9hZCBTY2hlZHVsZXIgICAgICAgICAgICAgICAgfAogICAg Ky0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAqIFNoYWRvdyBndWVzdCBMUkMgY29u dGV4dAogICAgICAgICAgICAgICAgICArLS0tLS0tdi0tLS0tLSsgICogU2hhZG93IGd1ZXN0IHJp bmcgYnVmZmVyCiAgICAgICAgICAgICAgICAgIHwgR1ZUIENvbnRleHQgfCAgKiBTY2FuL1BhdGNo IGd1ZXN0IFJCIGluc3RydWN0aW9ucwogICAgICAgICAgICAgICAgICArLS0tLS0tKy0tLS0tLSsK ICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgICAgICAgICAgICAgICAgICAgIHYKICAg ICAgICAgICAgICBIb3N0IGk5MTUgR0VNIFN1Ym1pc3Npb24KCkd1ZXN0IEVMU1Agc3VibWlzc2lv biB3aWxsIGJlIHdyYXBwZWQgaW50byBhIEdWVCB3b3JrbG9hZCBkYXRhIHN0cnVjdHVyZS4KV2hl biBhIGd1ZXN0IGlzIHNjaGVkdWxlZCwgd29ya2xvYWQgc2NoZWR1bGVyIHBpY2tzIHRoZSBHVlQg d29ya2xvYWQgZnJvbQp0aGUgcGVyLVZNL3JpbmcgUSwgdGhlbiBwcmVwYXJlIHRvIGRpc3BhdGNo IGl0IHRocm91Z2ggaG9zdCBpOTE1IEdFTQpzdWJtaXNzaW9uLgoKVGhlIEdWVCB3b3JrbG9hZCBs aWZlY3ljbGU6CgotIFdvcmtsb2FkIHNjaGVkdWxlciBwb3B1bGF0ZXMgdGhlIEdWVCBMUkMgY29u dGV4dCB3aXRoIHRoZSBjb250ZW50IG9mCmd1ZXN0IExSQyBjb250ZXh0Ci0gV29ya2xvYWQgc2No ZWR1bGVyIHBvcHVsYXRlcyB0aGUgR1ZUIHJpbmcgYnVmZmVyIHdpdGggdGhlIGluc3RydWN0aW9u cwpmcm9tIGd1ZXN0IHJpbmcgYnVmZmVyCi0gV29ya2xvYWQgc2NoZWR1bGVyIHBvcHVsYXRlcyB0 aGUgUERQcyBpbiB0aGUgR1ZUIExSQyBjb250ZXh0IHdpdGggc2hhZG93ClBQR1RUIFBEUHMKLSBX b3JrbG9hZCBzY2hlZHVsZXIgc3VibWl0cyB0aGlzIGNvbnRleHQgdGhyb3VnaCBpOTE1IEdFTSBz dWJtaXNzaW9uCmludGVyZmFjZQotIE9uY2UgdGhlIGk5MTUgZ2VtIHJlcXVlc3QgaXMgZmluaXNo ZWQsIEdWVC1nIHdhaXRzIHVudGlsIHRoZSBHVlQgTFJDIGNvbnRleHQKaXMgaWRsZS4KLSBpOTE1 IExSQyByb3V0aW5lcyBub3RpZmllcyB3b3JrbG9hZCBzY2hlZHVsZXIgdGhlIExSQyBjb250ZXh0 IGlzIGlkbGUuCi0gV29ya2xvYWQgc2NoZWR1bGVyIHVwZGF0ZXMgdGhlIGd1ZXN0IExSQyBjb250 ZXh0IHdpdGggdGhlIGNvbnRlbnQgb2YgR1ZUIExSQwpjb250ZXh0Ci0gRW11bGF0ZSBDU0IgYW5k IGNvbnRleHQgc3dpdGNoIGludGVycnVwdCB0byBndWVzdAoKU2lnbmVkLW9mZi1ieTogWmhpIFdh bmcgPHpoaS5hLndhbmdAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggICAgICAgICB8IDIwICsrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9jb250ZXh0LmMgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKIDIgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCmluZGV4IGRiM2M3OWIuLmZjNWRkZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAt ODkwLDYgKzg5MCwyNCBAQCBzdHJ1Y3QgaW50ZWxfY29udGV4dCB7CiAJfSBlbmdpbmVbSTkxNV9O VU1fUklOR1NdOwogCiAJc3RydWN0IGxpc3RfaGVhZCBsaW5rOworCisJLyogSXMgYSBHVlQgY29u dGV4dCA/ICovCisJYm9vbCBndnRfY29udGV4dDsKKwkvKiBVc2VkIGJ5IEdWVCB3b3JrbG9hZCBz Y2hlZHVsZXIuICovCisJdm9pZCAqZ3Z0X2NvbnRleHRfcHJpdmF0ZV9kYXRhW0k5MTVfTlVNX1JJ TkdTXTsKKwkvKgorCSAqIEFzIEdWVCBjb250ZXh0IG1heSBjb21lcyBmcm9tIGRpZmZlcmVudCBn dWVzdCwKKwkgKiB0aGUgYWRkcmVzc2luZyBtb2RlIG1heSBiZSBkaWZmZXJlbnQKKwkgKi8KKwl1 MzIgZ3Z0X2NvbnRleHRfYWRkcmVzc2luZ19tb2RlW0k5MTVfTlVNX1JJTkdTXTsKKwkvKgorCSAq IENhbGxlZCB3aGVuIEdWVCBjb250ZXh0IGlzIHNjaGVkdWxlZC1pbgorCSAqLworCXZvaWQgKCpn dnRfY29udGV4dF9zY2hlZHVsZV9pbikodm9pZCAqZGF0YSk7CisJLyoKKwkgKiBDYWxsZWQgd2hl biBHVlQgY29udGV4dCBpcyBzY2hlZHVsZWQtb3V0CisJICovCisJdm9pZCAoKmd2dF9jb250ZXh0 X3NjaGVkdWxlX291dCkodm9pZCAqZGF0YSk7CiB9OwogCiBlbnVtIGZiX29wX29yaWdpbiB7CkBA IC0yODY2LDYgKzI4ODQsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqaTkxNV9nZW1f b2JqZWN0X2NyZWF0ZV9mcm9tX2RhdGEoCiB2b2lkIGk5MTVfZ2VtX2ZyZWVfb2JqZWN0KHN0cnVj dCBkcm1fZ2VtX29iamVjdCAqb2JqKTsKIHZvaWQgaTkxNV9nZW1fdm1hX2Rlc3Ryb3koc3RydWN0 IGk5MTVfdm1hICp2bWEpOwogCitzdHJ1Y3QgaW50ZWxfY29udGV4dCAqIGk5MTVfZ2VtX2NyZWF0 ZV9ndnRfY29udGV4dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKKwogLyogRmxhZ3MgdXNlZCBi eSBwaW4vYmluZCZmcmllbmRzLiAqLwogI2RlZmluZSBQSU5fTUFQUEFCTEUJKDE8PDApCiAjZGVm aW5lIFBJTl9OT05CTE9DSwkoMTw8MSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRl eHQuYwppbmRleCA2YTRmNjRiLi40MTA1NDBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fY29udGV4dC5jCkBAIC0yNjAsNiArMjYwLDQ0IEBAIGVycl9vdXQ6CiAJcmV0dXJuIEVSUl9Q VFIocmV0KTsKIH0KIAorc3RydWN0IGludGVsX2NvbnRleHQgKgoraTkxNV9nZW1fY3JlYXRlX2d2 dF9jb250ZXh0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaW50ZWxfY29udGV4 dCAqY3R4OworCWludCByZXQ7CisJaW50IGk7CisKKwltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9t dXRleCk7CisKKwljdHggPSBremFsbG9jKHNpemVvZigqY3R4KSwgR0ZQX0tFUk5FTCk7CisJaWYg KGN0eCA9PSBOVUxMKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCWtyZWZfaW5pdCgm Y3R4LT5yZWYpOworCWxpc3RfYWRkX3RhaWwoJmN0eC0+bGluaywgJmRldl9wcml2LT5jb250ZXh0 X2xpc3QpOworCisJY3R4LT5pOTE1ID0gZGV2X3ByaXY7CisJY3R4LT5maWxlX3ByaXYgPSBOVUxM OworCWN0eC0+dXNlcl9oYW5kbGUgPSAtMTsKKwljdHgtPnJlbWFwX3NsaWNlID0gKDEgPDwgTlVN X0wzX1NMSUNFUyhkZXYpKSAtIDE7CisJY3R4LT5oYW5nX3N0YXRzLmJhbl9wZXJpb2Rfc2Vjb25k cyA9IERSTV9JOTE1X0NUWF9CQU5fUEVSSU9EOworCisJY3R4LT5ndnRfY29udGV4dCA9IHRydWU7 CisKKwlmb3IgKGkgPSAwOyBpIDwgSTkxNV9OVU1fUklOR1M7IGkrKykgeworCQlyZXQgPSBpbnRl bF9scl9jb250ZXh0X2RlZmVycmVkX2FsbG9jKGN0eCwgJmRldl9wcml2LT5yaW5nW2ldKTsKKwkJ aWYgKHJldCkgeworCQkJaTkxNV9nZW1fY29udGV4dF91bnJlZmVyZW5jZShjdHgpOworCQkJY3R4 ID0gTlVMTDsKKwkJCWdvdG8gb3V0OworCQl9CisJfQorb3V0OgorCW11dGV4X3VubG9jaygmZGV2 LT5zdHJ1Y3RfbXV0ZXgpOworCXJldHVybiBjdHg7Cit9CisKIC8qKgogICogVGhlIGRlZmF1bHQg Y29udGV4dCBuZWVkcyB0byBleGlzdCBwZXIgcmluZyB0aGF0IHVzZXMgY29udGV4dHMuIEl0IHN0 b3JlcyB0aGUKICAqIGNvbnRleHQgc3RhdGUgb2YgdGhlIEdQVSBmb3IgYXBwbGljYXRpb25zIHRo YXQgZG9uJ3QgdXRpbGl6ZSBIVyBjb250ZXh0cywgYXMKLS0gCjEuOS4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=