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:54:56 +0300 Message-ID: <20190417155456.18329-1-mika.kuoppala@linux.intel.com> References: <155551542486.25904.9290843077429523444@skylake-alporthouse-com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id BC9266E070 for ; Wed, 17 Apr 2019 15:55:09 +0000 (UTC) In-Reply-To: <155551542486.25904.9290843077429523444@skylake-alporthouse-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 SW5zdGVhZCBvZiBvcGVuY29kaW5nIHRoZSBwb2xsIGludG8gdGhlIHNwaW5uZXIsIHVzZQphIGhl bHBlciB0byBjaGVjayBpZiBzcGlubmVyIGhhcyBzdGFydGVkLgoKdjI6IHVzZSB6ZXJvIGFzIHBy ZXN1bWVkIG9mZnNldCAoQ2hyaXMpCgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+ClNpZ25lZC1vZmYtYnk6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGlu dXguaW50ZWwuY29tPgotLS0KIGxpYi9pZ3RfZHVtbXlsb2FkLmMgICAgICAgICAgICB8IDM1ICsr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIGxpYi9pZ3RfZHVtbXlsb2FkLmggICAg ICAgICAgICB8IDE3ICsrKysrKysrKysrKysrLS0tCiB0ZXN0cy9pOTE1L2dlbV9jdHhfZXhlYy5j ICAgICAgfCAgNCArLS0tCiB0ZXN0cy9pOTE1L2dlbV9jdHhfaXNvbGF0aW9uLmMgfCAgNCArKy0t CiB0ZXN0cy9pOTE1L2dlbV9laW8uYyAgICAgICAgICAgfCAgNCArKy0tCiB0ZXN0cy9pOTE1L2dl bV9leGVjX2xhdGVuY3kuYyAgfCAyMiArKysrKysrKysrLS0tLS0tLS0tLS0KIHRlc3RzL2k5MTUv Z2VtX2V4ZWNfc2NoZWR1bGUuYyB8ICA1ICsrLS0tCiB0ZXN0cy9pOTE1L2dlbV9zeW5jLmMgICAg ICAgICAgfCAyOCArKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIHRlc3RzL3BlcmZfcG11LmMg ICAgICAgICAgICAgICB8ICA0ICsrLS0KIDkgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygr KSwgNTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9kdW1teWxvYWQuYyBiL2xp Yi9pZ3RfZHVtbXlsb2FkLmMKaW5kZXggNDdmNmI5MmIuLjA2NGEwMjQ2IDEwMDY0NAotLS0gYS9s aWIvaWd0X2R1bW15bG9hZC5jCisrKyBiL2xpYi9pZ3RfZHVtbXlsb2FkLmMKQEAgLTY3LDExICs2 NywxMyBAQCBzdGF0aWMgcHRocmVhZF9tdXRleF90IGxpc3RfbG9jayA9IFBUSFJFQURfTVVURVhf SU5JVElBTElaRVI7CiAKIHN0YXRpYyB2b2lkCiBmaWxsX3JlbG9jKHN0cnVjdCBkcm1faTkxNV9n ZW1fcmVsb2NhdGlvbl9lbnRyeSAqcmVsb2MsCi0JICAgdWludDMyX3QgZ2VtX2hhbmRsZSwgdWlu dDMyX3Qgb2Zmc2V0LAorCSAgIHVpbnQzMl90IGdlbV9oYW5kbGUsIHVpbnQzMl90IG9mZnNldCwg dWludDMyX3QgZGVsdGEsCiAJICAgdWludDMyX3QgcmVhZF9kb21haW5zLCB1aW50MzJfdCB3cml0 ZV9kb21haW5zKQogeworCXJlbG9jLT5wcmVzdW1lZF9vZmZzZXQgPSAwOwogCXJlbG9jLT50YXJn ZXRfaGFuZGxlID0gZ2VtX2hhbmRsZTsKIAlyZWxvYy0+b2Zmc2V0ID0gb2Zmc2V0ICogc2l6ZW9m KHVpbnQzMl90KTsKKwlyZWxvYy0+ZGVsdGEgPSBkZWx0YSAqIHNpemVvZih1aW50MzJfdCk7CiAJ cmVsb2MtPnJlYWRfZG9tYWlucyA9IHJlYWRfZG9tYWluczsKIAlyZWxvYy0+d3JpdGVfZG9tYWlu ID0gd3JpdGVfZG9tYWluczsKIH0KQEAgLTEzMSwxMSArMTMzLDEzIEBAIGVtaXRfcmVjdXJzaXZl X2JhdGNoKGlndF9zcGluX3QgKnNwaW4sCiAJCS8qIGR1bW15IHdyaXRlIHRvIGRlcGVuZGVuY3kg Ki8KIAkJb2JqW1NDUkFUQ0hdLmhhbmRsZSA9IG9wdHMtPmRlcGVuZGVuY3k7CiAJCWZpbGxfcmVs b2MoJnJlbG9jc1tvYmpbQkFUQ0hdLnJlbG9jYXRpb25fY291bnQrK10sCi0JCQkgICBvcHRzLT5k ZXBlbmRlbmN5LCAxMDIwLAorCQkJICAgb3B0cy0+ZGVwZW5kZW5jeSwgMTAyMCwgMCwKIAkJCSAg IEk5MTVfR0VNX0RPTUFJTl9SRU5ERVIsCiAJCQkgICBJOTE1X0dFTV9ET01BSU5fUkVOREVSKTsK IAkJZXhlY2J1Zi0+YnVmZmVyX2NvdW50Kys7CiAJfSBlbHNlIGlmIChvcHRzLT5mbGFncyAmIElH VF9TUElOX1BPTExfUlVOKSB7CisJCWNvbnN0IHVuc2lnbmVkIGludCBzdGFydF9pZHhfb2Zmc2V0 ID0KKwkJCVNQSU5fUE9MTF9TVEFSVF9JRFggKiBzaXplb2YodWludDMyX3QpOwogCQl1bnNpZ25l ZCBpbnQgb2Zmc2V0OwogCiAJCWlndF9hc3NlcnQoIW9wdHMtPmRlcGVuZGVuY3kpOwpAQCAtMTQ5 LDM2ICsxNTMsMzcgQEAgZW1pdF9yZWN1cnNpdmVfYmF0Y2goaWd0X3NwaW5fdCAqc3BpbiwKIAog CQlpZiAoX19nZW1fc2V0X2NhY2hpbmcoZmQsIHNwaW4tPnBvbGxfaGFuZGxlLAogCQkJCSAgICAg IEk5MTVfQ0FDSElOR19DQUNIRUQpID09IDApCi0JCQlzcGluLT5ydW5uaW5nID0gZ2VtX21tYXBf X2NwdShmZCwgc3Bpbi0+cG9sbF9oYW5kbGUsCi0JCQkJCQkgICAgICAwLCA0MDk2LAotCQkJCQkJ ICAgICAgUFJPVF9SRUFEIHwgUFJPVF9XUklURSk7CisJCQlzcGluLT5wb2xsID0gZ2VtX21tYXBf X2NwdShmZCwgc3Bpbi0+cG9sbF9oYW5kbGUsCisJCQkJCQkgICAwLCA0MDk2LAorCQkJCQkJICAg UFJPVF9SRUFEIHwgUFJPVF9XUklURSk7CiAJCWVsc2UKLQkJCXNwaW4tPnJ1bm5pbmcgPSBnZW1f bW1hcF9fd2MoZmQsIHNwaW4tPnBvbGxfaGFuZGxlLAotCQkJCQkJICAgICAwLCA0MDk2LAotCQkJ CQkJICAgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFKTsKLQkJaWd0X2Fzc2VydF9lcSgqc3Bpbi0+ cnVubmluZywgMCk7CisJCQlzcGluLT5wb2xsID0gZ2VtX21tYXBfX3djKGZkLCBzcGluLT5wb2xs X2hhbmRsZSwKKwkJCQkJCSAgMCwgNDA5NiwKKwkJCQkJCSAgUFJPVF9SRUFEIHwgUFJPVF9XUklU RSk7CisJCWlndF9hc3NlcnRfZXEoc3Bpbi0+cG9sbFtTUElOX1BPTExfU1RBUlRfSURYXSwgMCk7 CiAKIAkJKmJhdGNoKysgPSBNSV9TVE9SRV9EV09SRF9JTU0gfCAoZ2VuIDwgNiA/IDEgPDwgMjIg OiAwKTsKIAogCQlpZiAoZ2VuID49IDgpIHsKIAkJCW9mZnNldCA9IDE7Ci0JCQkqYmF0Y2grKyA9 IDA7CisJCQkqYmF0Y2grKyA9IHN0YXJ0X2lkeF9vZmZzZXQ7CiAJCQkqYmF0Y2grKyA9IDA7CiAJ CX0gZWxzZSBpZiAoZ2VuID49IDQpIHsKIAkJCW9mZnNldCA9IDI7CiAJCQkqYmF0Y2grKyA9IDA7 Ci0JCQkqYmF0Y2grKyA9IDA7CisJCQkqYmF0Y2grKyA9IHN0YXJ0X2lkeF9vZmZzZXQ7CiAJCX0g ZWxzZSB7CiAJCQlvZmZzZXQgPSAxOwogCQkJYmF0Y2hbLTFdLS07Ci0JCQkqYmF0Y2grKyA9IDA7 CisJCQkqYmF0Y2grKyA9IHN0YXJ0X2lkeF9vZmZzZXQ7CiAJCX0KIAogCQkqYmF0Y2grKyA9IDE7 CiAKIAkJb2JqW1NDUkFUQ0hdLmhhbmRsZSA9IHNwaW4tPnBvbGxfaGFuZGxlOwogCQlmaWxsX3Jl bG9jKCZyZWxvY3Nbb2JqW0JBVENIXS5yZWxvY2F0aW9uX2NvdW50KytdLAotCQkJICAgc3Bpbi0+ cG9sbF9oYW5kbGUsIG9mZnNldCwgMCwgMCk7CisJCQkgICBzcGluLT5wb2xsX2hhbmRsZSwgb2Zm c2V0LAorCQkJICAgU1BJTl9QT0xMX1NUQVJUX0lEWCwgMCwgMCk7CiAJCWV4ZWNidWYtPmJ1ZmZl cl9jb3VudCsrOwogCX0KIApAQCAtNDA4LDggKzQxMyw4IEBAIHZvaWQgaWd0X3NwaW5fYmF0Y2hf ZnJlZShpbnQgZmQsIGlndF9zcGluX3QgKnNwaW4pCiAJZ2VtX211bm1hcCgodm9pZCAqKSgodW5z aWduZWQgbG9uZylzcGluLT5iYXRjaCAmICh+NDA5NVVMKSksCiAJCSAgIEJBVENIX1NJWkUpOwog Ci0JaWYgKHNwaW4tPnJ1bm5pbmcpIHsKLQkJZ2VtX211bm1hcChzcGluLT5ydW5uaW5nLCA0MDk2 KTsKKwlpZiAoc3Bpbi0+cG9sbCkgeworCQlnZW1fbXVubWFwKHNwaW4tPnBvbGwsIDQwOTYpOwog CQlnZW1fY2xvc2UoZmQsIHNwaW4tPnBvbGxfaGFuZGxlKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2xp Yi9pZ3RfZHVtbXlsb2FkLmggYi9saWIvaWd0X2R1bW15bG9hZC5oCmluZGV4IDczYmQwMzViLi4z NzkzYmY3ZiAxMDA2NDQKLS0tIGEvbGliL2lndF9kdW1teWxvYWQuaAorKysgYi9saWIvaWd0X2R1 bW15bG9hZC5oCkBAIC00MSw3ICs0MSw4IEBAIHR5cGVkZWYgc3RydWN0IGlndF9zcGluIHsKIAlz dHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmpbMl07CiAJc3RydWN0IGRybV9pOTE1 X2dlbV9leGVjYnVmZmVyMiBleGVjYnVmOwogCXVpbnQzMl90IHBvbGxfaGFuZGxlOwotCWJvb2wg KnJ1bm5pbmc7CisJdWludDMyX3QgKnBvbGw7CisjZGVmaW5lIFNQSU5fUE9MTF9TVEFSVF9JRFgg MAogfSBpZ3Rfc3Bpbl90OwogCiBzdHJ1Y3QgaWd0X3NwaW5fZmFjdG9yeSB7CkBAIC03MCw5ICs3 MSwxOSBAQCB2b2lkIGlndF9zcGluX2JhdGNoX3NldF90aW1lb3V0KGlndF9zcGluX3QgKnNwaW4s IGludDY0X3QgbnMpOwogdm9pZCBpZ3Rfc3Bpbl9iYXRjaF9lbmQoaWd0X3NwaW5fdCAqc3Bpbik7 CiB2b2lkIGlndF9zcGluX2JhdGNoX2ZyZWUoaW50IGZkLCBpZ3Rfc3Bpbl90ICpzcGluKTsKIAot c3RhdGljIGlubGluZSB2b2lkIGlndF9zcGluX2J1c3l3YWl0X3VudGlsX3J1bm5pbmcoaWd0X3Nw aW5fdCAqc3BpbikKK3N0YXRpYyBpbmxpbmUgYm9vbCBpZ3Rfc3Bpbl9oYXNfcG9sbChjb25zdCBp Z3Rfc3Bpbl90ICpzcGluKQogewotCXdoaWxlICghUkVBRF9PTkNFKCpzcGluLT5ydW5uaW5nKSkK KwlyZXR1cm4gc3Bpbi0+cG9sbDsKK30KKworc3RhdGljIGlubGluZSBib29sIGlndF9zcGluX2hh c19zdGFydGVkKGlndF9zcGluX3QgKnNwaW4pCit7CisJcmV0dXJuIFJFQURfT05DRShzcGluLT5w b2xsW1NQSU5fUE9MTF9TVEFSVF9JRFhdKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGlndF9z cGluX2J1c3l3YWl0X3VudGlsX3N0YXJ0ZWQoaWd0X3NwaW5fdCAqc3BpbikKK3sKKwl3aGlsZSAo IWlndF9zcGluX2hhc19zdGFydGVkKHNwaW4pKQogCQk7CiB9CiAKZGlmZiAtLWdpdCBhL3Rlc3Rz L2k5MTUvZ2VtX2N0eF9leGVjLmMgYi90ZXN0cy9pOTE1L2dlbV9jdHhfZXhlYy5jCmluZGV4IGQ2 N2QwZWMyLi5mMzdlNmYyOCAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fY3R4X2V4ZWMuYwor KysgYi90ZXN0cy9pOTE1L2dlbV9jdHhfZXhlYy5jCkBAIC0xODEsMTAgKzE4MSw4IEBAIHN0YXRp YyB2b2lkIG5vcmVjb3ZlcnkoaW50IGk5MTUpCiAJCXNwaW4gPSBfX2lndF9zcGluX2JhdGNoX25l dyhpOTE1LAogCQkJCQkgICAgLmN0eCA9IHBhcmFtLmN0eF9pZCwKIAkJCQkJICAgIC5mbGFncyA9 IElHVF9TUElOX1BPTExfUlVOKTsKLQkJaWd0X2Fzc2VydChzcGluLT5ydW5uaW5nKTsKKwkJaWd0 X3NwaW5fYnVzeXdhaXRfdW50aWxfc3RhcnRlZChzcGluKTsKIAotCQl3aGlsZSAoIVJFQURfT05D RSgqc3Bpbi0+cnVubmluZykpCi0JCQk7CiAJCWlndF9mb3JjZV9ncHVfcmVzZXQoaTkxNSk7CiAK IAkJaWd0X3NwaW5fYmF0Y2hfZW5kKHNwaW4pOwpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1f Y3R4X2lzb2xhdGlvbi5jIGIvdGVzdHMvaTkxNS9nZW1fY3R4X2lzb2xhdGlvbi5jCmluZGV4IGYx MDAwNDU4Li5iZWQ3MWMyYiAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fY3R4X2lzb2xhdGlv bi5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9pc29sYXRpb24uYwpAQCAtNzA0LDggKzcwNCw4 IEBAIHN0YXRpYyB2b2lkIGluamVjdF9yZXNldF9jb250ZXh0KGludCBmZCwgdW5zaWduZWQgaW50 IGVuZ2luZSkKIAogCXNwaW4gPSBfX2lndF9zcGluX2JhdGNoX2ZhY3RvcnkoZmQsICZvcHRzKTsK IAotCWlmIChzcGluLT5ydW5uaW5nKQotCQlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9ydW5uaW5n KHNwaW4pOworCWlmIChpZ3Rfc3Bpbl9oYXNfcG9sbChzcGluKSkKKwkJaWd0X3NwaW5fYnVzeXdh aXRfdW50aWxfc3RhcnRlZChzcGluKTsKIAllbHNlCiAJCXVzbGVlcCgxMDAwKTsgLyogYmV0dGVy IHRoYW4gbm90aGluZyAqLwogCmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9laW8uYyBiL3Rl c3RzL2k5MTUvZ2VtX2Vpby5jCmluZGV4IDI5MjUwODUyLi4wN2JiZGViMSAxMDA2NDQKLS0tIGEv dGVzdHMvaTkxNS9nZW1fZWlvLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZWlvLmMKQEAgLTE4Niw4 ICsxODYsOCBAQCBzdGF0aWMgaWd0X3NwaW5fdCAqIF9fc3Bpbl9wb2xsKGludCBmZCwgdWludDMy X3QgY3R4LCB1bnNpZ25lZCBsb25nIGZsYWdzKQogCiBzdGF0aWMgdm9pZCBfX3NwaW5fd2FpdChp bnQgZmQsIGlndF9zcGluX3QgKnNwaW4pCiB7Ci0JaWYgKHNwaW4tPnJ1bm5pbmcpIHsKLQkJaWd0 X3NwaW5fYnVzeXdhaXRfdW50aWxfcnVubmluZyhzcGluKTsKKwlpZiAoaWd0X3NwaW5faGFzX3Bv bGwoc3BpbikpIHsKKwkJaWd0X3NwaW5fYnVzeXdhaXRfdW50aWxfc3RhcnRlZChzcGluKTsKIAl9 IGVsc2UgewogCQlpZ3RfZGVidWcoIl9fc3Bpbl93YWl0IC0gdXNsZWVwIG1vZGVcbiIpOwogCQl1 c2xlZXAoNTAwZTMpOyAvKiBCZXR0ZXIgdGhhbiBub3RoaW5nISAqLwpkaWZmIC0tZ2l0IGEvdGVz dHMvaTkxNS9nZW1fZXhlY19sYXRlbmN5LmMgYi90ZXN0cy9pOTE1L2dlbV9leGVjX2xhdGVuY3ku YwppbmRleCAzOWY0NDFkMi4uZmMxMDQwYzMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2V4 ZWNfbGF0ZW5jeS5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfbGF0ZW5jeS5jCkBAIC03OSwy OSArNzksMjkgQEAgcG9sbF9yaW5nKGludCBmZCwgdW5zaWduZWQgcmluZywgY29uc3QgY2hhciAq bmFtZSkKIAlpZ3RfcmVxdWlyZShnZW1fY2FuX3N0b3JlX2R3b3JkKGZkLCByaW5nKSk7CiAKIAlz cGluWzBdID0gX19pZ3Rfc3Bpbl9iYXRjaF9mYWN0b3J5KGZkLCAmb3B0cyk7Ci0JaWd0X2Fzc2Vy dChzcGluWzBdLT5ydW5uaW5nKTsKKwlpZ3RfYXNzZXJ0KGlndF9zcGluX2hhc19wb2xsKHNwaW5b MF0pKTsKIAljbWQgPSAqc3BpblswXS0+YmF0Y2g7CiAKIAlzcGluWzFdID0gX19pZ3Rfc3Bpbl9i YXRjaF9mYWN0b3J5KGZkLCAmb3B0cyk7Ci0JaWd0X2Fzc2VydChzcGluWzFdLT5ydW5uaW5nKTsK KwlpZ3RfYXNzZXJ0KGlndF9zcGluX2hhc19wb2xsKHNwaW5bMV0pKTsKKwogCWlndF9hc3NlcnQo Y21kID09ICpzcGluWzFdLT5iYXRjaCk7CiAKIAlpZ3Rfc3Bpbl9iYXRjaF9lbmQoc3BpblswXSk7 Ci0Jd2hpbGUgKCFSRUFEX09OQ0UoKnNwaW5bMV0tPnJ1bm5pbmcpKQotCQk7CisJaWd0X3NwaW5f YnVzeXdhaXRfdW50aWxfc3RhcnRlZChzcGluWzFdKTsKKwogCWlndF9hc3NlcnQoIWdlbV9ib19i dXN5KGZkLCBzcGluWzBdLT5oYW5kbGUpKTsKIAogCWN5Y2xlcyA9IDA7CiAJd2hpbGUgKChlbGFw c2VkID0gaWd0X25zZWNfZWxhcHNlZCgmdHYpKSA8IDJ1bGwgPDwgMzApIHsKLQkJdW5zaWduZWQg aW50IGlkeCA9IGN5Y2xlcysrICYgMTsKKwkJY29uc3QgdW5zaWduZWQgaW50IGlkeCA9IGN5Y2xl cysrICYgMTsKIAogCQkqc3BpbltpZHhdLT5iYXRjaCA9IGNtZDsKLQkJKnNwaW5baWR4XS0+cnVu bmluZyA9IDA7CisJCXNwaW5baWR4XS0+cG9sbFtTUElOX1BPTExfU1RBUlRfSURYXSA9IDA7CiAJ CWdlbV9leGVjYnVmKGZkLCAmc3BpbltpZHhdLT5leGVjYnVmKTsKIAogCQlpZ3Rfc3Bpbl9iYXRj aF9lbmQoc3BpblshaWR4XSk7Ci0JCXdoaWxlICghUkVBRF9PTkNFKCpzcGluW2lkeF0tPnJ1bm5p bmcpKQotCQkJOworCQlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9zdGFydGVkKHNwaW5baWR4XSk7 CiAJfQogCiAJaWd0X2luZm8oIiVzIGNvbXBsZXRlZCAlbGQgY3ljbGVzOiAlLjNmIHVzXG4iLApA QCAtNDE5LDcgKzQxOSw3IEBAIHN0YXRpYyB2b2lkIF9fcmVhcm1fc3Bpbl9iYXRjaChpZ3Rfc3Bp bl90ICpzcGluKQogCWNvbnN0IHVpbnQzMl90IG1pX2FyYl9jaGsgPSAweDUgPDwgMjM7CiAKICAg ICAgICAqc3Bpbi0+YmF0Y2ggPSBtaV9hcmJfY2hrOwotICAgICAgICpzcGluLT5ydW5uaW5nID0g MDsKKyAgICAgICBzcGluLT5wb2xsW1NQSU5fUE9MTF9TVEFSVF9JRFhdID0gMDsKICAgICAgICBf X3N5bmNfc3luY2hyb25pemUoKTsKIH0KIApAQCAtNDQxLDcgKzQ0MSw3IEBAIHN0cnVjdCBydF9w a3QgewogCiBzdGF0aWMgYm9vbCBfX3NwaW5fd2FpdChpbnQgZmQsIGlndF9zcGluX3QgKnNwaW4p CiB7Ci0Jd2hpbGUgKCFSRUFEX09OQ0UoKnNwaW4tPnJ1bm5pbmcpKSB7CisJd2hpbGUgKCFpZ3Rf c3Bpbl9oYXNfc3RhcnRlZChzcGluKSkgewogCQlpZiAoIWdlbV9ib19idXN5KGZkLCBzcGluLT5o YW5kbGUpKQogCQkJcmV0dXJuIGZhbHNlOwogCX0KQEAgLTUzNyw3ICs1MzcsNyBAQCBydGhvZ19s YXRlbmN5X29uX3JpbmcoaW50IGZkLCB1bnNpZ25lZCBpbnQgZW5naW5lLCBjb25zdCBjaGFyICpu YW1lLCB1bnNpZ25lZCBpbgogCQkJCQkgcGFzc25hbWVbcGFzc10pOwogCQkJCWJyZWFrOwogCQkJ fQotCQkJaWd0X3NwaW5fYnVzeXdhaXRfdW50aWxfcnVubmluZyhzcGluKTsKKwkJCWlndF9zcGlu X2J1c3l3YWl0X3VudGlsX3N0YXJ0ZWQoc3Bpbik7CiAKIAkJCWlndF91bnRpbF90aW1lb3V0KHBh c3MgPiAwID8gNSA6IDIpIHsKIAkJCQlzdHJ1Y3QgdGltZXNwZWMgdHMgPSB7IH07CmRpZmYgLS1n aXQgYS90ZXN0cy9pOTE1L2dlbV9leGVjX3NjaGVkdWxlLmMgYi90ZXN0cy9pOTE1L2dlbV9leGVj X3NjaGVkdWxlLmMKaW5kZXggNmYzZjUyZDIuLjcxOGExOTM1IDEwMDY0NAotLS0gYS90ZXN0cy9p OTE1L2dlbV9leGVjX3NjaGVkdWxlLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19zY2hlZHVs ZS5jCkBAIC00MzYsNyArNDM2LDcgQEAgc3RhdGljIHZvaWQgc2VtYXBob3JlX2NvZGVwZW5kZW5j eShpbnQgaTkxNSkKIAkJCQkJICAgICAuY3R4ID0gY3R4LAogCQkJCQkgICAgIC5lbmdpbmUgPSBl bmdpbmUsCiAJCQkJCSAgICAgLmZsYWdzID0gSUdUX1NQSU5fUE9MTF9SVU4pOwotCQlpZ3Rfc3Bp bl9idXN5d2FpdF91bnRpbF9ydW5uaW5nKHRhc2tbaV0ueGNzKTsKKwkJaWd0X3NwaW5fYnVzeXdh aXRfdW50aWxfc3RhcnRlZCh0YXNrW2ldLnhjcyk7CiAKIAkJLyogQ29tbW9uIHJjcyB0YXNrcyB3 aWxsIGJlIHF1ZXVlZCBpbiBGSUZPICovCiAJCXRhc2tbaV0ucmNzID0KQEAgLTEzNjEsOCArMTM2 MSw3IEBAIHN0YXRpYyB2b2lkIG1lYXN1cmVfc2VtYXBob3JlX3Bvd2VyKGludCBpOTE1KQogCQkJ CQkgICAgLmVuZ2luZSA9IHNpZ25hbGVyLAogCQkJCQkgICAgLmZsYWdzID0gSUdUX1NQSU5fUE9M TF9SVU4pOwogCQlnZW1fd2FpdChpOTE1LCBzcGluLT5oYW5kbGUsICZqaWZmaWUpOyAvKiB3YWl0 Ym9vc3QgKi8KLQkJaWd0X2Fzc2VydChzcGluLT5ydW5uaW5nKTsKLQkJaWd0X3NwaW5fYnVzeXdh aXRfdW50aWxfcnVubmluZyhzcGluKTsKKwkJaWd0X3NwaW5fYnVzeXdhaXRfdW50aWxfc3RhcnRl ZChzcGluKTsKIAogCQlncHVfcG93ZXJfcmVhZCgmcG93ZXIsICZzX3NwaW5bMF0pOwogCQl1c2xl ZXAoMTAwKjEwMDApOwpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fc3luYy5jIGIvdGVzdHMv aTkxNS9nZW1fc3luYy5jCmluZGV4IDNlNGZlZmYzLi4wYTBlZDJhMSAxMDA2NDQKLS0tIGEvdGVz dHMvaTkxNS9nZW1fc3luYy5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX3N5bmMuYwpAQCAtMjI1LDcg KzIyNSw3IEBAIHdha2V1cF9yaW5nKGludCBmZCwgdW5zaWduZWQgcmluZywgaW50IHRpbWVvdXQs IGludCB3bGVuKQogCQkJCQkgICAgLmVuZ2luZSA9IGV4ZWNidWYuZmxhZ3MsCiAJCQkJCSAgICAu ZmxhZ3MgPSAoSUdUX1NQSU5fUE9MTF9SVU4gfAogCQkJCQkJICAgICAgSUdUX1NQSU5fRkFTVCkp OwotCQlpZ3RfYXNzZXJ0KHNwaW4tPnJ1bm5pbmcpOworCQlpZ3RfYXNzZXJ0KGlndF9zcGluX2hh c19wb2xsKHNwaW4pKTsKIAkJY21kID0gKnNwaW4tPmJhdGNoOwogCiAJCWdlbV9leGVjYnVmKGZk LCAmZXhlY2J1Zik7CkBAIC0yMzksMTAgKzIzOSw5IEBAIHdha2V1cF9yaW5nKGludCBmZCwgdW5z aWduZWQgcmluZywgaW50IHRpbWVvdXQsIGludCB3bGVuKQogCQkJY3ljbGVzID0gMDsKIAkJCWRv IHsKIAkJCQkqc3Bpbi0+YmF0Y2ggPSBjbWQ7Ci0JCQkJKnNwaW4tPnJ1bm5pbmcgPSAwOworCQkJ CXNwaW4tPnBvbGxbU1BJTl9QT0xMX1NUQVJUX0lEWF0gPSAwOwogCQkJCWdlbV9leGVjYnVmKGZk LCAmc3Bpbi0+ZXhlY2J1Zik7Ci0JCQkJd2hpbGUgKCFSRUFEX09OQ0UoKnNwaW4tPnJ1bm5pbmcp KQotCQkJCQk7CisJCQkJaWd0X3NwaW5fYnVzeXdhaXRfdW50aWxfc3RhcnRlZChzcGluKTsKIAog CQkJCXRoaXMgPSBnZXR0aW1lKCk7CiAJCQkJaWd0X3NwaW5fYmF0Y2hfZW5kKHNwaW4pOwpAQCAt MjY0LDEwICsyNjMsOSBAQCB3YWtldXBfcmluZyhpbnQgZmQsIHVuc2lnbmVkIHJpbmcsIGludCB0 aW1lb3V0LCBpbnQgd2xlbikKIAkJY3ljbGVzID0gMDsKIAkJZG8gewogCQkJKnNwaW4tPmJhdGNo ID0gY21kOwotCQkJKnNwaW4tPnJ1bm5pbmcgPSAwOworCQkJc3Bpbi0+cG9sbFtTUElOX1BPTExf U1RBUlRfSURYXSA9IDA7CiAJCQlnZW1fZXhlY2J1ZihmZCwgJnNwaW4tPmV4ZWNidWYpOwotCQkJ d2hpbGUgKCFSRUFEX09OQ0UoKnNwaW4tPnJ1bm5pbmcpKQotCQkJCTsKKwkJCWlndF9zcGluX2J1 c3l3YWl0X3VudGlsX3N0YXJ0ZWQoc3Bpbik7CiAKIAkJCWZvciAoaW50IG4gPSAwOyBuIDwgd2xl bjsgbisrKQogCQkJCWdlbV9leGVjYnVmKGZkLCAmZXhlY2J1Zik7CkBAIC00MTAsNyArNDA4LDcg QEAgYWN0aXZlX3dha2V1cF9yaW5nKGludCBmZCwgdW5zaWduZWQgcmluZywgaW50IHRpbWVvdXQs IGludCB3bGVuKQogCQkJCQkgICAgICAgLmVuZ2luZSA9IGV4ZWNidWYuZmxhZ3MsCiAJCQkJCSAg ICAgICAuZmxhZ3MgPSAoSUdUX1NQSU5fUE9MTF9SVU4gfAogCQkJCQkJCSBJR1RfU1BJTl9GQVNU KSk7Ci0JCWlndF9hc3NlcnQoc3BpblswXS0+cnVubmluZyk7CisJCWlndF9hc3NlcnQoaWd0X3Nw aW5faGFzX3BvbGwoc3BpblswXSkpOwogCQljbWQgPSAqc3BpblswXS0+YmF0Y2g7CiAKIAkJc3Bp blsxXSA9IF9faWd0X3NwaW5fYmF0Y2hfbmV3KGZkLApAQCAtNDI2LDE4ICs0MjQsMTcgQEAgYWN0 aXZlX3dha2V1cF9yaW5nKGludCBmZCwgdW5zaWduZWQgcmluZywgaW50IHRpbWVvdXQsIGludCB3 bGVuKQogCiAJCWZvciAoaW50IHdhcm11cCA9IDA7IHdhcm11cCA8PSAxOyB3YXJtdXArKykgewog CQkJKnNwaW5bMF0tPmJhdGNoID0gY21kOwotCQkJKnNwaW5bMF0tPnJ1bm5pbmcgPSAwOworCQkJ c3BpblswXS0+cG9sbFtTUElOX1BPTExfU1RBUlRfSURYXSA9IDA7CiAJCQlnZW1fZXhlY2J1Zihm ZCwgJnNwaW5bMF0tPmV4ZWNidWYpOwogCiAJCQllbmQgPSBnZXR0aW1lKCkgKyB0aW1lb3V0LzEw LjsKIAkJCWVsYXBzZWQgPSAwOwogCQkJY3ljbGVzID0gMDsKIAkJCWRvIHsKLQkJCQl3aGlsZSAo IVJFQURfT05DRSgqc3BpblswXS0+cnVubmluZykpCi0JCQkJCTsKKwkJCQlpZ3Rfc3Bpbl9idXN5 d2FpdF91bnRpbF9zdGFydGVkKHNwaW5bMF0pOwogCiAJCQkJKnNwaW5bMV0tPmJhdGNoID0gY21k OwotCQkJCSpzcGluWzFdLT5ydW5uaW5nID0gMDsKKwkJCQlzcGluWzFdLT5wb2xsW1NQSU5fUE9M TF9TVEFSVF9JRFhdID0gMDsKIAkJCQlnZW1fZXhlY2J1ZihmZCwgJnNwaW5bMV0tPmV4ZWNidWYp OwogCiAJCQkJdGhpcyA9IGdldHRpbWUoKTsKQEAgLTQ1OCwyMSArNDU1LDIwIEBAIGFjdGl2ZV93 YWtldXBfcmluZyhpbnQgZmQsIHVuc2lnbmVkIHJpbmcsIGludCB0aW1lb3V0LCBpbnQgd2xlbikK IAkJCSBjeWNsZXMsIGVsYXBzZWQqMWU2L2N5Y2xlcyk7CiAKIAkJKnNwaW5bMF0tPmJhdGNoID0g Y21kOwotCQkqc3BpblswXS0+cnVubmluZyA9IDA7CisJCXNwaW5bMF0tPnBvbGxbU1BJTl9QT0xM X1NUQVJUX0lEWF0gPSAwOwogCQlnZW1fZXhlY2J1ZihmZCwgJnNwaW5bMF0tPmV4ZWNidWYpOwog CiAJCWVuZCA9IGdldHRpbWUoKSArIHRpbWVvdXQ7CiAJCWVsYXBzZWQgPSAwOwogCQljeWNsZXMg PSAwOwogCQlkbyB7Ci0JCQl3aGlsZSAoIVJFQURfT05DRSgqc3BpblswXS0+cnVubmluZykpCi0J CQkJOworCQkJaWd0X3NwaW5fYnVzeXdhaXRfdW50aWxfc3RhcnRlZChzcGluWzBdKTsKIAogCQkJ Zm9yIChpbnQgbiA9IDA7IG4gPCB3bGVuOyBuKyspCiAJCQkJZ2VtX2V4ZWNidWYoZmQsICZleGVj YnVmKTsKIAogCQkJKnNwaW5bMV0tPmJhdGNoID0gY21kOwotCQkJKnNwaW5bMV0tPnJ1bm5pbmcg PSAwOworCQkJc3BpblsxXS0+cG9sbFtTUElOX1BPTExfU1RBUlRfSURYXSA9IDA7CiAJCQlnZW1f ZXhlY2J1ZihmZCwgJnNwaW5bMV0tPmV4ZWNidWYpOwogCiAJCQl0aGlzID0gZ2V0dGltZSgpOwpk aWZmIC0tZ2l0IGEvdGVzdHMvcGVyZl9wbXUuYyBiL3Rlc3RzL3BlcmZfcG11LmMKaW5kZXggNGY1 NTJiYzIuLjI4ZjIzNWIxIDEwMDY0NAotLS0gYS90ZXN0cy9wZXJmX3BtdS5jCisrKyBiL3Rlc3Rz L3BlcmZfcG11LmMKQEAgLTE4OSwxMCArMTg5LDEwIEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIF9f c3Bpbl93YWl0KGludCBmZCwgaWd0X3NwaW5fdCAqc3BpbikKIAogCWlndF9uc2VjX2VsYXBzZWQo JnN0YXJ0KTsKIAotCWlmIChzcGluLT5ydW5uaW5nKSB7CisJaWYgKGlndF9zcGluX2hhc19wb2xs KHNwaW4pKSB7CiAJCXVuc2lnbmVkIGxvbmcgdGltZW91dCA9IDA7CiAKLQkJd2hpbGUgKCFSRUFE X09OQ0UoKnNwaW4tPnJ1bm5pbmcpKSB7CisJCXdoaWxlICghaWd0X3NwaW5faGFzX3N0YXJ0ZWQo c3BpbikpIHsKIAkJCXVuc2lnbmVkIGxvbmcgdCA9IGlndF9uc2VjX2VsYXBzZWQoJnN0YXJ0KTsK IAogCQkJaWYgKCh0IC0gdGltZW91dCkgPiAyNTBlNikgewotLSAKMi4xNy4xCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=