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: Tue, 26 Jan 2016 01:13:27 +0530 Message-ID: <1453751016-8713-2-git-send-email-ankitprasad.r.sharma@intel.com> References: <1453751016-8713-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 6EF1B6E540 for ; Mon, 25 Jan 2016 12:05:10 -0800 (PST) In-Reply-To: <1453751016-8713-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 Z3JlIGFzIHBhZ2Ugc2l6ZS4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hy aXMtd2lsc29uLmNvLnVrPgpTaWduZWQtb2ZmLWJ5OiBBbmtpdHByYXNhZCBTaGFybWEgPGFua2l0 cHJhc2FkLnIuc2hhcm1hQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2NoYXIvYWdwL2ludGVsLWd0 dC5jICAgICAgICB8ICA5ICsrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5jIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggfCAgNSArKysrCiBpbmNsdWRlL2RybS9pbnRlbC1n dHQuaCAgICAgICAgICAgICB8ICAzICsrKwogNCBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYyBiL2RyaXZlcnMv Y2hhci9hZ3AvaW50ZWwtZ3R0LmMKaW5kZXggMTM0MWE5NC4uN2M2ODU3NiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYworKysgYi9kcml2ZXJzL2NoYXIvYWdwL2ludGVs LWd0dC5jCkBAIC04MzgsNiArODM4LDE1IEBAIHN0YXRpYyBib29sIGk4MzBfY2hlY2tfZmxhZ3Mo dW5zaWduZWQgaW50IGZsYWdzKQogCXJldHVybiBmYWxzZTsKIH0KIAordm9pZCBpbnRlbF9ndHRf aW5zZXJ0X3BhZ2UoZG1hX2FkZHJfdCBhZGRyLAorCQkJICAgdW5zaWduZWQgaW50IHBnLAorCQkJ ICAgdW5zaWduZWQgaW50IGZsYWdzKQoreworCWludGVsX3ByaXZhdGUuZHJpdmVyLT53cml0ZV9l bnRyeShhZGRyLCBwZywgZmxhZ3MpOworCXdtYigpOworfQorRVhQT1JUX1NZTUJPTChpbnRlbF9n dHRfaW5zZXJ0X3BhZ2UpOworCiB2b2lkIGludGVsX2d0dF9pbnNlcnRfc2dfZW50cmllcyhzdHJ1 Y3Qgc2dfdGFibGUgKnN0LAogCQkJCSB1bnNpZ25lZCBpbnQgcGdfc3RhcnQsCiAJCQkJIHVuc2ln bmVkIGludCBmbGFncykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggNzM3N2I2 Ny4uN2Y5OTE1OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTIzNDEsNiAr MjM0MSwyMyBAQCBzdGF0aWMgdm9pZCBnZW44X3NldF9wdGUodm9pZCBfX2lvbWVtICphZGRyLCBn ZW44X3B0ZV90IHB0ZSkKICNlbmRpZgogfQogCitzdGF0aWMgdm9pZCBnZW44X2dndHRfaW5zZXJ0 X3BhZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCisJCQkJICBkbWFfYWRkcl90IGFk ZHIsCisJCQkJICB1aW50NjRfdCBvZmZzZXQsCisJCQkJICBlbnVtIGk5MTVfY2FjaGVfbGV2ZWwg bGV2ZWwsCisJCQkJICB1MzIgdW51c2VkKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUodm0tPmRldik7CisJZ2VuOF9wdGVfdCBfX2lvbWVtICpwdGUgPQor CQkoZ2VuOF9wdGVfdCBfX2lvbWVtICopZGV2X3ByaXYtPmd0dC5nc20gKworCQkob2Zmc2V0ID4+ IFBBR0VfU0hJRlQpOworCisJZ2VuOF9zZXRfcHRlKHB0ZSwgZ2VuOF9wdGVfZW5jb2RlKGFkZHIs IGxldmVsLCB0cnVlKSk7CisJd21iKCk7CisKKwlJOTE1X1dSSVRFKEdGWF9GTFNIX0NOVExfR0VO NiwgR0ZYX0ZMU0hfQ05UTF9FTik7Cit9CisKIHN0YXRpYyB2b2lkIGdlbjhfZ2d0dF9pbnNlcnRf ZW50cmllcyhzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCQkgICAgIHN0cnVjdCBz Z190YWJsZSAqc3QsCiAJCQkJICAgICB1aW50NjRfdCBzdGFydCwKQEAgLTI0MTIsNiArMjQyOSwy MyBAQCBzdGF0aWMgdm9pZCBnZW44X2dndHRfaW5zZXJ0X2VudHJpZXNfX0JLTChzdHJ1Y3QgaTkx NV9hZGRyZXNzX3NwYWNlICp2bSwKIAlzdG9wX21hY2hpbmUoZ2VuOF9nZ3R0X2luc2VydF9lbnRy aWVzX19jYiwgJmFyZywgTlVMTCk7CiB9CiAKK3N0YXRpYyB2b2lkIGdlbjZfZ2d0dF9pbnNlcnRf cGFnZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJCQkgIGRtYV9hZGRyX3QgYWRk ciwKKwkJCQkgIHVpbnQ2NF90IG9mZnNldCwKKwkJCQkgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBs ZXZlbCwKKwkJCQkgIHUzMiBmbGFncykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KHZtLT5kZXYpOworCWdlbjZfcHRlX3QgX19pb21lbSAqcHRlID0KKwkJ KGdlbjZfcHRlX3QgX19pb21lbSAqKWRldl9wcml2LT5ndHQuZ3NtICsKKwkJKG9mZnNldCA+PiBQ QUdFX1NISUZUKTsKKworCWlvd3JpdGUzMih2bS0+cHRlX2VuY29kZShhZGRyLCBsZXZlbCwgdHJ1 ZSwgZmxhZ3MpLCBwdGUpOworCXdtYigpOworCisJSTkxNV9XUklURShHRlhfRkxTSF9DTlRMX0dF TjYsIEdGWF9GTFNIX0NOVExfRU4pOworfQorCiAvKgogICogQmluZHMgYW4gb2JqZWN0IGludG8g dGhlIGdsb2JhbCBndHQgd2l0aCB0aGUgc3BlY2lmaWVkIGNhY2hlIGxldmVsLiBUaGUgb2JqZWN0 CiAgKiB3aWxsIGJlIGFjY2Vzc2libGUgdG8gdGhlIEdQVSB2aWEgY29tbWFuZHMgd2hvc2Ugb3Bl cmFuZHMgcmVmZXJlbmNlIG9mZnNldHMKQEAgLTI1MjMsNiArMjU1NywxOCBAQCBzdGF0aWMgdm9p ZCBnZW42X2dndHRfY2xlYXJfcmFuZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJ YXNzZXJ0X3JwbV9hdG9taWNfZW5kKGRldl9wcml2LCBycG1fYXRvbWljX3NlcSk7CiB9CiAKK3N0 YXRpYyB2b2lkIGk5MTVfZ2d0dF9pbnNlcnRfcGFnZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNl ICp2bSwKKwkJCQkgIGRtYV9hZGRyX3QgYWRkciwKKwkJCQkgIHVpbnQ2NF90IG9mZnNldCwKKwkJ CQkgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCwKKwkJCQkgIHUzMiB1bnVzZWQp Cit7CisJdW5zaWduZWQgaW50IGZsYWdzID0gKGNhY2hlX2xldmVsID09IEk5MTVfQ0FDSEVfTk9O RSkgPworCQlBR1BfVVNFUl9NRU1PUlkgOiBBR1BfVVNFUl9DQUNIRURfTUVNT1JZOworCisJaW50 ZWxfZ3R0X2luc2VydF9wYWdlKGFkZHIsIG9mZnNldCA+PiBQQUdFX1NISUZULCBmbGFncyk7Cit9 CisKIHN0YXRpYyB2b2lkIGk5MTVfZ2d0dF9pbnNlcnRfZW50cmllcyhzdHJ1Y3QgaTkxNV9hZGRy ZXNzX3NwYWNlICp2bSwKIAkJCQkgICAgIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMsCiAJCQkJICAg ICB1aW50NjRfdCBzdGFydCwKQEAgLTMwNTIsNiArMzA5OCw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9n bWNoX3Byb2JlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJcmV0ID0gZ2d0dF9wcm9iZV9jb21t b24oZGV2LCBndHRfc2l6ZSk7CiAKIAlkZXZfcHJpdi0+Z3R0LmJhc2UuY2xlYXJfcmFuZ2UgPSBn ZW44X2dndHRfY2xlYXJfcmFuZ2U7CisJZGV2X3ByaXYtPmd0dC5iYXNlLmluc2VydF9wYWdlID0g Z2VuOF9nZ3R0X2luc2VydF9wYWdlOwogCWRldl9wcml2LT5ndHQuYmFzZS5pbnNlcnRfZW50cmll cyA9IGdlbjhfZ2d0dF9pbnNlcnRfZW50cmllczsKIAlkZXZfcHJpdi0+Z3R0LmJhc2UuYmluZF92 bWEgPSBnZ3R0X2JpbmRfdm1hOwogCWRldl9wcml2LT5ndHQuYmFzZS51bmJpbmRfdm1hID0gZ2d0 dF91bmJpbmRfdm1hOwpAQCAtMzA5Nyw2ICszMTQ0LDcgQEAgc3RhdGljIGludCBnZW42X2dtY2hf cHJvYmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlyZXQgPSBnZ3R0X3Byb2JlX2NvbW1vbihk ZXYsIGd0dF9zaXplKTsKIAogCWRldl9wcml2LT5ndHQuYmFzZS5jbGVhcl9yYW5nZSA9IGdlbjZf Z2d0dF9jbGVhcl9yYW5nZTsKKwlkZXZfcHJpdi0+Z3R0LmJhc2UuaW5zZXJ0X3BhZ2UgPSBnZW42 X2dndHRfaW5zZXJ0X3BhZ2U7CiAJZGV2X3ByaXYtPmd0dC5iYXNlLmluc2VydF9lbnRyaWVzID0g Z2VuNl9nZ3R0X2luc2VydF9lbnRyaWVzOwogCWRldl9wcml2LT5ndHQuYmFzZS5iaW5kX3ZtYSA9 IGdndHRfYmluZF92bWE7CiAJZGV2X3ByaXYtPmd0dC5iYXNlLnVuYmluZF92bWEgPSBnZ3R0X3Vu YmluZF92bWE7CkBAIC0zMTMxLDYgKzMxNzksNyBAQCBzdGF0aWMgaW50IGk5MTVfZ21jaF9wcm9i ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWludGVsX2d0dF9nZXQoZ3R0X3RvdGFsLCBzdG9s ZW4sIG1hcHBhYmxlX2Jhc2UsIG1hcHBhYmxlX2VuZCk7CiAKIAlkZXZfcHJpdi0+Z3R0LmRvX2lk bGVfbWFwcyA9IG5lZWRzX2lkbGVfbWFwcyhkZXZfcHJpdi0+ZGV2KTsKKwlkZXZfcHJpdi0+Z3R0 LmJhc2UuaW5zZXJ0X3BhZ2UgPSBpOTE1X2dndHRfaW5zZXJ0X3BhZ2U7CiAJZGV2X3ByaXYtPmd0 dC5iYXNlLmluc2VydF9lbnRyaWVzID0gaTkxNV9nZ3R0X2luc2VydF9lbnRyaWVzOwogCWRldl9w cml2LT5ndHQuYmFzZS5jbGVhcl9yYW5nZSA9IGk5MTVfZ2d0dF9jbGVhcl9yYW5nZTsKIAlkZXZf cHJpdi0+Z3R0LmJhc2UuYmluZF92bWEgPSBnZ3R0X2JpbmRfdm1hOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuaAppbmRleCBlNTczNzk2Li5kMTYyNmM3IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuaApAQCAtMzE2LDYgKzMxNiwxMSBAQCBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3Nw YWNlIHsKIAkJCSAgICB1aW50NjRfdCBzdGFydCwKIAkJCSAgICB1aW50NjRfdCBsZW5ndGgsCiAJ CQkgICAgYm9vbCB1c2Vfc2NyYXRjaCk7CisJdm9pZCAoKmluc2VydF9wYWdlKShzdHJ1Y3QgaTkx NV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJCSAgICBkbWFfYWRkcl90IGFkZHIsCisJCQkgICAgdWlu dDY0X3Qgb2Zmc2V0LAorCQkJICAgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCwK KwkJCSAgICB1MzIgZmxhZ3MpOwogCXZvaWQgKCppbnNlcnRfZW50cmllcykoc3RydWN0IGk5MTVf YWRkcmVzc19zcGFjZSAqdm0sCiAJCQkgICAgICAgc3RydWN0IHNnX3RhYmxlICpzdCwKIAkJCSAg ICAgICB1aW50NjRfdCBzdGFydCwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2ludGVsLWd0dC5o IGIvaW5jbHVkZS9kcm0vaW50ZWwtZ3R0LmgKaW5kZXggOWU5YmRkYWE1Li5mNDllZGVjIDEwMDY0 NAotLS0gYS9pbmNsdWRlL2RybS9pbnRlbC1ndHQuaAorKysgYi9pbmNsdWRlL2RybS9pbnRlbC1n dHQuaApAQCAtMTMsNiArMTMsOSBAQCB2b2lkIGludGVsX2dtY2hfcmVtb3ZlKHZvaWQpOwogYm9v bCBpbnRlbF9lbmFibGVfZ3R0KHZvaWQpOwogCiB2b2lkIGludGVsX2d0dF9jaGlwc2V0X2ZsdXNo KHZvaWQpOwordm9pZCBpbnRlbF9ndHRfaW5zZXJ0X3BhZ2UoZG1hX2FkZHJfdCBhZGRyLAorCQkJ ICAgdW5zaWduZWQgaW50IHBnLAorCQkJICAgdW5zaWduZWQgaW50IGZsYWdzKTsKIHZvaWQgaW50 ZWxfZ3R0X2luc2VydF9zZ19lbnRyaWVzKHN0cnVjdCBzZ190YWJsZSAqc3QsCiAJCQkJIHVuc2ln bmVkIGludCBwZ19zdGFydCwKIAkJCQkgdW5zaWduZWQgaW50IGZsYWdzKTsKLS0gCjEuOS4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=