From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 3/3] drm/i915: Use insert_page for pwrite_fast Date: Wed, 18 Nov 2015 10:59:25 +0100 Message-ID: <20151118095925.GG20799@phenom.ffwll.local> References: <1446723959-25580-1-git-send-email-ankitprasad.r.sharma@intel.com> <1446723959-25580-4-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 mail-wm0-f46.google.com (mail-wm0-f46.google.com [74.125.82.46]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2D7AE72132 for ; Wed, 18 Nov 2015 01:59:29 -0800 (PST) Received: by wmec201 with SMTP id c201so269661520wme.0 for ; Wed, 18 Nov 2015 01:59:27 -0800 (PST) Content-Disposition: inline In-Reply-To: <1446723959-25580-4-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: ankitprasad.r.sharma@intel.com Cc: intel-gfx@lists.freedesktop.org, akash.goel@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBOb3YgMDUsIDIwMTUgYXQgMDU6MTU6NTlQTSArMDUzMCwgYW5raXRwcmFzYWQuci5z aGFybWFAaW50ZWwuY29tIHdyb3RlOgo+IEZyb206IEFua2l0cHJhc2FkIFNoYXJtYSA8YW5raXRw cmFzYWQuci5zaGFybWFAaW50ZWwuY29tPgo+IAo+IEluIHB3cml0ZV9mYXN0LCBtYXAgYW4gb2Jq ZWN0IHBhZ2UgYnkgcGFnZSBpZiBvYmpfZ2d0dF9waW4gZmFpbHMuIEZpcnN0LAo+IHdlIHRyeSBh IG5vbmJsb2NraW5nIHBpbiBmb3IgdGhlIHdob2xlIG9iamVjdCAoc2luY2UgdGhhdCBpcyBmYXN0 ZXN0IGlmCj4gcmV1c2VkKSwgdGhlbiBmYWlsaW5nIHRoYXQgd2UgdHJ5IHRvIGdyYWIgb25lIHBh Z2UgaW4gdGhlIG1hcHBhYmxlCj4gYXBlcnR1cmUuIEl0IGFsc28gYWxsb3dzIHVzIHRvIGhhbmRs ZSBvYmplY3RzIGxhcmdlciB0aGFuIHRoZSBtYXBwYWJsZQo+IGFwZXJ0dXJlIChlLmcuIGlmIHdl IG5lZWQgdG8gcHdyaXRlIHdpdGggdkdQVSByZXN0cmljdGluZyB0aGUgYXBlcnR1cmUKPiB0byBh IG1lYXNlbHkgOE1pQiBvciBzb21ldGhpbmcgbGlrZSB0aGF0KS4KCldlIGFscmVhZHkgaGF2ZSBh IGZhbGxiYWNrIHRvIHRoZSBzaG1lbSBwd3JpdGUuIFdoeSBkbyB3ZSBuZWVkIHRoaXM/Ci1EYW5p ZWwKCj4gCj4gU2lnbmVkLW9mZi1ieTogQW5raXRwcmFzYWQgU2hhcm1hIDxhbmtpdHByYXNhZC5y LnNoYXJtYUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMgfCA5MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQo+ICAxIGZp bGUgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggYmY1ZWY3YS4uOTEzMjI0MCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYwo+IEBAIC03NjYsMTQgKzc2NiwyNiBAQCBpOTE1X2dlbV9ndHRfcHdyaXRl X2Zhc3Qoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJIHN0cnVjdCBkcm1fZmlsZSAqZmls ZSkKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKPiArCXN0cnVjdCBkcm1fbW1fbm9kZSBub2RlOwo+ICAJc3NpemVfdCByZW1haW47 Cj4gIAlsb2ZmX3Qgb2Zmc2V0LCBwYWdlX2Jhc2U7Cj4gIAljaGFyIF9fdXNlciAqdXNlcl9kYXRh Owo+IC0JaW50IHBhZ2Vfb2Zmc2V0LCBwYWdlX2xlbmd0aCwgcmV0Owo+ICsJaW50IHBhZ2Vfb2Zm c2V0LCBwYWdlX2xlbmd0aCwgcmV0LCBpOwo+ICsJYm9vbCBwaW5uZWQgPSB0cnVlOwo+ICAKPiAg CXJldCA9IGk5MTVfZ2VtX29ial9nZ3R0X3BpbihvYmosIDAsIFBJTl9NQVBQQUJMRSB8IFBJTl9O T05CTE9DSyk7Cj4gLQlpZiAocmV0KQo+IC0JCWdvdG8gb3V0Owo+ICsJaWYgKHJldCkgewo+ICsJ CXBpbm5lZCA9IGZhbHNlOwo+ICsJCW1lbXNldCgmbm9kZSwgMCwgc2l6ZW9mKG5vZGUpKTsKPiAr CQlyZXQgPSBkcm1fbW1faW5zZXJ0X25vZGVfaW5fcmFuZ2VfZ2VuZXJpYygmZGV2X3ByaXYtPmd0 dC5iYXNlLm1tLAo+ICsJCQkJCQkJICAmbm9kZSwgNDA5NiwgMCwKPiArCQkJCQkJCSAgSTkxNV9D QUNIRV9OT05FLCAwLAo+ICsJCQkJCQkJICBkZXZfcHJpdi0+Z3R0Lm1hcHBhYmxlX2VuZCwKPiAr CQkJCQkJCSAgRFJNX01NX1NFQVJDSF9ERUZBVUxULAo+ICsJCQkJCQkJICBEUk1fTU1fQ1JFQVRF X0RFRkFVTFQpOwo+ICsJCWlmIChyZXQpCj4gKwkJCWdvdG8gb3V0Owo+ICsJfQo+ICAKPiAgCXJl dCA9IGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fZ3R0X2RvbWFpbihvYmosIHRydWUpOwo+ICAJaWYg KHJldCkKPiBAQCAtNzg2LDQyICs3OTgsNzYgQEAgaTkxNV9nZW1fZ3R0X3B3cml0ZV9mYXN0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAl1c2VyX2RhdGEgPSB0b191c2VyX3B0cihhcmdzLT5k YXRhX3B0cik7Cj4gIAlyZW1haW4gPSBhcmdzLT5zaXplOwo+ICAKPiAtCW9mZnNldCA9IGk5MTVf Z2VtX29ial9nZ3R0X29mZnNldChvYmopICsgYXJncy0+b2Zmc2V0Owo+IC0KPiAgCWludGVsX2Zi X29ial9pbnZhbGlkYXRlKG9iaiwgT1JJR0lOX0dUVCk7Cj4gIAo+IC0Jd2hpbGUgKHJlbWFpbiA+ IDApIHsKPiAtCQkvKiBPcGVyYXRpb24gaW4gdGhpcyBwYWdlCj4gKwlpZiAobGlrZWx5KHBpbm5l ZCkpIHsKPiArCQlvZmZzZXQgPSBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQob2JqKSArIGFyZ3Mt Pm9mZnNldDsKPiArCQkvKiBPcGVyYXRpb24gaW4gdGhlIHBhZ2UKPiAgCQkgKgo+ICAJCSAqIHBh Z2VfYmFzZSA9IHBhZ2Ugb2Zmc2V0IHdpdGhpbiBhcGVydHVyZQo+ICAJCSAqIHBhZ2Vfb2Zmc2V0 ID0gb2Zmc2V0IHdpdGhpbiBwYWdlCj4gLQkJICogcGFnZV9sZW5ndGggPSBieXRlcyB0byBjb3B5 IGZvciB0aGlzIHBhZ2UKPiArCQkgKiBwYWdlX2xlbmd0aCA9IGJ5dGVzIHRvIGNvcHkgZm9yIHRo ZSBwYWdlCj4gIAkJICovCj4gIAkJcGFnZV9iYXNlID0gb2Zmc2V0ICYgUEFHRV9NQVNLOwo+ICAJ CXBhZ2Vfb2Zmc2V0ID0gb2Zmc2V0X2luX3BhZ2Uob2Zmc2V0KTsKPiAtCQlwYWdlX2xlbmd0aCA9 IHJlbWFpbjsKPiAtCQlpZiAoKHBhZ2Vfb2Zmc2V0ICsgcmVtYWluKSA+IFBBR0VfU0laRSkKPiAt CQkJcGFnZV9sZW5ndGggPSBQQUdFX1NJWkUgLSBwYWdlX29mZnNldDsKPiArCQl3aGlsZSAocmVt YWluID4gMCkgewo+ICsJCQlwYWdlX2xlbmd0aCA9IHJlbWFpbjsKPiArCQkJaWYgKChwYWdlX29m ZnNldCArIHJlbWFpbikgPiBQQUdFX1NJWkUpCj4gKwkJCQlwYWdlX2xlbmd0aCA9IFBBR0VfU0la RSAtIHBhZ2Vfb2Zmc2V0Owo+ICsKPiArCQkJLyogSWYgd2UgZ2V0IGEgZmF1bHQgd2hpbGUgY29w eWluZyBkYXRhLCB0aGVuIChwcmVzdW1hYmx5KSBvdXIKPiArCQkJICogc291cmNlIHBhZ2UgaXNu J3QgYXZhaWxhYmxlLiAgUmV0dXJuIHRoZSBlcnJvciBhbmQgd2UnbGwKPiArCQkJICogcmV0cnkg aW4gdGhlIHNsb3cgcGF0aC4KPiArCQkJICovCj4gKwkJCWlmIChmYXN0X3VzZXJfd3JpdGUoZGV2 X3ByaXYtPmd0dC5tYXBwYWJsZSwgcGFnZV9iYXNlLAo+ICsJCQkJCQlwYWdlX29mZnNldCwgdXNl cl9kYXRhLCBwYWdlX2xlbmd0aCkpIHsKPiArCQkJCXJldCA9IC1FRkFVTFQ7Cj4gKwkJCQlnb3Rv IG91dF9mbHVzaDsKPiArCQkJfQo+ICAKPiAtCQkvKiBJZiB3ZSBnZXQgYSBmYXVsdCB3aGlsZSBj b3B5aW5nIGRhdGEsIHRoZW4gKHByZXN1bWFibHkpIG91cgo+IC0JCSAqIHNvdXJjZSBwYWdlIGlz bid0IGF2YWlsYWJsZS4gIFJldHVybiB0aGUgZXJyb3IgYW5kIHdlJ2xsCj4gLQkJICogcmV0cnkg aW4gdGhlIHNsb3cgcGF0aC4KPiAtCQkgKi8KPiAtCQlpZiAoZmFzdF91c2VyX3dyaXRlKGRldl9w cml2LT5ndHQubWFwcGFibGUsIHBhZ2VfYmFzZSwKPiAtCQkJCSAgICBwYWdlX29mZnNldCwgdXNl cl9kYXRhLCBwYWdlX2xlbmd0aCkpIHsKPiAtCQkJcmV0ID0gLUVGQVVMVDsKPiAtCQkJZ290byBv dXRfZmx1c2g7Cj4gKwkJCXJlbWFpbiAtPSBwYWdlX2xlbmd0aDsKPiArCQkJdXNlcl9kYXRhICs9 IHBhZ2VfbGVuZ3RoOwo+ICsJCQlwYWdlX29mZnNldCA9IDA7Cj4gIAkJfQo+ICsJfSBlbHNlIHsK PiArCQlpID0gYXJncy0+b2Zmc2V0IC8gUEFHRV9TSVpFOwo+ICsJCXBhZ2Vfb2Zmc2V0ID0gb2Zm c2V0X2luX3BhZ2UoYXJncy0+b2Zmc2V0KTsKPiArCQl3aGlsZSAocmVtYWluID4gMCkgewo+ICsJ CQlwYWdlX2xlbmd0aCA9IHJlbWFpbjsKPiArCQkJaWYgKChwYWdlX29mZnNldCArIHJlbWFpbikg PiBQQUdFX1NJWkUpCj4gKwkJCQlwYWdlX2xlbmd0aCA9IFBBR0VfU0laRSAtIHBhZ2Vfb2Zmc2V0 Owo+ICsKPiArCQkJd21iKCk7Cj4gKwkJCWRldl9wcml2LT5ndHQuYmFzZS5pbnNlcnRfcGFnZSgm ZGV2X3ByaXYtPmd0dC5iYXNlLAo+ICsJCQkJCWk5MTVfZ2VtX29iamVjdF9nZXRfZG1hX2FkZHJl c3Mob2JqLCBpKSwKPiArCQkJCQlub2RlLnN0YXJ0LAo+ICsJCQkJCUk5MTVfQ0FDSEVfTk9ORSwK PiArCQkJCQkwKTsKPiArCQkJd21iKCk7Cj4gKwo+ICsJCQlpZiAoZmFzdF91c2VyX3dyaXRlKGRl dl9wcml2LT5ndHQubWFwcGFibGUsIG5vZGUuc3RhcnQsCj4gKwkJCQkJCXBhZ2Vfb2Zmc2V0LCB1 c2VyX2RhdGEsIHBhZ2VfbGVuZ3RoKSkgewo+ICsJCQkJcmV0ID0gLUVGQVVMVDsKPiArCQkJCWdv dG8gb3V0X2ZsdXNoOwo+ICsJCQl9Cj4gIAo+IC0JCXJlbWFpbiAtPSBwYWdlX2xlbmd0aDsKPiAt CQl1c2VyX2RhdGEgKz0gcGFnZV9sZW5ndGg7Cj4gLQkJb2Zmc2V0ICs9IHBhZ2VfbGVuZ3RoOwo+ ICsJCQlyZW1haW4gLT0gcGFnZV9sZW5ndGg7Cj4gKwkJCXVzZXJfZGF0YSArPSBwYWdlX2xlbmd0 aDsKPiArCQkJcGFnZV9vZmZzZXQgPSAwOwo+ICsJCQlpKys7Cj4gKwkJfQo+ICsJCXdtYigpOwo+ ICsJCWRldl9wcml2LT5ndHQuYmFzZS5jbGVhcl9yYW5nZSgmZGV2X3ByaXYtPmd0dC5iYXNlLAo+ ICsJCQkJbm9kZS5zdGFydCwgbm9kZS5zaXplLAo+ICsJCQkJdHJ1ZSk7Cj4gKwkJZHJtX21tX3Jl bW92ZV9ub2RlKCZub2RlKTsKPiAgCX0KPiAgCj4gIG91dF9mbHVzaDoKPiAgCWludGVsX2ZiX29i al9mbHVzaChvYmosIGZhbHNlLCBPUklHSU5fR1RUKTsKPiAgb3V0X3VucGluOgo+IC0JaTkxNV9n ZW1fb2JqZWN0X2dndHRfdW5waW4ob2JqKTsKPiArCWlmIChwaW5uZWQpCj4gKwkJaTkxNV9nZW1f b2JqZWN0X2dndHRfdW5waW4ob2JqKTsKPiAgb3V0Ogo+ICAJcmV0dXJuIHJldDsKPiAgfQo+IC0t IAo+IDEuOS4xCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jw b3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=