From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v5] drm/i915/tracing: Enable user interrupts while intel_engine_notify is active Date: Thu, 9 Aug 2018 11:12:13 +0100 Message-ID: <20180809101213.3392-1-tvrtko.ursulin@linux.intel.com> References: <153380905568.11393.6527769185070092426@skylake-alporthouse-com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by gabe.freedesktop.org (Postfix) with ESMTPS id 97B966E6C5 for ; Thu, 9 Aug 2018 10:12:19 +0000 (UTC) Received: by mail-wr1-x443.google.com with SMTP id h10-v6so4646497wre.6 for ; Thu, 09 Aug 2018 03:12:19 -0700 (PDT) In-Reply-To: <153380905568.11393.6527769185070092426@skylake-alporthouse-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCktlZXAgdGhl IHVzZXIgaW50ZXJydXB0IGVuYWJsZWQgYW5kIGVtaXQgaW50ZWxfZW5naW5lX25vdGlmeSB0cmFj ZXBvaW50CmV2ZXJ5IHRpbWUgYXMgbG9uZyBhcyBpdCBpcyBlbmFibGVkLiBQcmVtaXNlIGlzIHRo YXQgaWYgc29tZW9uZSBpcwpsaXN0ZW5pbmcsIHRoZXkgd2FudCB0byBzZWUgaW50ZXJydXB0cyBs b2dnZWQuCgpXZSB1c2UgdHJhY2Vwb2ludCAoZGUpcmVnaXN0cmF0aW9uIGNhbGxiYWNrcyB0byBl bmFibGUgdXNlciBpbnRlcnJ1cHRzIG9uCmFsbCBkZXZpY2VzIChmdXR1cmUgcHJvb2ZpbmcgYW5k IGF2b2lkaW5nIHVnbHkgZ2xvYmFsIHBvaW50ZXJzKSBhbmQgYWxsCmVuZ2luZXMuIEFuZCBpbiB0 aGUgdXNlciBpbnRlcnJ1cHQgaGFuZGxlciB3ZSBtYWtlIHN1cmUKdHJhY2VfaW50ZWxfZW5naW5l X25vdGlmeSBpcyBjYWxsZWQgZXZlbiB3aGVuIHRoZXJlIGFyZSBubyB3YWl0ZXJzLgoKdjI6CiAq IEltcHJvdmUgbWFrZWZpbGUuIChDaHJpcyBXaWxzb24pCiAqIFNpbXBsaWZ5IGJ5IGRyb3BwaW5n IHRoZSBwb2ludGVsZXNzIGdsb2JhbCBkcml2ZXIgbGlzdC4gKENocmlzIFdpbHNvbikKICogRW1p dCB0cmFjZXBvaW50IHdoZW4gdGhlcmUgYXJlIG5vIHdhaXRlcnMsIG5vdCBqdXN0IHRoZSB1c2Vy IGludGVycnVwdC4KICogQ29tbWl0IG1lc3NhZ2UgdGlkeS4KCnYzOgogKiBGYXZvdXIgb25lIHJl dHVybiBmcm9tIG5vdGlmeV9yaW5nLgogQ2hyaXMgV2lsc29uOgogKiBSZXdvcmQgY29tbWl0IG1l c3NhZ2UgYSBiaXQgZm9yIGNsYXJpdHkuCiAqIEFkZCBSUE0gcmVmZXJlbmNlcyB0byBkcml2ZXIg KHVuKXJlZ2lzdHJhdGlvbiBwYXRocy4KICogUmVuYW1lIGxpc3QgbGluayBtZW1iZXIuCiAqIEhh bmRsZSAhQ09ORklHX1RSQUNFUE9JTlRTIGluIHRoZSBoZWFkZXIuCgp2NDoKICogSSBmb3Jnb3Qg dG8gYWRkIGNvbW1lbnRzIHdoaWxlIHJlbW92aW5nIHRoZSBSRkMgc3RhdHVzLgogKiBMaWNlbnNl IGhlYWRlciB0aWR5LgogKiBGb3J3YXJkIGRlY2xhcmF0aW9uIG9mIGRybV9pOTE1X3ByaXZhdGUg aXMgZW5vdWdoLiAoQ2hyaXMgV2lsc29uKQoKdjU6CiAqIEZpeCAhQ09ORklHX1RSQUNFUE9JTlRT IGhlYWRlciBmYWlsLiAoQ2hyaXMgV2lsc29uKQogKiBSZW1lbWJlcmQgdG8gYWRkIHN1Z2dlc3Rl ZCBieSB0YWchCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5A aW50ZWwuY29tPgpTdWdnZXN0ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29u LmNvLnVrPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBE bWl0cnkgUm9nb3poa2luIDxkbWl0cnkudi5yb2dvemhraW5AaW50ZWwuY29tPgpDYzogSm9obiBI YXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQGludGVsLmNvbT4KQ2M6IHN2ZXRsYW5hLmt1a2Fub3Zh QGludGVsLmNvbQpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24u Y28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgICAgfCAgIDMgKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgfCAgIDUgKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgfCAgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuYyAgICAgfCAgIDUgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaCAg IHwgIDUwICsrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2luZy5jIHwg MTM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfdHJhY2luZy5oIHwgIDMwICsrKysrKwogNyBmaWxlcyBjaGFuZ2VkLCAyMDcgaW5zZXJ0aW9u cygrKSwgMjUgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV90cmFjaW5nLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3RyYWNpbmcuaAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01h a2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKaW5kZXggNTc5NGYxMDJmOWI4 Li5kZmM5NDBiMzIwNzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxl CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCkBAIC0xODIsNiArMTgyLDkgQEAg aTkxNS15ICs9IGk5MTVfcGVyZi5vIFwKIAkgIGk5MTVfb2FfY25sLm8gXAogCSAgaTkxNV9vYV9p Y2wubwogCisjIHRyYWNpbmcKK2k5MTUtJChDT05GSUdfVFJBQ0VQT0lOVFMpICs9IGk5MTVfdHJh Y2luZy5vCisKIGlmZXEgKCQoQ09ORklHX0RSTV9JOTE1X0dWVCkseSkKIGk5MTUteSArPSBpbnRl bF9ndnQubwogaW5jbHVkZSAkKHNyYykvZ3Z0L01ha2VmaWxlCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YwppbmRleCA5ZGNlNTUxODJjM2EuLjAzZTIyNGViYzI4YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5jCkBAIC0xMjgxLDYgKzEyODEsOSBAQCBzdGF0aWMgdm9pZCBpOTE1X2RyaXZlcl9yZWdpc3Rl cihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJICovCiAJaWYgKElOVEVMX0lO Rk8oZGV2X3ByaXYpLT5udW1fcGlwZXMpCiAJCWRybV9rbXNfaGVscGVyX3BvbGxfaW5pdChkZXYp OworCisJLyogTm90aWZ5IG91ciB0cmFjZXBvaW50cyBkcml2ZXIgaGFzIGJlZW4gcmVnaXN0ZXJl ZC4gKi8KKwlpOTE1X3RyYWNpbmdfcmVnaXN0ZXIoZGV2X3ByaXYpOwogfQogCiAvKioKQEAgLTEy OTIsNiArMTI5NSw4IEBAIHN0YXRpYyB2b2lkIGk5MTVfZHJpdmVyX3VucmVnaXN0ZXIoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWludGVsX2ZiZGV2X3VucmVnaXN0ZXIoZGV2 X3ByaXYpOwogCWludGVsX2F1ZGlvX2RlaW5pdChkZXZfcHJpdik7CiAKKwlpOTE1X3RyYWNpbmdf dW5yZWdpc3RlcihkZXZfcHJpdik7CisKIAkvKgogCSAqIEFmdGVyIGZsdXNoaW5nIHRoZSBmYmRl diAoaW5jbC4gYSBsYXRlIGFzeW5jIGNvbmZpZyB3aGljaCB3aWxsCiAJICogaGF2ZSBkZWxheWVk IHF1ZXVpbmcgb2YgYSBob3RwbHVnIGV2ZW50KSwgdGhlbiBmbHVzaCB0aGUgaG90cGx1ZwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMGIxMGEzMGI3ZDk2Li4wMGQ5ZTlmNjU3MzkgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjE0MSw2ICsyMTQxLDggQEAgc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgewogCiAJc3RydWN0IGk5MTVfcG11IHBtdTsKIAorCXN0cnVjdCBsaXN0X2hlYWQg dHJhY2luZ19saW5rOworCiAJLyoKIAkgKiBOT1RFOiBUaGlzIGlzIHRoZSBkcmkxL3VtcyBkdW5n ZW9uLCBkb24ndCBhZGQgc3R1ZmYgaGVyZS4gWW91ciBwYXRjaAogCSAqIHdpbGwgYmUgcmVqZWN0 ZWQuIEluc3RlYWQgbG9vayBmb3IgYSBiZXR0ZXIgcGxhY2UuCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEu YwppbmRleCA4MDg0ZTM1YjI1YzUuLjBmMDA3YTQ2MjQ5ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9pcnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2ly cS5jCkBAIC0xMTU3LDEwICsxMTU3LDEwIEBAIHN0YXRpYyB2b2lkIG5vdGlmeV9yaW5nKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAljb25zdCB1MzIgc2Vxbm8gPSBpbnRlbF9lbmdp bmVfZ2V0X3NlcW5vKGVuZ2luZSk7CiAJc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEgPSBOVUxMOwog CXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrID0gTlVMTDsKLQlzdHJ1Y3QgaW50ZWxfd2FpdCAqd2Fp dDsKKwlzdHJ1Y3QgaW50ZWxfd2FpdCAqd2FpdCA9IE5VTEw7CiAKIAlpZiAodW5saWtlbHkoIWVu Z2luZS0+YnJlYWRjcnVtYnMuaXJxX2FybWVkKSkKLQkJcmV0dXJuOworCQlnb3RvIG91dDsKIAog CXJjdV9yZWFkX2xvY2soKTsKIApAQCAtMTIxOSw2ICsxMjE5LDcgQEAgc3RhdGljIHZvaWQgbm90 aWZ5X3Jpbmcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCiAJcmN1X3JlYWRfdW5s b2NrKCk7CiAKK291dDoKIAl0cmFjZV9pbnRlbF9lbmdpbmVfbm90aWZ5KGVuZ2luZSwgd2FpdCk7 CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaAppbmRleCBiNTBjNmI4Mjk3MTUuLjIxMmU3 ZmMxZTgwZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFjZS5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaApAQCAtOCw2ICs4LDcgQEAKIAog I2luY2x1ZGUgPGRybS9kcm1QLmg+CiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKKyNpbmNsdWRlICJp OTE1X3RyYWNpbmcuaCIKICNpbmNsdWRlICJpbnRlbF9kcnYuaCIKICNpbmNsdWRlICJpbnRlbF9y aW5nYnVmZmVyLmgiCiAKQEAgLTc4MCwyOSArNzgxLDMyIEBAIHRyYWNlX2k5MTVfcmVxdWVzdF9v dXQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCiAjZW5kaWYKICNlbmRpZgogCi1UUkFDRV9FVkVO VChpbnRlbF9lbmdpbmVfbm90aWZ5LAotCSAgICBUUF9QUk9UTyhzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUsIGJvb2wgd2FpdGVycyksCi0JICAgIFRQX0FSR1MoZW5naW5lLCB3YWl0ZXJz KSwKLQotCSAgICBUUF9TVFJVQ1RfX2VudHJ5KAotCQkJICAgICBfX2ZpZWxkKHUzMiwgZGV2KQot CQkJICAgICBfX2ZpZWxkKHUxNiwgY2xhc3MpCi0JCQkgICAgIF9fZmllbGQodTE2LCBpbnN0YW5j ZSkKLQkJCSAgICAgX19maWVsZCh1MzIsIHNlcW5vKQotCQkJICAgICBfX2ZpZWxkKGJvb2wsIHdh aXRlcnMpCi0JCQkgICAgICksCi0KLQkgICAgVFBfZmFzdF9hc3NpZ24oCi0JCQkgICBfX2VudHJ5 LT5kZXYgPSBlbmdpbmUtPmk5MTUtPmRybS5wcmltYXJ5LT5pbmRleDsKLQkJCSAgIF9fZW50cnkt PmNsYXNzID0gZW5naW5lLT51YWJpX2NsYXNzOwotCQkJICAgX19lbnRyeS0+aW5zdGFuY2UgPSBl bmdpbmUtPmluc3RhbmNlOwotCQkJICAgX19lbnRyeS0+c2Vxbm8gPSBpbnRlbF9lbmdpbmVfZ2V0 X3NlcW5vKGVuZ2luZSk7Ci0JCQkgICBfX2VudHJ5LT53YWl0ZXJzID0gd2FpdGVyczsKLQkJCSAg ICksCi0KLQkgICAgVFBfcHJpbnRrKCJkZXY9JXUsIGVuZ2luZT0ldToldSwgc2Vxbm89JXUsIHdh aXRlcnM9JXUiLAotCQkgICAgICBfX2VudHJ5LT5kZXYsIF9fZW50cnktPmNsYXNzLCBfX2VudHJ5 LT5pbnN0YW5jZSwKLQkJICAgICAgX19lbnRyeS0+c2Vxbm8sIF9fZW50cnktPndhaXRlcnMpCitU UkFDRV9FVkVOVF9GTihpbnRlbF9lbmdpbmVfbm90aWZ5LAorCSAgICAgICBUUF9QUk9UTyhzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIGJvb2wgd2FpdGVycyksCisJICAgICAgIFRQX0FS R1MoZW5naW5lLCB3YWl0ZXJzKSwKKworCSAgICAgICBUUF9TVFJVQ1RfX2VudHJ5KAorCQkJICAg ICAgICBfX2ZpZWxkKHUzMiwgZGV2KQorCQkJICAgICAgICBfX2ZpZWxkKHUxNiwgY2xhc3MpCisJ CQkgICAgICAgIF9fZmllbGQodTE2LCBpbnN0YW5jZSkKKwkJCSAgICAgICAgX19maWVsZCh1MzIs IHNlcW5vKQorCQkJICAgICAgICBfX2ZpZWxkKGJvb2wsIHdhaXRlcnMpCisJCQkgICAgICAgICks CisKKwkgICAgICAgVFBfZmFzdF9hc3NpZ24oCisJCQkgICAgICBfX2VudHJ5LT5kZXYgPSBlbmdp bmUtPmk5MTUtPmRybS5wcmltYXJ5LT5pbmRleDsKKwkJCSAgICAgIF9fZW50cnktPmNsYXNzID0g ZW5naW5lLT51YWJpX2NsYXNzOworCQkJICAgICAgX19lbnRyeS0+aW5zdGFuY2UgPSBlbmdpbmUt Pmluc3RhbmNlOworCQkJICAgICAgX19lbnRyeS0+c2Vxbm8gPSBpbnRlbF9lbmdpbmVfZ2V0X3Nl cW5vKGVuZ2luZSk7CisJCQkgICAgICBfX2VudHJ5LT53YWl0ZXJzID0gd2FpdGVyczsKKwkJCSAg ICAgICksCisKKwkgICAgICAgVFBfcHJpbnRrKCJkZXY9JXUsIGVuZ2luZT0ldToldSwgc2Vxbm89 JXUsIHdhaXRlcnM9JXUiLAorCQkJIF9fZW50cnktPmRldiwgX19lbnRyeS0+Y2xhc3MsIF9fZW50 cnktPmluc3RhbmNlLAorCQkJIF9fZW50cnktPnNlcW5vLCBfX2VudHJ5LT53YWl0ZXJzKSwKKwor CSAgICAgICBpbnRlbF9lbmdpbmVfbm90aWZ5X3RyYWNlcG9pbnRfcmVnaXN0ZXIsCisJICAgICAg IGludGVsX2VuZ2luZV9ub3RpZnlfdHJhY2Vwb2ludF91bnJlZ2lzdGVyCiApOwogCiBERUZJTkVf RVZFTlQoaTkxNV9yZXF1ZXN0LCBpOTE1X3JlcXVlc3RfcmV0aXJlLApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFjaW5nLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3RyYWNpbmcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjg2 YzY4MTczZDYxYgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf dHJhY2luZy5jCkBAIC0wLDAgKzEsMTM3IEBACisvKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAKKyAqCisgKiBDb3B5cmlnaHQgwqkgMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbgor ICoKKyAqLworCisjaW5jbHVkZSAiaTkxNV90cmFjaW5nLmgiCisKKyNpbmNsdWRlICJpOTE1X2Ry di5oIgorI2luY2x1ZGUgImludGVsX3JpbmdidWZmZXIuaCIKKworc3RhdGljIERFRklORV9NVVRF WChkcml2ZXJfbGlzdF9sb2NrKTsKK3N0YXRpYyBMSVNUX0hFQUQoZHJpdmVyX2xpc3QpOworc3Rh dGljIGJvb2wgbm90aWZ5X2VuYWJsZWQ7CisKK3N0YXRpYyB2b2lkIF9faTkxNV9lbmFibGVfbm90 aWZ5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCXN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZTsKKwllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKKworCWludGVsX3J1bnRp bWVfcG1fZ2V0KGk5MTUpOworCisJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpCisJ CWludGVsX2VuZ2luZV9waW5fYnJlYWRjcnVtYnNfaXJxKGVuZ2luZSk7CisKKwlpbnRlbF9ydW50 aW1lX3BtX3B1dChpOTE1KTsKK30KKworc3RhdGljIHZvaWQgX19pOTE1X2Rpc2FibGVfbm90aWZ5 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCXN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZTsKKwllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKKworCWludGVsX3J1bnRpbWVf cG1fZ2V0KGk5MTUpOworCisJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpCisJCWlu dGVsX2VuZ2luZV91bnBpbl9icmVhZGNydW1ic19pcnEoZW5naW5lKTsKKworCWludGVsX3J1bnRp bWVfcG1fcHV0KGk5MTUpOworfQorCisvKioKKyAqIGk5MTVfdHJhY2luZ19yZWdpc3RlciAtIHJl Z2lzdGVycyBkcml2ZXIgdHJhY2Vwb2ludHMgc3VwcG9ydAorICogQGk5MTU6IHRoZSBkcm1faTkx NV9wcml2YXRlIGRldmljZQorICoKKyAqIFJlZ2lzdGVycyB0aGUgdHJhY2Vwb2ludHMgc3VwcG9y dCBmcm9tIHRoZSBkcml2ZXIgcmVnaXN0cmF0aW9uIHBhdGguCisgKgorICogUHV0cyB0aGUgZHJp dmVyIG9uIHRoZSBsb2NhbCBsaXN0IGFuZCBlbmFibGVzIHRoZSB1bmNvbmRpdGlvbmFsIG5vdGlm aWNhdGlvbnMKKyAqIGZvciB0aGUgaW50ZWxfZW5naW5lX25vdGlmeSB0cmFjZXBvaW50IGlmIHRo ZXkgc2hvdWxkIGJlIGVuYWJsZWQuCisgKi8KK3ZvaWQgaTkxNV90cmFjaW5nX3JlZ2lzdGVyKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCUlOSVRfTElTVF9IRUFEKCZpOTE1LT50 cmFjaW5nX2xpbmspOworCisJbXV0ZXhfbG9jaygmZHJpdmVyX2xpc3RfbG9jayk7CisKKwlsaXN0 X2FkZF90YWlsKCZpOTE1LT50cmFjaW5nX2xpbmssICZkcml2ZXJfbGlzdCk7CisKKwlpZiAobm90 aWZ5X2VuYWJsZWQpCisJCV9faTkxNV9lbmFibGVfbm90aWZ5KGk5MTUpOworCisJbXV0ZXhfdW5s b2NrKCZkcml2ZXJfbGlzdF9sb2NrKTsKK30KKworLyoqCisgKiBpOTE1X3RyYWNpbmdfdW5yZWdp c3RlciAtIHVucmVnaXN0ZXJzIGRyaXZlciB0cmFjZXBvaW50cyBzdXBwb3J0CisgKiBAaTkxNTog dGhlIGRybV9pOTE1X3ByaXZhdGUgZGV2aWNlCisgKgorICogVW4tcmVnaXN0ZXJzIHRoZSB0cmFj ZXBvaW50cyBzdXBwb3J0IGZyb20gdGhlIGRyaXZlciB1bi1yZWdpc3RyYXRpb24gcGF0aC4KKyAq CisgKiBSZW1vdmVzIHRoZSBkcml2ZXIgZnJvbSB0aGUgbG9jYWwgbGlzdCBhbmQgZGlzYWJsZXMg dGhlIHVuY29uZGl0aW9uYWwKKyAqIG5vdGlmaWNhdGlvbnMgZm9yIHRoZSBpbnRlbF9lbmdpbmVf bm90aWZ5IHRyYWNlcG9pbnQgaWYgdGhleSB3ZXJlIGVuYWJsZWQuCisgKi8KK3ZvaWQgaTkxNV90 cmFjaW5nX3VucmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJbXV0 ZXhfbG9jaygmZHJpdmVyX2xpc3RfbG9jayk7CisKKwlpZiAobm90aWZ5X2VuYWJsZWQpCisJCV9f aTkxNV9kaXNhYmxlX25vdGlmeShpOTE1KTsKKworCWxpc3RfZGVsKCZpOTE1LT50cmFjaW5nX2xp bmspOworCisJbXV0ZXhfdW5sb2NrKCZkcml2ZXJfbGlzdF9sb2NrKTsKK30KKworLyoqCisgKiBp bnRlbF9lbmdpbmVfbm90aWZ5X3RyYWNlcG9pbnRfcmVnaXN0ZXIgLSB0cmFjZXBvaW50IHJlZ2lz dHJhdGlvbiBjYWxsYmFjaworICoKKyAqIFRoaXMgaXMgY2FsbGVkIGFzIHRoZSBpbnRlbF9lbmdp bmVfbm90aWZ5IHJlZ2lzdHJhdGlvbiBjYWxsYmFjaywgaWUuIHdoZW4KKyAqIHRoZSB0cmFjZXBv aW50IGlzIGZpcnN0IGFjdGl2YXRlZC4KKyAqLworaW50IGludGVsX2VuZ2luZV9ub3RpZnlfdHJh Y2Vwb2ludF9yZWdpc3Rlcih2b2lkKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 OworCisJbXV0ZXhfbG9jaygmZHJpdmVyX2xpc3RfbG9jayk7CisKKwlHRU1fQlVHX09OKG5vdGlm eV9lbmFibGVkKTsKKworCS8qCisJICogRW5hYmxlIHVzZXIgaW50ZXJydXB0cyAvIGNvbnN0YW50 IGludGVsX2VuZ2luZV9ub3RpZnkgbm90aWZpY2F0aW9ucy4KKwkgKi8KKwlsaXN0X2Zvcl9lYWNo X2VudHJ5KGk5MTUsICZkcml2ZXJfbGlzdCwgdHJhY2luZ19saW5rKQorCQlfX2k5MTVfZW5hYmxl X25vdGlmeShpOTE1KTsKKworCW5vdGlmeV9lbmFibGVkID0gdHJ1ZTsKKworCW11dGV4X3VubG9j aygmZHJpdmVyX2xpc3RfbG9jayk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBpbnRlbF9l bmdpbmVfbm90aWZ5X3RyYWNlcG9pbnRfdW5yZWdpc3RlciAtIHRyYWNlcG9pbnQgdW5yZWdpc3Ry YXRpb24gY2FsbGJhY2sKKyAqCisgKiBUaGlzIGlzIGNhbGxlZCBhcyB0aGUgaW50ZWxfZW5naW5l X25vdGlmeSB1bnJlZ2lzdHJhdGlvbiBjYWxsYmFjaywgaWUuIHdoZW4KKyAqIHRoZSBsYXN0IGxp c3RlbmVyIG9mIHRoaXMgdHJhY2Vwb2ludCBnb2VzIGF3YXkuCisgKi8KK3ZvaWQgaW50ZWxfZW5n aW5lX25vdGlmeV90cmFjZXBvaW50X3VucmVnaXN0ZXIodm9pZCkKK3sKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNTsKKworCW11dGV4X2xvY2soJmRyaXZlcl9saXN0X2xvY2spOworCisJ R0VNX0JVR19PTighbm90aWZ5X2VuYWJsZWQpOworCisJLyoKKwkgKiBEaXNhYmxlIHVzZXIgaW50 ZXJydXB0cyAvIGNvbnN0YW50IGludGVsX2VuZ2luZV9ub3RpZnkgbm90aWZpY2F0aW9ucy4KKwkg Ki8KKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGk5MTUsICZkcml2ZXJfbGlzdCwgdHJhY2luZ19saW5r KQorCQlfX2k5MTVfZGlzYWJsZV9ub3RpZnkoaTkxNSk7CisKKwlub3RpZnlfZW5hYmxlZCA9IGZh bHNlOworCisJbXV0ZXhfdW5sb2NrKCZkcml2ZXJfbGlzdF9sb2NrKTsKK30KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2luZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV90cmFjaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li4zMWVkM2U1MzUxNTkKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3RyYWNpbmcuaApAQCAtMCwwICsxLDMwIEBACisvKgorICogU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAKKyAqCisgKiBDb3B5cmlnaHQgwqkgMjAxOCBJbnRlbCBDb3Jwb3JhdGlv bgorICoKKyAqLworI2lmbmRlZiBfSTkxNV9UUkFDSU5HX0hfCisjZGVmaW5lIF9JOTE1X1RSQUNJ TkdfSF8KKworc3RydWN0IGRybV9pOTE1X3ByaXZhdGU7CisKKyNpZiBJU19FTkFCTEVEKENPTkZJ R19UUkFDRVBPSU5UUykKKwordm9pZCBpOTE1X3RyYWNpbmdfcmVnaXN0ZXIoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpOwordm9pZCBpOTE1X3RyYWNpbmdfdW5yZWdpc3RlcihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CisKK2ludCBpbnRlbF9lbmdpbmVfbm90aWZ5X3RyYWNl cG9pbnRfcmVnaXN0ZXIodm9pZCk7Cit2b2lkIGludGVsX2VuZ2luZV9ub3RpZnlfdHJhY2Vwb2lu dF91bnJlZ2lzdGVyKHZvaWQpOworCisjZWxzZQorCitzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV90 cmFjaW5nX3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KSB7IH0KK3N0YXRp YyBpbmxpbmUgdm9pZCBpOTE1X3RyYWNpbmdfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkgeyB9CisKK3N0YXRpYyBpbmxpbmUgaW50IGludGVsX2VuZ2luZV9ub3RpZnlf dHJhY2Vwb2ludF9yZWdpc3Rlcih2b2lkKSB7IHJldHVybiAwOyB9CitzdGF0aWMgaW5saW5lIHZv aWQgaW50ZWxfZW5naW5lX25vdGlmeV90cmFjZXBvaW50X3VucmVnaXN0ZXIodm9pZCkgeyB9CisK KyNlbmRpZgorCisjZW5kaWYKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==