From mboxrd@z Thu Jan 1 00:00:00 1970 From: ankitprasad.r.sharma@intel.com Subject: [PATCH 03/12] drm/i915: Use insert_page for pwrite_fast Date: Wed, 20 Apr 2016 16:47:30 +0530 Message-ID: <1461151059-16361-4-git-send-email-ankitprasad.r.sharma@intel.com> References: <1461151059-16361-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 CE8FA6E984 for ; Wed, 20 Apr 2016 11:42:40 +0000 (UTC) In-Reply-To: <1461151059-16361-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 RnJvbTogQW5raXRwcmFzYWQgU2hhcm1hIDxhbmtpdHByYXNhZC5yLnNoYXJtYUBpbnRlbC5jb20+ CgpJbiBwd3JpdGVfZmFzdCwgbWFwIGFuIG9iamVjdCBwYWdlIGJ5IHBhZ2UgaWYgb2JqX2dndHRf cGluIGZhaWxzLiBGaXJzdCwKd2UgdHJ5IGEgbm9uYmxvY2tpbmcgcGluIGZvciB0aGUgd2hvbGUg b2JqZWN0IChzaW5jZSB0aGF0IGlzIGZhc3Rlc3QgaWYKcmV1c2VkKSwgdGhlbiBmYWlsaW5nIHRo YXQgd2UgdHJ5IHRvIGdyYWIgb25lIHBhZ2UgaW4gdGhlIG1hcHBhYmxlCmFwZXJ0dXJlLiBJdCBh bHNvIGFsbG93cyB1cyB0byBoYW5kbGUgb2JqZWN0cyBsYXJnZXIgdGhhbiB0aGUgbWFwcGFibGUK YXBlcnR1cmUgKGUuZy4gaWYgd2UgbmVlZCB0byBwd3JpdGUgd2l0aCB2R1BVIHJlc3RyaWN0aW5n IHRoZSBhcGVydHVyZQp0byBhIG1lYXNlbHkgOE1pQiBvciBzb21ldGhpbmcgbGlrZSB0aGF0KS4K CnYyOiBQaW4gcGFnZXMgYmVmb3JlIHN0YXJ0aW5nIHB3cml0ZSwgQ29tYmluZWQgZHVwbGljYXRl IGxvb3BzIChDaHJpcykKCnYzOiBDb21iaW5lZCBsb29wcyBiYXNlZCBvbiBsb2NhbCBwYXRjaCBi eSBDaHJpcyAoQ2hyaXMpCgp2NDogQWRkZWQgaTkxNSB3cmFwcGVyIGZ1bmN0aW9uIGZvciBkcm1f bW1faW5zZXJ0X25vZGVfaW5fcmFuZ2UgKENocmlzKQoKdjU6IFJlbmFtZWQgd3JhcHBlciBmdW5j dGlvbiBmb3IgZHJtX21tX2luc2VydF9ub2RlX2luX3JhbmdlIChDaHJpcykKCnY1OiBBZGRlZCB3 cmFwcGVyIGZvciBkcm1fbW1fcmVtb3ZlX25vZGUoKSAoQ2hyaXMpCgp2NjogQWRkZWQgZ2V0X3Bh Z2VzIGNhbGwgYmVmb3JlIHBpbm5pbmcgdGhlIHBhZ2VzIChUdnJ0a28pCkFkZGVkIHJlbW92ZV9t YXBwYWJsZV9ub2RlKCkgd3JhcHBlciBmb3IgZHJtX21tX3JlbW92ZV9ub2RlKCkgKENocmlzKQoK djc6IEFkZGVkIHNpemUgYXJndW1lbnQgZm9yIGluc2VydF9tYXBwYWJsZV9ub2RlIChUdnJ0a28p Cgp2ODogRG8gbm90IHB1dF9wYWdlcyBhZnRlciBwd3JpdGUsIGRvIG1lbXNldCBvZiBub2RlIGlu IHRoZSB3cmFwcGVyCmZ1bmN0aW9uIChpbnNlcnRfbWFwcGFibGVfbm9kZSkgKENocmlzKQoKdjk6 IFJlYmFzZSAoQW5raXQpCgpTaWduZWQtb2ZmLWJ5OiBBbmtpdHByYXNhZCBTaGFybWEgPGFua2l0 cHJhc2FkLnIuc2hhcm1hQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+ClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZy dGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMgfCA5MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jCmluZGV4IDZjZTJjMzEuLjBiN2NlOWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0u YwpAQCAtNjAsNiArNjAsMjQgQEAgc3RhdGljIGJvb2wgY3B1X3dyaXRlX25lZWRzX2NsZmx1c2go c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlyZXR1cm4gb2JqLT5waW5fZGlzcGxh eTsKIH0KIAorc3RhdGljIGludAoraW5zZXJ0X21hcHBhYmxlX25vZGUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUsCisgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX21tX25vZGUg Km5vZGUsIHUzMiBzaXplKQoreworCW1lbXNldChub2RlLCAwLCBzaXplb2YoKm5vZGUpKTsKKwly ZXR1cm4gZHJtX21tX2luc2VydF9ub2RlX2luX3JhbmdlX2dlbmVyaWMoJmk5MTUtPmdndHQuYmFz ZS5tbSwgbm9kZSwKKwkJCQkJCSAgIHNpemUsIDAsIDAsIDAsCisJCQkJCQkgICBpOTE1LT5nZ3R0 Lm1hcHBhYmxlX2VuZCwKKwkJCQkJCSAgIERSTV9NTV9TRUFSQ0hfREVGQVVMVCwKKwkJCQkJCSAg IERSTV9NTV9DUkVBVEVfREVGQVVMVCk7Cit9CisKK3N0YXRpYyB2b2lkCityZW1vdmVfbWFwcGFi bGVfbm9kZShzdHJ1Y3QgZHJtX21tX25vZGUgKm5vZGUpCit7CisJZHJtX21tX3JlbW92ZV9ub2Rl KG5vZGUpOworfQorCiAvKiBzb21lIGJvb2trZWVwaW5nICovCiBzdGF0aWMgdm9pZCBpOTE1X2dl bV9pbmZvX2FkZF9vYmooc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAg c2l6ZV90IHNpemUpCkBAIC03NTUsMjEgKzc3MywzNCBAQCBmYXN0X3VzZXJfd3JpdGUoc3RydWN0 IGlvX21hcHBpbmcgKm1hcHBpbmcsCiAgKiB1c2VyIGludG8gdGhlIEdUVCwgdW5jYWNoZWQuCiAg Ki8KIHN0YXRpYyBpbnQKLWk5MTVfZ2VtX2d0dF9wd3JpdGVfZmFzdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAoraTkxNV9nZW1fZ3R0X3B3cml0ZV9mYXN0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1LAogCQkJIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgc3RydWN0 IGRybV9pOTE1X2dlbV9wd3JpdGUgKmFyZ3MsCiAJCQkgc3RydWN0IGRybV9maWxlICpmaWxlKQog ewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLQlz dHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0ID0gJmRldl9wcml2LT5nZ3R0OwotCXNzaXplX3QgcmVtYWlu OwotCWxvZmZfdCBvZmZzZXQsIHBhZ2VfYmFzZTsKKwlzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0ID0g Jmk5MTUtPmdndHQ7CisJc3RydWN0IGRybV9tbV9ub2RlIG5vZGU7CisJdWludDY0X3QgcmVtYWlu LCBvZmZzZXQ7CiAJY2hhciBfX3VzZXIgKnVzZXJfZGF0YTsKLQlpbnQgcGFnZV9vZmZzZXQsIHBh Z2VfbGVuZ3RoLCByZXQ7CisJaW50IHJldDsKIAogCXJldCA9IGk5MTVfZ2VtX29ial9nZ3R0X3Bp bihvYmosIDAsIFBJTl9NQVBQQUJMRSB8IFBJTl9OT05CTE9DSyk7Ci0JaWYgKHJldCkKLQkJZ290 byBvdXQ7CisJaWYgKHJldCkgeworCQlyZXQgPSBpbnNlcnRfbWFwcGFibGVfbm9kZShpOTE1LCAm bm9kZSwgUEFHRV9TSVpFKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gb3V0OworCisJCXJldCA9IGk5 MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMob2JqKTsKKwkJaWYgKHJldCkgeworCQkJcmVtb3ZlX21h cHBhYmxlX25vZGUoJm5vZGUpOworCQkJZ290byBvdXQ7CisJCX0KKworCQlpOTE1X2dlbV9vYmpl Y3RfcGluX3BhZ2VzKG9iaik7CisJfSBlbHNlIHsKKwkJbm9kZS5zdGFydCA9IGk5MTVfZ2VtX29i al9nZ3R0X29mZnNldChvYmopOworCQlub2RlLmFsbG9jYXRlZCA9IGZhbHNlOworCX0KIAogCXJl dCA9IGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fZ3R0X2RvbWFpbihvYmosIHRydWUpOwogCWlmIChy ZXQpCkBAIC03NzksMjYgKzgxMCwzMiBAQCBpOTE1X2dlbV9ndHRfcHdyaXRlX2Zhc3Qoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAlpZiAocmV0KQogCQlnb3RvIG91dF91bnBpbjsKIAotCXVzZXJf ZGF0YSA9IHRvX3VzZXJfcHRyKGFyZ3MtPmRhdGFfcHRyKTsKLQlyZW1haW4gPSBhcmdzLT5zaXpl OwotCi0Jb2Zmc2V0ID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KG9iaikgKyBhcmdzLT5vZmZz ZXQ7Ci0KIAlpbnRlbF9mYl9vYmpfaW52YWxpZGF0ZShvYmosIE9SSUdJTl9HVFQpOworCW9iai0+ ZGlydHkgPSB0cnVlOwogCi0Jd2hpbGUgKHJlbWFpbiA+IDApIHsKKwl1c2VyX2RhdGEgPSB0b191 c2VyX3B0cihhcmdzLT5kYXRhX3B0cik7CisJb2Zmc2V0ID0gYXJncy0+b2Zmc2V0OworCXJlbWFp biA9IGFyZ3MtPnNpemU7CisJd2hpbGUgKHJlbWFpbikgewogCQkvKiBPcGVyYXRpb24gaW4gdGhp cyBwYWdlCiAJCSAqCiAJCSAqIHBhZ2VfYmFzZSA9IHBhZ2Ugb2Zmc2V0IHdpdGhpbiBhcGVydHVy ZQogCQkgKiBwYWdlX29mZnNldCA9IG9mZnNldCB3aXRoaW4gcGFnZQogCQkgKiBwYWdlX2xlbmd0 aCA9IGJ5dGVzIHRvIGNvcHkgZm9yIHRoaXMgcGFnZQogCQkgKi8KLQkJcGFnZV9iYXNlID0gb2Zm c2V0ICYgUEFHRV9NQVNLOwotCQlwYWdlX29mZnNldCA9IG9mZnNldF9pbl9wYWdlKG9mZnNldCk7 Ci0JCXBhZ2VfbGVuZ3RoID0gcmVtYWluOwotCQlpZiAoKHBhZ2Vfb2Zmc2V0ICsgcmVtYWluKSA+ IFBBR0VfU0laRSkKLQkJCXBhZ2VfbGVuZ3RoID0gUEFHRV9TSVpFIC0gcGFnZV9vZmZzZXQ7Ci0K KwkJdTMyIHBhZ2VfYmFzZSA9IG5vZGUuc3RhcnQ7CisJCXVuc2lnbmVkIHBhZ2Vfb2Zmc2V0ID0g b2Zmc2V0X2luX3BhZ2Uob2Zmc2V0KTsKKwkJdW5zaWduZWQgcGFnZV9sZW5ndGggPSBQQUdFX1NJ WkUgLSBwYWdlX29mZnNldDsKKwkJcGFnZV9sZW5ndGggPSByZW1haW4gPCBwYWdlX2xlbmd0aCA/ IHJlbWFpbiA6IHBhZ2VfbGVuZ3RoOworCQlpZiAobm9kZS5hbGxvY2F0ZWQpIHsKKwkJCXdtYigp OworCQkJZ2d0dC0+YmFzZS5pbnNlcnRfcGFnZSgmZ2d0dC0+YmFzZSwKKwkJCQkJICAgICAgIGk5 MTVfZ2VtX29iamVjdF9nZXRfZG1hX2FkZHJlc3Mob2JqLCBvZmZzZXQgPj4gUEFHRV9TSElGVCks CisJCQkJCSAgICAgICBub2RlLnN0YXJ0LCBJOTE1X0NBQ0hFX05PTkUsIDApOworCQkJd21iKCk7 CisJCX0gZWxzZSB7CisJCQlwYWdlX2Jhc2UgKz0gb2Zmc2V0ICYgUEFHRV9NQVNLOworCQl9CiAJ CS8qIElmIHdlIGdldCBhIGZhdWx0IHdoaWxlIGNvcHlpbmcgZGF0YSwgdGhlbiAocHJlc3VtYWJs eSkgb3VyCiAJCSAqIHNvdXJjZSBwYWdlIGlzbid0IGF2YWlsYWJsZS4gIFJldHVybiB0aGUgZXJy b3IgYW5kIHdlJ2xsCiAJCSAqIHJldHJ5IGluIHRoZSBzbG93IHBhdGguCkBAIC04MTcsNyArODU0 LDE2IEBAIGk5MTVfZ2VtX2d0dF9wd3JpdGVfZmFzdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog b3V0X2ZsdXNoOgogCWludGVsX2ZiX29ial9mbHVzaChvYmosIGZhbHNlLCBPUklHSU5fR1RUKTsK IG91dF91bnBpbjoKLQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihvYmopOworCWlmIChub2Rl LmFsbG9jYXRlZCkgeworCQl3bWIoKTsKKwkJZ2d0dC0+YmFzZS5jbGVhcl9yYW5nZSgmZ2d0dC0+ YmFzZSwKKwkJCQkgICAgICAgbm9kZS5zdGFydCwgbm9kZS5zaXplLAorCQkJCSAgICAgICB0cnVl KTsKKwkJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7CisJCXJlbW92ZV9tYXBwYWJs ZV9ub2RlKCZub2RlKTsKKwl9IGVsc2UgeworCQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihv YmopOworCX0KIG91dDoKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTA4Miw3ICsxMTI4LDcgQEAgaTkx NV9nZW1fcHdyaXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJ aWYgKG9iai0+dGlsaW5nX21vZGUgPT0gSTkxNV9USUxJTkdfTk9ORSAmJgogCSAgICBvYmotPmJh c2Uud3JpdGVfZG9tYWluICE9IEk5MTVfR0VNX0RPTUFJTl9DUFUgJiYKIAkgICAgY3B1X3dyaXRl X25lZWRzX2NsZmx1c2gob2JqKSkgewotCQlyZXQgPSBpOTE1X2dlbV9ndHRfcHdyaXRlX2Zhc3Qo ZGV2LCBvYmosIGFyZ3MsIGZpbGUpOworCQlyZXQgPSBpOTE1X2dlbV9ndHRfcHdyaXRlX2Zhc3Qo ZGV2X3ByaXYsIG9iaiwgYXJncywgZmlsZSk7CiAJCS8qIE5vdGUgdGhhdCB0aGUgZ3R0IHBhdGhz IG1pZ2h0IGZhaWwgd2l0aCBub24tcGFnZS1iYWNrZWQgdXNlcgogCQkgKiBwb2ludGVycyAoZS5n LiBndHQgbWFwcGluZ3Mgd2hlbiBtb3ZpbmcgZGF0YSBiZXR3ZWVuCiAJCSAqIHRleHR1cmVzKS4g RmFsbGJhY2sgdG8gdGhlIHNobWVtIHBhdGggaW4gdGhhdCBjYXNlLiAqLwotLSAKMS45LjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=