From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: [PATCH v7 02/20] drm/i915: Modify error handler for per engine hang recovery Date: Thu, 27 Apr 2017 16:12:42 -0700 Message-ID: <20170427231300.32841-3-michel.thierry@intel.com> References: <20170427231300.32841-1-michel.thierry@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3C52D6E194 for ; Thu, 27 Apr 2017 23:13:02 +0000 (UTC) In-Reply-To: <20170427231300.32841-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 bWlzc2lvbnMuIFRoaXMgd2lsbCBiZQphZGRlZCBpbiBkaWZmZXJlbnQgcGF0Y2guCgp2MjogcmVi YXNlLCBhZHZlcnRpc2UgZW5naW5lIHJlc2V0IGF2YWlsYWJpbGl0eSBpbiBwbGF0Zm9ybSBkZWZp bml0aW9uLAphZGQgbm90ZSBhYm91dCBHdUMgc3VibWlzc2lvbi4KdjM6IHMvKmVuZ2luZV9yZXNl dCovKnJlc2V0X2VuZ2luZSovLiAoQ2hyaXMpCkhhbmRsZSByZXNldCBhcyAyIGxldmVsIHJlc2V0 cywgYnkgZmlyc3QgZ29pbmcgdG8gZW5naW5lIG9ubHkgYW5kIGZhbGwKYmFja2luZyB0byBmdWxs L2NoaXAgcmVzZXQgYXMgbmVlZGVkLCBpLmUuIHJlc2V0X2VuZ2luZSB3aWxsIG5lZWQgdGhlCnN0 cnVjdF9tdXRleC4KdjQ6IFBhc3MgdGhlIGVuZ2luZSBtYXNrIHRvIGk5MTVfcmVzZXQuIChDaHJp cykKdjU6IFJlYmFzZSwgdXBkYXRlIHNlbGZ0ZXN0cy4KdjY6IFJlYmFzZSwgcHJlcGFyZSBmb3Ig bXV0ZXgtbGVzcyByZXNldCBlbmdpbmUuCnY3OiBQYXNzIHJlc2V0X2VuZ2luZSBtYXNrIGFzIGEg ZnVuY3Rpb24gcGFyYW1ldGVyLCBhbmQgaXRlcmF0ZSBvdmVyIHRoZQplbmdpbmUgbWFzayBmb3Ig cmVzZXRfZW5naW5lLiAoQ2hyaXMpCgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+CkNjOiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGxpbnV4LmludGVsLmNv bT4KU2lnbmVkLW9mZi1ieTogSWFuIExpc3RlciA8aWFuLmxpc3RlckBpbnRlbC5jb20+ClNpZ25l ZC1vZmYtYnk6IFRvbWFzIEVsZiA8dG9tYXMuZWxmQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTog QXJ1biBTaWx1dmVyeSA8YXJ1bi5zaWx1dmVyeUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYt Ynk6IE1pY2hlbCBUaGllcnJ5IDxtaWNoZWwudGhpZXJyeUBpbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgfCAxNSArKysrKysrKysrKysrKysKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgIHwgIDMgKysrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jICAgICB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyAgICAgfCAgNSArKysrLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgfCAxMSArKysrKysrKysrKwogNSBmaWxlcyBj aGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jCmluZGV4IGM3ZDY4ZTc4OTY0Mi4uNDhjOGI2OWQ5YmRlIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMKQEAgLTE4MDAsNiArMTgwMCw4IEBAIHZvaWQgaTkxNV9yZXNldChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaWYgKCF0ZXN0X2JpdChJOTE1X1JFU0VUX0hBTkRP RkYsICZlcnJvci0+ZmxhZ3MpKQogCQlyZXR1cm47CiAKKwlEUk1fREVCVUdfRFJJVkVSKCJyZXNl dHRpbmcgY2hpcFxuIik7CisKIAkvKiBDbGVhciBhbnkgcHJldmlvdXMgZmFpbGVkIGF0dGVtcHRz IGF0IHJlY292ZXJ5LiBUaW1lIHRvIHRyeSBhZ2Fpbi4gKi8KIAlpZiAoIWk5MTVfZ2VtX3Vuc2V0 X3dlZGdlZChkZXZfcHJpdikpCiAJCWdvdG8gd2FrZXVwOwpAQCAtMTg2Myw2ICsxODY1LDE5IEBA IHZvaWQgaTkxNV9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJZ290 byBmaW5pc2g7CiB9CiAKKy8qKgorICogaTkxNV9yZXNldF9lbmdpbmUgLSByZXNldCBHUFUgZW5n aW5lIHRvIHJlY292ZXIgZnJvbSBhIGhhbmcKKyAqIEBlbmdpbmU6IGVuZ2luZSB0byByZXNldAor ICoKKyAqIFJlc2V0IGEgc3BlY2lmaWMgR1BVIGVuZ2luZS4gVXNlZnVsIGlmIGEgaGFuZyBpcyBk ZXRlY3RlZC4KKyAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzZnVsIHJlc2V0IG9yIG90aGVyd2lz ZSBhbiBlcnJvciBjb2RlLgorICovCitpbnQgaTkxNV9yZXNldF9lbmdpbmUoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lKQoreworCS8qIEZJWE1FOiByZXBsYWNlIG1lIHdpdGggZW5naW5l IHJlc2V0IHNlcXVlbmNlICovCisJcmV0dXJuIC1FTk9ERVY7Cit9CisKIHN0YXRpYyBpbnQgaTkx NV9wbV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmtkZXYpCiB7CiAJc3RydWN0IHBjaV9kZXYgKnBk ZXYgPSB0b19wY2lfZGV2KGtkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZTA2YWY0 NmY1YTU3Li5hYjdlNjg2MjZjNDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtODE0LDYg KzgxNCw3IEBAIHN0cnVjdCBpbnRlbF9jc3IgewogCWZ1bmMoaGFzX2RkaSk7IFwKIAlmdW5jKGhh c19kZWNvdXBsZWRfbW1pbyk7IFwKIAlmdW5jKGhhc19kcF9tc3QpOyBcCisJZnVuYyhoYXNfcmVz ZXRfZW5naW5lKTsgXAogCWZ1bmMoaGFzX2ZiYyk7IFwKIAlmdW5jKGhhc19mcGdhX2RiZyk7IFwK IAlmdW5jKGhhc19mdWxsX3BwZ3R0KTsgXApAQCAtMzAxOSw2ICszMDIwLDggQEAgZXh0ZXJuIHZv aWQgaTkxNV9kcml2ZXJfdW5sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogZXh0ZXJuIGlu dCBpbnRlbF9ncHVfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIg ZW5naW5lX21hc2spOwogZXh0ZXJuIGJvb2wgaW50ZWxfaGFzX2dwdV9yZXNldChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogZXh0ZXJuIHZvaWQgaTkxNV9yZXNldChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOworZXh0ZXJuIGludCBpOTE1X3Jlc2V0X2VuZ2lu ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOworZXh0ZXJuIGJvb2wgaW50ZWxfaGFz X3Jlc2V0X2VuZ2luZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogZXh0ZXJu IGludCBpbnRlbF9ndWNfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsK IGV4dGVybiB2b2lkIGludGVsX2VuZ2luZV9pbml0X2hhbmdjaGVjayhzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpOwogZXh0ZXJuIHZvaWQgaW50ZWxfaGFuZ2NoZWNrX2luaXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCmluZGV4 IGZkOTdmZTAwY2QwZC4uM2E1OWVmMTM2N2VjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKQEAg LTI2MzUsMTEgKzI2MzUsMTMgQEAgc3RhdGljIGlycXJldHVybl90IGdlbjhfaXJxX2hhbmRsZXIo aW50IGlycSwgdm9pZCAqYXJnKQogLyoqCiAgKiBpOTE1X3Jlc2V0X2FuZF93YWtldXAgLSBkbyBw cm9jZXNzIGNvbnRleHQgZXJyb3IgaGFuZGxpbmcgd29yawogICogQGRldl9wcml2OiBpOTE1IGRl dmljZSBwcml2YXRlCisgKiBAZW5naW5lX21hc2s6IGVuZ2luZShzKSBodW5nIC0gZm9yIHJlc2V0 LWVuZ2luZSBvbmx5LgogICoKICAqIEZpcmUgYW4gZXJyb3IgdWV2ZW50IHNvIHVzZXJzcGFjZSBj YW4gc2VlIHRoYXQgYSBoYW5nIG9yIGVycm9yCiAgKiB3YXMgZGV0ZWN0ZWQuCiAgKi8KLXN0YXRp YyB2b2lkIGk5MTVfcmVzZXRfYW5kX3dha2V1cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCitzdGF0aWMgdm9pZAoraTkxNV9yZXNldF9hbmRfd2FrZXVwKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIGVuZ2luZV9tYXNrKQogewogCXN0cnVjdCBrb2JqZWN0 ICprb2JqID0gJmRldl9wcml2LT5kcm0ucHJpbWFyeS0+a2Rldi0+a29iajsKIAljaGFyICplcnJv cl9ldmVudFtdID0geyBJOTE1X0VSUk9SX1VFVkVOVCAiPTEiLCBOVUxMIH07CkBAIC0yNjQ4LDkg KzI2NTAsMzMgQEAgc3RhdGljIHZvaWQgaTkxNV9yZXNldF9hbmRfd2FrZXVwKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogCWtvYmplY3RfdWV2ZW50X2Vudihrb2JqLCBLT0JK X0NIQU5HRSwgZXJyb3JfZXZlbnQpOwogCi0JRFJNX0RFQlVHX0RSSVZFUigicmVzZXR0aW5nIGNo aXBcbiIpOworCS8qCisJICogVGhpcyBldmVudCBuZWVkcyB0byBiZSBzZW50IGJlZm9yZSBwZXJm b3JtaW5nIGdwdSByZXNldC4gV2hlbgorCSAqIGVuZ2luZSByZXNldHMgYXJlIHN1cHBvcnRlZCB3 ZSBpdGVyYXRlIHRocm91Z2ggYWxsIGVuZ2luZXMgYW5kCisJICogcmVzZXQgaHVuZyBlbmdpbmVz IGluZGl2aWR1YWxseS4gVG8ga2VlcCB0aGUgZXZlbnQgZGlzcGF0Y2gKKwkgKiBtZWNoYW5pc20g Y29uc2lzdGVudCB3aXRoIGZ1bGwgZ3B1IHJlc2V0LCB0aGlzIGlzIG9ubHkgc2VudCBvbmNlCisJ ICogZXZlbiB3aGVuIG11bHRpcGxlIGVuZ2luZXMgYXJlIGh1bmcuIEl0IGlzIGFsc28gc2FmZSB0 byBtb3ZlIHRoaXMKKwkgKiBoZXJlIGJlY2F1c2Ugd2hlbiB3ZSBhcmUgaW4gdGhpcyBmdW5jdGlv biwgd2Ugd2lsbCBkZWZpbml0ZWx5CisJICogcGVyZm9ybSBncHUgcmVzZXQuCisJICovCiAJa29i amVjdF91ZXZlbnRfZW52KGtvYmosIEtPQkpfQ0hBTkdFLCByZXNldF9ldmVudCk7CiAKKwkvKiB0 cnkgZW5naW5lIHJlc2V0IGZpcnN0LCBhbmQgY29udGludWUgaWYgZmFpbHM7IGxvb2sgbW9tLCBu byBtdXRleCEgKi8KKwlpZiAoaW50ZWxfaGFzX3Jlc2V0X2VuZ2luZShkZXZfcHJpdikpIHsKKwkJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOworCQl1bnNpZ25lZCBpbnQgdG1wOworCisJ CWZvcl9lYWNoX2VuZ2luZV9tYXNrZWQoZW5naW5lLCBkZXZfcHJpdiwgZW5naW5lX21hc2ssIHRt cCkgeworCQkJaWYgKGk5MTVfcmVzZXRfZW5naW5lKGVuZ2luZSkgPT0gMCkKKwkJCQllbmdpbmVf bWFzayAmPSB+aW50ZWxfZW5naW5lX2ZsYWcoZW5naW5lKTsKKwkJfQorCisJCWlmIChlbmdpbmVf bWFzaykKKwkJCURSTV9XQVJOKCJwZXItZW5naW5lIHJlc2V0IGZhaWxlZCwgcHJvbW90aW5nIHRv IGZ1bGwgZ3B1IHJlc2V0XG4iKTsKKwkJZWxzZQorCQkJZ290byBmaW5pc2g7CisJfQorCiAJaW50 ZWxfcHJlcGFyZV9yZXNldChkZXZfcHJpdik7CiAKIAlzZXRfYml0KEk5MTVfUkVTRVRfSEFORE9G RiwgJmRldl9wcml2LT5ncHVfZXJyb3IuZmxhZ3MpOwpAQCAtMjY4MCw2ICsyNzA2LDcgQEAgc3Rh dGljIHZvaWQgaTkxNV9yZXNldF9hbmRfd2FrZXVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIAkJa29iamVjdF91ZXZlbnRfZW52KGtvYmosCiAJCQkJICAgS09CSl9DSEFOR0Us IHJlc2V0X2RvbmVfZXZlbnQpOwogCitmaW5pc2g6CiAJLyoKIAkgKiBOb3RlOiBUaGUgd2FrZV91 cCBhbHNvIHNlcnZlcyBhcyBhIG1lbW9yeSBiYXJyaWVyIHNvIHRoYXQKIAkgKiB3YWl0ZXJzIHNl ZSB0aGUgdXBkYXRlZCB2YWx1ZSBvZiB0aGUgZGV2X3ByaXYtPmdwdV9lcnJvci4KQEAgLTI3ODEs NyArMjgwOCw3IEBAIHZvaWQgaTkxNV9oYW5kbGVfZXJyb3Ioc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogCQkJICAgICAmZGV2X3ByaXYtPmdwdV9lcnJvci5mbGFncykpCiAJCWdv dG8gb3V0OwogCi0JaTkxNV9yZXNldF9hbmRfd2FrZXVwKGRldl9wcml2KTsKKwlpOTE1X3Jlc2V0 X2FuZF93YWtldXAoZGV2X3ByaXYsIGVuZ2luZV9tYXNrKTsKIAogb3V0OgogCWludGVsX3J1bnRp bWVfcG1fcHV0KGRldl9wcml2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcGNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCmluZGV4IGY4N2IwYzRl NTY0ZC4uZDUwMDJiNTVjYmQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3BjaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKQEAgLTMxMyw3ICsz MTMsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2hhc3dl bGxfaW5mbyA9IHsKIAlCRFdfQ09MT1JTLCBcCiAJLmhhc19sb2dpY2FsX3JpbmdfY29udGV4dHMg PSAxLCBcCiAJLmhhc19mdWxsXzQ4Yml0X3BwZ3R0ID0gMSwgXAotCS5oYXNfNjRiaXRfcmVsb2Mg PSAxCisJLmhhc182NGJpdF9yZWxvYyA9IDEsIFwKKwkuaGFzX3Jlc2V0X2VuZ2luZSA9IDEKIAog c3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9icm9hZHdlbGxfaW5m byA9IHsKIAlCRFdfRkVBVFVSRVMsCkBAIC0zNDUsNiArMzQ2LDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9jaGVycnl2aWV3X2luZm8gPSB7CiAJLmhhc19n bWNoX2Rpc3BsYXkgPSAxLAogCS5oYXNfYWxpYXNpbmdfcHBndHQgPSAxLAogCS5oYXNfZnVsbF9w cGd0dCA9IDEsCisJLmhhc19yZXNldF9lbmdpbmUgPSAxLAogCS5kaXNwbGF5X21taW9fb2Zmc2V0 ID0gVkxWX0RJU1BMQVlfQkFTRSwKIAlHRU5fQ0hWX1BJUEVPRkZTRVRTLAogCUNVUlNPUl9PRkZT RVRTLApAQCAtMzk0LDYgKzM5Niw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNl X2luZm8gaW50ZWxfc2t5bGFrZV9ndDNfaW5mbyA9IHsKIAkuaGFzX2FsaWFzaW5nX3BwZ3R0ID0g MSwgXAogCS5oYXNfZnVsbF9wcGd0dCA9IDEsIFwKIAkuaGFzX2Z1bGxfNDhiaXRfcHBndHQgPSAx LCBcCisJLmhhc19yZXNldF9lbmdpbmUgPSAxLCBcCiAJR0VOX0RFRkFVTFRfUElQRU9GRlNFVFMs IFwKIAlJVkJfQ1VSU09SX09GRlNFVFMsIFwKIAlCRFdfQ09MT1JTCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3VuY29yZS5jCmluZGV4IDA3YTcyMmY3NGZhMS4uYWI1YmRkMTEwYWMzIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF91bmNvcmUuYwpAQCAtMTc3Niw2ICsxNzc2LDE3IEBAIGJvb2wgaW50ZWxf aGFzX2dwdV9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJcmV0dXJu IGludGVsX2dldF9ncHVfcmVzZXQoZGV2X3ByaXYpICE9IE5VTEw7CiB9CiAKKy8qCisgKiBXaGVu IEd1QyBzdWJtaXNzaW9uIGlzIGVuYWJsZWQsIEd1QyBtYW5hZ2VzIEVMU1AgYW5kIGNhbiBpbml0 aWF0ZSB0aGUKKyAqIGVuZ2luZSByZXNldCB0b28uIEZvciBub3csIGZhbGwgYmFjayB0byBmdWxs IEdQVSByZXNldCBpZiBpdCBpcyBlbmFibGVkLgorICovCitib29sIGludGVsX2hhc19yZXNldF9l bmdpbmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCXJldHVybiAoZGV2 X3ByaXYtPmluZm8uaGFzX3Jlc2V0X2VuZ2luZSAmJgorCQkhZGV2X3ByaXYtPmd1Yy5leGVjYnVm X2NsaWVudCAmJgorCQlpOTE1LnJlc2V0ID09IDIpOworfQorCiBpbnQgaW50ZWxfZ3VjX3Jlc2V0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlpbnQgcmV0OwotLSAKMi4x MS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK