From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carlos Santa Subject: [PATCH v4 3/5] drm/i915: Watchdog timeout: Ringbuffer command emission for gen8+ Date: Wed, 20 Feb 2019 18:58:17 -0800 Message-ID: <20190221025820.28447-4-carlos.santa@intel.com> References: <20190221025820.28447-1-carlos.santa@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id AC882892ED for ; Thu, 21 Feb 2019 02:59:09 +0000 (UTC) In-Reply-To: <20190221025820.28447-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 RnJvbTogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4KCkVtaXQgdGhl IHJlcXVpcmVkIGNvbW1hbmRzIGludG8gdGhlIHJpbmcgYnVmZmVyIGZvciBzdGFydGluZyBhbmQK c3RvcHBpbmcgdGhlIHdhdGNoZG9nIHRpbWVyIGJlZm9yZS9hZnRlciBiYXRjaCBidWZmZXIgc3Rh cnQgZHVyaW5nCmJhdGNoIGJ1ZmZlciBzdWJtaXNzaW9uLgoKdjI6IFN1cHBvcnQgd2F0Y2hkb2cg dGhyZXNob2xkIHBlciBjb250ZXh0IGVuZ2luZSwgbWVyZ2UgbHJpIGNvbW1hbmRzLAphbmQgbW92 ZSB3YXRjaGRvZyBjb21tYW5kcyBlbWlzc2lvbiB0byBlbWl0X2JiX3N0YXJ0LiBSZXF1ZXN0IHNw YWNlIG9mCmNvbWJpbmVkIHN0YXJ0X3dhdGNoZG9nLCBiYl9zdGFydCBhbmQgc3RvcF93YXRjaGRv ZyB0byBhdm9pZCBhbnkgZXJyb3IKYWZ0ZXIgZW1pdHRpbmcgYmJfc3RhcnQuCgp2MzogVGhlcmUg d2VyZSB0b28gbWFueSByZXEtPmVuZ2luZSBpbiBlbWl0X2JiX3N0YXJ0LgpVc2UgR0VNX0JVR19P TiBpbnN0ZWFkIG9mIHJldHVybmluZyBhIHZlcnkgbGF0ZSBFSU5WQUwgaW4gdGhlIHJlbW90ZQpj YXNlIG9mIHdhdGNoZG9nIG1pc3Byb2dyYW1taW5nOyBzZXQgY29ycmVjdCBMUkkgY21kIHNpemUg aW4KZW1pdF9zdG9wX3dhdGNoZG9nLiAoQ2hyaXMpCgp2NDogUmViYXNlLgp2NTogdXNlIHRvX2lu dGVsX2NvbnRleHQgaW5zdGVhZCBvZiBjdHgtPmVuZ2luZS4KdjY6IFJlYmFzZS4Kdjc6IFJlYmFz ZSwKICAgIFN0b3JlIGdwdSB3YXRjaGRvZyBjYXBhYmlsaXR5IGluIGVuZ2luZSBmbGFnIChUdnJ0 a28pCiAgICBTdG9yZSBXQVRDSERPR19ESVNBQkxFIG1hZ2ljICMgaW4gZW5naW5lIChUdnJ0a28p CiAgICBObyBuZWVkIHRvIGRlY2xhcmUgZW1pdF97c3RhcnR8c3RvcH1fd2F0Y2hkb2cgYXMgdmZ1 bmNzIChUdnJ0a28pCiAgICBSZXBsYWNlIGZsYWcgd2F0Y2hkb2dfcnVubmluZyB3aXRoIGVuYWJs ZV93YXRjaGRvZyAoVHZydGtvKQogICAgRW1pdCBhIHNpbmdsZSBNSV9OT09QIGJ5IGNvbmRpdGlv bmFsbHkgY2hlY2tpbmcgd2hldGhlciB0aGUgIwogICAgb2YgZW1pdHRlZCBPUHMgaXMgb2RkIChU dnJ0a28pCgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBB bnRvbmlvIEFyZ2Vuemlhbm8gPGFudG9uaW8uYXJnZW56aWFub0BpbnRlbC5jb20+CkNjOiBUdnJ0 a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AbGludXguaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBNaWNoZWwgVGhpZXJyeSA8bWljaGVsLnRoaWVycnlAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBDYXJsb3MgU2FudGEgPGNhcmxvcy5zYW50YUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oIHwgIDQgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2VuZ2luZV9jcy5jICB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5jICAgICAgICB8IDc5ICsrKysrKysrKysrKysrKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5oICAgICAgICB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuaCB8IDE4ICsrKystLQogNSBmaWxlcyBjaGFuZ2VkLCA5NyBpbnNlcnRp b25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2NvbnRleHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRl eHQuaAppbmRleCBiMWVlYWM2NGRhOGIuLmRjZjRlOTg2NjZhNiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2NvbnRleHQuaApAQCAtMTgzLDYgKzE4MywxMCBAQCBzdHJ1Y3QgaTkxNV9n ZW1fY29udGV4dCB7CiAJCXUzMiAqbHJjX3JlZ19zdGF0ZTsKIAkJdTY0IGxyY19kZXNjOwogCQlp bnQgcGluX2NvdW50OworCQkvKiogd2F0Y2hkb2dfdGhyZXNob2xkOiBodyB3YXRjaGRvZyB0aHJl c2hvbGQgdmFsdWUsCisJCSAqIGluIGNsb2NrIGNvdW50cworCQkgKi8KKwkJdTMyIHdhdGNoZG9n X3RocmVzaG9sZDsKIAogCQkvKioKIAkJICogYWN0aXZlX3RyYWNrZXI6IEFjdGl2ZSB0cmFja2Vy IGZvciB0aGUgZXh0ZXJuYWwgcnEgYWN0aXZpdHkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5n aW5lX2NzLmMKaW5kZXggNzRmNTYzZDIzY2M4Li40MzhiZjkzYTQzNDAgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCkBAIC0zMjQsNiArMzI0LDggQEAgaW50ZWxfZW5naW5l X3NldHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlpZiAoZW5naW5lLT5j b250ZXh0X3NpemUpCiAJCURSSVZFUl9DQVBTKGRldl9wcml2KS0+aGFzX2xvZ2ljYWxfY29udGV4 dHMgPSB0cnVlOwogCisJZW5naW5lLT53YXRjaGRvZ19kaXNhYmxlX2lkID0gZ2V0X3dhdGNoZG9n X2Rpc2FibGUoZW5naW5lKTsKKwogCS8qIE5vdGhpbmcgdG8gZG8gaGVyZSwgZXhlY3V0ZSBpbiBv cmRlciBvZiBkZXBlbmRlbmNpZXMgKi8KIAllbmdpbmUtPnNjaGVkdWxlID0gTlVMTDsKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCBjMzhiMjM5YWIzOWUuLjk0MDZkM2YyYjc4OSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTIxOTMsMTYgKzIxOTMsNzUgQEAgc3RhdGljIHZv aWQgZXhlY2xpc3RzX3Jlc2V0X2ZpbmlzaChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp CiAJCSAgYXRvbWljX3JlYWQoJmV4ZWNsaXN0cy0+dGFza2xldC5jb3VudCkpOwogfQogCitzdGF0 aWMgdTMyICpnZW44X2VtaXRfc3RhcnRfd2F0Y2hkb2coc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEs IHUzMiAqY3MpCit7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcnEtPmVuZ2lu ZTsKKwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4ID0gcnEtPmdlbV9jb250ZXh0OworCXN0 cnVjdCBpbnRlbF9jb250ZXh0ICpjZSA9IHRvX2ludGVsX2NvbnRleHQoY3R4LCBlbmdpbmUpOwor CisJR0VNX0JVR19PTighaW50ZWxfZW5naW5lX3N1cHBvcnRzX3dhdGNoZG9nKGVuZ2luZSkpOwor CisJLyoKKwkgKiB3YXRjaGRvZyByZWdpc3RlciBtdXN0IG5ldmVyIGJlIHByb2dyYW1tZWQgdG8g emVyby4gVGhpcyB3b3VsZAorCSAqIGNhdXNlIHRoZSB3YXRjaGRvZyBjb3VudGVyIHRvIGV4Y2Vl ZCBhbmQgbm90IGFsbG93IHRoZSBlbmdpbmUgdG8KKwkgKiBnbyBpbnRvIElETEUgc3RhdGUKKwkg Ki8KKwlHRU1fQlVHX09OKGNlLT53YXRjaGRvZ190aHJlc2hvbGQgPT0gMCk7CisKKwkvKiBTZXQg Y291bnRlciBwZXJpb2QgKi8KKwkqY3MrKyA9IE1JX0xPQURfUkVHSVNURVJfSU1NKDIpOworCSpj cysrID0gaTkxNV9tbWlvX3JlZ19vZmZzZXQoUklOR19USFJFU0goZW5naW5lLT5tbWlvX2Jhc2Up KTsKKwkqY3MrKyA9IGNlLT53YXRjaGRvZ190aHJlc2hvbGQ7CisJLyogU3RhcnQgY291bnRlciAq LworCSpjcysrID0gaTkxNV9tbWlvX3JlZ19vZmZzZXQoUklOR19DTlRSKGVuZ2luZS0+bW1pb19i YXNlKSk7CisJKmNzKysgPSBHRU44X1dBVENIRE9HX0VOQUJMRTsKKworCXJldHVybiBjczsKK30K Kworc3RhdGljIHUzMiAqZ2VuOF9lbWl0X3N0b3Bfd2F0Y2hkb2coc3RydWN0IGk5MTVfcmVxdWVz dCAqcnEsIHUzMiAqY3MpCit7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcnEt PmVuZ2luZTsKKworCUdFTV9CVUdfT04oIWludGVsX2VuZ2luZV9zdXBwb3J0c193YXRjaGRvZyhl bmdpbmUpKTsKKworCSpjcysrID0gTUlfTE9BRF9SRUdJU1RFUl9JTU0oMSk7CisJKmNzKysgPSBp OTE1X21taW9fcmVnX29mZnNldChSSU5HX0NOVFIoZW5naW5lLT5tbWlvX2Jhc2UpKTsKKwkqY3Mr KyA9IGVuZ2luZS0+d2F0Y2hkb2dfZGlzYWJsZV9pZDsKKworCXJldHVybiBjczsKK30KKwogc3Rh dGljIGludCBnZW44X2VtaXRfYmJfc3RhcnQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCiAJCQkg ICAgICB1NjQgb2Zmc2V0LCB1MzIgbGVuLAogCQkJICAgICAgY29uc3QgdW5zaWduZWQgaW50IGZs YWdzKQogeworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJxLT5lbmdpbmU7CiAJ dTMyICpjczsKKwl1MzIgbnVtX2R3b3JkczsKKwlib29sIGVuYWJsZV93YXRjaGRvZyA9IGZhbHNl OwogCi0JY3MgPSBpbnRlbF9yaW5nX2JlZ2luKHJxLCA2KTsKKwkvKiBiYl9zdGFydCBvbmx5ICov CisJbnVtX2R3b3JkcyA9IDY7CisKKwkvKiBjaGVjayBpZiB3YXRjaGRvZyB3aWxsIGJlIHJlcXVp cmVkICovCisJaWYgKHRvX2ludGVsX2NvbnRleHQocnEtPmdlbV9jb250ZXh0LCBlbmdpbmUpLT53 YXRjaGRvZ190aHJlc2hvbGQgIT0gMCkgeworCisJCS8qICsgc3RhcnRfd2F0Y2hkb2cgKDYpICsg c3RvcF93YXRjaGRvZyAoNCkgKi8KKwkJbnVtX2R3b3JkcyArPSAxMDsKKwkJZW5hYmxlX3dhdGNo ZG9nID0gdHJ1ZTsKKyAgICAgICAgfQorCisJY3MgPSBpbnRlbF9yaW5nX2JlZ2luKHJxLCBudW1f ZHdvcmRzKTsKIAlpZiAoSVNfRVJSKGNzKSkKIAkJcmV0dXJuIFBUUl9FUlIoY3MpOwogCisJaWYg KGVuYWJsZV93YXRjaGRvZykgeworCQkvKiBTdGFydCB3YXRjaGRvZyB0aW1lciAqLworCQljcyA9 IGdlbjhfZW1pdF9zdGFydF93YXRjaGRvZyhycSwgY3MpOworCQllbmdpbmUtPmN1cnJlbnRfc2Vx bm8gPSBpbnRlbF9lbmdpbmVfZ2V0X2hhbmdjaGVja19zZXFubyhlbmdpbmUpOworCX0KKwogCS8q CiAJICogV2FEaXNhYmxlQ3R4UmVzdG9yZUFyYml0cmF0aW9uOmJkdyxjaHYKIAkgKgpAQCAtMjIy OSwxMCArMjI4OCwxNiBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9iYl9zdGFydChzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSwKIAkqY3MrKyA9IHVwcGVyXzMyX2JpdHMob2Zmc2V0KTsKIAogCSpjcysr ID0gTUlfQVJCX09OX09GRiB8IE1JX0FSQl9ESVNBQkxFOwotCSpjcysrID0gTUlfTk9PUDsKIAot CWludGVsX3JpbmdfYWR2YW5jZShycSwgY3MpOworCWlmIChlbmFibGVfd2F0Y2hkb2cpIHsKKwkJ LyogQ2FuY2VsIHdhdGNoZG9nIHRpbWVyICovCisJCWNzID0gZ2VuOF9lbWl0X3N0b3Bfd2F0Y2hk b2cocnEsIGNzKTsKKwl9CisKKwlpZiAoKmNzJTIgIT0gMCkKKwkJKmNzKysgPSBNSV9OT09QOwog CisJaW50ZWxfcmluZ19hZHZhbmNlKHJxLCBjcyk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTIzNTMs NyArMjQxOCw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9lbWl0X2ZsdXNoX3JlbmRlcihzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpyZXF1ZXN0LAogfQogCiAvKiBGcm9tIEdFTjkgb253YXJkcywgYWxsIGVuZ2lu ZXMgdXNlIHRoZSBzYW1lIFJJTkdfQ05UUiBmb3JtYXQgKi8KLXN0YXRpYyBpbmxpbmUgdTMyIGdl dF93YXRjaGRvZ19kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKK3UzMiBn ZXRfd2F0Y2hkb2dfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJ aWYgKGVuZ2luZS0+aWQgPT0gUkNTIHx8IElOVEVMX0dFTihlbmdpbmUtPmk5MTUpID49IDkpCiAJ CXJldHVybiBHRU44X1dBVENIRE9HX0RJU0FCTEU7CkBAIC0yNTMyLDYgKzI1OTcsOSBAQCB2b2lk IGludGVsX2V4ZWNsaXN0c19zZXRfZGVmYXVsdF9zdWJtaXNzaW9uKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSkKIAkJSTkxNV9TQ0hFRFVMRVJfQ0FQX1BSSU9SSVRZOwogCWlmIChpbnRl bF9lbmdpbmVfaGFzX3ByZWVtcHRpb24oZW5naW5lKSkKIAkJZW5naW5lLT5pOTE1LT5jYXBzLnNj aGVkdWxlciB8PSBJOTE1X1NDSEVEVUxFUl9DQVBfUFJFRU1QVElPTjsKKworCWlmKGVuZ2luZS0+ aWQgIT0gQkNTKQorCQllbmdpbmUtPmZsYWdzIHw9IEk5MTVfRU5HSU5FX1NVUFBPUlRTX1dBVENI RE9HOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMjcxMCw2ICsyNzc4LDkgQEAgaW50IGxvZ2ljYWxf eGNzX3JpbmdfaW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJaWYgKGVycikK IAkJcmV0dXJuIGVycjsKIAorCS8qIEJDUyBlbmdpbmUgZG9lcyBub3QgaGF2ZSBhIHdhdGNoZG9n LWV4cGlyZWQgaXJxICovCisJR0VNX0JVR19PTighaW50ZWxfZW5naW5lX3N1cHBvcnRzX3dhdGNo ZG9nKGVuZ2luZSkpOworCiAJcmV0dXJuIGxvZ2ljYWxfcmluZ19pbml0KGVuZ2luZSk7CiB9CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKaW5kZXggNTc3OWU3NzZjYzNmLi45ZGI0ZjYzNjk1NzQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCkBAIC0xMjAsNCArMTIwLDYgQEAgdm9pZCBpbnRl bF92aXJ0dWFsX2VuZ2luZV9wdXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKIAog dTMyIGdlbjhfbWFrZV9ycGNzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBzdHJ1Y3Qg aW50ZWxfc3NldSAqY3R4X3NzZXUpOwogCit1MzIgZ2V0X3dhdGNoZG9nX2Rpc2FibGUoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKKwogI2VuZGlmIC8qIF9JTlRFTF9MUkNfSF8gKi8K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAppbmRleCAxNzI1MGJhMDI0NmYu LmVjMGI3ZDNjNjMxNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApA QCAtMzYwLDYgKzM2MCw3IEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgewogCXVuc2lnbmVkIGlu dCBndWNfaWQ7CiAJdW5zaWduZWQgbG9uZyBtYXNrOwogCXUzMiBjdXJyZW50X3NlcW5vOworCXUz MiB3YXRjaGRvZ19kaXNhYmxlX2lkOwogCiAJdTggdWFiaV9jbGFzczsKIApAQCAtNDYzLDYgKzQ2 NCw3IEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgewogCWludAkJKCppbml0X2NvbnRleHQpKHN0 cnVjdCBpOTE1X3JlcXVlc3QgKnJxKTsKIAogCWludAkJKCplbWl0X2ZsdXNoKShzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpyZXF1ZXN0LCB1MzIgbW9kZSk7CisKICNkZWZpbmUgRU1JVF9JTlZBTElEQVRF CUJJVCgwKQogI2RlZmluZSBFTUlUX0ZMVVNICUJJVCgxKQogI2RlZmluZSBFTUlUX0JBUlJJRVIJ KEVNSVRfSU5WQUxJREFURSB8IEVNSVRfRkxVU0gpCkBAIC01MjAsMTAgKzUyMiwxMiBAQCBzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzIHsKIAogCXN0cnVjdCBpbnRlbF9lbmdpbmVfaGFuZ2NoZWNrIGhh bmdjaGVjazsKIAotI2RlZmluZSBJOTE1X0VOR0lORV9ORUVEU19DTURfUEFSU0VSIEJJVCgwKQot I2RlZmluZSBJOTE1X0VOR0lORV9TVVBQT1JUU19TVEFUUyAgIEJJVCgxKQotI2RlZmluZSBJOTE1 X0VOR0lORV9IQVNfUFJFRU1QVElPTiAgIEJJVCgyKQotI2RlZmluZSBJOTE1X0VOR0lORV9JU19W SVJUVUFMICAgICAgIEJJVCgzKQorI2RlZmluZSBJOTE1X0VOR0lORV9ORUVEU19DTURfUEFSU0VS ICBCSVQoMCkKKyNkZWZpbmUgSTkxNV9FTkdJTkVfU1VQUE9SVFNfU1RBVFMgICAgQklUKDEpCisj ZGVmaW5lIEk5MTVfRU5HSU5FX0hBU19QUkVFTVBUSU9OICAgIEJJVCgyKQorI2RlZmluZSBJOTE1 X0VOR0lORV9JU19WSVJUVUFMICAgICAgICBCSVQoMykKKyNkZWZpbmUgSTkxNV9FTkdJTkVfU1VQ UE9SVFNfV0FUQ0hET0cgQklUKDQpCisKIAl1bnNpZ25lZCBpbnQgZmxhZ3M7CiAKIAkvKgpAQCAt NjEyLDYgKzYxNiwxMiBAQCBpbnRlbF9lbmdpbmVfaXNfdmlydHVhbChjb25zdCBzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJcmV0dXJuIGVuZ2luZS0+ZmxhZ3MgJiBJOTE1X0VOR0lO RV9JU19WSVJUVUFMOwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wKK2ludGVsX2VuZ2luZV9zdXBw b3J0c193YXRjaGRvZyhjb25zdCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCit7CisJ cmV0dXJuIGVuZ2luZS0+ZmxhZ3MgJiBJOTE1X0VOR0lORV9TVVBQT1JUU19XQVRDSERPRzsKK30K Kwogc3RhdGljIGlubGluZSB2b2lkCiBleGVjbGlzdHNfc2V0X2FjdGl2ZShzdHJ1Y3QgaW50ZWxf ZW5naW5lX2V4ZWNsaXN0cyAqZXhlY2xpc3RzLAogCQkgICAgIHVuc2lnbmVkIGludCBiaXQpCi0t IAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==