From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: [PATCH 04/10] drm/i915/tdr: Modify error handler for per engine hang recovery Date: Wed, 11 Jan 2017 20:18:11 -0800 Message-ID: <20170112041817.1102-5-michel.thierry@intel.com> References: <20170112041817.1102-1-michel.thierry@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 00CC36EB0E for ; Thu, 12 Jan 2017 04:18:18 +0000 (UTC) In-Reply-To: <20170112041817.1102-1-michel.thierry@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 RnJvbTogQXJ1biBTaWx1dmVyeSA8YXJ1bi5zaWx1dmVyeUBsaW51eC5pbnRlbC5jb20+CgpUaGlz IGlzIGEgcHJlcGFyYXRvcnkgcGF0Y2ggd2hpY2ggbW9kaWZpZXMgZXJyb3IgaGFuZGxlciB0byBk byBwZXIgZW5naW5lCmhhbmcgcmVjb3ZlcnkuIFRoZSBhY3R1YWwgcGF0Y2ggd2hpY2ggaW1wbGVt ZW50cyB0aGlzIHNlcXVlbmNlIGZvbGxvd3MKbGF0ZXIgaW4gdGhlIHNlcmllcy4gVGhlIGFpbSBp cyB0byBwcmVwYXJlIGV4aXN0aW5nIHJlY292ZXJ5IGZ1bmN0aW9uIHRvCmFkYXB0IHRvIHRoaXMg bmV3IGZ1bmN0aW9uIHdoZXJlIGFwcGxpY2FibGUgKHdoaWNoIGZhaWxzIGF0IHRoaXMgcG9pbnQK YmVjYXVzZSBjb3JlIGltcGxlbWVudGF0aW9uIGlzIGxhY2tpbmcpIGFuZCBjb250aW51ZSByZWNv dmVyeSB1c2luZyBsZWdhY3kKZnVsbCBncHUgcmVzZXQuCgpBIGhlbHBlciBmdW5jdGlvbiBpcyBh bHNvIGFkZGVkIHRvIHF1ZXJ5IHRoZSBhdmFpbGFiaWxpdHkgb2YgZW5naW5lCnJlc2V0LgoKVGhl IGVycm9yIGV2ZW50cyBiZWhhdmlvdXIgdGhhdCBhcmUgdXNlZCB0byBub3RpZnkgdXNlciBvZiBy ZXNldCBhcmUKYWRhcHRlZCB0byBlbmdpbmUgcmVzZXQgc3VjaCB0aGF0IGl0IGRvZXNuJ3QgYnJl YWsgdXNlcnMgbGlzdGVuaW5nIHRvIHRoZXNlCmV2ZW50cy4gSW4gbGVnYWN5IHdlIHJlcG9ydCBh biBlcnJvciBldmVudCwgYSByZXNldCBldmVudCBiZWZvcmUgcmVzZXR0aW5nCnRoZSBncHUgYW5k IGEgcmVzZXQgZG9uZSBldmVudCBtYXJraW5nIHRoZSBjb21wbGV0aW9uIG9mIHJlc2V0LiBUaGUg c2FtZQpiZWhhdmlvdXIgaXMgYWRhcHRlZCBidXQgcmVzZXQgZXZlbnQgaXMgb25seSBkaXNwYXRj aGVkIG9uY2UgZXZlbiB3aGVuCm11bHRpcGxlIGVuZ2luZXMgYXJlIGh1bmcuIEZpbmFsbHkgb25j ZSByZXNldCBpcyBjb21wbGV0ZSB3ZSBzZW5kIHJlc2V0CmRvbmUgZXZlbnQgYXMgdXN1YWwuCgpO b3RlIHRoYXQgdGhpcyBpbXBsZW1lbnRhdGlvbiBvZiBlbmdpbmUgcmVzZXQgaXMgZm9yIGk5MTUg ZGlyZWN0bHkKc3VibWl0dGluZyB0byB0aGUgRUxTUCwgd2hlcmUgdGhlIGRyaXZlciBtYW5hZ2Vz IHRoZSBoYW5nIGRldGVjdGlvbiwKcmVjb3ZlcnkgYW5kIHJlc3VibWlzc2lvbi4gV2l0aCBHdUMg c3VibWlzc2lvbiB0aGVzZSB0YXNrcyBhcmUgc2hhcmVkCmJldHdlZW4gZHJpdmVyIGFuZCBmaXJt d2FyZTsgaTkxNSB3aWxsIHN0aWxsIHJlc3BvbnNpYmxlIGZvciBkZXRlY3RpbmcgYQpoYW5nLCBh bmQgd2hlbiBpdCBkb2VzIGl0IHdpbGwgaGF2ZSB0byByZXF1ZXN0IEd1QyB0byByZXNldCB0aGF0 IEVuZ2luZSBhbmQKcmVtaW5kIHRoZSBmaXJtd2FyZSBhYm91dCB0aGUgb3V0c3RhbmRpbmcgc3Vi bWlzc2lvbnMuCgp2MjogcmViYXNlLCBhZHZlcnRpc2UgZW5naW5lIHJlc2V0IGF2YWlsYWJpbGl0 eSBpbiBwbGF0Zm9ybSBkZWZpbml0aW9uLAphZGQgbm90ZSBhYm91dCBHdUMgc3VibWlzc2lvbi4K djM6IHMvKmVuZ2luZV9yZXNldCovKnJlc2V0X2VuZ2luZSovLiAoQ2hyaXMpCkhhbmRsZSByZXNl dCBhcyAyIGxldmVsIHJlc2V0cywgYnkgZmlyc3QgZ29pbmcgdG8gZW5naW5lIG9ubHkgYW5kIGZh bGwKYmFja2luZyB0byBmdWxsL2NoaXAgcmVzZXQgYXMgbmVlZGVkLCBpLmUuIHJlc2V0X2VuZ2lu ZSB3aWxsIG5lZWQgdGhlCnN0cnVjdF9tdXRleC4KCkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNo cmlzLXdpbHNvbi5jby51az4KQ2M6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXgu aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBJYW4gTGlzdGVyIDxpYW4ubGlzdGVyQGludGVsLmNv bT4KU2lnbmVkLW9mZi1ieTogVG9tYXMgRWxmIDx0b21hcy5lbGZAaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBBcnVuIFNpbHV2ZXJ5IDxhcnVuLnNpbHV2ZXJ5QGxpbnV4LmludGVsLmNvbT4KU2ln bmVkLW9mZi1ieTogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICB8IDUwICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg ICAgIHwgIDUgKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgfCAzMSAr KysrKysrKysrKysrKysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyAg ICAgfCAgNSArKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyB8IDExICsr KysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCmluZGV4IDRlNWVhNTg5OGUwNi4uNjZiNjIwYTdmNmJh IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKQEAgLTE3NDUsNyArMTc0NSw3IEBAIHN0YXRpYyB2 b2lkIGVuYWJsZV9lbmdpbmVzX2lycShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiB9CiAKIC8qKgotICogaTkxNV9yZXNldCAtIHJlc2V0IGNoaXAgYWZ0ZXIgYSBoYW5nCisgKiBp OTE1X3Jlc2V0X2NoaXAgLSByZXNldCBjaGlwIGFmdGVyIGEgaGFuZwogICogQGRldl9wcml2OiBk ZXZpY2UgcHJpdmF0ZSB0byByZXNldAogICoKICAqIFJlc2V0IHRoZSBjaGlwLiAgVXNlZnVsIGlm IGEgaGFuZyBpcyBkZXRlY3RlZC4gTWFya3MgdGhlIGRldmljZSBhcyB3ZWRnZWQKQEAgLTE3NjEs NyArMTc2MSw3IEBAIHN0YXRpYyB2b2lkIGVuYWJsZV9lbmdpbmVzX2lycShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAgKiAgIC0gcmUtaW5pdCBpbnRlcnJ1cHQgc3RhdGUKICAq ICAgLSByZS1pbml0IGRpc3BsYXkKICAqLwotdm9pZCBpOTE1X3Jlc2V0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKK3ZvaWQgaTkxNV9yZXNldF9jaGlwKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgaTkxNV9ncHVfZXJyb3IgKmVycm9yID0g JmRldl9wcml2LT5ncHVfZXJyb3I7CiAJaW50IHJldDsKQEAgLTE3NzEsNiArMTc3MSw4IEBAIHZv aWQgaTkxNV9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaWYgKCF0 ZXN0X2FuZF9jbGVhcl9iaXQoSTkxNV9SRVNFVF9JTl9QUk9HUkVTUywgJmVycm9yLT5mbGFncykp CiAJCXJldHVybjsKIAorCURSTV9ERUJVR19EUklWRVIoInJlc2V0dGluZyBjaGlwXG4iKTsKKwog CS8qIENsZWFyIGFueSBwcmV2aW91cyBmYWlsZWQgYXR0ZW1wdHMgYXQgcmVjb3ZlcnkuIFRpbWUg dG8gdHJ5IGFnYWluLiAqLwogCV9fY2xlYXJfYml0KEk5MTVfV0VER0VELCAmZXJyb3ItPmZsYWdz KTsKIAllcnJvci0+cmVzZXRfY291bnQrKzsKQEAgLTE4MjQsNiArMTgyNiw1MCBAQCB2b2lkIGk5 MTVfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWdvdG8gd2FrZXVw OwogfQogCisvKioKKyAqIGk5MTVfcmVzZXRfZW5naW5lIC0gcmVzZXQgR1BVIGVuZ2luZSB0byBy ZWNvdmVyIGZyb20gYSBoYW5nCisgKiBAZW5naW5lOiBlbmdpbmUgdG8gcmVzZXQKKyAqCisgKiBS ZXNldCBhIHNwZWNpZmljIEdQVSBlbmdpbmUuIFVzZWZ1bCBpZiBhIGhhbmcgaXMgZGV0ZWN0ZWQu CisgKiBSZXR1cm5zIHplcm8gb24gc3VjY2Vzc2Z1bCByZXNldCBvciBvdGhlcndpc2UgYW4gZXJy b3IgY29kZS4KKyAqLworaW50IGk5MTVfcmVzZXRfZW5naW5lKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSkKK3sKKwkvKiBGSVhNRTogcmVwbGFjZSBtZSB3aXRoIGVuZ2luZSByZXNldCBz ZXF1ZW5jZSAqLworCXJldHVybiAtRU5PREVWOworfQorCisvKioKKyAqIGk5MTVfcmVzZXQgLSBz dGFydCBlaXRoZXIgZW5naW5lIG9yIGZ1bGwgR1BVIHJlc2V0IHRvIHJlY292ZXIgZnJvbSBhIGhh bmcKKyAqIEBkZXZfcHJpdjogZGV2aWNlIHByaXZhdGUKKyAqCisgKiBXcmFwcGVyIGZ1bmN0aW9u IHRvIGluaXRpYXRlIGEgR1BVIHJlc2V0LiBJZiBwbGF0Zm9ybSBzdXBwb3J0cyBpdCwgYXR0ZW1w dAorICogdG8gcmVzZXQgdGhlIGh1bmcgZW5naW5lKHMpIG9ubHkuIEluIGVuZ2luZSByZXNldCBm YWlscyAob3Igbm90IHN1cHBvcnRlZCksCisgKiByZXNldCB0aGUgZnVsbCBHUFUuCisgKgorICog Q2FsbGVyIG11c3QgaG9sZCB0aGUgc3RydWN0X211dGV4LgorICovCit2b2lkIGk5MTVfcmVzZXQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCS8qIElmIGhhcmR3YXJlIHN1 cHBvcnRzIGl0IChHRU44KyksIHRyeSBlbmdpbmUgcmVzZXQgZmlyc3QgKi8KKwlpZiAoaW50ZWxf aGFzX3Jlc2V0X2VuZ2luZShkZXZfcHJpdikpIHsKKwkJc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lOworCQl1MzIgZW5naW5lX21hc2sgPSBkZXZfcHJpdi0+Z3B1X2Vycm9yLnJlc2V0X2Vu Z2luZV9tYXNrOworCQl1bnNpZ25lZCBpbnQgdG1wOworCisJCWZvcl9lYWNoX2VuZ2luZV9tYXNr ZWQoZW5naW5lLCBkZXZfcHJpdiwgZW5naW5lX21hc2ssIHRtcCkgeworCQkJLyogb24gZmFpbHVy ZSBmYWxsYmFjayB0byBmdWxsIGdwdSByZXNldCBmb3IgcmVjb3ZlcnkgKi8KKwkJCWlmIChpOTE1 X3Jlc2V0X2VuZ2luZShlbmdpbmUpKQorCQkJCWdvdG8gZXJyb3I7CisJCX0KKworCQlyZXR1cm47 CisJfQorCitlcnJvcjoKKwlpOTE1X3Jlc2V0X2NoaXAoZGV2X3ByaXYpOworfQorCiBzdGF0aWMg aW50IGk5MTVfcG1fc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICprZGV2KQogewogCXN0cnVjdCBwY2lf ZGV2ICpwZGV2ID0gdG9fcGNpX2RldihrZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4 IDIwNmI0ZTFhM2E1OC4uODczZmJkNzgxMjRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAg LTc4NCw2ICs3ODQsNyBAQCBzdHJ1Y3QgaW50ZWxfY3NyIHsKIAlmdW5jKGhhc19kZGkpOyBcCiAJ ZnVuYyhoYXNfZGVjb3VwbGVkX21taW8pOyBcCiAJZnVuYyhoYXNfZHBfbXN0KTsgXAorCWZ1bmMo aGFzX3Jlc2V0X2VuZ2luZSk7IFwKIAlmdW5jKGhhc19mYmMpOyBcCiAJZnVuYyhoYXNfZnBnYV9k YmcpOyBcCiAJZnVuYyhoYXNfZnVsbF9wcGd0dCk7IFwKQEAgLTE1NTIsNiArMTU1Myw5IEBAIHN0 cnVjdCBpOTE1X2dwdV9lcnJvciB7CiAjZGVmaW5lIEk5MTVfUkVTRVRfSU5fUFJPR1JFU1MJMAog I2RlZmluZSBJOTE1X1dFREdFRAkJKEJJVFNfUEVSX0xPTkcgLSAxKQogCisJLyogaWYgYXZhaWxh YmxlLCBlbmdpbmUtc3BlY2lmaWMgcmVzZXQgaXMgdHJpZWQgYmVmb3JlIGZ1bGwgZ3B1IHJlc2V0 ICovCisJdTMyIHJlc2V0X2VuZ2luZV9tYXNrOworCiAJLyoqCiAJICogV2FpdHF1ZXVlIHRvIHNp Z25hbCB3aGVuIGEgaGFuZyBpcyBkZXRlY3RlZC4gVXNlZCB0byBmb3Igd2FpdGVycwogCSAqIHRv IHJlbGVhc2UgdGhlIHN0cnVjdF9tdXRleCBmb3IgdGhlIHJlc2V0IHRvIHByb2NlZGUuCkBAIC0y OTMzLDYgKzI5MzcsNyBAQCBleHRlcm4gdm9pZCBpOTE1X2RyaXZlcl91bmxvYWQoc3RydWN0IGRy bV9kZXZpY2UgKmRldik7CiBleHRlcm4gaW50IGludGVsX2dwdV9yZXNldChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBlbmdpbmVfbWFzayk7CiBleHRlcm4gYm9vbCBpbnRl bF9oYXNfZ3B1X3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiBleHRl cm4gdm9pZCBpOTE1X3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Citl eHRlcm4gYm9vbCBpbnRlbF9oYXNfcmVzZXRfZW5naW5lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdik7CiBleHRlcm4gaW50IGludGVsX2d1Y19yZXNldChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOwogZXh0ZXJuIHZvaWQgaW50ZWxfZW5naW5lX2luaXRfaGFuZ2No ZWNrKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7CiBleHRlcm4gdm9pZCBpbnRlbF9o YW5nY2hlY2tfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfaXJxLmMKaW5kZXggY2U1NjYzZDk0ODM5Li4zOTNhMTE4Yzk2NGUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9pcnEuYwpAQCAtMjYzMCw3ICsyNjMwLDE1IEBAIHN0YXRpYyB2b2lkIGk5MTVf cmVzZXRfYW5kX3dha2V1cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlr b2JqZWN0X3VldmVudF9lbnYoa29iaiwgS09CSl9DSEFOR0UsIGVycm9yX2V2ZW50KTsKIAotCURS TV9ERUJVR19EUklWRVIoInJlc2V0dGluZyBjaGlwXG4iKTsKKwkvKgorCSAqIFRoaXMgZXZlbnQg bmVlZHMgdG8gYmUgc2VudCBiZWZvcmUgcGVyZm9ybWluZyBncHUgcmVzZXQuIFdoZW4KKwkgKiBl bmdpbmUgcmVzZXRzIGFyZSBzdXBwb3J0ZWQgd2UgaXRlcmF0ZSB0aHJvdWdoIGFsbCBlbmdpbmVz IGFuZAorCSAqIHJlc2V0IGh1bmcgZW5naW5lcyBpbmRpdmlkdWFsbHkuIFRvIGtlZXAgdGhlIGV2 ZW50IGRpc3BhdGNoCisJICogbWVjaGFuaXNtIGNvbnNpc3RlbnQgd2l0aCBmdWxsIGdwdSByZXNl dCwgdGhpcyBpcyBvbmx5IHNlbnQgb25jZQorCSAqIGV2ZW4gd2hlbiBtdWx0aXBsZSBlbmdpbmVz IGFyZSBodW5nLiBJdCBpcyBhbHNvIHNhZmUgdG8gbW92ZSB0aGlzCisJICogaGVyZSBiZWNhdXNl IHdoZW4gd2UgYXJlIGluIHRoaXMgZnVuY3Rpb24sIHdlIHdpbGwgZGVmaW5pdGVseQorCSAqIHBl cmZvcm0gZ3B1IHJlc2V0LgorCSAqLwogCWtvYmplY3RfdWV2ZW50X2Vudihrb2JqLCBLT0JKX0NI QU5HRSwgcmVzZXRfZXZlbnQpOwogCiAJLyoKQEAgLTI2NDUsMTcgKzI2NTMsMjAgQEAgc3RhdGlj IHZvaWQgaTkxNV9yZXNldF9hbmRfd2FrZXVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAogCWRvIHsKIAkJLyoKLQkJICogQWxsIHN0YXRlIHJlc2V0IF9tdXN0XyBiZSBjb21w bGV0ZWQgYmVmb3JlIHdlIHVwZGF0ZSB0aGUKLQkJICogcmVzZXQgY291bnRlciwgZm9yIG90aGVy d2lzZSB3YWl0ZXJzIG1pZ2h0IG1pc3MgdGhlIHJlc2V0Ci0JCSAqIHBlbmRpbmcgc3RhdGUgYW5k IG5vdCBwcm9wZXJseSBkcm9wIGxvY2tzLCByZXN1bHRpbmcgaW4KLQkJICogZGVhZGxvY2tzIHdp dGggdGhlIHJlc2V0IHdvcmsuCisJCSAqIEFsbCBzdGF0ZSByZXNldCBfbXVzdF8gYmUgY29tcGxl dGVkIGJlZm9yZSB3ZSB1cGRhdGUKKwkJICogdGhlIHJlc2V0IGNvdW50ZXIsIGZvciBvdGhlcndp c2Ugd2FpdGVycyBtaWdodCBtaXNzCisJCSAqIHRoZSByZXNldCBwZW5kaW5nIHN0YXRlIGFuZCBu b3QgcHJvcGVybHkgZHJvcCBsb2NrcywKKwkJICogcmVzdWx0aW5nIGluIGRlYWRsb2NrcyB3aXRo IHRoZSByZXNldCB3b3JrLgogCQkgKi8KIAkJaWYgKG11dGV4X3RyeWxvY2soJmRldl9wcml2LT5k cm0uc3RydWN0X211dGV4KSkgewogCQkJaTkxNV9yZXNldChkZXZfcHJpdik7CiAJCQltdXRleF91 bmxvY2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKIAkJfQogCi0JCS8qIFdlIG5lZWQg dG8gd2FpdCBmb3IgYW55b25lIGhvbGRpbmcgdGhlIGxvY2sgdG8gd2FrZXVwICovCisJCS8qCisJ CSAqIFdlIG5lZWQgdG8gd2FpdCBmb3IgYW55b25lIGhvbGRpbmcgdGhlIGxvY2sgdG8KKwkJICog d2FrZXVwLgorCQkgKi8KIAl9IHdoaWxlICh3YWl0X29uX2JpdF90aW1lb3V0KCZkZXZfcHJpdi0+ Z3B1X2Vycm9yLmZsYWdzLAogCQkJCSAgICAgSTkxNV9SRVNFVF9JTl9QUk9HUkVTUywKIAkJCQkg ICAgIFRBU0tfVU5JTlRFUlJVUFRJQkxFLApAQCAtMjY2NCw3ICsyNjc1LDcgQEAgc3RhdGljIHZv aWQgaTkxNV9yZXNldF9hbmRfd2FrZXVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAlpbnRlbF9maW5pc2hfcmVzZXQoZGV2X3ByaXYpOwogCWludGVsX3J1bnRpbWVfcG1fcHV0 KGRldl9wcml2KTsKIAotCWlmICghdGVzdF9iaXQoSTkxNV9XRURHRUQsICZkZXZfcHJpdi0+Z3B1 X2Vycm9yLmZsYWdzKSkKKwlpZiAoIWk5MTVfdGVybWluYWxseV93ZWRnZWQoJmRldl9wcml2LT5n cHVfZXJyb3IpKQogCQlrb2JqZWN0X3VldmVudF9lbnYoa29iaiwKIAkJCQkgICBLT0JKX0NIQU5H RSwgcmVzZXRfZG9uZV9ldmVudCk7CiAKQEAgLTI3NjAsNiArMjc3MSwxMiBAQCB2b2lkIGk5MTVf aGFuZGxlX2Vycm9yKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJcmV0dXJu OwogCiAJLyoKKwkgKiBTYXZlIHdoaWNoIGVuZ2luZXMgbmVlZCByZXNldDsgaWYgZW5naW5lIHN1 cHBvcnQgaXMgYXZhaWxhYmxlLAorCSAqIHdlIGNhbiBqdXN0IHJlc2V0IHRoZSBodW5nIGVuZ2lu ZXMuCisJICovCisJZGV2X3ByaXYtPmdwdV9lcnJvci5yZXNldF9lbmdpbmVfbWFzayA9IGVuZ2lu ZV9tYXNrOworCisJLyoKIAkgKiBXYWtldXAgd2FpdGluZyBwcm9jZXNzZXMgc28gdGhhdCB0aGUg cmVzZXQgZnVuY3Rpb24KIAkgKiBpOTE1X3Jlc2V0X2FuZF93YWtldXAgZG9lc24ndCBkZWFkbG9j ayB0cnlpbmcgdG8gZ3JhYgogCSAqIHZhcmlvdXMgbG9ja3MuIEJ5IGJ1bXBpbmcgdGhlIHJlc2V0 IGNvdW50ZXIgZmlyc3QsIHRoZSB3b2tlbgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKaW5kZXggZWI3 Yjc1YTE2ZDk4Li5kMGI3NDI1MGY2MDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcGNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYwpAQCAtMzA3 LDcgKzMwNyw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxf aGFzd2VsbF9pbmZvID0gewogCUJEV19DT0xPUlMsIFwKIAkuaGFzX2xvZ2ljYWxfcmluZ19jb250 ZXh0cyA9IDEsIFwKIAkuaGFzX2Z1bGxfNDhiaXRfcHBndHQgPSAxLCBcCi0JLmhhc182NGJpdF9y ZWxvYyA9IDEKKwkuaGFzXzY0Yml0X3JlbG9jID0gMSwgXAorCS5oYXNfcmVzZXRfZW5naW5lID0g MQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2Jyb2Fkd2Vs bF9pbmZvID0gewogCUJEV19GRUFUVVJFUywKQEAgLTMzOSw2ICszNDAsNyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2NoZXJyeXZpZXdfaW5mbyA9IHsKIAku aGFzX2dtY2hfZGlzcGxheSA9IDEsCiAJLmhhc19hbGlhc2luZ19wcGd0dCA9IDEsCiAJLmhhc19m dWxsX3BwZ3R0ID0gMSwKKwkuaGFzX3Jlc2V0X2VuZ2luZSA9IDEsCiAJLmRpc3BsYXlfbW1pb19v ZmZzZXQgPSBWTFZfRElTUExBWV9CQVNFLAogCUdFTl9DSFZfUElQRU9GRlNFVFMsCiAJQ1VSU09S X09GRlNFVFMsCkBAIC0zOTAsNiArMzkyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9k ZXZpY2VfaW5mbyBpbnRlbF9za3lsYWtlX2d0M19pbmZvID0gewogCS5oYXNfYWxpYXNpbmdfcHBn dHQgPSAxLCBcCiAJLmhhc19mdWxsX3BwZ3R0ID0gMSwgXAogCS5oYXNfZnVsbF80OGJpdF9wcGd0 dCA9IDEsIFwKKwkuaGFzX3Jlc2V0X2VuZ2luZSA9IDEsIFwKIAlHRU5fREVGQVVMVF9QSVBFT0ZG U0VUUywgXAogCUlWQl9DVVJTT1JfT0ZGU0VUUywgXAogCUJEV19DT0xPUlMKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfdW5jb3JlLmMKaW5kZXggYWJlMDg4ODVhNWJhLi5jZjczNTVkYjU0ODYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCkBAIC0xODUxLDYgKzE4NTEsMTcgQEAgYm9vbCBp bnRlbF9oYXNfZ3B1X3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAly ZXR1cm4gaW50ZWxfZ2V0X2dwdV9yZXNldChkZXZfcHJpdikgIT0gTlVMTDsKIH0KIAorLyoKKyAq IFdoZW4gR3VDIHN1Ym1pc3Npb24gaXMgZW5hYmxlZCwgR3VDIG1hbmFnZXMgRUxTUCBhbmQgY2Fu IGluaXRpYXRlIHRoZQorICogZW5naW5lIHJlc2V0IHRvby4gRm9yIG5vdywgZmFsbCBiYWNrIHRv IGZ1bGwgR1BVIHJlc2V0IGlmIGl0IGlzIGVuYWJsZWQuCisgKi8KK2Jvb2wgaW50ZWxfaGFzX3Jl c2V0X2VuZ2luZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJcmV0dXJu IChkZXZfcHJpdi0+aW5mby5oYXNfcmVzZXRfZW5naW5lICYmCisJCSFkZXZfcHJpdi0+Z3VjLmV4 ZWNidWZfY2xpZW50ICYmCisJCWk5MTUucmVzZXQgPT0gMik7Cit9CisKIGludCBpbnRlbF9ndWNf cmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCWludCByZXQ7Ci0t IAoyLjExLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=