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: Fri, 29 Sep 2017 13:39:36 +0100 Message-ID: <20170929123939.3312-5-tvrtko.ursulin@linux.intel.com> References: <20170929123939.3312-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 D29896EB01 for ; Fri, 29 Sep 2017 12:39:51 +0000 (UTC) Received: by mail-wr0-x241.google.com with SMTP id 97so1214109wrb.0 for ; Fri, 29 Sep 2017 05:39:51 -0700 (PDT) In-Reply-To: <20170929123939.3312-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 dGUgZm9yIGk5MTUgY2hhbmdlcy4KClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0 a28udXJzdWxpbkBpbnRlbC5jb20+Ci0tLQogbGliL2lndF9wZXJmLmggICAgICAgICAgIHwgODkg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiBvdmVybGF5 L2dlbS1pbnRlcnJ1cHRzLmMgfCAgMiArLQogb3ZlcmxheS9ncHUtZnJlcS5jICAgICAgIHwgIDgg KystLS0KIG92ZXJsYXkvZ3B1LXRvcC5jICAgICAgICB8IDY4ICsrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLQogb3ZlcmxheS9wb3dlci5jICAgICAgICAgIHwgIDQgKy0tCiBvdmVy bGF5L3JjNi5jICAgICAgICAgICAgfCAyMCArKysrKy0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCAx MTYgaW5zZXJ0aW9ucygrKSwgNzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9w ZXJmLmggYi9saWIvaWd0X3BlcmYuaAppbmRleCA4ZTY3NGMzYTM3NTUuLmUzODE3MWRhNTI2MSAx MDA2NDQKLS0tIGEvbGliL2lndF9wZXJmLmgKKysrIGIvbGliL2lndF9wZXJmLmgKQEAgLTEsMyAr MSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE3IEludGVsIENvcnBvcmF0aW9uCisgKgor ICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw ZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRl ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRo ZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0 aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwg ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29m dHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMg ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoK KyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v dGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVk IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2Fy ZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS QU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8g RVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM RSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIg SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICog RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVT RSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqLworCiAjaWZu ZGVmIEk5MTVfUEVSRl9ICiAjZGVmaW5lIEk5MTVfUEVSRl9ICiAKQEAgLTUsNDEgKzI5LDUyIEBA CiAKICNpbmNsdWRlIDxsaW51eC9wZXJmX2V2ZW50Lmg+CiAKLSNkZWZpbmUgSTkxNV9TQU1QTEVf QlVTWQkwCi0jZGVmaW5lIEk5MTVfU0FNUExFX1dBSVQJMQotI2RlZmluZSBJOTE1X1NBTVBMRV9T RU1BCTIKK2VudW0gZHJtX2k5MTVfZ2VtX2VuZ2luZV9jbGFzcyB7CisJSTkxNV9FTkdJTkVfQ0xB U1NfT1RIRVIgPSAwLAorCUk5MTVfRU5HSU5FX0NMQVNTX1JFTkRFUiA9IDEsCisJSTkxNV9FTkdJ TkVfQ0xBU1NfQ09QWSA9IDIsCisJSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8gPSAzLAorCUk5MTVf RU5HSU5FX0NMQVNTX1ZJREVPX0VOSEFOQ0UgPSA0LAorCUk5MTVfRU5HSU5FX0NMQVNTX01BWCAv KiBub24tQUJJICovCit9OworCitlbnVtIGRybV9pOTE1X3BtdV9lbmdpbmVfc2FtcGxlIHsKKwlJ OTE1X1NBTVBMRV9CVVNZID0gMCwKKwlJOTE1X1NBTVBMRV9XQUlUID0gMSwKKwlJOTE1X1NBTVBM RV9TRU1BID0gMiwKKwlJOTE1X0VOR0lORV9TQU1QTEVfTUFYIC8qIG5vbi1BQkkgKi8KK307CiAK LSNkZWZpbmUgSTkxNV9TQU1QTEVfUkNTCQkwCi0jZGVmaW5lIEk5MTVfU0FNUExFX1ZDUwkJMQot I2RlZmluZSBJOTE1X1NBTVBMRV9CQ1MJCTIKLSNkZWZpbmUgSTkxNV9TQU1QTEVfVkVDUwkzCisj ZGVmaW5lIEk5MTVfUE1VX1NBTVBMRV9CSVRTICg0KQorI2RlZmluZSBJOTE1X1BNVV9TQU1QTEVf TUFTSyAoMHhmKQorI2RlZmluZSBJOTE1X1BNVV9TQU1QTEVfSU5TVEFOQ0VfQklUUyAoOCkKKyNk ZWZpbmUgSTkxNV9QTVVfQ0xBU1NfU0hJRlQgXAorCShJOTE1X1BNVV9TQU1QTEVfQklUUyArIEk5 MTVfUE1VX1NBTVBMRV9JTlNUQU5DRV9CSVRTKQogCi0jZGVmaW5lIF9fSTkxNV9QRVJGX0NPVU5U KHJpbmcsIGlkKSAoKHJpbmcpIDw8IDQgfCAoaWQpKQorI2RlZmluZSBfX0k5MTVfUE1VX0VOR0lO RShjbGFzcywgaW5zdGFuY2UsIHNhbXBsZSkgXAorCSgoY2xhc3MpIDw8IEk5MTVfUE1VX0NMQVNT X1NISUZUIHwgXAorCShpbnN0YW5jZSkgPDwgSTkxNV9QTVVfU0FNUExFX0JJVFMgfCBcCisJKHNh bXBsZSkpCiAKLSNkZWZpbmUgSTkxNV9QRVJGX0NPVU5UX1JDU19CVVNZIF9fSTkxNV9QRVJGX0NP VU5UKEk5MTVfU0FNUExFX1JDUywgSTkxNV9TQU1QTEVfQlVTWSkKLSNkZWZpbmUgSTkxNV9QRVJG X0NPVU5UX1JDU19XQUlUIF9fSTkxNV9QRVJGX0NPVU5UKEk5MTVfU0FNUExFX1JDUywgSTkxNV9T QU1QTEVfV0FJVCkKLSNkZWZpbmUgSTkxNV9QRVJGX0NPVU5UX1JDU19TRU1BIF9fSTkxNV9QRVJG X0NPVU5UKEk5MTVfU0FNUExFX1JDUywgSTkxNV9TQU1QTEVfU0VNQSkKKyNkZWZpbmUgSTkxNV9Q TVVfRU5HSU5FX0JVU1koY2xhc3MsIGluc3RhbmNlKSBcCisJX19JOTE1X1BNVV9FTkdJTkUoY2xh c3MsIGluc3RhbmNlLCBJOTE1X1NBTVBMRV9CVVNZKQogCi0jZGVmaW5lIEk5MTVfUEVSRl9DT1VO VF9WQ1NfQlVTWSBfX0k5MTVfUEVSRl9DT1VOVChJOTE1X1NBTVBMRV9WQ1MsIEk5MTVfU0FNUExF X0JVU1kpCi0jZGVmaW5lIEk5MTVfUEVSRl9DT1VOVF9WQ1NfV0FJVCBfX0k5MTVfUEVSRl9DT1VO VChJOTE1X1NBTVBMRV9WQ1MsIEk5MTVfU0FNUExFX1dBSVQpCi0jZGVmaW5lIEk5MTVfUEVSRl9D T1VOVF9WQ1NfU0VNQSBfX0k5MTVfUEVSRl9DT1VOVChJOTE1X1NBTVBMRV9WQ1MsIEk5MTVfU0FN UExFX1NFTUEpCisjZGVmaW5lIEk5MTVfUE1VX0VOR0lORV9XQUlUKGNsYXNzLCBpbnN0YW5jZSkg XAorCV9fSTkxNV9QTVVfRU5HSU5FKGNsYXNzLCBpbnN0YW5jZSwgSTkxNV9TQU1QTEVfV0FJVCkK IAotI2RlZmluZSBJOTE1X1BFUkZfQ09VTlRfQkNTX0JVU1kgX19JOTE1X1BFUkZfQ09VTlQoSTkx NV9TQU1QTEVfQkNTLCBJOTE1X1NBTVBMRV9CVVNZKQotI2RlZmluZSBJOTE1X1BFUkZfQ09VTlRf QkNTX1dBSVQgX19JOTE1X1BFUkZfQ09VTlQoSTkxNV9TQU1QTEVfQkNTLCBJOTE1X1NBTVBMRV9X QUlUKQotI2RlZmluZSBJOTE1X1BFUkZfQ09VTlRfQkNTX1NFTUEgX19JOTE1X1BFUkZfQ09VTlQo STkxNV9TQU1QTEVfQkNTLCBJOTE1X1NBTVBMRV9TRU1BKQorI2RlZmluZSBJOTE1X1BNVV9FTkdJ TkVfU0VNQShjbGFzcywgaW5zdGFuY2UpIFwKKwlfX0k5MTVfUE1VX0VOR0lORShjbGFzcywgaW5z dGFuY2UsIEk5MTVfU0FNUExFX1NFTUEpCiAKLSNkZWZpbmUgSTkxNV9QRVJGX0NPVU5UX1ZFQ1Nf QlVTWSBfX0k5MTVfUEVSRl9DT1VOVChJOTE1X1NBTVBMRV9WRUNTLCBJOTE1X1NBTVBMRV9CVVNZ KQotI2RlZmluZSBJOTE1X1BFUkZfQ09VTlRfVkVDU19XQUlUIF9fSTkxNV9QRVJGX0NPVU5UKEk5 MTVfU0FNUExFX1ZFQ1MsIEk5MTVfU0FNUExFX1dBSVQpCi0jZGVmaW5lIEk5MTVfUEVSRl9DT1VO VF9WRUNTX1NFTUEgX19JOTE1X1BFUkZfQ09VTlQoSTkxNV9TQU1QTEVfVkVDUywgSTkxNV9TQU1Q TEVfU0VNQSkKKyNkZWZpbmUgX19JOTE1X1BNVV9PVEhFUih4KSAoX19JOTE1X1BNVV9FTkdJTkUo MHhmZiwgMHhmZiwgMHhmKSArIDEgKyAoeCkpCiAKLSNkZWZpbmUgSTkxNV9QRVJGX0FDVFVBTF9G UkVRVUVOQ1kgMzIKLSNkZWZpbmUgSTkxNV9QRVJGX1JFUVVFU1RFRF9GUkVRVUVOQ1kgMzMKLSNk ZWZpbmUgSTkxNV9QRVJGX0VORVJHWSAzNAotI2RlZmluZSBJOTE1X1BFUkZfSU5URVJSVVBUUyAz NQorI2RlZmluZSBJOTE1X1BNVV9BQ1RVQUxfRlJFUVVFTkNZCV9fSTkxNV9QTVVfT1RIRVIoMCkK KyNkZWZpbmUgSTkxNV9QTVVfUkVRVUVTVEVEX0ZSRVFVRU5DWQlfX0k5MTVfUE1VX09USEVSKDEp CisjZGVmaW5lIEk5MTVfUE1VX0lOVEVSUlVQVFMJCV9fSTkxNV9QTVVfT1RIRVIoMikKKyNkZWZp bmUgSTkxNV9QTVVfUkM2X1JFU0lERU5DWQkJX19JOTE1X1BNVV9PVEhFUigzKQorI2RlZmluZSBJ OTE1X1BNVV9SQzZwX1JFU0lERU5DWQkJX19JOTE1X1BNVV9PVEhFUig0KQorI2RlZmluZSBJOTE1 X1BNVV9SQzZwcF9SRVNJREVOQ1kJX19JOTE1X1BNVV9PVEhFUig1KQogCi0jZGVmaW5lIEk5MTVf UEVSRl9SQzZfUkVTSURFTkNZCQk0MAotI2RlZmluZSBJOTE1X1BFUkZfUkM2cF9SRVNJREVOQ1kJ NDEKLSNkZWZpbmUgSTkxNV9QRVJGX1JDNnBwX1JFU0lERU5DWQk0MgorI2RlZmluZSBJOTE1X1BN VV9MQVNUIEk5MTVfUE1VX1JDNnBwX1JFU0lERU5DWQogCiBzdGF0aWMgaW5saW5lIGludAogcGVy Zl9ldmVudF9vcGVuKHN0cnVjdCBwZXJmX2V2ZW50X2F0dHIgKmF0dHIsCmRpZmYgLS1naXQgYS9v dmVybGF5L2dlbS1pbnRlcnJ1cHRzLmMgYi9vdmVybGF5L2dlbS1pbnRlcnJ1cHRzLmMKaW5kZXgg M2VkYTI0ZjRkN2ViLi5hZGQ0YTlkZmQ3MjUgMTAwNjQ0Ci0tLSBhL292ZXJsYXkvZ2VtLWludGVy cnVwdHMuYworKysgYi9vdmVybGF5L2dlbS1pbnRlcnJ1cHRzLmMKQEAgLTExMyw3ICsxMTMsNyBA QCBpbnQgZ2VtX2ludGVycnVwdHNfaW5pdChzdHJ1Y3QgZ2VtX2ludGVycnVwdHMgKmlycXMpCiB7 CiAJbWVtc2V0KGlycXMsIDAsIHNpemVvZigqaXJxcykpOwogCi0JaXJxcy0+ZmQgPSBwZXJmX2k5 MTVfb3BlbihJOTE1X1BFUkZfSU5URVJSVVBUUyk7CisJaXJxcy0+ZmQgPSBwZXJmX2k5MTVfb3Bl bihJOTE1X1BNVV9JTlRFUlJVUFRTKTsKIAlpZiAoaXJxcy0+ZmQgPCAwICYmIGludGVycnVwdHNf cmVhZCgpIDwgMCkKIAkJaXJxcy0+ZXJyb3IgPSBFTk9ERVY7CiAKZGlmZiAtLWdpdCBhL292ZXJs YXkvZ3B1LWZyZXEuYyBiL292ZXJsYXkvZ3B1LWZyZXEuYwppbmRleCA3NmM1ZWQ5YWNmZDEuLjJh OGUwMmY2OGNlNSAxMDA2NDQKLS0tIGEvb3ZlcmxheS9ncHUtZnJlcS5jCisrKyBiL292ZXJsYXkv Z3B1LWZyZXEuYwpAQCAtMzcsOCArMzcsOCBAQCBzdGF0aWMgaW50IHBlcmZfb3Blbih2b2lkKQog ewogCWludCBmZDsKIAotCWZkID0gcGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QRVJGX0FDVFVB TF9GUkVRVUVOQ1ksIC0xKTsKLQlpZiAocGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QRVJGX1JF UVVFU1RFRF9GUkVRVUVOQ1ksIGZkKSA8IDApIHsKKwlmZCA9IHBlcmZfaTkxNV9vcGVuX2dyb3Vw KEk5MTVfUE1VX0FDVFVBTF9GUkVRVUVOQ1ksIC0xKTsKKwlpZiAocGVyZl9pOTE1X29wZW5fZ3Jv dXAoSTkxNV9QTVVfUkVRVUVTVEVEX0ZSRVFVRU5DWSwgZmQpIDwgMCkgewogCQljbG9zZShmZCk7 CiAJCWZkID0gLTE7CiAJfQpAQCAtMTc2LDggKzE3Niw4IEBAIGludCBncHVfZnJlcV91cGRhdGUo c3RydWN0IGdwdV9mcmVxICpnZikKIAkJCXJldHVybiBFQUdBSU47CiAJCX0KIAotCQlnZi0+Y3Vy cmVudCA9IChzLT5hY3QgLSBkLT5hY3QpIC8gZF90aW1lOwotCQlnZi0+cmVxdWVzdCA9IChzLT5y ZXEgLSBkLT5yZXEpIC8gZF90aW1lOworCQlnZi0+Y3VycmVudCA9IChzLT5hY3QgLSBkLT5hY3Qp ICogMTAwMDAwMDAwMCAvIGRfdGltZTsKKwkJZ2YtPnJlcXVlc3QgPSAocy0+cmVxIC0gZC0+cmVx KSAqIDEwMDAwMDAwMDAgLyBkX3RpbWU7CiAJfQogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9v dmVybGF5L2dwdS10b3AuYyBiL292ZXJsYXkvZ3B1LXRvcC5jCmluZGV4IDgxMmY0N2Q1YWNlZC4u NjFiOGY2MmZkNzhjIDEwMDY0NAotLS0gYS9vdmVybGF5L2dwdS10b3AuYworKysgYi9vdmVybGF5 L2dwdS10b3AuYwpAQCAtNDMsNDkgKzQzLDU3IEBACiAjZGVmaW5lICAgUklOR19XQUlUCQkoMTw8 MTEpCiAjZGVmaW5lICAgUklOR19XQUlUX1NFTUFQSE9SRQkoMTw8MTApCiAKLSNkZWZpbmUgX19J OTE1X1BFUkZfUklORyhuKSAoNCpuKQotI2RlZmluZSBJOTE1X1BFUkZfUklOR19CVVNZKG4pIChf X0k5MTVfUEVSRl9SSU5HKG4pICsgMCkKLSNkZWZpbmUgSTkxNV9QRVJGX1JJTkdfV0FJVChuKSAo X19JOTE1X1BFUkZfUklORyhuKSArIDEpCi0jZGVmaW5lIEk5MTVfUEVSRl9SSU5HX1NFTUEobikg KF9fSTkxNV9QRVJGX1JJTkcobikgKyAyKQotCiBzdGF0aWMgaW50IHBlcmZfaW5pdChzdHJ1Y3Qg Z3B1X3RvcCAqZ3QpCiB7Ci0JY29uc3QgY2hhciAqbmFtZXNbXSA9IHsKLQkJIlJDUyIsCi0JCSJC Q1MiLAotCQkiVkNTMCIsCi0JCSJWQ1MxIiwKLQkJTlVMTCwKKwlzdHJ1Y3QgZW5naW5lX2Rlc2Mg eworCQl1bnNpZ25lZCBjbGFzcywgaW5zdDsKKwkJY29uc3QgY2hhciAqbmFtZTsKKwl9ICpkLCBl bmdpbmVzW10gPSB7CisJCXsgSTkxNV9FTkdJTkVfQ0xBU1NfUkVOREVSLCAwLCAicmNzMCIgfSwK KwkJeyBJOTE1X0VOR0lORV9DTEFTU19DT1BZLCAwLCAiYmNzMCIgfSwKKwkJeyBJOTE1X0VOR0lO RV9DTEFTU19WSURFTywgMCwgInZjczAiIH0sCisJCXsgSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8s IDEsICJ2Y3MxIiB9LAorCQl7IEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVPX0VOSEFOQ0UsIDAsICJ2 ZWNzMCIgfSwKKwkJeyAwLCAwLCBOVUxMIH0KIAl9OwotCWludCBuOwogCi0JZ3QtPmZkID0gcGVy Zl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QRVJGX1JJTkdfQlVTWSgwKSwgLTEpOworCWQgPSAmZW5n aW5lc1swXTsKKworCWd0LT5mZCA9IHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5MTVfUE1VX0VOR0lO RV9CVVNZKGQtPmNsYXNzLCBkLT5pbnN0KSwKKwkJCQkgICAgICAtMSk7CiAJaWYgKGd0LT5mZCA8 IDApCiAJCXJldHVybiAtMTsKIAotCWlmIChwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BFUkZf UklOR19XQUlUKDApLCBndC0+ZmQpID49IDApCisJaWYgKHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5 MTVfUE1VX0VOR0lORV9XQUlUKGQtPmNsYXNzLCBkLT5pbnN0KSwKKwkJCQkgZ3QtPmZkKSA+PSAw KQogCQlndC0+aGF2ZV93YWl0ID0gMTsKIAotCWlmIChwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1 X1BFUkZfUklOR19TRU1BKDApLCBndC0+ZmQpID49IDApCisJaWYgKHBlcmZfaTkxNV9vcGVuX2dy b3VwKEk5MTVfUE1VX0VOR0lORV9TRU1BKGQtPmNsYXNzLCBkLT5pbnN0KSwKKwkJCQkgZ3QtPmZk KSA+PSAwKQogCQlndC0+aGF2ZV9zZW1hID0gMTsKIAotCWd0LT5yaW5nWzBdLm5hbWUgPSBuYW1l c1swXTsKKwlndC0+cmluZ1swXS5uYW1lID0gZC0+bmFtZTsKIAlndC0+bnVtX3JpbmdzID0gMTsK IAotCWZvciAobiA9IDE7IG5hbWVzW25dOyBuKyspIHsKLQkJaWYgKHBlcmZfaTkxNV9vcGVuX2dy b3VwKEk5MTVfUEVSRl9SSU5HX0JVU1kobiksIGd0LT5mZCkgPj0gMCkgewotCQkJaWYgKGd0LT5o YXZlX3dhaXQgJiYKLQkJCSAgICBwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BFUkZfUklOR19X QUlUKG4pLAotCQkJCQkJIGd0LT5mZCkgPCAwKQotCQkJCXJldHVybiAtMTsKLQotCQkJaWYgKGd0 LT5oYXZlX3NlbWEgJiYKLQkJCSAgICBwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BFUkZfUklO R19TRU1BKG4pLAotCQkJCQkJIGd0LT5mZCkgPCAwKQotCQkJCXJldHVybiAtMTsKLQotCQkJZ3Qt PnJpbmdbZ3QtPm51bV9yaW5ncysrXS5uYW1lID0gbmFtZXNbbl07Ci0JCX0KKwlmb3IgKGQrKzsg ZC0+bmFtZTsgZCsrKSB7CisJCWlmIChwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BNVV9FTkdJ TkVfQlVTWShkLT5jbGFzcywKKwkJCQkJCQkgICAgICBkLT5pbnN0KSwKKwkJCQkJZ3QtPmZkKSA8 IDApCisJCQljb250aW51ZTsKKworCQlpZiAoZ3QtPmhhdmVfd2FpdCAmJgorCQkgICAgcGVyZl9p OTE1X29wZW5fZ3JvdXAoSTkxNV9QTVVfRU5HSU5FX1dBSVQoZC0+Y2xhc3MsCisJCQkJCQkJICAg ICAgZC0+aW5zdCksCisJCQkJCSBndC0+ZmQpIDwgMCkKKwkJCXJldHVybiAtMTsKKworCQlpZiAo Z3QtPmhhdmVfc2VtYSAmJgorCQkgICAgcGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QTVVfRU5H SU5FX1NFTUEoZC0+Y2xhc3MsCisJCQkJCQkJICAgICAgZC0+aW5zdCksCisJCQkJICAgZ3QtPmZk KSA8IDApCisJCQlyZXR1cm4gLTE7CisKKwkJZ3QtPnJpbmdbZ3QtPm51bV9yaW5ncysrXS5uYW1l ID0gZC0+bmFtZTsKIAl9CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL292ZXJsYXkvcG93ZXIu YyBiL292ZXJsYXkvcG93ZXIuYwppbmRleCBkZDRhZWM2YmZmZDkuLjgwNWY0Y2E3ODA1YyAxMDA2 NDQKLS0tIGEvb3ZlcmxheS9wb3dlci5jCisrKyBiL292ZXJsYXkvcG93ZXIuYwpAQCAtNDUsOSAr NDUsNyBAQCBpbnQgcG93ZXJfaW5pdChzdHJ1Y3QgcG93ZXIgKnBvd2VyKQogCiAJbWVtc2V0KHBv d2VyLCAwLCBzaXplb2YoKnBvd2VyKSk7CiAKLQlwb3dlci0+ZmQgPSBwZXJmX2k5MTVfb3BlbihJ OTE1X1BFUkZfRU5FUkdZKTsKLQlpZiAocG93ZXItPmZkICE9IC0xKQotCQlyZXR1cm4gMDsKKwlw b3dlci0+ZmQgPSAtMTsKIAogCXNwcmludGYoYnVmLCAiJXMvaTkxNV9lbmVyZ3lfdUoiLCBkZWJ1 Z2ZzX2RyaV9wYXRoKTsKIAlmZCA9IG9wZW4oYnVmLCAwKTsKZGlmZiAtLWdpdCBhL292ZXJsYXkv cmM2LmMgYi9vdmVybGF5L3JjNi5jCmluZGV4IDQ2Yzk3NWE1NTdmZi4uNTdhYmVhNDFiM2M2IDEw MDY0NAotLS0gYS9vdmVybGF5L3JjNi5jCisrKyBiL292ZXJsYXkvcmM2LmMKQEAgLTQzLDE1ICs0 MywxNSBAQCBzdGF0aWMgaW50IHBlcmZfb3Blbih1bnNpZ25lZCAqZmxhZ3MpCiB7CiAJaW50IGZk OwogCi0JZmQgPSBwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BFUkZfUkM2X1JFU0lERU5DWSwg LTEpOworCWZkID0gcGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QTVVfUkM2X1JFU0lERU5DWSwg LTEpOwogCWlmIChmZCA8IDApCiAJCXJldHVybiAtMTsKIAogCSpmbGFncyB8PSBSQzY7Ci0JaWYg KHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5MTVfUEVSRl9SQzZwX1JFU0lERU5DWSwgZmQpID49IDAp CisJaWYgKHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5MTVfUE1VX1JDNnBfUkVTSURFTkNZLCBmZCkg Pj0gMCkKIAkJKmZsYWdzIHw9IFJDNnA7CiAKLQlpZiAocGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkx NV9QRVJGX1JDNnBwX1JFU0lERU5DWSwgZmQpID49IDApCisJaWYgKHBlcmZfaTkxNV9vcGVuX2dy b3VwKEk5MTVfUE1VX1JDNnBwX1JFU0lERU5DWSwgZmQpID49IDApCiAJCSpmbGFncyB8PSBSQzZw cDsKIAogCXJldHVybiBmZDsKQEAgLTEzMiwxMSArMTMyLDExIEBAIGludCByYzZfdXBkYXRlKHN0 cnVjdCByYzYgKnJjNikKIAogCQlsZW4gPSAyOwogCQlpZiAocmM2LT5mbGFncyAmIFJDNikKLQkJ CXMtPnJjNl9yZXNpZGVuY3kgPSBkYXRhW2xlbisrXTsKKwkJCXMtPnJjNl9yZXNpZGVuY3kgPSBk YXRhW2xlbisrXSAvIDEwMDAwMDA7CiAJCWlmIChyYzYtPmZsYWdzICYgUkM2cCkKLQkJCXMtPnJj NnBfcmVzaWRlbmN5ID0gZGF0YVtsZW4rK107CisJCQlzLT5yYzZwX3Jlc2lkZW5jeSA9IGRhdGFb bGVuKytdIC8gMTAwMDAwMDsKIAkJaWYgKHJjNi0+ZmxhZ3MgJiBSQzZwcCkKLQkJCXMtPnJjNnBw X3Jlc2lkZW5jeSA9IGRhdGFbbGVuKytdOworCQkJcy0+cmM2cHBfcmVzaWRlbmN5ID0gZGF0YVts ZW4rK10gLyAxMDAwMDAwOwogCX0KIAogCWlmIChyYzYtPmNvdW50ID09IDEpCkBAIC0xNDksMTQg KzE0OSwxNCBAQCBpbnQgcmM2X3VwZGF0ZShzdHJ1Y3QgcmM2ICpyYzYpCiAJfQogCiAJZF9yYzYg PSBzLT5yYzZfcmVzaWRlbmN5IC0gZC0+cmM2X3Jlc2lkZW5jeTsKLQlyYzYtPnJjNiA9ICgxMDAg KiBkX3JjNiArIGRfdGltZS8yKSAvIGRfdGltZTsKKwlyYzYtPnJjNiA9IDEwMCAqIGRfcmM2IC8g ZF90aW1lOwogCiAJZF9yYzZwID0gcy0+cmM2cF9yZXNpZGVuY3kgLSBkLT5yYzZwX3Jlc2lkZW5j eTsKLQlyYzYtPnJjNnAgPSAoMTAwICogZF9yYzZwICsgZF90aW1lLzIpIC8gZF90aW1lOworCXJj Ni0+cmM2cCA9IDEwMCAqIGRfcmM2cCAvIGRfdGltZTsKIAogCWRfcmM2cHAgPSBzLT5yYzZwcF9y ZXNpZGVuY3kgLSBkLT5yYzZwcF9yZXNpZGVuY3k7Ci0JcmM2LT5yYzZwcCA9ICgxMDAgKiBkX3Jj NnBwICsgZF90aW1lLzIpIC8gZF90aW1lOworCXJjNi0+cmM2cHAgPSAxMDAgKiBkX3JjNnBwIC8g ZF90aW1lOwogCi0JcmM2LT5yYzZfY29tYmluZWQgPSAoMTAwICogKGRfcmM2ICsgZF9yYzZwICsg ZF9yYzZwcCkgKyBkX3RpbWUvMikgLyBkX3RpbWU7CisJcmM2LT5yYzZfY29tYmluZWQgPSAxMDAg KiAoZF9yYzYgKyBkX3JjNnAgKyBkX3JjNnBwKSAvIGRfdGltZTsKIAlyZXR1cm4gMDsKIH0KLS0g CjIuOS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK