From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t 5/9] intel-gpu-overlay: Catch-up to new i915 PMU Date: Tue, 10 Oct 2017 10:30:04 +0100 Message-ID: <20171010093008.22804-6-tvrtko.ursulin@linux.intel.com> References: <20171010093008.22804-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-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4DF166E189 for ; Tue, 10 Oct 2017 09:30:19 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id q124so3282203wmb.0 for ; Tue, 10 Oct 2017 02:30:19 -0700 (PDT) In-Reply-To: <20171010093008.22804-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCnYyOiBVcGRh dGUgZm9yIGk5MTUgY2hhbmdlcy4KdjM6IFVzZSAxZU4gZm9yIGxhcmdlIG51bWJlcnMuIChDaHJp cyBXaWxzb24pCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5A aW50ZWwuY29tPgpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24u Y28udWs+Ci0tLQogbGliL2lndF9wZXJmLmggICAgICAgICAgIHwgODkgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiBvdmVybGF5L2dlbS1pbnRlcnJ1cHRz LmMgfCAgMiArLQogb3ZlcmxheS9ncHUtZnJlcS5jICAgICAgIHwgIDggKystLS0KIG92ZXJsYXkv Z3B1LXRvcC5jICAgICAgICB8IDY4ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LQogb3ZlcmxheS9wb3dlci5jICAgICAgICAgIHwgIDQgKy0tCiBvdmVybGF5L3JjNi5jICAgICAg ICAgICAgfCAyMCArKysrKy0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCAxMTYgaW5zZXJ0aW9ucygr KSwgNzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9wZXJmLmggYi9saWIvaWd0 X3BlcmYuaAppbmRleCBjYzEwY2IzMDBhYWYuLjI4NTgyMzc4NjMyNCAxMDA2NDQKLS0tIGEvbGli L2lndF9wZXJmLmgKKysrIGIvbGliL2lndF9wZXJmLmgKQEAgLTEsMyArMSwyNyBAQAorLyoKKyAq IENvcHlyaWdodCDCqSAyMDE3IEludGVsIENvcnBvcmF0aW9uCisgKgorICogUGVybWlzc2lvbiBp cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n IGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u IGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRo b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmln aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3Vi bGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBw ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRv IHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJv dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5n IHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMg b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUg U09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO RCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU SEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAq IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlN LCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G IENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9S IElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM SU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqLworCiAjaWZuZGVmIEk5MTVfUEVSRl9I CiAjZGVmaW5lIEk5MTVfUEVSRl9ICiAKQEAgLTUsNDEgKzI5LDUyIEBACiAKICNpbmNsdWRlIDxs aW51eC9wZXJmX2V2ZW50Lmg+CiAKLSNkZWZpbmUgSTkxNV9TQU1QTEVfQlVTWQkwCi0jZGVmaW5l IEk5MTVfU0FNUExFX1dBSVQJMQotI2RlZmluZSBJOTE1X1NBTVBMRV9TRU1BCTIKK2VudW0gZHJt X2k5MTVfZ2VtX2VuZ2luZV9jbGFzcyB7CisJSTkxNV9FTkdJTkVfQ0xBU1NfT1RIRVIgPSAwLAor CUk5MTVfRU5HSU5FX0NMQVNTX1JFTkRFUiA9IDEsCisJSTkxNV9FTkdJTkVfQ0xBU1NfQ09QWSA9 IDIsCisJSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8gPSAzLAorCUk5MTVfRU5HSU5FX0NMQVNTX1ZJ REVPX0VOSEFOQ0UgPSA0LAorCUk5MTVfRU5HSU5FX0NMQVNTX01BWCAvKiBub24tQUJJICovCit9 OworCitlbnVtIGRybV9pOTE1X3BtdV9lbmdpbmVfc2FtcGxlIHsKKwlJOTE1X1NBTVBMRV9CVVNZ ID0gMCwKKwlJOTE1X1NBTVBMRV9XQUlUID0gMSwKKwlJOTE1X1NBTVBMRV9TRU1BID0gMiwKKwlJ OTE1X0VOR0lORV9TQU1QTEVfTUFYIC8qIG5vbi1BQkkgKi8KK307CiAKLSNkZWZpbmUgSTkxNV9T QU1QTEVfUkNTCQkwCi0jZGVmaW5lIEk5MTVfU0FNUExFX1ZDUwkJMQotI2RlZmluZSBJOTE1X1NB TVBMRV9CQ1MJCTIKLSNkZWZpbmUgSTkxNV9TQU1QTEVfVkVDUwkzCisjZGVmaW5lIEk5MTVfUE1V X1NBTVBMRV9CSVRTICg0KQorI2RlZmluZSBJOTE1X1BNVV9TQU1QTEVfTUFTSyAoMHhmKQorI2Rl ZmluZSBJOTE1X1BNVV9TQU1QTEVfSU5TVEFOQ0VfQklUUyAoOCkKKyNkZWZpbmUgSTkxNV9QTVVf Q0xBU1NfU0hJRlQgXAorCShJOTE1X1BNVV9TQU1QTEVfQklUUyArIEk5MTVfUE1VX1NBTVBMRV9J TlNUQU5DRV9CSVRTKQogCi0jZGVmaW5lIF9fSTkxNV9QRVJGX0NPVU5UKHJpbmcsIGlkKSAoKHJp bmcpIDw8IDQgfCAoaWQpKQorI2RlZmluZSBfX0k5MTVfUE1VX0VOR0lORShjbGFzcywgaW5zdGFu Y2UsIHNhbXBsZSkgXAorCSgoY2xhc3MpIDw8IEk5MTVfUE1VX0NMQVNTX1NISUZUIHwgXAorCShp bnN0YW5jZSkgPDwgSTkxNV9QTVVfU0FNUExFX0JJVFMgfCBcCisJKHNhbXBsZSkpCiAKLSNkZWZp bmUgSTkxNV9QRVJGX0NPVU5UX1JDU19CVVNZIF9fSTkxNV9QRVJGX0NPVU5UKEk5MTVfU0FNUExF X1JDUywgSTkxNV9TQU1QTEVfQlVTWSkKLSNkZWZpbmUgSTkxNV9QRVJGX0NPVU5UX1JDU19XQUlU IF9fSTkxNV9QRVJGX0NPVU5UKEk5MTVfU0FNUExFX1JDUywgSTkxNV9TQU1QTEVfV0FJVCkKLSNk ZWZpbmUgSTkxNV9QRVJGX0NPVU5UX1JDU19TRU1BIF9fSTkxNV9QRVJGX0NPVU5UKEk5MTVfU0FN UExFX1JDUywgSTkxNV9TQU1QTEVfU0VNQSkKKyNkZWZpbmUgSTkxNV9QTVVfRU5HSU5FX0JVU1ko Y2xhc3MsIGluc3RhbmNlKSBcCisJX19JOTE1X1BNVV9FTkdJTkUoY2xhc3MsIGluc3RhbmNlLCBJ OTE1X1NBTVBMRV9CVVNZKQogCi0jZGVmaW5lIEk5MTVfUEVSRl9DT1VOVF9WQ1NfQlVTWSBfX0k5 MTVfUEVSRl9DT1VOVChJOTE1X1NBTVBMRV9WQ1MsIEk5MTVfU0FNUExFX0JVU1kpCi0jZGVmaW5l IEk5MTVfUEVSRl9DT1VOVF9WQ1NfV0FJVCBfX0k5MTVfUEVSRl9DT1VOVChJOTE1X1NBTVBMRV9W Q1MsIEk5MTVfU0FNUExFX1dBSVQpCi0jZGVmaW5lIEk5MTVfUEVSRl9DT1VOVF9WQ1NfU0VNQSBf X0k5MTVfUEVSRl9DT1VOVChJOTE1X1NBTVBMRV9WQ1MsIEk5MTVfU0FNUExFX1NFTUEpCisjZGVm aW5lIEk5MTVfUE1VX0VOR0lORV9XQUlUKGNsYXNzLCBpbnN0YW5jZSkgXAorCV9fSTkxNV9QTVVf RU5HSU5FKGNsYXNzLCBpbnN0YW5jZSwgSTkxNV9TQU1QTEVfV0FJVCkKIAotI2RlZmluZSBJOTE1 X1BFUkZfQ09VTlRfQkNTX0JVU1kgX19JOTE1X1BFUkZfQ09VTlQoSTkxNV9TQU1QTEVfQkNTLCBJ OTE1X1NBTVBMRV9CVVNZKQotI2RlZmluZSBJOTE1X1BFUkZfQ09VTlRfQkNTX1dBSVQgX19JOTE1 X1BFUkZfQ09VTlQoSTkxNV9TQU1QTEVfQkNTLCBJOTE1X1NBTVBMRV9XQUlUKQotI2RlZmluZSBJ OTE1X1BFUkZfQ09VTlRfQkNTX1NFTUEgX19JOTE1X1BFUkZfQ09VTlQoSTkxNV9TQU1QTEVfQkNT LCBJOTE1X1NBTVBMRV9TRU1BKQorI2RlZmluZSBJOTE1X1BNVV9FTkdJTkVfU0VNQShjbGFzcywg aW5zdGFuY2UpIFwKKwlfX0k5MTVfUE1VX0VOR0lORShjbGFzcywgaW5zdGFuY2UsIEk5MTVfU0FN UExFX1NFTUEpCiAKLSNkZWZpbmUgSTkxNV9QRVJGX0NPVU5UX1ZFQ1NfQlVTWSBfX0k5MTVfUEVS Rl9DT1VOVChJOTE1X1NBTVBMRV9WRUNTLCBJOTE1X1NBTVBMRV9CVVNZKQotI2RlZmluZSBJOTE1 X1BFUkZfQ09VTlRfVkVDU19XQUlUIF9fSTkxNV9QRVJGX0NPVU5UKEk5MTVfU0FNUExFX1ZFQ1Ms IEk5MTVfU0FNUExFX1dBSVQpCi0jZGVmaW5lIEk5MTVfUEVSRl9DT1VOVF9WRUNTX1NFTUEgX19J OTE1X1BFUkZfQ09VTlQoSTkxNV9TQU1QTEVfVkVDUywgSTkxNV9TQU1QTEVfU0VNQSkKKyNkZWZp bmUgX19JOTE1X1BNVV9PVEhFUih4KSAoX19JOTE1X1BNVV9FTkdJTkUoMHhmZiwgMHhmZiwgMHhm KSArIDEgKyAoeCkpCiAKLSNkZWZpbmUgSTkxNV9QRVJGX0FDVFVBTF9GUkVRVUVOQ1kgMzIKLSNk ZWZpbmUgSTkxNV9QRVJGX1JFUVVFU1RFRF9GUkVRVUVOQ1kgMzMKLSNkZWZpbmUgSTkxNV9QRVJG X0VORVJHWSAzNAotI2RlZmluZSBJOTE1X1BFUkZfSU5URVJSVVBUUyAzNQorI2RlZmluZSBJOTE1 X1BNVV9BQ1RVQUxfRlJFUVVFTkNZCV9fSTkxNV9QTVVfT1RIRVIoMCkKKyNkZWZpbmUgSTkxNV9Q TVVfUkVRVUVTVEVEX0ZSRVFVRU5DWQlfX0k5MTVfUE1VX09USEVSKDEpCisjZGVmaW5lIEk5MTVf UE1VX0lOVEVSUlVQVFMJCV9fSTkxNV9QTVVfT1RIRVIoMikKKyNkZWZpbmUgSTkxNV9QTVVfUkM2 X1JFU0lERU5DWQkJX19JOTE1X1BNVV9PVEhFUigzKQorI2RlZmluZSBJOTE1X1BNVV9SQzZwX1JF U0lERU5DWQkJX19JOTE1X1BNVV9PVEhFUig0KQorI2RlZmluZSBJOTE1X1BNVV9SQzZwcF9SRVNJ REVOQ1kJX19JOTE1X1BNVV9PVEhFUig1KQogCi0jZGVmaW5lIEk5MTVfUEVSRl9SQzZfUkVTSURF TkNZCQk0MAotI2RlZmluZSBJOTE1X1BFUkZfUkM2cF9SRVNJREVOQ1kJNDEKLSNkZWZpbmUgSTkx NV9QRVJGX1JDNnBwX1JFU0lERU5DWQk0MgorI2RlZmluZSBJOTE1X1BNVV9MQVNUIEk5MTVfUE1V X1JDNnBwX1JFU0lERU5DWQogCiBzdGF0aWMgaW5saW5lIGludAogcGVyZl9ldmVudF9vcGVuKHN0 cnVjdCBwZXJmX2V2ZW50X2F0dHIgKmF0dHIsCmRpZmYgLS1naXQgYS9vdmVybGF5L2dlbS1pbnRl cnJ1cHRzLmMgYi9vdmVybGF5L2dlbS1pbnRlcnJ1cHRzLmMKaW5kZXggM2VkYTI0ZjRkN2ViLi5h ZGQ0YTlkZmQ3MjUgMTAwNjQ0Ci0tLSBhL292ZXJsYXkvZ2VtLWludGVycnVwdHMuYworKysgYi9v dmVybGF5L2dlbS1pbnRlcnJ1cHRzLmMKQEAgLTExMyw3ICsxMTMsNyBAQCBpbnQgZ2VtX2ludGVy cnVwdHNfaW5pdChzdHJ1Y3QgZ2VtX2ludGVycnVwdHMgKmlycXMpCiB7CiAJbWVtc2V0KGlycXMs IDAsIHNpemVvZigqaXJxcykpOwogCi0JaXJxcy0+ZmQgPSBwZXJmX2k5MTVfb3BlbihJOTE1X1BF UkZfSU5URVJSVVBUUyk7CisJaXJxcy0+ZmQgPSBwZXJmX2k5MTVfb3BlbihJOTE1X1BNVV9JTlRF UlJVUFRTKTsKIAlpZiAoaXJxcy0+ZmQgPCAwICYmIGludGVycnVwdHNfcmVhZCgpIDwgMCkKIAkJ aXJxcy0+ZXJyb3IgPSBFTk9ERVY7CiAKZGlmZiAtLWdpdCBhL292ZXJsYXkvZ3B1LWZyZXEuYyBi L292ZXJsYXkvZ3B1LWZyZXEuYwppbmRleCA3NmM1ZWQ5YWNmZDEuLjBkODAzMjU5MmVmNSAxMDA2 NDQKLS0tIGEvb3ZlcmxheS9ncHUtZnJlcS5jCisrKyBiL292ZXJsYXkvZ3B1LWZyZXEuYwpAQCAt MzcsOCArMzcsOCBAQCBzdGF0aWMgaW50IHBlcmZfb3Blbih2b2lkKQogewogCWludCBmZDsKIAot CWZkID0gcGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QRVJGX0FDVFVBTF9GUkVRVUVOQ1ksIC0x KTsKLQlpZiAocGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QRVJGX1JFUVVFU1RFRF9GUkVRVUVO Q1ksIGZkKSA8IDApIHsKKwlmZCA9IHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5MTVfUE1VX0FDVFVB TF9GUkVRVUVOQ1ksIC0xKTsKKwlpZiAocGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QTVVfUkVR VUVTVEVEX0ZSRVFVRU5DWSwgZmQpIDwgMCkgewogCQljbG9zZShmZCk7CiAJCWZkID0gLTE7CiAJ fQpAQCAtMTc2LDggKzE3Niw4IEBAIGludCBncHVfZnJlcV91cGRhdGUoc3RydWN0IGdwdV9mcmVx ICpnZikKIAkJCXJldHVybiBFQUdBSU47CiAJCX0KIAotCQlnZi0+Y3VycmVudCA9IChzLT5hY3Qg LSBkLT5hY3QpIC8gZF90aW1lOwotCQlnZi0+cmVxdWVzdCA9IChzLT5yZXEgLSBkLT5yZXEpIC8g ZF90aW1lOworCQlnZi0+Y3VycmVudCA9IChzLT5hY3QgLSBkLT5hY3QpICogMWU5IC8gZF90aW1l OworCQlnZi0+cmVxdWVzdCA9IChzLT5yZXEgLSBkLT5yZXEpICogMWU5IC8gZF90aW1lOwogCX0K IAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvb3ZlcmxheS9ncHUtdG9wLmMgYi9vdmVybGF5L2dw dS10b3AuYwppbmRleCA4MTJmNDdkNWFjZWQuLjYxYjhmNjJmZDc4YyAxMDA2NDQKLS0tIGEvb3Zl cmxheS9ncHUtdG9wLmMKKysrIGIvb3ZlcmxheS9ncHUtdG9wLmMKQEAgLTQzLDQ5ICs0Myw1NyBA QAogI2RlZmluZSAgIFJJTkdfV0FJVAkJKDE8PDExKQogI2RlZmluZSAgIFJJTkdfV0FJVF9TRU1B UEhPUkUJKDE8PDEwKQogCi0jZGVmaW5lIF9fSTkxNV9QRVJGX1JJTkcobikgKDQqbikKLSNkZWZp bmUgSTkxNV9QRVJGX1JJTkdfQlVTWShuKSAoX19JOTE1X1BFUkZfUklORyhuKSArIDApCi0jZGVm aW5lIEk5MTVfUEVSRl9SSU5HX1dBSVQobikgKF9fSTkxNV9QRVJGX1JJTkcobikgKyAxKQotI2Rl ZmluZSBJOTE1X1BFUkZfUklOR19TRU1BKG4pIChfX0k5MTVfUEVSRl9SSU5HKG4pICsgMikKLQog c3RhdGljIGludCBwZXJmX2luaXQoc3RydWN0IGdwdV90b3AgKmd0KQogewotCWNvbnN0IGNoYXIg Km5hbWVzW10gPSB7Ci0JCSJSQ1MiLAotCQkiQkNTIiwKLQkJIlZDUzAiLAotCQkiVkNTMSIsCi0J CU5VTEwsCisJc3RydWN0IGVuZ2luZV9kZXNjIHsKKwkJdW5zaWduZWQgY2xhc3MsIGluc3Q7CisJ CWNvbnN0IGNoYXIgKm5hbWU7CisJfSAqZCwgZW5naW5lc1tdID0geworCQl7IEk5MTVfRU5HSU5F X0NMQVNTX1JFTkRFUiwgMCwgInJjczAiIH0sCisJCXsgSTkxNV9FTkdJTkVfQ0xBU1NfQ09QWSwg MCwgImJjczAiIH0sCisJCXsgSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8sIDAsICJ2Y3MwIiB9LAor CQl7IEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVPLCAxLCAidmNzMSIgfSwKKwkJeyBJOTE1X0VOR0lO RV9DTEFTU19WSURFT19FTkhBTkNFLCAwLCAidmVjczAiIH0sCisJCXsgMCwgMCwgTlVMTCB9CiAJ fTsKLQlpbnQgbjsKIAotCWd0LT5mZCA9IHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5MTVfUEVSRl9S SU5HX0JVU1koMCksIC0xKTsKKwlkID0gJmVuZ2luZXNbMF07CisKKwlndC0+ZmQgPSBwZXJmX2k5 MTVfb3Blbl9ncm91cChJOTE1X1BNVV9FTkdJTkVfQlVTWShkLT5jbGFzcywgZC0+aW5zdCksCisJ CQkJICAgICAgLTEpOwogCWlmIChndC0+ZmQgPCAwKQogCQlyZXR1cm4gLTE7CiAKLQlpZiAocGVy Zl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QRVJGX1JJTkdfV0FJVCgwKSwgZ3QtPmZkKSA+PSAwKQor CWlmIChwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BNVV9FTkdJTkVfV0FJVChkLT5jbGFzcywg ZC0+aW5zdCksCisJCQkJIGd0LT5mZCkgPj0gMCkKIAkJZ3QtPmhhdmVfd2FpdCA9IDE7CiAKLQlp ZiAocGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QRVJGX1JJTkdfU0VNQSgwKSwgZ3QtPmZkKSA+ PSAwKQorCWlmIChwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BNVV9FTkdJTkVfU0VNQShkLT5j bGFzcywgZC0+aW5zdCksCisJCQkJIGd0LT5mZCkgPj0gMCkKIAkJZ3QtPmhhdmVfc2VtYSA9IDE7 CiAKLQlndC0+cmluZ1swXS5uYW1lID0gbmFtZXNbMF07CisJZ3QtPnJpbmdbMF0ubmFtZSA9IGQt Pm5hbWU7CiAJZ3QtPm51bV9yaW5ncyA9IDE7CiAKLQlmb3IgKG4gPSAxOyBuYW1lc1tuXTsgbisr KSB7Ci0JCWlmIChwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BFUkZfUklOR19CVVNZKG4pLCBn dC0+ZmQpID49IDApIHsKLQkJCWlmIChndC0+aGF2ZV93YWl0ICYmCi0JCQkgICAgcGVyZl9pOTE1 X29wZW5fZ3JvdXAoSTkxNV9QRVJGX1JJTkdfV0FJVChuKSwKLQkJCQkJCSBndC0+ZmQpIDwgMCkK LQkJCQlyZXR1cm4gLTE7Ci0KLQkJCWlmIChndC0+aGF2ZV9zZW1hICYmCi0JCQkgICAgcGVyZl9p OTE1X29wZW5fZ3JvdXAoSTkxNV9QRVJGX1JJTkdfU0VNQShuKSwKLQkJCQkJCSBndC0+ZmQpIDwg MCkKLQkJCQlyZXR1cm4gLTE7Ci0KLQkJCWd0LT5yaW5nW2d0LT5udW1fcmluZ3MrK10ubmFtZSA9 IG5hbWVzW25dOwotCQl9CisJZm9yIChkKys7IGQtPm5hbWU7IGQrKykgeworCQlpZiAocGVyZl9p OTE1X29wZW5fZ3JvdXAoSTkxNV9QTVVfRU5HSU5FX0JVU1koZC0+Y2xhc3MsCisJCQkJCQkJICAg ICAgZC0+aW5zdCksCisJCQkJCWd0LT5mZCkgPCAwKQorCQkJY29udGludWU7CisKKwkJaWYgKGd0 LT5oYXZlX3dhaXQgJiYKKwkJICAgIHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5MTVfUE1VX0VOR0lO RV9XQUlUKGQtPmNsYXNzLAorCQkJCQkJCSAgICAgIGQtPmluc3QpLAorCQkJCQkgZ3QtPmZkKSA8 IDApCisJCQlyZXR1cm4gLTE7CisKKwkJaWYgKGd0LT5oYXZlX3NlbWEgJiYKKwkJICAgIHBlcmZf aTkxNV9vcGVuX2dyb3VwKEk5MTVfUE1VX0VOR0lORV9TRU1BKGQtPmNsYXNzLAorCQkJCQkJCSAg ICAgIGQtPmluc3QpLAorCQkJCSAgIGd0LT5mZCkgPCAwKQorCQkJcmV0dXJuIC0xOworCisJCWd0 LT5yaW5nW2d0LT5udW1fcmluZ3MrK10ubmFtZSA9IGQtPm5hbWU7CiAJfQogCiAJcmV0dXJuIDA7 CmRpZmYgLS1naXQgYS9vdmVybGF5L3Bvd2VyLmMgYi9vdmVybGF5L3Bvd2VyLmMKaW5kZXggZGQ0 YWVjNmJmZmQ5Li44MDVmNGNhNzgwNWMgMTAwNjQ0Ci0tLSBhL292ZXJsYXkvcG93ZXIuYworKysg Yi9vdmVybGF5L3Bvd2VyLmMKQEAgLTQ1LDkgKzQ1LDcgQEAgaW50IHBvd2VyX2luaXQoc3RydWN0 IHBvd2VyICpwb3dlcikKIAogCW1lbXNldChwb3dlciwgMCwgc2l6ZW9mKCpwb3dlcikpOwogCi0J cG93ZXItPmZkID0gcGVyZl9pOTE1X29wZW4oSTkxNV9QRVJGX0VORVJHWSk7Ci0JaWYgKHBvd2Vy LT5mZCAhPSAtMSkKLQkJcmV0dXJuIDA7CisJcG93ZXItPmZkID0gLTE7CiAKIAlzcHJpbnRmKGJ1 ZiwgIiVzL2k5MTVfZW5lcmd5X3VKIiwgZGVidWdmc19kcmlfcGF0aCk7CiAJZmQgPSBvcGVuKGJ1 ZiwgMCk7CmRpZmYgLS1naXQgYS9vdmVybGF5L3JjNi5jIGIvb3ZlcmxheS9yYzYuYwppbmRleCA0 NmM5NzVhNTU3ZmYuLjg5NzdmMDk5MzA5NSAxMDA2NDQKLS0tIGEvb3ZlcmxheS9yYzYuYworKysg Yi9vdmVybGF5L3JjNi5jCkBAIC00MywxNSArNDMsMTUgQEAgc3RhdGljIGludCBwZXJmX29wZW4o dW5zaWduZWQgKmZsYWdzKQogewogCWludCBmZDsKIAotCWZkID0gcGVyZl9pOTE1X29wZW5fZ3Jv dXAoSTkxNV9QRVJGX1JDNl9SRVNJREVOQ1ksIC0xKTsKKwlmZCA9IHBlcmZfaTkxNV9vcGVuX2dy b3VwKEk5MTVfUE1VX1JDNl9SRVNJREVOQ1ksIC0xKTsKIAlpZiAoZmQgPCAwKQogCQlyZXR1cm4g LTE7CiAKIAkqZmxhZ3MgfD0gUkM2OwotCWlmIChwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BF UkZfUkM2cF9SRVNJREVOQ1ksIGZkKSA+PSAwKQorCWlmIChwZXJmX2k5MTVfb3Blbl9ncm91cChJ OTE1X1BNVV9SQzZwX1JFU0lERU5DWSwgZmQpID49IDApCiAJCSpmbGFncyB8PSBSQzZwOwogCi0J aWYgKHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5MTVfUEVSRl9SQzZwcF9SRVNJREVOQ1ksIGZkKSA+ PSAwKQorCWlmIChwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BNVV9SQzZwcF9SRVNJREVOQ1ks IGZkKSA+PSAwKQogCQkqZmxhZ3MgfD0gUkM2cHA7CiAKIAlyZXR1cm4gZmQ7CkBAIC0xMzIsMTEg KzEzMiwxMSBAQCBpbnQgcmM2X3VwZGF0ZShzdHJ1Y3QgcmM2ICpyYzYpCiAKIAkJbGVuID0gMjsK IAkJaWYgKHJjNi0+ZmxhZ3MgJiBSQzYpCi0JCQlzLT5yYzZfcmVzaWRlbmN5ID0gZGF0YVtsZW4r K107CisJCQlzLT5yYzZfcmVzaWRlbmN5ID0gZGF0YVtsZW4rK10gLyAxZTY7CiAJCWlmIChyYzYt PmZsYWdzICYgUkM2cCkKLQkJCXMtPnJjNnBfcmVzaWRlbmN5ID0gZGF0YVtsZW4rK107CisJCQlz LT5yYzZwX3Jlc2lkZW5jeSA9IGRhdGFbbGVuKytdIC8gMWU2OwogCQlpZiAocmM2LT5mbGFncyAm IFJDNnBwKQotCQkJcy0+cmM2cHBfcmVzaWRlbmN5ID0gZGF0YVtsZW4rK107CisJCQlzLT5yYzZw cF9yZXNpZGVuY3kgPSBkYXRhW2xlbisrXSAvIDFlNjsKIAl9CiAKIAlpZiAocmM2LT5jb3VudCA9 PSAxKQpAQCAtMTQ5LDE0ICsxNDksMTQgQEAgaW50IHJjNl91cGRhdGUoc3RydWN0IHJjNiAqcmM2 KQogCX0KIAogCWRfcmM2ID0gcy0+cmM2X3Jlc2lkZW5jeSAtIGQtPnJjNl9yZXNpZGVuY3k7Ci0J cmM2LT5yYzYgPSAoMTAwICogZF9yYzYgKyBkX3RpbWUvMikgLyBkX3RpbWU7CisJcmM2LT5yYzYg PSAxMDAgKiBkX3JjNiAvIGRfdGltZTsKIAogCWRfcmM2cCA9IHMtPnJjNnBfcmVzaWRlbmN5IC0g ZC0+cmM2cF9yZXNpZGVuY3k7Ci0JcmM2LT5yYzZwID0gKDEwMCAqIGRfcmM2cCArIGRfdGltZS8y KSAvIGRfdGltZTsKKwlyYzYtPnJjNnAgPSAxMDAgKiBkX3JjNnAgLyBkX3RpbWU7CiAKIAlkX3Jj NnBwID0gcy0+cmM2cHBfcmVzaWRlbmN5IC0gZC0+cmM2cHBfcmVzaWRlbmN5OwotCXJjNi0+cmM2 cHAgPSAoMTAwICogZF9yYzZwcCArIGRfdGltZS8yKSAvIGRfdGltZTsKKwlyYzYtPnJjNnBwID0g MTAwICogZF9yYzZwcCAvIGRfdGltZTsKIAotCXJjNi0+cmM2X2NvbWJpbmVkID0gKDEwMCAqIChk X3JjNiArIGRfcmM2cCArIGRfcmM2cHApICsgZF90aW1lLzIpIC8gZF90aW1lOworCXJjNi0+cmM2 X2NvbWJpbmVkID0gMTAwICogKGRfcmM2ICsgZF9yYzZwICsgZF9yYzZwcCkgLyBkX3RpbWU7CiAJ cmV0dXJuIDA7CiB9Ci0tIAoyLjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==