From mboxrd@z Thu Jan 1 00:00:00 1970 From: ankitprasad.r.sharma@intel.com Subject: [PATCH 3/3] drm/i915: Use insert_page for pwrite_fast Date: Thu, 5 Nov 2015 17:15:59 +0530 Message-ID: <1446723959-25580-4-git-send-email-ankitprasad.r.sharma@intel.com> References: <1446723959-25580-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 156EB721AC for ; Thu, 5 Nov 2015 04:05:26 -0800 (PST) In-Reply-To: <1446723959-25580-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 ClNpZ25lZC1vZmYtYnk6IEFua2l0cHJhc2FkIFNoYXJtYSA8YW5raXRwcmFzYWQuci5zaGFybWFA aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgfCA5MiArKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDY5 IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmlu ZGV4IGJmNWVmN2EuLjkxMzIyNDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtNzY2LDE0 ICs3NjYsMjYgQEAgaTkxNV9nZW1fZ3R0X3B3cml0ZV9mYXN0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiAJCQkgc3RydWN0IGRybV9maWxlICpmaWxlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9tbV9ub2RlIG5v ZGU7CiAJc3NpemVfdCByZW1haW47CiAJbG9mZl90IG9mZnNldCwgcGFnZV9iYXNlOwogCWNoYXIg X191c2VyICp1c2VyX2RhdGE7Ci0JaW50IHBhZ2Vfb2Zmc2V0LCBwYWdlX2xlbmd0aCwgcmV0Owor CWludCBwYWdlX29mZnNldCwgcGFnZV9sZW5ndGgsIHJldCwgaTsKKwlib29sIHBpbm5lZCA9IHRy dWU7CiAKIAlyZXQgPSBpOTE1X2dlbV9vYmpfZ2d0dF9waW4ob2JqLCAwLCBQSU5fTUFQUEFCTEUg fCBQSU5fTk9OQkxPQ0spOwotCWlmIChyZXQpCi0JCWdvdG8gb3V0OworCWlmIChyZXQpIHsKKwkJ cGlubmVkID0gZmFsc2U7CisJCW1lbXNldCgmbm9kZSwgMCwgc2l6ZW9mKG5vZGUpKTsKKwkJcmV0 ID0gZHJtX21tX2luc2VydF9ub2RlX2luX3JhbmdlX2dlbmVyaWMoJmRldl9wcml2LT5ndHQuYmFz ZS5tbSwKKwkJCQkJCQkgICZub2RlLCA0MDk2LCAwLAorCQkJCQkJCSAgSTkxNV9DQUNIRV9OT05F LCAwLAorCQkJCQkJCSAgZGV2X3ByaXYtPmd0dC5tYXBwYWJsZV9lbmQsCisJCQkJCQkJICBEUk1f TU1fU0VBUkNIX0RFRkFVTFQsCisJCQkJCQkJICBEUk1fTU1fQ1JFQVRFX0RFRkFVTFQpOworCQlp ZiAocmV0KQorCQkJZ290byBvdXQ7CisJfQogCiAJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3NldF90 b19ndHRfZG9tYWluKG9iaiwgdHJ1ZSk7CiAJaWYgKHJldCkKQEAgLTc4Niw0MiArNzk4LDc2IEBA IGk5MTVfZ2VtX2d0dF9wd3JpdGVfZmFzdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXVzZXJf ZGF0YSA9IHRvX3VzZXJfcHRyKGFyZ3MtPmRhdGFfcHRyKTsKIAlyZW1haW4gPSBhcmdzLT5zaXpl OwogCi0Jb2Zmc2V0ID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KG9iaikgKyBhcmdzLT5vZmZz ZXQ7Ci0KIAlpbnRlbF9mYl9vYmpfaW52YWxpZGF0ZShvYmosIE9SSUdJTl9HVFQpOwogCi0Jd2hp bGUgKHJlbWFpbiA+IDApIHsKLQkJLyogT3BlcmF0aW9uIGluIHRoaXMgcGFnZQorCWlmIChsaWtl bHkocGlubmVkKSkgeworCQlvZmZzZXQgPSBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQob2JqKSAr IGFyZ3MtPm9mZnNldDsKKwkJLyogT3BlcmF0aW9uIGluIHRoZSBwYWdlCiAJCSAqCiAJCSAqIHBh Z2VfYmFzZSA9IHBhZ2Ugb2Zmc2V0IHdpdGhpbiBhcGVydHVyZQogCQkgKiBwYWdlX29mZnNldCA9 IG9mZnNldCB3aXRoaW4gcGFnZQotCQkgKiBwYWdlX2xlbmd0aCA9IGJ5dGVzIHRvIGNvcHkgZm9y IHRoaXMgcGFnZQorCQkgKiBwYWdlX2xlbmd0aCA9IGJ5dGVzIHRvIGNvcHkgZm9yIHRoZSBwYWdl CiAJCSAqLwogCQlwYWdlX2Jhc2UgPSBvZmZzZXQgJiBQQUdFX01BU0s7CiAJCXBhZ2Vfb2Zmc2V0 ID0gb2Zmc2V0X2luX3BhZ2Uob2Zmc2V0KTsKLQkJcGFnZV9sZW5ndGggPSByZW1haW47Ci0JCWlm ICgocGFnZV9vZmZzZXQgKyByZW1haW4pID4gUEFHRV9TSVpFKQotCQkJcGFnZV9sZW5ndGggPSBQ QUdFX1NJWkUgLSBwYWdlX29mZnNldDsKKwkJd2hpbGUgKHJlbWFpbiA+IDApIHsKKwkJCXBhZ2Vf bGVuZ3RoID0gcmVtYWluOworCQkJaWYgKChwYWdlX29mZnNldCArIHJlbWFpbikgPiBQQUdFX1NJ WkUpCisJCQkJcGFnZV9sZW5ndGggPSBQQUdFX1NJWkUgLSBwYWdlX29mZnNldDsKKworCQkJLyog SWYgd2UgZ2V0IGEgZmF1bHQgd2hpbGUgY29weWluZyBkYXRhLCB0aGVuIChwcmVzdW1hYmx5KSBv dXIKKwkJCSAqIHNvdXJjZSBwYWdlIGlzbid0IGF2YWlsYWJsZS4gIFJldHVybiB0aGUgZXJyb3Ig YW5kIHdlJ2xsCisJCQkgKiByZXRyeSBpbiB0aGUgc2xvdyBwYXRoLgorCQkJICovCisJCQlpZiAo ZmFzdF91c2VyX3dyaXRlKGRldl9wcml2LT5ndHQubWFwcGFibGUsIHBhZ2VfYmFzZSwKKwkJCQkJ CXBhZ2Vfb2Zmc2V0LCB1c2VyX2RhdGEsIHBhZ2VfbGVuZ3RoKSkgeworCQkJCXJldCA9IC1FRkFV TFQ7CisJCQkJZ290byBvdXRfZmx1c2g7CisJCQl9CiAKLQkJLyogSWYgd2UgZ2V0IGEgZmF1bHQg d2hpbGUgY29weWluZyBkYXRhLCB0aGVuIChwcmVzdW1hYmx5KSBvdXIKLQkJICogc291cmNlIHBh Z2UgaXNuJ3QgYXZhaWxhYmxlLiAgUmV0dXJuIHRoZSBlcnJvciBhbmQgd2UnbGwKLQkJICogcmV0 cnkgaW4gdGhlIHNsb3cgcGF0aC4KLQkJICovCi0JCWlmIChmYXN0X3VzZXJfd3JpdGUoZGV2X3By aXYtPmd0dC5tYXBwYWJsZSwgcGFnZV9iYXNlLAotCQkJCSAgICBwYWdlX29mZnNldCwgdXNlcl9k YXRhLCBwYWdlX2xlbmd0aCkpIHsKLQkJCXJldCA9IC1FRkFVTFQ7Ci0JCQlnb3RvIG91dF9mbHVz aDsKKwkJCXJlbWFpbiAtPSBwYWdlX2xlbmd0aDsKKwkJCXVzZXJfZGF0YSArPSBwYWdlX2xlbmd0 aDsKKwkJCXBhZ2Vfb2Zmc2V0ID0gMDsKIAkJfQorCX0gZWxzZSB7CisJCWkgPSBhcmdzLT5vZmZz ZXQgLyBQQUdFX1NJWkU7CisJCXBhZ2Vfb2Zmc2V0ID0gb2Zmc2V0X2luX3BhZ2UoYXJncy0+b2Zm c2V0KTsKKwkJd2hpbGUgKHJlbWFpbiA+IDApIHsKKwkJCXBhZ2VfbGVuZ3RoID0gcmVtYWluOwor CQkJaWYgKChwYWdlX29mZnNldCArIHJlbWFpbikgPiBQQUdFX1NJWkUpCisJCQkJcGFnZV9sZW5n dGggPSBQQUdFX1NJWkUgLSBwYWdlX29mZnNldDsKKworCQkJd21iKCk7CisJCQlkZXZfcHJpdi0+ Z3R0LmJhc2UuaW5zZXJ0X3BhZ2UoJmRldl9wcml2LT5ndHQuYmFzZSwKKwkJCQkJaTkxNV9nZW1f b2JqZWN0X2dldF9kbWFfYWRkcmVzcyhvYmosIGkpLAorCQkJCQlub2RlLnN0YXJ0LAorCQkJCQlJ OTE1X0NBQ0hFX05PTkUsCisJCQkJCTApOworCQkJd21iKCk7CisKKwkJCWlmIChmYXN0X3VzZXJf d3JpdGUoZGV2X3ByaXYtPmd0dC5tYXBwYWJsZSwgbm9kZS5zdGFydCwKKwkJCQkJCXBhZ2Vfb2Zm c2V0LCB1c2VyX2RhdGEsIHBhZ2VfbGVuZ3RoKSkgeworCQkJCXJldCA9IC1FRkFVTFQ7CisJCQkJ Z290byBvdXRfZmx1c2g7CisJCQl9CiAKLQkJcmVtYWluIC09IHBhZ2VfbGVuZ3RoOwotCQl1c2Vy X2RhdGEgKz0gcGFnZV9sZW5ndGg7Ci0JCW9mZnNldCArPSBwYWdlX2xlbmd0aDsKKwkJCXJlbWFp biAtPSBwYWdlX2xlbmd0aDsKKwkJCXVzZXJfZGF0YSArPSBwYWdlX2xlbmd0aDsKKwkJCXBhZ2Vf b2Zmc2V0ID0gMDsKKwkJCWkrKzsKKwkJfQorCQl3bWIoKTsKKwkJZGV2X3ByaXYtPmd0dC5iYXNl LmNsZWFyX3JhbmdlKCZkZXZfcHJpdi0+Z3R0LmJhc2UsCisJCQkJbm9kZS5zdGFydCwgbm9kZS5z aXplLAorCQkJCXRydWUpOworCQlkcm1fbW1fcmVtb3ZlX25vZGUoJm5vZGUpOwogCX0KIAogb3V0 X2ZsdXNoOgogCWludGVsX2ZiX29ial9mbHVzaChvYmosIGZhbHNlLCBPUklHSU5fR1RUKTsKIG91 dF91bnBpbjoKLQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihvYmopOworCWlmIChwaW5uZWQp CisJCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKG9iaik7CiBvdXQ6CiAJcmV0dXJuIHJldDsK IH0KLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=