From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 06/23] drm/i915: introduce page_size members Date: Mon, 21 Aug 2017 19:34:46 +0100 Message-ID: <20170821183503.12246-7-matthew.auld@intel.com> References: <20170821183503.12246-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id C25FC6E2BC for ; Mon, 21 Aug 2017 18:35:19 +0000 (UTC) In-Reply-To: <20170821183503.12246-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 cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgICAgICAgfCAgNSArKyst CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgICAgICAgICAgfCAzNSAr KysrKysrKysrKysrKysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2Rt YWJ1Zi5jICAgICAgICAgICB8ICA4ICsrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1faW50ZXJuYWwuYyAgICAgICAgIHwgIDUgKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fb2JqZWN0LmggICAgICAgICAgIHwgMTcgKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYyAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jICAgICAgICAgIHwgMTMgKysrKysrKy0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9nZW1fb2JqZWN0LmMgfCAgMiArLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jICAgIHwgIDQgKystCiA5 IGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCmluZGV4IDIyNGY4YThhZTMxNy4uMjAyYWRjOTkyZTA4IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTMwMTksNiArMzAxOSw4IEBAIGludGVsX2luZm8oY29uc3Qg c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogI2RlZmluZSBVU0VTX1BQR1RUKGRl dl9wcml2KQkJKGk5MTUuZW5hYmxlX3BwZ3R0KQogI2RlZmluZSBVU0VTX0ZVTExfUFBHVFQoZGV2 X3ByaXYpCShpOTE1LmVuYWJsZV9wcGd0dCA+PSAyKQogI2RlZmluZSBVU0VTX0ZVTExfNDhCSVRf UFBHVFQoZGV2X3ByaXYpCShpOTE1LmVuYWJsZV9wcGd0dCA9PSAzKQorI2RlZmluZSBIQVNfUEFH RV9TSVpFKGRldl9wcml2LCBwYWdlX3NpemUpIFwKKwkoKGRldl9wcml2KS0+aW5mby5wYWdlX3Np emVfbWFzayAmIChwYWdlX3NpemUpKQogCiAjZGVmaW5lIEhBU19PVkVSTEFZKGRldl9wcml2KQkJ ICgoZGV2X3ByaXYpLT5pbmZvLmhhc19vdmVybGF5KQogI2RlZmluZSBPVkVSTEFZX05FRURTX1BI WVNJQ0FMKGRldl9wcml2KSBcCkBAIC0zNDI4LDcgKzM0MzAsOCBAQCBpOTE1X2dlbV9vYmplY3Rf Z2V0X2RtYV9hZGRyZXNzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkJdW5z aWduZWQgbG9uZyBuKTsKIAogdm9pZCBfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKLQkJCQkgc3RydWN0IHNnX3RhYmxlICpwYWdlcyk7 CisJCQkJIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMsCisJCQkJIHVuc2lnbmVkIGludCBzZ19tYXNr KTsKIGludCBfX2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaik7CiAKIHN0YXRpYyBpbmxpbmUgaW50IF9fbXVzdF9jaGVjawpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKaW5kZXggMWM2MWQxYjVlYWE1Li5hZjNiOWNmY2MxZmUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYwpAQCAtMjI4LDcgKzIyOCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2Jq ZWN0X2dldF9wYWdlc19waHlzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAKIAlv YmotPnBoeXNfaGFuZGxlID0gcGh5czsKIAotCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhv YmosIHN0KTsKKwlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBzdCwgc2ctPmxlbmd0 aCk7CiAKIAlyZXR1cm4gMDsKIApAQCAtMjI2NCw2ICsyMjY0LDggQEAgdm9pZCBfX2k5MTVfZ2Vt X29iamVjdF9wdXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlpZiAo IUlTX0VSUihwYWdlcykpCiAJCW9iai0+b3BzLT5wdXRfcGFnZXMob2JqLCBwYWdlcyk7CiAKKwlv YmotPm1tLnBhZ2Vfc2l6ZXMucGh5cyA9IG9iai0+bW0ucGFnZV9zaXplcy5zZyA9IDA7CisKIHVu bG9jazoKIAltdXRleF91bmxvY2soJm9iai0+bW0ubG9jayk7CiB9CkBAIC0yMzA2LDYgKzIzMDgs NyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfZ3R0KHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJc3RydWN0IHBhZ2UgKnBhZ2U7CiAJdW5zaWduZWQgbG9u ZyBsYXN0X3BmbiA9IDA7CS8qIHN1cHByZXNzIGdjYyB3YXJuaW5nICovCiAJdW5zaWduZWQgaW50 IG1heF9zZWdtZW50OworCXVuc2lnbmVkIGludCBzZ19tYXNrOwogCWdmcF90IG5vcmVjbGFpbTsK IAlpbnQgcmV0OwogCkBAIC0yMzQxLDYgKzIzNDQsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29i amVjdF9nZXRfcGFnZXNfZ3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAKIAlz ZyA9IHN0LT5zZ2w7CiAJc3QtPm5lbnRzID0gMDsKKwlzZ19tYXNrID0gMDsKIAlmb3IgKGkgPSAw OyBpIDwgcGFnZV9jb3VudDsgaSsrKSB7CiAJCWNvbnN0IHVuc2lnbmVkIGludCBzaHJpbmtbXSA9 IHsKIAkJCUk5MTVfU0hSSU5LX0JPVU5EIHwgSTkxNV9TSFJJTktfVU5CT1VORCB8IEk5MTVfU0hS SU5LX1BVUkdFQUJMRSwKQEAgLTIzOTMsOCArMjM5NywxMCBAQCBzdGF0aWMgaW50IGk5MTVfZ2Vt X29iamVjdF9nZXRfcGFnZXNfZ3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJ CWlmICghaSB8fAogCQkgICAgc2ctPmxlbmd0aCA+PSBtYXhfc2VnbWVudCB8fAogCQkgICAgcGFn ZV90b19wZm4ocGFnZSkgIT0gbGFzdF9wZm4gKyAxKSB7Ci0JCQlpZiAoaSkKKwkJCWlmIChpKSB7 CisJCQkJc2dfbWFzayB8PSBzZy0+bGVuZ3RoOwogCQkJCXNnID0gc2dfbmV4dChzZyk7CisJCQl9 CiAJCQlzdC0+bmVudHMrKzsKIAkJCXNnX3NldF9wYWdlKHNnLCBwYWdlLCBQQUdFX1NJWkUsIDAp OwogCQl9IGVsc2UgewpAQCAtMjQwNSw4ICsyNDExLDEwIEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1f b2JqZWN0X2dldF9wYWdlc19ndHQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAkJ LyogQ2hlY2sgdGhhdCB0aGUgaTk2NWcvZ20gd29ya2Fyb3VuZCB3b3Jrcy4gKi8KIAkJV0FSTl9P TigoZ2ZwICYgX19HRlBfRE1BMzIpICYmIChsYXN0X3BmbiA+PSAweDAwMTAwMDAwVUwpKTsKIAl9 Ci0JaWYgKHNnKSAvKiBsb29wIHRlcm1pbmF0ZWQgZWFybHk7IHNob3J0IHNnIHRhYmxlICovCisJ aWYgKHNnKSB7IC8qIGxvb3AgdGVybWluYXRlZCBlYXJseTsgc2hvcnQgc2cgdGFibGUgKi8KKwkJ c2dfbWFzayB8PSBzZy0+bGVuZ3RoOwogCQlzZ19tYXJrX2VuZChzZyk7CisJfQogCiAJLyogVHJp bSB1bnVzZWQgc2cgZW50cmllcyB0byBhdm9pZCB3YXN0aW5nIG1lbW9yeS4gKi8KIAlpOTE1X3Nn X3RyaW0oc3QpOwpAQCAtMjQzNSw3ICsyNDQzLDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmpl Y3RfZ2V0X3BhZ2VzX2d0dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCWlmIChp OTE1X2dlbV9vYmplY3RfbmVlZHNfYml0MTdfc3dpenpsZShvYmopKQogCQlpOTE1X2dlbV9vYmpl Y3RfZG9fYml0XzE3X3N3aXp6bGUob2JqLCBzdCk7CiAKLQlfX2k5MTVfZ2VtX29iamVjdF9zZXRf cGFnZXMob2JqLCBzdCk7CisJX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgc3QsIHNn X21hc2spOwogCiAJcmV0dXJuIDA7CiAKQEAgLTI0NjIsOCArMjQ3MCwxMyBAQCBzdGF0aWMgaW50 IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfZ3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmopCiB9CiAKIHZvaWQgX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCi0JCQkJIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMpCisJCQkJ IHN0cnVjdCBzZ190YWJsZSAqcGFnZXMsCisJCQkJIHVuc2lnbmVkIGludCBzZ19tYXNrKQogewor CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShvYmotPmJhc2UuZGV2KTsK Kwl1bnNpZ25lZCBsb25nIHN1cHBvcnRlZF9wYWdlX3NpemVzID0gSU5URUxfSU5GTyhpOTE1KS0+ cGFnZV9zaXplX21hc2s7CisJaW50IGJpdDsKKwogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJm9iai0+ bW0ubG9jayk7CiAKIAlvYmotPm1tLmdldF9wYWdlLnNnX3BvcyA9IHBhZ2VzLT5zZ2w7CkBAIC0y NDc3LDYgKzI0OTAsMTggQEAgdm9pZCBfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJX19pOTE1X2dlbV9vYmplY3RfcGluX3BhZ2Vz KG9iaik7CiAJCW9iai0+bW0ucXVpcmtlZCA9IHRydWU7CiAJfQorCisJR0VNX0JVR19PTighc2df bWFzayk7CisKKwlvYmotPm1tLnBhZ2Vfc2l6ZXMucGh5cyA9IHNnX21hc2s7CisKKwlvYmotPm1t LnBhZ2Vfc2l6ZXMuc2cgPSAwOworCWZvcl9lYWNoX3NldF9iaXQoYml0LCAmc3VwcG9ydGVkX3Bh Z2Vfc2l6ZXMsIEJJVFNfUEVSX0xPTkcpIHsKKwkJaWYgKG9iai0+bW0ucGFnZV9zaXplcy5waHlz ICYgfjB1IDw8IGJpdCkKKwkJCW9iai0+bW0ucGFnZV9zaXplcy5zZyB8PSBCSVQoYml0KTsKKwl9 CisKKwlHRU1fQlVHX09OKCFIQVNfUEFHRV9TSVpFKGk5MTUsIG9iai0+bW0ucGFnZV9zaXplcy5z ZykpOwogfQogCiBzdGF0aWMgaW50IF9fX19pOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9kbWFidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2Rt YWJ1Zi5jCmluZGV4IDRjNGRjODUxNTlmYi4uNDA5NzQ3NDQ2ODU0IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9kbWFidWYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9kbWFidWYuYwpAQCAtMjU5LDEzICsyNTksMTkgQEAgc3RydWN0IGRtYV9i dWYgKmk5MTVfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogc3RhdGlj IGludCBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2RtYWJ1ZihzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqKQogewogCXN0cnVjdCBzZ190YWJsZSAqcGFnZXM7CisJc3RydWN0IHNjYXR0 ZXJsaXN0ICpzZzsKKwl1bnNpZ25lZCBpbnQgc2dfbWFzayA9IDA7CisJaW50IG47CiAKIAlwYWdl cyA9IGRtYV9idWZfbWFwX2F0dGFjaG1lbnQob2JqLT5iYXNlLmltcG9ydF9hdHRhY2gsCiAJCQkJ ICAgICAgIERNQV9CSURJUkVDVElPTkFMKTsKIAlpZiAoSVNfRVJSKHBhZ2VzKSkKIAkJcmV0dXJu IFBUUl9FUlIocGFnZXMpOwogCi0JX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgcGFn ZXMpOworCWZvcl9lYWNoX3NnKHBhZ2VzLT5zZ2wsIHNnLCBwYWdlcy0+bmVudHMsIG4pCisJCXNn X21hc2sgfD0gc2ctPmxlbmd0aDsKKworCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmos IHBhZ2VzLCBzZ19tYXNrKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1faW50ZXJuYWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2ludGVybmFsLmMKaW5kZXggZjU5NzY0ZGE0MjU0Li4zNGRkZmE3MGFiZjcgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ludGVybmFsLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1faW50ZXJuYWwuYwpAQCAtNDksNiArNDksNyBAQCBz dGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfaW50ZXJuYWwoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaikKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRv X2k5MTUob2JqLT5iYXNlLmRldik7CiAJc3RydWN0IHNnX3RhYmxlICpzdDsKIAlzdHJ1Y3Qgc2Nh dHRlcmxpc3QgKnNnOworCXVuc2lnbmVkIGludCBzZ19tYXNrOwogCXVuc2lnbmVkIGludCBucGFn ZXM7CiAJaW50IG1heF9vcmRlcjsKIAlnZnBfdCBnZnA7CkBAIC03NSw2ICs3Niw3IEBAIHN0YXRp YyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19pbnRlcm5hbChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqKQogCX0KIAogY3JlYXRlX3N0OgorCXNnX21hc2sgPSAwOwogCXN0ID0g a21hbGxvYyhzaXplb2YoKnN0KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFzdCkKIAkJcmV0dXJuIC1F Tk9NRU07CkBAIC0xMDQsNiArMTA2LDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfZ2V0 X3BhZ2VzX2ludGVybmFsKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCX0gd2hp bGUgKDEpOwogCiAJCXNnX3NldF9wYWdlKHNnLCBwYWdlLCBQQUdFX1NJWkUgPDwgb3JkZXIsIDAp OworCQlzZ19tYXNrIHw9IFBBR0VfU0laRSA8PCBvcmRlcjsKIAkJc3QtPm5lbnRzKys7CiAKIAkJ bnBhZ2VzIC09IDEgPDwgb3JkZXI7CkBAIC0xMzIsNyArMTM1LDcgQEAgc3RhdGljIGludCBpOTE1 X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2ludGVybmFsKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmopCiAJICovCiAJb2JqLT5tbS5tYWR2ID0gSTkxNV9NQURWX0RPTlRORUVEOwogCi0JX19p OTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgc3QpOworCV9faTkxNV9nZW1fb2JqZWN0X3Nl dF9wYWdlcyhvYmosIHN0LCBzZ19tYXNrKTsKIAogCXJldHVybiAwOwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9vYmplY3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX29iamVjdC5oCmluZGV4IDAzNmU4NDdiMjdmMC4uMTEwNjcyOTUyYTFjIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9vYmplY3QuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9vYmplY3QuaApAQCAtMTY5LDYgKzE2OSwyMyBA QCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCB7CiAJCXN0cnVjdCBzZ190YWJsZSAqcGFnZXM7 CiAJCXZvaWQgKm1hcHBpbmc7CiAKKwkJc3RydWN0IGk5MTVfcGFnZV9zaXplcyB7CisJCQkvKioK KwkJCSAqIFRoZSBzZyBtYXNrIG9mIHRoZSBwYWdlcyBzZ190YWJsZS4gaS5lIHRoZSBtYXNrIG9m CisJCQkgKiBvZiB0aGUgbGVuZ3RocyBmb3IgZWFjaCBzZyBlbnRyeS4KKwkJCSAqLworCQkJdW5z aWduZWQgaW50IHBoeXM7CisKKwkJCS8qKgorCQkJICogVGhlIGd0dCBwYWdlIHNpemVzIHdlIGFy ZSBhbGxvd2VkIHRvIHVzZSBnaXZlbiB0aGUKKwkJCSAqIHNnIG1hc2sgYW5kIHRoZSBzdXBwb3J0 ZWQgcGFnZSBzaXplcy4gVGhpcyB3aWxsCisJCQkgKiBleHByZXNzIHRoZSBzbWFsbGVzdCB1bml0 IHdlIGNhbiB1c2UgZm9yIHRoZSB3aG9sZQorCQkJICogb2JqZWN0LCBhcyB3ZWxsIGFzIHRoZSBs YXJnZXIgc2l6ZXMgd2UgbWF5IGJlIGFibGUKKwkJCSAqIHRvIHVzZSBvcHBvcnR1bmlzdGljYWxs eS4KKwkJCSAqLworCQkJdW5zaWduZWQgaW50IHNnOworCQl9IHBhZ2Vfc2l6ZXM7CisKIAkJc3Ry dWN0IGk5MTVfZ2VtX29iamVjdF9wYWdlX2l0ZXIgewogCQkJc3RydWN0IHNjYXR0ZXJsaXN0ICpz Z19wb3M7CiAJCQl1bnNpZ25lZCBpbnQgc2dfaWR4OyAvKiBpbiBwYWdlcywgYnV0IDMyYml0IGVl ayEgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKaW5kZXggNTM3ZWNiMjI0 ZGIwLi41NGZkNGNmYTlkMDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3N0b2xlbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5j CkBAIC01NDgsNyArNTQ4LDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2Vz X3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCWlmIChJU19FUlIocGFn ZXMpKQogCQlyZXR1cm4gUFRSX0VSUihwYWdlcyk7CiAKLQlfX2k5MTVfZ2VtX29iamVjdF9zZXRf cGFnZXMob2JqLCBwYWdlcyk7CisJX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgcGFn ZXMsIG9iai0+c3RvbGVuLT5zaXplKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fdXNlcnB0ci5jCmluZGV4IDI1ZGEzYzYwZTk2MS4uMTE1ZGZmZjFkNDg0IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jCkBAIC00MDYsNyArNDA2LDgg QEAgc3RydWN0IGdldF9wYWdlc193b3JrIHsKICNlbmRpZgogCiBzdGF0aWMgaW50Ci1zdF9zZXRf cGFnZXMoc3RydWN0IHNnX3RhYmxlICoqc3QsIHN0cnVjdCBwYWdlICoqcHZlYywgaW50IG51bV9w YWdlcykKK3N0X3NldF9wYWdlcyhzdHJ1Y3Qgc2dfdGFibGUgKipzdCwgc3RydWN0IHBhZ2UgKipw dmVjLCBpbnQgbnVtX3BhZ2VzLAorCSAgICAgdW5zaWduZWQgaW50ICpzZ19tYXNrKQogewogCXN0 cnVjdCBzY2F0dGVybGlzdCAqc2c7CiAJaW50IHJldCwgbjsKQEAgLTQyMiwxMiArNDIzLDE3IEBA IHN0X3NldF9wYWdlcyhzdHJ1Y3Qgc2dfdGFibGUgKipzdCwgc3RydWN0IHBhZ2UgKipwdmVjLCBp bnQgbnVtX3BhZ2VzKQogCiAJCWZvcl9lYWNoX3NnKCgqc3QpLT5zZ2wsIHNnLCBudW1fcGFnZXMs IG4pCiAJCQlzZ19zZXRfcGFnZShzZywgcHZlY1tuXSwgUEFHRV9TSVpFLCAwKTsKKworCQkqc2df bWFzayA9IFBBR0VfU0laRTsKIAl9IGVsc2UgewogCQlyZXQgPSBzZ19hbGxvY190YWJsZV9mcm9t X3BhZ2VzKCpzdCwgcHZlYywgbnVtX3BhZ2VzLAogCQkJCQkJMCwgbnVtX3BhZ2VzIDw8IFBBR0Vf U0hJRlQsCiAJCQkJCQlHRlBfS0VSTkVMKTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gZXJyOworCisJ CWZvcl9lYWNoX3NnKCgqc3QpLT5zZ2wsIHNnLCBudW1fcGFnZXMsIG4pCisJCQkqc2dfbWFzayB8 PSBzZy0+bGVuZ3RoOwogCX0KIAogCXJldHVybiAwOwpAQCAtNDQzLDkgKzQ0OSwxMCBAQCBfX2k5 MTVfZ2VtX3VzZXJwdHJfc2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmos CiAJCQkgICAgIHN0cnVjdCBwYWdlICoqcHZlYywgaW50IG51bV9wYWdlcykKIHsKIAlzdHJ1Y3Qg c2dfdGFibGUgKnBhZ2VzOworCXVuc2lnbmVkIGludCBzZ19tYXNrID0gMDsKIAlpbnQgcmV0Owog Ci0JcmV0ID0gc3Rfc2V0X3BhZ2VzKCZwYWdlcywgcHZlYywgbnVtX3BhZ2VzKTsKKwlyZXQgPSBz dF9zZXRfcGFnZXMoJnBhZ2VzLCBwdmVjLCBudW1fcGFnZXMsICZzZ19tYXNrKTsKIAlpZiAocmV0 KQogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwogCkBAIC00NTYsNyArNDYzLDcgQEAgX19pOTE1X2dl bV91c2VycHRyX3NldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQly ZXR1cm4gRVJSX1BUUihyZXQpOwogCX0KIAotCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhv YmosIHBhZ2VzKTsKKwlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBwYWdlcywgc2df bWFzayk7CiAKIAlyZXR1cm4gcGFnZXM7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9zZWxmdGVzdHMvaHVnZV9nZW1fb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaHVnZV9nZW1fb2JqZWN0LmMKaW5kZXggNDFjMTVmM2FhNDY3Li5hMjYzMmRmMzkx NzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX2dlbV9v YmplY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9nZW1fb2Jq ZWN0LmMKQEAgLTgwLDcgKzgwLDcgQEAgc3RhdGljIGludCBodWdlX2dldF9wYWdlcyhzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCWlmIChpOTE1X2dlbV9ndHRfcHJlcGFyZV9wYWdl cyhvYmosIHBhZ2VzKSkKIAkJZ290byBlcnI7CiAKLQlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFn ZXMob2JqLCBwYWdlcyk7CisJX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgcGFnZXMs IFBBR0VfU0laRSk7CiAKIAlyZXR1cm4gMDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL2k5MTVfZ2VtX2d0dC5jCmluZGV4IGFhMWRiMzc1ZDU5YS4uMmRkNjZmODY2YTVkIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jCkBAIC00 NSw2ICs0NSw3IEBAIHN0YXRpYyBpbnQgZmFrZV9nZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaikKICNkZWZpbmUgUEZOX0JJQVMgMHgxMDAwCiAJc3RydWN0IHNnX3RhYmxl ICpwYWdlczsKIAlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCXVuc2lnbmVkIGludCBzZ19tYXNr ID0gMDsKIAl0eXBlb2Yob2JqLT5iYXNlLnNpemUpIHJlbTsKIAogCXBhZ2VzID0ga21hbGxvYyhz aXplb2YoKnBhZ2VzKSwgR0ZQKTsKQEAgLTY1LDYgKzY2LDcgQEAgc3RhdGljIGludCBmYWtlX2dl dF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCQlzZ19zZXRfcGFnZShz ZywgcGZuX3RvX3BhZ2UoUEZOX0JJQVMpLCBsZW4sIDApOwogCQlzZ19kbWFfYWRkcmVzcyhzZykg PSBwYWdlX3RvX3BoeXMoc2dfcGFnZShzZykpOwogCQlzZ19kbWFfbGVuKHNnKSA9IGxlbjsKKwkJ c2dfbWFzayB8PSBsZW47CiAKIAkJcmVtIC09IGxlbjsKIAl9CkBAIC03Miw3ICs3NCw3IEBAIHN0 YXRpYyBpbnQgZmFrZV9nZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikK IAogCW9iai0+bW0ubWFkdiA9IEk5MTVfTUFEVl9ET05UTkVFRDsKIAotCV9faTkxNV9nZW1fb2Jq ZWN0X3NldF9wYWdlcyhvYmosIHBhZ2VzKTsKKwlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMo b2JqLCBwYWdlcywgc2dfbWFzayk7CiAKIAlyZXR1cm4gMDsKICN1bmRlZiBHRlAKLS0gCjIuMTMu NQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==