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, 6 Oct 2017 15:50:26 +0100 Message-ID: <20171006145041.21673-7-matthew.auld@intel.com> References: <20171006145041.21673-1-matthew.auld@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 ESMTPS id 4CF576FA0A for ; Fri, 6 Oct 2017 14:50:54 +0000 (UTC) In-Reply-To: <20171006145041.21673-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 bnRzIGZyb20gSm9vbmFzCgp2NTogZml4IG51bV9wYWdlcyBibHVuZGVyCiAgICBpbnRyb2R1Y2Ug aTkxNV9zZ19wYWdlX3NpemVzIGhlbHBlcgoKdjY6IHByZWZlciBHRU1fQlVHX09OKHNpemVzID09 IDApCgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+ CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+CkNj OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IERhbmllbCBWZXR0 ZXIgPGRhbmllbEBmZndsbC5jaD4KUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hy aXMtd2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAg ICAgICAgICAgICAgICB8IDIyICsrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMgICAgICAgICAgICAgICAgICB8IDQyICsrKysrKysrKysrKysrKysrKysrKy0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMgICAgICAgICAgIHwgIDUgKyst CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9pbnRlcm5hbC5jICAgICAgICAgfCAgNSAr Ky0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVjdC5oICAgICAgICAgICB8IDE3 ICsrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jICAgICAg ICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMgICAg ICAgICAgfCAgNSArKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX2dlbV9v YmplY3QuYyB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1f Z3R0LmMgICAgfCAgNSArKy0KIDkgZmlsZXMgY2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygrKSwgMTIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggM2Q0ZGVlODE3MzgxLi43 OTlhOTBhYmQ4MWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjg3Miw2ICsyODcyLDIx IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHNjYXR0ZXJsaXN0ICpfX3NnX25leHQoc3RydWN0IHNj YXR0ZXJsaXN0ICpzZykKIAkgICAgICgoKF9faXRlcikuY3VyciArPSBQQUdFX1NJWkUpID49IChf X2l0ZXIpLm1heCkgPwkJXAogCSAgICAgKF9faXRlcikgPSBfX3NndF9pdGVyKF9fc2dfbmV4dCgo X19pdGVyKS5zZ3ApLCBmYWxzZSksIDAgOiAwKQogCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGlu dCBpOTE1X3NnX3BhZ2Vfc2l6ZXMoc3RydWN0IHNjYXR0ZXJsaXN0ICpzZykKK3sKKwl1bnNpZ25l ZCBpbnQgcGFnZV9zaXplczsKKworCXBhZ2Vfc2l6ZXMgPSAwOworCXdoaWxlIChzZykgeworCQlH RU1fQlVHX09OKHNnLT5vZmZzZXQpOworCQlHRU1fQlVHX09OKCFJU19BTElHTkVEKHNnLT5sZW5n dGgsIFBBR0VfU0laRSkpOworCQlwYWdlX3NpemVzIHw9IHNnLT5sZW5ndGg7CisJCXNnID0gX19z Z19uZXh0KHNnKTsKKwl9CisKKwlyZXR1cm4gcGFnZV9zaXplczsKK30KKwogc3RhdGljIGlubGlu ZSB1bnNpZ25lZCBpbnQgaTkxNV9zZ19zZWdtZW50X3NpemUodm9pZCkKIHsKIAl1bnNpZ25lZCBp bnQgc2l6ZSA9IHN3aW90bGJfbWF4X3NlZ21lbnQoKTsKQEAgLTMxMDEsNiArMzExNiwxMCBAQCBp bnRlbF9pbmZvKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKICNkZWZp bmUgVVNFU19QUEdUVChkZXZfcHJpdikJCShpOTE1X21vZHBhcmFtcy5lbmFibGVfcHBndHQpCiAj ZGVmaW5lIFVTRVNfRlVMTF9QUEdUVChkZXZfcHJpdikJKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9w cGd0dCA+PSAyKQogI2RlZmluZSBVU0VTX0ZVTExfNDhCSVRfUFBHVFQoZGV2X3ByaXYpCShpOTE1 X21vZHBhcmFtcy5lbmFibGVfcHBndHQgPT0gMykKKyNkZWZpbmUgSEFTX1BBR0VfU0laRVMoZGV2 X3ByaXYsIHNpemVzKSAoeyBcCisJR0VNX0JVR19PTigoc2l6ZXMpID09IDApOyBcCisJKChzaXpl cykgJiB+KGRldl9wcml2KS0+aW5mby5wYWdlX3NpemVzKSA9PSAwOyBcCit9KQogCiAjZGVmaW5l IEhBU19PVkVSTEFZKGRldl9wcml2KQkJICgoZGV2X3ByaXYpLT5pbmZvLmhhc19vdmVybGF5KQog I2RlZmluZSBPVkVSTEFZX05FRURTX1BIWVNJQ0FMKGRldl9wcml2KSBcCkBAIC0zNTE3LDcgKzM1 MzYsOCBAQCBpOTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosCiAJCQkJdW5zaWduZWQgbG9uZyBuKTsKIAogdm9pZCBfX2k5MTVfZ2Vt X29iamVjdF9zZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKLQkJCQkg c3RydWN0IHNnX3RhYmxlICpwYWdlcyk7CisJCQkJIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMsCisJ CQkJIHVuc2lnbmVkIGludCBzZ19tYXNrKTsKIGludCBfX2k5MTVfZ2VtX29iamVjdF9nZXRfcGFn ZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CiAKIHN0YXRpYyBpbmxpbmUgaW50 IF9fbXVzdF9jaGVjawpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggYzFjMDdkMDk1N2FhLi42 OTVjYjJhMzhjODggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMjI4LDcgKzIyOCw3IEBA IHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19waHlzKHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmopCiAKIAlvYmotPnBoeXNfaGFuZGxlID0gcGh5czsKIAotCV9faTkx NV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHN0KTsKKwlfX2k5MTVfZ2VtX29iamVjdF9zZXRf cGFnZXMob2JqLCBzdCwgc2ctPmxlbmd0aCk7CiAKIAlyZXR1cm4gMDsKIApAQCAtMjI2Niw2ICsy MjY2LDggQEAgdm9pZCBfX2k5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXMoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaiwKIAlpZiAoIUlTX0VSUihwYWdlcykpCiAJCW9iai0+b3BzLT5wdXRf cGFnZXMob2JqLCBwYWdlcyk7CiAKKwlvYmotPm1tLnBhZ2Vfc2l6ZXMucGh5cyA9IG9iai0+bW0u cGFnZV9zaXplcy5zZyA9IDA7CisKIHVubG9jazoKIAltdXRleF91bmxvY2soJm9iai0+bW0ubG9j ayk7CiB9CkBAIC0yMzA4LDYgKzIzMTAsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9n ZXRfcGFnZXNfZ3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJc3RydWN0IHBh Z2UgKnBhZ2U7CiAJdW5zaWduZWQgbG9uZyBsYXN0X3BmbiA9IDA7CS8qIHN1cHByZXNzIGdjYyB3 YXJuaW5nICovCiAJdW5zaWduZWQgaW50IG1heF9zZWdtZW50ID0gaTkxNV9zZ19zZWdtZW50X3Np emUoKTsKKwl1bnNpZ25lZCBpbnQgc2dfbWFzazsKIAlnZnBfdCBub3JlY2xhaW07CiAJaW50IHJl dDsKIApAQCAtMjMzOSw2ICsyMzQyLDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfZ2V0 X3BhZ2VzX2d0dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCiAJc2cgPSBzdC0+ c2dsOwogCXN0LT5uZW50cyA9IDA7CisJc2dfbWFzayA9IDA7CiAJZm9yIChpID0gMDsgaSA8IHBh Z2VfY291bnQ7IGkrKykgewogCQljb25zdCB1bnNpZ25lZCBpbnQgc2hyaW5rW10gPSB7CiAJCQlJ OTE1X1NIUklOS19CT1VORCB8IEk5MTVfU0hSSU5LX1VOQk9VTkQgfCBJOTE1X1NIUklOS19QVVJH RUFCTEUsCkBAIC0yMzkxLDggKzIzOTUsMTAgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3Rf Z2V0X3BhZ2VzX2d0dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCQlpZiAoIWkg fHwKIAkJICAgIHNnLT5sZW5ndGggPj0gbWF4X3NlZ21lbnQgfHwKIAkJICAgIHBhZ2VfdG9fcGZu KHBhZ2UpICE9IGxhc3RfcGZuICsgMSkgewotCQkJaWYgKGkpCisJCQlpZiAoaSkgeworCQkJCXNn X21hc2sgfD0gc2ctPmxlbmd0aDsKIAkJCQlzZyA9IHNnX25leHQoc2cpOworCQkJfQogCQkJc3Qt Pm5lbnRzKys7CiAJCQlzZ19zZXRfcGFnZShzZywgcGFnZSwgUEFHRV9TSVpFLCAwKTsKIAkJfSBl bHNlIHsKQEAgLTI0MDMsOCArMjQwOSwxMCBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9n ZXRfcGFnZXNfZ3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCS8qIENoZWNr IHRoYXQgdGhlIGk5NjVnL2dtIHdvcmthcm91bmQgd29ya3MuICovCiAJCVdBUk5fT04oKGdmcCAm IF9fR0ZQX0RNQTMyKSAmJiAobGFzdF9wZm4gPj0gMHgwMDEwMDAwMFVMKSk7CiAJfQotCWlmIChz ZykgLyogbG9vcCB0ZXJtaW5hdGVkIGVhcmx5OyBzaG9ydCBzZyB0YWJsZSAqLworCWlmIChzZykg eyAvKiBsb29wIHRlcm1pbmF0ZWQgZWFybHk7IHNob3J0IHNnIHRhYmxlICovCisJCXNnX21hc2sg fD0gc2ctPmxlbmd0aDsKIAkJc2dfbWFya19lbmQoc2cpOworCX0KIAogCS8qIFRyaW0gdW51c2Vk IHNnIGVudHJpZXMgdG8gYXZvaWQgd2FzdGluZyBtZW1vcnkuICovCiAJaTkxNV9zZ190cmltKHN0 KTsKQEAgLTI0MzMsNyArMjQ0MSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dldF9w YWdlc19ndHQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlpZiAoaTkxNV9nZW1f b2JqZWN0X25lZWRzX2JpdDE3X3N3aXp6bGUob2JqKSkKIAkJaTkxNV9nZW1fb2JqZWN0X2RvX2Jp dF8xN19zd2l6emxlKG9iaiwgc3QpOwogCi0JX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9i aiwgc3QpOworCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHN0LCBzZ19tYXNrKTsK IAogCXJldHVybiAwOwogCkBAIC0yNDYwLDggKzI0NjgsMTMgQEAgc3RhdGljIGludCBpOTE1X2dl bV9vYmplY3RfZ2V0X3BhZ2VzX2d0dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQog fQogCiB2b2lkIF9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqLAotCQkJCSBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzKQorCQkJCSBzdHJ1Y3Qg c2dfdGFibGUgKnBhZ2VzLAorCQkJCSB1bnNpZ25lZCBpbnQgc2dfbWFzaykKIHsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUob2JqLT5iYXNlLmRldik7CisJdW5zaWdu ZWQgbG9uZyBzdXBwb3J0ZWQgPSBJTlRFTF9JTkZPKGk5MTUpLT5wYWdlX3NpemVzOworCWludCBp OworCiAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmb2JqLT5tbS5sb2NrKTsKIAogCW9iai0+bW0uZ2V0 X3BhZ2Uuc2dfcG9zID0gcGFnZXMtPnNnbDsKQEAgLTI0NzUsNiArMjQ4OCwyNSBAQCB2b2lkIF9f aTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAogCQlfX2k5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMob2JqKTsKIAkJb2JqLT5tbS5xdWlya2Vk ID0gdHJ1ZTsKIAl9CisKKwlHRU1fQlVHX09OKCFzZ19tYXNrKTsKKwlvYmotPm1tLnBhZ2Vfc2l6 ZXMucGh5cyA9IHNnX21hc2s7CisKKwkvKgorCSAqIENhbGN1bGF0ZSB0aGUgc3VwcG9ydGVkIHBh Z2Utc2l6ZXMgd2hpY2ggZml0IGludG8gdGhlIGdpdmVuIHNnX21hc2suCisJICogVGhpcyB3aWxs IGdpdmUgdXMgdGhlIHBhZ2Utc2l6ZXMgd2hpY2ggd2UgbWF5IGJlIGFibGUgdG8gdXNlCisJICog b3Bwb3J0dW5pc3RpY2FsbHkgd2hlbiBsYXRlciBpbnNlcnRpbmcgaW50byB0aGUgR1RULiBGb3Ig ZXhhbXBsZSBpZgorCSAqIHBoeXM9MkcsIHRoZW4gaW4gdGhlb3J5IHdlIHNob3VsZCBiZSBhYmxl IHRvIHVzZSAxRywgMk0sIDY0SyBvciA0SworCSAqIHBhZ2VzLCBhbHRob3VnaCBpbiBwcmFjdGlj ZSB0aGlzIHdpbGwgZGVwZW5kIG9uIGEgbnVtYmVyIG9mIG90aGVyCisJICogZmFjdG9ycy4KKwkg Ki8KKwlvYmotPm1tLnBhZ2Vfc2l6ZXMuc2cgPSAwOworCWZvcl9lYWNoX3NldF9iaXQoaSwgJnN1 cHBvcnRlZCwgaWxvZzIoSTkxNV9HVFRfTUFYX1BBR0VfU0laRSkgKyAxKSB7CisJCWlmIChvYmot Pm1tLnBhZ2Vfc2l6ZXMucGh5cyAmIH4wdSA8PCBpKQorCQkJb2JqLT5tbS5wYWdlX3NpemVzLnNn IHw9IEJJVChpKTsKKwl9CisKKwlHRU1fQlVHX09OKCFIQVNfUEFHRV9TSVpFUyhpOTE1LCBvYmot Pm1tLnBhZ2Vfc2l6ZXMuc2cpKTsKIH0KIAogc3RhdGljIGludCBfX19faTkxNV9nZW1fb2JqZWN0 X2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9kbWFidWYuYwppbmRleCA0YzRkYzg1MTU5ZmIuLmU1NDJhOWQ4MDA3NyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMKQEAgLTI1OSwxMyArMjU5LDE2 IEBAIHN0cnVjdCBkbWFfYnVmICppOTE1X2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19kbWFidWYoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIHsKIAlzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2Vz OworCXVuc2lnbmVkIGludCBzZ19tYXNrOwogCiAJcGFnZXMgPSBkbWFfYnVmX21hcF9hdHRhY2ht ZW50KG9iai0+YmFzZS5pbXBvcnRfYXR0YWNoLAogCQkJCSAgICAgICBETUFfQklESVJFQ1RJT05B TCk7CiAJaWYgKElTX0VSUihwYWdlcykpCiAJCXJldHVybiBQVFJfRVJSKHBhZ2VzKTsKIAotCV9f aTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHBhZ2VzKTsKKwlzZ19tYXNrID0gaTkxNV9z Z19wYWdlX3NpemVzKHBhZ2VzLT5zZ2wpOworCisJX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2Vz KG9iaiwgcGFnZXMsIHNnX21hc2spOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9pbnRlcm5hbC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1faW50ZXJuYWwuYwppbmRleCBmNTk3NjRkYTQyNTQuLmJkYzIzYzRjODc4MyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1faW50ZXJuYWwuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9pbnRlcm5hbC5jCkBAIC00OSw2ICs0OSw3 IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19pbnRlcm5hbChzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 ID0gdG9faTkxNShvYmotPmJhc2UuZGV2KTsKIAlzdHJ1Y3Qgc2dfdGFibGUgKnN0OwogCXN0cnVj dCBzY2F0dGVybGlzdCAqc2c7CisJdW5zaWduZWQgaW50IHNnX21hc2s7CiAJdW5zaWduZWQgaW50 IG5wYWdlczsKIAlpbnQgbWF4X29yZGVyOwogCWdmcF90IGdmcDsKQEAgLTg3LDYgKzg4LDcgQEAg c3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2ludGVybmFsKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopCiAKIAlzZyA9IHN0LT5zZ2w7CiAJc3QtPm5lbnRzID0gMDsK KwlzZ19tYXNrID0gMDsKIAogCWRvIHsKIAkJaW50IG9yZGVyID0gbWluKGZscyhucGFnZXMpIC0g MSwgbWF4X29yZGVyKTsKQEAgLTEwNCw2ICsxMDYsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29i amVjdF9nZXRfcGFnZXNfaW50ZXJuYWwoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikK IAkJfSB3aGlsZSAoMSk7CiAKIAkJc2dfc2V0X3BhZ2Uoc2csIHBhZ2UsIFBBR0VfU0laRSA8PCBv cmRlciwgMCk7CisJCXNnX21hc2sgfD0gUEFHRV9TSVpFIDw8IG9yZGVyOwogCQlzdC0+bmVudHMr KzsKIAogCQlucGFnZXMgLT0gMSA8PCBvcmRlcjsKQEAgLTEzMiw3ICsxMzUsNyBAQCBzdGF0aWMg aW50IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfaW50ZXJuYWwoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaikKIAkgKi8KIAlvYmotPm1tLm1hZHYgPSBJOTE1X01BRFZfRE9OVE5FRUQ7 CiAKLQlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBzdCk7CisJX19pOTE1X2dlbV9v YmplY3Rfc2V0X3BhZ2VzKG9iaiwgc3QsIHNnX21hc2spOwogCiAJcmV0dXJuIDA7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVjdC5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fb2JqZWN0LmgKaW5kZXggMDM2ZTg0N2IyN2YwLi4xMTA2NzI5 NTJhMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVjdC5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVjdC5oCkBAIC0xNjksNiAr MTY5LDIzIEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0IHsKIAkJc3RydWN0IHNnX3RhYmxl ICpwYWdlczsKIAkJdm9pZCAqbWFwcGluZzsKIAorCQlzdHJ1Y3QgaTkxNV9wYWdlX3NpemVzIHsK KwkJCS8qKgorCQkJICogVGhlIHNnIG1hc2sgb2YgdGhlIHBhZ2VzIHNnX3RhYmxlLiBpLmUgdGhl IG1hc2sgb2YKKwkJCSAqIG9mIHRoZSBsZW5ndGhzIGZvciBlYWNoIHNnIGVudHJ5LgorCQkJICov CisJCQl1bnNpZ25lZCBpbnQgcGh5czsKKworCQkJLyoqCisJCQkgKiBUaGUgZ3R0IHBhZ2Ugc2l6 ZXMgd2UgYXJlIGFsbG93ZWQgdG8gdXNlIGdpdmVuIHRoZQorCQkJICogc2cgbWFzayBhbmQgdGhl IHN1cHBvcnRlZCBwYWdlIHNpemVzLiBUaGlzIHdpbGwKKwkJCSAqIGV4cHJlc3MgdGhlIHNtYWxs ZXN0IHVuaXQgd2UgY2FuIHVzZSBmb3IgdGhlIHdob2xlCisJCQkgKiBvYmplY3QsIGFzIHdlbGwg YXMgdGhlIGxhcmdlciBzaXplcyB3ZSBtYXkgYmUgYWJsZQorCQkJICogdG8gdXNlIG9wcG9ydHVu aXN0aWNhbGx5LgorCQkJICovCisJCQl1bnNpZ25lZCBpbnQgc2c7CisJCX0gcGFnZV9zaXplczsK KwogCQlzdHJ1Y3QgaTkxNV9nZW1fb2JqZWN0X3BhZ2VfaXRlciB7CiAJCQlzdHJ1Y3Qgc2NhdHRl cmxpc3QgKnNnX3BvczsKIAkJCXVuc2lnbmVkIGludCBzZ19pZHg7IC8qIGluIHBhZ2VzLCBidXQg MzJiaXQgZWVrISAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f c3RvbGVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYwppbmRleCA1 MzdlY2IyMjRkYjAuLjU0ZmQ0Y2ZhOWQwNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fc3RvbGVuLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f c3RvbGVuLmMKQEAgLTU0OCw3ICs1NDgsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9n ZXRfcGFnZXNfc3RvbGVuKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJaWYgKElT X0VSUihwYWdlcykpCiAJCXJldHVybiBQVFJfRVJSKHBhZ2VzKTsKIAotCV9faTkxNV9nZW1fb2Jq ZWN0X3NldF9wYWdlcyhvYmosIHBhZ2VzKTsKKwlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMo b2JqLCBwYWdlcywgb2JqLT5zdG9sZW4tPnNpemUpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKaW5kZXggNzBhZDc0ODk4MjdkLi40MWUxNmUx OWMzZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKQEAgLTQwNSw2 ICs0MDUsNyBAQCBfX2k5MTVfZ2VtX3VzZXJwdHJfYWxsb2NfcGFnZXMoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaiwKIHsKIAl1bnNpZ25lZCBpbnQgbWF4X3NlZ21lbnQgPSBpOTE1X3Nn X3NlZ21lbnRfc2l6ZSgpOwogCXN0cnVjdCBzZ190YWJsZSAqc3Q7CisJdW5zaWduZWQgaW50IHNn X21hc2s7CiAJaW50IHJldDsKIAogCXN0ID0ga21hbGxvYyhzaXplb2YoKnN0KSwgR0ZQX0tFUk5F TCk7CkBAIC00MzQsNyArNDM1LDkgQEAgX19pOTE1X2dlbV91c2VycHRyX2FsbG9jX3BhZ2VzKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCXJldHVybiBFUlJfUFRSKHJldCk7CiAJ fQogCi0JX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgc3QpOworCXNnX21hc2sgPSBp OTE1X3NnX3BhZ2Vfc2l6ZXMoc3QtPnNnbCk7CisKKwlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFn ZXMob2JqLCBzdCwgc2dfbWFzayk7CiAKIAlyZXR1cm4gc3Q7CiB9CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9nZW1fb2JqZWN0LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9nZW1fb2JqZWN0LmMKaW5kZXggNDFjMTVmM2FhNDY3 Li5hMjYzMmRmMzkxNzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9odWdlX2dlbV9vYmplY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv aHVnZV9nZW1fb2JqZWN0LmMKQEAgLTgwLDcgKzgwLDcgQEAgc3RhdGljIGludCBodWdlX2dldF9w YWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCWlmIChpOTE1X2dlbV9ndHRf cHJlcGFyZV9wYWdlcyhvYmosIHBhZ2VzKSkKIAkJZ290byBlcnI7CiAKLQlfX2k5MTVfZ2VtX29i amVjdF9zZXRfcGFnZXMob2JqLCBwYWdlcyk7CisJX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2Vz KG9iaiwgcGFnZXMsIFBBR0VfU0laRSk7CiAKIAlyZXR1cm4gMDsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jCmluZGV4IGFhMWRiMzc1ZDU5YS4uODgz YmMxOWUzYWFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkx NV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2Vt X2d0dC5jCkBAIC00NSw2ICs0NSw3IEBAIHN0YXRpYyBpbnQgZmFrZV9nZXRfcGFnZXMoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKICNkZWZpbmUgUEZOX0JJQVMgMHgxMDAwCiAJc3Ry dWN0IHNnX3RhYmxlICpwYWdlczsKIAlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCXVuc2lnbmVk IGludCBzZ19tYXNrOwogCXR5cGVvZihvYmotPmJhc2Uuc2l6ZSkgcmVtOwogCiAJcGFnZXMgPSBr bWFsbG9jKHNpemVvZigqcGFnZXMpLCBHRlApOwpAQCAtNTcsNiArNTgsNyBAQCBzdGF0aWMgaW50 IGZha2VfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCXJldHVy biAtRU5PTUVNOwogCX0KIAorCXNnX21hc2sgPSAwOwogCXJlbSA9IG9iai0+YmFzZS5zaXplOwog CWZvciAoc2cgPSBwYWdlcy0+c2dsOyBzZzsgc2cgPSBzZ19uZXh0KHNnKSkgewogCQl1bnNpZ25l ZCBsb25nIGxlbiA9IG1pbl90KHR5cGVvZihyZW0pLCByZW0sIEJJVCgzMSkpOwpAQCAtNjUsNiAr NjcsNyBAQCBzdGF0aWMgaW50IGZha2VfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmopCiAJCXNnX3NldF9wYWdlKHNnLCBwZm5fdG9fcGFnZShQRk5fQklBUyksIGxlbiwg MCk7CiAJCXNnX2RtYV9hZGRyZXNzKHNnKSA9IHBhZ2VfdG9fcGh5cyhzZ19wYWdlKHNnKSk7CiAJ CXNnX2RtYV9sZW4oc2cpID0gbGVuOworCQlzZ19tYXNrIHw9IGxlbjsKIAogCQlyZW0gLT0gbGVu OwogCX0KQEAgLTcyLDcgKzc1LDcgQEAgc3RhdGljIGludCBmYWtlX2dldF9wYWdlcyhzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCiAJb2JqLT5tbS5tYWR2ID0gSTkxNV9NQURWX0RP TlRORUVEOwogCi0JX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgcGFnZXMpOworCV9f aTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHBhZ2VzLCBzZ19tYXNrKTsKIAogCXJldHVy biAwOwogI3VuZGVmIEdGUAotLSAKMi4xMy41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK