From mboxrd@z Thu Jan 1 00:00:00 1970 From: ankitprasad.r.sharma@intel.com Subject: [PATCH 1/3] drm/i915: Add support for mapping an object page by page Date: Mon, 9 Nov 2015 16:26:27 +0530 Message-ID: <1447066589-10798-2-git-send-email-ankitprasad.r.sharma@intel.com> References: <1447066589-10798-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 5AEF672097 for ; Mon, 9 Nov 2015 03:15:50 -0800 (PST) In-Reply-To: <1447066589-10798-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 Z3JlIGFzIHBhZ2Ugc2l6ZS4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hy aXMtd2lsc29uLmNvLnVrPgpTaWduZWQtb2ZmLWJ5OiBBbmtpdHByYXNhZCBTaGFybWEgPGFua2l0 cHJhc2FkLnIuc2hhcm1hQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2NoYXIvYWdwL2ludGVsLWd0 dC5jICAgICAgICB8ICA5ICsrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5jIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggfCAgNSArKysrCiBpbmNsdWRlL2RybS9pbnRlbC1n dHQuaCAgICAgICAgICAgICB8ICAzICsrKwogNCBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYyBiL2RyaXZlcnMv Y2hhci9hZ3AvaW50ZWwtZ3R0LmMKaW5kZXggMTM0MWE5NC4uN2M2ODU3NiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYworKysgYi9kcml2ZXJzL2NoYXIvYWdwL2ludGVs LWd0dC5jCkBAIC04MzgsNiArODM4LDE1IEBAIHN0YXRpYyBib29sIGk4MzBfY2hlY2tfZmxhZ3Mo dW5zaWduZWQgaW50IGZsYWdzKQogCXJldHVybiBmYWxzZTsKIH0KIAordm9pZCBpbnRlbF9ndHRf aW5zZXJ0X3BhZ2UoZG1hX2FkZHJfdCBhZGRyLAorCQkJICAgdW5zaWduZWQgaW50IHBnLAorCQkJ ICAgdW5zaWduZWQgaW50IGZsYWdzKQoreworCWludGVsX3ByaXZhdGUuZHJpdmVyLT53cml0ZV9l bnRyeShhZGRyLCBwZywgZmxhZ3MpOworCXdtYigpOworfQorRVhQT1JUX1NZTUJPTChpbnRlbF9n dHRfaW5zZXJ0X3BhZ2UpOworCiB2b2lkIGludGVsX2d0dF9pbnNlcnRfc2dfZW50cmllcyhzdHJ1 Y3Qgc2dfdGFibGUgKnN0LAogCQkJCSB1bnNpZ25lZCBpbnQgcGdfc3RhcnQsCiAJCQkJIHVuc2ln bmVkIGludCBmbGFncykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggMDE2NzM5 ZS4uOWZkMWY4NTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC0yMzQ1LDYg KzIzNDUsMjMgQEAgc3RhdGljIHZvaWQgZ2VuOF9zZXRfcHRlKHZvaWQgX19pb21lbSAqYWRkciwg Z2VuOF9wdGVfdCBwdGUpCiAjZW5kaWYKIH0KIAorc3RhdGljIHZvaWQgZ2VuOF9nZ3R0X2luc2Vy dF9wYWdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAorCQkJCSAgZG1hX2FkZHJfdCBh ZGRyLAorCQkJCSAgdWludDY0X3Qgb2Zmc2V0LAorCQkJCSAgZW51bSBpOTE1X2NhY2hlX2xldmVs IGxldmVsLAorCQkJCSAgdTMyIHVudXNlZCkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KHZtLT5kZXYpOworCWdlbjhfcHRlX3QgX19pb21lbSAqcHRlID0K KwkJKGdlbjhfcHRlX3QgX19pb21lbSAqKWRldl9wcml2LT5ndHQuZ3NtICsKKwkJKG9mZnNldCA+ PiBQQUdFX1NISUZUKTsKKworCWdlbjhfc2V0X3B0ZShwdGUsIGdlbjhfcHRlX2VuY29kZShhZGRy LCBsZXZlbCwgdHJ1ZSkpOworCXdtYigpOworCisJSTkxNV9XUklURShHRlhfRkxTSF9DTlRMX0dF TjYsIEdGWF9GTFNIX0NOVExfRU4pOworfQorCiBzdGF0aWMgdm9pZCBnZW44X2dndHRfaW5zZXJ0 X2VudHJpZXMoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCQkJICAgICBzdHJ1Y3Qg c2dfdGFibGUgKnN0LAogCQkJCSAgICAgdWludDY0X3Qgc3RhcnQsCkBAIC0yMzg1LDYgKzI0MDIs MjMgQEAgc3RhdGljIHZvaWQgZ2VuOF9nZ3R0X2luc2VydF9lbnRyaWVzKHN0cnVjdCBpOTE1X2Fk ZHJlc3Nfc3BhY2UgKnZtLAogCVBPU1RJTkdfUkVBRChHRlhfRkxTSF9DTlRMX0dFTjYpOwogfQog CitzdGF0aWMgdm9pZCBnZW42X2dndHRfaW5zZXJ0X3BhZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19z cGFjZSAqdm0sCisJCQkJICBkbWFfYWRkcl90IGFkZHIsCisJCQkJICB1aW50NjRfdCBvZmZzZXQs CisJCQkJICBlbnVtIGk5MTVfY2FjaGVfbGV2ZWwgbGV2ZWwsCisJCQkJICB1MzIgZmxhZ3MpCit7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNSh2bS0+ZGV2KTsK KwlnZW42X3B0ZV90IF9faW9tZW0gKnB0ZSA9CisJCShnZW42X3B0ZV90IF9faW9tZW0gKilkZXZf cHJpdi0+Z3R0LmdzbSArCisJCShvZmZzZXQgPj4gUEFHRV9TSElGVCk7CisKKwlpb3dyaXRlMzIo dm0tPnB0ZV9lbmNvZGUoYWRkciwgbGV2ZWwsIHRydWUsIGZsYWdzKSwgcHRlKTsKKwl3bWIoKTsK KworCUk5MTVfV1JJVEUoR0ZYX0ZMU0hfQ05UTF9HRU42LCBHRlhfRkxTSF9DTlRMX0VOKTsKK30K KwogLyoKICAqIEJpbmRzIGFuIG9iamVjdCBpbnRvIHRoZSBnbG9iYWwgZ3R0IHdpdGggdGhlIHNw ZWNpZmllZCBjYWNoZSBsZXZlbC4gVGhlIG9iamVjdAogICogd2lsbCBiZSBhY2Nlc3NpYmxlIHRv IHRoZSBHUFUgdmlhIGNvbW1hbmRzIHdob3NlIG9wZXJhbmRzIHJlZmVyZW5jZSBvZmZzZXRzCkBA IC0yNDgxLDYgKzI1MTUsMTggQEAgc3RhdGljIHZvaWQgZ2VuNl9nZ3R0X2NsZWFyX3JhbmdlKHN0 cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCXJlYWRsKGd0dF9iYXNlKTsKIH0KIAorc3Rh dGljIHZvaWQgaTkxNV9nZ3R0X2luc2VydF9wYWdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2Ug KnZtLAorCQkJCSAgZG1hX2FkZHJfdCBhZGRyLAorCQkJCSAgdWludDY0X3Qgb2Zmc2V0LAorCQkJ CSAgZW51bSBpOTE1X2NhY2hlX2xldmVsIGNhY2hlX2xldmVsLAorCQkJCSAgdTMyIHVudXNlZCkK K3sKKwl1bnNpZ25lZCBpbnQgZmxhZ3MgPSAoY2FjaGVfbGV2ZWwgPT0gSTkxNV9DQUNIRV9OT05F KSA/CisJCUFHUF9VU0VSX01FTU9SWSA6IEFHUF9VU0VSX0NBQ0hFRF9NRU1PUlk7CisKKwlpbnRl bF9ndHRfaW5zZXJ0X3BhZ2UoYWRkciwgb2Zmc2V0ID4+IFBBR0VfU0hJRlQsIGZsYWdzKTsKK30K Kwogc3RhdGljIHZvaWQgaTkxNV9nZ3R0X2luc2VydF9lbnRyaWVzKHN0cnVjdCBpOTE1X2FkZHJl c3Nfc3BhY2UgKnZtLAogCQkJCSAgICAgc3RydWN0IHNnX3RhYmxlICpwYWdlcywKIAkJCQkgICAg IHVpbnQ2NF90IHN0YXJ0LApAQCAtMjk5Niw2ICszMDQyLDcgQEAgc3RhdGljIGludCBnZW44X2dt Y2hfcHJvYmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlyZXQgPSBnZ3R0X3Byb2JlX2NvbW1v bihkZXYsIGd0dF9zaXplKTsKIAogCWRldl9wcml2LT5ndHQuYmFzZS5jbGVhcl9yYW5nZSA9IGdl bjhfZ2d0dF9jbGVhcl9yYW5nZTsKKwlkZXZfcHJpdi0+Z3R0LmJhc2UuaW5zZXJ0X3BhZ2UgPSBn ZW44X2dndHRfaW5zZXJ0X3BhZ2U7CiAJZGV2X3ByaXYtPmd0dC5iYXNlLmluc2VydF9lbnRyaWVz ID0gZ2VuOF9nZ3R0X2luc2VydF9lbnRyaWVzOwogCWRldl9wcml2LT5ndHQuYmFzZS5iaW5kX3Zt YSA9IGdndHRfYmluZF92bWE7CiAJZGV2X3ByaXYtPmd0dC5iYXNlLnVuYmluZF92bWEgPSBnZ3R0 X3VuYmluZF92bWE7CkBAIC0zMDM4LDYgKzMwODUsNyBAQCBzdGF0aWMgaW50IGdlbjZfZ21jaF9w cm9iZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXJldCA9IGdndHRfcHJvYmVfY29tbW9uKGRl diwgZ3R0X3NpemUpOwogCiAJZGV2X3ByaXYtPmd0dC5iYXNlLmNsZWFyX3JhbmdlID0gZ2VuNl9n Z3R0X2NsZWFyX3JhbmdlOworCWRldl9wcml2LT5ndHQuYmFzZS5pbnNlcnRfcGFnZSA9IGdlbjZf Z2d0dF9pbnNlcnRfcGFnZTsKIAlkZXZfcHJpdi0+Z3R0LmJhc2UuaW5zZXJ0X2VudHJpZXMgPSBn ZW42X2dndHRfaW5zZXJ0X2VudHJpZXM7CiAJZGV2X3ByaXYtPmd0dC5iYXNlLmJpbmRfdm1hID0g Z2d0dF9iaW5kX3ZtYTsKIAlkZXZfcHJpdi0+Z3R0LmJhc2UudW5iaW5kX3ZtYSA9IGdndHRfdW5i aW5kX3ZtYTsKQEAgLTMwNzIsNiArMzEyMCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nbWNoX3Byb2Jl KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaW50ZWxfZ3R0X2dldChndHRfdG90YWwsIHN0b2xl biwgbWFwcGFibGVfYmFzZSwgbWFwcGFibGVfZW5kKTsKIAogCWRldl9wcml2LT5ndHQuZG9faWRs ZV9tYXBzID0gbmVlZHNfaWRsZV9tYXBzKGRldl9wcml2LT5kZXYpOworCWRldl9wcml2LT5ndHQu YmFzZS5pbnNlcnRfcGFnZSA9IGk5MTVfZ2d0dF9pbnNlcnRfcGFnZTsKIAlkZXZfcHJpdi0+Z3R0 LmJhc2UuaW5zZXJ0X2VudHJpZXMgPSBpOTE1X2dndHRfaW5zZXJ0X2VudHJpZXM7CiAJZGV2X3By aXYtPmd0dC5iYXNlLmNsZWFyX3JhbmdlID0gaTkxNV9nZ3R0X2NsZWFyX3JhbmdlOwogCWRldl9w cml2LT5ndHQuYmFzZS5iaW5kX3ZtYSA9IGdndHRfYmluZF92bWE7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5oCmluZGV4IGEyMTYzOTcuLmFhZTMwZGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5oCkBAIC0zMjAsNiArMzIwLDExIEBAIHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3Bh Y2UgewogCQkJICAgIHVpbnQ2NF90IHN0YXJ0LAogCQkJICAgIHVpbnQ2NF90IGxlbmd0aCwKIAkJ CSAgICBib29sIHVzZV9zY3JhdGNoKTsKKwl2b2lkICgqaW5zZXJ0X3BhZ2UpKHN0cnVjdCBpOTE1 X2FkZHJlc3Nfc3BhY2UgKnZtLAorCQkJICAgIGRtYV9hZGRyX3QgYWRkciwKKwkJCSAgICB1aW50 NjRfdCBvZmZzZXQsCisJCQkgICAgZW51bSBpOTE1X2NhY2hlX2xldmVsIGNhY2hlX2xldmVsLAor CQkJICAgIHUzMiBmbGFncyk7CiAJdm9pZCAoKmluc2VydF9lbnRyaWVzKShzdHJ1Y3QgaTkxNV9h ZGRyZXNzX3NwYWNlICp2bSwKIAkJCSAgICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnN0LAogCQkJICAg ICAgIHVpbnQ2NF90IHN0YXJ0LApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vaW50ZWwtZ3R0Lmgg Yi9pbmNsdWRlL2RybS9pbnRlbC1ndHQuaAppbmRleCA5ZTliZGRhYTUuLmY0OWVkZWMgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvZHJtL2ludGVsLWd0dC5oCisrKyBiL2luY2x1ZGUvZHJtL2ludGVsLWd0 dC5oCkBAIC0xMyw2ICsxMyw5IEBAIHZvaWQgaW50ZWxfZ21jaF9yZW1vdmUodm9pZCk7CiBib29s IGludGVsX2VuYWJsZV9ndHQodm9pZCk7CiAKIHZvaWQgaW50ZWxfZ3R0X2NoaXBzZXRfZmx1c2go dm9pZCk7Cit2b2lkIGludGVsX2d0dF9pbnNlcnRfcGFnZShkbWFfYWRkcl90IGFkZHIsCisJCQkg ICB1bnNpZ25lZCBpbnQgcGcsCisJCQkgICB1bnNpZ25lZCBpbnQgZmxhZ3MpOwogdm9pZCBpbnRl bF9ndHRfaW5zZXJ0X3NnX2VudHJpZXMoc3RydWN0IHNnX3RhYmxlICpzdCwKIAkJCQkgdW5zaWdu ZWQgaW50IHBnX3N0YXJ0LAogCQkJCSB1bnNpZ25lZCBpbnQgZmxhZ3MpOwotLSAKMS45LjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==