From mboxrd@z Thu Jan 1 00:00:00 1970 From: ankitprasad.r.sharma@intel.com Subject: [PATCH 02/10] drm/i915: Use insert_page for pwrite_fast Date: Tue, 22 Dec 2015 11:50:45 +0530 Message-ID: <1450765253-32104-3-git-send-email-ankitprasad.r.sharma@intel.com> References: <1450765253-32104-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id B70166E53D for ; Mon, 21 Dec 2015 22:42:56 -0800 (PST) In-Reply-To: <1450765253-32104-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 RnJvbTogQW5raXRwcmFzYWQgU2hhcm1hIDxhbmtpdHByYXNhZC5yLnNoYXJtYUBpbnRlbC5jb20+ CgpJbiBwd3JpdGVfZmFzdCwgbWFwIGFuIG9iamVjdCBwYWdlIGJ5IHBhZ2UgaWYgb2JqX2dndHRf cGluIGZhaWxzLiBGaXJzdCwKd2UgdHJ5IGEgbm9uYmxvY2tpbmcgcGluIGZvciB0aGUgd2hvbGUg b2JqZWN0IChzaW5jZSB0aGF0IGlzIGZhc3Rlc3QgaWYKcmV1c2VkKSwgdGhlbiBmYWlsaW5nIHRo YXQgd2UgdHJ5IHRvIGdyYWIgb25lIHBhZ2UgaW4gdGhlIG1hcHBhYmxlCmFwZXJ0dXJlLiBJdCBh bHNvIGFsbG93cyB1cyB0byBoYW5kbGUgb2JqZWN0cyBsYXJnZXIgdGhhbiB0aGUgbWFwcGFibGUK YXBlcnR1cmUgKGUuZy4gaWYgd2UgbmVlZCB0byBwd3JpdGUgd2l0aCB2R1BVIHJlc3RyaWN0aW5n IHRoZSBhcGVydHVyZQp0byBhIG1lYXNlbHkgOE1pQiBvciBzb21ldGhpbmcgbGlrZSB0aGF0KS4K CnYyOiBQaW4gcGFnZXMgYmVmb3JlIHN0YXJ0aW5nIHB3cml0ZSwgQ29tYmluZWQgZHVwbGljYXRl IGxvb3BzIChDaHJpcykKCnYzOiBDb21iaW5lZCBsb29wcyBiYXNlZCBvbiBsb2NhbCBwYXRjaCBi eSBDaHJpcyAoQ2hyaXMpCgp2NDogQWRkZWQgaTkxNSB3cmFwcGVyIGZ1bmN0aW9uIGZvciBkcm1f bW1faW5zZXJ0X25vZGVfaW5fcmFuZ2UgKENocmlzKQoKdjU6IFJlbmFtZWQgd3JhcHBlciBmdW5j dGlvbiBmb3IgZHJtX21tX2luc2VydF9ub2RlX2luX3JhbmdlIChDaHJpcykKCnY1OiBBZGRlZCB3 cmFwcGVyIGZvciBkcm1fbW1fcmVtb3ZlX25vZGUoKSAoQ2hyaXMpCgp2NjogQWRkZWQgZ2V0X3Bh Z2VzIGNhbGwgYmVmb3JlIHBpbm5pbmcgdGhlIHBhZ2VzIChUdnJ0a28pCkFkZGVkIHJlbW92ZV9t YXBwYWJsZV9ub2RlKCkgd3JhcHBlciBmb3IgZHJtX21tX3JlbW92ZV9ub2RlKCkgKENocmlzKQoK U2lnbmVkLW9mZi1ieTogQW5raXRwcmFzYWQgU2hhcm1hIDxhbmtpdHByYXNhZC5yLnNoYXJtYUBp bnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29u LmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgfCA5NCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcyIGlu c2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4 IGJmN2YyMDMuLmYxMWVjODkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtNjEsNiArNjEs MjMgQEAgc3RhdGljIGJvb2wgY3B1X3dyaXRlX25lZWRzX2NsZmx1c2goc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaikKIAlyZXR1cm4gb2JqLT5waW5fZGlzcGxheTsKIH0KIAorc3RhdGlj IGludAoraW5zZXJ0X21hcHBhYmxlX25vZGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUs CisgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX21tX25vZGUgKm5vZGUpCit7CisJcmV0 dXJuIGRybV9tbV9pbnNlcnRfbm9kZV9pbl9yYW5nZV9nZW5lcmljKCZpOTE1LT5ndHQuYmFzZS5t bSwgbm9kZSwKKwkJCQkJCSAgIFBBR0VfU0laRSwgMCwgMCwKKwkJCQkJCSAgIDAsIGk5MTUtPmd0 dC5tYXBwYWJsZV9lbmQsCisJCQkJCQkgICBEUk1fTU1fU0VBUkNIX0RFRkFVTFQsCisJCQkJCQkg ICBEUk1fTU1fQ1JFQVRFX0RFRkFVTFQpOworfQorCitzdGF0aWMgdm9pZAorcmVtb3ZlX21hcHBh YmxlX25vZGUoc3RydWN0IGRybV9tbV9ub2RlICpub2RlKQoreworCWRybV9tbV9yZW1vdmVfbm9k ZShub2RlKTsKK30KKwogLyogc29tZSBib29ra2VlcGluZyAqLwogc3RhdGljIHZvaWQgaTkxNV9n ZW1faW5mb19hZGRfb2JqKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkg IHNpemVfdCBzaXplKQpAQCAtNzYwLDIwICs3NzcsMzQgQEAgZmFzdF91c2VyX3dyaXRlKHN0cnVj dCBpb19tYXBwaW5nICptYXBwaW5nLAogICogdXNlciBpbnRvIHRoZSBHVFQsIHVuY2FjaGVkLgog ICovCiBzdGF0aWMgaW50Ci1pOTE1X2dlbV9ndHRfcHdyaXRlX2Zhc3Qoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKK2k5MTVfZ2VtX2d0dF9wd3JpdGVfZmFzdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSwKIAkJCSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJIHN0cnVj dCBkcm1faTkxNV9nZW1fcHdyaXRlICphcmdzLAogCQkJIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkK IHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl OwotCXNzaXplX3QgcmVtYWluOwotCWxvZmZfdCBvZmZzZXQsIHBhZ2VfYmFzZTsKKwlzdHJ1Y3Qg ZHJtX21tX25vZGUgbm9kZTsKKwl1aW50NjRfdCByZW1haW4sIG9mZnNldDsKIAljaGFyIF9fdXNl ciAqdXNlcl9kYXRhOwotCWludCBwYWdlX29mZnNldCwgcGFnZV9sZW5ndGgsIHJldDsKKwlpbnQg cmV0OwogCiAJcmV0ID0gaTkxNV9nZW1fb2JqX2dndHRfcGluKG9iaiwgMCwgUElOX01BUFBBQkxF IHwgUElOX05PTkJMT0NLKTsKLQlpZiAocmV0KQotCQlnb3RvIG91dDsKKwlpZiAocmV0KSB7CisJ CW1lbXNldCgmbm9kZSwgMCwgc2l6ZW9mKG5vZGUpKTsKKwkJcmV0ID0gaW5zZXJ0X21hcHBhYmxl X25vZGUoaTkxNSwgJm5vZGUpOworCQlpZiAocmV0KQorCQkJZ290byBvdXQ7CisKKwkJcmV0ID0g aTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlcyhvYmopOworCQlpZiAocmV0KSB7CisJCQlyZW1vdmVf bWFwcGFibGVfbm9kZSgmbm9kZSk7CisJCQlnb3RvIG91dDsKKwkJfQorCisJCWk5MTVfZ2VtX29i amVjdF9waW5fcGFnZXMob2JqKTsKKwl9IGVsc2UgeworCQlub2RlLnN0YXJ0ID0gaTkxNV9nZW1f b2JqX2dndHRfb2Zmc2V0KG9iaik7CisJCW5vZGUuYWxsb2NhdGVkID0gZmFsc2U7CisJfQogCiAJ cmV0ID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19ndHRfZG9tYWluKG9iaiwgdHJ1ZSk7CiAJaWYg KHJldCkKQEAgLTc4MywzMSArODE0LDM5IEBAIGk5MTVfZ2VtX2d0dF9wd3JpdGVfZmFzdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAogCWlmIChyZXQpCiAJCWdvdG8gb3V0X3VucGluOwogCi0JdXNl cl9kYXRhID0gdG9fdXNlcl9wdHIoYXJncy0+ZGF0YV9wdHIpOwotCXJlbWFpbiA9IGFyZ3MtPnNp emU7Ci0KLQlvZmZzZXQgPSBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQob2JqKSArIGFyZ3MtPm9m ZnNldDsKLQogCWludGVsX2ZiX29ial9pbnZhbGlkYXRlKG9iaiwgT1JJR0lOX0dUVCk7CisJb2Jq LT5kaXJ0eSA9IHRydWU7CiAKLQl3aGlsZSAocmVtYWluID4gMCkgeworCXVzZXJfZGF0YSA9IHRv X3VzZXJfcHRyKGFyZ3MtPmRhdGFfcHRyKTsKKwlvZmZzZXQgPSBhcmdzLT5vZmZzZXQ7CisJcmVt YWluID0gYXJncy0+c2l6ZTsKKwl3aGlsZSAocmVtYWluKSB7CiAJCS8qIE9wZXJhdGlvbiBpbiB0 aGlzIHBhZ2UKIAkJICoKIAkJICogcGFnZV9iYXNlID0gcGFnZSBvZmZzZXQgd2l0aGluIGFwZXJ0 dXJlCiAJCSAqIHBhZ2Vfb2Zmc2V0ID0gb2Zmc2V0IHdpdGhpbiBwYWdlCiAJCSAqIHBhZ2VfbGVu Z3RoID0gYnl0ZXMgdG8gY29weSBmb3IgdGhpcyBwYWdlCiAJCSAqLwotCQlwYWdlX2Jhc2UgPSBv ZmZzZXQgJiBQQUdFX01BU0s7Ci0JCXBhZ2Vfb2Zmc2V0ID0gb2Zmc2V0X2luX3BhZ2Uob2Zmc2V0 KTsKLQkJcGFnZV9sZW5ndGggPSByZW1haW47Ci0JCWlmICgocGFnZV9vZmZzZXQgKyByZW1haW4p ID4gUEFHRV9TSVpFKQotCQkJcGFnZV9sZW5ndGggPSBQQUdFX1NJWkUgLSBwYWdlX29mZnNldDsK LQorCQl1MzIgcGFnZV9iYXNlID0gbm9kZS5zdGFydDsKKwkJdW5zaWduZWQgcGFnZV9vZmZzZXQg PSBvZmZzZXRfaW5fcGFnZShvZmZzZXQpOworCQl1bnNpZ25lZCBwYWdlX2xlbmd0aCA9IFBBR0Vf U0laRSAtIHBhZ2Vfb2Zmc2V0OworCQlwYWdlX2xlbmd0aCA9IHJlbWFpbiA8IHBhZ2VfbGVuZ3Ro ID8gcmVtYWluIDogcGFnZV9sZW5ndGg7CisJCWlmIChub2RlLmFsbG9jYXRlZCkgeworCQkJd21i KCk7CisJCQlpOTE1LT5ndHQuYmFzZS5pbnNlcnRfcGFnZSgmaTkxNS0+Z3R0LmJhc2UsCisJCQkJ CQkgICBpOTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzKG9iaiwgb2Zmc2V0ID4+IFBBR0Vf U0hJRlQpLAorCQkJCQkJICAgbm9kZS5zdGFydCwKKwkJCQkJCSAgIEk5MTVfQ0FDSEVfTk9ORSwK KwkJCQkJCSAgIDApOworCQkJd21iKCk7CisJCX0gZWxzZSB7CisJCQlwYWdlX2Jhc2UgKz0gb2Zm c2V0ICYgUEFHRV9NQVNLOworCQl9CiAJCS8qIElmIHdlIGdldCBhIGZhdWx0IHdoaWxlIGNvcHlp bmcgZGF0YSwgdGhlbiAocHJlc3VtYWJseSkgb3VyCiAJCSAqIHNvdXJjZSBwYWdlIGlzbid0IGF2 YWlsYWJsZS4gIFJldHVybiB0aGUgZXJyb3IgYW5kIHdlJ2xsCiAJCSAqIHJldHJ5IGluIHRoZSBz bG93IHBhdGguCiAJCSAqLwotCQlpZiAoZmFzdF91c2VyX3dyaXRlKGRldl9wcml2LT5ndHQubWFw cGFibGUsIHBhZ2VfYmFzZSwKKwkJaWYgKGZhc3RfdXNlcl93cml0ZShpOTE1LT5ndHQubWFwcGFi bGUsIHBhZ2VfYmFzZSwKIAkJCQkgICAgcGFnZV9vZmZzZXQsIHVzZXJfZGF0YSwgcGFnZV9sZW5n dGgpKSB7CiAJCQlyZXQgPSAtRUZBVUxUOwogCQkJZ290byBvdXRfZmx1c2g7CkBAIC04MjEsNyAr ODYwLDE4IEBAIGk5MTVfZ2VtX2d0dF9wd3JpdGVfZmFzdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAogb3V0X2ZsdXNoOgogCWludGVsX2ZiX29ial9mbHVzaChvYmosIGZhbHNlLCBPUklHSU5fR1RU KTsKIG91dF91bnBpbjoKLQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihvYmopOworCWlmIChu b2RlLmFsbG9jYXRlZCkgeworCQl3bWIoKTsKKwkJaTkxNS0+Z3R0LmJhc2UuY2xlYXJfcmFuZ2Uo Jmk5MTUtPmd0dC5iYXNlLAorCQkJCW5vZGUuc3RhcnQsIG5vZGUuc2l6ZSwKKwkJCQl0cnVlKTsK KwkJcmVtb3ZlX21hcHBhYmxlX25vZGUoJm5vZGUpOworCQlpOTE1X2dlbV9vYmplY3RfdW5waW5f cGFnZXMob2JqKTsKKwkJaTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlcyhvYmopOworCX0KKwllbHNl IHsKKwkJaTkxNV9nZW1fb2JqZWN0X2dndHRfdW5waW4ob2JqKTsKKwl9CiBvdXQ6CiAJcmV0dXJu IHJldDsKIH0KQEAgLTEwODYsNyArMTEzNiw3IEBAIGk5MTVfZ2VtX3B3cml0ZV9pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCWlmIChvYmotPnRpbGluZ19tb2RlID09 IEk5MTVfVElMSU5HX05PTkUgJiYKIAkgICAgb2JqLT5iYXNlLndyaXRlX2RvbWFpbiAhPSBJOTE1 X0dFTV9ET01BSU5fQ1BVICYmCiAJICAgIGNwdV93cml0ZV9uZWVkc19jbGZsdXNoKG9iaikpIHsK LQkJcmV0ID0gaTkxNV9nZW1fZ3R0X3B3cml0ZV9mYXN0KGRldiwgb2JqLCBhcmdzLCBmaWxlKTsK KwkJcmV0ID0gaTkxNV9nZW1fZ3R0X3B3cml0ZV9mYXN0KGRldl9wcml2LCBvYmosIGFyZ3MsIGZp bGUpOwogCQkvKiBOb3RlIHRoYXQgdGhlIGd0dCBwYXRocyBtaWdodCBmYWlsIHdpdGggbm9uLXBh Z2UtYmFja2VkIHVzZXIKIAkJICogcG9pbnRlcnMgKGUuZy4gZ3R0IG1hcHBpbmdzIHdoZW4gbW92 aW5nIGRhdGEgYmV0d2VlbgogCQkgKiB0ZXh0dXJlcykuIEZhbGxiYWNrIHRvIHRoZSBzaG1lbSBw YXRoIGluIHRoYXQgY2FzZS4gKi8KLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=