From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: [PATCH i-g-t 1/3] lib/igt_dummyload: libify checks for spin batch activation Date: Wed, 17 Apr 2019 18:28:32 +0300 Message-ID: <20190417152834.12705-1-mika.kuoppala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id B77146E06C for ; Wed, 17 Apr 2019 15:28:47 +0000 (UTC) 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 SW5zdGVhZCBvZiBvcGVuY29kaW5nIHRoZSBwb2xsIGludG8gdGhlIHNwaW5uZXIsIHVzZQphIGhl bHBlciB0byBjaGVjayBpZiBzcGlubmVyIGhhcyBzdGFydGVkLgoKQ2M6IENocmlzIFdpbHNvbiA8 Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpTaWduZWQtb2ZmLWJ5OiBNaWthIEt1b3BwYWxhIDxt aWthLmt1b3BwYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBsaWIvaWd0X2R1bW15bG9hZC5jICAg ICAgICAgICAgfCAzNSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiBsaWIvaWd0 X2R1bW15bG9hZC5oICAgICAgICAgICAgfCAxNyArKysrKysrKysrKysrKy0tLQogdGVzdHMvaTkx NS9nZW1fY3R4X2V4ZWMuYyAgICAgIHwgIDQgKy0tLQogdGVzdHMvaTkxNS9nZW1fY3R4X2lzb2xh dGlvbi5jIHwgIDQgKystLQogdGVzdHMvaTkxNS9nZW1fZWlvLmMgICAgICAgICAgIHwgIDQgKyst LQogdGVzdHMvaTkxNS9nZW1fZXhlY19sYXRlbmN5LmMgIHwgMjIgKysrKysrKysrKy0tLS0tLS0t LS0tCiB0ZXN0cy9pOTE1L2dlbV9leGVjX3NjaGVkdWxlLmMgfCAgNSArKy0tLQogdGVzdHMvaTkx NS9nZW1fc3luYy5jICAgICAgICAgIHwgMjggKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiB0 ZXN0cy9wZXJmX3BtdS5jICAgICAgICAgICAgICAgfCAgNCArKy0tCiA5IGZpbGVzIGNoYW5nZWQs IDY2IGluc2VydGlvbnMoKyksIDU3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3Rf ZHVtbXlsb2FkLmMgYi9saWIvaWd0X2R1bW15bG9hZC5jCmluZGV4IDQ3ZjZiOTJiLi40OWI2OTcz NyAxMDA2NDQKLS0tIGEvbGliL2lndF9kdW1teWxvYWQuYworKysgYi9saWIvaWd0X2R1bW15bG9h ZC5jCkBAIC02NywxMSArNjcsMTMgQEAgc3RhdGljIHB0aHJlYWRfbXV0ZXhfdCBsaXN0X2xvY2sg PSBQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSOwogCiBzdGF0aWMgdm9pZAogZmlsbF9yZWxvYyhz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25fZW50cnkgKnJlbG9jLAotCSAgIHVpbnQzMl90 IGdlbV9oYW5kbGUsIHVpbnQzMl90IG9mZnNldCwKKwkgICB1aW50MzJfdCBnZW1faGFuZGxlLCB1 aW50MzJfdCBvZmZzZXQsIHVpbnQzMl90IGRlbHRhLAogCSAgIHVpbnQzMl90IHJlYWRfZG9tYWlu cywgdWludDMyX3Qgd3JpdGVfZG9tYWlucykKIHsKKwlyZWxvYy0+cHJlc3VtZWRfb2Zmc2V0ID0g LTE7CiAJcmVsb2MtPnRhcmdldF9oYW5kbGUgPSBnZW1faGFuZGxlOwogCXJlbG9jLT5vZmZzZXQg PSBvZmZzZXQgKiBzaXplb2YodWludDMyX3QpOworCXJlbG9jLT5kZWx0YSA9IGRlbHRhICogc2l6 ZW9mKHVpbnQzMl90KTsKIAlyZWxvYy0+cmVhZF9kb21haW5zID0gcmVhZF9kb21haW5zOwogCXJl bG9jLT53cml0ZV9kb21haW4gPSB3cml0ZV9kb21haW5zOwogfQpAQCAtMTMxLDExICsxMzMsMTMg QEAgZW1pdF9yZWN1cnNpdmVfYmF0Y2goaWd0X3NwaW5fdCAqc3BpbiwKIAkJLyogZHVtbXkgd3Jp dGUgdG8gZGVwZW5kZW5jeSAqLwogCQlvYmpbU0NSQVRDSF0uaGFuZGxlID0gb3B0cy0+ZGVwZW5k ZW5jeTsKIAkJZmlsbF9yZWxvYygmcmVsb2NzW29ialtCQVRDSF0ucmVsb2NhdGlvbl9jb3VudCsr XSwKLQkJCSAgIG9wdHMtPmRlcGVuZGVuY3ksIDEwMjAsCisJCQkgICBvcHRzLT5kZXBlbmRlbmN5 LCAxMDIwLCAwLAogCQkJICAgSTkxNV9HRU1fRE9NQUlOX1JFTkRFUiwKIAkJCSAgIEk5MTVfR0VN X0RPTUFJTl9SRU5ERVIpOwogCQlleGVjYnVmLT5idWZmZXJfY291bnQrKzsKIAl9IGVsc2UgaWYg KG9wdHMtPmZsYWdzICYgSUdUX1NQSU5fUE9MTF9SVU4pIHsKKwkJY29uc3QgdW5zaWduZWQgaW50 IHN0YXJ0X2lkeF9vZmZzZXQgPQorCQkJU1BJTl9QT0xMX1NUQVJUX0lEWCAqIHNpemVvZih1aW50 MzJfdCk7CiAJCXVuc2lnbmVkIGludCBvZmZzZXQ7CiAKIAkJaWd0X2Fzc2VydCghb3B0cy0+ZGVw ZW5kZW5jeSk7CkBAIC0xNDksMzYgKzE1MywzNyBAQCBlbWl0X3JlY3Vyc2l2ZV9iYXRjaChpZ3Rf c3Bpbl90ICpzcGluLAogCiAJCWlmIChfX2dlbV9zZXRfY2FjaGluZyhmZCwgc3Bpbi0+cG9sbF9o YW5kbGUsCiAJCQkJICAgICAgSTkxNV9DQUNISU5HX0NBQ0hFRCkgPT0gMCkKLQkJCXNwaW4tPnJ1 bm5pbmcgPSBnZW1fbW1hcF9fY3B1KGZkLCBzcGluLT5wb2xsX2hhbmRsZSwKLQkJCQkJCSAgICAg IDAsIDQwOTYsCi0JCQkJCQkgICAgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFKTsKKwkJCXNwaW4t PnBvbGwgPSBnZW1fbW1hcF9fY3B1KGZkLCBzcGluLT5wb2xsX2hhbmRsZSwKKwkJCQkJCSAgIDAs IDQwOTYsCisJCQkJCQkgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFKTsKIAkJZWxzZQotCQkJc3Bp bi0+cnVubmluZyA9IGdlbV9tbWFwX193YyhmZCwgc3Bpbi0+cG9sbF9oYW5kbGUsCi0JCQkJCQkg ICAgIDAsIDQwOTYsCi0JCQkJCQkgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUpOwotCQlpZ3Rf YXNzZXJ0X2VxKCpzcGluLT5ydW5uaW5nLCAwKTsKKwkJCXNwaW4tPnBvbGwgPSBnZW1fbW1hcF9f d2MoZmQsIHNwaW4tPnBvbGxfaGFuZGxlLAorCQkJCQkJICAwLCA0MDk2LAorCQkJCQkJICBQUk9U X1JFQUQgfCBQUk9UX1dSSVRFKTsKKwkJaWd0X2Fzc2VydF9lcShzcGluLT5wb2xsW1NQSU5fUE9M TF9TVEFSVF9JRFhdLCAwKTsKIAogCQkqYmF0Y2grKyA9IE1JX1NUT1JFX0RXT1JEX0lNTSB8IChn ZW4gPCA2ID8gMSA8PCAyMiA6IDApOwogCiAJCWlmIChnZW4gPj0gOCkgewogCQkJb2Zmc2V0ID0g MTsKLQkJCSpiYXRjaCsrID0gMDsKKwkJCSpiYXRjaCsrID0gc3RhcnRfaWR4X29mZnNldDsKIAkJ CSpiYXRjaCsrID0gMDsKIAkJfSBlbHNlIGlmIChnZW4gPj0gNCkgewogCQkJb2Zmc2V0ID0gMjsK IAkJCSpiYXRjaCsrID0gMDsKLQkJCSpiYXRjaCsrID0gMDsKKwkJCSpiYXRjaCsrID0gc3RhcnRf aWR4X29mZnNldDsKIAkJfSBlbHNlIHsKIAkJCW9mZnNldCA9IDE7CiAJCQliYXRjaFstMV0tLTsK LQkJCSpiYXRjaCsrID0gMDsKKwkJCSpiYXRjaCsrID0gc3RhcnRfaWR4X29mZnNldDsKIAkJfQog CiAJCSpiYXRjaCsrID0gMTsKIAogCQlvYmpbU0NSQVRDSF0uaGFuZGxlID0gc3Bpbi0+cG9sbF9o YW5kbGU7CiAJCWZpbGxfcmVsb2MoJnJlbG9jc1tvYmpbQkFUQ0hdLnJlbG9jYXRpb25fY291bnQr K10sCi0JCQkgICBzcGluLT5wb2xsX2hhbmRsZSwgb2Zmc2V0LCAwLCAwKTsKKwkJCSAgIHNwaW4t PnBvbGxfaGFuZGxlLCBvZmZzZXQsCisJCQkgICBTUElOX1BPTExfU1RBUlRfSURYLCAwLCAwKTsK IAkJZXhlY2J1Zi0+YnVmZmVyX2NvdW50Kys7CiAJfQogCkBAIC00MDgsOCArNDEzLDggQEAgdm9p ZCBpZ3Rfc3Bpbl9iYXRjaF9mcmVlKGludCBmZCwgaWd0X3NwaW5fdCAqc3BpbikKIAlnZW1fbXVu bWFwKCh2b2lkICopKCh1bnNpZ25lZCBsb25nKXNwaW4tPmJhdGNoICYgKH40MDk1VUwpKSwKIAkJ ICAgQkFUQ0hfU0laRSk7CiAKLQlpZiAoc3Bpbi0+cnVubmluZykgewotCQlnZW1fbXVubWFwKHNw aW4tPnJ1bm5pbmcsIDQwOTYpOworCWlmIChzcGluLT5wb2xsKSB7CisJCWdlbV9tdW5tYXAoc3Bp bi0+cG9sbCwgNDA5Nik7CiAJCWdlbV9jbG9zZShmZCwgc3Bpbi0+cG9sbF9oYW5kbGUpOwogCX0K IApkaWZmIC0tZ2l0IGEvbGliL2lndF9kdW1teWxvYWQuaCBiL2xpYi9pZ3RfZHVtbXlsb2FkLmgK aW5kZXggNzNiZDAzNWIuLjM3OTNiZjdmIDEwMDY0NAotLS0gYS9saWIvaWd0X2R1bW15bG9hZC5o CisrKyBiL2xpYi9pZ3RfZHVtbXlsb2FkLmgKQEAgLTQxLDcgKzQxLDggQEAgdHlwZWRlZiBzdHJ1 Y3QgaWd0X3NwaW4gewogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9ialsyXTsK IAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGV4ZWNidWY7CiAJdWludDMyX3QgcG9s bF9oYW5kbGU7Ci0JYm9vbCAqcnVubmluZzsKKwl1aW50MzJfdCAqcG9sbDsKKyNkZWZpbmUgU1BJ Tl9QT0xMX1NUQVJUX0lEWCAwCiB9IGlndF9zcGluX3Q7CiAKIHN0cnVjdCBpZ3Rfc3Bpbl9mYWN0 b3J5IHsKQEAgLTcwLDkgKzcxLDE5IEBAIHZvaWQgaWd0X3NwaW5fYmF0Y2hfc2V0X3RpbWVvdXQo aWd0X3NwaW5fdCAqc3BpbiwgaW50NjRfdCBucyk7CiB2b2lkIGlndF9zcGluX2JhdGNoX2VuZChp Z3Rfc3Bpbl90ICpzcGluKTsKIHZvaWQgaWd0X3NwaW5fYmF0Y2hfZnJlZShpbnQgZmQsIGlndF9z cGluX3QgKnNwaW4pOwogCi1zdGF0aWMgaW5saW5lIHZvaWQgaWd0X3NwaW5fYnVzeXdhaXRfdW50 aWxfcnVubmluZyhpZ3Rfc3Bpbl90ICpzcGluKQorc3RhdGljIGlubGluZSBib29sIGlndF9zcGlu X2hhc19wb2xsKGNvbnN0IGlndF9zcGluX3QgKnNwaW4pCiB7Ci0Jd2hpbGUgKCFSRUFEX09OQ0Uo KnNwaW4tPnJ1bm5pbmcpKQorCXJldHVybiBzcGluLT5wb2xsOworfQorCitzdGF0aWMgaW5saW5l IGJvb2wgaWd0X3NwaW5faGFzX3N0YXJ0ZWQoaWd0X3NwaW5fdCAqc3BpbikKK3sKKwlyZXR1cm4g UkVBRF9PTkNFKHNwaW4tPnBvbGxbU1BJTl9QT0xMX1NUQVJUX0lEWF0pOworfQorCitzdGF0aWMg aW5saW5lIHZvaWQgaWd0X3NwaW5fYnVzeXdhaXRfdW50aWxfc3RhcnRlZChpZ3Rfc3Bpbl90ICpz cGluKQoreworCXdoaWxlICghaWd0X3NwaW5faGFzX3N0YXJ0ZWQoc3BpbikpCiAJCTsKIH0KIApk aWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fY3R4X2V4ZWMuYyBiL3Rlc3RzL2k5MTUvZ2VtX2N0 eF9leGVjLmMKaW5kZXggZDY3ZDBlYzIuLmYzN2U2ZjI4IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1 L2dlbV9jdHhfZXhlYy5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9leGVjLmMKQEAgLTE4MSwx MCArMTgxLDggQEAgc3RhdGljIHZvaWQgbm9yZWNvdmVyeShpbnQgaTkxNSkKIAkJc3BpbiA9IF9f aWd0X3NwaW5fYmF0Y2hfbmV3KGk5MTUsCiAJCQkJCSAgICAuY3R4ID0gcGFyYW0uY3R4X2lkLAog CQkJCQkgICAgLmZsYWdzID0gSUdUX1NQSU5fUE9MTF9SVU4pOwotCQlpZ3RfYXNzZXJ0KHNwaW4t PnJ1bm5pbmcpOworCQlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9zdGFydGVkKHNwaW4pOwogCi0J CXdoaWxlICghUkVBRF9PTkNFKCpzcGluLT5ydW5uaW5nKSkKLQkJCTsKIAkJaWd0X2ZvcmNlX2dw dV9yZXNldChpOTE1KTsKIAogCQlpZ3Rfc3Bpbl9iYXRjaF9lbmQoc3Bpbik7CmRpZmYgLS1naXQg YS90ZXN0cy9pOTE1L2dlbV9jdHhfaXNvbGF0aW9uLmMgYi90ZXN0cy9pOTE1L2dlbV9jdHhfaXNv bGF0aW9uLmMKaW5kZXggZjEwMDA0NTguLmJlZDcxYzJiIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1 L2dlbV9jdHhfaXNvbGF0aW9uLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fY3R4X2lzb2xhdGlvbi5j CkBAIC03MDQsOCArNzA0LDggQEAgc3RhdGljIHZvaWQgaW5qZWN0X3Jlc2V0X2NvbnRleHQoaW50 IGZkLCB1bnNpZ25lZCBpbnQgZW5naW5lKQogCiAJc3BpbiA9IF9faWd0X3NwaW5fYmF0Y2hfZmFj dG9yeShmZCwgJm9wdHMpOwogCi0JaWYgKHNwaW4tPnJ1bm5pbmcpCi0JCWlndF9zcGluX2J1c3l3 YWl0X3VudGlsX3J1bm5pbmcoc3Bpbik7CisJaWYgKGlndF9zcGluX2hhc19wb2xsKHNwaW4pKQor CQlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9zdGFydGVkKHNwaW4pOwogCWVsc2UKIAkJdXNsZWVw KDEwMDApOyAvKiBiZXR0ZXIgdGhhbiBub3RoaW5nICovCiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5 MTUvZ2VtX2Vpby5jIGIvdGVzdHMvaTkxNS9nZW1fZWlvLmMKaW5kZXggMjkyNTA4NTIuLjA3YmJk ZWIxIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9laW8uYworKysgYi90ZXN0cy9pOTE1L2dl bV9laW8uYwpAQCAtMTg2LDggKzE4Niw4IEBAIHN0YXRpYyBpZ3Rfc3Bpbl90ICogX19zcGluX3Bv bGwoaW50IGZkLCB1aW50MzJfdCBjdHgsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiAKIHN0YXRpYyB2 b2lkIF9fc3Bpbl93YWl0KGludCBmZCwgaWd0X3NwaW5fdCAqc3BpbikKIHsKLQlpZiAoc3Bpbi0+ cnVubmluZykgewotCQlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9ydW5uaW5nKHNwaW4pOworCWlm IChpZ3Rfc3Bpbl9oYXNfcG9sbChzcGluKSkgeworCQlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9z dGFydGVkKHNwaW4pOwogCX0gZWxzZSB7CiAJCWlndF9kZWJ1ZygiX19zcGluX3dhaXQgLSB1c2xl ZXAgbW9kZVxuIik7CiAJCXVzbGVlcCg1MDBlMyk7IC8qIEJldHRlciB0aGFuIG5vdGhpbmchICov CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9leGVjX2xhdGVuY3kuYyBiL3Rlc3RzL2k5MTUv Z2VtX2V4ZWNfbGF0ZW5jeS5jCmluZGV4IDM5ZjQ0MWQyLi5mYzEwNDBjMyAxMDA2NDQKLS0tIGEv dGVzdHMvaTkxNS9nZW1fZXhlY19sYXRlbmN5LmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19s YXRlbmN5LmMKQEAgLTc5LDI5ICs3OSwyOSBAQCBwb2xsX3JpbmcoaW50IGZkLCB1bnNpZ25lZCBy aW5nLCBjb25zdCBjaGFyICpuYW1lKQogCWlndF9yZXF1aXJlKGdlbV9jYW5fc3RvcmVfZHdvcmQo ZmQsIHJpbmcpKTsKIAogCXNwaW5bMF0gPSBfX2lndF9zcGluX2JhdGNoX2ZhY3RvcnkoZmQsICZv cHRzKTsKLQlpZ3RfYXNzZXJ0KHNwaW5bMF0tPnJ1bm5pbmcpOworCWlndF9hc3NlcnQoaWd0X3Nw aW5faGFzX3BvbGwoc3BpblswXSkpOwogCWNtZCA9ICpzcGluWzBdLT5iYXRjaDsKIAogCXNwaW5b MV0gPSBfX2lndF9zcGluX2JhdGNoX2ZhY3RvcnkoZmQsICZvcHRzKTsKLQlpZ3RfYXNzZXJ0KHNw aW5bMV0tPnJ1bm5pbmcpOworCWlndF9hc3NlcnQoaWd0X3NwaW5faGFzX3BvbGwoc3BpblsxXSkp OworCiAJaWd0X2Fzc2VydChjbWQgPT0gKnNwaW5bMV0tPmJhdGNoKTsKIAogCWlndF9zcGluX2Jh dGNoX2VuZChzcGluWzBdKTsKLQl3aGlsZSAoIVJFQURfT05DRSgqc3BpblsxXS0+cnVubmluZykp Ci0JCTsKKwlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9zdGFydGVkKHNwaW5bMV0pOworCiAJaWd0 X2Fzc2VydCghZ2VtX2JvX2J1c3koZmQsIHNwaW5bMF0tPmhhbmRsZSkpOwogCiAJY3ljbGVzID0g MDsKIAl3aGlsZSAoKGVsYXBzZWQgPSBpZ3RfbnNlY19lbGFwc2VkKCZ0dikpIDwgMnVsbCA8PCAz MCkgewotCQl1bnNpZ25lZCBpbnQgaWR4ID0gY3ljbGVzKysgJiAxOworCQljb25zdCB1bnNpZ25l ZCBpbnQgaWR4ID0gY3ljbGVzKysgJiAxOwogCiAJCSpzcGluW2lkeF0tPmJhdGNoID0gY21kOwot CQkqc3BpbltpZHhdLT5ydW5uaW5nID0gMDsKKwkJc3BpbltpZHhdLT5wb2xsW1NQSU5fUE9MTF9T VEFSVF9JRFhdID0gMDsKIAkJZ2VtX2V4ZWNidWYoZmQsICZzcGluW2lkeF0tPmV4ZWNidWYpOwog CiAJCWlndF9zcGluX2JhdGNoX2VuZChzcGluWyFpZHhdKTsKLQkJd2hpbGUgKCFSRUFEX09OQ0Uo KnNwaW5baWR4XS0+cnVubmluZykpCi0JCQk7CisJCWlndF9zcGluX2J1c3l3YWl0X3VudGlsX3N0 YXJ0ZWQoc3BpbltpZHhdKTsKIAl9CiAKIAlpZ3RfaW5mbygiJXMgY29tcGxldGVkICVsZCBjeWNs ZXM6ICUuM2YgdXNcbiIsCkBAIC00MTksNyArNDE5LDcgQEAgc3RhdGljIHZvaWQgX19yZWFybV9z cGluX2JhdGNoKGlndF9zcGluX3QgKnNwaW4pCiAJY29uc3QgdWludDMyX3QgbWlfYXJiX2NoayA9 IDB4NSA8PCAyMzsKIAogICAgICAgICpzcGluLT5iYXRjaCA9IG1pX2FyYl9jaGs7Ci0gICAgICAg KnNwaW4tPnJ1bm5pbmcgPSAwOworICAgICAgIHNwaW4tPnBvbGxbU1BJTl9QT0xMX1NUQVJUX0lE WF0gPSAwOwogICAgICAgIF9fc3luY19zeW5jaHJvbml6ZSgpOwogfQogCkBAIC00NDEsNyArNDQx LDcgQEAgc3RydWN0IHJ0X3BrdCB7CiAKIHN0YXRpYyBib29sIF9fc3Bpbl93YWl0KGludCBmZCwg aWd0X3NwaW5fdCAqc3BpbikKIHsKLQl3aGlsZSAoIVJFQURfT05DRSgqc3Bpbi0+cnVubmluZykp IHsKKwl3aGlsZSAoIWlndF9zcGluX2hhc19zdGFydGVkKHNwaW4pKSB7CiAJCWlmICghZ2VtX2Jv X2J1c3koZmQsIHNwaW4tPmhhbmRsZSkpCiAJCQlyZXR1cm4gZmFsc2U7CiAJfQpAQCAtNTM3LDcg KzUzNyw3IEBAIHJ0aG9nX2xhdGVuY3lfb25fcmluZyhpbnQgZmQsIHVuc2lnbmVkIGludCBlbmdp bmUsIGNvbnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGluCiAJCQkJCSBwYXNzbmFtZVtwYXNzXSk7 CiAJCQkJYnJlYWs7CiAJCQl9Ci0JCQlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9ydW5uaW5nKHNw aW4pOworCQkJaWd0X3NwaW5fYnVzeXdhaXRfdW50aWxfc3RhcnRlZChzcGluKTsKIAogCQkJaWd0 X3VudGlsX3RpbWVvdXQocGFzcyA+IDAgPyA1IDogMikgewogCQkJCXN0cnVjdCB0aW1lc3BlYyB0 cyA9IHsgfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfc2NoZWR1bGUuYyBiL3Rl c3RzL2k5MTUvZ2VtX2V4ZWNfc2NoZWR1bGUuYwppbmRleCA2ZjNmNTJkMi4uNzE4YTE5MzUgMTAw NjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfc2NoZWR1bGUuYworKysgYi90ZXN0cy9pOTE1 L2dlbV9leGVjX3NjaGVkdWxlLmMKQEAgLTQzNiw3ICs0MzYsNyBAQCBzdGF0aWMgdm9pZCBzZW1h cGhvcmVfY29kZXBlbmRlbmN5KGludCBpOTE1KQogCQkJCQkgICAgIC5jdHggPSBjdHgsCiAJCQkJ CSAgICAgLmVuZ2luZSA9IGVuZ2luZSwKIAkJCQkJICAgICAuZmxhZ3MgPSBJR1RfU1BJTl9QT0xM X1JVTik7Ci0JCWlndF9zcGluX2J1c3l3YWl0X3VudGlsX3J1bm5pbmcodGFza1tpXS54Y3MpOwor CQlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9zdGFydGVkKHRhc2tbaV0ueGNzKTsKIAogCQkvKiBD b21tb24gcmNzIHRhc2tzIHdpbGwgYmUgcXVldWVkIGluIEZJRk8gKi8KIAkJdGFza1tpXS5yY3Mg PQpAQCAtMTM2MSw4ICsxMzYxLDcgQEAgc3RhdGljIHZvaWQgbWVhc3VyZV9zZW1hcGhvcmVfcG93 ZXIoaW50IGk5MTUpCiAJCQkJCSAgICAuZW5naW5lID0gc2lnbmFsZXIsCiAJCQkJCSAgICAuZmxh Z3MgPSBJR1RfU1BJTl9QT0xMX1JVTik7CiAJCWdlbV93YWl0KGk5MTUsIHNwaW4tPmhhbmRsZSwg JmppZmZpZSk7IC8qIHdhaXRib29zdCAqLwotCQlpZ3RfYXNzZXJ0KHNwaW4tPnJ1bm5pbmcpOwot CQlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9ydW5uaW5nKHNwaW4pOworCQlpZ3Rfc3Bpbl9idXN5 d2FpdF91bnRpbF9zdGFydGVkKHNwaW4pOwogCiAJCWdwdV9wb3dlcl9yZWFkKCZwb3dlciwgJnNf c3BpblswXSk7CiAJCXVzbGVlcCgxMDAqMTAwMCk7CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dl bV9zeW5jLmMgYi90ZXN0cy9pOTE1L2dlbV9zeW5jLmMKaW5kZXggM2U0ZmVmZjMuLjBhMGVkMmEx IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9zeW5jLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1f c3luYy5jCkBAIC0yMjUsNyArMjI1LDcgQEAgd2FrZXVwX3JpbmcoaW50IGZkLCB1bnNpZ25lZCBy aW5nLCBpbnQgdGltZW91dCwgaW50IHdsZW4pCiAJCQkJCSAgICAuZW5naW5lID0gZXhlY2J1Zi5m bGFncywKIAkJCQkJICAgIC5mbGFncyA9IChJR1RfU1BJTl9QT0xMX1JVTiB8CiAJCQkJCQkgICAg ICBJR1RfU1BJTl9GQVNUKSk7Ci0JCWlndF9hc3NlcnQoc3Bpbi0+cnVubmluZyk7CisJCWlndF9h c3NlcnQoaWd0X3NwaW5faGFzX3BvbGwoc3BpbikpOwogCQljbWQgPSAqc3Bpbi0+YmF0Y2g7CiAK IAkJZ2VtX2V4ZWNidWYoZmQsICZleGVjYnVmKTsKQEAgLTIzOSwxMCArMjM5LDkgQEAgd2FrZXVw X3JpbmcoaW50IGZkLCB1bnNpZ25lZCByaW5nLCBpbnQgdGltZW91dCwgaW50IHdsZW4pCiAJCQlj eWNsZXMgPSAwOwogCQkJZG8gewogCQkJCSpzcGluLT5iYXRjaCA9IGNtZDsKLQkJCQkqc3Bpbi0+ cnVubmluZyA9IDA7CisJCQkJc3Bpbi0+cG9sbFtTUElOX1BPTExfU1RBUlRfSURYXSA9IDA7CiAJ CQkJZ2VtX2V4ZWNidWYoZmQsICZzcGluLT5leGVjYnVmKTsKLQkJCQl3aGlsZSAoIVJFQURfT05D RSgqc3Bpbi0+cnVubmluZykpCi0JCQkJCTsKKwkJCQlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9z dGFydGVkKHNwaW4pOwogCiAJCQkJdGhpcyA9IGdldHRpbWUoKTsKIAkJCQlpZ3Rfc3Bpbl9iYXRj aF9lbmQoc3Bpbik7CkBAIC0yNjQsMTAgKzI2Myw5IEBAIHdha2V1cF9yaW5nKGludCBmZCwgdW5z aWduZWQgcmluZywgaW50IHRpbWVvdXQsIGludCB3bGVuKQogCQljeWNsZXMgPSAwOwogCQlkbyB7 CiAJCQkqc3Bpbi0+YmF0Y2ggPSBjbWQ7Ci0JCQkqc3Bpbi0+cnVubmluZyA9IDA7CisJCQlzcGlu LT5wb2xsW1NQSU5fUE9MTF9TVEFSVF9JRFhdID0gMDsKIAkJCWdlbV9leGVjYnVmKGZkLCAmc3Bp bi0+ZXhlY2J1Zik7Ci0JCQl3aGlsZSAoIVJFQURfT05DRSgqc3Bpbi0+cnVubmluZykpCi0JCQkJ OworCQkJaWd0X3NwaW5fYnVzeXdhaXRfdW50aWxfc3RhcnRlZChzcGluKTsKIAogCQkJZm9yIChp bnQgbiA9IDA7IG4gPCB3bGVuOyBuKyspCiAJCQkJZ2VtX2V4ZWNidWYoZmQsICZleGVjYnVmKTsK QEAgLTQxMCw3ICs0MDgsNyBAQCBhY3RpdmVfd2FrZXVwX3JpbmcoaW50IGZkLCB1bnNpZ25lZCBy aW5nLCBpbnQgdGltZW91dCwgaW50IHdsZW4pCiAJCQkJCSAgICAgICAuZW5naW5lID0gZXhlY2J1 Zi5mbGFncywKIAkJCQkJICAgICAgIC5mbGFncyA9IChJR1RfU1BJTl9QT0xMX1JVTiB8CiAJCQkJ CQkJIElHVF9TUElOX0ZBU1QpKTsKLQkJaWd0X2Fzc2VydChzcGluWzBdLT5ydW5uaW5nKTsKKwkJ aWd0X2Fzc2VydChpZ3Rfc3Bpbl9oYXNfcG9sbChzcGluWzBdKSk7CiAJCWNtZCA9ICpzcGluWzBd LT5iYXRjaDsKIAogCQlzcGluWzFdID0gX19pZ3Rfc3Bpbl9iYXRjaF9uZXcoZmQsCkBAIC00MjYs MTggKzQyNCwxNyBAQCBhY3RpdmVfd2FrZXVwX3JpbmcoaW50IGZkLCB1bnNpZ25lZCByaW5nLCBp bnQgdGltZW91dCwgaW50IHdsZW4pCiAKIAkJZm9yIChpbnQgd2FybXVwID0gMDsgd2FybXVwIDw9 IDE7IHdhcm11cCsrKSB7CiAJCQkqc3BpblswXS0+YmF0Y2ggPSBjbWQ7Ci0JCQkqc3BpblswXS0+ cnVubmluZyA9IDA7CisJCQlzcGluWzBdLT5wb2xsW1NQSU5fUE9MTF9TVEFSVF9JRFhdID0gMDsK IAkJCWdlbV9leGVjYnVmKGZkLCAmc3BpblswXS0+ZXhlY2J1Zik7CiAKIAkJCWVuZCA9IGdldHRp bWUoKSArIHRpbWVvdXQvMTAuOwogCQkJZWxhcHNlZCA9IDA7CiAJCQljeWNsZXMgPSAwOwogCQkJ ZG8gewotCQkJCXdoaWxlICghUkVBRF9PTkNFKCpzcGluWzBdLT5ydW5uaW5nKSkKLQkJCQkJOwor CQkJCWlndF9zcGluX2J1c3l3YWl0X3VudGlsX3N0YXJ0ZWQoc3BpblswXSk7CiAKIAkJCQkqc3Bp blsxXS0+YmF0Y2ggPSBjbWQ7Ci0JCQkJKnNwaW5bMV0tPnJ1bm5pbmcgPSAwOworCQkJCXNwaW5b MV0tPnBvbGxbU1BJTl9QT0xMX1NUQVJUX0lEWF0gPSAwOwogCQkJCWdlbV9leGVjYnVmKGZkLCAm c3BpblsxXS0+ZXhlY2J1Zik7CiAKIAkJCQl0aGlzID0gZ2V0dGltZSgpOwpAQCAtNDU4LDIxICs0 NTUsMjAgQEAgYWN0aXZlX3dha2V1cF9yaW5nKGludCBmZCwgdW5zaWduZWQgcmluZywgaW50IHRp bWVvdXQsIGludCB3bGVuKQogCQkJIGN5Y2xlcywgZWxhcHNlZCoxZTYvY3ljbGVzKTsKIAogCQkq c3BpblswXS0+YmF0Y2ggPSBjbWQ7Ci0JCSpzcGluWzBdLT5ydW5uaW5nID0gMDsKKwkJc3Bpblsw XS0+cG9sbFtTUElOX1BPTExfU1RBUlRfSURYXSA9IDA7CiAJCWdlbV9leGVjYnVmKGZkLCAmc3Bp blswXS0+ZXhlY2J1Zik7CiAKIAkJZW5kID0gZ2V0dGltZSgpICsgdGltZW91dDsKIAkJZWxhcHNl ZCA9IDA7CiAJCWN5Y2xlcyA9IDA7CiAJCWRvIHsKLQkJCXdoaWxlICghUkVBRF9PTkNFKCpzcGlu WzBdLT5ydW5uaW5nKSkKLQkJCQk7CisJCQlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9zdGFydGVk KHNwaW5bMF0pOwogCiAJCQlmb3IgKGludCBuID0gMDsgbiA8IHdsZW47IG4rKykKIAkJCQlnZW1f ZXhlY2J1ZihmZCwgJmV4ZWNidWYpOwogCiAJCQkqc3BpblsxXS0+YmF0Y2ggPSBjbWQ7Ci0JCQkq c3BpblsxXS0+cnVubmluZyA9IDA7CisJCQlzcGluWzFdLT5wb2xsW1NQSU5fUE9MTF9TVEFSVF9J RFhdID0gMDsKIAkJCWdlbV9leGVjYnVmKGZkLCAmc3BpblsxXS0+ZXhlY2J1Zik7CiAKIAkJCXRo aXMgPSBnZXR0aW1lKCk7CmRpZmYgLS1naXQgYS90ZXN0cy9wZXJmX3BtdS5jIGIvdGVzdHMvcGVy Zl9wbXUuYwppbmRleCA0ZjU1MmJjMi4uMjhmMjM1YjEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3BlcmZf cG11LmMKKysrIGIvdGVzdHMvcGVyZl9wbXUuYwpAQCAtMTg5LDEwICsxODksMTAgQEAgc3RhdGlj IHVuc2lnbmVkIGxvbmcgX19zcGluX3dhaXQoaW50IGZkLCBpZ3Rfc3Bpbl90ICpzcGluKQogCiAJ aWd0X25zZWNfZWxhcHNlZCgmc3RhcnQpOwogCi0JaWYgKHNwaW4tPnJ1bm5pbmcpIHsKKwlpZiAo aWd0X3NwaW5faGFzX3BvbGwoc3BpbikpIHsKIAkJdW5zaWduZWQgbG9uZyB0aW1lb3V0ID0gMDsK IAotCQl3aGlsZSAoIVJFQURfT05DRSgqc3Bpbi0+cnVubmluZykpIHsKKwkJd2hpbGUgKCFpZ3Rf c3Bpbl9oYXNfc3RhcnRlZChzcGluKSkgewogCQkJdW5zaWduZWQgbG9uZyB0ID0gaWd0X25zZWNf ZWxhcHNlZCgmc3RhcnQpOwogCiAJCQlpZiAoKHQgLSB0aW1lb3V0KSA+IDI1MGU2KSB7Ci0tIAoy LjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==