From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: [PATCH i-g-t 3/3] lib/igt_dummyload: Send batch as first Date: Tue, 23 Apr 2019 17:00:38 +0300 Message-ID: <20190423140038.20190-3-mika.kuoppala@linux.intel.com> References: <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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id EAC2A892D7 for ; Tue, 23 Apr 2019 14:00:47 +0000 (UTC) In-Reply-To: <20190423140038.20190-1-mika.kuoppala@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 VG8gc2ltcGxpZnkgZW1pdHRpbmcgdGhlIHJlY3Vyc2l2ZSBiYXRjaCwgbWFrZSBiYXRjaAphbHdh eXMgdGhlIGZpcnN0IG9iamVjdCBvbiB0aGUgZXhlY2J1ZiBsaXN0LgoKdjI6IHNldCBoYW5kbGVz IGVhcmx5LCBwb2xsX3B0ciBpbmRlY2VuY3kgKENocmlzKQp2MzogYWxsb3cgZGVwIHdpdGggcG9s bAoKQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpTaWduZWQtb2Zm LWJ5OiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBs aWIvaWd0X2R1bW15bG9hZC5jICAgICAgICAgICAgIHwgMTI0ICsrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tCiBsaWIvaWd0X2R1bW15bG9hZC5oICAgICAgICAgICAgIHwgICA4ICsrLQog dGVzdHMvaTkxNS9nZW1fY29uY3VycmVudF9hbGwuYyB8ICAgMyArLQogdGVzdHMvaTkxNS9nZW1f ZXhlY19zY2hlZHVsZS5jICB8ICAxNCArKy0tCiB0ZXN0cy9pOTE1L2dlbV9zb2Z0cGluLmMgICAg ICAgIHwgICAyICstCiB0ZXN0cy9pOTE1L2dlbV9zcGluX2JhdGNoLmMgICAgIHwgIDE2ICsrLS0t CiB0ZXN0cy9pOTE1L2k5MTVfaGFuZ21hbi5jICAgICAgIHwgICAyICstCiA3IGZpbGVzIGNoYW5n ZWQsIDg2IGluc2VydGlvbnMoKyksIDgzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi9p Z3RfZHVtbXlsb2FkLmMgYi9saWIvaWd0X2R1bW15bG9hZC5jCmluZGV4IDhiMGEyYTE3Li5kYmNj MzcxMSAxMDA2NDQKLS0tIGEvbGliL2lndF9kdW1teWxvYWQuYworKysgYi9saWIvaWd0X2R1bW15 bG9hZC5jCkBAIC02Miw2ICs2Miw3IEBACiAjZGVmaW5lIE1JX0FSQl9DSEsgKDB4NSA8PCAyMykK IAogc3RhdGljIGNvbnN0IGludCBCQVRDSF9TSVpFID0gNDA5NjsKK3N0YXRpYyBjb25zdCBpbnQg UE9MTF9TSVpFID0gNDA5NjsKIHN0YXRpYyBjb25zdCBpbnQgTE9PUF9TVEFSVF9PRkZTRVQgPSA2 NDsKIAogc3RhdGljIElHVF9MSVNUKHNwaW5fbGlzdCk7CkBAIC03MSwxNiArNzIsMTkgQEAgc3Rh dGljIGludAogZW1pdF9yZWN1cnNpdmVfYmF0Y2goaWd0X3NwaW5fdCAqc3BpbiwKIAkJICAgICBp bnQgZmQsIGNvbnN0IHN0cnVjdCBpZ3Rfc3Bpbl9mYWN0b3J5ICpvcHRzKQogewotI2RlZmluZSBT Q1JBVENIIDAKLSNkZWZpbmUgQkFUQ0ggMQogCWNvbnN0IGludCBnZW4gPSBpbnRlbF9nZW4oaW50 ZWxfZ2V0X2RybV9kZXZpZChmZCkpOwotCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVsb2NhdGlvbl9l bnRyeSByZWxvY3NbMl0sICpyOworCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyICog Y29uc3QgYmF0Y2ggPQorCQkmc3Bpbi0+X29ialtTUElOX09CSl9CQVRDSF07CisJc3RydWN0IGRy bV9pOTE1X2dlbV9leGVjX29iamVjdDIgKiBjb25zdCBwb2xsID0KKwkJJnNwaW4tPl9vYmpbU1BJ Tl9PQkpfUE9MTF07CisJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgKiBjb25zdCBk ZXAgPQorCQkmc3Bpbi0+X29ialtTUElOX09CSl9ERVBdOworCXN0cnVjdCBkcm1faTkxNV9nZW1f cmVsb2NhdGlvbl9lbnRyeSByZWxvY3NbM10sICpyOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhl Y2J1ZmZlcjIgKmV4ZWNidWY7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgKm9i ajsKIAl1bnNpZ25lZCBpbnQgZW5naW5lc1sxNl07CiAJdW5zaWduZWQgaW50IG5lbmdpbmU7CiAJ aW50IGZlbmNlX2ZkID0gLTE7Ci0JdWludDMyX3QgKmNzLCAqYmF0Y2g7CisJdWludDMyX3QgKmNz LCAqYmF0Y2hfc3RhcnQ7CiAJaW50IGk7CiAKIAluZW5naW5lID0gMDsKQEAgLTEwMSw2NSArMTA1 LDQ5IEBAIGVtaXRfcmVjdXJzaXZlX2JhdGNoKGlndF9zcGluX3QgKnNwaW4sCiAKIAltZW1zZXQo JnNwaW4tPmV4ZWNidWYsIDAsIHNpemVvZihzcGluLT5leGVjYnVmKSk7CiAJZXhlY2J1ZiA9ICZz cGluLT5leGVjYnVmOwotCW1lbXNldChzcGluLT5vYmosIDAsIHNpemVvZihzcGluLT5vYmopKTsK LQlvYmogPSBzcGluLT5vYmo7CisJbWVtc2V0KHNwaW4tPl9vYmosIDAsIHNpemVvZihzcGluLT5f b2JqKSk7CiAJbWVtc2V0KHJlbG9jcywgMCwgc2l6ZW9mKHJlbG9jcykpOwogCi0Jb2JqW0JBVENI XS5oYW5kbGUgPSBnZW1fY3JlYXRlKGZkLCBCQVRDSF9TSVpFKTsKLQliYXRjaCA9IF9fZ2VtX21t YXBfX3djKGZkLCBvYmpbQkFUQ0hdLmhhbmRsZSwKLQkJCSAgICAgICAwLCBCQVRDSF9TSVpFLCBQ Uk9UX1dSSVRFKTsKLQlpZiAoIWJhdGNoKQotCQliYXRjaCA9IGdlbV9tbWFwX19ndHQoZmQsIG9i altCQVRDSF0uaGFuZGxlLAotCQkJCSAgICAgIEJBVENIX1NJWkUsIFBST1RfV1JJVEUpOworCWJh dGNoLT5oYW5kbGUgPSBnZW1fY3JlYXRlKGZkLCBCQVRDSF9TSVpFKTsKKwlzcGluLT5oYW5kbGUg PSBiYXRjaC0+aGFuZGxlOwogCi0JZ2VtX3NldF9kb21haW4oZmQsIG9ialtCQVRDSF0uaGFuZGxl LAorCWJhdGNoX3N0YXJ0ID0gX19nZW1fbW1hcF9fd2MoZmQsIGJhdGNoLT5oYW5kbGUsCisJCQkJ ICAgICAwLCBCQVRDSF9TSVpFLCBQUk9UX1dSSVRFKTsKKwlpZiAoIWJhdGNoX3N0YXJ0KQorCQli YXRjaF9zdGFydCA9IGdlbV9tbWFwX19ndHQoZmQsIGJhdGNoLT5oYW5kbGUsCisJCQkJCSAgICBC QVRDSF9TSVpFLCBQUk9UX1dSSVRFKTsKKwlnZW1fc2V0X2RvbWFpbihmZCwgYmF0Y2gtPmhhbmRs ZSwKIAkJICAgICAgIEk5MTVfR0VNX0RPTUFJTl9HVFQsIEk5MTVfR0VNX0RPTUFJTl9HVFQpOwog CWV4ZWNidWYtPmJ1ZmZlcl9jb3VudCsrOwotCWNzID0gYmF0Y2g7CisJY3MgPSBiYXRjaF9zdGFy dDsKIAotCWlmIChvcHRzLT5kZXBlbmRlbmN5KSB7Ci0JCWlndF9hc3NlcnQoIShvcHRzLT5mbGFn cyAmIElHVF9TUElOX1BPTExfUlVOKSk7Ci0KLQkJciA9ICZyZWxvY3Nbb2JqW0JBVENIXS5yZWxv Y2F0aW9uX2NvdW50KytdOwotCi0JCS8qIGR1bW15IHdyaXRlIHRvIGRlcGVuZGVuY3kgKi8KLQkJ b2JqW1NDUkFUQ0hdLmhhbmRsZSA9IG9wdHMtPmRlcGVuZGVuY3k7Ci0JCXItPnByZXN1bWVkX29m ZnNldCA9IDA7Ci0JCXItPnRhcmdldF9oYW5kbGUgPSBvYmpbU0NSQVRDSF0uaGFuZGxlOwotCQly LT5vZmZzZXQgPSBzaXplb2YodWludDMyX3QpICogMTAyMDsKLQkJci0+ZGVsdGEgPSAwOwotCQly LT5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5fUkVOREVSOwotCQlyLT53cml0ZV9kb21h aW4gPSBJOTE1X0dFTV9ET01BSU5fUkVOREVSOwotCi0JCWV4ZWNidWYtPmJ1ZmZlcl9jb3VudCsr OwotCX0gZWxzZSBpZiAob3B0cy0+ZmxhZ3MgJiBJR1RfU1BJTl9QT0xMX1JVTikgewotCQlyID0g JnJlbG9jc1tvYmpbQkFUQ0hdLnJlbG9jYXRpb25fY291bnQrK107CisJcG9sbC0+aGFuZGxlID0g Z2VtX2NyZWF0ZShmZCwgUE9MTF9TSVpFKTsKKwlzcGluLT5wb2xsX2hhbmRsZSA9IHBvbGwtPmhh bmRsZTsKKwlleGVjYnVmLT5idWZmZXJfY291bnQrKzsKIAotCQlpZ3RfYXNzZXJ0KCFvcHRzLT5k ZXBlbmRlbmN5KTsKKwlpZiAob3B0cy0+ZmxhZ3MgJiBJR1RfU1BJTl9QT0xMX1JVTikgeworCQly ID0gJnJlbG9jc1tiYXRjaC0+cmVsb2NhdGlvbl9jb3VudCsrXTsKIAogCQlpZiAoZ2VuID09IDQg fHwgZ2VuID09IDUpIHsKIAkJCWV4ZWNidWYtPmZsYWdzIHw9IEk5MTVfRVhFQ19TRUNVUkU7CiAJ CQlpZ3RfcmVxdWlyZShfX2lndF9kZXZpY2Vfc2V0X21hc3RlcihmZCkgPT0gMCk7CiAJCX0KIAot CQlzcGluLT5wb2xsX2hhbmRsZSA9IGdlbV9jcmVhdGUoZmQsIDQwOTYpOwotCQlvYmpbU0NSQVRD SF0uaGFuZGxlID0gc3Bpbi0+cG9sbF9oYW5kbGU7Ci0KLQkJaWYgKF9fZ2VtX3NldF9jYWNoaW5n KGZkLCBzcGluLT5wb2xsX2hhbmRsZSwKKwkJaWYgKF9fZ2VtX3NldF9jYWNoaW5nKGZkLCBwb2xs LT5oYW5kbGUsCiAJCQkJICAgICAgSTkxNV9DQUNISU5HX0NBQ0hFRCkgPT0gMCkKLQkJCXNwaW4t PnBvbGwgPSBnZW1fbW1hcF9fY3B1KGZkLCBzcGluLT5wb2xsX2hhbmRsZSwKLQkJCQkJCSAgIDAs IDQwOTYsCisJCQlzcGluLT5wb2xsID0gZ2VtX21tYXBfX2NwdShmZCwgcG9sbC0+aGFuZGxlLAor CQkJCQkJICAgMCwgUE9MTF9TSVpFLAogCQkJCQkJICAgUFJPVF9SRUFEIHwgUFJPVF9XUklURSk7 CiAJCWVsc2UKLQkJCXNwaW4tPnBvbGwgPSBnZW1fbW1hcF9fd2MoZmQsIHNwaW4tPnBvbGxfaGFu ZGxlLAotCQkJCQkJICAwLCA0MDk2LAorCQkJc3Bpbi0+cG9sbCA9IGdlbV9tbWFwX193YyhmZCwg cG9sbC0+aGFuZGxlLAorCQkJCQkJICAwLCBQT0xMX1NJWkUsCiAJCQkJCQkgIFBST1RfUkVBRCB8 IFBST1RfV1JJVEUpOwogCiAJCWlndF9hc3NlcnRfZXEoc3Bpbi0+cG9sbFtTUElOX1BPTExfU1RB UlRfSURYXSwgMCk7CiAKIAkJLyogYmF0Y2ggaXMgZmlyc3QgKi8KLQkJci0+cHJlc3VtZWRfb2Zm c2V0ID0gNDA5NjsKLQkJci0+dGFyZ2V0X2hhbmRsZSA9IG9ialtTQ1JBVENIXS5oYW5kbGU7CisJ CXItPnByZXN1bWVkX29mZnNldCA9IEJBVENIX1NJWkU7CisJCXItPnRhcmdldF9oYW5kbGUgPSBw b2xsLT5oYW5kbGU7CiAJCXItPm9mZnNldCA9IHNpemVvZih1aW50MzJfdCkgKiAxOwogCQlyLT5k ZWx0YSA9IHNpemVvZih1aW50MzJfdCkgKiBTUElOX1BPTExfU1RBUlRfSURYOwogCkBAIC0xNzgs MTQgKzE2NiwyNSBAQCBlbWl0X3JlY3Vyc2l2ZV9iYXRjaChpZ3Rfc3Bpbl90ICpzcGluLAogCQl9 CiAKIAkJKmNzKysgPSAxOworCX0KKworCWlmIChvcHRzLT5kZXBlbmRlbmN5KSB7CisJCXIgPSAm cmVsb2NzW2JhdGNoLT5yZWxvY2F0aW9uX2NvdW50KytdOworCisJCS8qIGR1bW15IHdyaXRlIHRv IGRlcGVuZGVuY3kgKi8KKwkJZGVwLT5oYW5kbGUgPSBvcHRzLT5kZXBlbmRlbmN5OworCQlyLT5w cmVzdW1lZF9vZmZzZXQgPSBCQVRDSF9TSVpFICsgUE9MTF9TSVpFOworCQlyLT50YXJnZXRfaGFu ZGxlID0gZGVwLT5oYW5kbGU7CisJCXItPm9mZnNldCA9IHNpemVvZih1aW50MzJfdCkgKiAxMDIw OworCQlyLT5kZWx0YSA9IDA7CisJCXItPnJlYWRfZG9tYWlucyA9IEk5MTVfR0VNX0RPTUFJTl9S RU5ERVI7CisJCXItPndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9SRU5ERVI7CiAKIAkJ ZXhlY2J1Zi0+YnVmZmVyX2NvdW50Kys7CiAJfQogCi0Jc3Bpbi0+aGFuZGxlID0gb2JqW0JBVENI XS5oYW5kbGU7Ci0KLQlpZ3RfYXNzZXJ0X2x0KGNzIC0gYmF0Y2gsIExPT1BfU1RBUlRfT0ZGU0VU IC8gc2l6ZW9mKCpjcykpOwotCXNwaW4tPmNvbmRpdGlvbiA9IGJhdGNoICsgTE9PUF9TVEFSVF9P RkZTRVQgLyBzaXplb2YoKmNzKTsKKwlpZ3RfYXNzZXJ0X2x0KGNzIC0gYmF0Y2hfc3RhcnQsIExP T1BfU1RBUlRfT0ZGU0VUIC8gc2l6ZW9mKCpjcykpOworCXNwaW4tPmNvbmRpdGlvbiA9IGJhdGNo X3N0YXJ0ICsgTE9PUF9TVEFSVF9PRkZTRVQgLyBzaXplb2YoKmNzKTsKIAljcyA9IHNwaW4tPmNv bmRpdGlvbjsKIAogCS8qIEFsbG93IG91cnNlbHZlcyB0byBiZSBwcmVlbXB0ZWQgKi8KQEAgLTIw Nyw5ICsyMDYsOSBAQCBlbWl0X3JlY3Vyc2l2ZV9iYXRjaChpZ3Rfc3Bpbl90ICpzcGluLAogCQlj cyArPSAxMDAwOwogCiAJLyogcmVjdXJzZSAqLwotCXIgPSAmcmVsb2NzW29ialtCQVRDSF0ucmVs b2NhdGlvbl9jb3VudCsrXTsKLQlyLT50YXJnZXRfaGFuZGxlID0gb2JqW0JBVENIXS5oYW5kbGU7 Ci0Jci0+b2Zmc2V0ID0gKGNzICsgMSAtIGJhdGNoKSAqIHNpemVvZigqY3MpOworCXIgPSAmcmVs b2NzW2JhdGNoLT5yZWxvY2F0aW9uX2NvdW50KytdOworCXItPnRhcmdldF9oYW5kbGUgPSBiYXRj aC0+aGFuZGxlOworCXItPm9mZnNldCA9IChjcyArIDEgLSBiYXRjaF9zdGFydCkgKiBzaXplb2Yo KmNzKTsKIAlyLT5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5fQ09NTUFORDsKIAlyLT5k ZWx0YSA9IExPT1BfU1RBUlRfT0ZGU0VUOwogCWlmIChnZW4gPj0gOCkgewpAQCAtMjI2LDEwICsy MjUsMTAgQEAgZW1pdF9yZWN1cnNpdmVfYmF0Y2goaWd0X3NwaW5fdCAqc3BpbiwKIAkJKmNzID0g ci0+ZGVsdGE7CiAJCWNzKys7CiAJfQotCW9ialtCQVRDSF0ucmVsb2NzX3B0ciA9IHRvX3VzZXJf cG9pbnRlcihyZWxvY3MpOworCWJhdGNoLT5yZWxvY3NfcHRyID0gdG9fdXNlcl9wb2ludGVyKHJl bG9jcyk7CiAKLQlleGVjYnVmLT5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcihvYmogKwot CQkJCQkgICAgICAgKDIgLSBleGVjYnVmLT5idWZmZXJfY291bnQpKTsKKwlleGVjYnVmLT5idWZm ZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcihzcGluLT5fb2JqKTsKKwlleGVjYnVmLT5mbGFncyB8 PSBJOTE1X0VYRUNfQkFUQ0hfRklSU1Q7CiAJZXhlY2J1Zi0+cnN2ZDEgPSBvcHRzLT5jdHg7CiAK IAlpZiAob3B0cy0+ZmxhZ3MgJiBJR1RfU1BJTl9GRU5DRV9PVVQpCkBAIC0yNTgsMTUgKzI1Nywx MyBAQCBlbWl0X3JlY3Vyc2l2ZV9iYXRjaChpZ3Rfc3Bpbl90ICpzcGluLAogCQl9CiAJfQogCi0J aWd0X2Fzc2VydF9sdChjcyAtIGJhdGNoLCBCQVRDSF9TSVpFIC8gc2l6ZW9mKCpjcykpOwotCi0J LyogTWFrZSBpdCBlYXNpZXIgZm9yIGNhbGxlcnMgdG8gcmVzdWJtaXQuICovCisJaWd0X2Fzc2Vy dF9sdChjcyAtIGJhdGNoX3N0YXJ0LCBCQVRDSF9TSVpFIC8gc2l6ZW9mKCpjcykpOwogCi0Jb2Jq W0JBVENIXS5yZWxvY2F0aW9uX2NvdW50ID0gMDsKLQlvYmpbQkFUQ0hdLnJlbG9jc19wdHIgPSAw OwotCi0Jb2JqW1NDUkFUQ0hdLmZsYWdzID0gRVhFQ19PQkpFQ1RfUElOTkVEOwotCW9ialtCQVRD SF0uZmxhZ3MgPSBFWEVDX09CSkVDVF9QSU5ORUQ7CisJZm9yIChpID0gMDsgaSA8IGV4ZWNidWYt PmJ1ZmZlcl9jb3VudDsgaSsrKSB7CisJCXNwaW4tPl9vYmpbaV0ucmVsb2NhdGlvbl9jb3VudCA9 IDA7CisJCXNwaW4tPl9vYmpbaV0ucmVsb2NzX3B0ciA9IDA7CisJCXNwaW4tPl9vYmpbaV0uZmxh Z3MgPSBFWEVDX09CSkVDVF9QSU5ORUQ7CisJfQogCiAJc3Bpbi0+Y21kX3ByZWNvbmRpdGlvbiA9 ICpzcGluLT5jb25kaXRpb247CiAKQEAgLTQzMywxMSArNDMwLDEwIEBAIHZvaWQgaWd0X3NwaW5f ZnJlZShpbnQgZmQsIGlndF9zcGluX3QgKnNwaW4pCiAJZ2VtX211bm1hcCgodm9pZCAqKSgodW5z aWduZWQgbG9uZylzcGluLT5jb25kaXRpb24gJiAofjQwOTVVTCkpLAogCQkgICBCQVRDSF9TSVpF KTsKIAotCWlmIChzcGluLT5wb2xsKSB7CisJaWYgKHNwaW4tPnBvbGwpCiAJCWdlbV9tdW5tYXAo c3Bpbi0+cG9sbCwgNDA5Nik7Ci0JCWdlbV9jbG9zZShmZCwgc3Bpbi0+cG9sbF9oYW5kbGUpOwot CX0KIAorCWdlbV9jbG9zZShmZCwgc3Bpbi0+cG9sbF9oYW5kbGUpOwogCWdlbV9jbG9zZShmZCwg c3Bpbi0+aGFuZGxlKTsKIAogCWlmIChzcGluLT5vdXRfZmVuY2UgPj0gMCkKZGlmZiAtLWdpdCBh L2xpYi9pZ3RfZHVtbXlsb2FkLmggYi9saWIvaWd0X2R1bW15bG9hZC5oCmluZGV4IDYxYTlmMmZj Li4zMzA2YTJmYyAxMDA2NDQKLS0tIGEvbGliL2lndF9kdW1teWxvYWQuaAorKysgYi9saWIvaWd0 X2R1bW15bG9hZC5oCkBAIC0zNCw2ICszNCw3IEBACiAKIHR5cGVkZWYgc3RydWN0IGlndF9zcGlu IHsKIAl1bnNpZ25lZCBpbnQgaGFuZGxlOworCiAJdGltZXJfdCB0aW1lcjsKIAlzdHJ1Y3QgaWd0 X2xpc3QgbGluazsKIApAQCAtNDEsOCArNDIsMTMgQEAgdHlwZWRlZiBzdHJ1Y3QgaWd0X3NwaW4g ewogCXVpbnQzMl90IGNtZF9wcmVjb25kaXRpb247CiAKIAlpbnQgb3V0X2ZlbmNlOwotCXN0cnVj dCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9ialsyXTsKKworCXN0cnVjdCBkcm1faTkxNV9n ZW1fZXhlY19vYmplY3QyIF9vYmpbM107CisjZGVmaW5lIFNQSU5fT0JKX0JBVENIIDAKKyNkZWZp bmUgU1BJTl9PQkpfUE9MTCAgMQorI2RlZmluZSBTUElOX09CSl9ERVAgICAyCiAJc3RydWN0IGRy bV9pOTE1X2dlbV9leGVjYnVmZmVyMiBleGVjYnVmOworCiAJdWludDMyX3QgcG9sbF9oYW5kbGU7 CiAJdWludDMyX3QgKnBvbGw7CiAjZGVmaW5lIFNQSU5fUE9MTF9TVEFSVF9JRFggMApkaWZmIC0t Z2l0IGEvdGVzdHMvaTkxNS9nZW1fY29uY3VycmVudF9hbGwuYyBiL3Rlc3RzL2k5MTUvZ2VtX2Nv bmN1cnJlbnRfYWxsLmMKaW5kZXggM2RkYWFiODIuLmI1Mzc3MTkxIDEwMDY0NAotLS0gYS90ZXN0 cy9pOTE1L2dlbV9jb25jdXJyZW50X2FsbC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2NvbmN1cnJl bnRfYWxsLmMKQEAgLTk1Nyw3ICs5NTcsOCBAQCBzdGF0aWMgaWd0X2hhbmdfdCBhbGxfaGFuZyh2 b2lkKQogCQlpZiAoZW5naW5lID09IEk5MTVfRVhFQ19SRU5ERVIpCiAJCQljb250aW51ZTsKIAot CQllYi5mbGFncyA9IGVuZ2luZTsKKwkJZWIuZmxhZ3MgJj0gfihJOTE1X0VYRUNfUklOR19NQVNL IHwgSTkxNV9FWEVDX0JTRF9NQVNLKTsKKwkJZWIuZmxhZ3MgfD0gZW5naW5lOwogCQlfX2dlbV9l eGVjYnVmKGZkLCAmZWIpOwogCX0KIApkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fZXhlY19z Y2hlZHVsZS5jIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19zY2hlZHVsZS5jCmluZGV4IDlhMDc5NTI4 Li40ZjEyNDNkOSAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fZXhlY19zY2hlZHVsZS5jCisr KyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfc2NoZWR1bGUuYwpAQCAtMjIzLDExICsyMjMsMTEgQEAg c3RhdGljIHZvaWQgaW5kZXBlbmRlbnQoaW50IGZkLCB1bnNpZ25lZCBpbnQgZW5naW5lKQogCQlp ZiAoc3BpbiA9PSBOVUxMKSB7CiAJCQlzcGluID0gX19pZ3Rfc3Bpbl9uZXcoZmQsIC5lbmdpbmUg PSBvdGhlcik7CiAJCX0gZWxzZSB7Ci0JCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIy IGViID0gewotCQkJCS5idWZmZXJfY291bnQgPSAxLAotCQkJCS5idWZmZXJzX3B0ciA9IHRvX3Vz ZXJfcG9pbnRlcigmc3Bpbi0+b2JqWzFdKSwKLQkJCQkuZmxhZ3MgPSBvdGhlciwKLQkJCX07CisJ CQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGViID0gc3Bpbi0+ZXhlY2J1ZjsKKwor CQkJZWIuZmxhZ3MgJj0gfihJOTE1X0VYRUNfUklOR19NQVNLIHwgSTkxNV9FWEVDX0JTRF9NQVNL KTsKKwkJCWViLmZsYWdzIHw9IG90aGVyOworCiAJCQlnZW1fZXhlY2J1ZihmZCwgJmViKTsKIAkJ fQogCkBAIC02MTksOCArNjE5LDggQEAgc3RhdGljIGlndF9zcGluX3QgKl9fbm9pc2UoaW50IGZk LCB1aW50MzJfdCBjdHgsIGludCBwcmlvLCBpZ3Rfc3Bpbl90ICpzcGluKQogCQkJCQkgICAgICAu ZW5naW5lID0gb3RoZXIpOwogCQl9IGVsc2UgewogCQkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVj YnVmZmVyMiBlYiA9IHsKLQkJCQkuYnVmZmVyX2NvdW50ID0gMSwKLQkJCQkuYnVmZmVyc19wdHIg PSB0b191c2VyX3BvaW50ZXIoJnNwaW4tPm9ialsxXSksCisJCQkJLmJ1ZmZlcl9jb3VudCA9IHNw aW4tPmV4ZWNidWYuYnVmZmVyX2NvdW50LAorCQkJCS5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9p bnRlcigmc3Bpbi0+X29ialtTUElOX09CSl9CQVRDSF0pLAogCQkJCS5yc3ZkMSA9IGN0eCwKIAkJ CQkuZmxhZ3MgPSBvdGhlciwKIAkJCX07CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9zb2Z0 cGluLmMgYi90ZXN0cy9pOTE1L2dlbV9zb2Z0cGluLmMKaW5kZXggMzM2MDA4YjguLjZjOTM4ZDVh IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9zb2Z0cGluLmMKKysrIGIvdGVzdHMvaTkxNS9n ZW1fc29mdHBpbi5jCkBAIC0zNjAsNyArMzYwLDcgQEAgc3RhdGljIHZvaWQgdGVzdF9ldmljdF9o YW5nKGludCBmZCkKIAlleGVjYnVmLmJ1ZmZlcl9jb3VudCA9IDE7CiAKIAloYW5nID0gaWd0X2hh bmdfY3R4KGZkLCAwLCAwLCAwKTsKLQlleHBlY3RlZCA9IGhhbmcuc3Bpbi0+b2JqWzFdLm9mZnNl dDsKKwlleHBlY3RlZCA9IGhhbmcuc3Bpbi0+X29ialtTUElOX09CSl9CQVRDSF0ub2Zmc2V0Owog CiAJLyogUmVwbGFjZSB0aGUgaHVuZyBiYXRjaCB3aXRoIG91cnNlbHZlcywgZm9yY2luZyBhbiBl dmljdGlvbiAqLwogCW9iamVjdC5vZmZzZXQgPSBleHBlY3RlZDsKZGlmZiAtLWdpdCBhL3Rlc3Rz L2k5MTUvZ2VtX3NwaW5fYmF0Y2guYyBiL3Rlc3RzL2k5MTUvZ2VtX3NwaW5fYmF0Y2guYwppbmRl eCBhOTI2NzJiOC4uYThhZjhkMWUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX3NwaW5fYmF0 Y2guYworKysgYi90ZXN0cy9pOTE1L2dlbV9zcGluX2JhdGNoLmMKQEAgLTc3LDI4ICs3NywyOCBA QCBzdGF0aWMgdm9pZCBzcGluX3Jlc3VibWl0KGludCBmZCwgdW5zaWduZWQgaW50IGVuZ2luZSwg dW5zaWduZWQgaW50IGZsYWdzKQogCWlndF9zcGluX3QgKnNwaW4gPSBfX2lndF9zcGluX25ldyhm ZCwgLmN0eCA9IGN0eDAsIC5lbmdpbmUgPSBlbmdpbmUpOwogCXVuc2lnbmVkIGludCBvdGhlcjsK IAotCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZWIgPSB7Ci0JCS5idWZmZXJfY291 bnQgPSAxLAotCQkuYnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIoJnNwaW4tPm9ialsxXSks Ci0JCS5yc3ZkMSA9IGN0eDEsCi0JfTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIy IGViID0gc3Bpbi0+ZXhlY2J1ZjsKKworCWViLnJzdmQxID0gY3R4MTsKIAogCWlmIChmbGFncyAm IFJFU1VCTUlUX0FMTF9FTkdJTkVTKSB7CiAJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwg b3RoZXIpIHsKIAkJCWlmICAob3RoZXIgPT0gZW5naW5lKQogCQkJCWNvbnRpbnVlOwogCi0JCQll Yi5mbGFncyA9IG90aGVyOworCQkJZWIuZmxhZ3MgJj0gfihJOTE1X0VYRUNfUklOR19NQVNLIHwg STkxNV9FWEVDX0JTRF9NQVNLKTsKKwkJCWViLmZsYWdzIHw9IG90aGVyOwogCQkJZ2VtX2V4ZWNi dWYoZmQsICZlYik7CiAJCX0KIAl9IGVsc2UgewotCQllYi5mbGFncyA9IGVuZ2luZTsKKwkJZWIu ZmxhZ3MgJj0gfihJOTE1X0VYRUNfUklOR19NQVNLIHwgSTkxNV9FWEVDX0JTRF9NQVNLKTsKKwkJ ZWIuZmxhZ3MgfD0gZW5naW5lOwogCQlnZW1fZXhlY2J1ZihmZCwgJmViKTsKIAl9CiAKIAlpZ3Rf c3Bpbl9lbmQoc3Bpbik7CiAKLQlnZW1fc3luYyhmZCwgc3Bpbi0+b2JqWzFdLmhhbmRsZSk7CisJ Z2VtX3N5bmMoZmQsIHNwaW4tPmhhbmRsZSk7CiAKIAlpZ3Rfc3Bpbl9mcmVlKGZkLCBzcGluKTsK IApkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9pOTE1X2hhbmdtYW4uYyBiL3Rlc3RzL2k5MTUvaTkx NV9oYW5nbWFuLmMKaW5kZXggOWExZDU4ODkuLjUxOWYzNjU0IDEwMDY0NAotLS0gYS90ZXN0cy9p OTE1L2k5MTVfaGFuZ21hbi5jCisrKyBiL3Rlc3RzL2k5MTUvaTkxNV9oYW5nbWFuLmMKQEAgLTIw OSw3ICsyMDksNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2Vycm9yX3N0YXRlX2NhcHR1cmUodW5zaWdu ZWQgcmluZ19pZCwKIAljbGVhcl9lcnJvcl9zdGF0ZSgpOwogCiAJaGFuZyA9IGlndF9oYW5nX2N0 eChkZXZpY2UsIDAsIHJpbmdfaWQsIEhBTkdfQUxMT1dfQ0FQVFVSRSk7Ci0Jb2Zmc2V0ID0gaGFu Zy5zcGluLT5vYmpbMV0ub2Zmc2V0OworCW9mZnNldCA9IGhhbmcuc3Bpbi0+X29ialtTUElOX09C Sl9CQVRDSF0ub2Zmc2V0OwogCiAJYmF0Y2ggPSBnZW1fbW1hcF9fY3B1KGRldmljZSwgaGFuZy5z cGluLT5oYW5kbGUsIDAsIDQwOTYsIFBST1RfUkVBRCk7CiAJZ2VtX3NldF9kb21haW4oZGV2aWNl LCBoYW5nLnNwaW4tPmhhbmRsZSwgSTkxNV9HRU1fRE9NQUlOX0NQVSwgMCk7Ci0tIAoyLjE3LjEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==