From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: [PATCH 08/20] drm/i915: Watchdog timeout: IRQ handler for gen8 Date: Fri, 23 Oct 2015 02:32:30 +0100 Message-ID: <1445563962-20753-9-git-send-email-tomas.elf@intel.com> References: <1445563962-20753-1-git-send-email-tomas.elf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 93A7E6E65B for ; Thu, 22 Oct 2015 18:33:22 -0700 (PDT) In-Reply-To: <1445563962-20753-1-git-send-email-tomas.elf@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: Ian Lister List-Id: intel-gfx@lists.freedesktop.org KioqIEdlbmVyYWwgKioqCgpXYXRjaGRvZyB0aW1lb3V0IChvciAibWVkaWEgZW5naW5lIHJlc2V0 IikgaXMgYSBmZWF0dXJlIHRoYXQgYWxsb3dzIHVzZXJsYW5kCmFwcGxpY2F0aW9ucyB0byBlbmFi bGUgaGFuZyBkZXRlY3Rpb24gb24gaW5kaXZpZHVhbCBiYXRjaCBidWZmZXJzLiBUaGUKZGV0ZWN0 aW9uIG1lY2hhbmlzbSBpdHNlbGYgaXMgbW9zdGx5IGJvdW5kIHRvIHRoZSBoYXJkd2FyZSBhbmQg dGhlIG9ubHkgdGhpbmcKdGhhdCB0aGUgZHJpdmVyIG5lZWRzIHRvIGRvIHRvIHN1cHBvcnQgdGhp cyBmb3JtIG9mIGhhbmcgZGV0ZWN0aW9uIGlzIHRvCmltcGxlbWVudCB0aGUgaW50ZXJydXB0IGhh bmRsaW5nIHN1cHBvcnQgYXMgd2VsbCBhcyB3YXRjaGRvZyBjb21tYW5kIGVtaXNzaW9uCmJlZm9y ZSBhbmQgYWZ0ZXIgdGhlIGVtaXR0ZWQgYmF0Y2ggYnVmZmVyIHN0YXJ0IGluc3RydWN0aW9uIGlu IHRoZSByaW5nIGJ1ZmZlci4KClRoZSBwcmluY2lwbGUgb2YgdGhlIGhhbmcgZGV0ZWN0aW9uIG1l Y2hhbmlzbSBpcyBhcyBmb2xsb3dzOgoKMS4gT25jZSB0aGUgZGVjaXNpb24gaGFzIGJlZW4gbWFk ZSB0byBlbmFibGUgd2F0Y2hkb2cgdGltZW91dCBmb3IgYSBwYXJ0aWN1bGFyCmJhdGNoIGJ1ZmZl ciBhbmQgdGhlIGRyaXZlciBpcyBpbiB0aGUgcHJvY2VzcyBvZiBlbWl0dGluZyB0aGUgYmF0Y2gg YnVmZmVyCnN0YXJ0IGluc3RydWN0aW9uIGludG8gdGhlIHJpbmcgYnVmZmVyIGl0IGFsc28gZW1p dHMgYSB3YXRjaGRvZyB0aW1lciBzdGFydAppbnN0cnVjdGlvbiBiZWZvcmUgYW5kIGEgd2F0Y2hk b2cgdGltZXIgY2FuY2VsbGF0aW9uIGluc3RydWN0aW9uIGFmdGVyIHRoZQpiYXRjaCBidWZmZXIg c3RhcnQgaW5zdHJ1Y3Rpb24gaW4gdGhlIHJpbmcgYnVmZmVyLgoKMi4gT25jZSB0aGUgR1BVIGV4 ZWN1dGlvbiByZWFjaGVzIHRoZSB3YXRjaGRvZyB0aW1lciBzdGFydCBpbnN0cnVjdGlvbiB0aGUK aGFyZHdhcmUgd2F0Y2hkb2cgY291bnRlciBpcyBzdGFydGVkIGJ5IHRoZSBoYXJkd2FyZS4gVGhl IGNvdW50ZXIga2VlcHMKY291bnRpbmcgdW50aWwgZWl0aGVyIHJlYWNoaW5nIGEgcHJldmlvdXNs eSBjb25maWd1cmVkIHRocmVzaG9sZCB2YWx1ZSBvciB0aGUKdGltZXIgY2FuY2VsbGF0aW9uIGlu c3RydWN0aW9uIGlzIGV4ZWN1dGVkLgoKMmEuIElmIHRoZSBjb3VudGVyIHJlYWNoZXMgdGhlIHRo cmVzaG9sZCB2YWx1ZSB0aGUgaGFyZHdhcmUgZmlyZXMgYSB3YXRjaGRvZwppbnRlcnJ1cHQgdGhh dCBpcyBwaWNrZWQgdXAgYnkgdGhlIHdhdGNoZG9nIGludGVycnVwdCBoYW5kbGVyLiBUaGlzIG1l YW5zIHRoYXQKYSBoYW5nIGhhcyBiZWVuIGRldGVjdGVkIGFuZCB0aGUgZHJpdmVyIG5lZWRzIHRv IGRlYWwgd2l0aCBpdCB0aGUgc2FtZSB3YXkgaXQKd291bGQgZGVhbCB3aXRoIGEgZW5naW5lIGhh bmcgZGV0ZWN0ZWQgYnkgdGhlIHBlcmlvZGljIGhhbmcgY2hlY2tlci4gVGhlIG9ubHkKZGlmZmVy ZW5jZSBiZXR3ZWVuIHRoZSB0d28gaXMgdGhhdCB3ZSBuZXZlciBwcm9tb3RlIGZ1bGwgR1BVIHJl c2V0IGZvbGxvd2luZyBhCndhdGNoZG9nIHRpbWVvdXQgaW4gY2FzZSBhIHBlci1lbmdpbmUgcmVz ZXQgd2FzIGF0dGVtcHRlZCB0b28gcmVjZW50bHkuIFRodXNseSwKdGhlIHdhdGNoZG9nIGludGVy cnVwdCBoYW5kbGVyIGNhbGxzIHRoZSBlcnJvciBoYW5kbGVyIGRpcmVjdGx5IHBhc3NpbmcgdGhl CmVuZ2luZSBtYXNrIG9mIHRoZSBodW5nIGVuZ2luZSBpbiBxdWVzdGlvbiwgd2hpY2ggaW1tZWRp YXRlbHkgcmVzdWx0cyBpbiBhCnBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBiZWluZyBzY2hlZHVs ZWQuCgoyYi4gSWYgdGhlIGJhdGNoIGJ1ZmZlciBjb21wbGV0ZXMgYW5kIHRoZSBleGVjdXRpb24g cmVhY2hlcyB0aGUgd2F0Y2hkb2cKY2FuY2VsbGF0aW9uIGluc3RydWN0aW9uIGJlZm9yZSB0aGUg d2F0Y2hkb2cgY291bnRlciByZWFjaGVzIGl0cyB0aHJlc2hvbGQKdmFsdWUgdGhlIHdhdGNoZG9n IGlzIGNhbmNlbGxlZCBhbmQgbm90aGluZyBtb3JlIGNvbWVzIG9mIGl0LiBObyBoYW5nIGlzCmRl dGVjdGVkLgoKKioqIFRoaXMgcGF0Y2ggaW50cm9kdWNlczogKioqCgoxLiBJUlEgaGFuZGxlciBj b2RlIGZvciB3YXRjaGRvZyB0aW1lb3V0IGFsbG93aW5nIGRpcmVjdCBoYW5nIHJlY292ZXJ5IGJh c2VkIG9uCmhhcmR3YXJlLWRyaXZlbiBoYW5nIGRldGVjdGlvbiwgd2hpY2ggdGhlbiBpbnRlZ3Jh dGVzIGRpcmVjdGx5IHdpdGggdGhlCnBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBwYXRoLgoKMi4g V2F0Y2hkb2cgdGltZW91dCBpbml0IGNvZGUgcGF0Y2ggZm9yIHNldHVwIG9mIHdhdGNoZG9nIHRp bWVvdXQgdGhyZXNob2xkCnZhbHVlcyBhbmQgZ2VuLXNwZWNpZmljIHJlZ2lzdGVyIGluZm9ybWF0 aW9uLgoKVGhlIGN1cnJlbnQgZGVmYXVsdCB3YXRjaGRvZyB0aHJlc2hvbGQgdmFsdWUgaXMgNjAg bXMsIHNpbmNlIHRoaXMgaGFzIGJlZW4KZW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBiZSBhIGdv b2QgY29tcHJvbWlzZSBmb3IgbG93LWxhdGVuY3kgcmVxdWlyZW1lbnRzIGFuZApsb3cgcmF0ZSBv ZiBmYWxzZSBwb3NpdGl2ZXMuCgpDdXJyZW50bHkgdGhlIHJlbmRlciBlbmdpbmUgYW5kIGFsbCBh dmFpbGFibGUgbWVkaWEgZW5naW5lcyBzdXBwb3J0IHdhdGNoZG9nCnRpbWVvdXQuIFRoZSBzcGVj aWZpY2F0aW9ucyBlbHVkZSB0byB0aGUgVkVDUyBlbmdpbmUgYmVpbmcgc3VwcG9ydGVkIGJ1dCB0 aGF0CmlzIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29tbWl0LgoKTk9URTogSSBk b24ndCBrbm93IGlmIEJlbiBXaWRhd3NreSBoYWQgYW55IHBhcnQgaW4gdGhpcyBjb2RlIGZyb20g MyB5ZWFycwphZ28uIFRoZXJlIGhhdmUgYmVlbiBzbyBtYW55IHBlb3BsZSBpbnZvbHZlZCBpbiB0 aGlzIGFscmVhZHkgdGhhdCBJIGFtIGluIG5vCnBvc2l0aW9uIHRvIGtub3cuIElmIEkndmUgbWlz c2VkIGFueW9uZSdzIHNvYiBsaW5lIHBsZWFzZSBsZXQgbWUga25vdy4KClNpZ25lZC1vZmYtYnk6 IFRvbWFzIEVsZiA8dG9tYXMuZWxmQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQXJ1biBTaWx1 dmVyeSA8YXJ1bi5zaWx1dmVyeUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IElhbiBMaXN0ZXIg PGlhbi5saXN0ZXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1h LmMgICAgICAgICB8IDU5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9pcnEuYyAgICAgICAgIHwgMzkgKysrKysrKysrKysrKysrKysrKysrKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgIHwgIDcgKysrKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgIHwgIDcgKysrKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgIDkgKysrKysKIDYgZmlsZXMgY2hhbmdlZCwgMTIy IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rt YS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwppbmRleCAxNDc5NjRmLi4xZTIw M2U3ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCkBAIC04NzEsNiArODcxLDY0IEBAIHN0YXRp YyB2b2lkIGludGVsX2luaXRfZHBpbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiAJfQogfQogCit2b2lkIGk5MTVfd2F0Y2hkb2dfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7CisJaW50IGZyZXE7CisJaW50IGk7CisKKwkvKgorCSAqIEJhc2VkIG9uIHByZS1kZWZpbmVk IHRpbWUgb3V0IHZhbHVlICg2MG1zIG9yIDMwbXMpIGNhbGN1bGF0ZQorCSAqIHRpbWVyIGNvdW50 IHRocmVzaG9sZHMgbmVlZGVkIGJhc2VkIG9uIGNvcmUgZnJlcXVlbmN5LgorCSAqCisJICogRm9y IFJDUy4KKwkgKiBUaGUgdGltZXN0YW1wIHJlc29sdXRpb24gY2hhbmdlZCBpbiBHZW43IGFuZCBi ZXlvbmQgdG8gODBucworCSAqIGZvciBhbGwgcGlwZXMuIEJlZm9yZSB0aGF0IGl0IHdhcyA2NDBu cy4KKwkgKi8KKworI2RlZmluZSBLTV9SQ1NfRU5HSU5FX1RJTUVPVVRfVkFMVUVfSU5fTVMgNjAK KyNkZWZpbmUgS01fQlNEX0VOR0lORV9USU1FT1VUX1ZBTFVFX0lOX01TIDYwCisjZGVmaW5lIEtN X1RJTUVSX01JTExJU0VDT05EIDEwMDAKKworCS8qCisJICogVGltZXN0YW1wIHRpbWVyIHJlc29s dXRpb24gPSAwLjA4MCB1U2VjLAorCSAqIG9yIDEyNTAwMDAwIGNvdW50cyBwZXIgc2Vjb25kCisJ ICovCisjZGVmaW5lIEtNX1RJTUVTVEFNUF9DTlRTX1BFUl9TRUNfODBOUyAxMjUwMDAwMAorCisJ LyoKKwkgKiBUaW1lc3RhbXAgdGltZXIgcmVzb2x1dGlvbiA9IDAuNjQwIHVTZWMsCisJICogb3Ig MTU2MjUwMCBjb3VudHMgcGVyIHNlY29uZAorCSAqLworI2RlZmluZSBLTV9USU1FU1RBTVBfQ05U U19QRVJfU0VDXzY0ME5TIDE1NjI1MDAKKworCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA3 KQorCQlmcmVxID0gS01fVElNRVNUQU1QX0NOVFNfUEVSX1NFQ184ME5TOworCWVsc2UKKwkJZnJl cSA9IEtNX1RJTUVTVEFNUF9DTlRTX1BFUl9TRUNfNjQwTlM7CisKKwlkZXZfcHJpdi0+cmluZ1tS Q1NdLndhdGNoZG9nX3RocmVzaG9sZCA9CisJCSgoS01fUkNTX0VOR0lORV9USU1FT1VUX1ZBTFVF X0lOX01TKSAqCisJCShmcmVxIC8gS01fVElNRVJfTUlMTElTRUNPTkQpKTsKKworCWRldl9wcml2 LT5yaW5nW1ZDU10ud2F0Y2hkb2dfdGhyZXNob2xkID0KKwkJKChLTV9CU0RfRU5HSU5FX1RJTUVP VVRfVkFMVUVfSU5fTVMpICoKKwkJKGZyZXEgLyBLTV9USU1FUl9NSUxMSVNFQ09ORCkpOworCisJ ZGV2X3ByaXYtPnJpbmdbVkNTMl0ud2F0Y2hkb2dfdGhyZXNob2xkID0KKwkJKChLTV9CU0RfRU5H SU5FX1RJTUVPVVRfVkFMVUVfSU5fTVMpICoKKwkJKGZyZXEgLyBLTV9USU1FUl9NSUxMSVNFQ09O RCkpOworCisJZm9yIChpID0gMDsgaSA8IEk5MTVfTlVNX1JJTkdTOyBpKyspCisJCWRldl9wcml2 LT5yaW5nW2ldLmhhbmdjaGVjay53YXRjaGRvZ19jb3VudCA9IDA7CisKKwlEUk1fSU5GTygiV2F0 Y2hkb2cgVGltZW91dCBbbXNdLCAiIFwKKwkJCSJSQ1M6IDB4JTA4WCwgVkNTOiAweCUwOFgsIFZD UzI6IDB4JTA4WFxuIiwgXAorCQkJS01fUkNTX0VOR0lORV9USU1FT1VUX1ZBTFVFX0lOX01TLAor CQkJS01fQlNEX0VOR0lORV9USU1FT1VUX1ZBTFVFX0lOX01TLAorCQkJS01fQlNEX0VOR0lORV9U SU1FT1VUX1ZBTFVFX0lOX01TKTsKK30KKwogLyoqCiAgKiBpOTE1X2RyaXZlcl9sb2FkIC0gc2V0 dXAgY2hpcCBhbmQgY3JlYXRlIGFuIGluaXRpYWwgY29uZmlnCiAgKiBAZGV2OiBEUk0gZGV2aWNl CkBAIC0xMDU1LDYgKzExMTMsNyBAQCBpbnQgaTkxNV9kcml2ZXJfbG9hZChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGZsYWdzKQogCWk5MTVfZ2VtX2xvYWQoZGV2KTsKIAog CWk5MTVfaGFuZ2NoZWNrX2luaXQoZGV2KTsKKwlpOTE1X3dhdGNoZG9nX2luaXQoZGV2KTsKIAog CS8qIE9uIHRoZSA5NDVHL0dNLCB0aGUgY2hpcHNldCByZXBvcnRzIHRoZSBNU0kgY2FwYWJpbGl0 eSBvbiB0aGUKIAkgKiBpbnRlZ3JhdGVkIGdyYXBoaWNzIGV2ZW4gdGhvdWdoIHRoZSBzdXBwb3J0 IGlzbid0IGFjdHVhbGx5IHRoZXJlCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBiODZkMzRi Li45MjE5OTA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI3NDEsNiArMjc0MSw3IEBA IHZvaWQgaW50ZWxfaHBkX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsK IHZvaWQgaW50ZWxfaHBkX2luaXRfd29yayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpOwogdm9pZCBpbnRlbF9ocGRfY2FuY2VsX3dvcmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKIGJvb2wgaW50ZWxfaHBkX3Bpbl90b19wb3J0KGVudW0gaHBkX3BpbiBwaW4s IGVudW0gcG9ydCAqcG9ydCk7Cit2b2lkIGk5MTVfd2F0Y2hkb2dfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KTsKIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2hhbmdjaGVja19yZWluaXQoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewogCXN0cnVjdCBpbnRlbF9yaW5nX2hhbmdj aGVjayAqaGMgPSAmZW5naW5lLT5oYW5nY2hlY2s7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwppbmRl eCAxOWFiNzllLi5mMzVhOWIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKQEAgLTEzMDUsNiAr MTMwNSwxOCBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgZ2VuOF9ndF9pcnFfaGFuZGxlcihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJaW50ZWxfbHJjX2lycV9oYW5kbGVyKCZk ZXZfcHJpdi0+cmluZ1tSQ1NdKTsKIAkJCWlmICh0bXAgJiAoR1RfUkVOREVSX1VTRVJfSU5URVJS VVBUIDw8IEdFTjhfUkNTX0lSUV9TSElGVCkpCiAJCQkJbm90aWZ5X3JpbmcoJmRldl9wcml2LT5y aW5nW1JDU10pOworCQkJaWYgKHRtcCAmIChHVF9HRU44X1JDU19XQVRDSERPR19JTlRFUlJVUFQg PDwgR0VOOF9SQ1NfSVJRX1NISUZUKSkgeworCQkJCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmc7CisKKwkJCQkvKiBTdG9wIHRoZSBjb3VudGVyIHRvIHByZXZlbnQgZnVydGhlciBpbnRlcnJ1 cHRzICovCisJCQkJcmluZyA9ICZkZXZfcHJpdi0+cmluZ1tSQ1NdOworCQkJCUk5MTVfV1JJVEUo UklOR19DTlRSKHJpbmctPm1taW9fYmFzZSksCisJCQkJCUdFTjZfUkNTX1dBVENIRE9HX0RJU0FC TEUpOworCisJCQkJcmluZy0+aGFuZ2NoZWNrLndhdGNoZG9nX2NvdW50Kys7CisJCQkJaTkxNV9o YW5kbGVfZXJyb3IocmluZy0+ZGV2LCBpbnRlbF9yaW5nX2ZsYWcocmluZyksIHRydWUsIHRydWUs CisJCQkJCSJSZW5kZXIgZW5naW5lIHdhdGNoZG9nIHRpbWVkIG91dCIpOworCQkJfQogCiAJCQlp ZiAodG1wICYgKEdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8PCBHRU44X0JDU19JUlFfU0hJ RlQpKQogCQkJCWludGVsX2xyY19pcnFfaGFuZGxlcigmZGV2X3ByaXYtPnJpbmdbQkNTXSk7CkBA IC0xMzI0LDExICsxMzM2LDM1IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBnZW44X2d0X2lycV9oYW5k bGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQlpbnRlbF9scmNfaXJx X2hhbmRsZXIoJmRldl9wcml2LT5yaW5nW1ZDU10pOwogCQkJaWYgKHRtcCAmIChHVF9SRU5ERVJf VVNFUl9JTlRFUlJVUFQgPDwgR0VOOF9WQ1MxX0lSUV9TSElGVCkpCiAJCQkJbm90aWZ5X3Jpbmco JmRldl9wcml2LT5yaW5nW1ZDU10pOworCQkJaWYgKHRtcCAmIChHVF9HRU44X1ZDU19XQVRDSERP R19JTlRFUlJVUFQgPDwgR0VOOF9WQ1MxX0lSUV9TSElGVCkpIHsKKwkJCQlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nOworCisJCQkJLyogU3RvcCB0aGUgY291bnRlciB0byBwcmV2ZW50IGZ1 cnRoZXIgaW50ZXJydXB0cyAqLworCQkJCXJpbmcgPSAmZGV2X3ByaXYtPnJpbmdbVkNTXTsKKwkJ CQlJOTE1X1dSSVRFKFJJTkdfQ05UUihyaW5nLT5tbWlvX2Jhc2UpLAorCQkJCQlHRU44X1ZDU19X QVRDSERPR19ESVNBQkxFKTsKKworCQkJCXJpbmctPmhhbmdjaGVjay53YXRjaGRvZ19jb3VudCsr OworCQkJCWk5MTVfaGFuZGxlX2Vycm9yKHJpbmctPmRldiwgaW50ZWxfcmluZ19mbGFnKHJpbmcp LCB0cnVlLCB0cnVlLAorCQkJCQkJICAiTWVkaWEgZW5naW5lIHdhdGNoZG9nIHRpbWVkIG91dCIp OworCQkJfQogCiAJCQlpZiAodG1wICYgKEdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8PCBH RU44X1ZDUzJfSVJRX1NISUZUKSkKIAkJCQlpbnRlbF9scmNfaXJxX2hhbmRsZXIoJmRldl9wcml2 LT5yaW5nW1ZDUzJdKTsKIAkJCWlmICh0bXAgJiAoR1RfUkVOREVSX1VTRVJfSU5URVJSVVBUIDw8 IEdFTjhfVkNTMl9JUlFfU0hJRlQpKQogCQkJCW5vdGlmeV9yaW5nKCZkZXZfcHJpdi0+cmluZ1tW Q1MyXSk7CisJCQlpZiAodG1wICYgKEdUX0dFTjhfVkNTX1dBVENIRE9HX0lOVEVSUlVQVCA8PCBH RU44X1ZDUzJfSVJRX1NISUZUKSkgeworCQkJCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmc7 CisKKwkJCQkvKiBTdG9wIHRoZSBjb3VudGVyIHRvIHByZXZlbnQgZnVydGhlciBpbnRlcnJ1cHRz ICovCisJCQkJcmluZyA9ICZkZXZfcHJpdi0+cmluZ1tWQ1MyXTsKKwkJCQlJOTE1X1dSSVRFKFJJ TkdfQ05UUihyaW5nLT5tbWlvX2Jhc2UpLAorCQkJCQlHRU44X1ZDU19XQVRDSERPR19ESVNBQkxF KTsKKworCQkJCXJpbmctPmhhbmdjaGVjay53YXRjaGRvZ19jb3VudCsrOworCQkJCWk5MTVfaGFu ZGxlX2Vycm9yKHJpbmctPmRldiwgaW50ZWxfcmluZ19mbGFnKHJpbmcpLCB0cnVlLCB0cnVlLAor CQkJCQkJICAiTWVkaWEgZW5naW5lIDIgd2F0Y2hkb2cgdGltZWQgb3V0Iik7CisJCQl9CiAJCX0g ZWxzZQogCQkJRFJNX0VSUk9SKCJUaGUgbWFzdGVyIGNvbnRyb2wgaW50ZXJydXB0IGxpZWQgKEdU MSkhXG4iKTsKIAl9CkBAIC0zNzc2LDExICszODEyLDE0IEBAIHN0YXRpYyB2b2lkIGdlbjhfZ3Rf aXJxX3Bvc3RpbnN0YWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAkv KiBUaGVzZSBhcmUgaW50ZXJydXB0cyB3ZSdsbCB0b2dnbGUgd2l0aCB0aGUgcmluZyBtYXNrIHJl Z2lzdGVyICovCiAJdWludDMyX3QgZ3RfaW50ZXJydXB0c1tdID0geworCQlHVF9HRU44X1JDU19X QVRDSERPR19JTlRFUlJVUFQgPDwgR0VOOF9SQ1NfSVJRX1NISUZUIHwKIAkJR1RfUkVOREVSX1VT RVJfSU5URVJSVVBUIDw8IEdFTjhfUkNTX0lSUV9TSElGVCB8CiAJCQlHVF9DT05URVhUX1NXSVRD SF9JTlRFUlJVUFQgPDwgR0VOOF9SQ1NfSVJRX1NISUZUIHwKIAkJCUdUX1JFTkRFUl9MM19QQVJJ VFlfRVJST1JfSU5URVJSVVBUIHwKIAkJCUdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCA8PCBHRU44 X0JDU19JUlFfU0hJRlQgfAogCQkJR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJSVVBUIDw8IEdFTjhf QkNTX0lSUV9TSElGVCwKKwkJR1RfR0VOOF9WQ1NfV0FUQ0hET0dfSU5URVJSVVBUIDw8IEdFTjhf VkNTMV9JUlFfU0hJRlQgfAorCQlHVF9HRU44X1ZDU19XQVRDSERPR19JTlRFUlJVUFQgPDwgR0VO OF9WQ1MyX0lSUV9TSElGVCB8CiAJCUdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCA8PCBHRU44X1ZD UzFfSVJRX1NISUZUIHwKIAkJCUdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8PCBHRU44X1ZD UzFfSVJRX1NISUZUIHwKIAkJCUdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCA8PCBHRU44X1ZDUzJf SVJRX1NISUZUIHwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDUyYjRiZTQuLmFmNDRkZDcg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtMTUwOSw2ICsxNTA5LDggQEAgZW51bSBza2xf ZGlzcF9wb3dlcl93ZWxscyB7CiAjZGVmaW5lIFJJTkdfSEVBRChiYXNlKQkJKChiYXNlKSsweDM0 KQogI2RlZmluZSBSSU5HX1NUQVJUKGJhc2UpCSgoYmFzZSkrMHgzOCkKICNkZWZpbmUgUklOR19D VEwoYmFzZSkJCSgoYmFzZSkrMHgzYykKKyNkZWZpbmUgUklOR19DTlRSKGJhc2UpICAgICAgICAo KGJhc2UpKzB4MTc4KQorI2RlZmluZSBSSU5HX1RIUkVTSChiYXNlKSAoKGJhc2UpKzB4MTdDKQog I2RlZmluZSBSSU5HX1NZTkNfMChiYXNlKQkoKGJhc2UpKzB4NDApCiAjZGVmaW5lIFJJTkdfU1lO Q18xKGJhc2UpCSgoYmFzZSkrMHg0NCkKICNkZWZpbmUgUklOR19TWU5DXzIoYmFzZSkJKChiYXNl KSsweDQ4KQpAQCAtMTk0Myw2ICsxOTQ1LDExIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMg ewogI2RlZmluZSBHVF9CU0RfVVNFUl9JTlRFUlJVUFQJCQkoMSA8PCAxMikKICNkZWZpbmUgR1Rf UkVOREVSX0wzX1BBUklUWV9FUlJPUl9JTlRFUlJVUFRfUzEJKDEgPDwgMTEpIC8qIGhzdys7IHJz dmQgb24gc25iLCBpdmIsIHZsdiAqLwogI2RlZmluZSBHVF9DT05URVhUX1NXSVRDSF9JTlRFUlJV UFQJCSgxIDw8ICA4KQorI2RlZmluZSBHVF9HRU42X1JFTkRFUl9XQVRDSERPR19JTlRFUlJVUFQJ KDEgPDwgIDYpCisjZGVmaW5lIEdUX0dFTjhfUkNTX1dBVENIRE9HX0lOVEVSUlVQVAkJKDEgPDwg IDYpCisjZGVmaW5lICAgR0VONl9SQ1NfV0FUQ0hET0dfRElTQUJMRQkJMQorI2RlZmluZSBHVF9H RU44X1ZDU19XQVRDSERPR19JTlRFUlJVUFQJCSgxIDw8ICA2KQorI2RlZmluZSAgIEdFTjhfVkNT X1dBVENIRE9HX0RJU0FCTEUJCTB4RkZGRkZGRkYKICNkZWZpbmUgR1RfUkVOREVSX0wzX1BBUklU WV9FUlJPUl9JTlRFUlJVUFQJKDEgPDwgIDUpIC8qICFzbmIgKi8KICNkZWZpbmUgR1RfUkVOREVS X1BJUEVDVExfTk9USUZZX0lOVEVSUlVQVAkoMSA8PCAgNCkKICNkZWZpbmUgR1RfUkVOREVSX0NT X01BU1RFUl9FUlJPUl9JTlRFUlJVUFQJKDEgPDwgIDMpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j CmluZGV4IGIwNjIzMmMuLjQwNjA3ZGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC0y MzU1LDYgKzIzNTUsOSBAQCBzdGF0aWMgaW50IGxvZ2ljYWxfcmVuZGVyX3JpbmdfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQogCWlmIChIQVNfTDNfRFBGKGRldikpCiAJCXJpbmctPmlycV9r ZWVwX21hc2sgfD0gR1RfUkVOREVSX0wzX1BBUklUWV9FUlJPUl9JTlRFUlJVUFQ7CiAKKwlyaW5n LT5pcnFfa2VlcF9tYXNrIHw9CisJCShHVF9HRU44X1JDU19XQVRDSERPR19JTlRFUlJVUFQgPDwg R0VOOF9SQ1NfSVJRX1NISUZUKTsKKwogCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5KQog CQlyaW5nLT5pbml0X2h3ID0gZ2VuOV9pbml0X3JlbmRlcl9yaW5nOwogCWVsc2UKQEAgLTI0MTUs NiArMjQxOCw4IEBAIHN0YXRpYyBpbnQgbG9naWNhbF9ic2RfcmluZ19pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJCUdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCA8PCBHRU44X1ZDUzFfSVJR X1NISUZUOwogCXJpbmctPmlycV9rZWVwX21hc2sgPQogCQlHVF9DT05URVhUX1NXSVRDSF9JTlRF UlJVUFQgPDwgR0VOOF9WQ1MxX0lSUV9TSElGVDsKKwlyaW5nLT5pcnFfa2VlcF9tYXNrIHw9CisJ CShHVF9HRU44X1ZDU19XQVRDSERPR19JTlRFUlJVUFQgPDwgR0VOOF9WQ1MxX0lSUV9TSElGVCk7 CiAKIAlyaW5nLT5pbml0X2h3ID0gZ2VuOF9pbml0X2NvbW1vbl9yaW5nOwogCWlmIChJU19CUk9Y VE9OKGRldikgJiYgSU5URUxfUkVWSUQoZGV2KSA8IEJYVF9SRVZJRF9CMCkgewpAQCAtMjQ0OSw2 ICsyNDU0LDggQEAgc3RhdGljIGludCBsb2dpY2FsX2JzZDJfcmluZ19pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJCUdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCA8PCBHRU44X1ZDUzJfSVJR X1NISUZUOwogCXJpbmctPmlycV9rZWVwX21hc2sgPQogCQlHVF9DT05URVhUX1NXSVRDSF9JTlRF UlJVUFQgPDwgR0VOOF9WQ1MyX0lSUV9TSElGVDsKKwlyaW5nLT5pcnFfa2VlcF9tYXNrIHw9CisJ CShHVF9HRU44X1ZDU19XQVRDSERPR19JTlRFUlJVUFQgPDwgR0VOOF9WQ1MyX0lSUV9TSElGVCk7 CiAKIAlyaW5nLT5pbml0X2h3ID0gZ2VuOF9pbml0X2NvbW1vbl9yaW5nOwogCXJpbmctPmdldF9z ZXFubyA9IGdlbjhfZ2V0X3NlcW5vOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5oCmluZGV4IDFjNTk4YWUuLjQ5NjhjOTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmgKQEAgLTEzNyw2ICsxMzcsOSBAQCBzdHJ1Y3QgaW50ZWxfcmluZ19oYW5nY2hl Y2sgewogCiAJLyogTnVtYmVyIG9mIFREUiBoYW5nIGRldGVjdGlvbnMgKi8KIAl1MzIgdGRyX2Nv dW50OworCisJLyogTnVtYmVyIG9mIHdhdGNoZG9nIGhhbmcgZGV0ZWN0aW9ucyBmb3IgdGhpcyBy aW5nICovCisJdTMyIHdhdGNoZG9nX2NvdW50OwogfTsKIAogc3RydWN0IGludGVsX3JpbmdidWZm ZXIgewpAQCAtMzYzLDYgKzM2NiwxMiBAQCBzdHJ1Y3QgIGludGVsX2VuZ2luZV9jcyB7CiAJLyog U2F2ZWQgaGVhZCB2YWx1ZSB0byBiZSByZXN0b3JlZCBhZnRlciByZXNldCAqLwogCXUzMiBzYXZl ZF9oZWFkOwogCisJLyoKKwkgKiBXYXRjaGRvZyB0aW1lciB0aHJlc2hvbGQgdmFsdWVzCisJICog b25seSBSQ1MsIFZDUywgVkNTMiByaW5ncyBoYXZlIHdhdGNoZG9nIHRpbWVvdXQgc3VwcG9ydAor CSAqLworCXVpbnQzMl90IHdhdGNoZG9nX3RocmVzaG9sZDsKKwogCXN0cnVjdCB7CiAJCXN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJCXUzMiBndHRfb2Zmc2V0OwotLSAKMS45LjEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==