From mboxrd@z Thu Jan 1 00:00:00 1970 From: ankitprasad.r.sharma@intel.com Subject: [PATCH 2/4] drm/i915: Support for creating Stolen memory backed objects Date: Tue, 15 Sep 2015 14:03:25 +0530 Message-ID: <1442306007-10792-3-git-send-email-ankitprasad.r.sharma@intel.com> References: <1442306007-10792-1-git-send-email-ankitprasad.r.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id CFC5A6E839 for ; Tue, 15 Sep 2015 01:51:22 -0700 (PDT) In-Reply-To: <1442306007-10792-1-git-send-email-ankitprasad.r.sharma@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: Ankitprasad Sharma , akash.goel@intel.com, shashidhar.hiremath@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQW5raXRwcmFzYWQgU2hhcm1hIDxhbmtpdHByYXNhZC5yLnNoYXJtYUBpbnRlbC5jb20+ CgpFeHRlbmQgdGhlIGRybV9pOTE1X2dlbV9jcmVhdGUgc3RydWN0dXJlIHRvIGFkZCBzdXBwb3J0 IGZvcgpjcmVhdGluZyBTdG9sZW4gbWVtb3J5IGJhY2tlZCBvYmplY3RzLiBBZGRlZCBhIG5ldyBm bGFnIHRocm91Z2gKd2hpY2ggdXNlciBjYW4gc3BlY2lmeSB0aGUgcHJlZmVyZW5jZSB0byBhbGxv Y2F0ZSB0aGUgb2JqZWN0IGZyb20Kc3RvbGVuIG1lbW9yeSwgd2hpY2ggaWYgc2V0LCBhbiBhdHRl bXB0IHdpbGwgYmUgbWFkZSB0byBhbGxvY2F0ZQp0aGUgb2JqZWN0IGZyb20gc3RvbGVuIG1lbW9y eSBzdWJqZWN0IHRvIHRoZSBhdmFpbGFiaWxpdHkgb2YKZnJlZSBzcGFjZSBpbiB0aGUgc3RvbGVu IHJlZ2lvbi4KCnYyOiBSZWJhc2VkIHRvIHRoZSBsYXRlc3QgZHJtLWludGVsLW5pZ2h0bHkgKEFu a2l0KQoKdjM6IENoYW5nZWQgdmVyc2lvbmluZyBvZiBHRU1fQ1JFQVRFIHBhcmFtLCBhZGRlZCBu ZXcgY29tbWVudHMgKFR2cnRrbykKCnY0OiBDaGFuZ2VkIHNpemUgZnJvbSAzMmIgdG8gNjRiIHRv IHByZXZlbnQgdXNlcnNwYWNlIG92ZXJmbG93IChUdnJ0a28pCkNvcnJlY3RlZCBmdW5jdGlvbiBh cmd1bWVudHMgb3JkZXJpbmcgKENocmlzKQoKVGVzdGNhc2U6IGlndC9nZW1fc3RvbGVuCgpTaWdu ZWQtb2ZmLWJ5OiBBbmtpdHByYXNhZCBTaGFybWEgPGFua2l0cHJhc2FkLnIuc2hhcm1hQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jICAgICAgICB8ICAzICsr KwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgfCAzMCArKysrKysrKysrKysrKysrKysr KysrKysrKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jIHwgIDQg KystLQogaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oICAgICAgICAgICAgfCAxNiArKysrKysr KysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKaW5kZXggMjE5M2NjMi4uODMxOWUwNyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RtYS5jCkBAIC0xNzAsNiArMTcwLDkgQEAgc3RhdGljIGludCBpOTE1X2dl dHBhcmFtKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJY2FzZSBJOTE1X1BB UkFNX0hBU19SRVNPVVJDRV9TVFJFQU1FUjoKIAkJdmFsdWUgPSBIQVNfUkVTT1VSQ0VfU1RSRUFN RVIoZGV2KTsKIAkJYnJlYWs7CisJY2FzZSBJOTE1X1BBUkFNX0NSRUFURV9WRVJTSU9OOgorCQl2 YWx1ZSA9IDI7CisJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCURSTV9ERUJVRygiVW5rbm93biBwYXJh bWV0ZXIgJWRcbiIsIHBhcmFtLT5wYXJhbSk7CiAJCXJldHVybiAtRUlOVkFMOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKaW5kZXggOGRiOTA1YS4uZTZlZjA4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCkBAIC0zMTU5LDcgKzMxNTksNyBAQCB2b2lkIGk5MTVfZ2VtX3N0b2xlbl9yZW1vdmVfbm9k ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiBpbnQgaTkxNV9nZW1faW5pdF9z dG9sZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiB2b2lkIGk5MTVfZ2VtX2NsZWFudXBfc3Rv bGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg KgotaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dTMyIHNpemUpOworaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdTY0IHNpemUpOwogc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgogaTkxNV9n ZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFsbG9jYXRlZChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAogCQkJCQkgICAgICAgdTMyIHN0b2xlbl9vZmZzZXQsCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYwppbmRleCA5NDUzM2JmLi42NTY4YTdmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAg LTM3NSw2ICszNzUsNyBAQCBzdGF0aWMgaW50CiBpOTE1X2dlbV9jcmVhdGUoc3RydWN0IGRybV9m aWxlICpmaWxlLAogCQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQl1aW50NjRfdCBzaXplLAor CQl1aW50MzJfdCBmbGFncywKIAkJdWludDMyX3QgKmhhbmRsZV9wKQogewogCXN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmo7CkBAIC0zODUsOCArMzg2LDMxIEBAIGk5MTVfZ2VtX2NyZWF0 ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCiAJaWYgKHNpemUgPT0gMCkKIAkJcmV0dXJuIC1FSU5W QUw7CiAKKwlpZiAoZmxhZ3MgJiBfX0k5MTVfQ1JFQVRFX1VOS05PV05fRkxBR1MpCisJCXJldHVy biAtRUlOVkFMOworCiAJLyogQWxsb2NhdGUgdGhlIG5ldyBvYmplY3QgKi8KLQlvYmogPSBpOTE1 X2dlbV9hbGxvY19vYmplY3QoZGV2LCBzaXplKTsKKwlpZiAoZmxhZ3MgJiBJOTE1X0NSRUFURV9Q TEFDRU1FTlRfU1RPTEVOKSB7CisJCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKKwkJ b2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oZGV2LCBzaXplKTsKKwkJaWYgKCFv YmopIHsKKwkJCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCQkJcmV0dXJuIC1F Tk9NRU07CisJCX0KKworCQkvKiBBbHdheXMgY2xlYXIgZnJlc2ggYnVmZmVycyBiZWZvcmUgaGFu ZGluZyB0byB1c2Vyc3BhY2UgKi8KKwkJcmV0ID0gaTkxNV9nZW1fY2xlYXJfb2JqZWN0KG9iaik7 CisJCWlmIChyZXQpIHsKKwkJCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZvYmotPmJhc2Up OworCQkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CisJCQlyZXR1cm4gcmV0Owor CQl9CisKKwkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CisJfSBlbHNlIHsKKwkJ b2JqID0gaTkxNV9nZW1fYWxsb2Nfb2JqZWN0KGRldiwgc2l6ZSk7CisJfQorCiAJaWYgKG9iaiA9 PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIApAQCAtNDA5LDcgKzQzMyw3IEBAIGk5MTVfZ2Vt X2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKIAlhcmdzLT5waXRjaCA9IEFMSUdO KGFyZ3MtPndpZHRoICogRElWX1JPVU5EX1VQKGFyZ3MtPmJwcCwgOCksIDY0KTsKIAlhcmdzLT5z aXplID0gYXJncy0+cGl0Y2ggKiBhcmdzLT5oZWlnaHQ7CiAJcmV0dXJuIGk5MTVfZ2VtX2NyZWF0 ZShmaWxlLCBkZXYsCi0JCQkgICAgICAgYXJncy0+c2l6ZSwgJmFyZ3MtPmhhbmRsZSk7CisJCQkg ICAgICAgYXJncy0+c2l6ZSwgMCwgJmFyZ3MtPmhhbmRsZSk7CiB9CiAKIC8qKgpAQCAtNDIyLDcg KzQ0Niw3IEBAIGk5MTVfZ2VtX2NyZWF0ZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2 b2lkICpkYXRhLAogCXN0cnVjdCBkcm1faTkxNV9nZW1fY3JlYXRlICphcmdzID0gZGF0YTsKIAog CXJldHVybiBpOTE1X2dlbV9jcmVhdGUoZmlsZSwgZGV2LAotCQkJICAgICAgIGFyZ3MtPnNpemUs ICZhcmdzLT5oYW5kbGUpOworCQkJICAgICAgIGFyZ3MtPnNpemUsIGFyZ3MtPmZsYWdzLCAmYXJn cy0+aGFuZGxlKTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fc3RvbGVuLmMKaW5kZXggYTM2Y2I5NS4uOTlmMmJjZSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fc3RvbGVuLmMKQEAgLTQ1Nyw3ICs0NTcsNyBAQCBjbGVhbnVwOgogfQogCiBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCi1pOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xl bihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgc2l6ZSkKK2k5MTVfZ2VtX29iamVjdF9jcmVh dGVfc3RvbGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHU2NCBzaXplKQogewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iajsKQEAgLTQ2Nyw3ICs0NjcsNyBAQCBpOTE1X2dlbV9vYmpl Y3RfY3JlYXRlX3N0b2xlbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgc2l6ZSkKIAlpZiAo IWRybV9tbV9pbml0aWFsaXplZCgmZGV2X3ByaXYtPm1tLnN0b2xlbikpCiAJCXJldHVybiBOVUxM OwogCi0JRFJNX0RFQlVHX0tNUygiY3JlYXRpbmcgc3RvbGVuIG9iamVjdDogc2l6ZT0leFxuIiwg c2l6ZSk7CisJRFJNX0RFQlVHX0tNUygiY3JlYXRpbmcgc3RvbGVuIG9iamVjdDogc2l6ZT0lbGx4 XG4iLCBzaXplKTsKIAlpZiAoc2l6ZSA9PSAwKQogCQlyZXR1cm4gTlVMTDsKIApkaWZmIC0tZ2l0 IGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9pOTE1X2Ry bS5oCmluZGV4IGRiZDE2YTIuLmY3MWY3NWMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0v aTkxNV9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKQEAgLTM1Niw2ICsz NTYsNyBAQCB0eXBlZGVmIHN0cnVjdCBkcm1faTkxNV9pcnFfd2FpdCB7CiAjZGVmaW5lIEk5MTVf UEFSQU1fRVVfVE9UQUwJCSAzNAogI2RlZmluZSBJOTE1X1BBUkFNX0hBU19HUFVfUkVTRVQJIDM1 CiAjZGVmaW5lIEk5MTVfUEFSQU1fSEFTX1JFU09VUkNFX1NUUkVBTUVSIDM2CisjZGVmaW5lIEk5 MTVfUEFSQU1fQ1JFQVRFX1ZFUlNJT04JIDM3CiAKIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X2dl dHBhcmFtIHsKIAlzMzIgcGFyYW07CkBAIC00NTUsNiArNDU2LDIxIEBAIHN0cnVjdCBkcm1faTkx NV9nZW1fY3JlYXRlIHsKIAkgKi8KIAlfX3UzMiBoYW5kbGU7CiAJX191MzIgcGFkOworCS8qKgor CSAqIFJlcXVlc3RlZCBmbGFncyAoY3VycmVudGx5IHVzZWQgZm9yIHBsYWNlbWVudAorCSAqICh3 aGljaCBtZW1vcnkgZG9tYWluKSkKKwkgKgorCSAqIFlvdSBjYW4gcmVxdWVzdCB0aGF0IHRoZSBv YmplY3QgYmUgY3JlYXRlZCBmcm9tIHNwZWNpYWwgbWVtb3J5CisJICogcmF0aGVyIHRoYW4gcmVn dWxhciBzeXN0ZW0gcGFnZXMgdXNpbmcgdGhpcyBwYXJhbWV0ZXIuIFN1Y2gKKwkgKiBpcnJlZ3Vs YXIgb2JqZWN0cyBtYXkgaGF2ZSBjZXJ0YWluIHJlc3RyaWN0aW9ucyAoc3VjaCBhcyBDUFUKKwkg KiBhY2Nlc3MgdG8gYSBzdG9sZW4gb2JqZWN0IGlzIHZlcmJvdGVuKS4KKwkgKgorCSAqIFRoaXMg Y2FuIGJlIHVzZWQgaW4gdGhlIGZ1dHVyZSBmb3Igb3RoZXIgcHVycG9zZXMgdG9vCisJICogZS5n LiBzcGVjaWZ5aW5nIHRpbGluZy9jYWNoaW5nL21hZHZpc2UKKwkgKi8KKwlfX3UzMiBmbGFnczsK KyNkZWZpbmUgSTkxNV9DUkVBVEVfUExBQ0VNRU5UX1NUT0xFTiAJKDE8PDApIC8qIENhbm5vdCB1 c2UgQ1BVIG1tYXBzICovCisjZGVmaW5lIF9fSTkxNV9DUkVBVEVfVU5LTk9XTl9GTEFHUwktKEk5 MTVfQ1JFQVRFX1BMQUNFTUVOVF9TVE9MRU4gPDwgMSkKIH07CiAKIHN0cnVjdCBkcm1faTkxNV9n ZW1fcHJlYWQgewotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==