From mboxrd@z Thu Jan 1 00:00:00 1970 From: ankitprasad.r.sharma@intel.com Subject: [PATCH 01/10] drm/i915: Add support for mapping an object page by page Date: Fri, 19 Feb 2016 12:21:28 +0530 Message-ID: <1455864697-32140-2-git-send-email-ankitprasad.r.sharma@intel.com> References: <1455864697-32140-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id EA7936EDB4 for ; Fri, 19 Feb 2016 07:14:25 +0000 (UTC) In-Reply-To: <1455864697-32140-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: akash.goel@intel.com, Ankitprasad Sharma , shashidhar.hiremath@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CgpJbnRyb2R1Y2Vk IGEgbmV3IHZtIHNwZWNmaWMgY2FsbGJhY2sgaW5zZXJ0X3BhZ2UoKSB0byBwcm9ncmFtIGEgc2lu Z2xlIHB0ZSBpbgpnZ3R0IG9yIHBwZ3R0LiBUaGlzIGFsbG93cyB1cyB0byBtYXAgYSBzaW5nbGUg cGFnZSBpbiB0byB0aGUgbWFwcGFibGUgYXBlcnR1cmUKc3BhY2UuIFRoaXMgY2FuIGJlIGl0ZXJh dGVkIG92ZXIgdG8gYWNjZXNzIHRoZSB3aG9sZSBvYmplY3QgYnkgdXNpbmcgc3BhY2UgYXMKbWVh Z3JlIGFzIHBhZ2Ugc2l6ZS4KCnYyOiBBZGRlZCBsb3cgbGV2ZWwgcnBtIGFzc2VydGlvbnMgdG8g aW5zZXJ0X3BhZ2Ugcm91dGluZXMgKENocmlzKQoKdjM6IEFkZGVkIFBPU1RJTkdfUkVBRCBwb3N0 IHJlZ2lzdGVyIHdyaXRlIChUdnJ0a28pCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNo cmlzQGNocmlzLXdpbHNvbi5jby51az4KU2lnbmVkLW9mZi1ieTogQW5raXRwcmFzYWQgU2hhcm1h IDxhbmtpdHByYXNhZC5yLnNoYXJtYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9jaGFyL2FncC9p bnRlbC1ndHQuYyAgICAgICAgfCAgOSArKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmMgfCA2NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCB8ICA1ICsrKwogaW5jbHVkZS9kcm0vaW50 ZWwtZ3R0LmggICAgICAgICAgICAgfCAgMyArKwogNCBmaWxlcyBjaGFuZ2VkLCA4NCBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYyBiL2RyaXZl cnMvY2hhci9hZ3AvaW50ZWwtZ3R0LmMKaW5kZXggMTM0MWE5NC4uN2M2ODU3NiAxMDA2NDQKLS0t IGEvZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYworKysgYi9kcml2ZXJzL2NoYXIvYWdwL2lu dGVsLWd0dC5jCkBAIC04MzgsNiArODM4LDE1IEBAIHN0YXRpYyBib29sIGk4MzBfY2hlY2tfZmxh Z3ModW5zaWduZWQgaW50IGZsYWdzKQogCXJldHVybiBmYWxzZTsKIH0KIAordm9pZCBpbnRlbF9n dHRfaW5zZXJ0X3BhZ2UoZG1hX2FkZHJfdCBhZGRyLAorCQkJICAgdW5zaWduZWQgaW50IHBnLAor CQkJICAgdW5zaWduZWQgaW50IGZsYWdzKQoreworCWludGVsX3ByaXZhdGUuZHJpdmVyLT53cml0 ZV9lbnRyeShhZGRyLCBwZywgZmxhZ3MpOworCXdtYigpOworfQorRVhQT1JUX1NZTUJPTChpbnRl bF9ndHRfaW5zZXJ0X3BhZ2UpOworCiB2b2lkIGludGVsX2d0dF9pbnNlcnRfc2dfZW50cmllcyhz dHJ1Y3Qgc2dfdGFibGUgKnN0LAogCQkJCSB1bnNpZ25lZCBpbnQgcGdfc3RhcnQsCiAJCQkJIHVu c2lnbmVkIGludCBmbGFncykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggNzE1 YTc3MS4uNjU4NjUyNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTIzNDEs NiArMjM0MSwyOSBAQCBzdGF0aWMgdm9pZCBnZW44X3NldF9wdGUodm9pZCBfX2lvbWVtICphZGRy LCBnZW44X3B0ZV90IHB0ZSkKICNlbmRpZgogfQogCitzdGF0aWMgdm9pZCBnZW44X2dndHRfaW5z ZXJ0X3BhZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCisJCQkJICBkbWFfYWRkcl90 IGFkZHIsCisJCQkJICB1aW50NjRfdCBvZmZzZXQsCisJCQkJICBlbnVtIGk5MTVfY2FjaGVfbGV2 ZWwgbGV2ZWwsCisJCQkJICB1MzIgdW51c2VkKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUodm0tPmRldik7CisJZ2VuOF9wdGVfdCBfX2lvbWVtICpwdGUg PQorCQkoZ2VuOF9wdGVfdCBfX2lvbWVtICopZGV2X3ByaXYtPmd0dC5nc20gKworCQkob2Zmc2V0 ID4+IFBBR0VfU0hJRlQpOworCWludCBycG1fYXRvbWljX3NlcTsKKworCXJwbV9hdG9taWNfc2Vx ID0gYXNzZXJ0X3JwbV9hdG9taWNfYmVnaW4oZGV2X3ByaXYpOworCisJZ2VuOF9zZXRfcHRlKHB0 ZSwgZ2VuOF9wdGVfZW5jb2RlKGFkZHIsIGxldmVsLCB0cnVlKSk7CisJd21iKCk7CisKKwlJOTE1 X1dSSVRFKEdGWF9GTFNIX0NOVExfR0VONiwgR0ZYX0ZMU0hfQ05UTF9FTik7CisJUE9TVElOR19S RUFEKEdGWF9GTFNIX0NOVExfR0VONik7CisKKwlhc3NlcnRfcnBtX2F0b21pY19lbmQoZGV2X3By aXYsIHJwbV9hdG9taWNfc2VxKTsKK30KKwogc3RhdGljIHZvaWQgZ2VuOF9nZ3R0X2luc2VydF9l bnRyaWVzKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQkJCSAgICAgc3RydWN0IHNn X3RhYmxlICpzdCwKIAkJCQkgICAgIHVpbnQ2NF90IHN0YXJ0LApAQCAtMjQxMiw2ICsyNDM1LDI5 IEBAIHN0YXRpYyB2b2lkIGdlbjhfZ2d0dF9pbnNlcnRfZW50cmllc19fQktMKHN0cnVjdCBpOTE1 X2FkZHJlc3Nfc3BhY2UgKnZtLAogCXN0b3BfbWFjaGluZShnZW44X2dndHRfaW5zZXJ0X2VudHJp ZXNfX2NiLCAmYXJnLCBOVUxMKTsKIH0KIAorc3RhdGljIHZvaWQgZ2VuNl9nZ3R0X2luc2VydF9w YWdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAorCQkJCSAgZG1hX2FkZHJfdCBhZGRy LAorCQkJCSAgdWludDY0X3Qgb2Zmc2V0LAorCQkJCSAgZW51bSBpOTE1X2NhY2hlX2xldmVsIGxl dmVsLAorCQkJCSAgdTMyIGZsYWdzKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUodm0tPmRldik7CisJZ2VuNl9wdGVfdCBfX2lvbWVtICpwdGUgPQorCQko Z2VuNl9wdGVfdCBfX2lvbWVtICopZGV2X3ByaXYtPmd0dC5nc20gKworCQkob2Zmc2V0ID4+IFBB R0VfU0hJRlQpOworCWludCBycG1fYXRvbWljX3NlcTsKKworCXJwbV9hdG9taWNfc2VxID0gYXNz ZXJ0X3JwbV9hdG9taWNfYmVnaW4oZGV2X3ByaXYpOworCisJaW93cml0ZTMyKHZtLT5wdGVfZW5j b2RlKGFkZHIsIGxldmVsLCB0cnVlLCBmbGFncyksIHB0ZSk7CisJd21iKCk7CisKKwlJOTE1X1dS SVRFKEdGWF9GTFNIX0NOVExfR0VONiwgR0ZYX0ZMU0hfQ05UTF9FTik7CisJUE9TVElOR19SRUFE KEdGWF9GTFNIX0NOVExfR0VONik7CisKKwlhc3NlcnRfcnBtX2F0b21pY19lbmQoZGV2X3ByaXYs IHJwbV9hdG9taWNfc2VxKTsKK30KKwogLyoKICAqIEJpbmRzIGFuIG9iamVjdCBpbnRvIHRoZSBn bG9iYWwgZ3R0IHdpdGggdGhlIHNwZWNpZmllZCBjYWNoZSBsZXZlbC4gVGhlIG9iamVjdAogICog d2lsbCBiZSBhY2Nlc3NpYmxlIHRvIHRoZSBHUFUgdmlhIGNvbW1hbmRzIHdob3NlIG9wZXJhbmRz IHJlZmVyZW5jZSBvZmZzZXRzCkBAIC0yNTIzLDYgKzI1NjksMjQgQEAgc3RhdGljIHZvaWQgZ2Vu Nl9nZ3R0X2NsZWFyX3JhbmdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCWFzc2Vy dF9ycG1fYXRvbWljX2VuZChkZXZfcHJpdiwgcnBtX2F0b21pY19zZXEpOwogfQogCitzdGF0aWMg dm9pZCBpOTE1X2dndHRfaW5zZXJ0X3BhZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0s CisJCQkJICBkbWFfYWRkcl90IGFkZHIsCisJCQkJICB1aW50NjRfdCBvZmZzZXQsCisJCQkJICBl bnVtIGk5MTVfY2FjaGVfbGV2ZWwgY2FjaGVfbGV2ZWwsCisJCQkJICB1MzIgdW51c2VkKQorewor CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUodm0tPmRldik7CisJ dW5zaWduZWQgaW50IGZsYWdzID0gKGNhY2hlX2xldmVsID09IEk5MTVfQ0FDSEVfTk9ORSkgPwor CQlBR1BfVVNFUl9NRU1PUlkgOiBBR1BfVVNFUl9DQUNIRURfTUVNT1JZOworCWludCBycG1fYXRv bWljX3NlcTsKKworCXJwbV9hdG9taWNfc2VxID0gYXNzZXJ0X3JwbV9hdG9taWNfYmVnaW4oZGV2 X3ByaXYpOworCisJaW50ZWxfZ3R0X2luc2VydF9wYWdlKGFkZHIsIG9mZnNldCA+PiBQQUdFX1NI SUZULCBmbGFncyk7CisKKwlhc3NlcnRfcnBtX2F0b21pY19lbmQoZGV2X3ByaXYsIHJwbV9hdG9t aWNfc2VxKTsKK30KKwogc3RhdGljIHZvaWQgaTkxNV9nZ3R0X2luc2VydF9lbnRyaWVzKHN0cnVj dCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQkJCSAgICAgc3RydWN0IHNnX3RhYmxlICpwYWdl cywKIAkJCQkgICAgIHVpbnQ2NF90IHN0YXJ0LApAQCAtMzA1NCw2ICszMTE4LDcgQEAgc3RhdGlj IGludCBnZW44X2dtY2hfcHJvYmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlyZXQgPSBnZ3R0 X3Byb2JlX2NvbW1vbihkZXYsIGd0dF9zaXplKTsKIAogCWRldl9wcml2LT5ndHQuYmFzZS5jbGVh cl9yYW5nZSA9IGdlbjhfZ2d0dF9jbGVhcl9yYW5nZTsKKwlkZXZfcHJpdi0+Z3R0LmJhc2UuaW5z ZXJ0X3BhZ2UgPSBnZW44X2dndHRfaW5zZXJ0X3BhZ2U7CiAJZGV2X3ByaXYtPmd0dC5iYXNlLmlu c2VydF9lbnRyaWVzID0gZ2VuOF9nZ3R0X2luc2VydF9lbnRyaWVzOwogCWRldl9wcml2LT5ndHQu YmFzZS5iaW5kX3ZtYSA9IGdndHRfYmluZF92bWE7CiAJZGV2X3ByaXYtPmd0dC5iYXNlLnVuYmlu ZF92bWEgPSBnZ3R0X3VuYmluZF92bWE7CkBAIC0zMDk5LDYgKzMxNjQsNyBAQCBzdGF0aWMgaW50 IGdlbjZfZ21jaF9wcm9iZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXJldCA9IGdndHRfcHJv YmVfY29tbW9uKGRldiwgZ3R0X3NpemUpOwogCiAJZGV2X3ByaXYtPmd0dC5iYXNlLmNsZWFyX3Jh bmdlID0gZ2VuNl9nZ3R0X2NsZWFyX3JhbmdlOworCWRldl9wcml2LT5ndHQuYmFzZS5pbnNlcnRf cGFnZSA9IGdlbjZfZ2d0dF9pbnNlcnRfcGFnZTsKIAlkZXZfcHJpdi0+Z3R0LmJhc2UuaW5zZXJ0 X2VudHJpZXMgPSBnZW42X2dndHRfaW5zZXJ0X2VudHJpZXM7CiAJZGV2X3ByaXYtPmd0dC5iYXNl LmJpbmRfdm1hID0gZ2d0dF9iaW5kX3ZtYTsKIAlkZXZfcHJpdi0+Z3R0LmJhc2UudW5iaW5kX3Zt YSA9IGdndHRfdW5iaW5kX3ZtYTsKQEAgLTMxMzMsNiArMzE5OSw3IEBAIHN0YXRpYyBpbnQgaTkx NV9nbWNoX3Byb2JlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaW50ZWxfZ3R0X2dldChndHRf dG90YWwsIHN0b2xlbiwgbWFwcGFibGVfYmFzZSwgbWFwcGFibGVfZW5kKTsKIAogCWRldl9wcml2 LT5ndHQuZG9faWRsZV9tYXBzID0gbmVlZHNfaWRsZV9tYXBzKGRldl9wcml2LT5kZXYpOworCWRl dl9wcml2LT5ndHQuYmFzZS5pbnNlcnRfcGFnZSA9IGk5MTVfZ2d0dF9pbnNlcnRfcGFnZTsKIAlk ZXZfcHJpdi0+Z3R0LmJhc2UuaW5zZXJ0X2VudHJpZXMgPSBpOTE1X2dndHRfaW5zZXJ0X2VudHJp ZXM7CiAJZGV2X3ByaXYtPmd0dC5iYXNlLmNsZWFyX3JhbmdlID0gaTkxNV9nZ3R0X2NsZWFyX3Jh bmdlOwogCWRldl9wcml2LT5ndHQuYmFzZS5iaW5kX3ZtYSA9IGdndHRfYmluZF92bWE7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCmluZGV4IGY1MjBjOTAuLmUwZDlkYTkgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCkBAIC0zMTYsNiArMzE2LDExIEBAIHN0cnVjdCBpOTE1 X2FkZHJlc3Nfc3BhY2UgewogCQkJICAgIHVpbnQ2NF90IHN0YXJ0LAogCQkJICAgIHVpbnQ2NF90 IGxlbmd0aCwKIAkJCSAgICBib29sIHVzZV9zY3JhdGNoKTsKKwl2b2lkICgqaW5zZXJ0X3BhZ2Up KHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAorCQkJICAgIGRtYV9hZGRyX3QgYWRkciwK KwkJCSAgICB1aW50NjRfdCBvZmZzZXQsCisJCQkgICAgZW51bSBpOTE1X2NhY2hlX2xldmVsIGNh Y2hlX2xldmVsLAorCQkJICAgIHUzMiBmbGFncyk7CiAJdm9pZCAoKmluc2VydF9lbnRyaWVzKShz dHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCSAgICAgICBzdHJ1Y3Qgc2dfdGFibGUg KnN0LAogCQkJICAgICAgIHVpbnQ2NF90IHN0YXJ0LApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0v aW50ZWwtZ3R0LmggYi9pbmNsdWRlL2RybS9pbnRlbC1ndHQuaAppbmRleCA5ZTliZGRhYTUuLmY0 OWVkZWMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2ludGVsLWd0dC5oCisrKyBiL2luY2x1ZGUv ZHJtL2ludGVsLWd0dC5oCkBAIC0xMyw2ICsxMyw5IEBAIHZvaWQgaW50ZWxfZ21jaF9yZW1vdmUo dm9pZCk7CiBib29sIGludGVsX2VuYWJsZV9ndHQodm9pZCk7CiAKIHZvaWQgaW50ZWxfZ3R0X2No aXBzZXRfZmx1c2godm9pZCk7Cit2b2lkIGludGVsX2d0dF9pbnNlcnRfcGFnZShkbWFfYWRkcl90 IGFkZHIsCisJCQkgICB1bnNpZ25lZCBpbnQgcGcsCisJCQkgICB1bnNpZ25lZCBpbnQgZmxhZ3Mp Owogdm9pZCBpbnRlbF9ndHRfaW5zZXJ0X3NnX2VudHJpZXMoc3RydWN0IHNnX3RhYmxlICpzdCwK IAkJCQkgdW5zaWduZWQgaW50IHBnX3N0YXJ0LAogCQkJCSB1bnNpZ25lZCBpbnQgZmxhZ3MpOwot LSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=