From mboxrd@z Thu Jan 1 00:00:00 1970 From: ankitprasad.r.sharma@intel.com Subject: [PATCH 03/10] drm/i915: Use insert_page for pwrite_fast Date: Thu, 4 Feb 2016 15:00:04 +0530 Message-ID: <1454578211-24823-4-git-send-email-ankitprasad.r.sharma@intel.com> References: <1454578211-24823-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 51C156E468 for ; Thu, 4 Feb 2016 01:53:09 -0800 (PST) In-Reply-To: <1454578211-24823-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 RnJvbTogQW5raXRwcmFzYWQgU2hhcm1hIDxhbmtpdHByYXNhZC5yLnNoYXJtYUBpbnRlbC5jb20+ CgpJbiBwd3JpdGVfZmFzdCwgbWFwIGFuIG9iamVjdCBwYWdlIGJ5IHBhZ2UgaWYgb2JqX2dndHRf cGluIGZhaWxzLiBGaXJzdCwKd2UgdHJ5IGEgbm9uYmxvY2tpbmcgcGluIGZvciB0aGUgd2hvbGUg b2JqZWN0IChzaW5jZSB0aGF0IGlzIGZhc3Rlc3QgaWYKcmV1c2VkKSwgdGhlbiBmYWlsaW5nIHRo YXQgd2UgdHJ5IHRvIGdyYWIgb25lIHBhZ2UgaW4gdGhlIG1hcHBhYmxlCmFwZXJ0dXJlLiBJdCBh bHNvIGFsbG93cyB1cyB0byBoYW5kbGUgb2JqZWN0cyBsYXJnZXIgdGhhbiB0aGUgbWFwcGFibGUK YXBlcnR1cmUgKGUuZy4gaWYgd2UgbmVlZCB0byBwd3JpdGUgd2l0aCB2R1BVIHJlc3RyaWN0aW5n IHRoZSBhcGVydHVyZQp0byBhIG1lYXNlbHkgOE1pQiBvciBzb21ldGhpbmcgbGlrZSB0aGF0KS4K CnYyOiBQaW4gcGFnZXMgYmVmb3JlIHN0YXJ0aW5nIHB3cml0ZSwgQ29tYmluZWQgZHVwbGljYXRl IGxvb3BzIChDaHJpcykKCnYzOiBDb21iaW5lZCBsb29wcyBiYXNlZCBvbiBsb2NhbCBwYXRjaCBi eSBDaHJpcyAoQ2hyaXMpCgp2NDogQWRkZWQgaTkxNSB3cmFwcGVyIGZ1bmN0aW9uIGZvciBkcm1f bW1faW5zZXJ0X25vZGVfaW5fcmFuZ2UgKENocmlzKQoKdjU6IFJlbmFtZWQgd3JhcHBlciBmdW5j dGlvbiBmb3IgZHJtX21tX2luc2VydF9ub2RlX2luX3JhbmdlIChDaHJpcykKCnY1OiBBZGRlZCB3 cmFwcGVyIGZvciBkcm1fbW1fcmVtb3ZlX25vZGUoKSAoQ2hyaXMpCgp2NjogQWRkZWQgZ2V0X3Bh Z2VzIGNhbGwgYmVmb3JlIHBpbm5pbmcgdGhlIHBhZ2VzIChUdnJ0a28pCkFkZGVkIHJlbW92ZV9t YXBwYWJsZV9ub2RlKCkgd3JhcHBlciBmb3IgZHJtX21tX3JlbW92ZV9ub2RlKCkgKENocmlzKQoK djc6IEFkZGVkIHNpemUgYXJndW1lbnQgZm9yIGluc2VydF9tYXBwYWJsZV9ub2RlIChUdnJ0a28p Cgp2ODogRG8gbm90IHB1dF9wYWdlcyBhZnRlciBwd3JpdGUsIGRvIG1lbXNldCBvZiBub2RlIGlu IHRoZSB3cmFwcGVyCmZ1bmN0aW9uIChpbnNlcnRfbWFwcGFibGVfbm9kZSkgKENocmlzKQoKU2ln bmVkLW9mZi1ieTogQW5raXRwcmFzYWQgU2hhcm1hIDxhbmtpdHByYXNhZC5yLnNoYXJtYUBpbnRl bC5jb20+ClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNv LnVrPgpSZXZpZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIHwgOTIgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3MCBpbnNlcnRp b25zKCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCBhOTI4 ODIzLi40OWEwM2YyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTYxLDYgKzYxLDI0IEBA IHN0YXRpYyBib29sIGNwdV93cml0ZV9uZWVkc19jbGZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmopCiAJcmV0dXJuIG9iai0+cGluX2Rpc3BsYXk7CiB9CiAKK3N0YXRpYyBpbnQK K2luc2VydF9tYXBwYWJsZV9ub2RlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAorICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9tbV9ub2RlICpub2RlLCB1MzIgc2l6ZSkKK3sK KwltZW1zZXQobm9kZSwgMCwgc2l6ZW9mKCpub2RlKSk7CisJcmV0dXJuIGRybV9tbV9pbnNlcnRf bm9kZV9pbl9yYW5nZV9nZW5lcmljKCZpOTE1LT5ndHQuYmFzZS5tbSwgbm9kZSwKKwkJCQkJCSAg IHNpemUsIDAsIDAsIDAsCisJCQkJCQkgICBpOTE1LT5ndHQubWFwcGFibGVfZW5kLAorCQkJCQkJ ICAgRFJNX01NX1NFQVJDSF9ERUZBVUxULAorCQkJCQkJICAgRFJNX01NX0NSRUFURV9ERUZBVUxU KTsKK30KKworc3RhdGljIHZvaWQKK3JlbW92ZV9tYXBwYWJsZV9ub2RlKHN0cnVjdCBkcm1fbW1f bm9kZSAqbm9kZSkKK3sKKwlkcm1fbW1fcmVtb3ZlX25vZGUobm9kZSk7Cit9CisKIC8qIHNvbWUg Ym9va2tlZXBpbmcgKi8KIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX2luZm9fYWRkX29iaihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJICBzaXplX3Qgc2l6ZSkKQEAgLTc2MCwy MCArNzc4LDMzIEBAIGZhc3RfdXNlcl93cml0ZShzdHJ1Y3QgaW9fbWFwcGluZyAqbWFwcGluZywK ICAqIHVzZXIgaW50byB0aGUgR1RULCB1bmNhY2hlZC4KICAqLwogc3RhdGljIGludAotaTkxNV9n ZW1fZ3R0X3B3cml0ZV9mYXN0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCitpOTE1X2dlbV9ndHRf cHdyaXRlX2Zhc3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJCQkgc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3B3cml0ZSAq YXJncywKIAkJCSBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlzc2l6ZV90IHJlbWFpbjsKLQls b2ZmX3Qgb2Zmc2V0LCBwYWdlX2Jhc2U7CisJc3RydWN0IGRybV9tbV9ub2RlIG5vZGU7CisJdWlu dDY0X3QgcmVtYWluLCBvZmZzZXQ7CiAJY2hhciBfX3VzZXIgKnVzZXJfZGF0YTsKLQlpbnQgcGFn ZV9vZmZzZXQsIHBhZ2VfbGVuZ3RoLCByZXQ7CisJaW50IHJldDsKIAogCXJldCA9IGk5MTVfZ2Vt X29ial9nZ3R0X3BpbihvYmosIDAsIFBJTl9NQVBQQUJMRSB8IFBJTl9OT05CTE9DSyk7Ci0JaWYg KHJldCkKLQkJZ290byBvdXQ7CisJaWYgKHJldCkgeworCQlyZXQgPSBpbnNlcnRfbWFwcGFibGVf bm9kZShpOTE1LCAmbm9kZSwgUEFHRV9TSVpFKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gb3V0Owor CisJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMob2JqKTsKKwkJaWYgKHJldCkgewor CQkJcmVtb3ZlX21hcHBhYmxlX25vZGUoJm5vZGUpOworCQkJZ290byBvdXQ7CisJCX0KKworCQlp OTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzKG9iaik7CisJfSBlbHNlIHsKKwkJbm9kZS5zdGFydCA9 IGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldChvYmopOworCQlub2RlLmFsbG9jYXRlZCA9IGZhbHNl OworCX0KIAogCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fZ3R0X2RvbWFpbihvYmosIHRy dWUpOwogCWlmIChyZXQpCkBAIC03ODMsMzEgKzgxNCwzOSBAQCBpOTE1X2dlbV9ndHRfcHdyaXRl X2Zhc3Qoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlpZiAocmV0KQogCQlnb3RvIG91dF91bnBp bjsKIAotCXVzZXJfZGF0YSA9IHRvX3VzZXJfcHRyKGFyZ3MtPmRhdGFfcHRyKTsKLQlyZW1haW4g PSBhcmdzLT5zaXplOwotCi0Jb2Zmc2V0ID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KG9iaikg KyBhcmdzLT5vZmZzZXQ7Ci0KIAlpbnRlbF9mYl9vYmpfaW52YWxpZGF0ZShvYmosIE9SSUdJTl9H VFQpOworCW9iai0+ZGlydHkgPSB0cnVlOwogCi0Jd2hpbGUgKHJlbWFpbiA+IDApIHsKKwl1c2Vy X2RhdGEgPSB0b191c2VyX3B0cihhcmdzLT5kYXRhX3B0cik7CisJb2Zmc2V0ID0gYXJncy0+b2Zm c2V0OworCXJlbWFpbiA9IGFyZ3MtPnNpemU7CisJd2hpbGUgKHJlbWFpbikgewogCQkvKiBPcGVy YXRpb24gaW4gdGhpcyBwYWdlCiAJCSAqCiAJCSAqIHBhZ2VfYmFzZSA9IHBhZ2Ugb2Zmc2V0IHdp dGhpbiBhcGVydHVyZQogCQkgKiBwYWdlX29mZnNldCA9IG9mZnNldCB3aXRoaW4gcGFnZQogCQkg KiBwYWdlX2xlbmd0aCA9IGJ5dGVzIHRvIGNvcHkgZm9yIHRoaXMgcGFnZQogCQkgKi8KLQkJcGFn ZV9iYXNlID0gb2Zmc2V0ICYgUEFHRV9NQVNLOwotCQlwYWdlX29mZnNldCA9IG9mZnNldF9pbl9w YWdlKG9mZnNldCk7Ci0JCXBhZ2VfbGVuZ3RoID0gcmVtYWluOwotCQlpZiAoKHBhZ2Vfb2Zmc2V0 ICsgcmVtYWluKSA+IFBBR0VfU0laRSkKLQkJCXBhZ2VfbGVuZ3RoID0gUEFHRV9TSVpFIC0gcGFn ZV9vZmZzZXQ7Ci0KKwkJdTMyIHBhZ2VfYmFzZSA9IG5vZGUuc3RhcnQ7CisJCXVuc2lnbmVkIHBh Z2Vfb2Zmc2V0ID0gb2Zmc2V0X2luX3BhZ2Uob2Zmc2V0KTsKKwkJdW5zaWduZWQgcGFnZV9sZW5n dGggPSBQQUdFX1NJWkUgLSBwYWdlX29mZnNldDsKKwkJcGFnZV9sZW5ndGggPSByZW1haW4gPCBw YWdlX2xlbmd0aCA/IHJlbWFpbiA6IHBhZ2VfbGVuZ3RoOworCQlpZiAobm9kZS5hbGxvY2F0ZWQp IHsKKwkJCXdtYigpOworCQkJaTkxNS0+Z3R0LmJhc2UuaW5zZXJ0X3BhZ2UoJmk5MTUtPmd0dC5i YXNlLAorCQkJCQkJICAgaTkxNV9nZW1fb2JqZWN0X2dldF9kbWFfYWRkcmVzcyhvYmosIG9mZnNl dCA+PiBQQUdFX1NISUZUKSwKKwkJCQkJCSAgIG5vZGUuc3RhcnQsCisJCQkJCQkgICBJOTE1X0NB Q0hFX05PTkUsCisJCQkJCQkgICAwKTsKKwkJCXdtYigpOworCQl9IGVsc2UgeworCQkJcGFnZV9i YXNlICs9IG9mZnNldCAmIFBBR0VfTUFTSzsKKwkJfQogCQkvKiBJZiB3ZSBnZXQgYSBmYXVsdCB3 aGlsZSBjb3B5aW5nIGRhdGEsIHRoZW4gKHByZXN1bWFibHkpIG91cgogCQkgKiBzb3VyY2UgcGFn ZSBpc24ndCBhdmFpbGFibGUuICBSZXR1cm4gdGhlIGVycm9yIGFuZCB3ZSdsbAogCQkgKiByZXRy eSBpbiB0aGUgc2xvdyBwYXRoLgogCQkgKi8KLQkJaWYgKGZhc3RfdXNlcl93cml0ZShkZXZfcHJp di0+Z3R0Lm1hcHBhYmxlLCBwYWdlX2Jhc2UsCisJCWlmIChmYXN0X3VzZXJfd3JpdGUoaTkxNS0+ Z3R0Lm1hcHBhYmxlLCBwYWdlX2Jhc2UsCiAJCQkJICAgIHBhZ2Vfb2Zmc2V0LCB1c2VyX2RhdGEs IHBhZ2VfbGVuZ3RoKSkgewogCQkJcmV0ID0gLUVGQVVMVDsKIAkJCWdvdG8gb3V0X2ZsdXNoOwpA QCAtODIxLDcgKzg2MCwxNiBAQCBpOTE1X2dlbV9ndHRfcHdyaXRlX2Zhc3Qoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIG91dF9mbHVzaDoKIAlpbnRlbF9mYl9vYmpfZmx1c2gob2JqLCBmYWxzZSwg T1JJR0lOX0dUVCk7CiBvdXRfdW5waW46Ci0JaTkxNV9nZW1fb2JqZWN0X2dndHRfdW5waW4ob2Jq KTsKKwlpZiAobm9kZS5hbGxvY2F0ZWQpIHsKKwkJd21iKCk7CisJCWk5MTUtPmd0dC5iYXNlLmNs ZWFyX3JhbmdlKCZpOTE1LT5ndHQuYmFzZSwKKwkJCQkJICAgbm9kZS5zdGFydCwgbm9kZS5zaXpl LAorCQkJCQkgICB0cnVlKTsKKwkJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7CisJ CXJlbW92ZV9tYXBwYWJsZV9ub2RlKCZub2RlKTsKKwl9IGVsc2UgeworCQlpOTE1X2dlbV9vYmpl Y3RfZ2d0dF91bnBpbihvYmopOworCX0KIG91dDoKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTA4Niw3 ICsxMTM0LDcgQEAgaTkxNV9nZW1fcHdyaXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCiAJaWYgKG9iai0+dGlsaW5nX21vZGUgPT0gSTkxNV9USUxJTkdfTk9ORSAm JgogCSAgICBvYmotPmJhc2Uud3JpdGVfZG9tYWluICE9IEk5MTVfR0VNX0RPTUFJTl9DUFUgJiYK IAkgICAgY3B1X3dyaXRlX25lZWRzX2NsZmx1c2gob2JqKSkgewotCQlyZXQgPSBpOTE1X2dlbV9n dHRfcHdyaXRlX2Zhc3QoZGV2LCBvYmosIGFyZ3MsIGZpbGUpOworCQlyZXQgPSBpOTE1X2dlbV9n dHRfcHdyaXRlX2Zhc3QoZGV2X3ByaXYsIG9iaiwgYXJncywgZmlsZSk7CiAJCS8qIE5vdGUgdGhh dCB0aGUgZ3R0IHBhdGhzIG1pZ2h0IGZhaWwgd2l0aCBub24tcGFnZS1iYWNrZWQgdXNlcgogCQkg KiBwb2ludGVycyAoZS5nLiBndHQgbWFwcGluZ3Mgd2hlbiBtb3ZpbmcgZGF0YSBiZXR3ZWVuCiAJ CSAqIHRleHR1cmVzKS4gRmFsbGJhY2sgdG8gdGhlIHNobWVtIHBhdGggaW4gdGhhdCBjYXNlLiAq LwotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==