From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stuart Summers Subject: [CI 4/5] drm/i915: Refactor sseu helper functions Date: Fri, 24 May 2019 08:40:21 -0700 Message-ID: <20190524154022.13575-5-stuart.summers@intel.com> References: <20190524154022.13575-1-stuart.summers@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 DF24989FC5 for ; Fri, 24 May 2019 15:40:23 +0000 (UTC) In-Reply-To: <20190524154022.13575-1-stuart.summers@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 TW92ZSBmdW5jdGlvbnMgdG8gaW50ZWxfc3NldS5oIGFuZCByZW1vdmUgaW5saW5lIHF1YWxpZmll ci4KQWRkaXRpb25hbGx5LCBlbnN1cmUgdGhlc2UgYXJlIGFsbCBwcmVmaXhlZCB3aXRoIGludGVs X3NzZXVfKgp0byBtYXRjaCB0aGUgY29udmVudGlvbiBvZiBvdGhlciBmdW5jdGlvbnMgaW4gaTkx NS4KCnYyOiBmaXggc3BhY2luZyBmcm9tIGNoZWNrcGF0Y2ggd2FybmluZwp2Mzogc3F1YXNoIGhl bHBlciBmdW5jdGlvbiBjaGFuZ2VzIGludG8gYSBzaW5nbGUgcGF0Y2gKICAgIGJyZWFrIDgwIGNo YXJhY3RlciBsaW5lIHRvIGZpeCBjaGVja3BhdGNoIHdhcm5pbmcKICAgIG1vdmUgZ2V0L3NldF9l dXMgaGVscGVycyB0byBpbnRlbF9kZXZpY2VfaW5mby5jCnY0OiBSZW1vdmUgaW50ZWxfIHByZWZp eCBmcm9tIHN0YXRpYyBmdW5jdGlvbnMgaW4KICAgIGludGVsX2RldmljZV9pbmZvLmMgYW5kIGNv cnJlY3RseSBjb3B5IGNoYW5nZXMKICAgIHRvIHN0cmlkZSBjYWxjdWxhdGlvbiBpbiB0aG9zZSBm dW5jdGlvbnMuCgpBY2tlZC1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4K Q2M6IERhbmllbGUgQ2VyYW9sbyBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5j b20+ClJldmlld2VkLWJ5OiBEYW5pZWxlIENlcmFvbG8gU3B1cmlvIDxkYW5pZWxlLmNlcmFvbG9z cHVyaW9AaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBTdHVhcnQgU3VtbWVycyA8c3R1YXJ0LnN1 bW1lcnNAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3NzZXUu YyAgICAgfCAxNyArKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9zc2V1Lmgg ICAgIHwgMTAgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICB8 ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgICAgIHwgIDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMgfCA2MCArKysrKysrKysr KysrKysrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgg fCA0NCAtLS0tLS0tLS0tLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCsp LCA2MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF9zc2V1LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9zc2V1LmMKaW5kZXgg N2Y0NDhmM2JlYTBiLi5hMDc1NmYwMDZmNWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX3NzZXUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9z c2V1LmMKQEAgLTgsNiArOCwyMyBAQAogI2luY2x1ZGUgImludGVsX2xyY19yZWcuaCIKICNpbmNs dWRlICJpbnRlbF9zc2V1LmgiCiAKK3Vuc2lnbmVkIGludAoraW50ZWxfc3NldV9zdWJzbGljZV90 b3RhbChjb25zdCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSkKK3sKKwl1bnNpZ25lZCBpbnQg aSwgdG90YWwgPSAwOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc3NldS0+c3Vic2xp Y2VfbWFzayk7IGkrKykKKwkJdG90YWwgKz0gaHdlaWdodDgoc3NldS0+c3Vic2xpY2VfbWFza1tp XSk7CisKKwlyZXR1cm4gdG90YWw7Cit9CisKK3Vuc2lnbmVkIGludAoraW50ZWxfc3NldV9zdWJz bGljZXNfcGVyX3NsaWNlKGNvbnN0IHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1LCB1OCBzbGlj ZSkKK3sKKwlyZXR1cm4gaHdlaWdodDgoc3NldS0+c3Vic2xpY2VfbWFza1tzbGljZV0pOworfQor CiB1MzIgaW50ZWxfc3NldV9tYWtlX3JwY3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUs CiAJCQkgY29uc3Qgc3RydWN0IGludGVsX3NzZXUgKnJlcV9zc2V1KQogewpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfc3NldS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfc3NldS5oCmluZGV4IDk2MThkZmY0NmQ4My4uYjUwZDA0MDFhNGUyIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9zc2V1LmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfc3NldS5oCkBAIC02MywxMSArNjMsMTEgQEAgaW50ZWxf c3NldV9mcm9tX2RldmljZV9pbmZvKGNvbnN0IHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1KQog CXJldHVybiB2YWx1ZTsKIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQKLWludGVsX3Nz ZXVfc3Vic2xpY2VzX3Blcl9zbGljZShjb25zdCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSwg dTggc2xpY2UpCi17Ci0JcmV0dXJuIGh3ZWlnaHQ4KHNzZXUtPnN1YnNsaWNlX21hc2tbc2xpY2Vd KTsKLX0KK3Vuc2lnbmVkIGludAoraW50ZWxfc3NldV9zdWJzbGljZV90b3RhbChjb25zdCBzdHJ1 Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSk7CisKK3Vuc2lnbmVkIGludAoraW50ZWxfc3NldV9zdWJz bGljZXNfcGVyX3NsaWNlKGNvbnN0IHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1LCB1OCBzbGlj ZSk7CiAKIHUzMiBpbnRlbF9zc2V1X21ha2VfcnBjcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSwKIAkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfc3NldSAqcmVxX3NzZXUpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYwppbmRleCA3M2NjNmQ5ZjkxNTcuLjc1NTZhMjA1ZjY3NyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTQxNzYsNyArNDE3Niw3IEBAIHN0YXRp YyB2b2lkIGJyb2Fkd2VsbF9zc2V1X2RldmljZV9zdGF0dXMoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogCQkJCVJVTlRJTUVfSU5GTyhkZXZfcHJpdiktPnNzZXUuc3Vic2xpY2Vf bWFza1tzXTsKIAkJfQogCQlzc2V1LT5ldV90b3RhbCA9IHNzZXUtPmV1X3Blcl9zdWJzbGljZSAq Ci0JCQkJIHNzZXVfc3Vic2xpY2VfdG90YWwoc3NldSk7CisJCQkJIGludGVsX3NzZXVfc3Vic2xp Y2VfdG90YWwoc3NldSk7CiAKIAkJLyogc3VidHJhY3QgZnVzZWQgb2ZmIEVVKHMpIGZyb20gZW5h YmxlZCBzbGljZShzKSAqLwogCQlmb3IgKHMgPSAwOyBzIDwgZmxzKHNzZXUtPnNsaWNlX21hc2sp OyBzKyspIHsKQEAgLTQyMDAsNyArNDIwMCw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfcHJpbnRfc3Nl dV9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgYm9vbCBpc19hdmFpbGFibGVfaW5mbywKIAlzZXFf cHJpbnRmKG0sICIgICVzIFNsaWNlIFRvdGFsOiAldVxuIiwgdHlwZSwKIAkJICAgaHdlaWdodDgo c3NldS0+c2xpY2VfbWFzaykpOwogCXNlcV9wcmludGYobSwgIiAgJXMgU3Vic2xpY2UgVG90YWw6 ICV1XG4iLCB0eXBlLAotCQkgICBzc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpKTsKKwkJICAgaW50 ZWxfc3NldV9zdWJzbGljZV90b3RhbChzc2V1KSk7CiAJZm9yIChzID0gMDsgcyA8IGZscyhzc2V1 LT5zbGljZV9tYXNrKTsgcysrKSB7CiAJCXNlcV9wcmludGYobSwgIiAgJXMgU2xpY2UlaSBzdWJz bGljZXM6ICV1XG4iLCB0eXBlLAogCQkJICAgcywgaW50ZWxfc3NldV9zdWJzbGljZXNfcGVyX3Ns aWNlKHNzZXUsIHMpKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCmluZGV4IDcxMmQ0ODkzNmU4YS4u ZjNlZWE1Njc2MTIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKQEAgLTM4Myw3ICszODMsNyBA QCBzdGF0aWMgaW50IGk5MTVfZ2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dm9pZCAqZGF0YSwKIAkJdmFsdWUgPSBpOTE1X2NtZF9wYXJzZXJfZ2V0X3ZlcnNpb24oZGV2X3By aXYpOwogCQlicmVhazsKIAljYXNlIEk5MTVfUEFSQU1fU1VCU0xJQ0VfVE9UQUw6Ci0JCXZhbHVl ID0gc3NldV9zdWJzbGljZV90b3RhbChzc2V1KTsKKwkJdmFsdWUgPSBpbnRlbF9zc2V1X3N1YnNs aWNlX3RvdGFsKHNzZXUpOwogCQlpZiAoIXZhbHVlKQogCQkJcmV0dXJuIC1FTk9ERVY7CiAJCWJy ZWFrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKaW5kZXggOWQ2Yjlj NDViYzVlLi45N2Y3NDI1MzBmYTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RldmljZV9pbmZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNl X2luZm8uYwpAQCAtOTAsNyArOTAsNyBAQCBzdGF0aWMgdm9pZCBzc2V1X2R1bXAoY29uc3Qgc3Ry dWN0IHNzZXVfZGV2X2luZm8gKnNzZXUsIHN0cnVjdCBkcm1fcHJpbnRlciAqcCkKIAogCWRybV9w cmludGYocCwgInNsaWNlIHRvdGFsOiAldSwgbWFzaz0lMDR4XG4iLAogCQkgICBod2VpZ2h0OChz c2V1LT5zbGljZV9tYXNrKSwgc3NldS0+c2xpY2VfbWFzayk7Ci0JZHJtX3ByaW50ZihwLCAic3Vi c2xpY2UgdG90YWw6ICV1XG4iLCBzc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpKTsKKwlkcm1fcHJp bnRmKHAsICJzdWJzbGljZSB0b3RhbDogJXVcbiIsIGludGVsX3NzZXVfc3Vic2xpY2VfdG90YWwo c3NldSkpOwogCWZvciAocyA9IDA7IHMgPCBzc2V1LT5tYXhfc2xpY2VzOyBzKyspIHsKIAkJZHJt X3ByaW50ZihwLCAic2xpY2UlZDogJXUgc3Vic2xpY2VzLCBtYXNrPSUwNHhcbiIsCiAJCQkgICBz LCBpbnRlbF9zc2V1X3N1YnNsaWNlc19wZXJfc2xpY2Uoc3NldSwgcyksCkBAIC0xMTQsNiArMTE0 LDQwIEBAIHZvaWQgaW50ZWxfZGV2aWNlX2luZm9fZHVtcF9ydW50aW1lKGNvbnN0IHN0cnVjdCBp bnRlbF9ydW50aW1lX2luZm8gKmluZm8sCiAJCSAgIGluZm8tPmNzX3RpbWVzdGFtcF9mcmVxdWVu Y3lfa2h6KTsKIH0KIAorc3RhdGljIGludCBzc2V1X2V1X2lkeChjb25zdCBzdHJ1Y3Qgc3NldV9k ZXZfaW5mbyAqc3NldSwgaW50IHNsaWNlLAorCQkgICAgICAgaW50IHN1YnNsaWNlKQoreworCWlu dCBzdWJzbGljZV9zdHJpZGUgPSBHRU5fU1NFVV9TVFJJREUoc3NldS0+bWF4X2V1c19wZXJfc3Vi c2xpY2UpOworCWludCBzbGljZV9zdHJpZGUgPSBzc2V1LT5tYXhfc3Vic2xpY2VzICogc3Vic2xp Y2Vfc3RyaWRlOworCisJcmV0dXJuIHNsaWNlICogc2xpY2Vfc3RyaWRlICsgc3Vic2xpY2UgKiBz dWJzbGljZV9zdHJpZGU7Cit9CisKK3N0YXRpYyB1MTYgc3NldV9nZXRfZXVzKGNvbnN0IHN0cnVj dCBzc2V1X2Rldl9pbmZvICpzc2V1LCBpbnQgc2xpY2UsCisJCQlpbnQgc3Vic2xpY2UpCit7CisJ aW50IGksIG9mZnNldCA9IHNzZXVfZXVfaWR4KHNzZXUsIHNsaWNlLCBzdWJzbGljZSk7CisJdTE2 IGV1X21hc2sgPSAwOworCisJZm9yIChpID0gMDsgaSA8IEdFTl9TU0VVX1NUUklERShzc2V1LT5t YXhfZXVzX3Blcl9zdWJzbGljZSk7IGkrKykgeworCQlldV9tYXNrIHw9ICgodTE2KXNzZXUtPmV1 X21hc2tbb2Zmc2V0ICsgaV0pIDw8CisJCQkoaSAqIEJJVFNfUEVSX0JZVEUpOworCX0KKworCXJl dHVybiBldV9tYXNrOworfQorCitzdGF0aWMgdm9pZCBzc2V1X3NldF9ldXMoc3RydWN0IHNzZXVf ZGV2X2luZm8gKnNzZXUsIGludCBzbGljZSwgaW50IHN1YnNsaWNlLAorCQkJIHUxNiBldV9tYXNr KQoreworCWludCBpLCBvZmZzZXQgPSBzc2V1X2V1X2lkeChzc2V1LCBzbGljZSwgc3Vic2xpY2Up OworCisJZm9yIChpID0gMDsgaSA8IEdFTl9TU0VVX1NUUklERShzc2V1LT5tYXhfZXVzX3Blcl9z dWJzbGljZSk7IGkrKykgeworCQlzc2V1LT5ldV9tYXNrW29mZnNldCArIGldID0KKwkJCShldV9t YXNrID4+IChCSVRTX1BFUl9CWVRFICogaSkpICYgMHhmZjsKKwl9Cit9CisKIHZvaWQgaW50ZWxf ZGV2aWNlX2luZm9fZHVtcF90b3BvbG9neShjb25zdCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3Nl dSwKIAkJCQkgICAgIHN0cnVjdCBkcm1fcHJpbnRlciAqcCkKIHsKQEAgLTI2MCw5ICsyOTQsMTAg QEAgc3RhdGljIHZvaWQgZ2VuMTBfc3NldV9pbmZvX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogCSAqIEVVIGluIGFueSBvbmUgc3Vic2xpY2UgbWF5IGJlIGZ1c2VkIG9m ZiBmb3IgZGllCiAJICogcmVjb3ZlcnkuCiAJICovCi0Jc3NldS0+ZXVfcGVyX3N1YnNsaWNlID0g c3NldV9zdWJzbGljZV90b3RhbChzc2V1KSA/CisJc3NldS0+ZXVfcGVyX3N1YnNsaWNlID0gaW50 ZWxfc3NldV9zdWJzbGljZV90b3RhbChzc2V1KSA/CiAJCQkJRElWX1JPVU5EX1VQKHNzZXUtPmV1 X3RvdGFsLAotCQkJCQkgICAgIHNzZXVfc3Vic2xpY2VfdG90YWwoc3NldSkpIDogMDsKKwkJCQkJ ICAgICBpbnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpKSA6CisJCQkJMDsKIAogCS8qIE5v IHJlc3RyaWN0aW9ucyBvbiBQb3dlciBHYXRpbmcgKi8KIAlzc2V1LT5oYXNfc2xpY2VfcGcgPSAx OwpAQCAtMzEwLDggKzM0NSw5IEBAIHN0YXRpYyB2b2lkIGNoZXJyeXZpZXdfc3NldV9pbmZvX2lu aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCSAqIENIViBleHBlY3RlZCB0 byBhbHdheXMgaGF2ZSBhIHVuaWZvcm0gZGlzdHJpYnV0aW9uIG9mIEVVCiAJICogYWNyb3NzIHN1 YnNsaWNlcy4KIAkqLwotCXNzZXUtPmV1X3Blcl9zdWJzbGljZSA9IHNzZXVfc3Vic2xpY2VfdG90 YWwoc3NldSkgPwotCQkJCXNzZXUtPmV1X3RvdGFsIC8gc3NldV9zdWJzbGljZV90b3RhbChzc2V1 KSA6CisJc3NldS0+ZXVfcGVyX3N1YnNsaWNlID0gaW50ZWxfc3NldV9zdWJzbGljZV90b3RhbChz c2V1KSA/CisJCQkJc3NldS0+ZXVfdG90YWwgLworCQkJCQlpbnRlbF9zc2V1X3N1YnNsaWNlX3Rv dGFsKHNzZXUpIDoKIAkJCQkwOwogCS8qCiAJICogQ0hWIHN1cHBvcnRzIHN1YnNsaWNlIHBvd2Vy IGdhdGluZyBvbiBkZXZpY2VzIHdpdGggbW9yZSB0aGFuCkBAIC0zMTksNyArMzU1LDcgQEAgc3Rh dGljIHZvaWQgY2hlcnJ5dmlld19zc2V1X2luZm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCiAJICogbW9yZSB0aGFuIG9uZSBFVSBwYWlyIHBlciBzdWJzbGljZS4KIAkq LwogCXNzZXUtPmhhc19zbGljZV9wZyA9IDA7Ci0Jc3NldS0+aGFzX3N1YnNsaWNlX3BnID0gc3Nl dV9zdWJzbGljZV90b3RhbChzc2V1KSA+IDE7CisJc3NldS0+aGFzX3N1YnNsaWNlX3BnID0gaW50 ZWxfc3NldV9zdWJzbGljZV90b3RhbChzc2V1KSA+IDE7CiAJc3NldS0+aGFzX2V1X3BnID0gKHNz ZXUtPmV1X3Blcl9zdWJzbGljZSA+IDIpOwogfQogCkBAIC0zOTMsOSArNDI5LDEwIEBAIHN0YXRp YyB2b2lkIGdlbjlfc3NldV9pbmZvX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogCSAqIHJlY292ZXJ5LiBCWFQgaXMgZXhwZWN0ZWQgdG8gYmUgcGVyZmVjdGx5IHVuaWZv cm0gaW4gRVUKIAkgKiBkaXN0cmlidXRpb24uCiAJKi8KLQlzc2V1LT5ldV9wZXJfc3Vic2xpY2Ug PSBzc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpID8KKwlzc2V1LT5ldV9wZXJfc3Vic2xpY2UgPSBp bnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpID8KIAkJCQlESVZfUk9VTkRfVVAoc3NldS0+ ZXVfdG90YWwsCi0JCQkJCSAgICAgc3NldV9zdWJzbGljZV90b3RhbChzc2V1KSkgOiAwOworCQkJ CQkgICAgIGludGVsX3NzZXVfc3Vic2xpY2VfdG90YWwoc3NldSkpIDoKKwkJCQkwOwogCS8qCiAJ ICogU0tMKyBzdXBwb3J0cyBzbGljZSBwb3dlciBnYXRpbmcgb24gZGV2aWNlcyB3aXRoIG1vcmUg dGhhbgogCSAqIG9uZSBzbGljZSwgYW5kIHN1cHBvcnRzIEVVIHBvd2VyIGdhdGluZyBvbiBkZXZp Y2VzIHdpdGgKQEAgLTQwNyw3ICs0NDQsNyBAQCBzdGF0aWMgdm9pZCBnZW45X3NzZXVfaW5mb19p bml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlzc2V1LT5oYXNfc2xpY2Vf cGcgPQogCQkhSVNfR0VOOV9MUChkZXZfcHJpdikgJiYgaHdlaWdodDgoc3NldS0+c2xpY2VfbWFz aykgPiAxOwogCXNzZXUtPmhhc19zdWJzbGljZV9wZyA9Ci0JCUlTX0dFTjlfTFAoZGV2X3ByaXYp ICYmIHNzZXVfc3Vic2xpY2VfdG90YWwoc3NldSkgPiAxOworCQlJU19HRU45X0xQKGRldl9wcml2 KSAmJiBpbnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpID4gMTsKIAlzc2V1LT5oYXNfZXVf cGcgPSBzc2V1LT5ldV9wZXJfc3Vic2xpY2UgPiAyOwogCiAJaWYgKElTX0dFTjlfTFAoZGV2X3By aXYpKSB7CkBAIC00OTYsOSArNTMzLDEwIEBAIHN0YXRpYyB2b2lkIGJyb2Fkd2VsbF9zc2V1X2lu Zm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJICogc3Vic2xpY2Vz IHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IGFueSBvbmUgRVUgaW4gYW55IG9uZSBzdWJzbGljZSBt YXkKIAkgKiBiZSBmdXNlZCBvZmYgZm9yIGRpZSByZWNvdmVyeS4KIAkgKi8KLQlzc2V1LT5ldV9w ZXJfc3Vic2xpY2UgPSBzc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpID8KKwlzc2V1LT5ldV9wZXJf c3Vic2xpY2UgPSBpbnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFsKHNzZXUpID8KIAkJCQlESVZfUk9V TkRfVVAoc3NldS0+ZXVfdG90YWwsCi0JCQkJCSAgICAgc3NldV9zdWJzbGljZV90b3RhbChzc2V1 KSkgOiAwOworCQkJCQkgICAgIGludGVsX3NzZXVfc3Vic2xpY2VfdG90YWwoc3NldSkpIDoKKwkJ CQkwOwogCiAJLyoKIAkgKiBCRFcgc3VwcG9ydHMgc2xpY2UgcG93ZXIgZ2F0aW5nIG9uIGRldmlj ZXMgd2l0aCBtb3JlIHRoYW4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RldmljZV9pbmZvLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5o CmluZGV4IDlkNDNmN2VkZmQ2My4uNjQxMmE5YzcyODk4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RldmljZV9pbmZvLmgKQEAgLTIxOCw1MCArMjE4LDYgQEAgc3RydWN0IGludGVsX2Ry aXZlcl9jYXBzIHsKIAlib29sIGhhc19sb2dpY2FsX2NvbnRleHRzOjE7CiB9OwogCi1zdGF0aWMg aW5saW5lIHVuc2lnbmVkIGludCBzc2V1X3N1YnNsaWNlX3RvdGFsKGNvbnN0IHN0cnVjdCBzc2V1 X2Rldl9pbmZvICpzc2V1KQotewotCXVuc2lnbmVkIGludCBpLCB0b3RhbCA9IDA7Ci0KLQlmb3Ig KGkgPSAwOyBpIDwgQVJSQVlfU0laRShzc2V1LT5zdWJzbGljZV9tYXNrKTsgaSsrKQotCQl0b3Rh bCArPSBod2VpZ2h0OChzc2V1LT5zdWJzbGljZV9tYXNrW2ldKTsKLQotCXJldHVybiB0b3RhbDsK LX0KLQotc3RhdGljIGlubGluZSBpbnQgc3NldV9ldV9pZHgoY29uc3Qgc3RydWN0IHNzZXVfZGV2 X2luZm8gKnNzZXUsCi0JCQkgICAgICBpbnQgc2xpY2UsIGludCBzdWJzbGljZSkKLXsKLQlpbnQg c3Vic2xpY2Vfc3RyaWRlID0gR0VOX1NTRVVfU1RSSURFKHNzZXUtPm1heF9ldXNfcGVyX3N1YnNs aWNlKTsKLQlpbnQgc2xpY2Vfc3RyaWRlID0gc3NldS0+bWF4X3N1YnNsaWNlcyAqIHN1YnNsaWNl X3N0cmlkZTsKLQotCXJldHVybiBzbGljZSAqIHNsaWNlX3N0cmlkZSArIHN1YnNsaWNlICogc3Vi c2xpY2Vfc3RyaWRlOwotfQotCi1zdGF0aWMgaW5saW5lIHUxNiBzc2V1X2dldF9ldXMoY29uc3Qg c3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUsCi0JCQkgICAgICAgaW50IHNsaWNlLCBpbnQgc3Vi c2xpY2UpCi17Ci0JaW50IGksIG9mZnNldCA9IHNzZXVfZXVfaWR4KHNzZXUsIHNsaWNlLCBzdWJz bGljZSk7Ci0JdTE2IGV1X21hc2sgPSAwOwotCi0JZm9yIChpID0gMDsgaSA8IEdFTl9TU0VVX1NU UklERShzc2V1LT5tYXhfZXVzX3Blcl9zdWJzbGljZSk7IGkrKykgewotCQlldV9tYXNrIHw9ICgo dTE2KSBzc2V1LT5ldV9tYXNrW29mZnNldCArIGldKSA8PAotCQkJKGkgKiBCSVRTX1BFUl9CWVRF KTsKLQl9Ci0KLQlyZXR1cm4gZXVfbWFzazsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHNzZXVf c2V0X2V1cyhzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSwKLQkJCQlpbnQgc2xpY2UsIGludCBz dWJzbGljZSwgdTE2IGV1X21hc2spCi17Ci0JaW50IGksIG9mZnNldCA9IHNzZXVfZXVfaWR4KHNz ZXUsIHNsaWNlLCBzdWJzbGljZSk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgR0VOX1NTRVVfU1RSSURF KHNzZXUtPm1heF9ldXNfcGVyX3N1YnNsaWNlKTsgaSsrKSB7Ci0JCXNzZXUtPmV1X21hc2tbb2Zm c2V0ICsgaV0gPQotCQkJKGV1X21hc2sgPj4gKEJJVFNfUEVSX0JZVEUgKiBpKSkgJiAweGZmOwot CX0KLX0KLQogY29uc3QgY2hhciAqaW50ZWxfcGxhdGZvcm1fbmFtZShlbnVtIGludGVsX3BsYXRm b3JtIHBsYXRmb3JtKTsKIAogdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19zdWJwbGF0Zm9ybV9pbml0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Ci0tIAoyLjIxLjAuNS5nYWViNTgy YTk4MwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4