From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carlos Santa Subject: [PATCH v5 3/5] drm/i915: Watchdog timeout: Ringbuffer command emission for gen8+ Date: Fri, 22 Mar 2019 16:41:16 -0700 Message-ID: <20190322234118.65980-4-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id BF2196E3E2 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 RnJvbTogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4KCkVtaXQgdGhl IHJlcXVpcmVkIGNvbW1hbmRzIGludG8gdGhlIHJpbmcgYnVmZmVyIGZvciBzdGFydGluZyBhbmQK c3RvcHBpbmcgdGhlIHdhdGNoZG9nIHRpbWVyIGJlZm9yZS9hZnRlciBiYXRjaCBidWZmZXIgc3Rh cnQgZHVyaW5nCmJhdGNoIGJ1ZmZlciBzdWJtaXNzaW9uLgoKdjI6IFN1cHBvcnQgd2F0Y2hkb2cg dGhyZXNob2xkIHBlciBjb250ZXh0IGVuZ2luZSwgbWVyZ2UgbHJpIGNvbW1hbmRzLAphbmQgbW92 ZSB3YXRjaGRvZyBjb21tYW5kcyBlbWlzc2lvbiB0byBlbWl0X2JiX3N0YXJ0LiBSZXF1ZXN0IHNw YWNlIG9mCmNvbWJpbmVkIHN0YXJ0X3dhdGNoZG9nLCBiYl9zdGFydCBhbmQgc3RvcF93YXRjaGRv ZyB0byBhdm9pZCBhbnkgZXJyb3IKYWZ0ZXIgZW1pdHRpbmcgYmJfc3RhcnQuCgp2MzogVGhlcmUg d2VyZSB0b28gbWFueSByZXEtPmVuZ2luZSBpbiBlbWl0X2JiX3N0YXJ0LgpVc2UgR0VNX0JVR19P TiBpbnN0ZWFkIG9mIHJldHVybmluZyBhIHZlcnkgbGF0ZSBFSU5WQUwgaW4gdGhlIHJlbW90ZQpj YXNlIG9mIHdhdGNoZG9nIG1pc3Byb2dyYW1taW5nOyBzZXQgY29ycmVjdCBMUkkgY21kIHNpemUg aW4KZW1pdF9zdG9wX3dhdGNoZG9nLiAoQ2hyaXMpCgp2NDogUmViYXNlLgp2NTogdXNlIHRvX2lu dGVsX2NvbnRleHQgaW5zdGVhZCBvZiBjdHgtPmVuZ2luZS4KdjY6IFJlYmFzZS4Kdjc6IFJlYmFz ZSwKICAgIFN0b3JlIGdwdSB3YXRjaGRvZyBjYXBhYmlsaXR5IGluIGVuZ2luZSBmbGFnIChUdnJ0 a28pCiAgICBTdG9yZSBXQVRDSERPR19ESVNBQkxFIG1hZ2ljICMgaW4gZW5naW5lIChUdnJ0a28p CiAgICBObyBuZWVkIHRvIGRlY2xhcmUgZW1pdF97c3RhcnR8c3RvcH1fd2F0Y2hkb2cgYXMgdmZ1 bmNzIChUdnJ0a28pCiAgICBSZXBsYWNlIGZsYWcgd2F0Y2hkb2dfcnVubmluZyB3aXRoIGVuYWJs ZV93YXRjaGRvZyAoVHZydGtvKQogICAgRW1pdCBhIHNpbmdsZSBNSV9OT09QIGJ5IGNvbmRpdGlv bmFsbHkgY2hlY2tpbmcgd2hldGhlciB0aGUgIwogICAgb2YgZW1pdHRlZCBPUHMgaXMgb2RkIChU dnJ0a28pCnY4OiBSZWJhc2UKCkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5j by51az4KQ2M6IEFudG9uaW8gQXJnZW56aWFubyA8YW50b25pby5hcmdlbnppYW5vQGludGVsLmNv bT4KQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBsaW51eC5pbnRlbC5jb20+ClNp Z25lZC1vZmYtYnk6IE1pY2hlbCBUaGllcnJ5IDxtaWNoZWwudGhpZXJyeUBpbnRlbC5jb20+ClNp Z25lZC1vZmYtYnk6IENhcmxvcyBTYW50YSA8Y2FybG9zLnNhbnRhQGludGVsLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb250ZXh0X3R5cGVzLmggfCAgNCArCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyAgICAgfCAgMiArCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9lbmdpbmVfdHlwZXMuaCAgfCAxNyArKysrLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgODkgKysrKysrKysrKysrKysrKysrKysrLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggICAgICAgICAgIHwgIDIgKwogNSBmaWxl cyBjaGFuZ2VkLCAxMDYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb250ZXh0X3R5cGVzLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jb250ZXh0X3R5cGVzLmgKaW5kZXggNmRjOWI0YjkwNjdiLi5lNTZm YzI2MzU2OGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbnRleHRf dHlwZXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb250ZXh0X3R5cGVzLmgK QEAgLTUxLDYgKzUxLDEwIEBAIHN0cnVjdCBpbnRlbF9jb250ZXh0IHsKIAl1NjQgbHJjX2Rlc2M7 CiAKIAlhdG9taWNfdCBwaW5fY291bnQ7CisJLyoqIHdhdGNoZG9nX3RocmVzaG9sZDogaHcgd2F0 Y2hkb2cgdGhyZXNob2xkIHZhbHVlLAorCSAqIGluIGNsb2NrIGNvdW50cworCSAqLworCXUzMiB3 YXRjaGRvZ190aHJlc2hvbGQ7CiAJc3RydWN0IG11dGV4IHBpbl9tdXRleDsgLyogZ3VhcmRzIHBp bm5pbmcgYW5kIGFzc29jaWF0ZWQgb24tZ3B1aW5nICovCiAKIAkvKioKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZW5naW5lX2NzLmMKaW5kZXggODhjZjBmYzA3NjIzLi5kNGVhMDdiNzA5MDQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCkBAIC0zMjQsNiArMzI0LDggQEAg aW50ZWxfZW5naW5lX3NldHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlp ZiAoZW5naW5lLT5jb250ZXh0X3NpemUpCiAJCURSSVZFUl9DQVBTKGRldl9wcml2KS0+aGFzX2xv Z2ljYWxfY29udGV4dHMgPSB0cnVlOwogCisJZW5naW5lLT53YXRjaGRvZ19kaXNhYmxlX2lkID0g Z2V0X3dhdGNoZG9nX2Rpc2FibGUoZW5naW5lKTsKKwogCS8qIE5vdGhpbmcgdG8gZG8gaGVyZSwg ZXhlY3V0ZSBpbiBvcmRlciBvZiBkZXBlbmRlbmNpZXMgKi8KIAllbmdpbmUtPnNjaGVkdWxlID0g TlVMTDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX3R5 cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfdHlwZXMuaAppbmRleCBj NGY2NmI3NzRlN2MuLjFmOTliNTM2NDcxZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZW5naW5lX3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZW5naW5lX3R5cGVzLmgKQEAgLTI2MCw2ICsyNjAsNyBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz IHsKIAl1bnNpZ25lZCBpbnQgZ3VjX2lkOwogCWludGVsX2VuZ2luZV9tYXNrX3QgbWFzazsKIAor CXUzMiB3YXRjaGRvZ19kaXNhYmxlX2lkOwogCXU4IHVhYmlfY2xhc3M7CiAKIAl1OCBjbGFzczsK QEAgLTQyMiwxMCArNDIzLDEyIEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgewogCiAJc3RydWN0 IGludGVsX2VuZ2luZV9oYW5nY2hlY2sgaGFuZ2NoZWNrOwogCi0jZGVmaW5lIEk5MTVfRU5HSU5F X05FRURTX0NNRF9QQVJTRVIgQklUKDApCi0jZGVmaW5lIEk5MTVfRU5HSU5FX1NVUFBPUlRTX1NU QVRTICAgQklUKDEpCi0jZGVmaW5lIEk5MTVfRU5HSU5FX0hBU19QUkVFTVBUSU9OICAgQklUKDIp Ci0jZGVmaW5lIEk5MTVfRU5HSU5FX0hBU19TRU1BUEhPUkVTICAgQklUKDMpCisjZGVmaW5lIEk5 MTVfRU5HSU5FX05FRURTX0NNRF9QQVJTRVIgIEJJVCgwKQorI2RlZmluZSBJOTE1X0VOR0lORV9T VVBQT1JUU19TVEFUUyAgICBCSVQoMSkKKyNkZWZpbmUgSTkxNV9FTkdJTkVfSEFTX1BSRUVNUFRJ T04gICAgQklUKDIpCisjZGVmaW5lIEk5MTVfRU5HSU5FX0hBU19TRU1BUEhPUkVTICAgIEJJVCgz KQorI2RlZmluZSBJOTE1X0VOR0lORV9TVVBQT1JUU19XQVRDSERPRyBCSVQoNCkKKwogCXVuc2ln bmVkIGludCBmbGFnczsKIAogCS8qCkBAIC01MDksNiArNTEyLDEyIEBAIGludGVsX2VuZ2luZV9o YXNfc2VtYXBob3Jlcyhjb25zdCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJcmV0 dXJuIGVuZ2luZS0+ZmxhZ3MgJiBJOTE1X0VOR0lORV9IQVNfU0VNQVBIT1JFUzsKIH0KIAorc3Rh dGljIGlubGluZSBib29sCitpbnRlbF9lbmdpbmVfc3VwcG9ydHNfd2F0Y2hkb2coY29uc3Qgc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQoreworCXJldHVybiBlbmdpbmUtPmZsYWdzICYg STkxNV9FTkdJTkVfU1VQUE9SVFNfV0FUQ0hET0c7Cit9CisKICNkZWZpbmUgaW5zdGRvbmVfc2xp Y2VfbWFzayhkZXZfcHJpdl9fKSBcCiAJKElTX0dFTihkZXZfcHJpdl9fLCA3KSA/IFwKIAkgMSA6 IFJVTlRJTUVfSU5GTyhkZXZfcHJpdl9fKS0+c3NldS5zbGljZV9tYXNrKQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuYwppbmRleCA4NTc4NWE5NGY2YWUuLjc4ZWE1NGE1ZGJjMyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKQEAgLTIwMzYsMTYgKzIwMzYsNzUgQEAgc3RhdGljIHZvaWQgZXhlY2xp c3RzX3Jlc2V0X2ZpbmlzaChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJCSAgYXRv bWljX3JlYWQoJmV4ZWNsaXN0cy0+dGFza2xldC5jb3VudCkpOwogfQogCitzdGF0aWMgdTMyICpn ZW44X2VtaXRfc3RhcnRfd2F0Y2hkb2coc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiAqY3Mp Cit7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcnEtPmVuZ2luZTsKKwlzdHJ1 Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4ID0gcnEtPmdlbV9jb250ZXh0OworCXN0cnVjdCBpbnRl bF9jb250ZXh0ICpjZSA9IGludGVsX2NvbnRleHRfbG9va3VwKGN0eCwgZW5naW5lKTsKKworCUdF TV9CVUdfT04oIWludGVsX2VuZ2luZV9zdXBwb3J0c193YXRjaGRvZyhlbmdpbmUpKTsKKworCS8q CisJICogd2F0Y2hkb2cgcmVnaXN0ZXIgbXVzdCBuZXZlciBiZSBwcm9ncmFtbWVkIHRvIHplcm8u IFRoaXMgd291bGQKKwkgKiBjYXVzZSB0aGUgd2F0Y2hkb2cgY291bnRlciB0byBleGNlZWQgYW5k IG5vdCBhbGxvdyB0aGUgZW5naW5lIHRvCisJICogZ28gaW50byBJRExFIHN0YXRlCisJICovCisJ R0VNX0JVR19PTihjZS0+d2F0Y2hkb2dfdGhyZXNob2xkID09IDApOworCisJLyogU2V0IGNvdW50 ZXIgcGVyaW9kICovCisJKmNzKysgPSBNSV9MT0FEX1JFR0lTVEVSX0lNTSgyKTsKKwkqY3MrKyA9 IGk5MTVfbW1pb19yZWdfb2Zmc2V0KFJJTkdfVEhSRVNIKGVuZ2luZS0+bW1pb19iYXNlKSk7CisJ KmNzKysgPSBjZS0+d2F0Y2hkb2dfdGhyZXNob2xkOworCS8qIFN0YXJ0IGNvdW50ZXIgKi8KKwkq Y3MrKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KFJJTkdfQ05UUihlbmdpbmUtPm1taW9fYmFzZSkp OworCSpjcysrID0gR0VOOF9XQVRDSERPR19FTkFCTEU7CisKKwlyZXR1cm4gY3M7Cit9CisKK3N0 YXRpYyB1MzIgKmdlbjhfZW1pdF9zdG9wX3dhdGNoZG9nKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJx LCB1MzIgKmNzKQoreworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJxLT5lbmdp bmU7CisKKwlHRU1fQlVHX09OKCFpbnRlbF9lbmdpbmVfc3VwcG9ydHNfd2F0Y2hkb2coZW5naW5l KSk7CisKKwkqY3MrKyA9IE1JX0xPQURfUkVHSVNURVJfSU1NKDEpOworCSpjcysrID0gaTkxNV9t bWlvX3JlZ19vZmZzZXQoUklOR19DTlRSKGVuZ2luZS0+bW1pb19iYXNlKSk7CisJKmNzKysgPSBl bmdpbmUtPndhdGNoZG9nX2Rpc2FibGVfaWQ7CisKKwlyZXR1cm4gY3M7Cit9CisKIHN0YXRpYyBp bnQgZ2VuOF9lbWl0X2JiX3N0YXJ0KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAogCQkJICAgICAg dTY0IG9mZnNldCwgdTMyIGxlbiwKIAkJCSAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBmbGFncykK IHsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBycS0+ZW5naW5lOworCXN0cnVj dCBpOTE1X2dlbV9jb250ZXh0ICpjdHggPSBycS0+Z2VtX2NvbnRleHQ7CisJc3RydWN0IGludGVs X2NvbnRleHQgKmNlID0gaW50ZWxfY29udGV4dF9sb29rdXAoY3R4LCBlbmdpbmUpOwogCXUzMiAq Y3M7CisJdTMyIG51bV9kd29yZHM7CisJYm9vbCBlbmFibGVfd2F0Y2hkb2cgPSBmYWxzZTsKIAot CWNzID0gaW50ZWxfcmluZ19iZWdpbihycSwgNik7CisJLyogYmJfc3RhcnQgb25seSAqLworCW51 bV9kd29yZHMgPSA2OworCisJLyogY2hlY2sgaWYgd2F0Y2hkb2cgd2lsbCBiZSByZXF1aXJlZCAq LworCWlmIChjZS0+d2F0Y2hkb2dfdGhyZXNob2xkICE9IDApIHsKKwkJLyogKyBzdGFydF93YXRj aGRvZyAoNikgKyBzdG9wX3dhdGNoZG9nICg0KSAqLworCQludW1fZHdvcmRzICs9IDEwOworCQll bmFibGVfd2F0Y2hkb2cgPSB0cnVlOworCX0KKworCWNzID0gaW50ZWxfcmluZ19iZWdpbihycSwg bnVtX2R3b3Jkcyk7CiAJaWYgKElTX0VSUihjcykpCiAJCXJldHVybiBQVFJfRVJSKGNzKTsKIAor CWlmIChlbmFibGVfd2F0Y2hkb2cpIHsKKwkJLyogU3RhcnQgd2F0Y2hkb2cgdGltZXIgKi8KKwkJ Y3MgPSBnZW44X2VtaXRfc3RhcnRfd2F0Y2hkb2cocnEsIGNzKTsKKwl9CisKIAkvKgogCSAqIFdh RGlzYWJsZUN0eFJlc3RvcmVBcmJpdHJhdGlvbjpiZHcsY2h2CiAJICoKQEAgLTIwNzIsMTAgKzIx MzEsMTYgQEAgc3RhdGljIGludCBnZW44X2VtaXRfYmJfc3RhcnQoc3RydWN0IGk5MTVfcmVxdWVz dCAqcnEsCiAJKmNzKysgPSB1cHBlcl8zMl9iaXRzKG9mZnNldCk7CiAKIAkqY3MrKyA9IE1JX0FS Ql9PTl9PRkYgfCBNSV9BUkJfRElTQUJMRTsKLQkqY3MrKyA9IE1JX05PT1A7CiAKLQlpbnRlbF9y aW5nX2FkdmFuY2UocnEsIGNzKTsKKwlpZiAoZW5hYmxlX3dhdGNoZG9nKSB7CisJCS8qIENhbmNl bCB3YXRjaGRvZyB0aW1lciAqLworCQljcyA9IGdlbjhfZW1pdF9zdG9wX3dhdGNoZG9nKHJxLCBj cyk7CisJfQorCisJaWYgKCpjcyUyICE9IDApCisJCSpjcysrID0gTUlfTk9PUDsKIAorCWludGVs X3JpbmdfYWR2YW5jZShycSwgY3MpOwogCXJldHVybiAwOwogfQogCkBAIC0yMTk1LDYgKzIyNjAs MTUgQEAgc3RhdGljIGludCBnZW44X2VtaXRfZmx1c2hfcmVuZGVyKHN0cnVjdCBpOTE1X3JlcXVl c3QgKnJlcXVlc3QsCiAJcmV0dXJuIDA7CiB9CiAKKy8qIEZyb20gR0VOOSBvbndhcmRzLCBhbGwg ZW5naW5lcyB1c2UgdGhlIHNhbWUgUklOR19DTlRSIGZvcm1hdCAqLwordTMyIGdldF93YXRjaGRv Z19kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKK3sKKwlpZiAoZW5naW5l LT5pZCA9PSBSQ1MwIHx8IElOVEVMX0dFTihlbmdpbmUtPmk5MTUpID49IDkpCisJCXJldHVybiBH RU44X1dBVENIRE9HX0RJU0FCTEU7CisJZWxzZQorCQlyZXR1cm4gR0VOOF9YQ1NfV0FUQ0hET0df RElTQUJMRTsKK30KKwogc3RhdGljIHZvaWQgZ2VuOF93YXRjaGRvZ190YXNrbGV0KHVuc2lnbmVk IGxvbmcgZGF0YSkKIHsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqKWRhdGE7CkBAIC0yMzU3LDYgKzI0MzEsOSBAQCB2b2lkIGludGVs X2V4ZWNsaXN0c19zZXRfZGVmYXVsdF9zdWJtaXNzaW9uKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSkKIAllbmdpbmUtPmZsYWdzIHw9IEk5MTVfRU5HSU5FX1NVUFBPUlRTX1NUQVRTOwog CWlmIChlbmdpbmUtPnByZWVtcHRfY29udGV4dCkKIAkJZW5naW5lLT5mbGFncyB8PSBJOTE1X0VO R0lORV9IQVNfUFJFRU1QVElPTjsKKworCWlmKGVuZ2luZS0+aWQgIT0gQkNTMCkKKwkJZW5naW5l LT5mbGFncyB8PSBJOTE1X0VOR0lORV9TVVBQT1JUU19XQVRDSERPRzsKIH0KIAogc3RhdGljIHZv aWQKQEAgLTI1MzEsNiArMjYwOCw5IEBAIGludCBsb2dpY2FsX3hjc19yaW5nX2luaXQoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCWlmIChlcnIpCiAJCXJldHVybiBlcnI7CiAKKwkv KiBCQ1MgZW5naW5lIGRvZXMgbm90IGhhdmUgYSB3YXRjaGRvZy1leHBpcmVkIGlycSAqLworCUdF TV9CVUdfT04oIWludGVsX2VuZ2luZV9zdXBwb3J0c193YXRjaGRvZyhlbmdpbmUpKTsKKwogCXJl dHVybiBsb2dpY2FsX3JpbmdfaW5pdChlbmdpbmUpOwogfQogCkBAIC0yNjY2LDcgKzI3NDYsNyBA QCB1MzIgZ2VuOF9tYWtlX3JwY3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHN0cnVj dCBpbnRlbF9zc2V1ICpyZXFfc3NldSkKIAlyZXR1cm4gcnBjczsKIH0KIAotc3RhdGljIHUzMiBp bnRlbF9scl9pbmRpcmVjdF9jdHhfb2Zmc2V0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSkKK3UzMiBpbnRlbF9scl9pbmRpcmVjdF9jdHhfb2Zmc2V0KHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSkKIHsKIAl1MzIgaW5kaXJlY3RfY3R4X29mZnNldDsKIApAQCAtMjY5Myw2ICsy NzczLDcgQEAgc3RhdGljIHUzMiBpbnRlbF9scl9pbmRpcmVjdF9jdHhfb2Zmc2V0KHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAl9CiAKIAlyZXR1cm4gaW5kaXJlY3RfY3R4X29mZnNl dDsKKwogfQogCiBzdGF0aWMgdm9pZCBleGVjbGlzdHNfaW5pdF9yZWdfc3RhdGUodTMyICpyZWdz LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAppbmRleCBmMWFlYzhhNjk4NmYuLjRjZTk3ZmQ1YmIy ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKQEAgLTExNCw0ICsxMTQsNiBAQCB2b2lkIGlu dGVsX2V4ZWNsaXN0c19zaG93X3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSwKIAogdTMyIGdlbjhfbWFrZV9ycGNzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBz dHJ1Y3QgaW50ZWxfc3NldSAqY3R4X3NzZXUpOwogCit1MzIgZ2V0X3dhdGNoZG9nX2Rpc2FibGUo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKKwogI2VuZGlmIC8qIF9JTlRFTF9MUkNf SF8gKi8KLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4