From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 260716E85F for ; Fri, 21 Jun 2019 10:01:41 +0000 (UTC) From: Ramalingam C Date: Fri, 21 Jun 2019 15:33:25 +0530 Message-Id: <20190621100345.20019-24-ramalingam.c@intel.com> In-Reply-To: <20190621100345.20019-1-ramalingam.c@intel.com> References: <20190621100345.20019-1-ramalingam.c@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [RFC v2 23/43] tests/i915/gem_exec_nop: use the gem_engine_topology library List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org, tvrtko.ursulin@linux.intel.com, andi@etezian.org List-ID: UmVwbGFjZSB0aGUgbGVnYWN5IGZvcl9lYWNoX2VuZ2luZSogZGVmaW5lcyB3aXRoIHRoZSBvbmVz CmltcGxlbWVudGVkIGluIHRoZSBnZW1fZW5naW5lX3RvcG9sb2d5IGxpYnJhcnkuCgpTaWduZWQt b2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+Ci0tLQogdGVzdHMv aTkxNS9nZW1fZXhlY19ub3AuYyB8IDExOSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDU2IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfbm9wLmMgYi90ZXN0cy9pOTE1L2dl bV9leGVjX25vcC5jCmluZGV4IDg5MjI2ODVhZjM1Ny4uOTM3ZWMwMTQzM2I0IDEwMDY0NAotLS0g YS90ZXN0cy9pOTE1L2dlbV9leGVjX25vcC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfbm9w LmMKQEAgLTY2LDcgKzY2LDggQEAgc3RhdGljIGRvdWJsZSBlbGFwc2VkKGNvbnN0IHN0cnVjdCB0 aW1lc3BlYyAqc3RhcnQsIGNvbnN0IHN0cnVjdCB0aW1lc3BlYyAqZW5kKQogCQkoZW5kLT50dl9u c2VjIC0gc3RhcnQtPnR2X25zZWMpKjFlLTkpOwogfQogCi1zdGF0aWMgZG91YmxlIG5vcF9vbl9y aW5nKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1bnNpZ25lZCByaW5nX2lkLAorc3RhdGljIGRv dWJsZSBub3Bfb25fcmluZyhpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwKKwkJCSAgY29uc3Qgc3Ry dWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplLAogCQkJICBpbnQgdGltZW91dCwgdW5zaWdu ZWQgbG9uZyAqb3V0KQogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1 ZjsKQEAgLTgwLDExICs4MSwxMSBAQCBzdGF0aWMgZG91YmxlIG5vcF9vbl9yaW5nKGludCBmZCwg dWludDMyX3QgaGFuZGxlLCB1bnNpZ25lZCByaW5nX2lkLAogCW1lbXNldCgmZXhlY2J1ZiwgMCwg c2l6ZW9mKGV4ZWNidWYpKTsKIAlleGVjYnVmLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVy KCZvYmopOwogCWV4ZWNidWYuYnVmZmVyX2NvdW50ID0gMTsKLQlleGVjYnVmLmZsYWdzID0gcmlu Z19pZDsKKwlleGVjYnVmLmZsYWdzID0gZS0+ZmxhZ3M7CiAJZXhlY2J1Zi5mbGFncyB8PSBMT0NB TF9JOTE1X0VYRUNfSEFORExFX0xVVDsKIAlleGVjYnVmLmZsYWdzIHw9IExPQ0FMX0k5MTVfRVhF Q19OT19SRUxPQzsKIAlpZiAoX19nZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYpKSB7Ci0JCWV4ZWNi dWYuZmxhZ3MgPSByaW5nX2lkOworCQlleGVjYnVmLmZsYWdzID0gZS0+ZmxhZ3M7CiAJCWdlbV9l eGVjYnVmKGZkLCAmZXhlY2J1Zik7CiAJfQogCWludGVsX2RldGVjdF9hbmRfY2xlYXJfbWlzc2Vk X2ludGVycnVwdHMoZmQpOwpAQCAtMTA0LDcgKzEwNSw4IEBAIHN0YXRpYyBkb3VibGUgbm9wX29u X3JpbmcoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIHVuc2lnbmVkIHJpbmdfaWQsCiAJcmV0dXJu IGVsYXBzZWQoJnN0YXJ0LCAmbm93KTsKIH0KIAotc3RhdGljIHZvaWQgcG9sbF9yaW5nKGludCBm ZCwgdW5zaWduZWQgZW5naW5lLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgdGltZW91dCkKK3N0YXRp YyB2b2lkIHBvbGxfcmluZyhpbnQgZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5n aW5lMiAqZSwKKwkJICAgICAgY29uc3QgY2hhciAqbmFtZSwgaW50IHRpbWVvdXQpCiB7CiAJY29u c3QgaW50IGdlbiA9IGludGVsX2dlbihpbnRlbF9nZXRfZHJtX2RldmlkKGZkKSk7CiAJY29uc3Qg dWludDMyX3QgTUlfQVJCX0NISyA9IDB4NSA8PCAyMzsKQEAgLTEyMSw4ICsxMjMsOCBAQCBzdGF0 aWMgdm9pZCBwb2xsX3JpbmcoaW50IGZkLCB1bnNpZ25lZCBlbmdpbmUsIGNvbnN0IGNoYXIgKm5h bWUsIGludCB0aW1lb3V0KQogCWlmIChnZW4gPT0gNCB8fCBnZW4gPT0gNSkKIAkJZmxhZ3MgfD0g STkxNV9FWEVDX1NFQ1VSRTsKIAotCWdlbV9yZXF1aXJlX3JpbmcoZmQsIGVuZ2luZSk7Ci0JaWd0 X3JlcXVpcmUoZ2VtX2Nhbl9zdG9yZV9kd29yZChmZCwgZW5naW5lKSk7CisJZ2VtX3JlcXVpcmVf cmluZyhmZCwgZS0+ZmxhZ3MpOworCWlndF9yZXF1aXJlKGdlbV9jbGFzc19jYW5fc3RvcmVfZHdv cmQoZmQsIGUtPmNsYXNzKSk7CiAKIAltZW1zZXQoJm9iaiwgMCwgc2l6ZW9mKG9iaikpOwogCW9i ai5oYW5kbGUgPSBnZW1fY3JlYXRlKGZkLCA0MDk2KTsKQEAgLTE4Niw3ICsxODgsNyBAQCBzdGF0 aWMgdm9pZCBwb2xsX3JpbmcoaW50IGZkLCB1bnNpZ25lZCBlbmdpbmUsIGNvbnN0IGNoYXIgKm5h bWUsIGludCB0aW1lb3V0KQogCW1lbXNldCgmZXhlY2J1ZiwgMCwgc2l6ZW9mKGV4ZWNidWYpKTsK IAlleGVjYnVmLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKCZvYmopOwogCWV4ZWNidWYu YnVmZmVyX2NvdW50ID0gMTsKLQlleGVjYnVmLmZsYWdzID0gZW5naW5lIHwgZmxhZ3M7CisJZXhl Y2J1Zi5mbGFncyA9IGUtPmZsYWdzIHwgZmxhZ3M7CiAKIAljeWNsZXMgPSAwOwogCWRvIHsKQEAg LTIyMiw3ICsyMjQsOCBAQCBzdGF0aWMgdm9pZCBwb2xsX3NlcXVlbnRpYWwoaW50IGZkLCBjb25z dCBjaGFyICpuYW1lLCBpbnQgdGltZW91dCkKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2Jq ZWN0MiBvYmpbMl07CiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZWxvY2F0aW9uX2VudHJ5IHJlbG9j WzRdLCAqcjsKIAl1aW50MzJfdCAqYmJlWzJdLCAqc3RhdGUsICpiYXRjaDsKLQl1bnNpZ25lZCBl bmdpbmVzWzE2XSwgbmVuZ2luZSwgZW5naW5lLCBmbGFnczsKKwl1bnNpZ25lZCBlbmdpbmVzWzE2 XSwgbmVuZ2luZSwgZmxhZ3M7CisJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUy ICplOwogCXN0cnVjdCB0aW1lc3BlYyB0diA9IHt9OwogCXVuc2lnbmVkIGxvbmcgY3ljbGVzOwog CXVpbnQ2NF90IGVsYXBzZWQ7CkBAIC0yMzMsMTEgKzIzNiwxMSBAQCBzdGF0aWMgdm9pZCBwb2xs X3NlcXVlbnRpYWwoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgdGltZW91dCkKIAkJZmxh Z3MgfD0gSTkxNV9FWEVDX1NFQ1VSRTsKIAogCW5lbmdpbmUgPSAwOwotCWZvcl9lYWNoX3BoeXNp Y2FsX2VuZ2luZShmZCwgZW5naW5lKSB7Ci0JCWlmICghZ2VtX2Nhbl9zdG9yZV9kd29yZChmZCwg ZW5naW5lKSkKKwlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgeworCQlpZiAoIWdl bV9jbGFzc19jYW5fc3RvcmVfZHdvcmQoZmQsIGUtPmNsYXNzKSkKIAkJCWNvbnRpbnVlOwogCi0J CWVuZ2luZXNbbmVuZ2luZSsrXSA9IGVuZ2luZTsKKwkJZW5naW5lc1tuZW5naW5lKytdID0gZS0+ ZmxhZ3M7CiAJfQogCWlndF9yZXF1aXJlKG5lbmdpbmUpOwogCkBAIC0zNDIsMjAgKzM0NSwyMiBA QCBzdGF0aWMgdm9pZCBwb2xsX3NlcXVlbnRpYWwoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lLCBp bnQgdGltZW91dCkKIH0KIAogc3RhdGljIHZvaWQgc2luZ2xlKGludCBmZCwgdWludDMyX3QgaGFu ZGxlLAotCQkgICB1bnNpZ25lZCByaW5nX2lkLCBjb25zdCBjaGFyICpyaW5nX25hbWUpCisJCSAg IGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwKKwkJICAgY29uc3QgY2hh ciAqcmluZ19uYW1lKQogewogCWRvdWJsZSB0aW1lOwogCXVuc2lnbmVkIGxvbmcgY291bnQ7CiAK LQlnZW1fcmVxdWlyZV9yaW5nKGZkLCByaW5nX2lkKTsKKwlnZW1fcmVxdWlyZV9yaW5nKGZkLCBl LT5mbGFncyk7CiAKLQl0aW1lID0gbm9wX29uX3JpbmcoZmQsIGhhbmRsZSwgcmluZ19pZCwgMjAs ICZjb3VudCk7CisJdGltZSA9IG5vcF9vbl9yaW5nKGZkLCBoYW5kbGUsIGUsIDIwLCAmY291bnQp OwogCWlndF9pbmZvKCIlczogJSdsdSBjeWNsZXM6ICUuM2Z1c1xuIiwKIAkJIHJpbmdfbmFtZSwg Y291bnQsIHRpbWUqMWU2IC8gY291bnQpOwogfQogCiBzdGF0aWMgZG91YmxlCi1zdGFibGVfbm9w X29uX3JpbmcoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIHVuc2lnbmVkIGludCBlbmdpbmUsCitz dGFibGVfbm9wX29uX3JpbmcoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsCisJCSAgIGNvbnN0IHN0 cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwKIAkJICAgaW50IHRpbWVvdXQsIGludCBy ZXBzKQogewogCWlndF9zdGF0c190IHM7CkBAIC0zNzAsNyArMzc1LDcgQEAgc3RhYmxlX25vcF9v bl9yaW5nKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1bnNpZ25lZCBpbnQgZW5naW5lLAogCQl1 bnNpZ25lZCBsb25nIGNvdW50OwogCQlkb3VibGUgdGltZTsKIAotCQl0aW1lID0gbm9wX29uX3Jp bmcoZmQsIGhhbmRsZSwgZW5naW5lLCB0aW1lb3V0LCAmY291bnQpOworCQl0aW1lID0gbm9wX29u X3JpbmcoZmQsIGhhbmRsZSwgZSwgdGltZW91dCwgJmNvdW50KTsKIAkJaWd0X3N0YXRzX3B1c2hf ZmxvYXQoJnMsIHRpbWUgLyBjb3VudCk7CiAJfQogCkBAIC00MzIsMjAgKzQzNywyMCBAQCBzdGF0 aWMgdm9pZCBwYXJhbGxlbChpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgaW50IHRpbWVvdXQpCiAJ dW5zaWduZWQgZW5naW5lc1sxNl07CiAJY29uc3QgY2hhciAqbmFtZXNbMTZdOwogCXVuc2lnbmVk IG5lbmdpbmU7Ci0JdW5zaWduZWQgZW5naW5lOworCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRp b25fZW5naW5lMiAqZTsKIAl1bnNpZ25lZCBsb25nIGNvdW50OwogCWRvdWJsZSB0aW1lLCBzdW07 CiAKIAlzdW0gPSAwOwogCW5lbmdpbmUgPSAwOwotCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShm ZCwgZW5naW5lKSB7Ci0JCWVuZ2luZXNbbmVuZ2luZV0gPSBlbmdpbmU7Ci0JCW5hbWVzW25lbmdp bmVdID0gZV9fLT5uYW1lOworCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CisJ CWVuZ2luZXNbbmVuZ2luZV0gPSBlLT5mbGFnczsKKwkJbmFtZXNbbmVuZ2luZV0gPSBlLT5uYW1l OwogCQluZW5naW5lKys7CiAKLQkJdGltZSA9IG5vcF9vbl9yaW5nKGZkLCBoYW5kbGUsIGVuZ2lu ZSwgMSwgJmNvdW50KSAvIGNvdW50OworCQl0aW1lID0gbm9wX29uX3JpbmcoZmQsIGhhbmRsZSwg ZSwgMSwgJmNvdW50KSAvIGNvdW50OwogCQlzdW0gKz0gdGltZTsKLQkJaWd0X2RlYnVnKCIlczog JS4zZnVzXG4iLCBlX18tPm5hbWUsIDFlNip0aW1lKTsKKwkJaWd0X2RlYnVnKCIlczogJS4zZnVz XG4iLCBlLT5uYW1lLCAxZTYqdGltZSk7CiAJfQogCWlndF9yZXF1aXJlKG5lbmdpbmUpOwogCWln dF9pbmZvKCJhdmVyYWdlIChpbmRpdmlkdWFsbHkpOiAlLjNmdXNcbiIsIHN1bS9uZW5naW5lKjFl Nik7CkBAIC00OTEsMjUgKzQ5NiwyNSBAQCBzdGF0aWMgdm9pZCBzZXJpZXMoaW50IGZkLCB1aW50 MzJfdCBoYW5kbGUsIGludCB0aW1lb3V0KQogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1 ZmZlcjIgZXhlY2J1ZjsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmo7CisJ Y29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplOwogCXN0cnVjdCB0aW1lc3Bl YyBzdGFydCwgbm93LCBzeW5jOwogCXVuc2lnbmVkIGVuZ2luZXNbMTZdOwogCXVuc2lnbmVkIG5l bmdpbmU7Ci0JdW5zaWduZWQgZW5naW5lOwogCXVuc2lnbmVkIGxvbmcgY291bnQ7CiAJZG91Ymxl IHRpbWUsIG1heCA9IDAsIG1pbiA9IEhVR0VfVkFMLCBzdW0gPSAwOwogCWNvbnN0IGNoYXIgKm5h bWU7CiAKIAluZW5naW5lID0gMDsKLQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGVuZ2lu ZSkgewotCQl0aW1lID0gbm9wX29uX3JpbmcoZmQsIGhhbmRsZSwgZW5naW5lLCAxLCAmY291bnQp IC8gY291bnQ7CisJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwkJdGltZSA9 IG5vcF9vbl9yaW5nKGZkLCBoYW5kbGUsIGUsIDEsICZjb3VudCkgLyBjb3VudDsKIAkJaWYgKHRp bWUgPiBtYXgpIHsKLQkJCW5hbWUgPSBlX18tPm5hbWU7CisJCQluYW1lID0gZS0+bmFtZTsKIAkJ CW1heCA9IHRpbWU7CiAJCX0KIAkJaWYgKHRpbWUgPCBtaW4pCiAJCQltaW4gPSB0aW1lOwogCQlz dW0gKz0gdGltZTsKLQkJZW5naW5lc1tuZW5naW5lKytdID0gZW5naW5lOworCQllbmdpbmVzW25l bmdpbmUrK10gPSBlLT5mbGFnczsKIAl9CiAJaWd0X3JlcXVpcmUobmVuZ2luZSk7CiAJaWd0X2lu Zm8oIk1heGltdW0gZXhlY3V0aW9uIGxhdGVuY3kgb24gJXMsICUuM2Z1cywgbWluICUuM2Z1cywg dG90YWwgJS4zZnVzIHBlciBjeWNsZSwgYXZlcmFnZSAlLjNmdXNcbiIsCkBAIC01ODIsMTEgKzU4 NywxMiBAQCBzdGF0aWMgdm9pZCBzZXF1ZW50aWFsKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1 bnNpZ25lZCBmbGFncywgaW50IHRpbWVvdXQpCiAJY29uc3QgaW50IG5jcHVzID0gZmxhZ3MgJiBG T1JLRUQgPyBzeXNjb25mKF9TQ19OUFJPQ0VTU09SU19PTkxOKSA6IDE7CiAJc3RydWN0IGRybV9p OTE1X2dlbV9leGVjYnVmZmVyMiBleGVjYnVmOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19v YmplY3QyIG9ialsyXTsKKwljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmU7 CiAJdW5zaWduZWQgZW5naW5lc1sxNl07CiAJdW5zaWduZWQgbmVuZ2luZTsKIAlkb3VibGUgKnJl c3VsdHM7CiAJZG91YmxlIHRpbWUsIHN1bTsKLQl1bnNpZ25lZCBuOworCWludCBuOwogCiAJZ2Vt X3JlcXVpcmVfY29udGV4dHMoZmQpOwogCkBAIC01OTUsMTQgKzYwMSwxNCBAQCBzdGF0aWMgdm9p ZCBzZXF1ZW50aWFsKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1bnNpZ25lZCBmbGFncywgaW50 IHRpbWVvdXQpCiAKIAluZW5naW5lID0gMDsKIAlzdW0gPSAwOwotCWZvcl9lYWNoX3BoeXNpY2Fs X2VuZ2luZShmZCwgbikgeworCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CiAJ CXVuc2lnbmVkIGxvbmcgY291bnQ7CiAKLQkJdGltZSA9IG5vcF9vbl9yaW5nKGZkLCBoYW5kbGUs IG4sIDEsICZjb3VudCkgLyBjb3VudDsKKwkJdGltZSA9IG5vcF9vbl9yaW5nKGZkLCBoYW5kbGUs IGUsIDEsICZjb3VudCkgLyBjb3VudDsKIAkJc3VtICs9IHRpbWU7Ci0JCWlndF9kZWJ1ZygiJXM6 ICUuM2Z1c1xuIiwgZV9fLT5uYW1lLCAxZTYqdGltZSk7CisJCWlndF9kZWJ1ZygiJXM6ICUuM2Z1 c1xuIiwgZS0+bmFtZSwgMWU2KnRpbWUpOwogCi0JCWVuZ2luZXNbbmVuZ2luZSsrXSA9IG47CisJ CWVuZ2luZXNbbmVuZ2luZSsrXSA9IGUtPmZsYWdzOwogCX0KIAlpZ3RfcmVxdWlyZShuZW5naW5l KTsKIAlpZ3RfaW5mbygiVG90YWwgKGluZGl2aWR1YWwpIGV4ZWN1dGlvbiBsYXRlbmN5ICUuM2Z1 cyBwZXIgY3ljbGVcbiIsCkBAIC03MTAsMTAgKzcxNiwxMSBAQCBzdGF0aWMgYm9vbCBmZW5jZV93 YWl0KGludCBmZW5jZSkKIH0KIAogc3RhdGljIHZvaWQgZmVuY2Vfc2lnbmFsKGludCBmZCwgdWlu dDMyX3QgaGFuZGxlLAotCQkJIHVuc2lnbmVkIHJpbmdfaWQsIGNvbnN0IGNoYXIgKnJpbmdfbmFt ZSwKLQkJCSBpbnQgdGltZW91dCkKKwkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2Vu Z2luZTIgKmUsCisJCQkgY29uc3QgY2hhciAqcmluZ19uYW1lLCBpbnQgdGltZW91dCkKIHsKICNk ZWZpbmUgTkZFTkNFUyA1MTIKKwljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIg Km90aGVyOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZjsKIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmo7CiAJc3RydWN0IHRpbWVzcGVjIHN0YXJ0 LCBub3c7CkBAIC03MjUsMTIgKzczMiwxMiBAQCBzdGF0aWMgdm9pZCBmZW5jZV9zaWduYWwoaW50 IGZkLCB1aW50MzJfdCBoYW5kbGUsCiAJaWd0X3JlcXVpcmUoZ2VtX2hhc19leGVjX2ZlbmNlKGZk KSk7CiAKIAluZW5naW5lID0gMDsKLQlpZiAocmluZ19pZCA9PSBBTExfRU5HSU5FUykgewotCQlm b3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIG4pCi0JCQllbmdpbmVzW25lbmdpbmUrK10gPSBu OworCWlmICghZSkgeworCQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgb3RoZXIpCisJ CQllbmdpbmVzW25lbmdpbmUrK10gPSBvdGhlci0+ZmxhZ3M7CiAJfSBlbHNlIHsKLQkJZ2VtX3Jl cXVpcmVfcmluZyhmZCwgcmluZ19pZCk7Ci0JCWVuZ2luZXNbbmVuZ2luZSsrXSA9IHJpbmdfaWQ7 CisJCWdlbV9yZXF1aXJlX3JpbmcoZmQsIGUtPmZsYWdzKTsKKwkJZW5naW5lc1tuZW5naW5lKytd ID0gZS0+ZmxhZ3M7CiAJfQogCWlndF9yZXF1aXJlKG5lbmdpbmUpOwogCkBAIC03NTQsMTQgKzc2 MSwxNCBAQCBzdGF0aWMgdm9pZCBmZW5jZV9zaWduYWwoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUs CiAJY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZzdGFydCk7CiAJZG8gewogCQlmb3Ig KGludCBsb29wID0gMDsgbG9vcCA8IDEwMjQ7IGxvb3ArKykgewotCQkJZm9yIChpbnQgZSA9IDA7 IGUgPCBuZW5naW5lOyBlKyspIHsKKwkJCWZvciAoaW50IGkgPSAwOyBpIDwgbmVuZ2luZTsgaSsr KSB7CiAJCQkJaWYgKGZlbmNlc1tuXSAhPSAtMSkgewogCQkJCQlpZ3RfYXNzZXJ0KGZlbmNlX3dh aXQoZmVuY2VzW25dKSk7CiAJCQkJCWNsb3NlKGZlbmNlc1tuXSk7CiAJCQkJfQogCiAJCQkJZXhl Y2J1Zi5mbGFncyAmPSB+RU5HSU5FX0ZMQUdTOwotCQkJCWV4ZWNidWYuZmxhZ3MgfD0gZW5naW5l c1tlXTsKKwkJCQlleGVjYnVmLmZsYWdzIHw9IGVuZ2luZXNbaV07CiAJCQkJZ2VtX2V4ZWNidWZf d3IoZmQsICZleGVjYnVmKTsKIAogCQkJCS8qIEVuYWJsZSBzaWduYWxpbmcgYnkgZG9pbmcgYSBw b2xsKCkgKi8KQEAgLTc4Nyw3ICs3OTQsOCBAQCBzdGF0aWMgdm9pZCBmZW5jZV9zaWduYWwoaW50 IGZkLCB1aW50MzJfdCBoYW5kbGUsCiB9CiAKIHN0YXRpYyB2b2lkIHByZWVtcHQoaW50IGZkLCB1 aW50MzJfdCBoYW5kbGUsCi0JCSAgIHVuc2lnbmVkIHJpbmdfaWQsIGNvbnN0IGNoYXIgKnJpbmdf bmFtZSkKKwkJICAgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplLAorCQkg ICBjb25zdCBjaGFyICpyaW5nX25hbWUpCiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVm ZmVyMiBleGVjYnVmOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9iajsKQEAg LTc5NSw3ICs4MDMsNyBAQCBzdGF0aWMgdm9pZCBwcmVlbXB0KGludCBmZCwgdWludDMyX3QgaGFu ZGxlLAogCXVuc2lnbmVkIGxvbmcgY291bnQ7CiAJdWludDMyX3QgY3R4WzJdOwogCi0JZ2VtX3Jl cXVpcmVfcmluZyhmZCwgcmluZ19pZCk7CisJZ2VtX3JlcXVpcmVfcmluZyhmZCwgZS0+ZmxhZ3Mp OwogCiAJY3R4WzBdID0gZ2VtX2NvbnRleHRfY3JlYXRlKGZkKTsKIAlnZW1fY29udGV4dF9zZXRf cHJpb3JpdHkoZmQsIGN0eFswXSwgTUlOX1BSSU8pOwpAQCAtODA5LDExICs4MTcsMTEgQEAgc3Rh dGljIHZvaWQgcHJlZW1wdChpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwKIAltZW1zZXQoJmV4ZWNi dWYsIDAsIHNpemVvZihleGVjYnVmKSk7CiAJZXhlY2J1Zi5idWZmZXJzX3B0ciA9IHRvX3VzZXJf cG9pbnRlcigmb2JqKTsKIAlleGVjYnVmLmJ1ZmZlcl9jb3VudCA9IDE7Ci0JZXhlY2J1Zi5mbGFn cyA9IHJpbmdfaWQ7CisJZXhlY2J1Zi5mbGFncyA9IGUtPmZsYWdzOwogCWV4ZWNidWYuZmxhZ3Mg fD0gTE9DQUxfSTkxNV9FWEVDX0hBTkRMRV9MVVQ7CiAJZXhlY2J1Zi5mbGFncyB8PSBMT0NBTF9J OTE1X0VYRUNfTk9fUkVMT0M7CiAJaWYgKF9fZ2VtX2V4ZWNidWYoZmQsICZleGVjYnVmKSkgewot CQlleGVjYnVmLmZsYWdzID0gcmluZ19pZDsKKwkJZXhlY2J1Zi5mbGFncyA9IGUtPmZsYWdzOwog CQlnZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYpOwogCX0KIAlleGVjYnVmLnJzdmQxID0gY3R4WzFd OwpAQCAtODI1LDcgKzgzMyw3IEBAIHN0YXRpYyB2b2lkIHByZWVtcHQoaW50IGZkLCB1aW50MzJf dCBoYW5kbGUsCiAJCWlndF9zcGluX3QgKnNwaW4gPQogCQkJX19pZ3Rfc3Bpbl9uZXcoZmQsCiAJ CQkJICAgICAgIC5jdHggPSBjdHhbMF0sCi0JCQkJICAgICAgIC5lbmdpbmUgPSByaW5nX2lkKTsK KwkJCQkgICAgICAgLmVuZ2luZSA9IGUtPmZsYWdzKTsKIAogCQlmb3IgKGludCBsb29wID0gMDsg bG9vcCA8IDEwMjQ7IGxvb3ArKykKIAkJCWdlbV9leGVjYnVmKGZkLCAmZXhlY2J1Zik7CkBAIC04 NDYsNyArODU0LDcgQEAgc3RhdGljIHZvaWQgcHJlZW1wdChpbnQgZmQsIHVpbnQzMl90IGhhbmRs ZSwKIAogaWd0X21haW4KIHsKLQljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAq ZTsKKwljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmU7CiAJdWludDMyX3Qg aGFuZGxlID0gMDsKIAlpbnQgZGV2aWNlID0gLTE7CiAKQEAgLTg3MywxNSArODgxLDE1IEBAIGln dF9tYWluCiAJaWd0X3N1YnRlc3QoImJhc2ljLXNlcXVlbnRpYWwiKQogCQlzZXF1ZW50aWFsKGRl dmljZSwgaGFuZGxlLCAwLCA1KTsKIAotCWZvciAoZSA9IGludGVsX2V4ZWN1dGlvbl9lbmdpbmVz OyBlLT5uYW1lOyBlKyspIHsKKwlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShkZXZpY2UsIGUp IHsKIAkJaWd0X3N1YnRlc3RfZigiJXMiLCBlLT5uYW1lKQotCQkJc2luZ2xlKGRldmljZSwgaGFu ZGxlLCBlLT5leGVjX2lkIHwgZS0+ZmxhZ3MsIGUtPm5hbWUpOworCQkJc2luZ2xlKGRldmljZSwg aGFuZGxlLCBlLCBlLT5uYW1lKTsKIAkJaWd0X3N1YnRlc3RfZigic2lnbmFsLSVzIiwgZS0+bmFt ZSkKLQkJCWZlbmNlX3NpZ25hbChkZXZpY2UsIGhhbmRsZSwgZS0+ZXhlY19pZCB8IGUtPmZsYWdz LCBlLT5uYW1lLCA1KTsKKwkJCWZlbmNlX3NpZ25hbChkZXZpY2UsIGhhbmRsZSwgZSwgZS0+bmFt ZSwgNSk7CiAJfQogCiAJaWd0X3N1YnRlc3QoInNpZ25hbC1hbGwiKQotCQlmZW5jZV9zaWduYWwo ZGV2aWNlLCBoYW5kbGUsIEFMTF9FTkdJTkVTLCAiYWxsIiwgMTUwKTsKKwkJZmVuY2Vfc2lnbmFs KGRldmljZSwgaGFuZGxlLCBOVUxMLCAiYWxsIiwgMTUwKTsKIAogCWlndF9zdWJ0ZXN0KCJzZXJp ZXMiKQogCQlzZXJpZXMoZGV2aWNlLCBoYW5kbGUsIDE1MCk7CkBAIC05MDgsOSArOTE2LDkgQEAg aWd0X21haW4KIAkJCWlndF9yZXF1aXJlKGdlbV9zY2hlZHVsZXJfaGFzX3ByZWVtcHRpb24oZGV2 aWNlKSk7CiAJCX0KIAotCQlmb3IgKGUgPSBpbnRlbF9leGVjdXRpb25fZW5naW5lczsgZS0+bmFt ZTsgZSsrKSB7CisJCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGRldmljZSwgZSkgewogCQkJ aWd0X3N1YnRlc3RfZigicHJlZW1wdC0lcyIsIGUtPm5hbWUpCi0JCQkJcHJlZW1wdChkZXZpY2Us IGhhbmRsZSwgZS0+ZXhlY19pZCB8IGUtPmZsYWdzLCBlLT5uYW1lKTsKKwkJCQlwcmVlbXB0KGRl dmljZSwgaGFuZGxlLCBlLCBlLT5uYW1lKTsKIAkJfQogCX0KIApAQCAtOTE5LDExICs5MjcsMTAg QEAgaWd0X21haW4KIAkJCWlndF9kZXZpY2Vfc2V0X21hc3RlcihkZXZpY2UpOwogCQl9CiAKLQkJ Zm9yIChlID0gaW50ZWxfZXhlY3V0aW9uX2VuZ2luZXM7IGUtPm5hbWU7IGUrKykgeworCQlfX2Zv cl9lYWNoX3BoeXNpY2FsX2VuZ2luZShkZXZpY2UsIGUpIHsKIAkJCS8qIFJlcXVpcmVzIG1hc3Rl ciBmb3IgU1RPUkVfRFdPUkQgb24gZ2VuNC81ICovCiAJCQlpZ3Rfc3VidGVzdF9mKCJwb2xsLSVz IiwgZS0+bmFtZSkKLQkJCQlwb2xsX3JpbmcoZGV2aWNlLAotCQkJCQkgIGUtPmV4ZWNfaWQgfCBl LT5mbGFncywgZS0+bmFtZSwgMjApOworCQkJCXBvbGxfcmluZyhkZXZpY2UsIGUsIGUtPm5hbWUs IDIwKTsKIAkJfQogCiAJCWlndF9zdWJ0ZXN0KCJwb2xsLXNlcXVlbnRpYWwiKQotLSAKMi4xOS4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2 IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=