From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: [PATCH v14 01/14] drm/i915: Record both min/max eu_per_subslice in sseu_dev_info Date: Fri, 26 May 2017 12:56:02 +0100 Message-ID: <20170526115615.9928-2-lionel.g.landwerlin@intel.com> References: <20170424071751.2416-1-lionel.g.landwerlin@intel.com> <20170526115615.9928-1-lionel.g.landwerlin@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 668526ECED for ; Fri, 26 May 2017 11:56:28 +0000 (UTC) In-Reply-To: <20170526115615.9928-1-lionel.g.landwerlin@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 RnJvbTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CgpXaGVuIHdlIHF1 ZXJ5IHRoZSBhdmFpbGFibGUgZXUgb24gZWFjaCBzdWJzbGljZSwgd2UgY3VycmVudGx5IG9ubHkK cmVwb3J0IHRoZSBtYXguIEl0IHdvdWxkIGFsc28gYmUgdXNlZnVsIHRvIHJlcG9ydCB0aGUgbWlu aW11bSBmb3VuZCBhcwp3ZWxsLgoKV2hlbiB3ZSBzZXQgUlBDUyAocG93ZXIgZ2F0aW5nIG92ZXIg dGhlIEVVKSwgd2UgY2FuIGFsc28gc3BlY2lmeSBib3RoCnRoZSBtaW4gYW5kIG1heCBudW1iZXIg b2YgZXUgdG8gY29uZmlndXJlIG9uIGVhY2ggc2xpY2U7IGN1cnJlbnRseSB3ZQpqdXN0IHNldCBp dCB0byBhIHNpbmdsZSB2YWx1ZSwgYnV0IHRoZSBmbGV4aWJpbGl0eSBtYXkgYmUgYmVuZWZpY2lh bCBpbgpmdXR1cmUuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdp bHNvbi5jby51az4KU2lnbmVkLW9mZi1ieTogTGlvbmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxh bmR3ZXJsaW5AaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMu bGFodGluZW5AbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jICAgICAgfCAzNiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICB8ICAzICsrLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYyB8IDMyICsrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgfCAgNCAr Ky0tCiA0IGZpbGVzIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggYzA4YTZkOGE0ZTA3Li4xNDkyMTRi YTM2YzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC00NDg5LDYgKzQ0ODks NyBAQCBERUZJTkVfU0lNUExFX0FUVFJJQlVURShpOTE1X2NhY2hlX3NoYXJpbmdfZm9wcywKIHN0 YXRpYyB2b2lkIGNoZXJyeXZpZXdfc3NldV9kZXZpY2Vfc3RhdHVzKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKIAkJCQkJICBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSkKIHsK Kwl1bnNpZ25lZCBpbnQgbWluX2V1X3Blcl9zdWJzbGljZSwgbWF4X2V1X3Blcl9zdWJzbGljZTsK IAlpbnQgc3NfbWF4ID0gMjsKIAlpbnQgc3M7CiAJdTMyIHNpZzFbc3NfbWF4XSwgc2lnMltzc19t YXhdOwpAQCAtNDQ5OCw2ICs0NDk5LDkgQEAgc3RhdGljIHZvaWQgY2hlcnJ5dmlld19zc2V1X2Rl dmljZV9zdGF0dXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCXNpZzJbMF0g PSBJOTE1X1JFQUQoQ0hWX1BPV0VSX1NTMF9TSUcyKTsKIAlzaWcyWzFdID0gSTkxNV9SRUFEKENI Vl9QT1dFUl9TUzFfU0lHMik7CiAKKwltaW5fZXVfcGVyX3N1YnNsaWNlID0gfjB1OworCW1heF9l dV9wZXJfc3Vic2xpY2UgPSAwOworCiAJZm9yIChzcyA9IDA7IHNzIDwgc3NfbWF4OyBzcysrKSB7 CiAJCXVuc2lnbmVkIGludCBldV9jbnQ7CiAKQEAgLTQ1MTIsMTQgKzQ1MTYsMTggQEAgc3RhdGlj IHZvaWQgY2hlcnJ5dmlld19zc2V1X2RldmljZV9zdGF0dXMoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogCQkJICgoc2lnMVtzc10gJiBDSFZfRVUyMTBfUEdfRU5BQkxFKSA/IDAg OiAyKSArCiAJCQkgKChzaWcyW3NzXSAmIENIVl9FVTMxMV9QR19FTkFCTEUpID8gMCA6IDIpOwog CQlzc2V1LT5ldV90b3RhbCArPSBldV9jbnQ7Ci0JCXNzZXUtPmV1X3Blcl9zdWJzbGljZSA9IG1h eF90KHVuc2lnbmVkIGludCwKLQkJCQkJICAgICAgc3NldS0+ZXVfcGVyX3N1YnNsaWNlLCBldV9j bnQpOworCQltaW5fZXVfcGVyX3N1YnNsaWNlID0gbWluKG1pbl9ldV9wZXJfc3Vic2xpY2UsIGV1 X2NudCk7CisJCW1heF9ldV9wZXJfc3Vic2xpY2UgPSBtYXgobWF4X2V1X3Blcl9zdWJzbGljZSwg ZXVfY250KTsKIAl9CisKKwlzc2V1LT5taW5fZXVfcGVyX3N1YnNsaWNlID0gbWluX2V1X3Blcl9z dWJzbGljZTsKKwlzc2V1LT5tYXhfZXVfcGVyX3N1YnNsaWNlID0gbWF4X2V1X3Blcl9zdWJzbGlj ZTsKIH0KIAogc3RhdGljIHZvaWQgZ2VuOV9zc2V1X2RldmljZV9zdGF0dXMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgICBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3Nl dSkKIHsKKwl1bnNpZ25lZCBpbnQgbWluX2V1X3Blcl9zdWJzbGljZSwgbWF4X2V1X3Blcl9zdWJz bGljZTsKIAlpbnQgc19tYXggPSAzLCBzc19tYXggPSA0OwogCWludCBzLCBzczsKIAl1MzIgc19y ZWdbc19tYXhdLCBldV9yZWdbMipzX21heF0sIGV1X21hc2tbMl07CkBAIC00NTQ1LDYgKzQ1NTMs OSBAQCBzdGF0aWMgdm9pZCBnZW45X3NzZXVfZGV2aWNlX3N0YXR1cyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCiAJCSAgICAgR0VOOV9QR0NUTF9TU0JfRVUyMTBfQUNLIHwKIAkJ ICAgICBHRU45X1BHQ1RMX1NTQl9FVTMxMV9BQ0s7CiAKKwltaW5fZXVfcGVyX3N1YnNsaWNlID0g fjB1OworCW1heF9ldV9wZXJfc3Vic2xpY2UgPSAwOworCiAJZm9yIChzID0gMDsgcyA8IHNfbWF4 OyBzKyspIHsKIAkJaWYgKChzX3JlZ1tzXSAmIEdFTjlfUEdDVExfU0xJQ0VfQUNLKSA9PSAwKQog CQkJLyogc2tpcCBkaXNhYmxlZCBzbGljZSAqLwpAQCAtNDU3MCwxMSArNDU4MSwxNCBAQCBzdGF0 aWMgdm9pZCBnZW45X3NzZXVfZGV2aWNlX3N0YXR1cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCiAJCQlldV9jbnQgPSAyICogaHdlaWdodDMyKGV1X3JlZ1syKnMgKyBzcy8yXSAm CiAJCQkJCSAgICAgICBldV9tYXNrW3NzJTJdKTsKIAkJCXNzZXUtPmV1X3RvdGFsICs9IGV1X2Nu dDsKLQkJCXNzZXUtPmV1X3Blcl9zdWJzbGljZSA9IG1heF90KHVuc2lnbmVkIGludCwKLQkJCQkJ CSAgICAgIHNzZXUtPmV1X3Blcl9zdWJzbGljZSwKLQkJCQkJCSAgICAgIGV1X2NudCk7CisKKwkJ CW1pbl9ldV9wZXJfc3Vic2xpY2UgPSBtaW4obWluX2V1X3Blcl9zdWJzbGljZSwgZXVfY250KTsK KwkJCW1heF9ldV9wZXJfc3Vic2xpY2UgPSBtYXgobWF4X2V1X3Blcl9zdWJzbGljZSwgZXVfY250 KTsKIAkJfQogCX0KKworCXNzZXUtPm1pbl9ldV9wZXJfc3Vic2xpY2UgPSBtaW5fZXVfcGVyX3N1 YnNsaWNlOworCXNzZXUtPm1heF9ldV9wZXJfc3Vic2xpY2UgPSBtYXhfZXVfcGVyX3N1YnNsaWNl OwogfQogCiBzdGF0aWMgdm9pZCBicm9hZHdlbGxfc3NldV9kZXZpY2Vfc3RhdHVzKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKQEAgLTQ1ODcsOSArNDYwMSwxMSBAQCBzdGF0aWMg dm9pZCBicm9hZHdlbGxfc3NldV9kZXZpY2Vfc3RhdHVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKIAogCWlmIChzc2V1LT5zbGljZV9tYXNrKSB7CiAJCXNzZXUtPnN1YnNsaWNl X21hc2sgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+c3NldS5zdWJzbGljZV9tYXNrOwotCQlzc2V1 LT5ldV9wZXJfc3Vic2xpY2UgPQotCQkJCUlOVEVMX0lORk8oZGV2X3ByaXYpLT5zc2V1LmV1X3Bl cl9zdWJzbGljZTsKLQkJc3NldS0+ZXVfdG90YWwgPSBzc2V1LT5ldV9wZXJfc3Vic2xpY2UgKgor CQlzc2V1LT5taW5fZXVfcGVyX3N1YnNsaWNlID0KKwkJCUlOVEVMX0lORk8oZGV2X3ByaXYpLT5z c2V1Lm1pbl9ldV9wZXJfc3Vic2xpY2U7CisJCXNzZXUtPm1heF9ldV9wZXJfc3Vic2xpY2UgPQor CQkJSU5URUxfSU5GTyhkZXZfcHJpdiktPnNzZXUubWF4X2V1X3Blcl9zdWJzbGljZTsKKwkJc3Nl dS0+ZXVfdG90YWwgPSBzc2V1LT5tYXhfZXVfcGVyX3N1YnNsaWNlICoKIAkJCQkgc3NldV9zdWJz bGljZV90b3RhbChzc2V1KTsKIAogCQkvKiBzdWJ0cmFjdCBmdXNlZCBvZmYgRVUocykgZnJvbSBl bmFibGVkIHNsaWNlKHMpICovCkBAIC00NjIwLDggKzQ2MzYsOCBAQCBzdGF0aWMgdm9pZCBpOTE1 X3ByaW50X3NzZXVfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGJvb2wgaXNfYXZhaWxhYmxlX2lu Zm8sCiAJCSAgIGh3ZWlnaHQ4KHNzZXUtPnN1YnNsaWNlX21hc2spKTsKIAlzZXFfcHJpbnRmKG0s ICIgICVzIEVVIFRvdGFsOiAldVxuIiwgdHlwZSwKIAkJICAgc3NldS0+ZXVfdG90YWwpOwotCXNl cV9wcmludGYobSwgIiAgJXMgRVUgUGVyIFN1YnNsaWNlOiAldVxuIiwgdHlwZSwKLQkJICAgc3Nl dS0+ZXVfcGVyX3N1YnNsaWNlKTsKKwlzZXFfcHJpbnRmKG0sICIgICVzIEVVIFBlciBTdWJzbGlj ZTogWyV1LCAldV1cbiIsIHR5cGUsCisJCSAgIHNzZXUtPm1pbl9ldV9wZXJfc3Vic2xpY2UsIHNz ZXUtPm1heF9ldV9wZXJfc3Vic2xpY2UpOwogCiAJaWYgKCFpc19hdmFpbGFibGVfaW5mbykKIAkJ cmV0dXJuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggOWJhMjI0MjdjMDVjLi43ZmFhZDBl YTE4YTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtNzgzLDcgKzc4Myw4IEBAIHN0cnVj dCBzc2V1X2Rldl9pbmZvIHsKIAl1OCBzbGljZV9tYXNrOwogCXU4IHN1YnNsaWNlX21hc2s7CiAJ dTggZXVfdG90YWw7Ci0JdTggZXVfcGVyX3N1YnNsaWNlOworCXU4IG1pbl9ldV9wZXJfc3Vic2xp Y2U7CisJdTggbWF4X2V1X3Blcl9zdWJzbGljZTsKIAl1OCBtaW5fZXVfaW5fcG9vbDsKIAkvKiBG b3IgZWFjaCBzbGljZSwgd2hpY2ggc3Vic2xpY2UocykgaGFzKGhhdmUpIDcgRVVzIChiaXRmaWVs ZCk/ICovCiAJdTggc3Vic2xpY2VfN2V1WzNdOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rl dmljZV9pbmZvLmMKaW5kZXggMzcxODM0MTY2MmMyLi5mMjFmNTk3YzVjYjkgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYwpAQCAtODMsNiArODMsNyBAQCB2b2lkIGlu dGVsX2RldmljZV9pbmZvX2R1bXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQog c3RhdGljIHZvaWQgY2hlcnJ5dmlld19zc2V1X2luZm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiB7CiAJc3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUgPSAmbWt3cml0 ZV9kZXZpY2VfaW5mbyhkZXZfcHJpdiktPnNzZXU7CisJdW5zaWduZWQgaW50IGV1X3Blcl9zdWJz bGljZTsKIAl1MzIgZnVzZSwgZXVfZGlzOwogCiAJZnVzZSA9IEk5MTVfUkVBRChDSFZfRlVTRV9H VCk7CkBAIC0xMDcsOSArMTA4LDEwIEBAIHN0YXRpYyB2b2lkIGNoZXJyeXZpZXdfc3NldV9pbmZv X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCSAqIENIViBleHBlY3Rl ZCB0byBhbHdheXMgaGF2ZSBhIHVuaWZvcm0gZGlzdHJpYnV0aW9uIG9mIEVVCiAJICogYWNyb3Nz IHN1YnNsaWNlcy4KIAkqLwotCXNzZXUtPmV1X3Blcl9zdWJzbGljZSA9IHNzZXVfc3Vic2xpY2Vf dG90YWwoc3NldSkgPwotCQkJCXNzZXUtPmV1X3RvdGFsIC8gc3NldV9zdWJzbGljZV90b3RhbChz c2V1KSA6Ci0JCQkJMDsKKwlldV9wZXJfc3Vic2xpY2UgPSBzc2V1X3N1YnNsaWNlX3RvdGFsKHNz ZXUpID8KKwkJc3NldS0+ZXVfdG90YWwgLyBzc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpIDogMDsK Kwlzc2V1LT5taW5fZXVfcGVyX3N1YnNsaWNlID0gZXVfcGVyX3N1YnNsaWNlOworCXNzZXUtPm1h eF9ldV9wZXJfc3Vic2xpY2UgPSBldV9wZXJfc3Vic2xpY2U7CiAJLyoKIAkgKiBDSFYgc3VwcG9y dHMgc3Vic2xpY2UgcG93ZXIgZ2F0aW5nIG9uIGRldmljZXMgd2l0aCBtb3JlIHRoYW4KIAkgKiBv bmUgc3Vic2xpY2UsIGFuZCBzdXBwb3J0cyBFVSBwb3dlciBnYXRpbmcgb24gZGV2aWNlcyB3aXRo CkBAIC0xMTcsMTMgKzExOSwxNCBAQCBzdGF0aWMgdm9pZCBjaGVycnl2aWV3X3NzZXVfaW5mb19p bml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkqLwogCXNzZXUtPmhhc19z bGljZV9wZyA9IDA7CiAJc3NldS0+aGFzX3N1YnNsaWNlX3BnID0gc3NldV9zdWJzbGljZV90b3Rh bChzc2V1KSA+IDE7Ci0Jc3NldS0+aGFzX2V1X3BnID0gKHNzZXUtPmV1X3Blcl9zdWJzbGljZSA+ IDIpOworCXNzZXUtPmhhc19ldV9wZyA9IGV1X3Blcl9zdWJzbGljZSA+IDI7CiB9CiAKIHN0YXRp YyB2b2lkIGdlbjlfc3NldV9pbmZvX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogewogCXN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqaW5mbyA9IG1rd3JpdGVfZGV2aWNl X2luZm8oZGV2X3ByaXYpOwogCXN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1ID0gJmluZm8tPnNz ZXU7CisJdW5zaWduZWQgaW50IGV1X3Blcl9zdWJzbGljZTsKIAlpbnQgc19tYXggPSAzLCBzc19t YXggPSA0LCBldV9tYXggPSA4OwogCWludCBzLCBzczsKIAl1MzIgZnVzZTIsIGV1X2Rpc2FibGU7 CkBAIC0xNzksOSArMTgyLDEwIEBAIHN0YXRpYyB2b2lkIGdlbjlfc3NldV9pbmZvX2luaXQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCSAqIHJlY292ZXJ5LiBCWFQgaXMgZXhw ZWN0ZWQgdG8gYmUgcGVyZmVjdGx5IHVuaWZvcm0gaW4gRVUKIAkgKiBkaXN0cmlidXRpb24uCiAJ Ki8KLQlzc2V1LT5ldV9wZXJfc3Vic2xpY2UgPSBzc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpID8K LQkJCQlESVZfUk9VTkRfVVAoc3NldS0+ZXVfdG90YWwsCi0JCQkJCSAgICAgc3NldV9zdWJzbGlj ZV90b3RhbChzc2V1KSkgOiAwOworCWV1X3Blcl9zdWJzbGljZSA9IHNzZXVfc3Vic2xpY2VfdG90 YWwoc3NldSkgPworCQlESVZfUk9VTkRfVVAoc3NldS0+ZXVfdG90YWwsIHNzZXVfc3Vic2xpY2Vf dG90YWwoc3NldSkpIDogMDsKKwlzc2V1LT5taW5fZXVfcGVyX3N1YnNsaWNlID0gZXVfcGVyX3N1 YnNsaWNlOworCXNzZXUtPm1heF9ldV9wZXJfc3Vic2xpY2UgPSBldV9wZXJfc3Vic2xpY2U7CiAJ LyoKIAkgKiBTS0wgc3VwcG9ydHMgc2xpY2UgcG93ZXIgZ2F0aW5nIG9uIGRldmljZXMgd2l0aCBt b3JlIHRoYW4KIAkgKiBvbmUgc2xpY2UsIGFuZCBzdXBwb3J0cyBFVSBwb3dlciBnYXRpbmcgb24g ZGV2aWNlcyB3aXRoCkBAIC0xOTUsNyArMTk5LDcgQEAgc3RhdGljIHZvaWQgZ2VuOV9zc2V1X2lu Zm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCWh3ZWlnaHQ4KHNz ZXUtPnNsaWNlX21hc2spID4gMTsKIAlzc2V1LT5oYXNfc3Vic2xpY2VfcGcgPQogCQlJU19HRU45 X0xQKGRldl9wcml2KSAmJiBzc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpID4gMTsKLQlzc2V1LT5o YXNfZXVfcGcgPSBzc2V1LT5ldV9wZXJfc3Vic2xpY2UgPiAyOworCXNzZXUtPmhhc19ldV9wZyA9 IGV1X3Blcl9zdWJzbGljZSA+IDI7CiAKIAlpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpIHsKICNk ZWZpbmUgSVNfU1NfRElTQUJMRUQoc3MpCSghKHNzZXUtPnN1YnNsaWNlX21hc2sgJiBCSVQoc3Mp KSkKQEAgLTIyOCw2ICsyMzIsNyBAQCBzdGF0aWMgdm9pZCBicm9hZHdlbGxfc3NldV9pbmZvX2lu aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXN0cnVjdCBzc2V1X2Rl dl9pbmZvICpzc2V1ID0gJm1rd3JpdGVfZGV2aWNlX2luZm8oZGV2X3ByaXYpLT5zc2V1OwogCWNv bnN0IGludCBzX21heCA9IDMsIHNzX21heCA9IDMsIGV1X21heCA9IDg7CisJdW5zaWduZWQgaW50 IGV1X3Blcl9zdWJzbGljZTsKIAlpbnQgcywgc3M7CiAJdTMyIGZ1c2UyLCBldV9kaXNhYmxlWzNd OyAvKiBzX21heCAqLwogCkBAIC0yODIsOSArMjg3LDEwIEBAIHN0YXRpYyB2b2lkIGJyb2Fkd2Vs bF9zc2V1X2luZm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJICog c3Vic2xpY2VzIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IGFueSBvbmUgRVUgaW4gYW55IG9uZSBz dWJzbGljZSBtYXkKIAkgKiBiZSBmdXNlZCBvZmYgZm9yIGRpZSByZWNvdmVyeS4KIAkgKi8KLQlz c2V1LT5ldV9wZXJfc3Vic2xpY2UgPSBzc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpID8KLQkJCQlE SVZfUk9VTkRfVVAoc3NldS0+ZXVfdG90YWwsCi0JCQkJCSAgICAgc3NldV9zdWJzbGljZV90b3Rh bChzc2V1KSkgOiAwOworCWV1X3Blcl9zdWJzbGljZSA9IHNzZXVfc3Vic2xpY2VfdG90YWwoc3Nl dSkgPworCQlESVZfUk9VTkRfVVAoc3NldS0+ZXVfdG90YWwsIHNzZXVfc3Vic2xpY2VfdG90YWwo c3NldSkpIDogMDsKKwlzc2V1LT5taW5fZXVfcGVyX3N1YnNsaWNlID0gZXVfcGVyX3N1YnNsaWNl OworCXNzZXUtPm1heF9ldV9wZXJfc3Vic2xpY2UgPSBldV9wZXJfc3Vic2xpY2U7CiAKIAkvKgog CSAqIEJEVyBzdXBwb3J0cyBzbGljZSBwb3dlciBnYXRpbmcgb24gZGV2aWNlcyB3aXRoIG1vcmUg dGhhbgpAQCAtNDIxLDcgKzQyNyw5IEBAIHZvaWQgaW50ZWxfZGV2aWNlX2luZm9fcnVudGltZV9p bml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlEUk1fREVCVUdfRFJJVkVS KCJzdWJzbGljZSBwZXIgc2xpY2U6ICV1XG4iLAogCQkJIGh3ZWlnaHQ4KGluZm8tPnNzZXUuc3Vi c2xpY2VfbWFzaykpOwogCURSTV9ERUJVR19EUklWRVIoIkVVIHRvdGFsOiAldVxuIiwgaW5mby0+ c3NldS5ldV90b3RhbCk7Ci0JRFJNX0RFQlVHX0RSSVZFUigiRVUgcGVyIHN1YnNsaWNlOiAldVxu IiwgaW5mby0+c3NldS5ldV9wZXJfc3Vic2xpY2UpOworCURSTV9ERUJVR19EUklWRVIoIkVVIHBl ciBzdWJzbGljZTogWyV1LCAldV1cbiIsCisJCQkgaW5mby0+c3NldS5taW5fZXVfcGVyX3N1YnNs aWNlLAorCQkJIGluZm8tPnNzZXUubWF4X2V1X3Blcl9zdWJzbGljZSk7CiAJRFJNX0RFQlVHX0RS SVZFUigiaGFzIHNsaWNlIHBvd2VyIGdhdGluZzogJXNcbiIsCiAJCQkgaW5mby0+c3NldS5oYXNf c2xpY2VfcGcgPyAieSIgOiAibiIpOwogCURSTV9ERUJVR19EUklWRVIoImhhcyBzdWJzbGljZSBw b3dlciBnYXRpbmc6ICVzXG4iLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCAwMTRiMzBh Y2U4YTAuLjlhMjc5YTU1OWEwZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTE4NDMs OSArMTg0Myw5IEBAIG1ha2VfcnBjcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiAJfQogCiAJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5zc2V1Lmhhc19ldV9wZykgewotCQly cGNzIHw9IElOVEVMX0lORk8oZGV2X3ByaXYpLT5zc2V1LmV1X3Blcl9zdWJzbGljZSA8PAorCQly cGNzIHw9IElOVEVMX0lORk8oZGV2X3ByaXYpLT5zc2V1Lm1pbl9ldV9wZXJfc3Vic2xpY2UgPDwK IAkJCUdFTjhfUlBDU19FVV9NSU5fU0hJRlQ7Ci0JCXJwY3MgfD0gSU5URUxfSU5GTyhkZXZfcHJp diktPnNzZXUuZXVfcGVyX3N1YnNsaWNlIDw8CisJCXJwY3MgfD0gSU5URUxfSU5GTyhkZXZfcHJp diktPnNzZXUubWF4X2V1X3Blcl9zdWJzbGljZSA8PAogCQkJR0VOOF9SUENTX0VVX01BWF9TSElG VDsKIAkJcnBjcyB8PSBHRU44X1JQQ1NfRU5BQkxFOwogCX0KLS0gCjIuMTEuMAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==