From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carlos Santa Subject: [PATCH v5 2/5] drm/i915: Watchdog timeout: IRQ handler for gen8+ Date: Fri, 22 Mar 2019 16:41:15 -0700 Message-ID: <20190322234118.65980-3-carlos.santa@intel.com> References: <20190322234118.65980-1-carlos.santa@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 8BBBB6E3E2 for ; Fri, 22 Mar 2019 23:42:15 +0000 (UTC) In-Reply-To: <20190322234118.65980-1-carlos.santa@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: Michel Thierry List-Id: intel-gfx@lists.freedesktop.org RnJvbTogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4KCioqKiBHZW5l cmFsICoqKgoKV2F0Y2hkb2cgdGltZW91dCAob3IgIm1lZGlhIGVuZ2luZSByZXNldCIpIGlzIGEg ZmVhdHVyZSB0aGF0IGFsbG93cwp1c2VybGFuZCBhcHBsaWNhdGlvbnMgdG8gZW5hYmxlIGhhbmcg ZGV0ZWN0aW9uIG9uIGluZGl2aWR1YWwgYmF0Y2ggYnVmZmVycy4KVGhlIGRldGVjdGlvbiBtZWNo YW5pc20gaXRzZWxmIGlzIG1vc3RseSBib3VuZCB0byB0aGUgaGFyZHdhcmUgYW5kIHRoZSBvbmx5 CnRoaW5nIHRoYXQgdGhlIGRyaXZlciBuZWVkcyB0byBkbyB0byBzdXBwb3J0IHRoaXMgZm9ybSBv ZiBoYW5nIGRldGVjdGlvbgppcyB0byBpbXBsZW1lbnQgdGhlIGludGVycnVwdCBoYW5kbGluZyBz dXBwb3J0IGFzIHdlbGwgYXMgd2F0Y2hkb2cgY29tbWFuZAplbWlzc2lvbiBiZWZvcmUgYW5kIGFm dGVyIHRoZSBlbWl0dGVkIGJhdGNoIGJ1ZmZlciBzdGFydCBpbnN0cnVjdGlvbiBpbiB0aGUKcmlu ZyBidWZmZXIuCgpUaGUgcHJpbmNpcGxlIG9mIHRoZSBoYW5nIGRldGVjdGlvbiBtZWNoYW5pc20g aXMgYXMgZm9sbG93czoKCjEuIE9uY2UgdGhlIGRlY2lzaW9uIGhhcyBiZWVuIG1hZGUgdG8gZW5h YmxlIHdhdGNoZG9nIHRpbWVvdXQgZm9yIGEKcGFydGljdWxhciBiYXRjaCBidWZmZXIgYW5kIHRo ZSBkcml2ZXIgaXMgaW4gdGhlIHByb2Nlc3Mgb2YgZW1pdHRpbmcgdGhlCmJhdGNoIGJ1ZmZlciBz dGFydCBpbnN0cnVjdGlvbiBpbnRvIHRoZSByaW5nIGJ1ZmZlciBpdCBhbHNvIGVtaXRzIGEKd2F0 Y2hkb2cgdGltZXIgc3RhcnQgaW5zdHJ1Y3Rpb24gYmVmb3JlIGFuZCBhIHdhdGNoZG9nIHRpbWVy IGNhbmNlbGxhdGlvbgppbnN0cnVjdGlvbiBhZnRlciB0aGUgYmF0Y2ggYnVmZmVyIHN0YXJ0IGlu c3RydWN0aW9uIGluIHRoZSByaW5nIGJ1ZmZlci4KCjIuIE9uY2UgdGhlIEdQVSBleGVjdXRpb24g cmVhY2hlcyB0aGUgd2F0Y2hkb2cgdGltZXIgc3RhcnQgaW5zdHJ1Y3Rpb24KdGhlIGhhcmR3YXJl IHdhdGNoZG9nIGNvdW50ZXIgaXMgc3RhcnRlZCBieSB0aGUgaGFyZHdhcmUuIFRoZSBjb3VudGVy CmtlZXBzIGNvdW50aW5nIHVudGlsIGVpdGhlciByZWFjaGluZyBhIHByZXZpb3VzbHkgY29uZmln dXJlZCB0aHJlc2hvbGQKdmFsdWUgb3IgdGhlIHRpbWVyIGNhbmNlbGxhdGlvbiBpbnN0cnVjdGlv biBpcyBleGVjdXRlZC4KCjJhLiBJZiB0aGUgY291bnRlciByZWFjaGVzIHRoZSB0aHJlc2hvbGQg dmFsdWUgdGhlIGhhcmR3YXJlIGZpcmVzIGEKd2F0Y2hkb2cgaW50ZXJydXB0IHRoYXQgaXMgcGlj a2VkIHVwIGJ5IHRoZSB3YXRjaGRvZyBpbnRlcnJ1cHQgaGFuZGxlci4KVGhpcyBtZWFucyB0aGF0 IGEgaGFuZyBoYXMgYmVlbiBkZXRlY3RlZCBhbmQgdGhlIGRyaXZlciBuZWVkcyB0byBkZWFsIHdp dGgKaXQgdGhlIHNhbWUgd2F5IGl0IHdvdWxkIGRlYWwgd2l0aCBhIGVuZ2luZSBoYW5nIGRldGVj dGVkIGJ5IHRoZSBwZXJpb2RpYwpoYW5nIGNoZWNrZXIuIFRoZSBvbmx5IGRpZmZlcmVuY2UgYmV0 d2VlbiB0aGUgdHdvIGlzIHRoYXQgd2UgYWxyZWFkeSBibGFtZWQKdGhlIGFjdGl2ZSByZXF1ZXN0 ICh0byBlbnN1cmUgYW4gZW5naW5lIHJlc2V0KS4KCjJiLiBJZiB0aGUgYmF0Y2ggYnVmZmVyIGNv bXBsZXRlcyBhbmQgdGhlIGV4ZWN1dGlvbiByZWFjaGVzIHRoZSB3YXRjaGRvZwpjYW5jZWxsYXRp b24gaW5zdHJ1Y3Rpb24gYmVmb3JlIHRoZSB3YXRjaGRvZyBjb3VudGVyIHJlYWNoZXMgaXRzCnRo cmVzaG9sZCB2YWx1ZSB0aGUgd2F0Y2hkb2cgaXMgY2FuY2VsbGVkIGFuZCBub3RoaW5nIG1vcmUg Y29tZXMgb2YgaXQuCk5vIGhhbmcgaXMgZGV0ZWN0ZWQuCgpOb3RlIGFib3V0IGZ1dHVyZSBpbnRl cmFjdGlvbiB3aXRoIHByZWVtcHRpb246IFByZWVtcHRpb24gY291bGQgaGFwcGVuCmluIGEgY29t bWFuZCBzZXF1ZW5jZSBwcmlvciB0byB3YXRjaGRvZyBjb3VudGVyIGdldHRpbmcgZGlzYWJsZWQs CnJlc3VsdGluZyBpbiB3YXRjaGRvZyBiZWluZyB0cmlnZ2VyZWQgZm9sbG93aW5nIHByZWVtcHRp b24gKGUuZy4gd2hlbgp3YXRjaGRvZyBoYWQgYmVlbiBlbmFibGVkIGluIHRoZSBsb3cgcHJpb3Jp dHkgYmF0Y2gpLiBUaGUgZHJpdmVyIHdpbGwKbmVlZCB0byBleHBsaWNpdGx5IGRpc2FibGUgdGhl IHdhdGNoZG9nIGNvdW50ZXIgYXMgcGFydCBvZiB0aGUKcHJlZW1wdGlvbiBzZXF1ZW5jZS4KCioq KiBUaGlzIHBhdGNoIGludHJvZHVjZXM6ICoqKgoKMS4gSVJRIGhhbmRsZXIgY29kZSBmb3Igd2F0 Y2hkb2cgdGltZW91dCBhbGxvd2luZyBkaXJlY3QgaGFuZyByZWNvdmVyeQpiYXNlZCBvbiBoYXJk d2FyZS1kcml2ZW4gaGFuZyBkZXRlY3Rpb24sIHdoaWNoIHRoZW4gaW50ZWdyYXRlcyBkaXJlY3Rs eQp3aXRoIHRoZSBoYW5nIHJlY292ZXJ5IHBhdGguIFRoaXMgaXMgaW5kZXBlbmRlbnQgb2YgaGF2 aW5nIHBlci1lbmdpbmUgcmVzZXQKb3IganVzdCBmdWxsIGdwdSByZXNldC4KCjIuIFdhdGNoZG9n IHNwZWNpZmljIHJlZ2lzdGVyIGluZm9ybWF0aW9uLgoKQ3VycmVudGx5IHRoZSByZW5kZXIgZW5n aW5lIGFuZCBhbGwgYXZhaWxhYmxlIG1lZGlhIGVuZ2luZXMgc3VwcG9ydAp3YXRjaGRvZyB0aW1l b3V0IChWRUNTIGlzIG9ubHkgc3VwcG9ydGVkIGluIEdFTjkpLiBUaGUgc3BlY2lmaWNhdGlvbnMg ZWx1ZGUKdG8gdGhlIEJDUyBlbmdpbmUgYmVpbmcgc3VwcG9ydGVkIGJ1dCB0aGF0IGlzIGN1cnJl bnRseSBub3Qgc3VwcG9ydGVkIGJ5CnRoaXMgY29tbWl0LgoKTm90ZSB0aGF0IHRoZSB2YWx1ZSB0 byBzdG9wIHRoZSBjb3VudGVyIGlzIGRpZmZlcmVudCBiZXR3ZWVuIHJlbmRlciBhbmQKbm9uLXJl bmRlciBlbmdpbmVzIGluIEdFTjg7IEdFTjkgb253YXJkcyBpdCdzIHRoZSBzYW1lLgoKdjI6IE1v dmUgaXJxIGhhbmRsZXIgdG8gdGFza2xldCwgYXJtIHdhdGNoZG9nIGZvciBhIDJuZCB0aW1lIHRv IGNoZWNrCmFnYWluc3QgZmFsc2UtcG9zaXRpdmVzLgoKdjM6IERvbid0IHVzZSBoaWdoIHByaW9y aXR5IHRhc2tsZXQsIHVzZSBlbmdpbmVfbGFzdF9zdWJtaXQgd2hpbGUKY2hlY2tpbmcgZm9yIGZh bHNlLXBvc2l0aXZlcy4gRnJvbSBHRU45IG9ud2FyZHMsIHRoZSBzdG9wIGNvdW50ZXIgYml0IGlz CnRoZSBzYW1lIGZvciBhbGwgZW5naW5lcy4KCnY0OiBSZW1vdmUgdW5uZWNlc3NhcnkgYnJhY2tl dHMsIHVzZSBjdXJyZW50X3NlcW5vIHRvIG1hcmsgdGhlIHJlcXVlc3QKYXMgZ3VpbHR5IGluIHRo ZSBoYW5nY2hlY2svY2FwdHVyZSBjb2RlLgoKdjU6IFJlYmFzZWQgYWZ0ZXIgUkVTRVRfRU5HSU5F cyBmbGFnLgoKdjY6IERvbid0IGNhcHR1cmUgZXJyb3Igc3RhdGUgaW4gY2FzZSBvZiB3YXRjaGRv ZyB0aW1lb3V0LiBUaGUgY2FwdHVyZQpwcm9jZXNzIGlzIHRpbWUgY29uc3VtaW5nIGFuZCB0aGlz IHdpbGwgYWxpZ24gdG8gd2hhdCBoYXBwZW5zIHdoZW4gd2UKdXNlIEd1QyB0byBoYW5kbGUgdGhl IHdhdGNoZG9nIHRpbWVvdXQuIChDaHJpcykKCnY3OiBSZWJhc2UuCgp2ODogUmViYXNlLCB1c2Ug SFogdG8gcmVzY2hlZHVsZS4KCnY5OiBSZWJhc2UsIGdldCBmb3JjZXdha2UgZG9tYWlucyBpbiBm dW5jdGlvbiAobm8gbG9uZ2VyIGluIGV4ZWNsaXN0cwpzdHJ1Y3QpLgoKdjEwOiBSZWJhc2UuCgp2 MTE6IFJlYmFzZSwKICAgICByZW1vdmUgZXh0cmEgYnJhY2VzIChUdnJ0a28pLAogICAgIGltcGxl bWVudCB3YXRjaGRvZ190b19jbG9ja19jb3VudHMgaGVscGVyIChUdnJ0a28pLAogICAgIE1vdmUg dGFza2xldF9raWxsKHdhdGNoZG9nX3Rhc2tsZXQpIGluc2lkZSBpbnRlbF9lbmdpbmVzIChUdnJ0 a28pLAogICAgIFVzZSBhIGdsb2JhbCBoZWFydGJlYXQgc2Vxbm8gaW5zdGVhZCBvZiBlbmdpbmUg c2Vxbm8gKENocmlzKQogICAgIE1ha2UgYWxsIGVuZ2luZXMgY2hlY2tzIGFsbCBjbGFzcyBiYXNl ZCBjaGVja3MgKFR2cnRrbykKCnYxMjogUmViYXNlLAogICAgIFJlc2V0IGltbWVkaWF0ZWx5IHVw b24gZW50ZXJpbmcgdGhlIElSUSAoQ2hyaXMpCiAgICAgTWFrZSByZXNldF9lbmdpbmVfdG9fc3Ry IGEgaGVscGVyIChUdnJ0a28pCiAgICAgUmVuYW1lIHdhdGNoZG9nX2lycV9oYW5kbGVyIGFzIHdh dGNoZG9nX3Rhc2tsZXQgKFR2cnRrbykKICAgICBMZXQgdGhlIGNvbXBpbGVyIGl0c2VsZiBkbyB0 aGUgaW5saW5lIChUdnJ0a28pCgp2MTM6IFJlYmFzZQp2MTQ6IFJlYmFzZSwgc2tpcCBjaGVja2lu ZyBmb3IgdGhlIGd1aWx0eSBzZXFubyBpbiB0aGUgdGFza2xldCAoVHZydGtvKQoKQ2M6IEFudG9u aW8gQXJnZW56aWFubyA8YW50b25pby5hcmdlbnppYW5vQGludGVsLmNvbT4KQ2M6IFR2cnRrbyBV cnN1bGluIDx0dnJ0a28udXJzdWxpbkBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IE1p Y2hlbCBUaGllcnJ5IDxtaWNoZWwudGhpZXJyeUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IENh cmxvcyBTYW50YSA8Y2FybG9zLnNhbnRhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dwdV9lcnJvci5oICAgICB8ICA0ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2lycS5jICAgICAgICAgICB8IDE0ICsrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaCAgICAgICAgICAgfCAgNiArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVz ZXQuYyAgICAgICAgIHwgMjAgKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl c2V0LmggICAgICAgICB8ICA2ICsrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5l X2NzLmMgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfdHlwZXMu aCB8ICA1ICsrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGFuZ2NoZWNrLmMgICAgfCAx MSArLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgfCA1MiAr KysrKysrKysrKysrKysrKysrKysrKwogOSBmaWxlcyBjaGFuZ2VkLCAxMDcgaW5zZXJ0aW9ucygr KSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9ncHVfZXJyb3IuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmgKaW5k ZXggOTlkNmI3YjI3MGMyLi42Y2Y2YTg2NzliMjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n cHVfZXJyb3IuaApAQCAtMjAzLDYgKzIwMyw5IEBAIHN0cnVjdCBpOTE1X2dwdV9lcnJvciB7CiAJ ICogYW55IGdsb2JhbCByZXNvdXJjZXMgdGhhdCBtYXkgYmUgY2xvYmJlciBieSB0aGUgcmVzZXQg KHN1Y2ggYXMKIAkgKiBGRU5DRSByZWdpc3RlcnMpLgogCSAqCisJICogI0k5MTVfUkVTRVRfV0FU Q0hET0cgLSBXaGVuIGh3IGRldGVjdHMgYSBoYW5nIGJlZm9yZSB1cywgd2UgY2FuIHVzZQorCSAq IEk5MTVfUkVTRVRfV0FUQ0hET0cgdG8gcmVwb3J0IHRoZSBoYW5nIGRldGVjdGlvbiBjYXVzZSBh Y2N1cmF0ZWx5LgorCSAqCiAJICogI0k5MTVfUkVTRVRfRU5HSU5FW251bV9lbmdpbmVzXSAtIFNp bmNlIHRoZSBkcml2ZXIgZG9lc24ndCBuZWVkIHRvCiAJICogYWNxdWlyZSB0aGUgc3RydWN0X211 dGV4IHRvIHJlc2V0IGFuIGVuZ2luZSwgd2UgbmVlZCBhbiBleHBsaWNpdAogCSAqIGZsYWcgdG8g cHJldmVudCB0d28gY29uY3VycmVudCByZXNldCBhdHRlbXB0cyBpbiB0aGUgc2FtZSBlbmdpbmUu CkBAIC0yMTgsNiArMjIxLDcgQEAgc3RydWN0IGk5MTVfZ3B1X2Vycm9yIHsKICNkZWZpbmUgSTkx NV9SRVNFVF9CQUNLT0ZGCTAKICNkZWZpbmUgSTkxNV9SRVNFVF9NT0RFU0VUCTEKICNkZWZpbmUg STkxNV9SRVNFVF9FTkdJTkUJMgorI2RlZmluZSBJOTE1X1JFU0VUX1dBVENIRE9HCTMKICNkZWZp bmUgSTkxNV9XRURHRUQJCShCSVRTX1BFUl9MT05HIC0gMSkKIAogCS8qKiBOdW1iZXIgb2YgdGlt ZXMgdGhlIGRldmljZSBoYXMgYmVlbiByZXNldCAoZ2xvYmFsKSAqLwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf aXJxLmMKaW5kZXggODJkNDg3MTg5YTM0Li5lNjQ5OTRiZTI1YzMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuYwpAQCAtMTQ2Niw2ICsxNDY2LDkgQEAgZ2VuOF9jc19pcnFfaGFuZGxlcihzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiBpaXIpCiAKIAlpZiAodGFza2xldCkKIAkJdGFz a2xldF9oaV9zY2hlZHVsZSgmZW5naW5lLT5leGVjbGlzdHMudGFza2xldCk7CisKKwlpZiAoaWly ICYgR1RfR0VOOF9XQVRDSERPR19JTlRFUlJVUFQpCisJCXRhc2tsZXRfc2NoZWR1bGUoJmVuZ2lu ZS0+ZXhlY2xpc3RzLndhdGNoZG9nX3Rhc2tsZXQpOwogfQogCiBzdGF0aWMgdm9pZCBnZW44X2d0 X2lycV9hY2soc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCkBAIC0zODkyLDIwICszODk1 LDI1IEBAIHN0YXRpYyB2b2lkIGdlbjhfZ3RfaXJxX3Bvc3RpbnN0YWxsKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKIAl1MzIgZ3RfaW50ZXJydXB0c1tdID0gewogCQkoR1RfUkVO REVSX1VTRVJfSU5URVJSVVBUIDw8IEdFTjhfUkNTX0lSUV9TSElGVCB8CiAJCSBHVF9DT05URVhU X1NXSVRDSF9JTlRFUlJVUFQgPDwgR0VOOF9SQ1NfSVJRX1NISUZUIHwKKwkJIEdUX0dFTjhfV0FU Q0hET0dfSU5URVJSVVBUIDw8IEdFTjhfUkNTX0lSUV9TSElGVCB8CiAJCSBHVF9SRU5ERVJfVVNF Ul9JTlRFUlJVUFQgPDwgR0VOOF9CQ1NfSVJRX1NISUZUIHwKIAkJIEdUX0NPTlRFWFRfU1dJVENI X0lOVEVSUlVQVCA8PCBHRU44X0JDU19JUlFfU0hJRlQpLAotCiAJCShHVF9SRU5ERVJfVVNFUl9J TlRFUlJVUFQgPDwgR0VOOF9WQ1MwX0lSUV9TSElGVCB8CiAJCSBHVF9DT05URVhUX1NXSVRDSF9J TlRFUlJVUFQgPDwgR0VOOF9WQ1MwX0lSUV9TSElGVCB8CisJCSBHVF9HRU44X1dBVENIRE9HX0lO VEVSUlVQVCA8PCBHRU44X1ZDUzBfSVJRX1NISUZUIHwKIAkJIEdUX1JFTkRFUl9VU0VSX0lOVEVS UlVQVCA8PCBHRU44X1ZDUzFfSVJRX1NISUZUIHwKLQkJIEdUX0NPTlRFWFRfU1dJVENIX0lOVEVS UlVQVCA8PCBHRU44X1ZDUzFfSVJRX1NISUZUKSwKLQorCQkgR1RfQ09OVEVYVF9TV0lUQ0hfSU5U RVJSVVBUIDw8IEdFTjhfVkNTMV9JUlFfU0hJRlQgfAorCQkgR1RfR0VOOF9XQVRDSERPR19JTlRF UlJVUFQgPDwgR0VOOF9WQ1MxX0lSUV9TSElGVCksCiAJCTAsCiAKIAkJKEdUX1JFTkRFUl9VU0VS X0lOVEVSUlVQVCA8PCBHRU44X1ZFQ1NfSVJRX1NISUZUIHwKIAkJIEdUX0NPTlRFWFRfU1dJVENI X0lOVEVSUlVQVCA8PCBHRU44X1ZFQ1NfSVJRX1NISUZUKQogCX07CiAKKwkvKiBWRUNTIHdhdGNo ZG9nIGlzIG9ubHkgYXZhaWxhYmxlIGluIHNrbCsgKi8KKwlpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA+PSA5KQorCQlndF9pbnRlcnJ1cHRzWzNdIHw9IEdUX0dFTjhfV0FUQ0hET0dfSU5URVJSVVBU OworCiAJZGV2X3ByaXYtPnBtX2llciA9IDB4MDsKIAlkZXZfcHJpdi0+cG1faW1yID0gfmRldl9w cml2LT5wbV9pZXI7CiAJR0VOOF9JUlFfSU5JVF9ORFgoR1QsIDAsIH5ndF9pbnRlcnJ1cHRzWzBd LCBndF9pbnRlcnJ1cHRzWzBdKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDliNjljZWMy MWY3Yi4uYWM4ZDk4NGUxNmFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTIzNjMsNiAr MjM2MywxMSBAQCBlbnVtIGk5MTVfcG93ZXJfd2VsbF9pZCB7CiAjZGVmaW5lIFJJTkdfU1RBUlQo YmFzZSkJX01NSU8oKGJhc2UpICsgMHgzOCkKICNkZWZpbmUgUklOR19DVEwoYmFzZSkJCV9NTUlP KChiYXNlKSArIDB4M2MpCiAjZGVmaW5lICAgUklOR19DVExfU0laRShzaXplKQkoKHNpemUpIC0g UEFHRV9TSVpFKSAvKiBpbiBieXRlcyAtPiBwYWdlcyAqLworI2RlZmluZSBSSU5HX0NOVFIoYmFz ZSkJCV9NTUlPKChiYXNlKSArIDB4MTc4KQorI2RlZmluZSBHRU44X1dBVENIRE9HX0VOQUJMRQkJ MAorI2RlZmluZSBHRU44X1dBVENIRE9HX0RJU0FCTEUJCTEKKyNkZWZpbmUgR0VOOF9YQ1NfV0FU Q0hET0dfRElTQUJMRQkweEZGRkZGRkZGIC8qIEdFTjggJiBub24tcmVuZGVyIG9ubHkgKi8KKyNk ZWZpbmUgUklOR19USFJFU0goYmFzZSkJX01NSU8oKGJhc2UpICsgMHgxN0MpCiAjZGVmaW5lIFJJ TkdfU1lOQ18wKGJhc2UpCV9NTUlPKChiYXNlKSArIDB4NDApCiAjZGVmaW5lIFJJTkdfU1lOQ18x KGJhc2UpCV9NTUlPKChiYXNlKSArIDB4NDQpCiAjZGVmaW5lIFJJTkdfU1lOQ18yKGJhc2UpCV9N TUlPKChiYXNlKSArIDB4NDgpCkBAIC0yOTI1LDYgKzI5MzAsNyBAQCBlbnVtIGk5MTVfcG93ZXJf d2VsbF9pZCB7CiAjZGVmaW5lIEdUX0JTRF9VU0VSX0lOVEVSUlVQVAkJCSgxIDw8IDEyKQogI2Rl ZmluZSBHVF9SRU5ERVJfTDNfUEFSSVRZX0VSUk9SX0lOVEVSUlVQVF9TMQkoMSA8PCAxMSkgLyog aHN3KzsgcnN2ZCBvbiBzbmIsIGl2Yiwgdmx2ICovCiAjZGVmaW5lIEdUX0NPTlRFWFRfU1dJVENI X0lOVEVSUlVQVAkJKDEgPDwgIDgpCisjZGVmaW5lIEdUX0dFTjhfV0FUQ0hET0dfSU5URVJSVVBU CQkoMSA8PCAgNikgLyogZ2VuOCsgKi8KICNkZWZpbmUgR1RfUkVOREVSX0wzX1BBUklUWV9FUlJP Ul9JTlRFUlJVUFQJKDEgPDwgIDUpIC8qICFzbmIgKi8KICNkZWZpbmUgR1RfUkVOREVSX1BJUEVD VExfTk9USUZZX0lOVEVSUlVQVAkoMSA8PCAgNCkKICNkZWZpbmUgR1RfUkVOREVSX0NTX01BU1RF Ul9FUlJPUl9JTlRFUlJVUFQJKDEgPDwgIDMpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3Jlc2V0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jlc2V0LmMKaW5k ZXggODYxZmUwODNlMzgzLi43MzlmYTVhZDFhOGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVzZXQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jlc2V0 LmMKQEAgLTEyMDgsNiArMTIwOCwyNiBAQCB2b2lkIGk5MTVfY2xlYXJfZXJyb3JfcmVnaXN0ZXJz KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAl9CiB9CiAKK3ZvaWQgZW5naW5l X3Jlc2V0X2Vycm9yX3RvX3N0cihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKKwkgICAg ICAgICAgIGNoYXIgKm1zZywKKwkgICAgICAgICAgIHNpemVfdCBzeiwKKwkgICAgICAgICAgIHVu c2lnbmVkIGludCBodW5nLAorCSAgICAgICAgICAgdW5zaWduZWQgaW50IHN0dWNrLAorCSAgICAg ICAgICAgdW5zaWduZWQgaW50IHdhdGNoZG9nKQoreworCWludCBsZW47CisJdW5zaWduZWQgaW50 IHRtcDsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CisKKwlsZW4gPSBzY25wcmlu dGYobXNnLCBzeiwKKwkJCSIlcyBvbiAiLCB3YXRjaGRvZyA/ICJ3YXRjaGRvZyB0aW1lb3V0IiA6 CisJCQkJc3R1Y2sgPT0gaHVuZyA/ICJub19wcm9ncmVzcyIgOiAiaGFuZyIpOworCWZvcl9lYWNo X2VuZ2luZV9tYXNrZWQoZW5naW5lLCBpOTE1LCBodW5nLCB0bXApCisJCWxlbiArPSBzY25wcmlu dGYobXNnICsgbGVuLCBzeiAtIGxlbiwKKwkJCQkiJXMsICIsIGVuZ2luZS0+bmFtZSk7CisJbXNn W2xlbi0yXSA9ICdcMCc7Cit9CisKIC8qKgogICogaTkxNV9oYW5kbGVfZXJyb3IgLSBoYW5kbGUg YSBncHUgZXJyb3IKICAqIEBpOTE1OiBpOTE1IGRldmljZSBwcml2YXRlCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jlc2V0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3Jlc2V0LmgKaW5kZXggMTZmMjM4OWY2NTZmLi44NTgyZDEyNDIyNDggMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVzZXQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3Jlc2V0LmgKQEAgLTIwLDYgKzIwLDEyIEBAIHZvaWQgaTkxNV9oYW5kbGVfZXJy b3Ioc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJCSAgICAgICB1MzIgZW5naW5lX21h c2ssCiAJCSAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzLAogCQkgICAgICAgY29uc3QgY2hhciAq Zm10LCAuLi4pOwordm9pZCBlbmdpbmVfcmVzZXRfZXJyb3JfdG9fc3RyKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1LAorICAgICAgICAgICAgICAgY2hhciAqc3RyLAorICAgICAgICAgICAg ICAgc2l6ZV90IHN6LAorICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGh1bmcsCisgICAgICAg ICAgICAgICB1bnNpZ25lZCBpbnQgc3R1Y2ssCisgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg d2F0Y2hkb2cpOwogI2RlZmluZSBJOTE1X0VSUk9SX0NBUFRVUkUgQklUKDApCiAKIHZvaWQgaTkx NV9jbGVhcl9lcnJvcl9yZWdpc3RlcnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCA2NTJjMWIzYmExOTAuLjg4 Y2YwZmMwNzYyMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5l X2NzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKQEAgLTEx NDksNiArMTE0OSw3IEBAIHZvaWQgaW50ZWxfZW5naW5lc19wYXJrKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1KQogCQkvKiBGbHVzaCB0aGUgcmVzaWR1YWwgaXJxIHRhc2tsZXRzIGZpcnN0 LiAqLwogCQlpbnRlbF9lbmdpbmVfZGlzYXJtX2JyZWFkY3J1bWJzKGVuZ2luZSk7CiAJCXRhc2ts ZXRfa2lsbCgmZW5naW5lLT5leGVjbGlzdHMudGFza2xldCk7CisJCXRhc2tsZXRfa2lsbCgmZW5n aW5lLT5leGVjbGlzdHMud2F0Y2hkb2dfdGFza2xldCk7CiAKIAkJLyoKIAkJICogV2UgYXJlIGNv bW1pdHRlZCBub3cgdG8gcGFya2luZyB0aGUgZW5naW5lcywgbWFrZSBzdXJlIHRoZXJlCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfdHlwZXMuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV90eXBlcy5oCmluZGV4IGIwYWExZjBkNGU0Ny4u YzRmNjZiNzc0ZTdjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdp bmVfdHlwZXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfdHlwZXMu aApAQCAtMTI0LDYgKzEyNCwxMSBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyB7CiAJ ICovCiAJc3RydWN0IHRhc2tsZXRfc3RydWN0IHRhc2tsZXQ7CiAKKwkvKgorCSAqIEB3YXRjaGRv Z190YXNrbGV0OiBzdG9wIGNvdW50ZXIgYW5kIHJlc2NoZWR1bGUgaGFuZ2NoZWNrX3dvcmsgYXNh cAorCSAqLworCXN0cnVjdCB0YXNrbGV0X3N0cnVjdCB3YXRjaGRvZ190YXNrbGV0OworCiAJLyoq CiAJICogQGRlZmF1bHRfcHJpb2xpc3Q6IHByaW9yaXR5IGxpc3QgZm9yIEk5MTVfUFJJT1JJVFlf Tk9STUFMCiAJICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oYW5n Y2hlY2suYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hhbmdjaGVjay5jCmluZGV4IDU3 ZWQ0OWRjMTljNC4uNGJmMjY4NjM2NzhjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9oYW5nY2hlY2suYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oYW5n Y2hlY2suYwpAQCAtMjIwLDIyICsyMjAsMTUgQEAgc3RhdGljIHZvaWQgaGFuZ2NoZWNrX2RlY2xh cmVfaGFuZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkJCQkgICB1bnNpZ25lZCBp bnQgaHVuZywKIAkJCQkgICB1bnNpZ25lZCBpbnQgc3R1Y2spCiB7Ci0Jc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lOwogCWNoYXIgbXNnWzgwXTsKLQl1bnNpZ25lZCBpbnQgdG1wOwotCWlu dCBsZW47CisJc2l6ZV90IGxlbiA9IHNpemVvZihtc2cpOwogCiAJLyogSWYgc29tZSByaW5ncyBo dW5nIGJ1dCBvdGhlcnMgd2VyZSBzdGlsbCBidXN5LCBvbmx5CiAJICogYmxhbWUgdGhlIGhhbmdp bmcgcmluZ3MgaW4gdGhlIHN5bm9wc2lzLgogCSAqLwogCWlmIChzdHVjayAhPSBodW5nKQogCQlo dW5nICY9IH5zdHVjazsKLQlsZW4gPSBzY25wcmludGYobXNnLCBzaXplb2YobXNnKSwKLQkJCSIl cyBvbiAiLCBzdHVjayA9PSBodW5nID8gIm5vIHByb2dyZXNzIiA6ICJoYW5nIik7Ci0JZm9yX2Vh Y2hfZW5naW5lX21hc2tlZChlbmdpbmUsIGk5MTUsIGh1bmcsIHRtcCkKLQkJbGVuICs9IHNjbnBy aW50Zihtc2cgKyBsZW4sIHNpemVvZihtc2cpIC0gbGVuLAotCQkJCSAiJXMsICIsIGVuZ2luZS0+ bmFtZSk7Ci0JbXNnW2xlbi0yXSA9ICdcMCc7CisJZW5naW5lX3Jlc2V0X2Vycm9yX3RvX3N0cihp OTE1LCBtc2csIGxlbiwgaHVuZywgc3R1Y2ssIDApOwogCiAJcmV0dXJuIGk5MTVfaGFuZGxlX2Vy cm9yKGk5MTUsIGh1bmcsIEk5MTVfRVJST1JfQ0FQVFVSRSwgIiVzIiwgbXNnKTsKIH0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggZTU0ZTAwNjRiMmQ2Li44NTc4NWE5NGY2YWUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC0yMTk1LDYgKzIxOTUsNDAgQEAgc3RhdGljIGludCBn ZW44X2VtaXRfZmx1c2hfcmVuZGVyKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QsCiAJcmV0 dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lkIGdlbjhfd2F0Y2hkb2dfdGFza2xldCh1bnNpZ25lZCBs b25nIGRhdGEpCit7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKilkYXRhOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGVuZ2luZS0+aTkxNTsKKwllbnVtIGZvcmNld2FrZV9kb21haW5zIGZ3X2RvbWFpbnM7CisJ Y2hhciBtc2dbODBdOworCXNpemVfdCBsZW4gPSBzaXplb2YobXNnKTsKKwl1bnNpZ25lZCBsb25n ICpsb2NrID0gJmVuZ2luZS0+aTkxNS0+Z3B1X2Vycm9yLmZsYWdzOworCXVuc2lnbmVkIGludCBi aXQgPSBJOTE1X1JFU0VUX0VOR0lORSArIGVuZ2luZS0+aWQ7CisKKwlzd2l0Y2ggKGVuZ2luZS0+ Y2xhc3MpIHsKKwlkZWZhdWx0OgorCQlNSVNTSU5HX0NBU0UoZW5naW5lLT5pZCk7CisJCS8qIGZh bGwgdGhyb3VnaCAqLworCWNhc2UgUkVOREVSX0NMQVNTOgorCQlmd19kb21haW5zID0gRk9SQ0VX QUtFX1JFTkRFUjsKKwkJYnJlYWs7CisJY2FzZSBWSURFT19ERUNPREVfQ0xBU1M6CisJY2FzZSBW SURFT19FTkhBTkNFTUVOVF9DTEFTUzoKKwkJZndfZG9tYWlucyA9IEZPUkNFV0FLRV9NRURJQTsK KwkJYnJlYWs7CisJfQorCisJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9nZXQoZGV2X3ByaXYsIGZ3 X2RvbWFpbnMpOworCisJaWYgKCF0ZXN0X2FuZF9zZXRfYml0KGJpdCwgbG9jaykpIHsKKwkJdW5z aWduZWQgaW50IGh1bmcgPSBlbmdpbmUtPm1hc2s7CisJCWVuZ2luZV9yZXNldF9lcnJvcl90b19z dHIoZGV2X3ByaXYsIG1zZywgbGVuLCBodW5nLCAwLCAxKTsKKwkJaTkxNV9yZXNldF9lbmdpbmUo ZW5naW5lLCBtc2cpOworCQljbGVhcl9iaXQoYml0LCBsb2NrKTsKKwkJd2FrZV91cF9iaXQobG9j aywgYml0KTsKKwl9Cit9CisKIC8qCiAgKiBSZXNlcnZlIHNwYWNlIGZvciAyIE5PT1BzIGF0IHRo ZSBlbmQgb2YgZWFjaCByZXF1ZXN0IHRvIGJlCiAgKiB1c2VkIGFzIGEgd29ya2Fyb3VuZCBmb3Ig bm90IGJlaW5nIGFsbG93ZWQgdG8gZG8gbGl0ZQpAQCAtMjM3Nyw2ICsyNDExLDIxIEBAIGxvZ2lj YWxfcmluZ19kZWZhdWx0X2lycXMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCiAJ ZW5naW5lLT5pcnFfZW5hYmxlX21hc2sgPSBHVF9SRU5ERVJfVVNFUl9JTlRFUlJVUFQgPDwgc2hp ZnQ7CiAJZW5naW5lLT5pcnFfa2VlcF9tYXNrID0gR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJSVVBU IDw8IHNoaWZ0OworCisJc3dpdGNoIChlbmdpbmUtPmNsYXNzKSB7CisJZGVmYXVsdDoKKwkJLyog QkNTIGVuZ2luZSBkb2VzIG5vdCBzdXBwb3J0IGh3IHdhdGNoZG9nICovCisJCWJyZWFrOworCWNh c2UgUkVOREVSX0NMQVNTOgorCWNhc2UgVklERU9fREVDT0RFX0NMQVNTOgorCQllbmdpbmUtPmly cV9rZWVwX21hc2sgfD0gR1RfR0VOOF9XQVRDSERPR19JTlRFUlJVUFQgPDwgc2hpZnQ7CisJCWJy ZWFrOworCWNhc2UgVklERU9fRU5IQU5DRU1FTlRfQ0xBU1M6CisJCWlmIChJTlRFTF9HRU4oZW5n aW5lLT5pOTE1KSA+PSA5KQorCQkJZW5naW5lLT5pcnFfa2VlcF9tYXNrIHw9CisJCQkJR1RfR0VO OF9XQVRDSERPR19JTlRFUlJVUFQgPDwgc2hpZnQ7CisJCWJyZWFrOworCX0KIH0KIAogc3RhdGlj IGludApAQCAtMjM5NCw2ICsyNDQzLDkgQEAgbG9naWNhbF9yaW5nX3NldHVwKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKIAl0YXNrbGV0X2luaXQoJmVuZ2luZS0+ZXhlY2xpc3RzLnRh c2tsZXQsCiAJCSAgICAgZXhlY2xpc3RzX3N1Ym1pc3Npb25fdGFza2xldCwgKHVuc2lnbmVkIGxv bmcpZW5naW5lKTsKIAorCXRhc2tsZXRfaW5pdCgmZW5naW5lLT5leGVjbGlzdHMud2F0Y2hkb2df dGFza2xldCwKKwkJICAgICBnZW44X3dhdGNoZG9nX3Rhc2tsZXQsICh1bnNpZ25lZCBsb25nKWVu Z2luZSk7CisKIAlsb2dpY2FsX3JpbmdfZGVmYXVsdF92ZnVuY3MoZW5naW5lKTsKIAlsb2dpY2Fs X3JpbmdfZGVmYXVsdF9pcnFzKGVuZ2luZSk7CiAKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4