From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 06/21] drm/i915: introduce page_size members Date: Fri, 29 Sep 2017 17:10:17 +0100 Message-ID: <20170929161032.24394-7-matthew.auld@intel.com> References: <20170929161032.24394-1-matthew.auld@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 ESMTPS id CA9EC6EBFF for ; Fri, 29 Sep 2017 16:10:45 +0000 (UTC) In-Reply-To: <20170929161032.24394-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 byBzZXRfcGFnZXMgYWxvbmcgd2l0aCB0aGUgcGFnZXMuCgp2NDogYnVuY2ggb2YgaW1wcm92ZW1l bnRzIGZyb20gSm9vbmFzCgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVs ZEBpbnRlbC5jb20+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5p bnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6 IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KUmV2aWV3ZWQtYnk6IEpvb25hcyBMYWh0 aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IENocmlz IFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggICAgICAgICAgICAgICAgICB8ICA1ICsrLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgICAgICAgIHwgNDIgKysrKysrKysrKysrKysrKysr KysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9kbWFidWYuYyAgICAgICAgICAg fCAgOSArKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1faW50ZXJuYWwuYyAgICAg ICAgIHwgIDUgKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9vYmplY3QuaCAgICAg ICAgICAgfCAxNyArKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9s ZW4uYyAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNl cnB0ci5jICAgICAgICAgIHwgIDkgKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9odWdlX2dlbV9vYmplY3QuYyB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVz dHMvaTkxNV9nZW1fZ3R0LmMgICAgfCAgNSArKy0KIDkgZmlsZXMgY2hhbmdlZCwgODQgaW5zZXJ0 aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMzAx MTA1NmRhOWVlLi42NDIzYzU1ZjA5NWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMzA5 NSw2ICszMDk1LDggQEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiAjZGVmaW5lIFVTRVNfUFBHVFQoZGV2X3ByaXYpCQkoaTkxNV9tb2RwYXJhbXMu ZW5hYmxlX3BwZ3R0KQogI2RlZmluZSBVU0VTX0ZVTExfUFBHVFQoZGV2X3ByaXYpCShpOTE1X21v ZHBhcmFtcy5lbmFibGVfcHBndHQgPj0gMikKICNkZWZpbmUgVVNFU19GVUxMXzQ4QklUX1BQR1RU KGRldl9wcml2KQkoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX3BwZ3R0ID09IDMpCisjZGVmaW5lIEhB U19QQUdFX1NJWkVTKGRldl9wcml2LCBzaXplcykgXAorCSgoc2l6ZXMpICYmICgoKHNpemVzKSAm IH4oZGV2X3ByaXYpLT5pbmZvLnBhZ2Vfc2l6ZXMpKSA9PSAwKQogCiAjZGVmaW5lIEhBU19PVkVS TEFZKGRldl9wcml2KQkJICgoZGV2X3ByaXYpLT5pbmZvLmhhc19vdmVybGF5KQogI2RlZmluZSBP VkVSTEFZX05FRURTX1BIWVNJQ0FMKGRldl9wcml2KSBcCkBAIC0zNTExLDcgKzM1MTMsOCBAQCBp OTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmosCiAJCQkJdW5zaWduZWQgbG9uZyBuKTsKIAogdm9pZCBfX2k5MTVfZ2VtX29iamVjdF9z ZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKLQkJCQkgc3RydWN0IHNn X3RhYmxlICpwYWdlcyk7CisJCQkJIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMsCisJCQkJIHVuc2ln bmVkIGludCBzZ19tYXNrKTsKIGludCBfX2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CiAKIHN0YXRpYyBpbmxpbmUgaW50IF9fbXVzdF9j aGVjawpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggOGE0ODNhOTk1ZGIwLi4xZTRmMmIzYzMz YWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMjI4LDcgKzIyOCw3IEBAIHN0YXRpYyBp bnQgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19waHlzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmopCiAKIAlvYmotPnBoeXNfaGFuZGxlID0gcGh5czsKIAotCV9faTkxNV9nZW1fb2Jq ZWN0X3NldF9wYWdlcyhvYmosIHN0KTsKKwlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2Jq LCBzdCwgc2ctPmxlbmd0aCk7CiAKIAlyZXR1cm4gMDsKIApAQCAtMjI2Niw2ICsyMjY2LDggQEAg dm9pZCBfX2k5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaiwKIAlpZiAoIUlTX0VSUihwYWdlcykpCiAJCW9iai0+b3BzLT5wdXRfcGFnZXMob2Jq LCBwYWdlcyk7CiAKKwlvYmotPm1tLnBhZ2Vfc2l6ZXMucGh5cyA9IG9iai0+bW0ucGFnZV9zaXpl cy5zZyA9IDA7CisKIHVubG9jazoKIAltdXRleF91bmxvY2soJm9iai0+bW0ubG9jayk7CiB9CkBA IC0yMzA4LDYgKzIzMTAsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNf Z3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJc3RydWN0IHBhZ2UgKnBhZ2U7 CiAJdW5zaWduZWQgbG9uZyBsYXN0X3BmbiA9IDA7CS8qIHN1cHByZXNzIGdjYyB3YXJuaW5nICov CiAJdW5zaWduZWQgaW50IG1heF9zZWdtZW50ID0gaTkxNV9zZ19zZWdtZW50X3NpemUoKTsKKwl1 bnNpZ25lZCBpbnQgc2dfbWFzazsKIAlnZnBfdCBub3JlY2xhaW07CiAJaW50IHJldDsKIApAQCAt MjMzOSw2ICsyMzQyLDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2d0 dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCiAJc2cgPSBzdC0+c2dsOwogCXN0 LT5uZW50cyA9IDA7CisJc2dfbWFzayA9IDA7CiAJZm9yIChpID0gMDsgaSA8IHBhZ2VfY291bnQ7 IGkrKykgewogCQljb25zdCB1bnNpZ25lZCBpbnQgc2hyaW5rW10gPSB7CiAJCQlJOTE1X1NIUklO S19CT1VORCB8IEk5MTVfU0hSSU5LX1VOQk9VTkQgfCBJOTE1X1NIUklOS19QVVJHRUFCTEUsCkBA IC0yMzkxLDggKzIzOTUsMTAgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2Vz X2d0dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCQlpZiAoIWkgfHwKIAkJICAg IHNnLT5sZW5ndGggPj0gbWF4X3NlZ21lbnQgfHwKIAkJICAgIHBhZ2VfdG9fcGZuKHBhZ2UpICE9 IGxhc3RfcGZuICsgMSkgewotCQkJaWYgKGkpCisJCQlpZiAoaSkgeworCQkJCXNnX21hc2sgfD0g c2ctPmxlbmd0aDsKIAkJCQlzZyA9IHNnX25leHQoc2cpOworCQkJfQogCQkJc3QtPm5lbnRzKys7 CiAJCQlzZ19zZXRfcGFnZShzZywgcGFnZSwgUEFHRV9TSVpFLCAwKTsKIAkJfSBlbHNlIHsKQEAg LTI0MDMsOCArMjQwOSwxMCBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNf Z3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCS8qIENoZWNrIHRoYXQgdGhl IGk5NjVnL2dtIHdvcmthcm91bmQgd29ya3MuICovCiAJCVdBUk5fT04oKGdmcCAmIF9fR0ZQX0RN QTMyKSAmJiAobGFzdF9wZm4gPj0gMHgwMDEwMDAwMFVMKSk7CiAJfQotCWlmIChzZykgLyogbG9v cCB0ZXJtaW5hdGVkIGVhcmx5OyBzaG9ydCBzZyB0YWJsZSAqLworCWlmIChzZykgeyAvKiBsb29w IHRlcm1pbmF0ZWQgZWFybHk7IHNob3J0IHNnIHRhYmxlICovCisJCXNnX21hc2sgfD0gc2ctPmxl bmd0aDsKIAkJc2dfbWFya19lbmQoc2cpOworCX0KIAogCS8qIFRyaW0gdW51c2VkIHNnIGVudHJp ZXMgdG8gYXZvaWQgd2FzdGluZyBtZW1vcnkuICovCiAJaTkxNV9zZ190cmltKHN0KTsKQEAgLTI0 MzMsNyArMjQ0MSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19ndHQo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlpZiAoaTkxNV9nZW1fb2JqZWN0X25l ZWRzX2JpdDE3X3N3aXp6bGUob2JqKSkKIAkJaTkxNV9nZW1fb2JqZWN0X2RvX2JpdF8xN19zd2l6 emxlKG9iaiwgc3QpOwogCi0JX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgc3QpOwor CV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHN0LCBzZ19tYXNrKTsKIAogCXJldHVy biAwOwogCkBAIC0yNDYwLDggKzI0NjgsMTMgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3Rf Z2V0X3BhZ2VzX2d0dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogfQogCiB2b2lk IF9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqLAotCQkJCSBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzKQorCQkJCSBzdHJ1Y3Qgc2dfdGFibGUg KnBhZ2VzLAorCQkJCSB1bnNpZ25lZCBpbnQgc2dfbWFzaykKIHsKKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUob2JqLT5iYXNlLmRldik7CisJdW5zaWduZWQgbG9uZyBz dXBwb3J0ZWRfcGFnZV9zaXplcyA9IElOVEVMX0lORk8oaTkxNSktPnBhZ2Vfc2l6ZXM7CisJaW50 IGk7CisKIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZvYmotPm1tLmxvY2spOwogCiAJb2JqLT5tbS5n ZXRfcGFnZS5zZ19wb3MgPSBwYWdlcy0+c2dsOwpAQCAtMjQ3NSw2ICsyNDg4LDI1IEBAIHZvaWQg X19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCiAJCV9faTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOwogCQlvYmotPm1tLnF1aXJr ZWQgPSB0cnVlOwogCX0KKworCUdFTV9CVUdfT04oIXNnX21hc2spOworCW9iai0+bW0ucGFnZV9z aXplcy5waHlzID0gc2dfbWFzazsKKworCS8qCisJICogQ2FsY3VsYXRlIHRoZSBzdXBwb3J0ZWQg cGFnZS1zaXplcyB3aGljaCBmaXQgaW50byB0aGUgZ2l2ZW4gc2dfbWFzay4KKwkgKiBUaGlzIHdp bGwgZ2l2ZSB1cyB0aGUgcGFnZS1zaXplcyB3aGljaCB3ZSBtYXkgYmUgYWJsZSB0byB1c2UKKwkg KiBvcHBvcnR1bmlzdGljYWxseSB3aGVuIGxhdGVyIGluc2VydGluZyBpbnRvIHRoZSBHVFQuIEZv ciBleGFtcGxlIGlmCisJICogcGh5cz0yRywgdGhlbiBpbiB0aGVvcnkgd2Ugc2hvdWxkIGJlIGFi bGUgdG8gdXNlIDFHLCAyTSwgNjRLIG9yIDRLCisJICogcGFnZXMsIGFsdGhvdWdoIGluIHByYWN0 aWNlIHRoaXMgd2lsbCBkZXBlbmQgb24gYSBudW1iZXIgb2Ygb3RoZXIKKwkgKiBmYWN0b3JzLgor CSAqLworCW9iai0+bW0ucGFnZV9zaXplcy5zZyA9IDA7CisJZm9yX2VhY2hfc2V0X2JpdChpLCAm c3VwcG9ydGVkX3BhZ2Vfc2l6ZXMsIEJJVFNfUEVSX0xPTkcpIHsKKwkJaWYgKG9iai0+bW0ucGFn ZV9zaXplcy5waHlzICYgfjB1IDw8IGkpCisJCQlvYmotPm1tLnBhZ2Vfc2l6ZXMuc2cgfD0gQklU KGkpOworCX0KKworCUdFTV9CVUdfT04oIUhBU19QQUdFX1NJWkVTKGk5MTUsIG9iai0+bW0ucGFn ZV9zaXplcy5zZykpOwogfQogCiBzdGF0aWMgaW50IF9fX19pOTE1X2dlbV9vYmplY3RfZ2V0X3Bh Z2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9kbWFidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2RtYWJ1Zi5jCmluZGV4IDRjNGRjODUxNTlmYi4uMmY4MGIwN2Q3ZjYxIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9kbWFidWYuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9kbWFidWYuYwpAQCAtMjU5LDEzICsyNTksMjAgQEAgc3Ry dWN0IGRtYV9idWYgKmk5MTVfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAogc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2RtYWJ1ZihzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewogCXN0cnVjdCBzZ190YWJsZSAqcGFnZXM7CisJc3Ry dWN0IHNjYXR0ZXJsaXN0ICpzZzsKKwl1bnNpZ25lZCBpbnQgc2dfbWFzazsKKwlpbnQgbjsKIAog CXBhZ2VzID0gZG1hX2J1Zl9tYXBfYXR0YWNobWVudChvYmotPmJhc2UuaW1wb3J0X2F0dGFjaCwK IAkJCQkgICAgICAgRE1BX0JJRElSRUNUSU9OQUwpOwogCWlmIChJU19FUlIocGFnZXMpKQogCQly ZXR1cm4gUFRSX0VSUihwYWdlcyk7CiAKLQlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2Jq LCBwYWdlcyk7CisJc2dfbWFzayA9IDA7CisJZm9yX2VhY2hfc2cocGFnZXMtPnNnbCwgc2csIHBh Z2VzLT5uZW50cywgbikKKwkJc2dfbWFzayB8PSBzZy0+bGVuZ3RoOworCisJX19pOTE1X2dlbV9v YmplY3Rfc2V0X3BhZ2VzKG9iaiwgcGFnZXMsIHNnX21hc2spOwogCiAJcmV0dXJuIDA7CiB9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9pbnRlcm5hbC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1faW50ZXJuYWwuYwppbmRleCBmNTk3NjRkYTQyNTQu LmJkYzIzYzRjODc4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f aW50ZXJuYWwuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9pbnRlcm5hbC5j CkBAIC00OSw2ICs0OSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19p bnRlcm5hbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1ID0gdG9faTkxNShvYmotPmJhc2UuZGV2KTsKIAlzdHJ1Y3Qgc2dfdGFi bGUgKnN0OwogCXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7CisJdW5zaWduZWQgaW50IHNnX21hc2s7 CiAJdW5zaWduZWQgaW50IG5wYWdlczsKIAlpbnQgbWF4X29yZGVyOwogCWdmcF90IGdmcDsKQEAg LTg3LDYgKzg4LDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2ludGVy bmFsKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAKIAlzZyA9IHN0LT5zZ2w7CiAJ c3QtPm5lbnRzID0gMDsKKwlzZ19tYXNrID0gMDsKIAogCWRvIHsKIAkJaW50IG9yZGVyID0gbWlu KGZscyhucGFnZXMpIC0gMSwgbWF4X29yZGVyKTsKQEAgLTEwNCw2ICsxMDYsNyBAQCBzdGF0aWMg aW50IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfaW50ZXJuYWwoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaikKIAkJfSB3aGlsZSAoMSk7CiAKIAkJc2dfc2V0X3BhZ2Uoc2csIHBhZ2Us IFBBR0VfU0laRSA8PCBvcmRlciwgMCk7CisJCXNnX21hc2sgfD0gUEFHRV9TSVpFIDw8IG9yZGVy OwogCQlzdC0+bmVudHMrKzsKIAogCQlucGFnZXMgLT0gMSA8PCBvcmRlcjsKQEAgLTEzMiw3ICsx MzUsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfaW50ZXJuYWwoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAkgKi8KIAlvYmotPm1tLm1hZHYgPSBJOTE1 X01BRFZfRE9OVE5FRUQ7CiAKLQlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBzdCk7 CisJX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgc3QsIHNnX21hc2spOwogCiAJcmV0 dXJuIDA7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVj dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fb2JqZWN0LmgKaW5kZXggMDM2ZTg0 N2IyN2YwLi4xMTA2NzI5NTJhMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX29iamVjdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVj dC5oCkBAIC0xNjksNiArMTY5LDIzIEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0IHsKIAkJ c3RydWN0IHNnX3RhYmxlICpwYWdlczsKIAkJdm9pZCAqbWFwcGluZzsKIAorCQlzdHJ1Y3QgaTkx NV9wYWdlX3NpemVzIHsKKwkJCS8qKgorCQkJICogVGhlIHNnIG1hc2sgb2YgdGhlIHBhZ2VzIHNn X3RhYmxlLiBpLmUgdGhlIG1hc2sgb2YKKwkJCSAqIG9mIHRoZSBsZW5ndGhzIGZvciBlYWNoIHNn IGVudHJ5LgorCQkJICovCisJCQl1bnNpZ25lZCBpbnQgcGh5czsKKworCQkJLyoqCisJCQkgKiBU aGUgZ3R0IHBhZ2Ugc2l6ZXMgd2UgYXJlIGFsbG93ZWQgdG8gdXNlIGdpdmVuIHRoZQorCQkJICog c2cgbWFzayBhbmQgdGhlIHN1cHBvcnRlZCBwYWdlIHNpemVzLiBUaGlzIHdpbGwKKwkJCSAqIGV4 cHJlc3MgdGhlIHNtYWxsZXN0IHVuaXQgd2UgY2FuIHVzZSBmb3IgdGhlIHdob2xlCisJCQkgKiBv YmplY3QsIGFzIHdlbGwgYXMgdGhlIGxhcmdlciBzaXplcyB3ZSBtYXkgYmUgYWJsZQorCQkJICog dG8gdXNlIG9wcG9ydHVuaXN0aWNhbGx5LgorCQkJICovCisJCQl1bnNpZ25lZCBpbnQgc2c7CisJ CX0gcGFnZV9zaXplczsKKwogCQlzdHJ1Y3QgaTkxNV9nZW1fb2JqZWN0X3BhZ2VfaXRlciB7CiAJ CQlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnX3BvczsKIAkJCXVuc2lnbmVkIGludCBzZ19pZHg7IC8q IGluIHBhZ2VzLCBidXQgMzJiaXQgZWVrISAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9z dG9sZW4uYwppbmRleCA1MzdlY2IyMjRkYjAuLjU0ZmQ0Y2ZhOWQwNyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKQEAgLTU0OCw3ICs1NDgsNyBAQCBzdGF0aWMgaW50IGk5 MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfc3RvbGVuKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmopCiAJaWYgKElTX0VSUihwYWdlcykpCiAJCXJldHVybiBQVFJfRVJSKHBhZ2VzKTsKIAot CV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHBhZ2VzKTsKKwlfX2k5MTVfZ2VtX29i amVjdF9zZXRfcGFnZXMob2JqLCBwYWdlcywgb2JqLT5zdG9sZW4tPnNpemUpOwogCiAJcmV0dXJu IDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRy LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKaW5kZXggNzBhZDc0 ODk4MjdkLi5hZDVhYmNhMWY3OTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3VzZXJwdHIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2Vy cHRyLmMKQEAgLTQwNSw2ICs0MDUsOSBAQCBfX2k5MTVfZ2VtX3VzZXJwdHJfYWxsb2NfcGFnZXMo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIHsKIAl1bnNpZ25lZCBpbnQgbWF4X3Nl Z21lbnQgPSBpOTE1X3NnX3NlZ21lbnRfc2l6ZSgpOwogCXN0cnVjdCBzZ190YWJsZSAqc3Q7CisJ c3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKKwl1bnNpZ25lZCBpbnQgc2dfbWFzazsKKwlpbnQgbjsK IAlpbnQgcmV0OwogCiAJc3QgPSBrbWFsbG9jKHNpemVvZigqc3QpLCBHRlBfS0VSTkVMKTsKQEAg LTQzNCw3ICs0MzcsMTEgQEAgX19pOTE1X2dlbV91c2VycHRyX2FsbG9jX3BhZ2VzKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCXJldHVybiBFUlJfUFRSKHJldCk7CiAJfQogCi0J X19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgc3QpOworCXNnX21hc2sgPSAwOworCWZv cl9lYWNoX3NnKHN0LT5zZ2wsIHNnLCBudW1fcGFnZXMsIG4pCisJCXNnX21hc2sgfD0gc2ctPmxl bmd0aDsKKworCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHN0LCBzZ19tYXNrKTsK IAogCXJldHVybiBzdDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9odWdlX2dlbV9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9o dWdlX2dlbV9vYmplY3QuYwppbmRleCA0MWMxNWYzYWE0NjcuLmEyNjMyZGYzOTE3MyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2h1Z2VfZ2VtX29iamVjdC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX2dlbV9vYmplY3QuYwpAQCAt ODAsNyArODAsNyBAQCBzdGF0aWMgaW50IGh1Z2VfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCiAJaWYgKGk5MTVfZ2VtX2d0dF9wcmVwYXJlX3BhZ2VzKG9iaiwgcGFn ZXMpKQogCQlnb3RvIGVycjsKIAotCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHBh Z2VzKTsKKwlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBwYWdlcywgUEFHRV9TSVpF KTsKIAogCXJldHVybiAwOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxm dGVzdHMvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkx NV9nZW1fZ3R0LmMKaW5kZXggYWExZGIzNzVkNTlhLi44ODNiYzE5ZTNhYWYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKQEAgLTQ1LDYgKzQ1LDcg QEAgc3RhdGljIGludCBmYWtlX2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqKQogI2RlZmluZSBQRk5fQklBUyAweDEwMDAKIAlzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzOwog CXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7CisJdW5zaWduZWQgaW50IHNnX21hc2s7CiAJdHlwZW9m KG9iai0+YmFzZS5zaXplKSByZW07CiAKIAlwYWdlcyA9IGttYWxsb2Moc2l6ZW9mKCpwYWdlcyks IEdGUCk7CkBAIC01Nyw2ICs1OCw3IEBAIHN0YXRpYyBpbnQgZmFrZV9nZXRfcGFnZXMoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCisJc2df bWFzayA9IDA7CiAJcmVtID0gb2JqLT5iYXNlLnNpemU7CiAJZm9yIChzZyA9IHBhZ2VzLT5zZ2w7 IHNnOyBzZyA9IHNnX25leHQoc2cpKSB7CiAJCXVuc2lnbmVkIGxvbmcgbGVuID0gbWluX3QodHlw ZW9mKHJlbSksIHJlbSwgQklUKDMxKSk7CkBAIC02NSw2ICs2Nyw3IEBAIHN0YXRpYyBpbnQgZmFr ZV9nZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAkJc2dfc2V0X3Bh Z2Uoc2csIHBmbl90b19wYWdlKFBGTl9CSUFTKSwgbGVuLCAwKTsKIAkJc2dfZG1hX2FkZHJlc3Mo c2cpID0gcGFnZV90b19waHlzKHNnX3BhZ2Uoc2cpKTsKIAkJc2dfZG1hX2xlbihzZykgPSBsZW47 CisJCXNnX21hc2sgfD0gbGVuOwogCiAJCXJlbSAtPSBsZW47CiAJfQpAQCAtNzIsNyArNzUsNyBA QCBzdGF0aWMgaW50IGZha2VfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmopCiAKIAlvYmotPm1tLm1hZHYgPSBJOTE1X01BRFZfRE9OVE5FRUQ7CiAKLQlfX2k5MTVfZ2Vt X29iamVjdF9zZXRfcGFnZXMob2JqLCBwYWdlcyk7CisJX19pOTE1X2dlbV9vYmplY3Rfc2V0X3Bh Z2VzKG9iaiwgcGFnZXMsIHNnX21hc2spOwogCiAJcmV0dXJuIDA7CiAjdW5kZWYgR0ZQCi0tIAoy LjEzLjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=