From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: [PATCH i-g-t 1/3] lib/igt_dummyload: Introduce igt_spin_reset Date: Tue, 23 Apr 2019 17:00:36 +0300 Message-ID: <20190423140038.20190-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 mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 75F3089330 for ; Tue, 23 Apr 2019 14:00:48 +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 TGliaWZ5IHJlc2V0dGluZyBhIHNwaW4gZm9yIHJldXNlLgoKdjI6IHVzZSBhbHNvIGluIHBlcmZf cG11CnYzOiBzL2NtZF9zcGluL2NtZF9wcmVjb25kaXRpb24KCkNjOiBDaHJpcyBXaWxzb24gPGNo cmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxp bkBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFA bGludXguaW50ZWwuY29tPgotLS0KIGxpYi9pZ3RfZHVtbXlsb2FkLmMgICAgICAgICAgIHwgMjAg KysrKysrKysrKysrKysrKysrKysKIGxpYi9pZ3RfZHVtbXlsb2FkLmggICAgICAgICAgIHwgIDIg KysKIHRlc3RzL2k5MTUvZ2VtX2V4ZWNfbGF0ZW5jeS5jIHwgMTkgKysrKy0tLS0tLS0tLS0tLS0t LQogdGVzdHMvaTkxNS9nZW1fc3luYy5jICAgICAgICAgfCAzNCArKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tCiB0ZXN0cy9wZXJmX3BtdS5jICAgICAgICAgICAgICB8IDEwICstLS0t LS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgNDQgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbGliL2lndF9kdW1teWxvYWQuYyBiL2xpYi9pZ3RfZHVtbXlsb2FkLmMK aW5kZXggMWQ1N2E1M2MuLjEyNDY1MDI0IDEwMDY0NAotLS0gYS9saWIvaWd0X2R1bW15bG9hZC5j CisrKyBiL2xpYi9pZ3RfZHVtbXlsb2FkLmMKQEAgLTI2MCw2ICsyNjAsOCBAQCBlbWl0X3JlY3Vy c2l2ZV9iYXRjaChpZ3Rfc3Bpbl90ICpzcGluLAogCW9ialtTQ1JBVENIXS5mbGFncyA9IEVYRUNf T0JKRUNUX1BJTk5FRDsKIAlvYmpbQkFUQ0hdLmZsYWdzID0gRVhFQ19PQkpFQ1RfUElOTkVEOwog CisJc3Bpbi0+Y21kX3ByZWNvbmRpdGlvbiA9ICpzcGluLT5iYXRjaDsKKwogCXJldHVybiBmZW5j ZV9mZDsKIH0KIApAQCAtMzY2LDYgKzM2OCwyNCBAQCB2b2lkIGlndF9zcGluX3NldF90aW1lb3V0 KGlndF9zcGluX3QgKnNwaW4sIGludDY0X3QgbnMpCiAJc3Bpbi0+dGltZXIgPSB0aW1lcjsKIH0K IAorLyoqCisgKiBpZ3Rfc3Bpbl9yZXNldDoKKyAqIEBzcGluOiBzcGluIHN0YXRlIGZyb20gaWd0 X3NwaW5fbmV3KCkKKyAqCisgKiBSZXNldCB0aGUgc3RhdGUgb2Ygc3BpbiwgYWxsb3dpbmcgaXRz IHJldXNlLgorICovCit2b2lkIGlndF9zcGluX3Jlc2V0KGlndF9zcGluX3QgKnNwaW4pCit7CisJ aWYgKCFzcGluKQorCQlyZXR1cm47CisKKwlpZiAoaWd0X3NwaW5faGFzX3BvbGwoc3BpbikpCisJ CXNwaW4tPnBvbGxbU1BJTl9QT0xMX1NUQVJUX0lEWF0gPSAwOworCisJKnNwaW4tPmJhdGNoID0g c3Bpbi0+Y21kX3ByZWNvbmRpdGlvbjsKKwlfX3N5bmNfc3luY2hyb25pemUoKTsKK30KKwogLyoq CiAgKiBpZ3Rfc3Bpbl9lbmQ6CiAgKiBAc3Bpbjogc3BpbiBzdGF0ZSBmcm9tIGlndF9zcGluX25l dygpCmRpZmYgLS1naXQgYS9saWIvaWd0X2R1bW15bG9hZC5oIGIvbGliL2lndF9kdW1teWxvYWQu aAppbmRleCBkNjQ4MjA4OS4uMzQ1MzdmMjcgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfZHVtbXlsb2Fk LmgKKysrIGIvbGliL2lndF9kdW1teWxvYWQuaApAQCAtMzcsNiArMzcsNyBAQCB0eXBlZGVmIHN0 cnVjdCBpZ3Rfc3BpbiB7CiAJdGltZXJfdCB0aW1lcjsKIAlzdHJ1Y3QgaWd0X2xpc3QgbGluazsK IAl1aW50MzJfdCAqYmF0Y2g7CisJdWludDMyX3QgY21kX3ByZWNvbmRpdGlvbjsKIAlpbnQgb3V0 X2ZlbmNlOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9ialsyXTsKIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGV4ZWNidWY7CkBAIC02OCw2ICs2OSw3IEBAIGln dF9zcGluX2ZhY3RvcnkoaW50IGZkLCBjb25zdCBzdHJ1Y3QgaWd0X3NwaW5fZmFjdG9yeSAqb3B0 cyk7CiAJaWd0X3NwaW5fZmFjdG9yeShmZCwgJigoc3RydWN0IGlndF9zcGluX2ZhY3Rvcnkpe19f VkFfQVJHU19ffSkpCiAKIHZvaWQgaWd0X3NwaW5fc2V0X3RpbWVvdXQoaWd0X3NwaW5fdCAqc3Bp biwgaW50NjRfdCBucyk7Cit2b2lkIGlndF9zcGluX3Jlc2V0KGlndF9zcGluX3QgKnNwaW4pOwog dm9pZCBpZ3Rfc3Bpbl9lbmQoaWd0X3NwaW5fdCAqc3Bpbik7CiB2b2lkIGlndF9zcGluX2ZyZWUo aW50IGZkLCBpZ3Rfc3Bpbl90ICpzcGluKTsKIApkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1f ZXhlY19sYXRlbmN5LmMgYi90ZXN0cy9pOTE1L2dlbV9leGVjX2xhdGVuY3kuYwppbmRleCA2Yjdk ZmJjMC4uMmNmYjc4YmYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfbGF0ZW5jeS5j CisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfbGF0ZW5jeS5jCkBAIC03MywxOSArNzMsMTcgQEAg cG9sbF9yaW5nKGludCBmZCwgdW5zaWduZWQgcmluZywgY29uc3QgY2hhciAqbmFtZSkKIAl1bnNp Z25lZCBsb25nIGN5Y2xlczsKIAlpZ3Rfc3Bpbl90ICpzcGluWzJdOwogCXVpbnQ2NF90IGVsYXBz ZWQ7Ci0JdWludDMyX3QgY21kOwogCiAJZ2VtX3JlcXVpcmVfcmluZyhmZCwgcmluZyk7CiAJaWd0 X3JlcXVpcmUoZ2VtX2Nhbl9zdG9yZV9kd29yZChmZCwgcmluZykpOwogCiAJc3BpblswXSA9IF9f aWd0X3NwaW5fZmFjdG9yeShmZCwgJm9wdHMpOwogCWlndF9hc3NlcnQoaWd0X3NwaW5faGFzX3Bv bGwoc3BpblswXSkpOwotCWNtZCA9ICpzcGluWzBdLT5iYXRjaDsKIAogCXNwaW5bMV0gPSBfX2ln dF9zcGluX2ZhY3RvcnkoZmQsICZvcHRzKTsKIAlpZ3RfYXNzZXJ0KGlndF9zcGluX2hhc19wb2xs KHNwaW5bMV0pKTsKIAotCWlndF9hc3NlcnQoY21kID09ICpzcGluWzFdLT5iYXRjaCk7CisJaWd0 X2Fzc2VydCgqc3BpblswXS0+YmF0Y2ggPT0gKnNwaW5bMV0tPmJhdGNoKTsKIAogCWlndF9zcGlu X2VuZChzcGluWzBdKTsKIAlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9zdGFydGVkKHNwaW5bMV0p OwpAQCAtOTYsOCArOTQsOCBAQCBwb2xsX3JpbmcoaW50IGZkLCB1bnNpZ25lZCByaW5nLCBjb25z dCBjaGFyICpuYW1lKQogCXdoaWxlICgoZWxhcHNlZCA9IGlndF9uc2VjX2VsYXBzZWQoJnR2KSkg PCAydWxsIDw8IDMwKSB7CiAJCWNvbnN0IHVuc2lnbmVkIGludCBpZHggPSBjeWNsZXMrKyAmIDE7 CiAKLQkJKnNwaW5baWR4XS0+YmF0Y2ggPSBjbWQ7Ci0JCXNwaW5baWR4XS0+cG9sbFtTUElOX1BP TExfU1RBUlRfSURYXSA9IDA7CisJCWlndF9zcGluX3Jlc2V0KHNwaW5baWR4XSk7CisKIAkJZ2Vt X2V4ZWNidWYoZmQsICZzcGluW2lkeF0tPmV4ZWNidWYpOwogCiAJCWlndF9zcGluX2VuZChzcGlu WyFpZHhdKTsKQEAgLTQxNCwxNSArNDEyLDYgQEAgc3RhdGljIHZvaWQgbGF0ZW5jeV9mcm9tX3Jp bmcoaW50IGZkLAogCX0KIH0KIAotc3RhdGljIHZvaWQgX19yZWFybV9zcGluKGlndF9zcGluX3Qg KnNwaW4pCi17Ci0JY29uc3QgdWludDMyX3QgbWlfYXJiX2NoayA9IDB4NSA8PCAyMzsKLQotICAg ICAgICpzcGluLT5iYXRjaCA9IG1pX2FyYl9jaGs7Ci0gICAgICAgc3Bpbi0+cG9sbFtTUElOX1BP TExfU1RBUlRfSURYXSA9IDA7Ci0gICAgICAgX19zeW5jX3N5bmNocm9uaXplKCk7Ci19Ci0KIHN0 YXRpYyB2b2lkCiBfX3N1Ym1pdF9zcGluKGludCBmZCwgaWd0X3NwaW5fdCAqc3BpbiwgdW5zaWdu ZWQgaW50IGZsYWdzKQogewpAQCAtNTU3LDcgKzU0Niw3IEBAIHJ0aG9nX2xhdGVuY3lfb25fcmlu ZyhpbnQgZmQsIHVuc2lnbmVkIGludCBlbmdpbmUsIGNvbnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVk IGluCiAJCQkJaWYgKG5lbmdpbmUgPiAxKQogCQkJCQl1c2xlZXAoMTAqbmVuZ2luZSk7CiAKLQkJ CQlfX3JlYXJtX3NwaW4oc3Bpbik7CisJCQkJaWd0X3NwaW5fcmVzZXQoc3Bpbik7CiAKIAkJCQlp Z3RfbnNlY19lbGFwc2VkKCZ0cyk7CiAJCQkJX19zdWJtaXRfc3BpbihmZCwgc3BpbiwgZW5naW5l KTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX3N5bmMuYyBiL3Rlc3RzL2k5MTUvZ2VtX3N5 bmMuYwppbmRleCBmMTdlY2QwYi4uOGM1YWFhMTQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2Vt X3N5bmMuYworKysgYi90ZXN0cy9pOTE1L2dlbV9zeW5jLmMKQEAgLTIwOSw3ICsyMDksNiBAQCB3 YWtldXBfcmluZyhpbnQgZmQsIHVuc2lnbmVkIHJpbmcsIGludCB0aW1lb3V0LCBpbnQgd2xlbikK IAkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiBleGVjYnVmOwogCQlkb3VibGUgZW5k LCB0aGlzLCBlbGFwc2VkLCBub3csIGJhc2VsaW5lOwogCQl1bnNpZ25lZCBsb25nIGN5Y2xlczsK LQkJdWludDMyX3QgY21kOwogCQlpZ3Rfc3Bpbl90ICpzcGluOwogCiAJCW1lbXNldCgmb2JqZWN0 LCAwLCBzaXplb2Yob2JqZWN0KSk7CkBAIC0yMjYsNyArMjI1LDYgQEAgd2FrZXVwX3JpbmcoaW50 IGZkLCB1bnNpZ25lZCByaW5nLCBpbnQgdGltZW91dCwgaW50IHdsZW4pCiAJCQkJICAgICAgLmZs YWdzID0gKElHVF9TUElOX1BPTExfUlVOIHwKIAkJCQkJCUlHVF9TUElOX0ZBU1QpKTsKIAkJaWd0 X2Fzc2VydChpZ3Rfc3Bpbl9oYXNfcG9sbChzcGluKSk7Ci0JCWNtZCA9ICpzcGluLT5iYXRjaDsK IAogCQlnZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYpOwogCkBAIC0yMzgsOCArMjM2LDggQEAgd2Fr ZXVwX3JpbmcoaW50IGZkLCB1bnNpZ25lZCByaW5nLCBpbnQgdGltZW91dCwgaW50IHdsZW4pCiAJ CQllbGFwc2VkID0gMDsKIAkJCWN5Y2xlcyA9IDA7CiAJCQlkbyB7Ci0JCQkJKnNwaW4tPmJhdGNo ID0gY21kOwotCQkJCXNwaW4tPnBvbGxbU1BJTl9QT0xMX1NUQVJUX0lEWF0gPSAwOworCQkJCWln dF9zcGluX3Jlc2V0KHNwaW4pOworCiAJCQkJZ2VtX2V4ZWNidWYoZmQsICZzcGluLT5leGVjYnVm KTsKIAkJCQlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9zdGFydGVkKHNwaW4pOwogCkBAIC0yNjIs OCArMjYwLDggQEAgd2FrZXVwX3JpbmcoaW50IGZkLCB1bnNpZ25lZCByaW5nLCBpbnQgdGltZW91 dCwgaW50IHdsZW4pCiAJCWVsYXBzZWQgPSAwOwogCQljeWNsZXMgPSAwOwogCQlkbyB7Ci0JCQkq c3Bpbi0+YmF0Y2ggPSBjbWQ7Ci0JCQlzcGluLT5wb2xsW1NQSU5fUE9MTF9TVEFSVF9JRFhdID0g MDsKKwkJCWlndF9zcGluX3Jlc2V0KHNwaW4pOworCiAJCQlnZW1fZXhlY2J1ZihmZCwgJnNwaW4t PmV4ZWNidWYpOwogCQkJaWd0X3NwaW5fYnVzeXdhaXRfdW50aWxfc3RhcnRlZChzcGluKTsKIApA QCAtMzIxLDE3ICszMTksMTQgQEAgc3RhdGljIHZvaWQgYWN0aXZlX3JpbmcoaW50IGZkLCB1bnNp Z25lZCByaW5nLCBpbnQgdGltZW91dCkKIAkJZG91YmxlIHN0YXJ0LCBlbmQsIGVsYXBzZWQ7CiAJ CXVuc2lnbmVkIGxvbmcgY3ljbGVzOwogCQlpZ3Rfc3Bpbl90ICpzcGluWzJdOwotCQl1aW50MzJf dCBjbWQ7CiAKIAkJc3BpblswXSA9IF9faWd0X3NwaW5fbmV3KGZkLAogCQkJCQkgLmVuZ2luZSA9 IHJpbmcsCiAJCQkJCSAuZmxhZ3MgPSBJR1RfU1BJTl9GQVNUKTsKLQkJY21kID0gKnNwaW5bMF0t PmJhdGNoOwogCiAJCXNwaW5bMV0gPSBfX2lndF9zcGluX25ldyhmZCwKIAkJCQkJIC5lbmdpbmUg PSByaW5nLAogCQkJCQkgLmZsYWdzID0gSUdUX1NQSU5fRkFTVCk7Ci0JCWlndF9hc3NlcnQoKnNw aW5bMV0tPmJhdGNoID09IGNtZCk7CiAKIAkJc3RhcnQgPSBnZXR0aW1lKCk7CiAJCWVuZCA9IHN0 YXJ0ICsgdGltZW91dDsKQEAgLTM0Myw3ICszMzgsOCBAQCBzdGF0aWMgdm9pZCBhY3RpdmVfcmlu ZyhpbnQgZmQsIHVuc2lnbmVkIHJpbmcsIGludCB0aW1lb3V0KQogCQkJCWlndF9zcGluX2VuZChz KTsKIAkJCQlnZW1fc3luYyhmZCwgcy0+aGFuZGxlKTsKIAotCQkJCSpzLT5iYXRjaCA9IGNtZDsK KwkJCQlpZ3Rfc3Bpbl9yZXNldChzKTsKKwogCQkJCWdlbV9leGVjYnVmKGZkLCAmcy0+ZXhlY2J1 Zik7CiAJCQl9CiAJCQljeWNsZXMgKz0gMTAyNDsKQEAgLTM5Myw3ICszODksNiBAQCBhY3RpdmVf d2FrZXVwX3JpbmcoaW50IGZkLCB1bnNpZ25lZCByaW5nLCBpbnQgdGltZW91dCwgaW50IHdsZW4p CiAJCWRvdWJsZSBlbmQsIHRoaXMsIGVsYXBzZWQsIG5vdywgYmFzZWxpbmU7CiAJCXVuc2lnbmVk IGxvbmcgY3ljbGVzOwogCQlpZ3Rfc3Bpbl90ICpzcGluWzJdOwotCQl1aW50MzJfdCBjbWQ7CiAK IAkJbWVtc2V0KCZvYmplY3QsIDAsIHNpemVvZihvYmplY3QpKTsKIAkJb2JqZWN0LmhhbmRsZSA9 IGdlbV9jcmVhdGUoZmQsIDQwOTYpOwpAQCAtNDA5LDcgKzQwNCw2IEBAIGFjdGl2ZV93YWtldXBf cmluZyhpbnQgZmQsIHVuc2lnbmVkIHJpbmcsIGludCB0aW1lb3V0LCBpbnQgd2xlbikKIAkJCQkJ IC5mbGFncyA9IChJR1RfU1BJTl9QT0xMX1JVTiB8CiAJCQkJCQkgICBJR1RfU1BJTl9GQVNUKSk7 CiAJCWlndF9hc3NlcnQoaWd0X3NwaW5faGFzX3BvbGwoc3BpblswXSkpOwotCQljbWQgPSAqc3Bp blswXS0+YmF0Y2g7CiAKIAkJc3BpblsxXSA9IF9faWd0X3NwaW5fbmV3KGZkLAogCQkJCQkgLmVu Z2luZSA9IGV4ZWNidWYuZmxhZ3MsCkBAIC00MjMsOCArNDE3LDggQEAgYWN0aXZlX3dha2V1cF9y aW5nKGludCBmZCwgdW5zaWduZWQgcmluZywgaW50IHRpbWVvdXQsIGludCB3bGVuKQogCQlnZW1f c3luYyhmZCwgb2JqZWN0LmhhbmRsZSk7CiAKIAkJZm9yIChpbnQgd2FybXVwID0gMDsgd2FybXVw IDw9IDE7IHdhcm11cCsrKSB7Ci0JCQkqc3BpblswXS0+YmF0Y2ggPSBjbWQ7Ci0JCQlzcGluWzBd LT5wb2xsW1NQSU5fUE9MTF9TVEFSVF9JRFhdID0gMDsKKwkJCWlndF9zcGluX3Jlc2V0KHNwaW5b MF0pOworCiAJCQlnZW1fZXhlY2J1ZihmZCwgJnNwaW5bMF0tPmV4ZWNidWYpOwogCiAJCQllbmQg PSBnZXR0aW1lKCkgKyB0aW1lb3V0LzEwLjsKQEAgLTQzMyw4ICs0MjcsOCBAQCBhY3RpdmVfd2Fr ZXVwX3JpbmcoaW50IGZkLCB1bnNpZ25lZCByaW5nLCBpbnQgdGltZW91dCwgaW50IHdsZW4pCiAJ CQlkbyB7CiAJCQkJaWd0X3NwaW5fYnVzeXdhaXRfdW50aWxfc3RhcnRlZChzcGluWzBdKTsKIAot CQkJCSpzcGluWzFdLT5iYXRjaCA9IGNtZDsKLQkJCQlzcGluWzFdLT5wb2xsW1NQSU5fUE9MTF9T VEFSVF9JRFhdID0gMDsKKwkJCQlpZ3Rfc3Bpbl9yZXNldChzcGluWzFdKTsKKwogCQkJCWdlbV9l eGVjYnVmKGZkLCAmc3BpblsxXS0+ZXhlY2J1Zik7CiAKIAkJCQl0aGlzID0gZ2V0dGltZSgpOwpA QCAtNDU0LDggKzQ0OCw4IEBAIGFjdGl2ZV93YWtldXBfcmluZyhpbnQgZmQsIHVuc2lnbmVkIHJp bmcsIGludCB0aW1lb3V0LCBpbnQgd2xlbikKIAkJCSBuYW1lc1tjaGlsZCAlIG51bV9lbmdpbmVz XSA/ICIgYiIgOiAiQiIsCiAJCQkgY3ljbGVzLCBlbGFwc2VkKjFlNi9jeWNsZXMpOwogCi0JCSpz cGluWzBdLT5iYXRjaCA9IGNtZDsKLQkJc3BpblswXS0+cG9sbFtTUElOX1BPTExfU1RBUlRfSURY XSA9IDA7CisJCWlndF9zcGluX3Jlc2V0KHNwaW5bMF0pOworCiAJCWdlbV9leGVjYnVmKGZkLCAm c3BpblswXS0+ZXhlY2J1Zik7CiAKIAkJZW5kID0gZ2V0dGltZSgpICsgdGltZW91dDsKQEAgLTQ2 Nyw4ICs0NjEsOCBAQCBhY3RpdmVfd2FrZXVwX3JpbmcoaW50IGZkLCB1bnNpZ25lZCByaW5nLCBp bnQgdGltZW91dCwgaW50IHdsZW4pCiAJCQlmb3IgKGludCBuID0gMDsgbiA8IHdsZW47IG4rKykK IAkJCQlnZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYpOwogCi0JCQkqc3BpblsxXS0+YmF0Y2ggPSBj bWQ7Ci0JCQlzcGluWzFdLT5wb2xsW1NQSU5fUE9MTF9TVEFSVF9JRFhdID0gMDsKKwkJCWlndF9z cGluX3Jlc2V0KHNwaW5bMV0pOworCiAJCQlnZW1fZXhlY2J1ZihmZCwgJnNwaW5bMV0tPmV4ZWNi dWYpOwogCiAJCQl0aGlzID0gZ2V0dGltZSgpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvcGVyZl9wbXUu YyBiL3Rlc3RzL3BlcmZfcG11LmMKaW5kZXggYThhZDg2Y2UuLmU3MTlhMjkyIDEwMDY0NAotLS0g YS90ZXN0cy9wZXJmX3BtdS5jCisrKyBiL3Rlc3RzL3BlcmZfcG11LmMKQEAgLTE1MDEsMTQgKzE1 MDEsNiBAQCB0ZXN0X2VuYWJsZV9yYWNlKGludCBnZW1fZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9l eGVjdXRpb25fZW5naW5lMiAqZSkKIAlnZW1fcXVpZXNjZW50X2dwdShnZW1fZmQpOwogfQogCi1z dGF0aWMgdm9pZCBfX3JlYXJtX3NwaW4oaWd0X3NwaW5fdCAqc3BpbikKLXsKLQljb25zdCB1aW50 MzJfdCBtaV9hcmJfY2hrID0gMHg1IDw8IDIzOwotCi0gICAgICAgKnNwaW4tPmJhdGNoID0gbWlf YXJiX2NoazsKLSAgICAgICBfX3N5bmNfc3luY2hyb25pemUoKTsKLX0KLQogI2RlZmluZSBfX2Fz c2VydF93aXRoaW4oeCwgcmVmLCB0b2xfdXAsIHRvbF9kb3duKSBcCiAJaWd0X2Fzc2VydF9mKChk b3VibGUpKHgpIDw9ICgoZG91YmxlKShyZWYpICsgKHRvbF91cCkpICYmIFwKIAkJICAgICAoZG91 YmxlKSh4KSA+PSAoKGRvdWJsZSkocmVmKSAtICh0b2xfZG93bikpLCBcCkBAIC0xNTk2LDcgKzE1 ODgsNyBAQCBhY2N1cmFjeShpbnQgZ2VtX2ZkLCBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9u X2VuZ2luZTIgKmUsCiAJCQkJbmFub3NsZWVwKCZfdHMsIE5VTEwpOwogCiAJCQkJLyogUmVzdGFy dCB0aGUgc3BpbmJhdGNoLiAqLwotCQkJCV9fcmVhcm1fc3BpbihzcGluKTsKKwkJCQlpZ3Rfc3Bp bl9yZXNldChzcGluKTsKIAkJCQlfX3N1Ym1pdF9zcGluKGdlbV9mZCwgc3BpbiwgZSwgMCk7CiAK IAkJCQkvKiBQV00gYnVzeSBzbGVlcC4gKi8KLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4