From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 05/21] drm/i915: introduce page_size members Date: Tue, 25 Jul 2017 20:21:17 +0100 Message-ID: <20170725192133.2012-6-matthew.auld@intel.com> References: <20170725192133.2012-1-matthew.auld@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 ESMTPS id B3AAD6E3D5 for ; Tue, 25 Jul 2017 19:22:01 +0000 (UTC) In-Reply-To: <20170725192133.2012-1-matthew.auld@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 List-Id: intel-gfx@lists.freedesktop.org SW4gcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgaHVnZSBndHQgcGFnZXMgZm9yIHRoZSBwcGd0 dCwgd2UgaW50cm9kdWNlCnBhZ2Ugc2l6ZSBtZW1iZXJzIGZvciBnZW0gb2JqZWN0cy4gIFdlIGZp bGwgaW4gdGhlIHBhZ2Ugc2l6ZXMgYnkKc2Nhbm5pbmcgdGhlIHNnIHRhYmxlLgoKdjI6IHBhc3Mg dGhlIHNnX21hc2sgdG8gc2V0X3BhZ2VzCgp2MzogY2FsY3VsYXRlIHRoZSBzZ19tYXNrIGlubGlu ZSB3aXRoIHBvcHVsYXRpbmcgdGhlIHNnX3RhYmxlIHdoZXJlCnBvc3NpYmxlLCBhbmQgcGFzcyB0 byBzZXRfcGFnZXMgYWxvbmcgd2l0aCB0aGUgcGFnZXMuCgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3 IEF1bGQgPG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25h cy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlz LXdpbHNvbi5jby51az4KQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgICAgICAgfCAgNSArKy0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICAgICAgICB8IDQzICsr KysrKysrKysrKysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1h YnVmLmMgICAgICAgICAgIHwgMTcgKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1faW50ZXJuYWwuYyAgICAgICAgIHwgIDUgKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9vYmplY3QuaCAgICAgICAgICAgfCAyMCArKysrKysrKysrLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMgICAgICAgICAgIHwgMTMgKysrKy0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jICAgICAgICAgIHwgMjYgKysrKysrKysr Ky0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX2dlbV9vYmplY3QuYyB8 ICA0ICsrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jICAg IHwgIDMgKy0KIDkgZmlsZXMgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDEwZjUyOTM3ZWRlYy4uOGU0OWM0NDU3 OGEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI5NjYsNiArMjk2Niw4IEBAIGludGVs X2luZm8oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogI2RlZmluZSBV U0VTX1BQR1RUKGRldl9wcml2KQkJKGk5MTUuZW5hYmxlX3BwZ3R0KQogI2RlZmluZSBVU0VTX0ZV TExfUFBHVFQoZGV2X3ByaXYpCShpOTE1LmVuYWJsZV9wcGd0dCA+PSAyKQogI2RlZmluZSBVU0VT X0ZVTExfNDhCSVRfUFBHVFQoZGV2X3ByaXYpCShpOTE1LmVuYWJsZV9wcGd0dCA9PSAzKQorI2Rl ZmluZSBIQVNfUEFHRV9TSVpFKGRldl9wcml2LCBwYWdlX3NpemUpIFwKKwkoKGRldl9wcml2KS0+ aW5mby5wYWdlX3NpemVfbWFzayAmIChwYWdlX3NpemUpKQogCiAjZGVmaW5lIEhBU19PVkVSTEFZ KGRldl9wcml2KQkJICgoZGV2X3ByaXYpLT5pbmZvLmhhc19vdmVybGF5KQogI2RlZmluZSBPVkVS TEFZX05FRURTX1BIWVNJQ0FMKGRldl9wcml2KSBcCkBAIC0zMzc0LDcgKzMzNzYsOCBAQCBpOTE1 X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCiAJCQkJdW5zaWduZWQgbG9uZyBuKTsKIAogdm9pZCBfX2k5MTVfZ2VtX29iamVjdF9zZXRf cGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKLQkJCQkgc3RydWN0IHNnX3Rh YmxlICpwYWdlcyk7CisJCQkJIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMsCisJCQkJIHVuc2lnbmVk IGludCBzZ19tYXNrKTsKIGludCBfX2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CiAKIHN0YXRpYyBpbmxpbmUgaW50IF9fbXVzdF9jaGVj awpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggOTMzNWY0ODc0MDBlLi5iMWIxZDhjZTQ2Zjcg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMTYzLDcgKzE2Myw4IEBAIGk5MTVfZ2VtX2dl dF9hcGVydHVyZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogfQog CiBzdGF0aWMgc3RydWN0IHNnX3RhYmxlICoKLWk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfcGh5 cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQoraTkxNV9nZW1fb2JqZWN0X2dldF9w YWdlc19waHlzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCisJCQkgICAgICAgdW5z aWduZWQgaW50ICpzZ19tYXNrKQogewogCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0g b2JqLT5iYXNlLmZpbHAtPmZfbWFwcGluZzsKIAlkcm1fZG1hX2hhbmRsZV90ICpwaHlzOwpAQCAt MjIzLDYgKzIyNCw4IEBAIGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfcGh5cyhzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCXNnLT5vZmZzZXQgPSAwOwogCXNnLT5sZW5ndGggPSBv YmotPmJhc2Uuc2l6ZTsKIAorCSpzZ19tYXNrID0gc2ctPmxlbmd0aDsKKwogCXNnX2RtYV9hZGRy ZXNzKHNnKSA9IHBoeXMtPmJ1c2FkZHI7CiAJc2dfZG1hX2xlbihzZykgPSBvYmotPmJhc2Uuc2l6 ZTsKIApAQCAtMjI5OCw2ICsyMzAxLDggQEAgdm9pZCBfX2k5MTVfZ2VtX29iamVjdF9wdXRfcGFn ZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlpZiAoIUlTX0VSUihwYWdlcykp CiAJCW9iai0+b3BzLT5wdXRfcGFnZXMob2JqLCBwYWdlcyk7CiAKKwlvYmotPm1tLnBhZ2Vfc2l6 ZXMucGh5cyA9IG9iai0+bW0ucGFnZV9zaXplcy5zZyA9IDA7CisKIHVubG9jazoKIAltdXRleF91 bmxvY2soJm9iai0+bW0ubG9jayk7CiB9CkBAIC0yMzI5LDcgKzIzMzQsOCBAQCBzdGF0aWMgYm9v bCBpOTE1X3NnX3RyaW0oc3RydWN0IHNnX3RhYmxlICpvcmlnX3N0KQogfQogCiBzdGF0aWMgc3Ry dWN0IHNnX3RhYmxlICoKLWk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfZ3R0KHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopCitpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2d0dChzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJICAgICAgdW5zaWduZWQgaW50ICpzZ19t YXNrKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUob2Jq LT5iYXNlLmRldik7CiAJY29uc3QgdW5zaWduZWQgbG9uZyBwYWdlX2NvdW50ID0gb2JqLT5iYXNl LnNpemUgLyBQQUdFX1NJWkU7CkBAIC0yMzc2LDYgKzIzODIsNyBAQCBpOTE1X2dlbV9vYmplY3Rf Z2V0X3BhZ2VzX2d0dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCiAJc2cgPSBz dC0+c2dsOwogCXN0LT5uZW50cyA9IDA7CisJKnNnX21hc2sgPSAwOwogCWZvciAoaSA9IDA7IGkg PCBwYWdlX2NvdW50OyBpKyspIHsKIAkJY29uc3QgdW5zaWduZWQgaW50IHNocmlua1tdID0gewog CQkJSTkxNV9TSFJJTktfQk9VTkQgfCBJOTE1X1NIUklOS19VTkJPVU5EIHwgSTkxNV9TSFJJTktf UFVSR0VBQkxFLApAQCAtMjQyOCw4ICsyNDM1LDEwIEBAIGk5MTVfZ2VtX29iamVjdF9nZXRfcGFn ZXNfZ3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCWlmICghaSB8fAogCQkg ICAgc2ctPmxlbmd0aCA+PSBtYXhfc2VnbWVudCB8fAogCQkgICAgcGFnZV90b19wZm4ocGFnZSkg IT0gbGFzdF9wZm4gKyAxKSB7Ci0JCQlpZiAoaSkKKwkJCWlmIChpKSB7CisJCQkJKnNnX21hc2sg fD0gc2ctPmxlbmd0aDsKIAkJCQlzZyA9IHNnX25leHQoc2cpOworCQkJfQogCQkJc3QtPm5lbnRz Kys7CiAJCQlzZ19zZXRfcGFnZShzZywgcGFnZSwgUEFHRV9TSVpFLCAwKTsKIAkJfSBlbHNlIHsK QEAgLTI0NDAsOCArMjQ0OSwxMCBAQCBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2d0dChzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCQkvKiBDaGVjayB0aGF0IHRoZSBpOTY1Zy9n bSB3b3JrYXJvdW5kIHdvcmtzLiAqLwogCQlXQVJOX09OKChnZnAgJiBfX0dGUF9ETUEzMikgJiYg KGxhc3RfcGZuID49IDB4MDAxMDAwMDBVTCkpOwogCX0KLQlpZiAoc2cpIC8qIGxvb3AgdGVybWlu YXRlZCBlYXJseTsgc2hvcnQgc2cgdGFibGUgKi8KKwlpZiAoc2cpIHsgLyogbG9vcCB0ZXJtaW5h dGVkIGVhcmx5OyBzaG9ydCBzZyB0YWJsZSAqLworCQkqc2dfbWFzayB8PSBzZy0+bGVuZ3RoOwog CQlzZ19tYXJrX2VuZChzZyk7CisJfQogCiAJLyogVHJpbSB1bnVzZWQgc2cgZW50cmllcyB0byBh dm9pZCB3YXN0aW5nIG1lbW9yeS4gKi8KIAlpOTE1X3NnX3RyaW0oc3QpOwpAQCAtMjQ5NSw4ICsy NTA2LDEzIEBAIGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfZ3R0KHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCiB9CiAKIHZvaWQgX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCi0JCQkJIHN0cnVjdCBzZ190YWJsZSAqcGFn ZXMpCisJCQkJIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMsCisJCQkJIHVuc2lnbmVkIGludCBzZ19t YXNrKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShvYmotPmJh c2UuZGV2KTsKKwl1bnNpZ25lZCBsb25nIHN1cHBvcnRlZF9wYWdlX3NpemVzID0gSU5URUxfSU5G TyhpOTE1KS0+cGFnZV9zaXplX21hc2s7CisJdW5zaWduZWQgaW50IGJpdDsKKwogCWxvY2tkZXBf YXNzZXJ0X2hlbGQoJm9iai0+bW0ubG9jayk7CiAKIAlvYmotPm1tLmdldF9wYWdlLnNnX3BvcyA9 IHBhZ2VzLT5zZ2w7CkBAIC0yNTEwLDExICsyNTI2LDI0IEBAIHZvaWQgX19pOTE1X2dlbV9vYmpl Y3Rfc2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCV9faTkxNV9n ZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOwogCQlvYmotPm1tLnF1aXJrZWQgPSB0cnVlOwogCX0K KworCUdFTV9CVUdfT04oIXNnX21hc2spOworCisJb2JqLT5tbS5wYWdlX3NpemVzLnBoeXMgPSBz Z19tYXNrOworCisJb2JqLT5tbS5wYWdlX3NpemVzLnNnID0gMDsKKwlmb3JfZWFjaF9zZXRfYml0 KGJpdCwgJnN1cHBvcnRlZF9wYWdlX3NpemVzLCBCSVRTX1BFUl9MT05HKSB7CisJCWlmIChvYmot Pm1tLnBhZ2Vfc2l6ZXMucGh5cyAmIH4wdSA8PCBiaXQpCisJCQlvYmotPm1tLnBhZ2Vfc2l6ZXMu c2cgfD0gQklUKGJpdCk7CisJfQorCisJR0VNX0JVR19PTighSEFTX1BBR0VfU0laRShpOTE1LCBv YmotPm1tLnBhZ2Vfc2l6ZXMuc2cpKTsKIH0KIAogc3RhdGljIGludCBfX19faTkxNV9nZW1fb2Jq ZWN0X2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewogCXN0cnVj dCBzZ190YWJsZSAqcGFnZXM7CisJdW5zaWduZWQgaW50IHNnX21hc2sgPSAwOwogCiAJR0VNX0JV R19PTihpOTE1X2dlbV9vYmplY3RfaGFzX3Bpbm5lZF9wYWdlcyhvYmopKTsKIApAQCAtMjUyMywx MSArMjU1MiwxMSBAQCBzdGF0aWMgaW50IF9fX19pOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCXJldHVybiAtRUZBVUxUOwogCX0KIAot CXBhZ2VzID0gb2JqLT5vcHMtPmdldF9wYWdlcyhvYmopOworCXBhZ2VzID0gb2JqLT5vcHMtPmdl dF9wYWdlcyhvYmosICZzZ19tYXNrKTsKIAlpZiAodW5saWtlbHkoSVNfRVJSKHBhZ2VzKSkpCiAJ CXJldHVybiBQVFJfRVJSKHBhZ2VzKTsKIAotCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhv YmosIHBhZ2VzKTsKKwlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBwYWdlcywgc2df bWFzayk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2RtYWJ1Zi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVm LmMKaW5kZXggNjE3NmU1ODljZjA5Li4yYjNiMTZkODhkNGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2RtYWJ1Zi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2RtYWJ1Zi5jCkBAIC0yNTcsMTAgKzI1NywyMSBAQCBzdHJ1Y3QgZG1hX2J1ZiAq aTkxNV9nZW1fcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiB9CiAKIHN0YXRp YyBzdHJ1Y3Qgc2dfdGFibGUgKgotaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19kbWFidWYoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKK2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNf ZG1hYnVmKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCisJCQkJIHVuc2lnbmVkIGlu dCAqc2dfbWFzaykKIHsKLQlyZXR1cm4gZG1hX2J1Zl9tYXBfYXR0YWNobWVudChvYmotPmJhc2Uu aW1wb3J0X2F0dGFjaCwKLQkJCQkgICAgICBETUFfQklESVJFQ1RJT05BTCk7CisJc3RydWN0IHNn X3RhYmxlICpwYWdlczsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCWludCBuOworCisJcGFn ZXMgPSBkbWFfYnVmX21hcF9hdHRhY2htZW50KG9iai0+YmFzZS5pbXBvcnRfYXR0YWNoLAorCQkJ CSAgICAgICBETUFfQklESVJFQ1RJT05BTCk7CisJaWYgKCFJU19FUlIocGFnZXMpKSB7CisJCWZv cl9lYWNoX3NnKHBhZ2VzLT5zZ2wsIHNnLCBwYWdlcy0+bmVudHMsIG4pCisJCQkqc2dfbWFzayB8 PSBzZy0+bGVuZ3RoOworCX0KKworCXJldHVybiBwYWdlczsKIH0KIAogc3RhdGljIHZvaWQgaTkx NV9nZW1fb2JqZWN0X3B1dF9wYWdlc19kbWFidWYoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ludGVybmFs LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9pbnRlcm5hbC5jCmluZGV4IDU2OGJm ODNhZjFmNS4uYTUwNWNiODJlYjgyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9pbnRlcm5hbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2lu dGVybmFsLmMKQEAgLTQ1LDcgKzQ1LDggQEAgc3RhdGljIHZvaWQgaW50ZXJuYWxfZnJlZV9wYWdl cyhzdHJ1Y3Qgc2dfdGFibGUgKnN0KQogfQogCiBzdGF0aWMgc3RydWN0IHNnX3RhYmxlICoKLWk5 MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfaW50ZXJuYWwoc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaikKK2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfaW50ZXJuYWwoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJCQkgICB1bnNpZ25lZCBpbnQgKnNnX21hc2spCiB7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KG9iai0+YmFzZS5kZXYpOwog CXN0cnVjdCBzZ190YWJsZSAqc3Q7CkBAIC03Niw2ICs3Nyw3IEBAIGk5MTVfZ2VtX29iamVjdF9n ZXRfcGFnZXNfaW50ZXJuYWwoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAl9CiAK IGNyZWF0ZV9zdDoKKwkqc2dfbWFzayA9IDA7CiAJc3QgPSBrbWFsbG9jKHNpemVvZigqc3QpLCBH RlBfS0VSTkVMKTsKIAlpZiAoIXN0KQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKQEAgLTEw NSw2ICsxMDcsNyBAQCBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2ludGVybmFsKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCX0gd2hpbGUgKDEpOwogCiAJCXNnX3NldF9wYWdl KHNnLCBwYWdlLCBQQUdFX1NJWkUgPDwgb3JkZXIsIDApOworCQkqc2dfbWFzayB8PSBQQUdFX1NJ WkUgPDwgb3JkZXI7CiAJCXN0LT5uZW50cysrOwogCiAJCW5wYWdlcyAtPSAxIDw8IG9yZGVyOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fb2JqZWN0LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9vYmplY3QuaAppbmRleCA1YjE5YTQ5MTZhNGQuLjdm YzhiODQwMjg5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fb2Jq ZWN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fb2JqZWN0LmgKQEAgLTUz LDcgKzUzLDggQEAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzIHsKIAkgKiBiZWluZyBy ZWxlYXNlZCBvciB1bmRlciBtZW1vcnkgcHJlc3N1cmUgKHdoZXJlIHdlIGF0dGVtcHQgdG8KIAkg KiByZWFwIHBhZ2VzIGZvciB0aGUgc2hyaW5rZXIpLgogCSAqLwotCXN0cnVjdCBzZ190YWJsZSAq KCpnZXRfcGFnZXMpKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICopOworCXN0cnVjdCBzZ190 YWJsZSAqKCpnZXRfcGFnZXMpKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICosCisJCQkJICAg ICAgdW5zaWduZWQgaW50ICpzZ19tYXNrKTsKIAl2b2lkICgqcHV0X3BhZ2VzKShzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqLCBzdHJ1Y3Qgc2dfdGFibGUgKik7CiAKIAlpbnQgKCpwd3JpdGUp KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICosCkBAIC0xNDMsNiArMTQ0LDIzIEBAIHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0IHsKIAkJc3RydWN0IHNnX3RhYmxlICpwYWdlczsKIAkJdm9p ZCAqbWFwcGluZzsKIAorCQlzdHJ1Y3QgaTkxNV9wYWdlX3NpemVzIHsKKwkJCS8qKgorCQkJICog VGhlIHNnIG1hc2sgb2YgdGhlIHBhZ2VzIHNnX3RhYmxlLiBpLmUgdGhlIG1hc2sgb2YKKwkJCSAq IG9mIHRoZSBsZW5ndGhzIGZvciBlYWNoIHNnIGVudHJ5LgorCQkJICovCisJCQl1bnNpZ25lZCBp bnQgcGh5czsKKworCQkJLyoqCisJCQkgKiBUaGUgZ3R0IHBhZ2Ugc2l6ZXMgd2UgYXJlIGFsbG93 ZWQgdG8gdXNlIGdpdmVuIHRoZQorCQkJICogc2cgbWFzayBhbmQgdGhlIHN1cHBvcnRlZCBwYWdl IHNpemVzLiBUaGlzIHdpbGwKKwkJCSAqIGV4cHJlc3MgdGhlIHNtYWxsZXN0IHVuaXQgd2UgY2Fu IHVzZSBmb3IgdGhlIHdob2xlCisJCQkgKiBvYmplY3QsIGFzIHdlbGwgYXMgdGhlIGxhcmdlciBz aXplcyB3ZSBtYXkgYmUgYWJsZQorCQkJICogdG8gdXNlIG9wcG9ydHVuaXN0aWNhbGx5LgorCQkJ ICovCisJCQl1bnNpZ25lZCBpbnQgc2c7CisJCX0gcGFnZV9zaXplczsKKwogCQlzdHJ1Y3QgaTkx NV9nZW1fb2JqZWN0X3BhZ2VfaXRlciB7CiAJCQlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnX3BvczsK IAkJCXVuc2lnbmVkIGludCBzZ19pZHg7IC8qIGluIHBhZ2VzLCBidXQgMzJiaXQgZWVrISAqLwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYwppbmRleCBjMTFjOTE1MzgyZTcuLjVm ZTI3NGFlYTY4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3Rv bGVuLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKQEAgLTU0 MCwxMSArNTQwLDE2IEBAIGk5MTVfcGFnZXNfY3JlYXRlX2Zvcl9zdG9sZW4oc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIH0KIAogc3RhdGljIHN0cnVjdCBzZ190YWJsZSAqCi1pOTE1X2dlbV9vYmpl Y3RfZ2V0X3BhZ2VzX3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQoraTkx NV9nZW1fb2JqZWN0X2dldF9wYWdlc19zdG9sZW4oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKKwkJCQkgdW5zaWduZWQgaW50ICpzZ19tYXNrKQogewotCXJldHVybiBpOTE1X3BhZ2Vz X2NyZWF0ZV9mb3Jfc3RvbGVuKG9iai0+YmFzZS5kZXYsCi0JCQkJCSAgICBvYmotPnN0b2xlbi0+ c3RhcnQsCi0JCQkJCSAgICBvYmotPnN0b2xlbi0+c2l6ZSk7CisJc3RydWN0IHNnX3RhYmxlICpw YWdlcyA9CisJCWk5MTVfcGFnZXNfY3JlYXRlX2Zvcl9zdG9sZW4ob2JqLT5iYXNlLmRldiwKKwkJ CQkJICAgICBvYmotPnN0b2xlbi0+c3RhcnQsCisJCQkJCSAgICAgb2JqLT5zdG9sZW4tPnNpemUp OworCSpzZ19tYXNrID0gb2JqLT5zdG9sZW4tPnNpemU7CisKKwlyZXR1cm4gcGFnZXM7CiB9CiAK IHN0YXRpYyB2b2lkIGk5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXNfc3RvbGVuKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV91c2VycHRyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRy LmMKaW5kZXggY2NkMDllODQxOWY1Li5iNGMxNWE4NDdhNjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV91c2VycHRyLmMKQEAgLTQwNiw3ICs0MDYsOCBAQCBzdHJ1Y3QgZ2V0X3BhZ2Vz X3dvcmsgewogI2VuZGlmCiAKIHN0YXRpYyBpbnQKLXN0X3NldF9wYWdlcyhzdHJ1Y3Qgc2dfdGFi bGUgKipzdCwgc3RydWN0IHBhZ2UgKipwdmVjLCBpbnQgbnVtX3BhZ2VzKQorc3Rfc2V0X3BhZ2Vz KHN0cnVjdCBzZ190YWJsZSAqKnN0LCBzdHJ1Y3QgcGFnZSAqKnB2ZWMsIGludCBudW1fcGFnZXMs CisJICAgICB1bnNpZ25lZCBpbnQgKnNnX21hc2spCiB7CiAJc3RydWN0IHNjYXR0ZXJsaXN0ICpz ZzsKIAlpbnQgcmV0LCBuOwpAQCAtNDIyLDEyICs0MjMsMTcgQEAgc3Rfc2V0X3BhZ2VzKHN0cnVj dCBzZ190YWJsZSAqKnN0LCBzdHJ1Y3QgcGFnZSAqKnB2ZWMsIGludCBudW1fcGFnZXMpCiAKIAkJ Zm9yX2VhY2hfc2coKCpzdCktPnNnbCwgc2csIG51bV9wYWdlcywgbikKIAkJCXNnX3NldF9wYWdl KHNnLCBwdmVjW25dLCBQQUdFX1NJWkUsIDApOworCisJCSpzZ19tYXNrID0gUEFHRV9TSVpFOwog CX0gZWxzZSB7CiAJCXJldCA9IHNnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMoKnN0LCBwdmVjLCBu dW1fcGFnZXMsCiAJCQkJCQkwLCBudW1fcGFnZXMgPDwgUEFHRV9TSElGVCwKIAkJCQkJCUdGUF9L RVJORUwpOwogCQlpZiAocmV0KQogCQkJZ290byBlcnI7CisKKwkJZm9yX2VhY2hfc2coKCpzdCkt PnNnbCwgc2csIG51bV9wYWdlcywgbikKKwkJCSpzZ19tYXNrIHw9IHNnLT5sZW5ndGg7CiAJfQog CiAJcmV0dXJuIDA7CkBAIC00NDAsMTIgKzQ0NiwxMyBAQCBzdF9zZXRfcGFnZXMoc3RydWN0IHNn X3RhYmxlICoqc3QsIHN0cnVjdCBwYWdlICoqcHZlYywgaW50IG51bV9wYWdlcykKIAogc3RhdGlj IHN0cnVjdCBzZ190YWJsZSAqCiBfX2k5MTVfZ2VtX3VzZXJwdHJfc2V0X3BhZ2VzKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCi0JCQkgICAgIHN0cnVjdCBwYWdlICoqcHZlYywgaW50 IG51bV9wYWdlcykKKwkJCSAgICAgc3RydWN0IHBhZ2UgKipwdmVjLCBpbnQgbnVtX3BhZ2VzLAor CQkJICAgICB1bnNpZ25lZCBpbnQgKnNnX21hc2spCiB7CiAJc3RydWN0IHNnX3RhYmxlICpwYWdl czsKIAlpbnQgcmV0OwogCi0JcmV0ID0gc3Rfc2V0X3BhZ2VzKCZwYWdlcywgcHZlYywgbnVtX3Bh Z2VzKTsKKwlyZXQgPSBzdF9zZXRfcGFnZXMoJnBhZ2VzLCBwdmVjLCBudW1fcGFnZXMsIHNnX21h c2spOwogCWlmIChyZXQpCiAJCXJldHVybiBFUlJfUFRSKHJldCk7CiAKQEAgLTU0MCw5ICs1NDcs MTIgQEAgX19pOTE1X2dlbV91c2VycHRyX2dldF9wYWdlc193b3JrZXIoc3RydWN0IHdvcmtfc3Ry dWN0ICpfd29yaykKIAkJc3RydWN0IHNnX3RhYmxlICpwYWdlcyA9IEVSUl9QVFIocmV0KTsKIAog CQlpZiAocGlubmVkID09IG5wYWdlcykgewotCQkJcGFnZXMgPSBfX2k5MTVfZ2VtX3VzZXJwdHJf c2V0X3BhZ2VzKG9iaiwgcHZlYywgbnBhZ2VzKTsKKwkJCXVuc2lnbmVkIGludCBzZ19tYXNrID0g MDsKKworCQkJcGFnZXMgPSBfX2k5MTVfZ2VtX3VzZXJwdHJfc2V0X3BhZ2VzKG9iaiwgcHZlYywg bnBhZ2VzLAorCQkJCQkJCSAgICAgJnNnX21hc2spOwogCQkJaWYgKCFJU19FUlIocGFnZXMpKSB7 Ci0JCQkJX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgcGFnZXMpOworCQkJCV9faTkx NV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHBhZ2VzLCBzZ19tYXNrKTsKIAkJCQlwaW5uZWQg PSAwOwogCQkJCXBhZ2VzID0gTlVMTDsKIAkJCX0KQEAgLTYwNCw3ICs2MTQsOCBAQCBfX2k5MTVf Z2VtX3VzZXJwdHJfZ2V0X3BhZ2VzX3NjaGVkdWxlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmopCiB9CiAKIHN0YXRpYyBzdHJ1Y3Qgc2dfdGFibGUgKgotaTkxNV9nZW1fdXNlcnB0cl9n ZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKK2k5MTVfZ2VtX3VzZXJw dHJfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCisJCQkgICB1bnNp Z25lZCBpbnQgKnNnX21hc2spCiB7CiAJY29uc3QgaW50IG51bV9wYWdlcyA9IG9iai0+YmFzZS5z aXplID4+IFBBR0VfU0hJRlQ7CiAJc3RydWN0IG1tX3N0cnVjdCAqbW0gPSBvYmotPnVzZXJwdHIu bW0tPm1tOwpAQCAtNjYxLDcgKzY3Miw4IEBAIGk5MTVfZ2VtX3VzZXJwdHJfZ2V0X3BhZ2VzKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCXBhZ2VzID0gX19pOTE1X2dlbV91c2Vy cHRyX2dldF9wYWdlc19zY2hlZHVsZShvYmopOwogCQlhY3RpdmUgPSBwYWdlcyA9PSBFUlJfUFRS KC1FQUdBSU4pOwogCX0gZWxzZSB7Ci0JCXBhZ2VzID0gX19pOTE1X2dlbV91c2VycHRyX3NldF9w YWdlcyhvYmosIHB2ZWMsIG51bV9wYWdlcyk7CisJCXBhZ2VzID0gX19pOTE1X2dlbV91c2VycHRy X3NldF9wYWdlcyhvYmosIHB2ZWMsIG51bV9wYWdlcywKKwkJCQkJCSAgICAgc2dfbWFzayk7CiAJ CWFjdGl2ZSA9ICFJU19FUlIocGFnZXMpOwogCX0KIAlpZiAoYWN0aXZlKQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2h1Z2VfZ2VtX29iamVjdC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2h1Z2VfZ2VtX29iamVjdC5jCmluZGV4IGNhZjc2YWYz NmFiYS4uM2YxYWZlNGI2NWYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxm dGVzdHMvaHVnZV9nZW1fb2JqZWN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2h1Z2VfZ2VtX29iamVjdC5jCkBAIC0zOCw3ICszOCw3IEBAIHN0YXRpYyB2b2lkIGh1Z2Vf ZnJlZV9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogfQogCiBzdGF0aWMg c3RydWN0IHNnX3RhYmxlICoKLWh1Z2VfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmopCitodWdlX2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LCB1bnNpZ25lZCBpbnQgKnNnX21hc2spCiB7CiAjZGVmaW5lIEdGUCAoR0ZQX0tFUk5FTCB8IF9f R0ZQX05PV0FSTiB8IF9fR0ZQX05PUkVUUlkpCiAJY29uc3QgdW5zaWduZWQgbG9uZyBucmVhbCA9 IG9iai0+c2NyYXRjaCAvIFBBR0VfU0laRTsKQEAgLTgxLDYgKzgxLDggQEAgaHVnZV9nZXRfcGFn ZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlpZiAoaTkxNV9nZW1fZ3R0X3By ZXBhcmVfcGFnZXMob2JqLCBwYWdlcykpCiAJCWdvdG8gZXJyOwogCisJKnNnX21hc2sgPSBQQUdF X1NJWkU7CisKIAlyZXR1cm4gcGFnZXM7CiAKIGVycjoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYwppbmRleCA2YjEzMmNhZmZhMTguLjBlMWRlZDQyMzlm OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0 dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYwpA QCAtNDAsNyArNDAsNyBAQCBzdGF0aWMgdm9pZCBmYWtlX2ZyZWVfcGFnZXMoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaiwKIH0KIAogc3RhdGljIHN0cnVjdCBzZ190YWJsZSAqCi1mYWtl X2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQorZmFrZV9nZXRfcGFn ZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgdW5zaWduZWQgaW50ICpzZ19tYXNr KQogewogI2RlZmluZSBHRlAgKEdGUF9LRVJORUwgfCBfX0dGUF9OT1dBUk4gfCBfX0dGUF9OT1JF VFJZKQogI2RlZmluZSBQRk5fQklBUyAweDEwMDAKQEAgLTY2LDYgKzY2LDcgQEAgZmFrZV9nZXRf cGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAkJc2dfc2V0X3BhZ2Uoc2cs IHBmbl90b19wYWdlKFBGTl9CSUFTKSwgbGVuLCAwKTsKIAkJc2dfZG1hX2FkZHJlc3Moc2cpID0g cGFnZV90b19waHlzKHNnX3BhZ2Uoc2cpKTsKIAkJc2dfZG1hX2xlbihzZykgPSBsZW47CisJCSpz Z19tYXNrIHw9IGxlbjsKIAogCQlyZW0gLT0gbGVuOwogCX0KLS0gCjIuMTMuMwoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==