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: Fri, 18 Mar 2016 11:52:03 +0530 Message-ID: <1458282130-31660-4-git-send-email-ankitprasad.r.sharma@intel.com> References: <1458282130-31660-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 CE2BF6E02C for ; Fri, 18 Mar 2016 06:46:21 +0000 (UTC) In-Reply-To: <1458282130-31660-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 IHRoZSB3cmFwcGVyCmZ1bmN0aW9uIChpbnNlcnRfbWFwcGFibGVfbm9kZSkgKENocmlzKQoKU2ln bmVkLW9mZi1ieTogQW5raXRwcmFzYWQgU2hhcm1hIDxhbmtpdHByYXNhZC5yLnNoYXJtYUBpbnRl bC5jb20+ClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNv LnVrPgpSZXZpZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIHwgOTIgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3MCBpbnNlcnRp b25zKCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCAzMTY1 MmMxLi5jYWFhZGFiYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0u YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC02MSw2ICs2MSwyNCBA QCBzdGF0aWMgYm9vbCBjcHVfd3JpdGVfbmVlZHNfY2xmbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqKQogCXJldHVybiBvYmotPnBpbl9kaXNwbGF5OwogfQogCitzdGF0aWMgaW50 CitpbnNlcnRfbWFwcGFibGVfbm9kZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKKyAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fbW1fbm9kZSAqbm9kZSwgdTMyIHNpemUpCit7 CisJbWVtc2V0KG5vZGUsIDAsIHNpemVvZigqbm9kZSkpOworCXJldHVybiBkcm1fbW1faW5zZXJ0 X25vZGVfaW5fcmFuZ2VfZ2VuZXJpYygmaTkxNS0+Z3R0LmJhc2UubW0sIG5vZGUsCisJCQkJCQkg ICBzaXplLCAwLCAwLCAwLAorCQkJCQkJICAgaTkxNS0+Z3R0Lm1hcHBhYmxlX2VuZCwKKwkJCQkJ CSAgIERSTV9NTV9TRUFSQ0hfREVGQVVMVCwKKwkJCQkJCSAgIERSTV9NTV9DUkVBVEVfREVGQVVM VCk7Cit9CisKK3N0YXRpYyB2b2lkCityZW1vdmVfbWFwcGFibGVfbm9kZShzdHJ1Y3QgZHJtX21t X25vZGUgKm5vZGUpCit7CisJZHJtX21tX3JlbW92ZV9ub2RlKG5vZGUpOworfQorCiAvKiBzb21l IGJvb2trZWVwaW5nICovCiBzdGF0aWMgdm9pZCBpOTE1X2dlbV9pbmZvX2FkZF9vYmooc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgc2l6ZV90IHNpemUpCkBAIC03NjAs MjAgKzc3OCwzMyBAQCBmYXN0X3VzZXJfd3JpdGUoc3RydWN0IGlvX21hcHBpbmcgKm1hcHBpbmcs CiAgKiB1c2VyIGludG8gdGhlIEdUVCwgdW5jYWNoZWQuCiAgKi8KIHN0YXRpYyBpbnQKLWk5MTVf Z2VtX2d0dF9wd3JpdGVfZmFzdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAoraTkxNV9nZW1fZ3R0 X3B3cml0ZV9mYXN0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCQkJIHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgc3RydWN0IGRybV9pOTE1X2dlbV9wd3JpdGUg KmFyZ3MsCiAJCQkgc3RydWN0IGRybV9maWxlICpmaWxlKQogewotCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3NpemVfdCByZW1haW47Ci0J bG9mZl90IG9mZnNldCwgcGFnZV9iYXNlOworCXN0cnVjdCBkcm1fbW1fbm9kZSBub2RlOworCXVp bnQ2NF90IHJlbWFpbiwgb2Zmc2V0OwogCWNoYXIgX191c2VyICp1c2VyX2RhdGE7Ci0JaW50IHBh Z2Vfb2Zmc2V0LCBwYWdlX2xlbmd0aCwgcmV0OworCWludCByZXQ7CiAKIAlyZXQgPSBpOTE1X2dl bV9vYmpfZ2d0dF9waW4ob2JqLCAwLCBQSU5fTUFQUEFCTEUgfCBQSU5fTk9OQkxPQ0spOwotCWlm IChyZXQpCi0JCWdvdG8gb3V0OworCWlmIChyZXQpIHsKKwkJcmV0ID0gaW5zZXJ0X21hcHBhYmxl X25vZGUoaTkxNSwgJm5vZGUsIFBBR0VfU0laRSk7CisJCWlmIChyZXQpCisJCQlnb3RvIG91dDsK KworCQlyZXQgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzKG9iaik7CisJCWlmIChyZXQpIHsK KwkJCXJlbW92ZV9tYXBwYWJsZV9ub2RlKCZub2RlKTsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJ aTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOworCX0gZWxzZSB7CisJCW5vZGUuc3RhcnQg PSBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQob2JqKTsKKwkJbm9kZS5hbGxvY2F0ZWQgPSBmYWxz ZTsKKwl9CiAKIAlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfc2V0X3RvX2d0dF9kb21haW4ob2JqLCB0 cnVlKTsKIAlpZiAocmV0KQpAQCAtNzgzLDMxICs4MTQsMzkgQEAgaTkxNV9nZW1fZ3R0X3B3cml0 ZV9mYXN0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaWYgKHJldCkKIAkJZ290byBvdXRfdW5w aW47CiAKLQl1c2VyX2RhdGEgPSB0b191c2VyX3B0cihhcmdzLT5kYXRhX3B0cik7Ci0JcmVtYWlu ID0gYXJncy0+c2l6ZTsKLQotCW9mZnNldCA9IGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldChvYmop ICsgYXJncy0+b2Zmc2V0OwotCiAJaW50ZWxfZmJfb2JqX2ludmFsaWRhdGUob2JqLCBPUklHSU5f R1RUKTsKKwlvYmotPmRpcnR5ID0gdHJ1ZTsKIAotCXdoaWxlIChyZW1haW4gPiAwKSB7CisJdXNl cl9kYXRhID0gdG9fdXNlcl9wdHIoYXJncy0+ZGF0YV9wdHIpOworCW9mZnNldCA9IGFyZ3MtPm9m ZnNldDsKKwlyZW1haW4gPSBhcmdzLT5zaXplOworCXdoaWxlIChyZW1haW4pIHsKIAkJLyogT3Bl cmF0aW9uIGluIHRoaXMgcGFnZQogCQkgKgogCQkgKiBwYWdlX2Jhc2UgPSBwYWdlIG9mZnNldCB3 aXRoaW4gYXBlcnR1cmUKIAkJICogcGFnZV9vZmZzZXQgPSBvZmZzZXQgd2l0aGluIHBhZ2UKIAkJ ICogcGFnZV9sZW5ndGggPSBieXRlcyB0byBjb3B5IGZvciB0aGlzIHBhZ2UKIAkJICovCi0JCXBh Z2VfYmFzZSA9IG9mZnNldCAmIFBBR0VfTUFTSzsKLQkJcGFnZV9vZmZzZXQgPSBvZmZzZXRfaW5f cGFnZShvZmZzZXQpOwotCQlwYWdlX2xlbmd0aCA9IHJlbWFpbjsKLQkJaWYgKChwYWdlX29mZnNl dCArIHJlbWFpbikgPiBQQUdFX1NJWkUpCi0JCQlwYWdlX2xlbmd0aCA9IFBBR0VfU0laRSAtIHBh Z2Vfb2Zmc2V0OwotCisJCXUzMiBwYWdlX2Jhc2UgPSBub2RlLnN0YXJ0OworCQl1bnNpZ25lZCBw YWdlX29mZnNldCA9IG9mZnNldF9pbl9wYWdlKG9mZnNldCk7CisJCXVuc2lnbmVkIHBhZ2VfbGVu Z3RoID0gUEFHRV9TSVpFIC0gcGFnZV9vZmZzZXQ7CisJCXBhZ2VfbGVuZ3RoID0gcmVtYWluIDwg cGFnZV9sZW5ndGggPyByZW1haW4gOiBwYWdlX2xlbmd0aDsKKwkJaWYgKG5vZGUuYWxsb2NhdGVk KSB7CisJCQl3bWIoKTsKKwkJCWk5MTUtPmd0dC5iYXNlLmluc2VydF9wYWdlKCZpOTE1LT5ndHQu YmFzZSwKKwkJCQkJCSAgIGk5MTVfZ2VtX29iamVjdF9nZXRfZG1hX2FkZHJlc3Mob2JqLCBvZmZz ZXQgPj4gUEFHRV9TSElGVCksCisJCQkJCQkgICBub2RlLnN0YXJ0LAorCQkJCQkJICAgSTkxNV9D QUNIRV9OT05FLAorCQkJCQkJICAgMCk7CisJCQl3bWIoKTsKKwkJfSBlbHNlIHsKKwkJCXBhZ2Vf YmFzZSArPSBvZmZzZXQgJiBQQUdFX01BU0s7CisJCX0KIAkJLyogSWYgd2UgZ2V0IGEgZmF1bHQg d2hpbGUgY29weWluZyBkYXRhLCB0aGVuIChwcmVzdW1hYmx5KSBvdXIKIAkJICogc291cmNlIHBh Z2UgaXNuJ3QgYXZhaWxhYmxlLiAgUmV0dXJuIHRoZSBlcnJvciBhbmQgd2UnbGwKIAkJICogcmV0 cnkgaW4gdGhlIHNsb3cgcGF0aC4KIAkJICovCi0JCWlmIChmYXN0X3VzZXJfd3JpdGUoZGV2X3By aXYtPmd0dC5tYXBwYWJsZSwgcGFnZV9iYXNlLAorCQlpZiAoZmFzdF91c2VyX3dyaXRlKGk5MTUt Pmd0dC5tYXBwYWJsZSwgcGFnZV9iYXNlLAogCQkJCSAgICBwYWdlX29mZnNldCwgdXNlcl9kYXRh LCBwYWdlX2xlbmd0aCkpIHsKIAkJCXJldCA9IC1FRkFVTFQ7CiAJCQlnb3RvIG91dF9mbHVzaDsK QEAgLTgyMSw3ICs4NjAsMTYgQEAgaTkxNV9nZW1fZ3R0X3B3cml0ZV9mYXN0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCiBvdXRfZmx1c2g6CiAJaW50ZWxfZmJfb2JqX2ZsdXNoKG9iaiwgZmFsc2Us IE9SSUdJTl9HVFQpOwogb3V0X3VucGluOgotCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKG9i aik7CisJaWYgKG5vZGUuYWxsb2NhdGVkKSB7CisJCXdtYigpOworCQlpOTE1LT5ndHQuYmFzZS5j bGVhcl9yYW5nZSgmaTkxNS0+Z3R0LmJhc2UsCisJCQkJCSAgIG5vZGUuc3RhcnQsIG5vZGUuc2l6 ZSwKKwkJCQkJICAgdHJ1ZSk7CisJCWk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmopOwor CQlyZW1vdmVfbWFwcGFibGVfbm9kZSgmbm9kZSk7CisJfSBlbHNlIHsKKwkJaTkxNV9nZW1fb2Jq ZWN0X2dndHRfdW5waW4ob2JqKTsKKwl9CiBvdXQ6CiAJcmV0dXJuIHJldDsKIH0KQEAgLTEwODYs NyArMTEzNCw3IEBAIGk5MTVfZ2VtX3B3cml0ZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAogCWlmIChvYmotPnRpbGluZ19tb2RlID09IEk5MTVfVElMSU5HX05PTkUg JiYKIAkgICAgb2JqLT5iYXNlLndyaXRlX2RvbWFpbiAhPSBJOTE1X0dFTV9ET01BSU5fQ1BVICYm CiAJICAgIGNwdV93cml0ZV9uZWVkc19jbGZsdXNoKG9iaikpIHsKLQkJcmV0ID0gaTkxNV9nZW1f Z3R0X3B3cml0ZV9mYXN0KGRldiwgb2JqLCBhcmdzLCBmaWxlKTsKKwkJcmV0ID0gaTkxNV9nZW1f Z3R0X3B3cml0ZV9mYXN0KGRldl9wcml2LCBvYmosIGFyZ3MsIGZpbGUpOwogCQkvKiBOb3RlIHRo YXQgdGhlIGd0dCBwYXRocyBtaWdodCBmYWlsIHdpdGggbm9uLXBhZ2UtYmFja2VkIHVzZXIKIAkJ ICogcG9pbnRlcnMgKGUuZy4gZ3R0IG1hcHBpbmdzIHdoZW4gbW92aW5nIGRhdGEgYmV0d2Vlbgog CQkgKiB0ZXh0dXJlcykuIEZhbGxiYWNrIHRvIHRoZSBzaG1lbSBwYXRoIGluIHRoYXQgY2FzZS4g Ki8KLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK