From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: [PATCH 03/18] drm/i915/gtt: Allow >= 4GB sizes for vm. Date: Thu, 25 Jun 2015 18:35:05 +0300 Message-ID: <1435246520-14745-4-git-send-email-mika.kuoppala@intel.com> References: <1435246520-14745-1-git-send-email-mika.kuoppala@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 3485A6EC5F for ; Thu, 25 Jun 2015 08:35:40 -0700 (PDT) In-Reply-To: <1435246520-14745-1-git-send-email-mika.kuoppala@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: miku@iki.fi List-Id: intel-gfx@lists.freedesktop.org V2UgY2FuIGhhdmUgZXhhY3RseSA0R0Igc2l6ZWQgcHBndHQgd2l0aCAzMmJpdCBzeXN0ZW0uCnNp emVfdCBpcyBpbmFkZXF1YXRlIGZvciB0aGlzLgoKdjI6IENvbnZlcnQgYSBsb3QgbW9yZSBwbGFj ZXMgKERhbmllbCkKClNpZ25lZC1vZmYtYnk6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFA aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvY2hhci9hZ3AvaW50ZWwtZ3R0LmMgICAgICAgIHwgIDQg KystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgfCA0MiArKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jICAgICB8ICA2ICsrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMg fCAyMiArKysrKysrKystLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuaCB8IDEyICsrKysrLS0tLS0tCiBpbmNsdWRlL2RybS9pbnRlbC1ndHQuaCAgICAgICAgICAg ICB8ICA0ICsrLS0KIDYgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgNDUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYyBiL2RyaXZl cnMvY2hhci9hZ3AvaW50ZWwtZ3R0LmMKaW5kZXggMGI0MTg4Yi4uNDczNGQwMiAxMDA2NDQKLS0t IGEvZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYworKysgYi9kcml2ZXJzL2NoYXIvYWdwL2lu dGVsLWd0dC5jCkBAIC0xNDA4LDggKzE0MDgsOCBAQCBpbnQgaW50ZWxfZ21jaF9wcm9iZShzdHJ1 Y3QgcGNpX2RldiAqYnJpZGdlX3BkZXYsIHN0cnVjdCBwY2lfZGV2ICpncHVfcGRldiwKIH0KIEVY UE9SVF9TWU1CT0woaW50ZWxfZ21jaF9wcm9iZSk7CiAKLXZvaWQgaW50ZWxfZ3R0X2dldChzaXpl X3QgKmd0dF90b3RhbCwgc2l6ZV90ICpzdG9sZW5fc2l6ZSwKLQkJICAgcGh5c19hZGRyX3QgKm1h cHBhYmxlX2Jhc2UsIHVuc2lnbmVkIGxvbmcgKm1hcHBhYmxlX2VuZCkKK3ZvaWQgaW50ZWxfZ3R0 X2dldCh1NjQgKmd0dF90b3RhbCwgc2l6ZV90ICpzdG9sZW5fc2l6ZSwKKwkJICAgcGh5c19hZGRy X3QgKm1hcHBhYmxlX2Jhc2UsIHU2NCAqbWFwcGFibGVfZW5kKQogewogCSpndHRfdG90YWwgPSBp bnRlbF9wcml2YXRlLmd0dF90b3RhbF9lbnRyaWVzIDw8IFBBR0VfU0hJRlQ7CiAJKnN0b2xlbl9z aXplID0gaW50ZWxfcHJpdmF0ZS5zdG9sZW5fc2l6ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKaW5kZXggZjNiODA2Mi4uYzY1NGI3ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKQEAgLTE5OCw3ICsxOTgsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9saXN0 X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGk5MTVfYWRkcmVz c19zcGFjZSAqdm0gPSAmZGV2X3ByaXYtPmd0dC5iYXNlOwogCXN0cnVjdCBpOTE1X3ZtYSAqdm1h OwotCXNpemVfdCB0b3RhbF9vYmpfc2l6ZSwgdG90YWxfZ3R0X3NpemU7CisJdTY0IHRvdGFsX29i al9zaXplLCB0b3RhbF9ndHRfc2l6ZTsKIAlpbnQgY291bnQsIHJldDsKIAogCXJldCA9IG11dGV4 X2xvY2tfaW50ZXJydXB0aWJsZSgmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwpAQCAtMjMxLDcgKzIzMSw3 IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2xpc3RfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUg Km0sIHZvaWQgKmRhdGEpCiAJfQogCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwog Ci0Jc2VxX3ByaW50ZihtLCAiVG90YWwgJWQgb2JqZWN0cywgJXp1IGJ5dGVzLCAlenUgR1RUIHNp emVcbiIsCisJc2VxX3ByaW50ZihtLCAiVG90YWwgJWQgb2JqZWN0cywgJWxsdSBieXRlcywgJWxs dSBHVFQgc2l6ZVxuIiwKIAkJICAgY291bnQsIHRvdGFsX29ial9zaXplLCB0b3RhbF9ndHRfc2l6 ZSk7CiAJcmV0dXJuIDA7CiB9CkBAIC0yNTMsNyArMjUzLDcgQEAgc3RhdGljIGludCBpOTE1X2dl bV9zdG9sZW5fbGlzdF9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gbm9kZS0+bWlub3ItPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmo7Ci0Jc2l6ZV90IHRvdGFsX29ial9zaXplLCB0b3RhbF9ndHRfc2l6ZTsK Kwl1NjQgdG90YWxfb2JqX3NpemUsIHRvdGFsX2d0dF9zaXplOwogCUxJU1RfSEVBRChzdG9sZW4p OwogCWludCBjb3VudCwgcmV0OwogCkBAIC0yOTIsNyArMjkyLDcgQEAgc3RhdGljIGludCBpOTE1 X2dlbV9zdG9sZW5fbGlzdF9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAl9 CiAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiAKLQlzZXFfcHJpbnRmKG0sICJU b3RhbCAlZCBvYmplY3RzLCAlenUgYnl0ZXMsICV6dSBHVFQgc2l6ZVxuIiwKKwlzZXFfcHJpbnRm KG0sICJUb3RhbCAlZCBvYmplY3RzLCAlbGx1IGJ5dGVzLCAlbGx1IEdUVCBzaXplXG4iLAogCQkg ICBjb3VudCwgdG90YWxfb2JqX3NpemUsIHRvdGFsX2d0dF9zaXplKTsKIAlyZXR1cm4gMDsKIH0K QEAgLTMxMCwxMCArMzEwLDEwIEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fc3RvbGVuX2xpc3RfaW5m byhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAKIHN0cnVjdCBmaWxlX3N0YXRzIHsK IAlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXY7Ci0JaW50IGNvdW50Owot CXNpemVfdCB0b3RhbCwgdW5ib3VuZDsKLQlzaXplX3QgZ2xvYmFsLCBzaGFyZWQ7Ci0Jc2l6ZV90 IGFjdGl2ZSwgaW5hY3RpdmU7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwl1NjQgdG90YWwsIHVu Ym91bmQ7CisJdTY0IGdsb2JhbCwgc2hhcmVkOworCXU2NCBhY3RpdmUsIGluYWN0aXZlOwogfTsK IAogc3RhdGljIGludCBwZXJfZmlsZV9zdGF0cyhpbnQgaWQsIHZvaWQgKnB0ciwgdm9pZCAqZGF0 YSkKQEAgLTM3MCw3ICszNzAsNyBAQCBzdGF0aWMgaW50IHBlcl9maWxlX3N0YXRzKGludCBpZCwg dm9pZCAqcHRyLCB2b2lkICpkYXRhKQogCiAjZGVmaW5lIHByaW50X2ZpbGVfc3RhdHMobSwgbmFt ZSwgc3RhdHMpIGRvIHsgXAogCWlmIChzdGF0cy5jb3VudCkgXAotCQlzZXFfcHJpbnRmKG0sICIl czogJXUgb2JqZWN0cywgJXp1IGJ5dGVzICglenUgYWN0aXZlLCAlenUgaW5hY3RpdmUsICV6dSBn bG9iYWwsICV6dSBzaGFyZWQsICV6dSB1bmJvdW5kKVxuIiwgXAorCQlzZXFfcHJpbnRmKG0sICIl czogJWx1IG9iamVjdHMsICVsbHUgYnl0ZXMgKCVsbHUgYWN0aXZlLCAlbGx1IGluYWN0aXZlLCAl bGx1IGdsb2JhbCwgJWxsdSBzaGFyZWQsICVsbHUgdW5ib3VuZClcbiIsIFwKIAkJCSAgIG5hbWUs IFwKIAkJCSAgIHN0YXRzLmNvdW50LCBcCiAJCQkgICBzdGF0cy50b3RhbCwgXApAQCAtNDIwLDcg KzQyMCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2luZm8oc3RydWN0IHNlcV9maWxl ICptLCB2b2lkKiBkYXRhKQogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBub2RlLT5taW5vci0+ ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7CiAJdTMyIGNvdW50LCBtYXBwYWJsZV9jb3VudCwgcHVyZ2VhYmxlX2NvdW50OwotCXNpemVf dCBzaXplLCBtYXBwYWJsZV9zaXplLCBwdXJnZWFibGVfc2l6ZTsKKwl1NjQgc2l6ZSwgbWFwcGFi bGVfc2l6ZSwgcHVyZ2VhYmxlX3NpemU7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i ajsKIAlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSA9ICZkZXZfcHJpdi0+Z3R0LmJhc2U7 CiAJc3RydWN0IGRybV9maWxlICpmaWxlOwpAQCAtNDM3LDE3ICs0MzcsMTcgQEAgc3RhdGljIGlu dCBpOTE1X2dlbV9vYmplY3RfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQqIGRhdGEpCiAK IAlzaXplID0gY291bnQgPSBtYXBwYWJsZV9zaXplID0gbWFwcGFibGVfY291bnQgPSAwOwogCWNv dW50X29iamVjdHMoJmRldl9wcml2LT5tbS5ib3VuZF9saXN0LCBnbG9iYWxfbGlzdCk7Ci0Jc2Vx X3ByaW50ZihtLCAiJXUgWyV1XSBvYmplY3RzLCAlenUgWyV6dV0gYnl0ZXMgaW4gZ3R0XG4iLAor CXNlcV9wcmludGYobSwgIiV1IFsldV0gb2JqZWN0cywgJWxsdSBbJWxsdV0gYnl0ZXMgaW4gZ3R0 XG4iLAogCQkgICBjb3VudCwgbWFwcGFibGVfY291bnQsIHNpemUsIG1hcHBhYmxlX3NpemUpOwog CiAJc2l6ZSA9IGNvdW50ID0gbWFwcGFibGVfc2l6ZSA9IG1hcHBhYmxlX2NvdW50ID0gMDsKIAlj b3VudF92bWFzKCZ2bS0+YWN0aXZlX2xpc3QsIG1tX2xpc3QpOwotCXNlcV9wcmludGYobSwgIiAg JXUgWyV1XSBhY3RpdmUgb2JqZWN0cywgJXp1IFslenVdIGJ5dGVzXG4iLAorCXNlcV9wcmludGYo bSwgIiAgJXUgWyV1XSBhY3RpdmUgb2JqZWN0cywgJWxsdSBbJWxsdV0gYnl0ZXNcbiIsCiAJCSAg IGNvdW50LCBtYXBwYWJsZV9jb3VudCwgc2l6ZSwgbWFwcGFibGVfc2l6ZSk7CiAKIAlzaXplID0g Y291bnQgPSBtYXBwYWJsZV9zaXplID0gbWFwcGFibGVfY291bnQgPSAwOwogCWNvdW50X3ZtYXMo JnZtLT5pbmFjdGl2ZV9saXN0LCBtbV9saXN0KTsKLQlzZXFfcHJpbnRmKG0sICIgICV1IFsldV0g aW5hY3RpdmUgb2JqZWN0cywgJXp1IFslenVdIGJ5dGVzXG4iLAorCXNlcV9wcmludGYobSwgIiAg JXUgWyV1XSBpbmFjdGl2ZSBvYmplY3RzLCAlbGx1IFslbGx1XSBieXRlc1xuIiwKIAkJICAgY291 bnQsIG1hcHBhYmxlX2NvdW50LCBzaXplLCBtYXBwYWJsZV9zaXplKTsKIAogCXNpemUgPSBjb3Vu dCA9IHB1cmdlYWJsZV9zaXplID0gcHVyZ2VhYmxlX2NvdW50ID0gMDsKQEAgLTQ1Niw3ICs0NTYs NyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwg dm9pZCogZGF0YSkKIAkJaWYgKG9iai0+bWFkdiA9PSBJOTE1X01BRFZfRE9OVE5FRUQpCiAJCQlw dXJnZWFibGVfc2l6ZSArPSBvYmotPmJhc2Uuc2l6ZSwgKytwdXJnZWFibGVfY291bnQ7CiAJfQot CXNlcV9wcmludGYobSwgIiV1IHVuYm91bmQgb2JqZWN0cywgJXp1IGJ5dGVzXG4iLCBjb3VudCwg c2l6ZSk7CisJc2VxX3ByaW50ZihtLCAiJXUgdW5ib3VuZCBvYmplY3RzLCAlbGx1IGJ5dGVzXG4i LCBjb3VudCwgc2l6ZSk7CiAKIAlzaXplID0gY291bnQgPSBtYXBwYWJsZV9zaXplID0gbWFwcGFi bGVfY291bnQgPSAwOwogCWxpc3RfZm9yX2VhY2hfZW50cnkob2JqLCAmZGV2X3ByaXYtPm1tLmJv dW5kX2xpc3QsIGdsb2JhbF9saXN0KSB7CkBAIC00NzMsMTYgKzQ3MywxNiBAQCBzdGF0aWMgaW50 IGk5MTVfZ2VtX29iamVjdF9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCogZGF0YSkKIAkJ CSsrcHVyZ2VhYmxlX2NvdW50OwogCQl9CiAJfQotCXNlcV9wcmludGYobSwgIiV1IHB1cmdlYWJs ZSBvYmplY3RzLCAlenUgYnl0ZXNcbiIsCisJc2VxX3ByaW50ZihtLCAiJXUgcHVyZ2VhYmxlIG9i amVjdHMsICVsbHUgYnl0ZXNcbiIsCiAJCSAgIHB1cmdlYWJsZV9jb3VudCwgcHVyZ2VhYmxlX3Np emUpOwotCXNlcV9wcmludGYobSwgIiV1IHBpbm5lZCBtYXBwYWJsZSBvYmplY3RzLCAlenUgYnl0 ZXNcbiIsCisJc2VxX3ByaW50ZihtLCAiJXUgcGlubmVkIG1hcHBhYmxlIG9iamVjdHMsICVsbHUg Ynl0ZXNcbiIsCiAJCSAgIG1hcHBhYmxlX2NvdW50LCBtYXBwYWJsZV9zaXplKTsKLQlzZXFfcHJp bnRmKG0sICIldSBmYXVsdCBtYXBwYWJsZSBvYmplY3RzLCAlenUgYnl0ZXNcbiIsCisJc2VxX3By aW50ZihtLCAiJXUgZmF1bHQgbWFwcGFibGUgb2JqZWN0cywgJWxsdSBieXRlc1xuIiwKIAkJICAg Y291bnQsIHNpemUpOwogCi0Jc2VxX3ByaW50ZihtLCAiJXp1IFslbHVdIGd0dCB0b3RhbFxuIiwK KwlzZXFfcHJpbnRmKG0sICIlbGx1IFslbGx1XSBndHQgdG90YWxcbiIsCiAJCSAgIGRldl9wcml2 LT5ndHQuYmFzZS50b3RhbCwKLQkJICAgZGV2X3ByaXYtPmd0dC5tYXBwYWJsZV9lbmQgLSBkZXZf cHJpdi0+Z3R0LmJhc2Uuc3RhcnQpOworCQkgICAodTY0KWRldl9wcml2LT5ndHQubWFwcGFibGVf ZW5kIC0gZGV2X3ByaXYtPmd0dC5iYXNlLnN0YXJ0KTsKIAogCXNlcV9wdXRjKG0sICdcbicpOwog CXByaW50X2JhdGNoX3Bvb2xfc3RhdHMobSwgZGV2X3ByaXYpOwpAQCAtNTE5LDcgKzUxOSw3IEBA IHN0YXRpYyBpbnQgaTkxNV9nZW1fZ3R0X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpk YXRhKQogCXVpbnRwdHJfdCBsaXN0ID0gKHVpbnRwdHJfdCkgbm9kZS0+aW5mb19lbnQtPmRhdGE7 CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK IAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwotCXNpemVfdCB0b3RhbF9vYmpfc2l6 ZSwgdG90YWxfZ3R0X3NpemU7CisJdTY0IHRvdGFsX29ial9zaXplLCB0b3RhbF9ndHRfc2l6ZTsK IAlpbnQgY291bnQsIHJldDsKIAogCXJldCA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmZGV2 LT5zdHJ1Y3RfbXV0ZXgpOwpAQCAtNTQxLDcgKzU0MSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1f Z3R0X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogCiAJbXV0ZXhfdW5sb2Nr KCZkZXYtPnN0cnVjdF9tdXRleCk7CiAKLQlzZXFfcHJpbnRmKG0sICJUb3RhbCAlZCBvYmplY3Rz LCAlenUgYnl0ZXMsICV6dSBHVFQgc2l6ZVxuIiwKKwlzZXFfcHJpbnRmKG0sICJUb3RhbCAlZCBv YmplY3RzLCAlbGx1IGJ5dGVzLCAlbGx1IEdUVCBzaXplXG4iLAogCQkgICBjb3VudCwgdG90YWxf b2JqX3NpemUsIHRvdGFsX2d0dF9zaXplKTsKIAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKaW5kZXggNTJlZmU0My4uY2M1YmY5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBA IC0zNzEyLDkgKzM3MTIsOSBAQCBpOTE1X2dlbV9vYmplY3RfYmluZF90b192bShzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvYmotPmJh c2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7CiAJdTMyIHNpemUsIGZlbmNlX3NpemUsIGZlbmNlX2FsaWdubWVudCwgdW5mZW5jZWRf YWxpZ25tZW50OwotCXVuc2lnbmVkIGxvbmcgc3RhcnQgPQorCXU2NCBzdGFydCA9CiAJCWZsYWdz ICYgUElOX09GRlNFVF9CSUFTID8gZmxhZ3MgJiBQSU5fT0ZGU0VUX01BU0sgOiAwOwotCXVuc2ln bmVkIGxvbmcgZW5kID0KKwl1NjQgZW5kID0KIAkJZmxhZ3MgJiBQSU5fTUFQUEFCTEUgPyBkZXZf cHJpdi0+Z3R0Lm1hcHBhYmxlX2VuZCA6IHZtLT50b3RhbDsKIAlzdHJ1Y3QgaTkxNV92bWEgKnZt YTsKIAlpbnQgcmV0OwpAQCAtMzc3MCw3ICszNzcwLDcgQEAgaTkxNV9nZW1fb2JqZWN0X2JpbmRf dG9fdm0oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkgKiBhdHRlbXB0IHRvIGZp bmQgc3BhY2UuCiAJICovCiAJaWYgKHNpemUgPiBlbmQpIHsKLQkJRFJNX0RFQlVHKCJBdHRlbXB0 aW5nIHRvIGJpbmQgYW4gb2JqZWN0ICh2aWV3IHR5cGU9JXUpIGxhcmdlciB0aGFuIHRoZSBhcGVy dHVyZTogc2l6ZT0ldSA+ICVzIGFwZXJ0dXJlPSVsdVxuIiwKKwkJRFJNX0RFQlVHKCJBdHRlbXB0 aW5nIHRvIGJpbmQgYW4gb2JqZWN0ICh2aWV3IHR5cGU9JXUpIGxhcmdlciB0aGFuIHRoZSBhcGVy dHVyZTogc2l6ZT0ldSA+ICVzIGFwZXJ0dXJlPSVsbHVcbiIsCiAJCQkgIGdndHRfdmlldyA/IGdn dHRfdmlldy0+dHlwZSA6IDAsCiAJCQkgIHNpemUsCiAJCQkgIGZsYWdzICYgUElOX01BUFBBQkxF ID8gIm1hcHBhYmxlIiA6ICJ0b3RhbCIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmlu ZGV4IDY4NzA1ZTMuLjdhNzc4OWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBA IC0yMTEyLDcgKzIxMTIsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX3NldHVwX2dsb2JhbF9ndHQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKIHZvaWQgaTkxNV9nZW1faW5pdF9nbG9iYWxfZ3R0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQl1bnNpZ25lZCBsb25nIGd0dF9zaXplLCBtYXBwYWJs ZV9zaXplOworCXU2NCBndHRfc2l6ZSwgbWFwcGFibGVfc2l6ZTsKIAogCWd0dF9zaXplID0gZGV2 X3ByaXYtPmd0dC5iYXNlLnRvdGFsOwogCW1hcHBhYmxlX3NpemUgPSBkZXZfcHJpdi0+Z3R0Lm1h cHBhYmxlX2VuZDsKQEAgLTIzNjksMTMgKzIzNjksMTMgQEAgc3RhdGljIHZvaWQgY2h2X3NldHVw X3ByaXZhdGVfcHBhdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB9CiAKIHN0 YXRpYyBpbnQgZ2VuOF9nbWNoX3Byb2JlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0JCQkgICBz aXplX3QgKmd0dF90b3RhbCwKKwkJCSAgIHU2NCAqZ3R0X3RvdGFsLAogCQkJICAgc2l6ZV90ICpz dG9sZW4sCiAJCQkgICBwaHlzX2FkZHJfdCAqbWFwcGFibGVfYmFzZSwKLQkJCSAgIHVuc2lnbmVk IGxvbmcgKm1hcHBhYmxlX2VuZCkKKwkJCSAgIHU2NCAqbWFwcGFibGVfZW5kKQogewogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0JdW5zaWdu ZWQgaW50IGd0dF9zaXplOworCXU2NCBndHRfc2l6ZTsKIAl1MTYgc25iX2dtY2hfY3RsOwogCWlu dCByZXQ7CiAKQEAgLTI0MTcsMTAgKzI0MTcsMTAgQEAgc3RhdGljIGludCBnZW44X2dtY2hfcHJv YmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIH0KIAogc3RhdGljIGludCBnZW42X2dtY2hfcHJv YmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKLQkJCSAgIHNpemVfdCAqZ3R0X3RvdGFsLAorCQkJ ICAgdTY0ICpndHRfdG90YWwsCiAJCQkgICBzaXplX3QgKnN0b2xlbiwKIAkJCSAgIHBoeXNfYWRk cl90ICptYXBwYWJsZV9iYXNlLAotCQkJICAgdW5zaWduZWQgbG9uZyAqbWFwcGFibGVfZW5kKQor CQkJICAgdTY0ICptYXBwYWJsZV9lbmQpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAl1bnNpZ25lZCBpbnQgZ3R0X3NpemU7CkBAIC0y NDM0LDcgKzI0MzQsNyBAQCBzdGF0aWMgaW50IGdlbjZfZ21jaF9wcm9iZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCSAqIGEgY29hcnNlIHNhbml0eSBjaGVjay4KIAkgKi8KIAlpZiAoKCptYXBw YWJsZV9lbmQgPCAoNjQ8PDIwKSB8fCAoKm1hcHBhYmxlX2VuZCA+ICg1MTI8PDIwKSkpKSB7Ci0J CURSTV9FUlJPUigiVW5rbm93biBHTUFEUiBzaXplICglbHgpXG4iLAorCQlEUk1fRVJST1IoIlVu a25vd24gR01BRFIgc2l6ZSAoJWxseClcbiIsCiAJCQkgIGRldl9wcml2LT5ndHQubWFwcGFibGVf ZW5kKTsKIAkJcmV0dXJuIC1FTlhJTzsKIAl9CkBAIC0yNDY4LDEwICsyNDY4LDEwIEBAIHN0YXRp YyB2b2lkIGdlbjZfZ21jaF9yZW1vdmUoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCiB9 CiAKIHN0YXRpYyBpbnQgaTkxNV9nbWNoX3Byb2JlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0J CQkgICBzaXplX3QgKmd0dF90b3RhbCwKKwkJCSAgIHU2NCAqZ3R0X3RvdGFsLAogCQkJICAgc2l6 ZV90ICpzdG9sZW4sCiAJCQkgICBwaHlzX2FkZHJfdCAqbWFwcGFibGVfYmFzZSwKLQkJCSAgIHVu c2lnbmVkIGxvbmcgKm1hcHBhYmxlX2VuZCkKKwkJCSAgIHU2NCAqbWFwcGFibGVfZW5kKQogewog CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJ aW50IHJldDsKQEAgLTI1MzYsOSArMjUzNiw5IEBAIGludCBpOTE1X2dlbV9ndHRfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQogCWd0dC0+YmFzZS5kZXYgPSBkZXY7CiAKIAkvKiBHTUFEUiBp cyB0aGUgUENJIG1taW8gYXBlcnR1cmUgaW50byB0aGUgZ2xvYmFsIEdUVC4gKi8KLQlEUk1fSU5G TygiTWVtb3J5IHVzYWJsZSBieSBncmFwaGljcyBkZXZpY2UgPSAlemRNXG4iLAorCURSTV9JTkZP KCJNZW1vcnkgdXNhYmxlIGJ5IGdyYXBoaWNzIGRldmljZSA9ICVsbHVNXG4iLAogCQkgZ3R0LT5i YXNlLnRvdGFsID4+IDIwKTsKLQlEUk1fREVCVUdfRFJJVkVSKCJHTUFEUiBzaXplID0gJWxkTVxu IiwgZ3R0LT5tYXBwYWJsZV9lbmQgPj4gMjApOworCURSTV9ERUJVR19EUklWRVIoIkdNQURSIHNp emUgPSAlbGxkTVxuIiwgZ3R0LT5tYXBwYWJsZV9lbmQgPj4gMjApOwogCURSTV9ERUJVR19EUklW RVIoIkdUVCBzdG9sZW4gc2l6ZSA9ICV6ZE1cbiIsIGd0dC0+c3RvbGVuX3NpemUgPj4gMjApOwog I2lmZGVmIENPTkZJR19JTlRFTF9JT01NVQogCWlmIChpbnRlbF9pb21tdV9nZnhfbWFwcGVkKQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAppbmRleCAwMTdlYTMwLi42MDBlZWMwIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaApAQCAtMjM1LDggKzIzNSw4IEBAIHN0cnVjdCBp OTE1X2FkZHJlc3Nfc3BhY2UgewogCXN0cnVjdCBkcm1fbW0gbW07CiAJc3RydWN0IGRybV9kZXZp Y2UgKmRldjsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGdsb2JhbF9saW5rOwotCXVuc2lnbmVkIGxvbmcg c3RhcnQ7CQkvKiBTdGFydCBvZmZzZXQgYWx3YXlzIDAgZm9yIGRyaTIgKi8KLQlzaXplX3QgdG90 YWw7CQkvKiBzaXplIGFkZHIgc3BhY2UgbWFwcyAoZXguIDJHQiBmb3IgZ2d0dCkgKi8KKwl1NjQg c3RhcnQ7CQkvKiBTdGFydCBvZmZzZXQgYWx3YXlzIDAgZm9yIGRyaTIgKi8KKwl1NjQgdG90YWw7 CQkvKiBzaXplIGFkZHIgc3BhY2UgbWFwcyAoZXguIDJHQiBmb3IgZ2d0dCkgKi8KIAogCXN0cnVj dCB7CiAJCWRtYV9hZGRyX3QgYWRkcjsKQEAgLTMwMiw5ICszMDIsOSBAQCBzdHJ1Y3QgaTkxNV9h ZGRyZXNzX3NwYWNlIHsKICAqLwogc3RydWN0IGk5MTVfZ3R0IHsKIAlzdHJ1Y3QgaTkxNV9hZGRy ZXNzX3NwYWNlIGJhc2U7Ci0Jc2l6ZV90IHN0b2xlbl9zaXplOwkJLyogVG90YWwgc2l6ZSBvZiBz dG9sZW4gbWVtb3J5ICovCiAKLQl1bnNpZ25lZCBsb25nIG1hcHBhYmxlX2VuZDsJLyogRW5kIG9m ZnNldCB0aGF0IHdlIGNhbiBDUFUgbWFwICovCisJc2l6ZV90IHN0b2xlbl9zaXplOwkJLyogVG90 YWwgc2l6ZSBvZiBzdG9sZW4gbWVtb3J5ICovCisJdTY0IG1hcHBhYmxlX2VuZDsJCS8qIEVuZCBv ZmZzZXQgdGhhdCB3ZSBjYW4gQ1BVIG1hcCAqLwogCXN0cnVjdCBpb19tYXBwaW5nICptYXBwYWJs ZTsJLyogTWFwcGluZyB0byBvdXIgQ1BVIG1hcHBhYmxlIHJlZ2lvbiAqLwogCXBoeXNfYWRkcl90 IG1hcHBhYmxlX2Jhc2U7CS8qIFBBIG9mIG91ciBHTUFEUiAqLwogCkBAIC0zMTYsOSArMzE2LDkg QEAgc3RydWN0IGk5MTVfZ3R0IHsKIAlpbnQgbXRycjsKIAogCS8qIGdsb2JhbCBndHQgb3BzICov Ci0JaW50ICgqZ3R0X3Byb2JlKShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzaXplX3QgKmd0dF90 b3RhbCwKKwlpbnQgKCpndHRfcHJvYmUpKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHU2NCAqZ3R0 X3RvdGFsLAogCQkJICBzaXplX3QgKnN0b2xlbiwgcGh5c19hZGRyX3QgKm1hcHBhYmxlX2Jhc2Us Ci0JCQkgIHVuc2lnbmVkIGxvbmcgKm1hcHBhYmxlX2VuZCk7CisJCQkgIHU2NCAqbWFwcGFibGVf ZW5kKTsKIH07CiAKIHN0cnVjdCBpOTE1X2h3X3BwZ3R0IHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUv ZHJtL2ludGVsLWd0dC5oIGIvaW5jbHVkZS9kcm0vaW50ZWwtZ3R0LmgKaW5kZXggYjA4YmRhZC4u OWU5YmRkYWE1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9pbnRlbC1ndHQuaAorKysgYi9pbmNs dWRlL2RybS9pbnRlbC1ndHQuaApAQCAtMyw4ICszLDggQEAKICNpZm5kZWYgX0RSTV9JTlRFTF9H VFRfSAogI2RlZmluZQlfRFJNX0lOVEVMX0dUVF9ICiAKLXZvaWQgaW50ZWxfZ3R0X2dldChzaXpl X3QgKmd0dF90b3RhbCwgc2l6ZV90ICpzdG9sZW5fc2l6ZSwKLQkJICAgcGh5c19hZGRyX3QgKm1h cHBhYmxlX2Jhc2UsIHVuc2lnbmVkIGxvbmcgKm1hcHBhYmxlX2VuZCk7Cit2b2lkIGludGVsX2d0 dF9nZXQodTY0ICpndHRfdG90YWwsIHNpemVfdCAqc3RvbGVuX3NpemUsCisJCSAgIHBoeXNfYWRk cl90ICptYXBwYWJsZV9iYXNlLCB1NjQgKm1hcHBhYmxlX2VuZCk7CiAKIGludCBpbnRlbF9nbWNo X3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpicmlkZ2VfcGRldiwgc3RydWN0IHBjaV9kZXYgKmdwdV9w ZGV2LAogCQkgICAgIHN0cnVjdCBhZ3BfYnJpZGdlX2RhdGEgKmJyaWRnZSk7Ci0tIAoxLjkuMQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK