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: Mon, 29 Feb 2016 13:09:30 +0530 Message-ID: <1456731579-25584-2-git-send-email-ankitprasad.r.sharma@intel.com> References: <1456731579-25584-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 261996E1FF for ; Mon, 29 Feb 2016 08:03:20 +0000 (UTC) In-Reply-To: <1456731579-25584-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 RnJvbTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CgpJbnRyb2R1Y2Vk IGEgbmV3IHZtIHNwZWNmaWMgY2FsbGJhY2sgaW5zZXJ0X3BhZ2UoKSB0byBwcm9ncmFtIGEgc2lu Z2xlIHB0ZSBpbgpnZ3R0IG9yIHBwZ3R0LiBUaGlzIGFsbG93cyB1cyB0byBtYXAgYSBzaW5nbGUg cGFnZSBpbiB0byB0aGUgbWFwcGFibGUgYXBlcnR1cmUKc3BhY2UuIFRoaXMgY2FuIGJlIGl0ZXJh dGVkIG92ZXIgdG8gYWNjZXNzIHRoZSB3aG9sZSBvYmplY3QgYnkgdXNpbmcgc3BhY2UgYXMKbWVh Z3JlIGFzIHBhZ2Ugc2l6ZS4KCnYyOiBBZGRlZCBsb3cgbGV2ZWwgcnBtIGFzc2VydGlvbnMgdG8g aW5zZXJ0X3BhZ2Ugcm91dGluZXMgKENocmlzKQoKdjM6IEFkZGVkIFBPU1RJTkdfUkVBRCBwb3N0 IHJlZ2lzdGVyIHdyaXRlIChUdnJ0a28pCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNo cmlzQGNocmlzLXdpbHNvbi5jby51az4KU2lnbmVkLW9mZi1ieTogQW5raXRwcmFzYWQgU2hhcm1h IDxhbmtpdHByYXNhZC5yLnNoYXJtYUBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBUdnJ0a28gVXJz dWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvY2hhci9hZ3AvaW50 ZWwtZ3R0LmMgICAgICAgIHwgIDkgKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5jIHwgNjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggfCAgNSArKysKIGluY2x1ZGUvZHJtL2ludGVs LWd0dC5oICAgICAgICAgICAgIHwgIDMgKysKIDQgZmlsZXMgY2hhbmdlZCwgODQgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9hZ3AvaW50ZWwtZ3R0LmMgYi9kcml2ZXJz L2NoYXIvYWdwL2ludGVsLWd0dC5jCmluZGV4IGFlZjg3ZmQuLmNlYTBhZTMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvY2hhci9hZ3AvaW50ZWwtZ3R0LmMKKysrIGIvZHJpdmVycy9jaGFyL2FncC9pbnRl bC1ndHQuYwpAQCAtODQwLDYgKzg0MCwxNSBAQCBzdGF0aWMgYm9vbCBpODMwX2NoZWNrX2ZsYWdz KHVuc2lnbmVkIGludCBmbGFncykKIAlyZXR1cm4gZmFsc2U7CiB9CiAKK3ZvaWQgaW50ZWxfZ3R0 X2luc2VydF9wYWdlKGRtYV9hZGRyX3QgYWRkciwKKwkJCSAgIHVuc2lnbmVkIGludCBwZywKKwkJ CSAgIHVuc2lnbmVkIGludCBmbGFncykKK3sKKwlpbnRlbF9wcml2YXRlLmRyaXZlci0+d3JpdGVf ZW50cnkoYWRkciwgcGcsIGZsYWdzKTsKKwl3bWIoKTsKK30KK0VYUE9SVF9TWU1CT0woaW50ZWxf Z3R0X2luc2VydF9wYWdlKTsKKwogdm9pZCBpbnRlbF9ndHRfaW5zZXJ0X3NnX2VudHJpZXMoc3Ry dWN0IHNnX3RhYmxlICpzdCwKIAkJCQkgdW5zaWduZWQgaW50IHBnX3N0YXJ0LAogCQkJCSB1bnNp Z25lZCBpbnQgZmxhZ3MpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4IDQ5ZTRm MjYuLjMwOTBmYTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC0yMzYyLDYg KzIzNjIsMjkgQEAgc3RhdGljIHZvaWQgZ2VuOF9zZXRfcHRlKHZvaWQgX19pb21lbSAqYWRkciwg Z2VuOF9wdGVfdCBwdGUpCiAjZW5kaWYKIH0KIAorc3RhdGljIHZvaWQgZ2VuOF9nZ3R0X2luc2Vy dF9wYWdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAorCQkJCSAgZG1hX2FkZHJfdCBh ZGRyLAorCQkJCSAgdWludDY0X3Qgb2Zmc2V0LAorCQkJCSAgZW51bSBpOTE1X2NhY2hlX2xldmVs IGxldmVsLAorCQkJCSAgdTMyIHVudXNlZCkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KHZtLT5kZXYpOworCWdlbjhfcHRlX3QgX19pb21lbSAqcHRlID0K KwkJKGdlbjhfcHRlX3QgX19pb21lbSAqKWRldl9wcml2LT5ndHQuZ3NtICsKKwkJKG9mZnNldCA+ PiBQQUdFX1NISUZUKTsKKwlpbnQgcnBtX2F0b21pY19zZXE7CisKKwlycG1fYXRvbWljX3NlcSA9 IGFzc2VydF9ycG1fYXRvbWljX2JlZ2luKGRldl9wcml2KTsKKworCWdlbjhfc2V0X3B0ZShwdGUs IGdlbjhfcHRlX2VuY29kZShhZGRyLCBsZXZlbCwgdHJ1ZSkpOworCXdtYigpOworCisJSTkxNV9X UklURShHRlhfRkxTSF9DTlRMX0dFTjYsIEdGWF9GTFNIX0NOVExfRU4pOworCVBPU1RJTkdfUkVB RChHRlhfRkxTSF9DTlRMX0dFTjYpOworCisJYXNzZXJ0X3JwbV9hdG9taWNfZW5kKGRldl9wcml2 LCBycG1fYXRvbWljX3NlcSk7Cit9CisKIHN0YXRpYyB2b2lkIGdlbjhfZ2d0dF9pbnNlcnRfZW50 cmllcyhzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCQkgICAgIHN0cnVjdCBzZ190 YWJsZSAqc3QsCiAJCQkJICAgICB1aW50NjRfdCBzdGFydCwKQEAgLTI0MzMsNiArMjQ1NiwyOSBA QCBzdGF0aWMgdm9pZCBnZW44X2dndHRfaW5zZXJ0X2VudHJpZXNfX0JLTChzdHJ1Y3QgaTkxNV9h ZGRyZXNzX3NwYWNlICp2bSwKIAlzdG9wX21hY2hpbmUoZ2VuOF9nZ3R0X2luc2VydF9lbnRyaWVz X19jYiwgJmFyZywgTlVMTCk7CiB9CiAKK3N0YXRpYyB2b2lkIGdlbjZfZ2d0dF9pbnNlcnRfcGFn ZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJCQkgIGRtYV9hZGRyX3QgYWRkciwK KwkJCQkgIHVpbnQ2NF90IG9mZnNldCwKKwkJCQkgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBsZXZl bCwKKwkJCQkgIHUzMiBmbGFncykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KHZtLT5kZXYpOworCWdlbjZfcHRlX3QgX19pb21lbSAqcHRlID0KKwkJKGdl bjZfcHRlX3QgX19pb21lbSAqKWRldl9wcml2LT5ndHQuZ3NtICsKKwkJKG9mZnNldCA+PiBQQUdF X1NISUZUKTsKKwlpbnQgcnBtX2F0b21pY19zZXE7CisKKwlycG1fYXRvbWljX3NlcSA9IGFzc2Vy dF9ycG1fYXRvbWljX2JlZ2luKGRldl9wcml2KTsKKworCWlvd3JpdGUzMih2bS0+cHRlX2VuY29k ZShhZGRyLCBsZXZlbCwgdHJ1ZSwgZmxhZ3MpLCBwdGUpOworCXdtYigpOworCisJSTkxNV9XUklU RShHRlhfRkxTSF9DTlRMX0dFTjYsIEdGWF9GTFNIX0NOVExfRU4pOworCVBPU1RJTkdfUkVBRChH RlhfRkxTSF9DTlRMX0dFTjYpOworCisJYXNzZXJ0X3JwbV9hdG9taWNfZW5kKGRldl9wcml2LCBy cG1fYXRvbWljX3NlcSk7Cit9CisKIC8qCiAgKiBCaW5kcyBhbiBvYmplY3QgaW50byB0aGUgZ2xv YmFsIGd0dCB3aXRoIHRoZSBzcGVjaWZpZWQgY2FjaGUgbGV2ZWwuIFRoZSBvYmplY3QKICAqIHdp bGwgYmUgYWNjZXNzaWJsZSB0byB0aGUgR1BVIHZpYSBjb21tYW5kcyB3aG9zZSBvcGVyYW5kcyBy ZWZlcmVuY2Ugb2Zmc2V0cwpAQCAtMjU0NCw2ICsyNTkwLDI0IEBAIHN0YXRpYyB2b2lkIGdlbjZf Z2d0dF9jbGVhcl9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAlhc3NlcnRf cnBtX2F0b21pY19lbmQoZGV2X3ByaXYsIHJwbV9hdG9taWNfc2VxKTsKIH0KIAorc3RhdGljIHZv aWQgaTkxNV9nZ3R0X2luc2VydF9wYWdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAor CQkJCSAgZG1hX2FkZHJfdCBhZGRyLAorCQkJCSAgdWludDY0X3Qgb2Zmc2V0LAorCQkJCSAgZW51 bSBpOTE1X2NhY2hlX2xldmVsIGNhY2hlX2xldmVsLAorCQkJCSAgdTMyIHVudXNlZCkKK3sKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHZtLT5kZXYpOworCXVu c2lnbmVkIGludCBmbGFncyA9IChjYWNoZV9sZXZlbCA9PSBJOTE1X0NBQ0hFX05PTkUpID8KKwkJ QUdQX1VTRVJfTUVNT1JZIDogQUdQX1VTRVJfQ0FDSEVEX01FTU9SWTsKKwlpbnQgcnBtX2F0b21p Y19zZXE7CisKKwlycG1fYXRvbWljX3NlcSA9IGFzc2VydF9ycG1fYXRvbWljX2JlZ2luKGRldl9w cml2KTsKKworCWludGVsX2d0dF9pbnNlcnRfcGFnZShhZGRyLCBvZmZzZXQgPj4gUEFHRV9TSElG VCwgZmxhZ3MpOworCisJYXNzZXJ0X3JwbV9hdG9taWNfZW5kKGRldl9wcml2LCBycG1fYXRvbWlj X3NlcSk7Cit9CisKIHN0YXRpYyB2b2lkIGk5MTVfZ2d0dF9pbnNlcnRfZW50cmllcyhzdHJ1Y3Qg aTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCQkgICAgIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMs CiAJCQkJICAgICB1aW50NjRfdCBzdGFydCwKQEAgLTMwNzUsNiArMzEzOSw3IEBAIHN0YXRpYyBp bnQgZ2VuOF9nbWNoX3Byb2JlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJcmV0ID0gZ2d0dF9w cm9iZV9jb21tb24oZGV2LCBndHRfc2l6ZSk7CiAKIAlkZXZfcHJpdi0+Z3R0LmJhc2UuY2xlYXJf cmFuZ2UgPSBnZW44X2dndHRfY2xlYXJfcmFuZ2U7CisJZGV2X3ByaXYtPmd0dC5iYXNlLmluc2Vy dF9wYWdlID0gZ2VuOF9nZ3R0X2luc2VydF9wYWdlOwogCWRldl9wcml2LT5ndHQuYmFzZS5pbnNl cnRfZW50cmllcyA9IGdlbjhfZ2d0dF9pbnNlcnRfZW50cmllczsKIAlkZXZfcHJpdi0+Z3R0LmJh c2UuYmluZF92bWEgPSBnZ3R0X2JpbmRfdm1hOwogCWRldl9wcml2LT5ndHQuYmFzZS51bmJpbmRf dm1hID0gZ2d0dF91bmJpbmRfdm1hOwpAQCAtMzEyMCw2ICszMTg1LDcgQEAgc3RhdGljIGludCBn ZW42X2dtY2hfcHJvYmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlyZXQgPSBnZ3R0X3Byb2Jl X2NvbW1vbihkZXYsIGd0dF9zaXplKTsKIAogCWRldl9wcml2LT5ndHQuYmFzZS5jbGVhcl9yYW5n ZSA9IGdlbjZfZ2d0dF9jbGVhcl9yYW5nZTsKKwlkZXZfcHJpdi0+Z3R0LmJhc2UuaW5zZXJ0X3Bh Z2UgPSBnZW42X2dndHRfaW5zZXJ0X3BhZ2U7CiAJZGV2X3ByaXYtPmd0dC5iYXNlLmluc2VydF9l bnRyaWVzID0gZ2VuNl9nZ3R0X2luc2VydF9lbnRyaWVzOwogCWRldl9wcml2LT5ndHQuYmFzZS5i aW5kX3ZtYSA9IGdndHRfYmluZF92bWE7CiAJZGV2X3ByaXYtPmd0dC5iYXNlLnVuYmluZF92bWEg PSBnZ3R0X3VuYmluZF92bWE7CkBAIC0zMTU0LDYgKzMyMjAsNyBAQCBzdGF0aWMgaW50IGk5MTVf Z21jaF9wcm9iZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWludGVsX2d0dF9nZXQoZ3R0X3Rv dGFsLCBzdG9sZW4sIG1hcHBhYmxlX2Jhc2UsIG1hcHBhYmxlX2VuZCk7CiAKIAlkZXZfcHJpdi0+ Z3R0LmRvX2lkbGVfbWFwcyA9IG5lZWRzX2lkbGVfbWFwcyhkZXZfcHJpdi0+ZGV2KTsKKwlkZXZf cHJpdi0+Z3R0LmJhc2UuaW5zZXJ0X3BhZ2UgPSBpOTE1X2dndHRfaW5zZXJ0X3BhZ2U7CiAJZGV2 X3ByaXYtPmd0dC5iYXNlLmluc2VydF9lbnRyaWVzID0gaTkxNV9nZ3R0X2luc2VydF9lbnRyaWVz OwogCWRldl9wcml2LT5ndHQuYmFzZS5jbGVhcl9yYW5nZSA9IGk5MTVfZ2d0dF9jbGVhcl9yYW5n ZTsKIAlkZXZfcHJpdi0+Z3R0LmJhc2UuYmluZF92bWEgPSBnZ3R0X2JpbmRfdm1hOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuaAppbmRleCA4Nzc0ZjFiLi5hMzkzZDNkIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuaApAQCAtMzE5LDYgKzMxOSwxMSBAQCBzdHJ1Y3QgaTkxNV9h ZGRyZXNzX3NwYWNlIHsKIAkJCSAgICB1aW50NjRfdCBzdGFydCwKIAkJCSAgICB1aW50NjRfdCBs ZW5ndGgsCiAJCQkgICAgYm9vbCB1c2Vfc2NyYXRjaCk7CisJdm9pZCAoKmluc2VydF9wYWdlKShz dHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJCSAgICBkbWFfYWRkcl90IGFkZHIsCisJ CQkgICAgdWludDY0X3Qgb2Zmc2V0LAorCQkJICAgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNo ZV9sZXZlbCwKKwkJCSAgICB1MzIgZmxhZ3MpOwogCXZvaWQgKCppbnNlcnRfZW50cmllcykoc3Ry dWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCQkgICAgICAgc3RydWN0IHNnX3RhYmxlICpz dCwKIAkJCSAgICAgICB1aW50NjRfdCBzdGFydCwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2lu dGVsLWd0dC5oIGIvaW5jbHVkZS9kcm0vaW50ZWwtZ3R0LmgKaW5kZXggOWU5YmRkYWE1Li5mNDll ZGVjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9pbnRlbC1ndHQuaAorKysgYi9pbmNsdWRlL2Ry bS9pbnRlbC1ndHQuaApAQCAtMTMsNiArMTMsOSBAQCB2b2lkIGludGVsX2dtY2hfcmVtb3ZlKHZv aWQpOwogYm9vbCBpbnRlbF9lbmFibGVfZ3R0KHZvaWQpOwogCiB2b2lkIGludGVsX2d0dF9jaGlw c2V0X2ZsdXNoKHZvaWQpOwordm9pZCBpbnRlbF9ndHRfaW5zZXJ0X3BhZ2UoZG1hX2FkZHJfdCBh ZGRyLAorCQkJICAgdW5zaWduZWQgaW50IHBnLAorCQkJICAgdW5zaWduZWQgaW50IGZsYWdzKTsK IHZvaWQgaW50ZWxfZ3R0X2luc2VydF9zZ19lbnRyaWVzKHN0cnVjdCBzZ190YWJsZSAqc3QsCiAJ CQkJIHVuc2lnbmVkIGludCBwZ19zdGFydCwKIAkJCQkgdW5zaWduZWQgaW50IGZsYWdzKTsKLS0g CjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK