From mboxrd@z Thu Jan 1 00:00:00 1970 From: ankitprasad.r.sharma@intel.com Subject: [PATCH 01/12] drm/i915: Add support for mapping an object page by page Date: Wed, 20 Apr 2016 16:47:28 +0530 Message-ID: <1461151059-16361-2-git-send-email-ankitprasad.r.sharma@intel.com> References: <1461151059-16361-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 mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 896AA6E985 for ; Wed, 20 Apr 2016 11:42:37 +0000 (UTC) In-Reply-To: <1461151059-16361-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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CgpJbnRyb2R1Y2Vk IGEgbmV3IHZtIHNwZWNmaWMgY2FsbGJhY2sgaW5zZXJ0X3BhZ2UoKSB0byBwcm9ncmFtIGEgc2lu Z2xlIHB0ZSBpbgpnZ3R0IG9yIHBwZ3R0LiBUaGlzIGFsbG93cyB1cyB0byBtYXAgYSBzaW5nbGUg cGFnZSBpbiB0byB0aGUgbWFwcGFibGUgYXBlcnR1cmUKc3BhY2UuIFRoaXMgY2FuIGJlIGl0ZXJh dGVkIG92ZXIgdG8gYWNjZXNzIHRoZSB3aG9sZSBvYmplY3QgYnkgdXNpbmcgc3BhY2UgYXMKbWVh Z3JlIGFzIHBhZ2Ugc2l6ZS4KCnYyOiBBZGRlZCBsb3cgbGV2ZWwgcnBtIGFzc2VydGlvbnMgdG8g aW5zZXJ0X3BhZ2Ugcm91dGluZXMgKENocmlzKQoKdjM6IEFkZGVkIFBPU1RJTkdfUkVBRCBwb3N0 IHJlZ2lzdGVyIHdyaXRlIChUdnJ0a28pCgp2NDogUmViYXNlIChBbmtpdCkKClNpZ25lZC1vZmYt Ynk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpTaWduZWQtb2ZmLWJ5 OiBBbmtpdHByYXNhZCBTaGFybWEgPGFua2l0cHJhc2FkLnIuc2hhcm1hQGludGVsLmNvbT4KUmV2 aWV3ZWQtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Ci0tLQog ZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYyAgICAgICAgfCAgOSArKysrKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgfCA2NyArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCB8ICA1ICsr KwogaW5jbHVkZS9kcm0vaW50ZWwtZ3R0LmggICAgICAgICAgICAgfCAgMyArKwogNCBmaWxlcyBj aGFuZ2VkLCA4NCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2FncC9p bnRlbC1ndHQuYyBiL2RyaXZlcnMvY2hhci9hZ3AvaW50ZWwtZ3R0LmMKaW5kZXggYWVmODdmZC4u Y2VhMGFlMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYworKysgYi9k cml2ZXJzL2NoYXIvYWdwL2ludGVsLWd0dC5jCkBAIC04NDAsNiArODQwLDE1IEBAIHN0YXRpYyBi b29sIGk4MzBfY2hlY2tfZmxhZ3ModW5zaWduZWQgaW50IGZsYWdzKQogCXJldHVybiBmYWxzZTsK IH0KIAordm9pZCBpbnRlbF9ndHRfaW5zZXJ0X3BhZ2UoZG1hX2FkZHJfdCBhZGRyLAorCQkJICAg dW5zaWduZWQgaW50IHBnLAorCQkJICAgdW5zaWduZWQgaW50IGZsYWdzKQoreworCWludGVsX3By aXZhdGUuZHJpdmVyLT53cml0ZV9lbnRyeShhZGRyLCBwZywgZmxhZ3MpOworCXdtYigpOworfQor RVhQT1JUX1NZTUJPTChpbnRlbF9ndHRfaW5zZXJ0X3BhZ2UpOworCiB2b2lkIGludGVsX2d0dF9p bnNlcnRfc2dfZW50cmllcyhzdHJ1Y3Qgc2dfdGFibGUgKnN0LAogCQkJCSB1bnNpZ25lZCBpbnQg cGdfc3RhcnQsCiAJCQkJIHVuc2lnbmVkIGludCBmbGFncykKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmMKaW5kZXggOWYxNjVmZS4uZGExODE5ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmMKQEAgLTIzNTMsNiArMjM1MywyOSBAQCBzdGF0aWMgdm9pZCBnZW44X3NldF9wdGUo dm9pZCBfX2lvbWVtICphZGRyLCBnZW44X3B0ZV90IHB0ZSkKICNlbmRpZgogfQogCitzdGF0aWMg dm9pZCBnZW44X2dndHRfaW5zZXJ0X3BhZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0s CisJCQkJICBkbWFfYWRkcl90IGFkZHIsCisJCQkJICB1aW50NjRfdCBvZmZzZXQsCisJCQkJICBl bnVtIGk5MTVfY2FjaGVfbGV2ZWwgbGV2ZWwsCisJCQkJICB1MzIgdW51c2VkKQoreworCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUodm0tPmRldik7CisJZ2VuOF9w dGVfdCBfX2lvbWVtICpwdGUgPQorCQkoZ2VuOF9wdGVfdCBfX2lvbWVtICopZGV2X3ByaXYtPmdn dHQuZ3NtICsKKwkJKG9mZnNldCA+PiBQQUdFX1NISUZUKTsKKwlpbnQgcnBtX2F0b21pY19zZXE7 CisKKwlycG1fYXRvbWljX3NlcSA9IGFzc2VydF9ycG1fYXRvbWljX2JlZ2luKGRldl9wcml2KTsK KworCWdlbjhfc2V0X3B0ZShwdGUsIGdlbjhfcHRlX2VuY29kZShhZGRyLCBsZXZlbCwgdHJ1ZSkp OworCXdtYigpOworCisJSTkxNV9XUklURShHRlhfRkxTSF9DTlRMX0dFTjYsIEdGWF9GTFNIX0NO VExfRU4pOworCVBPU1RJTkdfUkVBRChHRlhfRkxTSF9DTlRMX0dFTjYpOworCisJYXNzZXJ0X3Jw bV9hdG9taWNfZW5kKGRldl9wcml2LCBycG1fYXRvbWljX3NlcSk7Cit9CisKIHN0YXRpYyB2b2lk IGdlbjhfZ2d0dF9pbnNlcnRfZW50cmllcyhzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwK IAkJCQkgICAgIHN0cnVjdCBzZ190YWJsZSAqc3QsCiAJCQkJICAgICB1aW50NjRfdCBzdGFydCwK QEAgLTI0MjUsNiArMjQ0OCwyOSBAQCBzdGF0aWMgdm9pZCBnZW44X2dndHRfaW5zZXJ0X2VudHJp ZXNfX0JLTChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAlzdG9wX21hY2hpbmUoZ2Vu OF9nZ3R0X2luc2VydF9lbnRyaWVzX19jYiwgJmFyZywgTlVMTCk7CiB9CiAKK3N0YXRpYyB2b2lk IGdlbjZfZ2d0dF9pbnNlcnRfcGFnZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJ CQkgIGRtYV9hZGRyX3QgYWRkciwKKwkJCQkgIHVpbnQ2NF90IG9mZnNldCwKKwkJCQkgIGVudW0g aTkxNV9jYWNoZV9sZXZlbCBsZXZlbCwKKwkJCQkgIHUzMiBmbGFncykKK3sKKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHZtLT5kZXYpOworCWdlbjZfcHRlX3Qg X19pb21lbSAqcHRlID0KKwkJKGdlbjZfcHRlX3QgX19pb21lbSAqKWRldl9wcml2LT5nZ3R0Lmdz bSArCisJCShvZmZzZXQgPj4gUEFHRV9TSElGVCk7CisJaW50IHJwbV9hdG9taWNfc2VxOworCisJ cnBtX2F0b21pY19zZXEgPSBhc3NlcnRfcnBtX2F0b21pY19iZWdpbihkZXZfcHJpdik7CisKKwlp b3dyaXRlMzIodm0tPnB0ZV9lbmNvZGUoYWRkciwgbGV2ZWwsIHRydWUsIGZsYWdzKSwgcHRlKTsK Kwl3bWIoKTsKKworCUk5MTVfV1JJVEUoR0ZYX0ZMU0hfQ05UTF9HRU42LCBHRlhfRkxTSF9DTlRM X0VOKTsKKwlQT1NUSU5HX1JFQUQoR0ZYX0ZMU0hfQ05UTF9HRU42KTsKKworCWFzc2VydF9ycG1f YXRvbWljX2VuZChkZXZfcHJpdiwgcnBtX2F0b21pY19zZXEpOworfQorCiAvKgogICogQmluZHMg YW4gb2JqZWN0IGludG8gdGhlIGdsb2JhbCBndHQgd2l0aCB0aGUgc3BlY2lmaWVkIGNhY2hlIGxl dmVsLiBUaGUgb2JqZWN0CiAgKiB3aWxsIGJlIGFjY2Vzc2libGUgdG8gdGhlIEdQVSB2aWEgY29t bWFuZHMgd2hvc2Ugb3BlcmFuZHMgcmVmZXJlbmNlIG9mZnNldHMKQEAgLTI1MzksNiArMjU4NSwy NCBAQCBzdGF0aWMgdm9pZCBnZW42X2dndHRfY2xlYXJfcmFuZ2Uoc3RydWN0IGk5MTVfYWRkcmVz c19zcGFjZSAqdm0sCiAJYXNzZXJ0X3JwbV9hdG9taWNfZW5kKGRldl9wcml2LCBycG1fYXRvbWlj X3NlcSk7CiB9CiAKK3N0YXRpYyB2b2lkIGk5MTVfZ2d0dF9pbnNlcnRfcGFnZShzdHJ1Y3QgaTkx NV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJCQkgIGRtYV9hZGRyX3QgYWRkciwKKwkJCQkgIHVpbnQ2 NF90IG9mZnNldCwKKwkJCQkgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCwKKwkJ CQkgIHUzMiB1bnVzZWQpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNSh2bS0+ZGV2KTsKKwl1bnNpZ25lZCBpbnQgZmxhZ3MgPSAoY2FjaGVfbGV2ZWwgPT0g STkxNV9DQUNIRV9OT05FKSA/CisJCUFHUF9VU0VSX01FTU9SWSA6IEFHUF9VU0VSX0NBQ0hFRF9N RU1PUlk7CisJaW50IHJwbV9hdG9taWNfc2VxOworCisJcnBtX2F0b21pY19zZXEgPSBhc3NlcnRf cnBtX2F0b21pY19iZWdpbihkZXZfcHJpdik7CisKKwlpbnRlbF9ndHRfaW5zZXJ0X3BhZ2UoYWRk ciwgb2Zmc2V0ID4+IFBBR0VfU0hJRlQsIGZsYWdzKTsKKworCWFzc2VydF9ycG1fYXRvbWljX2Vu ZChkZXZfcHJpdiwgcnBtX2F0b21pY19zZXEpOworfQorCiBzdGF0aWMgdm9pZCBpOTE1X2dndHRf aW5zZXJ0X2VudHJpZXMoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCQkJICAgICBz dHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzLAogCQkJCSAgICAgdWludDY0X3Qgc3RhcnQsCkBAIC0zMDcx LDYgKzMxMzUsNyBAQCBzdGF0aWMgaW50IGdlbjhfZ21jaF9wcm9iZShzdHJ1Y3QgaTkxNV9nZ3R0 ICpnZ3R0KQogCXJldCA9IGdndHRfcHJvYmVfY29tbW9uKGRldiwgZ2d0dC0+c2l6ZSk7CiAKIAln Z3R0LT5iYXNlLmNsZWFyX3JhbmdlID0gZ2VuOF9nZ3R0X2NsZWFyX3JhbmdlOworCWdndHQtPmJh c2UuaW5zZXJ0X3BhZ2UgPSBnZW44X2dndHRfaW5zZXJ0X3BhZ2U7CiAJaWYgKElTX0NIRVJSWVZJ RVcoZGV2X3ByaXYpKQogCQlnZ3R0LT5iYXNlLmluc2VydF9lbnRyaWVzID0gZ2VuOF9nZ3R0X2lu c2VydF9lbnRyaWVzX19CS0w7CiAJZWxzZQpAQCAtMzEwOSw2ICszMTc0LDcgQEAgc3RhdGljIGlu dCBnZW42X2dtY2hfcHJvYmUoc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCkKIAlyZXQgPSBnZ3R0X3By b2JlX2NvbW1vbihkZXYsIGdndHQtPnNpemUpOwogCiAJZ2d0dC0+YmFzZS5jbGVhcl9yYW5nZSA9 IGdlbjZfZ2d0dF9jbGVhcl9yYW5nZTsKKwlnZ3R0LT5iYXNlLmluc2VydF9wYWdlID0gZ2VuNl9n Z3R0X2luc2VydF9wYWdlOwogCWdndHQtPmJhc2UuaW5zZXJ0X2VudHJpZXMgPSBnZW42X2dndHRf aW5zZXJ0X2VudHJpZXM7CiAJZ2d0dC0+YmFzZS5iaW5kX3ZtYSA9IGdndHRfYmluZF92bWE7CiAJ Z2d0dC0+YmFzZS51bmJpbmRfdm1hID0gZ2d0dF91bmJpbmRfdm1hOwpAQCAtMzE0MCw2ICszMjA2 LDcgQEAgc3RhdGljIGludCBpOTE1X2dtY2hfcHJvYmUoc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCkK IAkJICAgICAgJmdndHQtPm1hcHBhYmxlX2Jhc2UsICZnZ3R0LT5tYXBwYWJsZV9lbmQpOwogCiAJ Z2d0dC0+ZG9faWRsZV9tYXBzID0gbmVlZHNfaWRsZV9tYXBzKGRldl9wcml2LT5kZXYpOworCWdn dHQtPmJhc2UuaW5zZXJ0X3BhZ2UgPSBpOTE1X2dndHRfaW5zZXJ0X3BhZ2U7CiAJZ2d0dC0+YmFz ZS5pbnNlcnRfZW50cmllcyA9IGk5MTVfZ2d0dF9pbnNlcnRfZW50cmllczsKIAlnZ3R0LT5iYXNl LmNsZWFyX3JhbmdlID0gaTkxNV9nZ3R0X2NsZWFyX3JhbmdlOwogCWdndHQtPmJhc2UuYmluZF92 bWEgPSBnZ3R0X2JpbmRfdm1hOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAppbmRleCBk N2RkM2Q4Li4yOTgyYTZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ndHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaApAQCAtMzE2 LDYgKzMxNiwxMSBAQCBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlIHsKIAkJCSAgICB1aW50NjRf dCBzdGFydCwKIAkJCSAgICB1aW50NjRfdCBsZW5ndGgsCiAJCQkgICAgYm9vbCB1c2Vfc2NyYXRj aCk7CisJdm9pZCAoKmluc2VydF9wYWdlKShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwK KwkJCSAgICBkbWFfYWRkcl90IGFkZHIsCisJCQkgICAgdWludDY0X3Qgb2Zmc2V0LAorCQkJICAg IGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCwKKwkJCSAgICB1MzIgZmxhZ3MpOwog CXZvaWQgKCppbnNlcnRfZW50cmllcykoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJ CQkgICAgICAgc3RydWN0IHNnX3RhYmxlICpzdCwKIAkJCSAgICAgICB1aW50NjRfdCBzdGFydCwK ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2ludGVsLWd0dC5oIGIvaW5jbHVkZS9kcm0vaW50ZWwt Z3R0LmgKaW5kZXggOWU5YmRkYWE1Li5mNDllZGVjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9p bnRlbC1ndHQuaAorKysgYi9pbmNsdWRlL2RybS9pbnRlbC1ndHQuaApAQCAtMTMsNiArMTMsOSBA QCB2b2lkIGludGVsX2dtY2hfcmVtb3ZlKHZvaWQpOwogYm9vbCBpbnRlbF9lbmFibGVfZ3R0KHZv aWQpOwogCiB2b2lkIGludGVsX2d0dF9jaGlwc2V0X2ZsdXNoKHZvaWQpOwordm9pZCBpbnRlbF9n dHRfaW5zZXJ0X3BhZ2UoZG1hX2FkZHJfdCBhZGRyLAorCQkJICAgdW5zaWduZWQgaW50IHBnLAor CQkJICAgdW5zaWduZWQgaW50IGZsYWdzKTsKIHZvaWQgaW50ZWxfZ3R0X2luc2VydF9zZ19lbnRy aWVzKHN0cnVjdCBzZ190YWJsZSAqc3QsCiAJCQkJIHVuc2lnbmVkIGludCBwZ19zdGFydCwKIAkJ CQkgdW5zaWduZWQgaW50IGZsYWdzKTsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK