From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Mika Kuoppala Date: Wed, 13 Nov 2019 17:49:07 +0200 Message-Id: <20191113154913.8787-1-mika.kuoppala@linux.intel.com> Subject: [Intel-gfx] [PATCH i-g-t 1/7] lib/igt_dummyload: Send batch as first List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: igt-dev@lists.freedesktop.org List-ID: VG8gc2ltcGxpZnkgZW1pdHRpbmcgdGhlIHJlY3Vyc2l2ZSBiYXRjaCwgbWFrZSBiYXRjaAphbHdh eXMgdGhlIGZpcnN0IG9iamVjdCBvbiB0aGUgZXhlY2J1ZiBsaXN0LgoKdjI6IHNldCBoYW5kbGVz IGVhcmx5LCBwb2xsX3B0ciBpbmRlY2VuY3kgKENocmlzKQp2MzogYWxsb3cgZGVwIHdpdGggcG9s bAp2NDogZml4IGdlbV9leGVjX3NjaGVkdWxlCnY1OiByZWJhc2UKdjY6IHJlYmFzZQp2NjogZ2Vt X2N0eF9zaGFyZWQKdjc6IGNvbmRpdGlvbmFsIGNsb3NlIG9mIHBvbGwgaGFuZGxlCgpDYzogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClNpZ25lZC1vZmYtYnk6IE1pa2Eg S3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgotLS0KIGxpYi9pZ3RfZHVt bXlsb2FkLmMgICAgICAgICAgICB8IDExMSArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0KIGxpYi9pZ3RfZHVtbXlsb2FkLmggICAgICAgICAgICB8ICAgOCArKy0KIHRlc3RzL2k5MTUv Z2VtX2V4ZWNfYmFsYW5jZXIuYyB8ICAgOCArLS0KIHRlc3RzL2k5MTUvZ2VtX3NwaW5fYmF0Y2gu YyAgICB8ICAxMyArKy0tCiA0IGZpbGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDY3IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZHVtbXlsb2FkLmMgYi9saWIvaWd0X2R1 bW15bG9hZC5jCmluZGV4IGI5ZTIzOWRiLi5jMDc5YmQwNCAxMDA2NDQKLS0tIGEvbGliL2lndF9k dW1teWxvYWQuYworKysgYi9saWIvaWd0X2R1bW15bG9hZC5jCkBAIC02Myw2ICs2Myw3IEBACiAj ZGVmaW5lIE1JX0FSQl9DSEsgKDB4NSA8PCAyMykKIAogc3RhdGljIGNvbnN0IGludCBCQVRDSF9T SVpFID0gNDA5NjsKK3N0YXRpYyBjb25zdCBpbnQgUE9MTF9TSVpFID0gNDA5NjsKIHN0YXRpYyBj b25zdCBpbnQgTE9PUF9TVEFSVF9PRkZTRVQgPSA2NDsKIAogc3RhdGljIElHVF9MSVNUX0hFQUQo c3Bpbl9saXN0KTsKQEAgLTcyLDE2ICs3MywyMyBAQCBzdGF0aWMgaW50CiBlbWl0X3JlY3Vyc2l2 ZV9iYXRjaChpZ3Rfc3Bpbl90ICpzcGluLAogCQkgICAgIGludCBmZCwgY29uc3Qgc3RydWN0IGln dF9zcGluX2ZhY3RvcnkgKm9wdHMpCiB7Ci0jZGVmaW5lIFNDUkFUQ0ggMAorCiAjZGVmaW5lIEJB VENIIElHVF9TUElOX0JBVENICisjZGVmaW5lIFBPTEwgMQorI2RlZmluZSBERVAgICAgIDIKIAlj b25zdCBpbnQgZ2VuID0gaW50ZWxfZ2VuKGludGVsX2dldF9kcm1fZGV2aWQoZmQpKTsKLQlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25fZW50cnkgcmVsb2NzWzJdLCAqcjsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiAqIGNvbnN0IGJhdGNoID0KKwkJJnNwaW4tPm9ialtC QVRDSF07CisJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgKiBjb25zdCBwb2xsID0K KwkJJnNwaW4tPm9ialtQT0xMXTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiAq IGNvbnN0IGRlcCA9CisJCSZzcGluLT5vYmpbREVQXTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl bG9jYXRpb25fZW50cnkgcmVsb2NzWzRdLCAqcjsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNi dWZmZXIyICpleGVjYnVmOwotCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyICpvYmo7 CiAJdW5zaWduZWQgaW50IGZsYWdzW0dFTV9NQVhfRU5HSU5FU107CiAJdW5zaWduZWQgaW50IG5l bmdpbmU7CiAJaW50IGZlbmNlX2ZkID0gLTE7Ci0JdWludDMyX3QgKmNzLCAqYmF0Y2g7CisJdWlu dDMyX3QgKmNzLCAqYmF0Y2hfc3RhcnQ7CiAJaW50IGk7CiAKIAluZW5naW5lID0gMDsKQEAgLTEw Myw2NCArMTExLDQ4IEBAIGVtaXRfcmVjdXJzaXZlX2JhdGNoKGlndF9zcGluX3QgKnNwaW4sCiAJ bWVtc2V0KCZzcGluLT5leGVjYnVmLCAwLCBzaXplb2Yoc3Bpbi0+ZXhlY2J1ZikpOwogCWV4ZWNi dWYgPSAmc3Bpbi0+ZXhlY2J1ZjsKIAltZW1zZXQoc3Bpbi0+b2JqLCAwLCBzaXplb2Yoc3Bpbi0+ b2JqKSk7Ci0Jb2JqID0gc3Bpbi0+b2JqOwogCW1lbXNldChyZWxvY3MsIDAsIHNpemVvZihyZWxv Y3MpKTsKIAotCW9ialtCQVRDSF0uaGFuZGxlID0gZ2VtX2NyZWF0ZShmZCwgQkFUQ0hfU0laRSk7 Ci0JYmF0Y2ggPSBfX2dlbV9tbWFwX193YyhmZCwgb2JqW0JBVENIXS5oYW5kbGUsCisJYmF0Y2gt PmhhbmRsZSA9IGdlbV9jcmVhdGUoZmQsIEJBVENIX1NJWkUpOworCXNwaW4tPmhhbmRsZSA9IGJh dGNoLT5oYW5kbGU7CisKKwliYXRjaF9zdGFydCA9IF9fZ2VtX21tYXBfX3djKGZkLCBiYXRjaC0+ aGFuZGxlLAogCQkJCSAgICAgMCwgQkFUQ0hfU0laRSwgUFJPVF9XUklURSk7Ci0JaWYgKCFiYXRj aCkKLQkJYmF0Y2ggPSBnZW1fbW1hcF9fZ3R0KGZkLCBvYmpbQkFUQ0hdLmhhbmRsZSwKKwlpZiAo IWJhdGNoX3N0YXJ0KQorCQliYXRjaF9zdGFydCA9IGdlbV9tbWFwX19ndHQoZmQsIGJhdGNoLT5o YW5kbGUsCiAJCQkJCSAgICBCQVRDSF9TSVpFLCBQUk9UX1dSSVRFKTsKLQotCWdlbV9zZXRfZG9t YWluKGZkLCBvYmpbQkFUQ0hdLmhhbmRsZSwKKwlnZW1fc2V0X2RvbWFpbihmZCwgYmF0Y2gtPmhh bmRsZSwKIAkJICAgICAgIEk5MTVfR0VNX0RPTUFJTl9HVFQsIEk5MTVfR0VNX0RPTUFJTl9HVFQp OwogCWV4ZWNidWYtPmJ1ZmZlcl9jb3VudCsrOwotCWNzID0gYmF0Y2g7Ci0KLQlpZiAob3B0cy0+ ZGVwZW5kZW5jeSkgewotCQlpZ3RfYXNzZXJ0KCEob3B0cy0+ZmxhZ3MgJiBJR1RfU1BJTl9QT0xM X1JVTikpOwotCi0JCXIgPSAmcmVsb2NzW29ialtCQVRDSF0ucmVsb2NhdGlvbl9jb3VudCsrXTsK LQotCQkvKiBkdW1teSB3cml0ZSB0byBkZXBlbmRlbmN5ICovCi0JCW9ialtTQ1JBVENIXS5oYW5k bGUgPSBvcHRzLT5kZXBlbmRlbmN5OwotCQlyLT5wcmVzdW1lZF9vZmZzZXQgPSAwOwotCQlyLT50 YXJnZXRfaGFuZGxlID0gb2JqW1NDUkFUQ0hdLmhhbmRsZTsKLQkJci0+b2Zmc2V0ID0gc2l6ZW9m KHVpbnQzMl90KSAqIDEwMjA7Ci0JCXItPmRlbHRhID0gMDsKLQkJci0+cmVhZF9kb21haW5zID0g STkxNV9HRU1fRE9NQUlOX1JFTkRFUjsKLQkJci0+d3JpdGVfZG9tYWluID0gSTkxNV9HRU1fRE9N QUlOX1JFTkRFUjsKKwljcyA9IGJhdGNoX3N0YXJ0OwogCisJcG9sbC0+aGFuZGxlID0gZ2VtX2Ny ZWF0ZShmZCwgUE9MTF9TSVpFKTsKKwlzcGluLT5wb2xsX2hhbmRsZSA9IHBvbGwtPmhhbmRsZTsK IAlleGVjYnVmLT5idWZmZXJfY291bnQrKzsKLQl9IGVsc2UgaWYgKG9wdHMtPmZsYWdzICYgSUdU X1NQSU5fUE9MTF9SVU4pIHsKLQkJciA9ICZyZWxvY3Nbb2JqW0JBVENIXS5yZWxvY2F0aW9uX2Nv dW50KytdOwogCi0JCWlndF9hc3NlcnQoIW9wdHMtPmRlcGVuZGVuY3kpOworCWlmIChvcHRzLT5m bGFncyAmIElHVF9TUElOX1BPTExfUlVOKSB7CisJCXIgPSAmcmVsb2NzW2JhdGNoLT5yZWxvY2F0 aW9uX2NvdW50KytdOwogCiAJCWlmIChnZW4gPT0gNCB8fCBnZW4gPT0gNSkgewogCQkJZXhlY2J1 Zi0+ZmxhZ3MgfD0gSTkxNV9FWEVDX1NFQ1VSRTsKIAkJCWlndF9yZXF1aXJlKF9faWd0X2Rldmlj ZV9zZXRfbWFzdGVyKGZkKSA9PSAwKTsKIAkJfQogCi0JCXNwaW4tPnBvbGxfaGFuZGxlID0gZ2Vt X2NyZWF0ZShmZCwgNDA5Nik7Ci0JCW9ialtTQ1JBVENIXS5oYW5kbGUgPSBzcGluLT5wb2xsX2hh bmRsZTsKLQotCQlpZiAoX19nZW1fc2V0X2NhY2hpbmcoZmQsIHNwaW4tPnBvbGxfaGFuZGxlLAor CQlpZiAoX19nZW1fc2V0X2NhY2hpbmcoZmQsIHBvbGwtPmhhbmRsZSwKIAkJCQkgICAgICBJOTE1 X0NBQ0hJTkdfQ0FDSEVEKSA9PSAwKQotCQkJc3Bpbi0+cG9sbCA9IGdlbV9tbWFwX19jcHUoZmQs IHNwaW4tPnBvbGxfaGFuZGxlLAotCQkJCQkJICAgMCwgNDA5NiwKKwkJCXNwaW4tPnBvbGwgPSBn ZW1fbW1hcF9fY3B1KGZkLCBwb2xsLT5oYW5kbGUsCisJCQkJCQkgICAwLCBQT0xMX1NJWkUsCiAJ CQkJCQkgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFKTsKIAkJZWxzZQotCQkJc3Bpbi0+cG9sbCA9 IGdlbV9tbWFwX193YyhmZCwgc3Bpbi0+cG9sbF9oYW5kbGUsCi0JCQkJCQkgIDAsIDQwOTYsCisJ CQlzcGluLT5wb2xsID0gZ2VtX21tYXBfX3djKGZkLCBwb2xsLT5oYW5kbGUsCisJCQkJCQkgIDAs IFBPTExfU0laRSwKIAkJCQkJCSAgUFJPVF9SRUFEIHwgUFJPVF9XUklURSk7CiAKIAkJaWd0X2Fz c2VydF9lcShzcGluLT5wb2xsW1NQSU5fUE9MTF9TVEFSVF9JRFhdLCAwKTsKIAogCQkvKiBiYXRj aCBpcyBmaXJzdCAqLwotCQlyLT5wcmVzdW1lZF9vZmZzZXQgPSA0MDk2OwotCQlyLT50YXJnZXRf aGFuZGxlID0gb2JqW1NDUkFUQ0hdLmhhbmRsZTsKKwkJci0+cHJlc3VtZWRfb2Zmc2V0ID0gQkFU Q0hfU0laRTsKKwkJci0+dGFyZ2V0X2hhbmRsZSA9IHBvbGwtPmhhbmRsZTsKIAkJci0+b2Zmc2V0 ID0gc2l6ZW9mKHVpbnQzMl90KSAqIDE7CiAJCXItPmRlbHRhID0gc2l6ZW9mKHVpbnQzMl90KSAq IFNQSU5fUE9MTF9TVEFSVF9JRFg7CiAKQEAgLTE3OSwxNCArMTcxLDI1IEBAIGVtaXRfcmVjdXJz aXZlX2JhdGNoKGlndF9zcGluX3QgKnNwaW4sCiAJCX0KIAogCQkqY3MrKyA9IDE7CisJfQorCisJ aWYgKG9wdHMtPmRlcGVuZGVuY3kpIHsKKwkJciA9ICZyZWxvY3NbYmF0Y2gtPnJlbG9jYXRpb25f Y291bnQrK107CisKKwkJLyogZHVtbXkgd3JpdGUgdG8gZGVwZW5kZW5jeSAqLworCQlkZXAtPmhh bmRsZSA9IG9wdHMtPmRlcGVuZGVuY3k7CisJCXItPnByZXN1bWVkX29mZnNldCA9IEJBVENIX1NJ WkUgKyBQT0xMX1NJWkU7CisJCXItPnRhcmdldF9oYW5kbGUgPSBkZXAtPmhhbmRsZTsKKwkJci0+ b2Zmc2V0ID0gc2l6ZW9mKHVpbnQzMl90KSAqIDEwMjA7CisJCXItPmRlbHRhID0gMDsKKwkJci0+ cmVhZF9kb21haW5zID0gSTkxNV9HRU1fRE9NQUlOX1JFTkRFUjsKKwkJci0+d3JpdGVfZG9tYWlu ID0gSTkxNV9HRU1fRE9NQUlOX1JFTkRFUjsKIAogCQlleGVjYnVmLT5idWZmZXJfY291bnQrKzsK IAl9CiAKLQlzcGluLT5oYW5kbGUgPSBvYmpbQkFUQ0hdLmhhbmRsZTsKLQotCWlndF9hc3NlcnRf bHQoY3MgLSBiYXRjaCwgTE9PUF9TVEFSVF9PRkZTRVQgLyBzaXplb2YoKmNzKSk7Ci0Jc3Bpbi0+ Y29uZGl0aW9uID0gYmF0Y2ggKyBMT09QX1NUQVJUX09GRlNFVCAvIHNpemVvZigqY3MpOworCWln dF9hc3NlcnRfbHQoY3MgLSBiYXRjaF9zdGFydCwgTE9PUF9TVEFSVF9PRkZTRVQgLyBzaXplb2Yo KmNzKSk7CisJc3Bpbi0+Y29uZGl0aW9uID0gYmF0Y2hfc3RhcnQgKyBMT09QX1NUQVJUX09GRlNF VCAvIHNpemVvZigqY3MpOwogCWNzID0gc3Bpbi0+Y29uZGl0aW9uOwogCiAJLyogQWxsb3cgb3Vy c2VsdmVzIHRvIGJlIHByZWVtcHRlZCAqLwpAQCAtMjA4LDkgKzIxMSw5IEBAIGVtaXRfcmVjdXJz aXZlX2JhdGNoKGlndF9zcGluX3QgKnNwaW4sCiAJCWNzICs9IDEwMDA7CiAKIAkvKiByZWN1cnNl ICovCi0JciA9ICZyZWxvY3Nbb2JqW0JBVENIXS5yZWxvY2F0aW9uX2NvdW50KytdOwotCXItPnRh cmdldF9oYW5kbGUgPSBvYmpbQkFUQ0hdLmhhbmRsZTsKLQlyLT5vZmZzZXQgPSAoY3MgKyAxIC0g YmF0Y2gpICogc2l6ZW9mKCpjcyk7CisJciA9ICZyZWxvY3NbYmF0Y2gtPnJlbG9jYXRpb25fY291 bnQrK107CisJci0+dGFyZ2V0X2hhbmRsZSA9IGJhdGNoLT5oYW5kbGU7CisJci0+b2Zmc2V0ID0g KGNzICsgMSAtIGJhdGNoX3N0YXJ0KSAqIHNpemVvZigqY3MpOwogCXItPnJlYWRfZG9tYWlucyA9 IEk5MTVfR0VNX0RPTUFJTl9DT01NQU5EOwogCXItPmRlbHRhID0gTE9PUF9TVEFSVF9PRkZTRVQ7 CiAJaWYgKGdlbiA+PSA4KSB7CkBAIC0yMjcsMTAgKzIzMCwxMCBAQCBlbWl0X3JlY3Vyc2l2ZV9i YXRjaChpZ3Rfc3Bpbl90ICpzcGluLAogCQkqY3MgPSByLT5kZWx0YTsKIAkJY3MrKzsKIAl9Ci0J b2JqW0JBVENIXS5yZWxvY3NfcHRyID0gdG9fdXNlcl9wb2ludGVyKHJlbG9jcyk7CisJYmF0Y2gt PnJlbG9jc19wdHIgPSB0b191c2VyX3BvaW50ZXIocmVsb2NzKTsKIAotCWV4ZWNidWYtPmJ1ZmZl cnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKG9iaiArCi0JCQkJCSAgICAgICAoMiAtIGV4ZWNidWYt PmJ1ZmZlcl9jb3VudCkpOworCWV4ZWNidWYtPmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVy KHNwaW4tPm9iaik7CisJZXhlY2J1Zi0+ZmxhZ3MgfD0gSTkxNV9FWEVDX0JBVENIX0ZJUlNUOwog CWV4ZWNidWYtPnJzdmQxID0gb3B0cy0+Y3R4OwogCiAJaWYgKG9wdHMtPmZsYWdzICYgSUdUX1NQ SU5fRkVOQ0VfT1VUKQpAQCAtMjY0LDEwICsyNjcsOSBAQCBlbWl0X3JlY3Vyc2l2ZV9iYXRjaChp Z3Rfc3Bpbl90ICpzcGluLAogCQl9CiAJfQogCi0JaWd0X2Fzc2VydF9sdChjcyAtIGJhdGNoLCBC QVRDSF9TSVpFIC8gc2l6ZW9mKCpjcykpOworCWlndF9hc3NlcnRfbHQoY3MgLSBiYXRjaF9zdGFy dCwgQkFUQ0hfU0laRSAvIHNpemVvZigqY3MpKTsKIAotCS8qIE1ha2UgaXQgZWFzaWVyIGZvciBj YWxsZXJzIHRvIHJlc3VibWl0LiAqLwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNwaW4t Pm9iaik7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBleGVjYnVmLT5idWZmZXJfY291bnQ7IGkr KykgewogCQlzcGluLT5vYmpbaV0ucmVsb2NhdGlvbl9jb3VudCA9IDA7CiAJCXNwaW4tPm9ialtp XS5yZWxvY3NfcHRyID0gMDsKIAkJc3Bpbi0+b2JqW2ldLmZsYWdzID0gRVhFQ19PQkpFQ1RfUElO TkVEOwpAQCAtNDQ1LDEwICs0NDcsMTEgQEAgdm9pZCBpZ3Rfc3Bpbl9mcmVlKGludCBmZCwgaWd0 X3NwaW5fdCAqc3BpbikKIAlnZW1fbXVubWFwKCh2b2lkICopKCh1bnNpZ25lZCBsb25nKXNwaW4t PmNvbmRpdGlvbiAmICh+NDA5NVVMKSksCiAJCSAgIEJBVENIX1NJWkUpOwogCi0JaWYgKHNwaW4t PnBvbGwpIHsKKwlpZiAoc3Bpbi0+cG9sbCkKIAkJZ2VtX211bm1hcChzcGluLT5wb2xsLCA0MDk2 KTsKKworCWlmIChzcGluLT5wb2xsX2hhbmRsZSkKIAkJZ2VtX2Nsb3NlKGZkLCBzcGluLT5wb2xs X2hhbmRsZSk7Ci0JfQogCiAJaWYgKHNwaW4tPmhhbmRsZSkKIAkJZ2VtX2Nsb3NlKGZkLCBzcGlu LT5oYW5kbGUpOwpkaWZmIC0tZ2l0IGEvbGliL2lndF9kdW1teWxvYWQuaCBiL2xpYi9pZ3RfZHVt bXlsb2FkLmgKaW5kZXggNDIxY2ExODMuLmRlNTc4MWQ3IDEwMDY0NAotLS0gYS9saWIvaWd0X2R1 bW15bG9hZC5oCisrKyBiL2xpYi9pZ3RfZHVtbXlsb2FkLmgKQEAgLTM0LDYgKzM0LDcgQEAKIAog dHlwZWRlZiBzdHJ1Y3QgaWd0X3NwaW4gewogCXVuc2lnbmVkIGludCBoYW5kbGU7CisKIAl0aW1l cl90IHRpbWVyOwogCXN0cnVjdCBpZ3RfbGlzdF9oZWFkIGxpbms7CiAKQEAgLTQxLDkgKzQyLDEy IEBAIHR5cGVkZWYgc3RydWN0IGlndF9zcGluIHsKIAl1aW50MzJfdCBjbWRfcHJlY29uZGl0aW9u OwogCiAJaW50IG91dF9mZW5jZTsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBv YmpbMl07Ci0jZGVmaW5lIElHVF9TUElOX0JBVENIICAgMQorCXN0cnVjdCBkcm1faTkxNV9nZW1f ZXhlY19vYmplY3QyIG9ialszXTsKKyNkZWZpbmUgSUdUX1NQSU5fQkFUQ0ggICAwCisjZGVmaW5l IElHVF9TUElOX1BPTEwgICAgMQorCiAJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiBl eGVjYnVmOworCiAJdWludDMyX3QgcG9sbF9oYW5kbGU7CiAJdWludDMyX3QgKnBvbGw7CiAjZGVm aW5lIFNQSU5fUE9MTF9TVEFSVF9JRFggMApkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fZXhl Y19iYWxhbmNlci5jIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19iYWxhbmNlci5jCmluZGV4IDcwYzQ1 MjliLi4xOWRmNDA2YyAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fZXhlY19iYWxhbmNlci5j CisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfYmFsYW5jZXIuYwpAQCAtNzE4LDcgKzcxOCw3IEBA IHN0YXRpYyB1aW50MzJfdCBjcmVhdGVfc2VtYXBob3JlX3RvX3NwaW5uZXIoaW50IGk5MTUsIGln dF9zcGluX3QgKnNwaW4pCiAJY3MgPSBtYXAgPSBnZW1fbW1hcF9fY3B1KGk5MTUsIGhhbmRsZSwg MCwgNDA5NiwgUFJPVF9XUklURSk7CiAKIAkvKiBXYWl0IHVudGlsIHRoZSBzcGlubmVyIGlzIHJ1 bm5pbmcgKi8KLQlhZGRyID0gc3Bpbi0+b2JqWzBdLm9mZnNldCArIDQgKiBTUElOX1BPTExfU1RB UlRfSURYOworCWFkZHIgPSBzcGluLT5vYmpbSUdUX1NQSU5fUE9MTF0ub2Zmc2V0ICsgNCAqIFNQ SU5fUE9MTF9TVEFSVF9JRFg7CiAJKmNzKysgPSBNSV9TRU1BUEhPUkVfV0FJVCB8CiAJCU1JX1NF TUFQSE9SRV9QT0xMIHwKIAkJTUlfU0VNQVBIT1JFX1NBRF9ORVFfU0REIHwKQEAgLTc5Nyw5ICs3 OTcsOSBAQCBzdGF0aWMgdm9pZCBib25kZWRfc2xpY2UoaW50IGk5MTUpCiAJCWlndF9zcGluX3Jl c2V0KHNwaW4pOwogCiAJCS8qIGlndF9zcGluX3QgcG9sbCBhbmQgYmF0Y2ggb2JqIG11c3QgYmUg bGFpZCBvdXQgYXMgd2UgZXhwZWN0ICovCi0JCWlndF9hc3NlcnRfZXEoSUdUX1NQSU5fQkFUQ0gs IDEpOwotCQlvYmpbMF0gPSBzcGluLT5vYmpbMF07Ci0JCW9ialsxXSA9IHNwaW4tPm9ialsxXTsK KwkJaWd0X2Fzc2VydF9lcShJR1RfU1BJTl9CQVRDSCwgMCk7CisJCW9ialswXSA9IHNwaW4tPm9i altJR1RfU1BJTl9QT0xMXTsKKwkJb2JqWzFdID0gc3Bpbi0+b2JqW0lHVF9TUElOX0JBVENIXTsK IAkJb2JqWzJdLmhhbmRsZSA9IGNyZWF0ZV9zZW1hcGhvcmVfdG9fc3Bpbm5lcihpOTE1LCBzcGlu KTsKIAogCQllYi5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcihvYmopOwpkaWZmIC0tZ2l0 IGEvdGVzdHMvaTkxNS9nZW1fc3Bpbl9iYXRjaC5jIGIvdGVzdHMvaTkxNS9nZW1fc3Bpbl9iYXRj aC5jCmluZGV4IGM2N2YwMTVmLi4wNDcwN2ZkYyAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1f c3Bpbl9iYXRjaC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX3NwaW5fYmF0Y2guYwpAQCAtNzgsMTIg Kzc4LDkgQEAgc3RhdGljIHZvaWQgc3Bpbl9yZXN1Ym1pdChpbnQgZmQsIGNvbnN0IHN0cnVjdCBp bnRlbF9leGVjdXRpb25fZW5naW5lMiAqZTIsCiAJCWdlbV9jb250ZXh0X2NyZWF0ZShmZCkgOiBj dHgwOwogCWlndF9zcGluX3QgKnNwaW4gPSBfX2lndF9zcGluX25ldyhmZCwgLmN0eCA9IGN0eDAs IC5lbmdpbmUgPSBlMi0+ZmxhZ3MpOwogCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5n aW5lMiAqb3RoZXI7CisJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiBlYiA9IHNwaW4t PmV4ZWNidWY7CiAKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGViID0gewotCQku YnVmZmVyX2NvdW50ID0gMSwKLQkJLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKCZzcGlu LT5vYmpbSUdUX1NQSU5fQkFUQ0hdKSwKLQkJLnJzdmQxID0gY3R4MSwKLQl9OworCWViLnJzdmQx ID0gY3R4MTsKIAogCWlndF9hc3NlcnQoZ2VtX2NvbnRleHRfaGFzX2VuZ2luZV9tYXAoZmQsIDAp IHx8CiAJCSAgICEoZmxhZ3MgJiBSRVNVQk1JVF9BTExfRU5HSU5FUykpOwpAQCAtOTcsMTEgKzk0 LDEzIEBAIHN0YXRpYyB2b2lkIHNwaW5fcmVzdWJtaXQoaW50IGZkLCBjb25zdCBzdHJ1Y3QgaW50 ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUyLAogCQkJaWYgKGdlbV9lbmdpbmVfaXNfZXF1YWwob3Ro ZXIsIGUyKSkKIAkJCQljb250aW51ZTsKIAotCQkJZWIuZmxhZ3MgPSBvdGhlci0+ZmxhZ3M7CisJ CQllYi5mbGFncyAmPSB+KEk5MTVfRVhFQ19SSU5HX01BU0sgfCBJOTE1X0VYRUNfQlNEX01BU0sp OworCQkJZWIuZmxhZ3MgfD0gb3RoZXItPmZsYWdzOwogCQkJZ2VtX2V4ZWNidWYoZmQsICZlYik7 CiAJCX0KIAl9IGVsc2UgewotCQllYi5mbGFncyA9IGUyLT5mbGFnczsKKwkJZWIuZmxhZ3MgJj0g fihJOTE1X0VYRUNfUklOR19NQVNLIHwgSTkxNV9FWEVDX0JTRF9NQVNLKTsKKwkJZWIuZmxhZ3Mg fD0gZTItPmZsYWdzOwogCQlnZW1fZXhlY2J1ZihmZCwgJmViKTsKIAl9CiAKLS0gCjIuMTcuMQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4