From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v2 2/7] drm/i915: sseu: Use sseu_dev_info in device info Date: Wed, 31 Aug 2016 19:13:02 +0300 Message-ID: <1472659987-10417-3-git-send-email-imre.deak@intel.com> References: <1472659987-10417-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id D044B6E7BE for ; Wed, 31 Aug 2016 16:13:13 +0000 (UTC) In-Reply-To: <1472659987-10417-1-git-send-email-imre.deak@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: Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org TW92ZSBhbGwgc2xpY2Uvc3Vic2xpY2UvZXUgcmVsYXRlZCBwcm9wZXJ0aWVzIHRvIHRoZSBzc2V1 X2Rldl9pbmZvCnN0cnVjdC4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlLgoKdjI6Ci0gcy9pbmZvL3Nz ZXUvIGJhc2VkIG9uIHRoZSBuZXcgc3RydWN0IG5hbWUuIChCZW4pCgpSZXZpZXdlZC1ieTogUm9i ZXJ0IEJyYWdnIDxyb2JlcnRAc2l4YnluaW5lLm9yZz4gKHYxKQpSZXZpZXdlZC1ieTogQmVuIFdp ZGF3c2t5IDxiZW5qYW1pbi53aWRhd3NreUBpbnRlbC5jb20+ICh2MSkKVGVzdGVkLWJ5OiBCZW4g V2lkYXdza3kgPGJlbmphbWluLndpZGF3c2t5QGludGVsLmNvbT4gKHYxKQpTaWduZWQtb2ZmLWJ5 OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICB8ICAyOSArKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmMgICAgICAgICAgfCAgIDYgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggICAgICAgICAgfCAgMTggKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZXZpY2VfaW5mby5jIHwgMTAyICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgfCAgMTQgKystLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyAgfCAgIDQgKy0KIDcgZmlsZXMgY2hhbmdlZCwg ODggaW5zZXJ0aW9ucygrKSwgODcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYwppbmRleCA0YjRiOTc2Li5kYzNlYjJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYwpAQCAtNTA3NSw3ICs1MDc1LDcgQEAgc3RhdGljIHZvaWQgZ2VuOV9zc2V1X2Rldmlj ZV9zdGF0dXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQlzc2V1LT5zbGlj ZV90b3RhbCsrOwogCiAJCWlmIChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZTEFLRShk ZXZfcHJpdikpCi0JCQlzc19jbnQgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+c3Vic2xpY2VfcGVy X3NsaWNlOworCQkJc3NfY250ID0gSU5URUxfSU5GTyhkZXZfcHJpdiktPnNzZXUuc3Vic2xpY2Vf cGVyX3NsaWNlOwogCiAJCWZvciAoc3MgPSAwOyBzcyA8IHNzX21heDsgc3MrKykgewogCQkJdW5z aWduZWQgaW50IGV1X2NudDsKQEAgLTUxMTIsMTUgKzUxMTIsMTggQEAgc3RhdGljIHZvaWQgYnJv YWR3ZWxsX3NzZXVfZGV2aWNlX3N0YXR1cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJc3NldS0+c2xpY2VfdG90YWwgPSBod2VpZ2h0MzIoc2xpY2VfaW5mbyAmIEdFTjhfTFNM SUNFU1RBVF9NQVNLKTsKIAogCWlmIChzc2V1LT5zbGljZV90b3RhbCkgewotCQlzc2V1LT5zdWJz bGljZV9wZXJfc2xpY2UgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+c3Vic2xpY2VfcGVyX3NsaWNl OworCQlzc2V1LT5zdWJzbGljZV9wZXJfc2xpY2UgPQorCQkJCUlOVEVMX0lORk8oZGV2X3ByaXYp LT5zc2V1LnN1YnNsaWNlX3Blcl9zbGljZTsKIAkJc3NldS0+c3Vic2xpY2VfdG90YWwgPSBzc2V1 LT5zbGljZV90b3RhbCAqCiAJCQkJICAgICAgIHNzZXUtPnN1YnNsaWNlX3Blcl9zbGljZTsKLQkJ c3NldS0+ZXVfcGVyX3N1YnNsaWNlID0gSU5URUxfSU5GTyhkZXZfcHJpdiktPmV1X3Blcl9zdWJz bGljZTsKKwkJc3NldS0+ZXVfcGVyX3N1YnNsaWNlID0KKwkJCQlJTlRFTF9JTkZPKGRldl9wcml2 KS0+c3NldS5ldV9wZXJfc3Vic2xpY2U7CiAJCXNzZXUtPmV1X3RvdGFsID0gc3NldS0+ZXVfcGVy X3N1YnNsaWNlICogc3NldS0+c3Vic2xpY2VfdG90YWw7CiAKIAkJLyogc3VidHJhY3QgZnVzZWQg b2ZmIEVVKHMpIGZyb20gZW5hYmxlZCBzbGljZShzKSAqLwogCQlmb3IgKHMgPSAwOyBzIDwgc3Nl dS0+c2xpY2VfdG90YWw7IHMrKykgewotCQkJdTggc3Vic2xpY2VfN2V1ID0gSU5URUxfSU5GTyhk ZXZfcHJpdiktPnN1YnNsaWNlXzdldVtzXTsKKwkJCXU4IHN1YnNsaWNlXzdldSA9CisJCQkJSU5U RUxfSU5GTyhkZXZfcHJpdiktPnNzZXUuc3Vic2xpY2VfN2V1W3NdOwogCiAJCQlzc2V1LT5ldV90 b3RhbCAtPSBod2VpZ2h0OChzdWJzbGljZV83ZXUpOwogCQl9CkBAIC01MTM3LDI1ICs1MTQwLDI1 IEBAIHN0YXRpYyBpbnQgaTkxNV9zc2V1X3N0YXR1cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQg KnVudXNlZCkKIAogCXNlcV9wdXRzKG0sICJTU0VVIERldmljZSBJbmZvXG4iKTsKIAlzZXFfcHJp bnRmKG0sICIgIEF2YWlsYWJsZSBTbGljZSBUb3RhbDogJXVcbiIsCi0JCSAgIElOVEVMX0lORk8o ZGV2X3ByaXYpLT5zbGljZV90b3RhbCk7CisJCSAgIElOVEVMX0lORk8oZGV2X3ByaXYpLT5zc2V1 LnNsaWNlX3RvdGFsKTsKIAlzZXFfcHJpbnRmKG0sICIgIEF2YWlsYWJsZSBTdWJzbGljZSBUb3Rh bDogJXVcbiIsCi0JCSAgIElOVEVMX0lORk8oZGV2X3ByaXYpLT5zdWJzbGljZV90b3RhbCk7CisJ CSAgIElOVEVMX0lORk8oZGV2X3ByaXYpLT5zc2V1LnN1YnNsaWNlX3RvdGFsKTsKIAlzZXFfcHJp bnRmKG0sICIgIEF2YWlsYWJsZSBTdWJzbGljZSBQZXIgU2xpY2U6ICV1XG4iLAotCQkgICBJTlRF TF9JTkZPKGRldl9wcml2KS0+c3Vic2xpY2VfcGVyX3NsaWNlKTsKKwkJICAgSU5URUxfSU5GTyhk ZXZfcHJpdiktPnNzZXUuc3Vic2xpY2VfcGVyX3NsaWNlKTsKIAlzZXFfcHJpbnRmKG0sICIgIEF2 YWlsYWJsZSBFVSBUb3RhbDogJXVcbiIsCi0JCSAgIElOVEVMX0lORk8oZGV2X3ByaXYpLT5ldV90 b3RhbCk7CisJCSAgIElOVEVMX0lORk8oZGV2X3ByaXYpLT5zc2V1LmV1X3RvdGFsKTsKIAlzZXFf cHJpbnRmKG0sICIgIEF2YWlsYWJsZSBFVSBQZXIgU3Vic2xpY2U6ICV1XG4iLAotCQkgICBJTlRF TF9JTkZPKGRldl9wcml2KS0+ZXVfcGVyX3N1YnNsaWNlKTsKKwkJICAgSU5URUxfSU5GTyhkZXZf cHJpdiktPnNzZXUuZXVfcGVyX3N1YnNsaWNlKTsKIAlzZXFfcHJpbnRmKG0sICIgIEhhcyBQb29s ZWQgRVU6ICVzXG4iLCB5ZXNubyhIQVNfUE9PTEVEX0VVKGRldl9wcml2KSkpOwogCWlmIChIQVNf UE9PTEVEX0VVKGRldl9wcml2KSkKIAkJc2VxX3ByaW50ZihtLCAiICBNaW4gRVUgaW4gcG9vbDog JXVcbiIsCi0JCQkgICBJTlRFTF9JTkZPKGRldl9wcml2KS0+bWluX2V1X2luX3Bvb2wpOworCQkJ ICAgSU5URUxfSU5GTyhkZXZfcHJpdiktPnNzZXUubWluX2V1X2luX3Bvb2wpOwogCXNlcV9wcmlu dGYobSwgIiAgSGFzIFNsaWNlIFBvd2VyIEdhdGluZzogJXNcbiIsCi0JCSAgIHllc25vKElOVEVM X0lORk8oZGV2X3ByaXYpLT5oYXNfc2xpY2VfcGcpKTsKKwkJICAgeWVzbm8oSU5URUxfSU5GTyhk ZXZfcHJpdiktPnNzZXUuaGFzX3NsaWNlX3BnKSk7CiAJc2VxX3ByaW50ZihtLCAiICBIYXMgU3Vi c2xpY2UgUG93ZXIgR2F0aW5nOiAlc1xuIiwKLQkJICAgeWVzbm8oSU5URUxfSU5GTyhkZXZfcHJp diktPmhhc19zdWJzbGljZV9wZykpOworCQkgICB5ZXNubyhJTlRFTF9JTkZPKGRldl9wcml2KS0+ c3NldS5oYXNfc3Vic2xpY2VfcGcpKTsKIAlzZXFfcHJpbnRmKG0sICIgIEhhcyBFVSBQb3dlciBH YXRpbmc6ICVzXG4iLAotCQkgICB5ZXNubyhJTlRFTF9JTkZPKGRldl9wcml2KS0+aGFzX2V1X3Bn KSk7CisJCSAgIHllc25vKElOVEVMX0lORk8oZGV2X3ByaXYpLT5zc2V1Lmhhc19ldV9wZykpOwog CiAJc2VxX3B1dHMobSwgIlNTRVUgRGV2aWNlIFN0YXR1c1xuIik7CiAJbWVtc2V0KCZzc2V1LCAw LCBzaXplb2Yoc3NldSkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggNDdmZTA3Mi4uM2M0 MTdiMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0zMzEsMTIgKzMzMSwxMiBAQCBzdGF0 aWMgaW50IGk5MTVfZ2V0cGFyYW0oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK IAkJdmFsdWUgPSAxOwogCQlicmVhazsKIAljYXNlIEk5MTVfUEFSQU1fU1VCU0xJQ0VfVE9UQUw6 Ci0JCXZhbHVlID0gSU5URUxfSU5GTyhkZXYpLT5zdWJzbGljZV90b3RhbDsKKwkJdmFsdWUgPSBJ TlRFTF9JTkZPKGRldiktPnNzZXUuc3Vic2xpY2VfdG90YWw7CiAJCWlmICghdmFsdWUpCiAJCQly ZXR1cm4gLUVOT0RFVjsKIAkJYnJlYWs7CiAJY2FzZSBJOTE1X1BBUkFNX0VVX1RPVEFMOgotCQl2 YWx1ZSA9IElOVEVMX0lORk8oZGV2KS0+ZXVfdG90YWw7CisJCXZhbHVlID0gSU5URUxfSU5GTyhk ZXYpLT5zc2V1LmV1X3RvdGFsOwogCQlpZiAoIXZhbHVlKQogCQkJcmV0dXJuIC1FTk9ERVY7CiAJ CWJyZWFrOwpAQCAtMzUzLDcgKzM1Myw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZXRwYXJhbShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQl2YWx1ZSA9IEhBU19QT09MRURfRVUo ZGV2KTsKIAkJYnJlYWs7CiAJY2FzZSBJOTE1X1BBUkFNX01JTl9FVV9JTl9QT09MOgotCQl2YWx1 ZSA9IElOVEVMX0lORk8oZGV2KS0+bWluX2V1X2luX3Bvb2w7CisJCXZhbHVlID0gSU5URUxfSU5G TyhkZXYpLT5zc2V1Lm1pbl9ldV9pbl9wb29sOwogCQlicmVhazsKIAljYXNlIEk5MTVfUEFSQU1f TU1BUF9HVFRfVkVSU0lPTjoKIAkJLyogVGhvdWdoIHdlJ3ZlIHN0YXJ0ZWQgb3VyIG51bWJlcmlu ZyBmcm9tIDEsIGFuZCBzbyBjbGFzcyBhbGwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGZh ODEwMjcuLjBjOWVhZDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtNjc3LDYgKzY3Nywx MiBAQCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyB7CiAJdTggc3Vic2xpY2VfcGVyX3NsaWNlOwogCXU4 IGV1X3RvdGFsOwogCXU4IGV1X3Blcl9zdWJzbGljZTsKKwl1OCBtaW5fZXVfaW5fcG9vbDsKKwkv KiBGb3IgZWFjaCBzbGljZSwgd2hpY2ggc3Vic2xpY2UocykgaGFzKGhhdmUpIDcgRVVzIChiaXRm aWVsZCk/ICovCisJdTggc3Vic2xpY2VfN2V1WzNdOworCXU4IGhhc19zbGljZV9wZzoxOworCXU4 IGhhc19zdWJzbGljZV9wZzoxOworCXU4IGhhc19ldV9wZzoxOwogfTsKIAogc3RydWN0IGludGVs X2RldmljZV9pbmZvIHsKQEAgLTY5NiwxNyArNzAyLDcgQEAgc3RydWN0IGludGVsX2RldmljZV9p bmZvIHsKIAlpbnQgY3Vyc29yX29mZnNldHNbSTkxNV9NQVhfUElQRVNdOwogCiAJLyogU2xpY2Uv c3Vic2xpY2UvRVUgaW5mbyAqLwotCXU4IHNsaWNlX3RvdGFsOwotCXU4IHN1YnNsaWNlX3RvdGFs OwotCXU4IHN1YnNsaWNlX3Blcl9zbGljZTsKLQl1OCBldV90b3RhbDsKLQl1OCBldV9wZXJfc3Vi c2xpY2U7Ci0JdTggbWluX2V1X2luX3Bvb2w7Ci0JLyogRm9yIGVhY2ggc2xpY2UsIHdoaWNoIHN1 YnNsaWNlKHMpIGhhcyhoYXZlKSA3IEVVcyAoYml0ZmllbGQpPyAqLwotCXU4IHN1YnNsaWNlXzdl dVszXTsKLQl1OCBoYXNfc2xpY2VfcGc6MTsKLQl1OCBoYXNfc3Vic2xpY2VfcGc6MTsKLQl1OCBo YXNfZXVfcGc6MTsKKwlzdHJ1Y3Qgc3NldV9kZXZfaW5mbyBzc2V1OwogCiAJc3RydWN0IGNvbG9y X2x1dHMgewogCQl1MTYgZGVnYW1tYV9sdXRfc2l6ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZXZpY2VfaW5mby5jCmluZGV4IGNiYTEzN2YuLjVkYjM1NzEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYwpAQCAtNDYsNDggKzQ2LDQ5IEBAIHZvaWQgaW50ZWxf ZGV2aWNlX2luZm9fZHVtcChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIHN0 YXRpYyB2b2lkIGNoZXJyeXZpZXdfc3NldV9pbmZvX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogewotCXN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqaW5mbyA9IG1rd3Jp dGVfZGV2aWNlX2luZm8oZGV2X3ByaXYpOworCXN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1ID0g Jm1rd3JpdGVfZGV2aWNlX2luZm8oZGV2X3ByaXYpLT5zc2V1OwogCXUzMiBmdXNlLCBldV9kaXM7 CiAKIAlmdXNlID0gSTkxNV9SRUFEKENIVl9GVVNFX0dUKTsKIAotCWluZm8tPnNsaWNlX3RvdGFs ID0gMTsKKwlzc2V1LT5zbGljZV90b3RhbCA9IDE7CiAKIAlpZiAoIShmdXNlICYgQ0hWX0ZHVF9E SVNBQkxFX1NTMCkpIHsKLQkJaW5mby0+c3Vic2xpY2VfcGVyX3NsaWNlKys7CisJCXNzZXUtPnN1 YnNsaWNlX3Blcl9zbGljZSsrOwogCQlldV9kaXMgPSBmdXNlICYgKENIVl9GR1RfRVVfRElTX1NT MF9SMF9NQVNLIHwKIAkJCQkgQ0hWX0ZHVF9FVV9ESVNfU1MwX1IxX01BU0spOwotCQlpbmZvLT5l dV90b3RhbCArPSA4IC0gaHdlaWdodDMyKGV1X2Rpcyk7CisJCXNzZXUtPmV1X3RvdGFsICs9IDgg LSBod2VpZ2h0MzIoZXVfZGlzKTsKIAl9CiAKIAlpZiAoIShmdXNlICYgQ0hWX0ZHVF9ESVNBQkxF X1NTMSkpIHsKLQkJaW5mby0+c3Vic2xpY2VfcGVyX3NsaWNlKys7CisJCXNzZXUtPnN1YnNsaWNl X3Blcl9zbGljZSsrOwogCQlldV9kaXMgPSBmdXNlICYgKENIVl9GR1RfRVVfRElTX1NTMV9SMF9N QVNLIHwKIAkJCQkgQ0hWX0ZHVF9FVV9ESVNfU1MxX1IxX01BU0spOwotCQlpbmZvLT5ldV90b3Rh bCArPSA4IC0gaHdlaWdodDMyKGV1X2Rpcyk7CisJCXNzZXUtPmV1X3RvdGFsICs9IDggLSBod2Vp Z2h0MzIoZXVfZGlzKTsKIAl9CiAKLQlpbmZvLT5zdWJzbGljZV90b3RhbCA9IGluZm8tPnN1YnNs aWNlX3Blcl9zbGljZTsKKwlzc2V1LT5zdWJzbGljZV90b3RhbCA9IHNzZXUtPnN1YnNsaWNlX3Bl cl9zbGljZTsKIAkvKgogCSAqIENIViBleHBlY3RlZCB0byBhbHdheXMgaGF2ZSBhIHVuaWZvcm0g ZGlzdHJpYnV0aW9uIG9mIEVVCiAJICogYWNyb3NzIHN1YnNsaWNlcy4KIAkqLwotCWluZm8tPmV1 X3Blcl9zdWJzbGljZSA9IGluZm8tPnN1YnNsaWNlX3RvdGFsID8KLQkJCQlpbmZvLT5ldV90b3Rh bCAvIGluZm8tPnN1YnNsaWNlX3RvdGFsIDoKKwlzc2V1LT5ldV9wZXJfc3Vic2xpY2UgPSBzc2V1 LT5zdWJzbGljZV90b3RhbCA/CisJCQkJc3NldS0+ZXVfdG90YWwgLyBzc2V1LT5zdWJzbGljZV90 b3RhbCA6CiAJCQkJMDsKIAkvKgogCSAqIENIViBzdXBwb3J0cyBzdWJzbGljZSBwb3dlciBnYXRp bmcgb24gZGV2aWNlcyB3aXRoIG1vcmUgdGhhbgogCSAqIG9uZSBzdWJzbGljZSwgYW5kIHN1cHBv cnRzIEVVIHBvd2VyIGdhdGluZyBvbiBkZXZpY2VzIHdpdGgKIAkgKiBtb3JlIHRoYW4gb25lIEVV IHBhaXIgcGVyIHN1YnNsaWNlLgogCSovCi0JaW5mby0+aGFzX3NsaWNlX3BnID0gMDsKLQlpbmZv LT5oYXNfc3Vic2xpY2VfcGcgPSAoaW5mby0+c3Vic2xpY2VfdG90YWwgPiAxKTsKLQlpbmZvLT5o YXNfZXVfcGcgPSAoaW5mby0+ZXVfcGVyX3N1YnNsaWNlID4gMik7CisJc3NldS0+aGFzX3NsaWNl X3BnID0gMDsKKwlzc2V1LT5oYXNfc3Vic2xpY2VfcGcgPSAoc3NldS0+c3Vic2xpY2VfdG90YWwg PiAxKTsKKwlzc2V1LT5oYXNfZXVfcGcgPSAoc3NldS0+ZXVfcGVyX3N1YnNsaWNlID4gMik7CiB9 CiAKIHN0YXRpYyB2b2lkIGdlbjlfc3NldV9pbmZvX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogewogCXN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqaW5mbyA9IG1rd3Jp dGVfZGV2aWNlX2luZm8oZGV2X3ByaXYpOworCXN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1ID0g JmluZm8tPnNzZXU7CiAJaW50IHNfbWF4ID0gMywgc3NfbWF4ID0gNCwgZXVfbWF4ID0gODsKIAlp bnQgcywgc3M7CiAJdTMyIGZ1c2UyLCBzX2VuYWJsZSwgc3NfZGlzYWJsZSwgZXVfZGlzYWJsZTsK QEAgLTk3LDEzICs5OCwxMyBAQCBzdGF0aWMgdm9pZCBnZW45X3NzZXVfaW5mb19pbml0KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlzX2VuYWJsZSA9IChmdXNlMiAmIEdFTjhf RjJfU19FTkFfTUFTSykgPj4gR0VOOF9GMl9TX0VOQV9TSElGVDsKIAlzc19kaXNhYmxlID0gKGZ1 c2UyICYgR0VOOV9GMl9TU19ESVNfTUFTSykgPj4gR0VOOV9GMl9TU19ESVNfU0hJRlQ7CiAKLQlp bmZvLT5zbGljZV90b3RhbCA9IGh3ZWlnaHQzMihzX2VuYWJsZSk7CisJc3NldS0+c2xpY2VfdG90 YWwgPSBod2VpZ2h0MzIoc19lbmFibGUpOwogCS8qCiAJICogVGhlIHN1YnNsaWNlIGRpc2FibGUg ZmllbGQgaXMgZ2xvYmFsLCBpLmUuIGl0IGFwcGxpZXMKIAkgKiB0byBlYWNoIG9mIHRoZSBlbmFi bGVkIHNsaWNlcy4KIAkqLwotCWluZm8tPnN1YnNsaWNlX3Blcl9zbGljZSA9IHNzX21heCAtIGh3 ZWlnaHQzMihzc19kaXNhYmxlKTsKLQlpbmZvLT5zdWJzbGljZV90b3RhbCA9IGluZm8tPnNsaWNl X3RvdGFsICogaW5mby0+c3Vic2xpY2VfcGVyX3NsaWNlOworCXNzZXUtPnN1YnNsaWNlX3Blcl9z bGljZSA9IHNzX21heCAtIGh3ZWlnaHQzMihzc19kaXNhYmxlKTsKKwlzc2V1LT5zdWJzbGljZV90 b3RhbCA9IHNzZXUtPnNsaWNlX3RvdGFsICogc3NldS0+c3Vic2xpY2VfcGVyX3NsaWNlOwogCiAJ LyoKIAkgKiBJdGVyYXRlIHRocm91Z2ggZW5hYmxlZCBzbGljZXMgYW5kIHN1YnNsaWNlcyB0bwpA QCAtMTMxLDkgKzEzMiw5IEBAIHN0YXRpYyB2b2lkIGdlbjlfc3NldV9pbmZvX2luaXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkJICogc3Vic2xpY2VzIGlmIHRoZXkgYXJl IHVuYmFsYW5jZWQuCiAJCQkgKi8KIAkJCWlmIChldV9wZXJfc3MgPT0gNykKLQkJCQlpbmZvLT5z dWJzbGljZV83ZXVbc10gfD0gQklUKHNzKTsKKwkJCQlzc2V1LT5zdWJzbGljZV83ZXVbc10gfD0g QklUKHNzKTsKIAotCQkJaW5mby0+ZXVfdG90YWwgKz0gZXVfcGVyX3NzOworCQkJc3NldS0+ZXVf dG90YWwgKz0gZXVfcGVyX3NzOwogCQl9CiAJfQogCkBAIC0xNDQsOSArMTQ1LDkgQEAgc3RhdGlj IHZvaWQgZ2VuOV9zc2V1X2luZm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCiAJICogcmVjb3ZlcnkuIEJYVCBpcyBleHBlY3RlZCB0byBiZSBwZXJmZWN0bHkgdW5pZm9y bSBpbiBFVQogCSAqIGRpc3RyaWJ1dGlvbi4KIAkqLwotCWluZm8tPmV1X3Blcl9zdWJzbGljZSA9 IGluZm8tPnN1YnNsaWNlX3RvdGFsID8KLQkJCQlESVZfUk9VTkRfVVAoaW5mby0+ZXVfdG90YWws Ci0JCQkJCSAgICAgaW5mby0+c3Vic2xpY2VfdG90YWwpIDogMDsKKwlzc2V1LT5ldV9wZXJfc3Vi c2xpY2UgPSBzc2V1LT5zdWJzbGljZV90b3RhbCA/CisJCQkJRElWX1JPVU5EX1VQKHNzZXUtPmV1 X3RvdGFsLAorCQkJCQkgICAgIHNzZXUtPnN1YnNsaWNlX3RvdGFsKSA6IDA7CiAJLyoKIAkgKiBT S0wgc3VwcG9ydHMgc2xpY2UgcG93ZXIgZ2F0aW5nIG9uIGRldmljZXMgd2l0aCBtb3JlIHRoYW4K IAkgKiBvbmUgc2xpY2UsIGFuZCBzdXBwb3J0cyBFVSBwb3dlciBnYXRpbmcgb24gZGV2aWNlcyB3 aXRoCkBAIC0xNTUsMTIgKzE1NiwxMiBAQCBzdGF0aWMgdm9pZCBnZW45X3NzZXVfaW5mb19pbml0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkgKiBzdXBwb3J0cyBFVSBwb3dl ciBnYXRpbmcgb24gZGV2aWNlcyB3aXRoIG1vcmUgdGhhbiBvbmUgRVUKIAkgKiBwYWlyIHBlciBz dWJzbGljZS4KIAkqLwotCWluZm8tPmhhc19zbGljZV9wZyA9CisJc3NldS0+aGFzX3NsaWNlX3Bn ID0KIAkJKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldl9wcml2KSkgJiYK LQkJaW5mby0+c2xpY2VfdG90YWwgPiAxOwotCWluZm8tPmhhc19zdWJzbGljZV9wZyA9Ci0JCUlT X0JST1hUT04oZGV2X3ByaXYpICYmIGluZm8tPnN1YnNsaWNlX3RvdGFsID4gMTsKLQlpbmZvLT5o YXNfZXVfcGcgPSBpbmZvLT5ldV9wZXJfc3Vic2xpY2UgPiAyOworCQlzc2V1LT5zbGljZV90b3Rh bCA+IDE7CisJc3NldS0+aGFzX3N1YnNsaWNlX3BnID0KKwkJSVNfQlJPWFRPTihkZXZfcHJpdikg JiYgc3NldS0+c3Vic2xpY2VfdG90YWwgPiAxOworCXNzZXUtPmhhc19ldV9wZyA9IHNzZXUtPmV1 X3Blcl9zdWJzbGljZSA+IDI7CiAKIAlpZiAoSVNfQlJPWFRPTihkZXZfcHJpdikpIHsKICNkZWZp bmUgSVNfU1NfRElTQUJMRUQoX3NzX2Rpc2FibGUsIHNzKSAgICAoX3NzX2Rpc2FibGUgJiBCSVQo c3MpKQpAQCAtMTcxLDE5ICsxNzIsMTkgQEAgc3RhdGljIHZvaWQgZ2VuOV9zc2V1X2luZm9faW5p dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCSAqIGRvZXNuJ3QgYWZmZWN0 IGlmIHRoZSBkZXZpY2UgaGFzIGFsbCAzIHN1YnNsaWNlcyBlbmFibGVkLgogCQkgKi8KIAkJLyog V2FFbmFibGVQb29sZWRFdUZvcjJ4NjpieHQgKi8KLQkJaW5mby0+aGFzX3Bvb2xlZF9ldSA9ICgo aW5mby0+c3Vic2xpY2VfcGVyX3NsaWNlID09IDMpIHx8Ci0JCQkJICAgICAgIChpbmZvLT5zdWJz bGljZV9wZXJfc2xpY2UgPT0gMiAmJgorCQlpbmZvLT5oYXNfcG9vbGVkX2V1ID0gKChzc2V1LT5z dWJzbGljZV9wZXJfc2xpY2UgPT0gMykgfHwKKwkJCQkgICAgICAgKHNzZXUtPnN1YnNsaWNlX3Bl cl9zbGljZSA9PSAyICYmCiAJCQkJCUlOVEVMX1JFVklEKGRldl9wcml2KSA8IEJYVF9SRVZJRF9D MCkpOwogCi0JCWluZm8tPm1pbl9ldV9pbl9wb29sID0gMDsKKwkJc3NldS0+bWluX2V1X2luX3Bv b2wgPSAwOwogCQlpZiAoaW5mby0+aGFzX3Bvb2xlZF9ldSkgewogCQkJaWYgKElTX1NTX0RJU0FC TEVEKHNzX2Rpc2FibGUsIDApIHx8CiAJCQkgICAgSVNfU1NfRElTQUJMRUQoc3NfZGlzYWJsZSwg MikpCi0JCQkJaW5mby0+bWluX2V1X2luX3Bvb2wgPSAzOworCQkJCXNzZXUtPm1pbl9ldV9pbl9w b29sID0gMzsKIAkJCWVsc2UgaWYgKElTX1NTX0RJU0FCTEVEKHNzX2Rpc2FibGUsIDEpKQotCQkJ CWluZm8tPm1pbl9ldV9pbl9wb29sID0gNjsKKwkJCQlzc2V1LT5taW5fZXVfaW5fcG9vbCA9IDY7 CiAJCQllbHNlCi0JCQkJaW5mby0+bWluX2V1X2luX3Bvb2wgPSA5OworCQkJCXNzZXUtPm1pbl9l dV9pbl9wb29sID0gOTsKIAkJfQogI3VuZGVmIElTX1NTX0RJU0FCTEVECiAJfQpAQCAtMTkxLDcg KzE5Miw3IEBAIHN0YXRpYyB2b2lkIGdlbjlfc3NldV9pbmZvX2luaXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQogCiBzdGF0aWMgdm9pZCBicm9hZHdlbGxfc3NldV9pbmZvX2lu aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewotCXN0cnVjdCBpbnRlbF9k ZXZpY2VfaW5mbyAqaW5mbyA9IG1rd3JpdGVfZGV2aWNlX2luZm8oZGV2X3ByaXYpOworCXN0cnVj dCBzc2V1X2Rldl9pbmZvICpzc2V1ID0gJm1rd3JpdGVfZGV2aWNlX2luZm8oZGV2X3ByaXYpLT5z c2V1OwogCWNvbnN0IGludCBzX21heCA9IDMsIHNzX21heCA9IDMsIGV1X21heCA9IDg7CiAJaW50 IHMsIHNzOwogCXUzMiBmdXNlMiwgZXVfZGlzYWJsZVtzX21heF0sIHNfZW5hYmxlLCBzc19kaXNh YmxlOwpAQCAtMjA4LDE0ICsyMDksMTQgQEAgc3RhdGljIHZvaWQgYnJvYWR3ZWxsX3NzZXVfaW5m b19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJCSgoSTkxNV9SRUFE KEdFTjhfRVVfRElTQUJMRTIpICYgR0VOOF9FVV9ESVMyX1MyX01BU0spIDw8CiAJCQkgKDMyIC0g R0VOOF9FVV9ESVMxX1MyX1NISUZUKSk7CiAKLQlpbmZvLT5zbGljZV90b3RhbCA9IGh3ZWlnaHQz MihzX2VuYWJsZSk7CisJc3NldS0+c2xpY2VfdG90YWwgPSBod2VpZ2h0MzIoc19lbmFibGUpOwog CiAJLyoKIAkgKiBUaGUgc3Vic2xpY2UgZGlzYWJsZSBmaWVsZCBpcyBnbG9iYWwsIGkuZS4gaXQg YXBwbGllcwogCSAqIHRvIGVhY2ggb2YgdGhlIGVuYWJsZWQgc2xpY2VzLgogCSAqLwotCWluZm8t PnN1YnNsaWNlX3Blcl9zbGljZSA9IHNzX21heCAtIGh3ZWlnaHQzMihzc19kaXNhYmxlKTsKLQlp bmZvLT5zdWJzbGljZV90b3RhbCA9IGluZm8tPnNsaWNlX3RvdGFsICogaW5mby0+c3Vic2xpY2Vf cGVyX3NsaWNlOworCXNzZXUtPnN1YnNsaWNlX3Blcl9zbGljZSA9IHNzX21heCAtIGh3ZWlnaHQz Mihzc19kaXNhYmxlKTsKKwlzc2V1LT5zdWJzbGljZV90b3RhbCA9IHNzZXUtPnNsaWNlX3RvdGFs ICogc3NldS0+c3Vic2xpY2VfcGVyX3NsaWNlOwogCiAJLyoKIAkgKiBJdGVyYXRlIHRocm91Z2gg ZW5hYmxlZCBzbGljZXMgYW5kIHN1YnNsaWNlcyB0bwpAQCAtMjM5LDkgKzI0MCw5IEBAIHN0YXRp YyB2b2lkIGJyb2Fkd2VsbF9zc2V1X2luZm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiAJCQkgKiBSZWNvcmQgd2hpY2ggc3Vic2xpY2VzIGhhdmUgNyBFVXMuCiAJCQkg Ki8KIAkJCWlmIChldV9tYXggLSBuX2Rpc2FibGVkID09IDcpCi0JCQkJaW5mby0+c3Vic2xpY2Vf N2V1W3NdIHw9IDEgPDwgc3M7CisJCQkJc3NldS0+c3Vic2xpY2VfN2V1W3NdIHw9IDEgPDwgc3M7 CiAKLQkJCWluZm8tPmV1X3RvdGFsICs9IGV1X21heCAtIG5fZGlzYWJsZWQ7CisJCQlzc2V1LT5l dV90b3RhbCArPSBldV9tYXggLSBuX2Rpc2FibGVkOwogCQl9CiAJfQogCkBAIC0yNTAsMTYgKzI1 MSwxNiBAQCBzdGF0aWMgdm9pZCBicm9hZHdlbGxfc3NldV9pbmZvX2luaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogCSAqIHN1YnNsaWNlcyB3aXRoIHRoZSBleGNlcHRpb24g dGhhdCBhbnkgb25lIEVVIGluIGFueSBvbmUgc3Vic2xpY2UgbWF5CiAJICogYmUgZnVzZWQgb2Zm IGZvciBkaWUgcmVjb3ZlcnkuCiAJICovCi0JaW5mby0+ZXVfcGVyX3N1YnNsaWNlID0gaW5mby0+ c3Vic2xpY2VfdG90YWwgPwotCQlESVZfUk9VTkRfVVAoaW5mby0+ZXVfdG90YWwsIGluZm8tPnN1 YnNsaWNlX3RvdGFsKSA6IDA7CisJc3NldS0+ZXVfcGVyX3N1YnNsaWNlID0gc3NldS0+c3Vic2xp Y2VfdG90YWwgPworCQlESVZfUk9VTkRfVVAoc3NldS0+ZXVfdG90YWwsIHNzZXUtPnN1YnNsaWNl X3RvdGFsKSA6IDA7CiAKIAkvKgogCSAqIEJEVyBzdXBwb3J0cyBzbGljZSBwb3dlciBnYXRpbmcg b24gZGV2aWNlcyB3aXRoIG1vcmUgdGhhbgogCSAqIG9uZSBzbGljZS4KIAkgKi8KLQlpbmZvLT5o YXNfc2xpY2VfcGcgPSAoaW5mby0+c2xpY2VfdG90YWwgPiAxKTsKLQlpbmZvLT5oYXNfc3Vic2xp Y2VfcGcgPSAwOwotCWluZm8tPmhhc19ldV9wZyA9IDA7CisJc3NldS0+aGFzX3NsaWNlX3BnID0g KHNzZXUtPnNsaWNlX3RvdGFsID4gMSk7CisJc3NldS0+aGFzX3N1YnNsaWNlX3BnID0gMDsKKwlz c2V1LT5oYXNfZXVfcGcgPSAwOwogfQogCiAvKgpAQCAtMzc0LDE1ICszNzUsMTYgQEAgdm9pZCBp bnRlbF9kZXZpY2VfaW5mb19ydW50aW1lX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogCWlmIChJU19CWFRfUkVWSUQoZGV2X3ByaXYsIDAsIEJYVF9SRVZJRF9BMSkpCiAJ CWluZm8tPmhhc19zbm9vcCA9IGZhbHNlOwogCi0JRFJNX0RFQlVHX0RSSVZFUigic2xpY2UgdG90 YWw6ICV1XG4iLCBpbmZvLT5zbGljZV90b3RhbCk7Ci0JRFJNX0RFQlVHX0RSSVZFUigic3Vic2xp Y2UgdG90YWw6ICV1XG4iLCBpbmZvLT5zdWJzbGljZV90b3RhbCk7Ci0JRFJNX0RFQlVHX0RSSVZF Uigic3Vic2xpY2UgcGVyIHNsaWNlOiAldVxuIiwgaW5mby0+c3Vic2xpY2VfcGVyX3NsaWNlKTsK LQlEUk1fREVCVUdfRFJJVkVSKCJFVSB0b3RhbDogJXVcbiIsIGluZm8tPmV1X3RvdGFsKTsKLQlE Uk1fREVCVUdfRFJJVkVSKCJFVSBwZXIgc3Vic2xpY2U6ICV1XG4iLCBpbmZvLT5ldV9wZXJfc3Vi c2xpY2UpOworCURSTV9ERUJVR19EUklWRVIoInNsaWNlIHRvdGFsOiAldVxuIiwgaW5mby0+c3Nl dS5zbGljZV90b3RhbCk7CisJRFJNX0RFQlVHX0RSSVZFUigic3Vic2xpY2UgdG90YWw6ICV1XG4i LCBpbmZvLT5zc2V1LnN1YnNsaWNlX3RvdGFsKTsKKwlEUk1fREVCVUdfRFJJVkVSKCJzdWJzbGlj ZSBwZXIgc2xpY2U6ICV1XG4iLAorCQkJIGluZm8tPnNzZXUuc3Vic2xpY2VfcGVyX3NsaWNlKTsK KwlEUk1fREVCVUdfRFJJVkVSKCJFVSB0b3RhbDogJXVcbiIsIGluZm8tPnNzZXUuZXVfdG90YWwp OworCURSTV9ERUJVR19EUklWRVIoIkVVIHBlciBzdWJzbGljZTogJXVcbiIsIGluZm8tPnNzZXUu ZXVfcGVyX3N1YnNsaWNlKTsKIAlEUk1fREVCVUdfRFJJVkVSKCJoYXMgc2xpY2UgcG93ZXIgZ2F0 aW5nOiAlc1xuIiwKLQkJCSBpbmZvLT5oYXNfc2xpY2VfcGcgPyAieSIgOiAibiIpOworCQkJIGlu Zm8tPnNzZXUuaGFzX3NsaWNlX3BnID8gInkiIDogIm4iKTsKIAlEUk1fREVCVUdfRFJJVkVSKCJo YXMgc3Vic2xpY2UgcG93ZXIgZ2F0aW5nOiAlc1xuIiwKLQkJCSBpbmZvLT5oYXNfc3Vic2xpY2Vf cGcgPyAieSIgOiAibiIpOworCQkJIGluZm8tPnNzZXUuaGFzX3N1YnNsaWNlX3BnID8gInkiIDog Im4iKTsKIAlEUk1fREVCVUdfRFJJVkVSKCJoYXMgRVUgcG93ZXIgZ2F0aW5nOiAlc1xuIiwKLQkJ CSBpbmZvLT5oYXNfZXVfcGcgPyAieSIgOiAibiIpOworCQkJIGluZm8tPnNzZXUuaGFzX2V1X3Bn ID8gInkiIDogIm4iKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggNmI0OWRmNC4u M2IwNzZlMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTE4OTYsMjQgKzE4OTYsMjQg QEAgbWFrZV9ycGNzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkgKiBtdXN0 IG1ha2UgYW4gZXhwbGljaXQgcmVxdWVzdCB0aHJvdWdoIFJQQ1MgZm9yIGZ1bGwKIAkgKiBlbmFi bGVtZW50LgogCSovCi0JaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5oYXNfc2xpY2VfcGcpIHsK KwlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPnNzZXUuaGFzX3NsaWNlX3BnKSB7CiAJCXJwY3Mg fD0gR0VOOF9SUENTX1NfQ05UX0VOQUJMRTsKLQkJcnBjcyB8PSBJTlRFTF9JTkZPKGRldl9wcml2 KS0+c2xpY2VfdG90YWwgPDwKKwkJcnBjcyB8PSBJTlRFTF9JTkZPKGRldl9wcml2KS0+c3NldS5z bGljZV90b3RhbCA8PAogCQkJR0VOOF9SUENTX1NfQ05UX1NISUZUOwogCQlycGNzIHw9IEdFTjhf UlBDU19FTkFCTEU7CiAJfQogCi0JaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5oYXNfc3Vic2xp Y2VfcGcpIHsKKwlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPnNzZXUuaGFzX3N1YnNsaWNlX3Bn KSB7CiAJCXJwY3MgfD0gR0VOOF9SUENTX1NTX0NOVF9FTkFCTEU7Ci0JCXJwY3MgfD0gSU5URUxf SU5GTyhkZXZfcHJpdiktPnN1YnNsaWNlX3Blcl9zbGljZSA8PAorCQlycGNzIHw9IElOVEVMX0lO Rk8oZGV2X3ByaXYpLT5zc2V1LnN1YnNsaWNlX3Blcl9zbGljZSA8PAogCQkJR0VOOF9SUENTX1NT X0NOVF9TSElGVDsKIAkJcnBjcyB8PSBHRU44X1JQQ1NfRU5BQkxFOwogCX0KIAotCWlmIChJTlRF TF9JTkZPKGRldl9wcml2KS0+aGFzX2V1X3BnKSB7Ci0JCXJwY3MgfD0gSU5URUxfSU5GTyhkZXZf cHJpdiktPmV1X3Blcl9zdWJzbGljZSA8PAorCWlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+c3Nl dS5oYXNfZXVfcGcpIHsKKwkJcnBjcyB8PSBJTlRFTF9JTkZPKGRldl9wcml2KS0+c3NldS5ldV9w ZXJfc3Vic2xpY2UgPDwKIAkJCUdFTjhfUlBDU19FVV9NSU5fU0hJRlQ7Ci0JCXJwY3MgfD0gSU5U RUxfSU5GTyhkZXZfcHJpdiktPmV1X3Blcl9zdWJzbGljZSA8PAorCQlycGNzIHw9IElOVEVMX0lO Rk8oZGV2X3ByaXYpLT5zc2V1LmV1X3Blcl9zdWJzbGljZSA8PAogCQkJR0VOOF9SUENTX0VVX01B WF9TSElGVDsKIAkJcnBjcyB8PSBHRU44X1JQQ1NfRU5BQkxFOwogCX0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wbS5jCmluZGV4IGFiYTZmZDAuLjRmODMzYTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpA QCAtNTYzMiw3ICs1NjMyLDcgQEAgc3RhdGljIGludCBjaGVycnl2aWV3X3Jwc19tYXhfZnJlcShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAl2YWwgPSB2bHZfcHVuaXRfcmVh ZChkZXZfcHJpdiwgRkJfR0ZYX0ZNQVhfQVRfVk1BWF9GVVNFKTsKIAotCXN3aXRjaCAoSU5URUxf SU5GTyhkZXZfcHJpdiktPmV1X3RvdGFsKSB7CisJc3dpdGNoIChJTlRFTF9JTkZPKGRldl9wcml2 KS0+c3NldS5ldV90b3RhbCkgewogCWNhc2UgODoKIAkJLyogKDIgKiA0KSBjb25maWcgKi8KIAkJ cnAwID0gKHZhbCA+PiBGQl9HRlhfRk1BWF9BVF9WTUFYXzJTUzRFVV9GVVNFX1NISUZUKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCBjYzViY2QxLi40NDcyNzUy IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCkBAIC05NTEsNyArOTUx LDcgQEAgc3RhdGljIGludCBza2xfdHVuZV9pel9oYXNoaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSkKIAkJICogT25seSBjb25zaWRlciBzbGljZXMgd2hlcmUgb25lLCBhbmQgb25s eSBvbmUsIHN1YnNsaWNlIGhhcyA3CiAJCSAqIEVVcwogCQkgKi8KLQkJaWYgKCFpc19wb3dlcl9v Zl8yKGRldl9wcml2LT5pbmZvLnN1YnNsaWNlXzdldVtpXSkpCisJCWlmICghaXNfcG93ZXJfb2Zf MihJTlRFTF9JTkZPKGRldl9wcml2KS0+c3NldS5zdWJzbGljZV83ZXVbaV0pKQogCQkJY29udGlu dWU7CiAKIAkJLyoKQEAgLTk2MCw3ICs5NjAsNyBAQCBzdGF0aWMgaW50IHNrbF90dW5lX2l6X2hh c2hpbmcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCQkgKgogCQkgKiAtPiAgICAw IDw9IHNzIDw9IDM7CiAJCSAqLwotCQlzcyA9IGZmcyhkZXZfcHJpdi0+aW5mby5zdWJzbGljZV83 ZXVbaV0pIC0gMTsKKwkJc3MgPSBmZnMoSU5URUxfSU5GTyhkZXZfcHJpdiktPnNzZXUuc3Vic2xp Y2VfN2V1W2ldKSAtIDE7CiAJCXZhbHNbaV0gPSAzIC0gc3M7CiAJfQogCi0tIAoyLjUuMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==