From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t 4/7] intel-gpu-overlay: Catch-up to new i915 PMU Date: Mon, 25 Sep 2017 16:14:59 +0100 Message-ID: <20170925151502.7285-5-tvrtko.ursulin@linux.intel.com> References: <20170925151502.7285-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr0-x241.google.com (mail-wr0-x241.google.com [IPv6:2a00:1450:400c:c0c::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id D2E5F6E35B for ; Mon, 25 Sep 2017 15:15:13 +0000 (UTC) Received: by mail-wr0-x241.google.com with SMTP id k20so30737wre.1 for ; Mon, 25 Sep 2017 08:15:13 -0700 (PDT) In-Reply-To: <20170925151502.7285-1-tvrtko.ursulin@linux.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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClNpZ25lZC1v ZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Ci0tLQogbGli L2lndF9wZXJmLmggICAgICAgICAgIHwgOTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tCiBvdmVybGF5L2dlbS1pbnRlcnJ1cHRzLmMgfCAgMiArLQogb3Zl cmxheS9ncHUtZnJlcS5jICAgICAgIHwgIDQgKy0tCiBvdmVybGF5L2dwdS10b3AuYyAgICAgICAg fCA2OCArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogb3ZlcmxheS9wb3dlci5j ICAgICAgICAgIHwgIDQgKy0tCiBvdmVybGF5L3JjNi5jICAgICAgICAgICAgfCAgNiArKy0tCiA2 IGZpbGVzIGNoYW5nZWQsIDExMSBpbnNlcnRpb25zKCspLCA2NiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9saWIvaWd0X3BlcmYuaCBiL2xpYi9pZ3RfcGVyZi5oCmluZGV4IDhlNjc0YzNhMzc1 NS4uZTI5MjE2ZjA1MDBhIDEwMDY0NAotLS0gYS9saWIvaWd0X3BlcmYuaAorKysgYi9saWIvaWd0 X3BlcmYuaApAQCAtMSwzICsxLDI3IEBACisvKgorICogQ29weXJpZ2h0IMKpIDIwMTcgSW50ZWwg Q29ycG9yYXRpb24KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlzIHNvZnR3 YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwK KyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGlu ZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnks IG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNlbGwg Y29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhl CisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxv d2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0 aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKKyAqIHBhcmFncmFwaCkg c2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv ZiB0aGUKKyAqIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMg SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVE LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5U QUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS SU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJ QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJX SVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBT T0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUu CisgKgorICovCisKICNpZm5kZWYgSTkxNV9QRVJGX0gKICNkZWZpbmUgSTkxNV9QRVJGX0gKIApA QCAtNSw0MSArMjksNTYgQEAKIAogI2luY2x1ZGUgPGxpbnV4L3BlcmZfZXZlbnQuaD4KIAotI2Rl ZmluZSBJOTE1X1NBTVBMRV9CVVNZCTAKLSNkZWZpbmUgSTkxNV9TQU1QTEVfV0FJVAkxCi0jZGVm aW5lIEk5MTVfU0FNUExFX1NFTUEJMgorZW51bSBkcm1faTkxNV9nZW1fZW5naW5lX2NsYXNzIHsK KwlJOTE1X0VOR0lORV9DTEFTU19PVEhFUiA9IDAsCisJSTkxNV9FTkdJTkVfQ0xBU1NfUkVOREVS ID0gMSwKKwlJOTE1X0VOR0lORV9DTEFTU19DT1BZID0gMiwKKwlJOTE1X0VOR0lORV9DTEFTU19W SURFTyA9IDMsCisJSTkxNV9FTkdJTkVfQ0xBU1NfVklERU9fRU5IQU5DRSA9IDQsCisJSTkxNV9F TkdJTkVfQ0xBU1NfTUFYIC8qIG5vbi1BQkkgKi8KK307CisKK2VudW0gZHJtX2k5MTVfcG11X2Vu Z2luZV9zYW1wbGUgeworCUk5MTVfU0FNUExFX1FVRVVFRCA9IDAsCisJSTkxNV9TQU1QTEVfQlVT WSA9IDEsCisJSTkxNV9TQU1QTEVfV0FJVCA9IDIsCisJSTkxNV9TQU1QTEVfU0VNQSA9IDMsCisJ STkxNV9FTkdJTkVfU0FNUExFX01BWCAvKiBub24tQUJJICovCit9OworCisjZGVmaW5lIEk5MTVf UE1VX1NBTVBMRV9CSVRTICg0KQorI2RlZmluZSBJOTE1X1BNVV9TQU1QTEVfTUFTSyAoMHhmKQor I2RlZmluZSBJOTE1X1BNVV9TQU1QTEVfSU5TVEFOQ0VfQklUUyAoOCkKKyNkZWZpbmUgSTkxNV9Q TVVfQ0xBU1NfU0hJRlQgXAorCShJOTE1X1BNVV9TQU1QTEVfQklUUyArIEk5MTVfUE1VX1NBTVBM RV9JTlNUQU5DRV9CSVRTKQogCi0jZGVmaW5lIEk5MTVfU0FNUExFX1JDUwkJMAotI2RlZmluZSBJ OTE1X1NBTVBMRV9WQ1MJCTEKLSNkZWZpbmUgSTkxNV9TQU1QTEVfQkNTCQkyCi0jZGVmaW5lIEk5 MTVfU0FNUExFX1ZFQ1MJMworI2RlZmluZSBfX0k5MTVfUE1VX0VOR0lORShjbGFzcywgaW5zdGFu Y2UsIHNhbXBsZSkgXAorCSgoY2xhc3MpIDw8IEk5MTVfUE1VX0NMQVNTX1NISUZUIHwgXAorCShp bnN0YW5jZSkgPDwgSTkxNV9QTVVfU0FNUExFX0JJVFMgfCBcCisJKHNhbXBsZSkpCiAKLSNkZWZp bmUgX19JOTE1X1BFUkZfQ09VTlQocmluZywgaWQpICgocmluZykgPDwgNCB8IChpZCkpCisjZGVm aW5lIEk5MTVfUE1VX0VOR0lORV9RVUVVRUQoY2xhc3MsIGluc3RhbmNlKSBcCisJX19JOTE1X1BN VV9FTkdJTkUoY2xhc3MsIGluc3RhbmNlLCBJOTE1X1NBTVBMRV9RVUVVRUQpCiAKLSNkZWZpbmUg STkxNV9QRVJGX0NPVU5UX1JDU19CVVNZIF9fSTkxNV9QRVJGX0NPVU5UKEk5MTVfU0FNUExFX1JD UywgSTkxNV9TQU1QTEVfQlVTWSkKLSNkZWZpbmUgSTkxNV9QRVJGX0NPVU5UX1JDU19XQUlUIF9f STkxNV9QRVJGX0NPVU5UKEk5MTVfU0FNUExFX1JDUywgSTkxNV9TQU1QTEVfV0FJVCkKLSNkZWZp bmUgSTkxNV9QRVJGX0NPVU5UX1JDU19TRU1BIF9fSTkxNV9QRVJGX0NPVU5UKEk5MTVfU0FNUExF X1JDUywgSTkxNV9TQU1QTEVfU0VNQSkKKyNkZWZpbmUgSTkxNV9QTVVfRU5HSU5FX0JVU1koY2xh c3MsIGluc3RhbmNlKSBcCisJX19JOTE1X1BNVV9FTkdJTkUoY2xhc3MsIGluc3RhbmNlLCBJOTE1 X1NBTVBMRV9CVVNZKQogCi0jZGVmaW5lIEk5MTVfUEVSRl9DT1VOVF9WQ1NfQlVTWSBfX0k5MTVf UEVSRl9DT1VOVChJOTE1X1NBTVBMRV9WQ1MsIEk5MTVfU0FNUExFX0JVU1kpCi0jZGVmaW5lIEk5 MTVfUEVSRl9DT1VOVF9WQ1NfV0FJVCBfX0k5MTVfUEVSRl9DT1VOVChJOTE1X1NBTVBMRV9WQ1Ms IEk5MTVfU0FNUExFX1dBSVQpCi0jZGVmaW5lIEk5MTVfUEVSRl9DT1VOVF9WQ1NfU0VNQSBfX0k5 MTVfUEVSRl9DT1VOVChJOTE1X1NBTVBMRV9WQ1MsIEk5MTVfU0FNUExFX1NFTUEpCisjZGVmaW5l IEk5MTVfUE1VX0VOR0lORV9XQUlUKGNsYXNzLCBpbnN0YW5jZSkgXAorCV9fSTkxNV9QTVVfRU5H SU5FKGNsYXNzLCBpbnN0YW5jZSwgSTkxNV9TQU1QTEVfV0FJVCkKIAotI2RlZmluZSBJOTE1X1BF UkZfQ09VTlRfQkNTX0JVU1kgX19JOTE1X1BFUkZfQ09VTlQoSTkxNV9TQU1QTEVfQkNTLCBJOTE1 X1NBTVBMRV9CVVNZKQotI2RlZmluZSBJOTE1X1BFUkZfQ09VTlRfQkNTX1dBSVQgX19JOTE1X1BF UkZfQ09VTlQoSTkxNV9TQU1QTEVfQkNTLCBJOTE1X1NBTVBMRV9XQUlUKQotI2RlZmluZSBJOTE1 X1BFUkZfQ09VTlRfQkNTX1NFTUEgX19JOTE1X1BFUkZfQ09VTlQoSTkxNV9TQU1QTEVfQkNTLCBJ OTE1X1NBTVBMRV9TRU1BKQorI2RlZmluZSBJOTE1X1BNVV9FTkdJTkVfU0VNQShjbGFzcywgaW5z dGFuY2UpIFwKKwlfX0k5MTVfUE1VX0VOR0lORShjbGFzcywgaW5zdGFuY2UsIEk5MTVfU0FNUExF X1NFTUEpCiAKLSNkZWZpbmUgSTkxNV9QRVJGX0NPVU5UX1ZFQ1NfQlVTWSBfX0k5MTVfUEVSRl9D T1VOVChJOTE1X1NBTVBMRV9WRUNTLCBJOTE1X1NBTVBMRV9CVVNZKQotI2RlZmluZSBJOTE1X1BF UkZfQ09VTlRfVkVDU19XQUlUIF9fSTkxNV9QRVJGX0NPVU5UKEk5MTVfU0FNUExFX1ZFQ1MsIEk5 MTVfU0FNUExFX1dBSVQpCi0jZGVmaW5lIEk5MTVfUEVSRl9DT1VOVF9WRUNTX1NFTUEgX19JOTE1 X1BFUkZfQ09VTlQoSTkxNV9TQU1QTEVfVkVDUywgSTkxNV9TQU1QTEVfU0VNQSkKKyNkZWZpbmUg X19JOTE1X1BNVV9PVEhFUih4KSAoX19JOTE1X1BNVV9FTkdJTkUoMHhmZiwgMHhmZiwgMHhmKSAr IDEgKyAoeCkpCiAKLSNkZWZpbmUgSTkxNV9QRVJGX0FDVFVBTF9GUkVRVUVOQ1kgMzIKLSNkZWZp bmUgSTkxNV9QRVJGX1JFUVVFU1RFRF9GUkVRVUVOQ1kgMzMKLSNkZWZpbmUgSTkxNV9QRVJGX0VO RVJHWSAzNAotI2RlZmluZSBJOTE1X1BFUkZfSU5URVJSVVBUUyAzNQorI2RlZmluZSBJOTE1X1BN VV9BQ1RVQUxfRlJFUVVFTkNZCV9fSTkxNV9QTVVfT1RIRVIoMCkKKyNkZWZpbmUgSTkxNV9QTVVf UkVRVUVTVEVEX0ZSRVFVRU5DWQlfX0k5MTVfUE1VX09USEVSKDEpCisjZGVmaW5lIEk5MTVfUE1V X0lOVEVSUlVQVFMJCV9fSTkxNV9QTVVfT1RIRVIoMikKKyNkZWZpbmUgSTkxNV9QTVVfUkM2X1JF U0lERU5DWQkJX19JOTE1X1BNVV9PVEhFUigzKQorI2RlZmluZSBJOTE1X1BNVV9SQzZwX1JFU0lE RU5DWQkJX19JOTE1X1BNVV9PVEhFUig0KQorI2RlZmluZSBJOTE1X1BNVV9SQzZwcF9SRVNJREVO Q1kJX19JOTE1X1BNVV9PVEhFUig1KQogCi0jZGVmaW5lIEk5MTVfUEVSRl9SQzZfUkVTSURFTkNZ CQk0MAotI2RlZmluZSBJOTE1X1BFUkZfUkM2cF9SRVNJREVOQ1kJNDEKLSNkZWZpbmUgSTkxNV9Q RVJGX1JDNnBwX1JFU0lERU5DWQk0MgorI2RlZmluZSBJOTE1X1BNVV9MQVNUIEk5MTVfUE1VX1JD NnBwX1JFU0lERU5DWQogCiBzdGF0aWMgaW5saW5lIGludAogcGVyZl9ldmVudF9vcGVuKHN0cnVj dCBwZXJmX2V2ZW50X2F0dHIgKmF0dHIsCmRpZmYgLS1naXQgYS9vdmVybGF5L2dlbS1pbnRlcnJ1 cHRzLmMgYi9vdmVybGF5L2dlbS1pbnRlcnJ1cHRzLmMKaW5kZXggM2VkYTI0ZjRkN2ViLi5hZGQ0 YTlkZmQ3MjUgMTAwNjQ0Ci0tLSBhL292ZXJsYXkvZ2VtLWludGVycnVwdHMuYworKysgYi9vdmVy bGF5L2dlbS1pbnRlcnJ1cHRzLmMKQEAgLTExMyw3ICsxMTMsNyBAQCBpbnQgZ2VtX2ludGVycnVw dHNfaW5pdChzdHJ1Y3QgZ2VtX2ludGVycnVwdHMgKmlycXMpCiB7CiAJbWVtc2V0KGlycXMsIDAs IHNpemVvZigqaXJxcykpOwogCi0JaXJxcy0+ZmQgPSBwZXJmX2k5MTVfb3BlbihJOTE1X1BFUkZf SU5URVJSVVBUUyk7CisJaXJxcy0+ZmQgPSBwZXJmX2k5MTVfb3BlbihJOTE1X1BNVV9JTlRFUlJV UFRTKTsKIAlpZiAoaXJxcy0+ZmQgPCAwICYmIGludGVycnVwdHNfcmVhZCgpIDwgMCkKIAkJaXJx cy0+ZXJyb3IgPSBFTk9ERVY7CiAKZGlmZiAtLWdpdCBhL292ZXJsYXkvZ3B1LWZyZXEuYyBiL292 ZXJsYXkvZ3B1LWZyZXEuYwppbmRleCA3NmM1ZWQ5YWNmZDEuLmM0NjE5Yjg3MjQyYSAxMDA2NDQK LS0tIGEvb3ZlcmxheS9ncHUtZnJlcS5jCisrKyBiL292ZXJsYXkvZ3B1LWZyZXEuYwpAQCAtMzcs OCArMzcsOCBAQCBzdGF0aWMgaW50IHBlcmZfb3Blbih2b2lkKQogewogCWludCBmZDsKIAotCWZk ID0gcGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QRVJGX0FDVFVBTF9GUkVRVUVOQ1ksIC0xKTsK LQlpZiAocGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QRVJGX1JFUVVFU1RFRF9GUkVRVUVOQ1ks IGZkKSA8IDApIHsKKwlmZCA9IHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5MTVfUE1VX0FDVFVBTF9G UkVRVUVOQ1ksIC0xKTsKKwlpZiAocGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QTVVfUkVRVUVT VEVEX0ZSRVFVRU5DWSwgZmQpIDwgMCkgewogCQljbG9zZShmZCk7CiAJCWZkID0gLTE7CiAJfQpk aWZmIC0tZ2l0IGEvb3ZlcmxheS9ncHUtdG9wLmMgYi9vdmVybGF5L2dwdS10b3AuYwppbmRleCA4 MTJmNDdkNWFjZWQuLjYxYjhmNjJmZDc4YyAxMDA2NDQKLS0tIGEvb3ZlcmxheS9ncHUtdG9wLmMK KysrIGIvb3ZlcmxheS9ncHUtdG9wLmMKQEAgLTQzLDQ5ICs0Myw1NyBAQAogI2RlZmluZSAgIFJJ TkdfV0FJVAkJKDE8PDExKQogI2RlZmluZSAgIFJJTkdfV0FJVF9TRU1BUEhPUkUJKDE8PDEwKQog Ci0jZGVmaW5lIF9fSTkxNV9QRVJGX1JJTkcobikgKDQqbikKLSNkZWZpbmUgSTkxNV9QRVJGX1JJ TkdfQlVTWShuKSAoX19JOTE1X1BFUkZfUklORyhuKSArIDApCi0jZGVmaW5lIEk5MTVfUEVSRl9S SU5HX1dBSVQobikgKF9fSTkxNV9QRVJGX1JJTkcobikgKyAxKQotI2RlZmluZSBJOTE1X1BFUkZf UklOR19TRU1BKG4pIChfX0k5MTVfUEVSRl9SSU5HKG4pICsgMikKLQogc3RhdGljIGludCBwZXJm X2luaXQoc3RydWN0IGdwdV90b3AgKmd0KQogewotCWNvbnN0IGNoYXIgKm5hbWVzW10gPSB7Ci0J CSJSQ1MiLAotCQkiQkNTIiwKLQkJIlZDUzAiLAotCQkiVkNTMSIsCi0JCU5VTEwsCisJc3RydWN0 IGVuZ2luZV9kZXNjIHsKKwkJdW5zaWduZWQgY2xhc3MsIGluc3Q7CisJCWNvbnN0IGNoYXIgKm5h bWU7CisJfSAqZCwgZW5naW5lc1tdID0geworCQl7IEk5MTVfRU5HSU5FX0NMQVNTX1JFTkRFUiwg MCwgInJjczAiIH0sCisJCXsgSTkxNV9FTkdJTkVfQ0xBU1NfQ09QWSwgMCwgImJjczAiIH0sCisJ CXsgSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8sIDAsICJ2Y3MwIiB9LAorCQl7IEk5MTVfRU5HSU5F X0NMQVNTX1ZJREVPLCAxLCAidmNzMSIgfSwKKwkJeyBJOTE1X0VOR0lORV9DTEFTU19WSURFT19F TkhBTkNFLCAwLCAidmVjczAiIH0sCisJCXsgMCwgMCwgTlVMTCB9CiAJfTsKLQlpbnQgbjsKIAot CWd0LT5mZCA9IHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5MTVfUEVSRl9SSU5HX0JVU1koMCksIC0x KTsKKwlkID0gJmVuZ2luZXNbMF07CisKKwlndC0+ZmQgPSBwZXJmX2k5MTVfb3Blbl9ncm91cChJ OTE1X1BNVV9FTkdJTkVfQlVTWShkLT5jbGFzcywgZC0+aW5zdCksCisJCQkJICAgICAgLTEpOwog CWlmIChndC0+ZmQgPCAwKQogCQlyZXR1cm4gLTE7CiAKLQlpZiAocGVyZl9pOTE1X29wZW5fZ3Jv dXAoSTkxNV9QRVJGX1JJTkdfV0FJVCgwKSwgZ3QtPmZkKSA+PSAwKQorCWlmIChwZXJmX2k5MTVf b3Blbl9ncm91cChJOTE1X1BNVV9FTkdJTkVfV0FJVChkLT5jbGFzcywgZC0+aW5zdCksCisJCQkJ IGd0LT5mZCkgPj0gMCkKIAkJZ3QtPmhhdmVfd2FpdCA9IDE7CiAKLQlpZiAocGVyZl9pOTE1X29w ZW5fZ3JvdXAoSTkxNV9QRVJGX1JJTkdfU0VNQSgwKSwgZ3QtPmZkKSA+PSAwKQorCWlmIChwZXJm X2k5MTVfb3Blbl9ncm91cChJOTE1X1BNVV9FTkdJTkVfU0VNQShkLT5jbGFzcywgZC0+aW5zdCks CisJCQkJIGd0LT5mZCkgPj0gMCkKIAkJZ3QtPmhhdmVfc2VtYSA9IDE7CiAKLQlndC0+cmluZ1sw XS5uYW1lID0gbmFtZXNbMF07CisJZ3QtPnJpbmdbMF0ubmFtZSA9IGQtPm5hbWU7CiAJZ3QtPm51 bV9yaW5ncyA9IDE7CiAKLQlmb3IgKG4gPSAxOyBuYW1lc1tuXTsgbisrKSB7Ci0JCWlmIChwZXJm X2k5MTVfb3Blbl9ncm91cChJOTE1X1BFUkZfUklOR19CVVNZKG4pLCBndC0+ZmQpID49IDApIHsK LQkJCWlmIChndC0+aGF2ZV93YWl0ICYmCi0JCQkgICAgcGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkx NV9QRVJGX1JJTkdfV0FJVChuKSwKLQkJCQkJCSBndC0+ZmQpIDwgMCkKLQkJCQlyZXR1cm4gLTE7 Ci0KLQkJCWlmIChndC0+aGF2ZV9zZW1hICYmCi0JCQkgICAgcGVyZl9pOTE1X29wZW5fZ3JvdXAo STkxNV9QRVJGX1JJTkdfU0VNQShuKSwKLQkJCQkJCSBndC0+ZmQpIDwgMCkKLQkJCQlyZXR1cm4g LTE7Ci0KLQkJCWd0LT5yaW5nW2d0LT5udW1fcmluZ3MrK10ubmFtZSA9IG5hbWVzW25dOwotCQl9 CisJZm9yIChkKys7IGQtPm5hbWU7IGQrKykgeworCQlpZiAocGVyZl9pOTE1X29wZW5fZ3JvdXAo STkxNV9QTVVfRU5HSU5FX0JVU1koZC0+Y2xhc3MsCisJCQkJCQkJICAgICAgZC0+aW5zdCksCisJ CQkJCWd0LT5mZCkgPCAwKQorCQkJY29udGludWU7CisKKwkJaWYgKGd0LT5oYXZlX3dhaXQgJiYK KwkJICAgIHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5MTVfUE1VX0VOR0lORV9XQUlUKGQtPmNsYXNz LAorCQkJCQkJCSAgICAgIGQtPmluc3QpLAorCQkJCQkgZ3QtPmZkKSA8IDApCisJCQlyZXR1cm4g LTE7CisKKwkJaWYgKGd0LT5oYXZlX3NlbWEgJiYKKwkJICAgIHBlcmZfaTkxNV9vcGVuX2dyb3Vw KEk5MTVfUE1VX0VOR0lORV9TRU1BKGQtPmNsYXNzLAorCQkJCQkJCSAgICAgIGQtPmluc3QpLAor CQkJCSAgIGd0LT5mZCkgPCAwKQorCQkJcmV0dXJuIC0xOworCisJCWd0LT5yaW5nW2d0LT5udW1f cmluZ3MrK10ubmFtZSA9IGQtPm5hbWU7CiAJfQogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9v dmVybGF5L3Bvd2VyLmMgYi9vdmVybGF5L3Bvd2VyLmMKaW5kZXggZGQ0YWVjNmJmZmQ5Li44MDVm NGNhNzgwNWMgMTAwNjQ0Ci0tLSBhL292ZXJsYXkvcG93ZXIuYworKysgYi9vdmVybGF5L3Bvd2Vy LmMKQEAgLTQ1LDkgKzQ1LDcgQEAgaW50IHBvd2VyX2luaXQoc3RydWN0IHBvd2VyICpwb3dlcikK IAogCW1lbXNldChwb3dlciwgMCwgc2l6ZW9mKCpwb3dlcikpOwogCi0JcG93ZXItPmZkID0gcGVy Zl9pOTE1X29wZW4oSTkxNV9QRVJGX0VORVJHWSk7Ci0JaWYgKHBvd2VyLT5mZCAhPSAtMSkKLQkJ cmV0dXJuIDA7CisJcG93ZXItPmZkID0gLTE7CiAKIAlzcHJpbnRmKGJ1ZiwgIiVzL2k5MTVfZW5l cmd5X3VKIiwgZGVidWdmc19kcmlfcGF0aCk7CiAJZmQgPSBvcGVuKGJ1ZiwgMCk7CmRpZmYgLS1n aXQgYS9vdmVybGF5L3JjNi5jIGIvb3ZlcmxheS9yYzYuYwppbmRleCA0NmM5NzVhNTU3ZmYuLjI5 YWEyOWRiYWY3MiAxMDA2NDQKLS0tIGEvb3ZlcmxheS9yYzYuYworKysgYi9vdmVybGF5L3JjNi5j CkBAIC00MywxNSArNDMsMTUgQEAgc3RhdGljIGludCBwZXJmX29wZW4odW5zaWduZWQgKmZsYWdz KQogewogCWludCBmZDsKIAotCWZkID0gcGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QRVJGX1JD Nl9SRVNJREVOQ1ksIC0xKTsKKwlmZCA9IHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5MTVfUE1VX1JD Nl9SRVNJREVOQ1ksIC0xKTsKIAlpZiAoZmQgPCAwKQogCQlyZXR1cm4gLTE7CiAKIAkqZmxhZ3Mg fD0gUkM2OwotCWlmIChwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BFUkZfUkM2cF9SRVNJREVO Q1ksIGZkKSA+PSAwKQorCWlmIChwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BNVV9SQzZwX1JF U0lERU5DWSwgZmQpID49IDApCiAJCSpmbGFncyB8PSBSQzZwOwogCi0JaWYgKHBlcmZfaTkxNV9v cGVuX2dyb3VwKEk5MTVfUEVSRl9SQzZwcF9SRVNJREVOQ1ksIGZkKSA+PSAwKQorCWlmIChwZXJm X2k5MTVfb3Blbl9ncm91cChJOTE1X1BNVV9SQzZwcF9SRVNJREVOQ1ksIGZkKSA+PSAwKQogCQkq ZmxhZ3MgfD0gUkM2cHA7CiAKIAlyZXR1cm4gZmQ7Ci0tIAoyLjkuNQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==