From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com [IPv6:2607:f8b0:4864:20::1033]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0169D89F55 for ; Mon, 14 Jun 2021 16:37:24 +0000 (UTC) Received: by mail-pj1-x1033.google.com with SMTP id g6-20020a17090adac6b029015d1a9a6f1aso214504pjx.1 for ; Mon, 14 Jun 2021 09:37:24 -0700 (PDT) From: Jason Ekstrand Date: Mon, 14 Jun 2021 11:36:20 -0500 Message-Id: <20210614163704.365989-6-jason@jlekstrand.net> In-Reply-To: <20210614163704.365989-1-jason@jlekstrand.net> References: <20210614163704.365989-1-jason@jlekstrand.net> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 05/77] tests/i915/gem_exec_nop: Convert to intel_ctx_t 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 List-ID: U2lnbmVkLW9mZi1ieTogSmFzb24gRWtzdHJhbmQgPGphc29uQGpsZWtzdHJhbmQubmV0PgpSZXZp ZXdlZC1ieTogWmJpZ25pZXcgS2VtcGN6ecWEc2tpIDx6Ymlnbmlldy5rZW1wY3p5bnNraUBpbnRl bC5jb20+Ci0tLQogdGVzdHMvaTkxNS9nZW1fZXhlY19ub3AuYyB8IDE1NiArKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDkyIGluc2VydGlvbnMo KyksIDY0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfbm9w LmMgYi90ZXN0cy9pOTE1L2dlbV9leGVjX25vcC5jCmluZGV4IGU3NWNjYjU2Ni4uMDlhMGMyOWU3 IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9leGVjX25vcC5jCisrKyBiL3Rlc3RzL2k5MTUv Z2VtX2V4ZWNfbm9wLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlICJpZ3RfZGV2aWNlLmgi CiAjaW5jbHVkZSAiaWd0X3JhbmQuaCIKICNpbmNsdWRlICJpZ3Rfc3lzZnMuaCIKKyNpbmNsdWRl ICJpbnRlbF9jdHguaCIKIAogCiAjZGVmaW5lIEVOR0lORV9GTEFHUyAgKEk5MTVfRVhFQ19SSU5H X01BU0sgfCBJOTE1X0VYRUNfQlNEX01BU0spCkBAIC02Myw3ICs2NCw3IEBAIHN0YXRpYyBkb3Vi bGUgZWxhcHNlZChjb25zdCBzdHJ1Y3QgdGltZXNwZWMgKnN0YXJ0LCBjb25zdCBzdHJ1Y3QgdGlt ZXNwZWMgKmVuZCkKIAkJKGVuZC0+dHZfbnNlYyAtIHN0YXJ0LT50dl9uc2VjKSoxZS05KTsKIH0K IAotc3RhdGljIGRvdWJsZSBub3Bfb25fcmluZyhpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwKK3N0 YXRpYyBkb3VibGUgbm9wX29uX3JpbmcoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIGNvbnN0IGlu dGVsX2N0eF90ICpjdHgsCiAJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5l MiAqZSwKIAkJCSAgaW50IHRpbWVvdXRfbXMsCiAJCQkgIHVuc2lnbmVkIGxvbmcgKm91dCkKQEAg LTgyLDYgKzgzLDcgQEAgc3RhdGljIGRvdWJsZSBub3Bfb25fcmluZyhpbnQgZmQsIHVpbnQzMl90 IGhhbmRsZSwKIAlleGVjYnVmLmZsYWdzID0gZS0+ZmxhZ3M7CiAJZXhlY2J1Zi5mbGFncyB8PSBJ OTE1X0VYRUNfSEFORExFX0xVVDsKIAlleGVjYnVmLmZsYWdzIHw9IEk5MTVfRVhFQ19OT19SRUxP QzsKKwlleGVjYnVmLnJzdmQxID0gY3R4LT5pZDsKIAlpZiAoX19nZW1fZXhlY2J1ZihmZCwgJmV4 ZWNidWYpKSB7CiAJCWV4ZWNidWYuZmxhZ3MgPSBlLT5mbGFnczsKIAkJZ2VtX2V4ZWNidWYoZmQs ICZleGVjYnVmKTsKQEAgLTEwMiw3ICsxMDQsOCBAQCBzdGF0aWMgZG91YmxlIG5vcF9vbl9yaW5n KGludCBmZCwgdWludDMyX3QgaGFuZGxlLAogCXJldHVybiBlbGFwc2VkKCZzdGFydCwgJm5vdyk7 CiB9CiAKLXN0YXRpYyB2b2lkIHBvbGxfcmluZyhpbnQgZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9l eGVjdXRpb25fZW5naW5lMiAqZSwKK3N0YXRpYyB2b2lkIHBvbGxfcmluZyhpbnQgZmQsIGNvbnN0 IGludGVsX2N0eF90ICpjdHgsCisJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25f ZW5naW5lMiAqZSwKIAkJICAgICAgaW50IHRpbWVvdXQpCiB7CiAJY29uc3QgdW5zaWduZWQgaW50 IGdlbiA9IGludGVsX2dlbihpbnRlbF9nZXRfZHJtX2RldmlkKGZkKSk7CkBAIC0xODYsNiArMTg5 LDcgQEAgc3RhdGljIHZvaWQgcG9sbF9yaW5nKGludCBmZCwgY29uc3Qgc3RydWN0IGludGVsX2V4 ZWN1dGlvbl9lbmdpbmUyICplLAogCWV4ZWNidWYuYnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50 ZXIoJm9iaik7CiAJZXhlY2J1Zi5idWZmZXJfY291bnQgPSAxOwogCWV4ZWNidWYuZmxhZ3MgPSBl LT5mbGFncyB8IGZsYWdzOworCWV4ZWNidWYucnN2ZDEgPSBjdHgtPmlkOwogCiAJY3ljbGVzID0g MDsKIAlkbyB7CkBAIC0yMTMsNyArMjE3LDggQEAgc3RhdGljIHZvaWQgcG9sbF9yaW5nKGludCBm ZCwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplLAogCWdlbV9jbG9zZShm ZCwgb2JqLmhhbmRsZSk7CiB9CiAKLXN0YXRpYyB2b2lkIHBvbGxfc2VxdWVudGlhbChpbnQgZmQs IGNvbnN0IGNoYXIgKm5hbWUsIGludCB0aW1lb3V0KQorc3RhdGljIHZvaWQgcG9sbF9zZXF1ZW50 aWFsKGludCBmZCwgY29uc3QgaW50ZWxfY3R4X3QgKmN0eCwKKwkJCSAgICBjb25zdCBjaGFyICpu YW1lLCBpbnQgdGltZW91dCkKIHsKIAljb25zdCB1bnNpZ25lZCBpbnQgZ2VuID0gaW50ZWxfZ2Vu KGludGVsX2dldF9kcm1fZGV2aWQoZmQpKTsKIAljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9u X2VuZ2luZTIgKmU7CkBAIC0yMzMsNyArMjM4LDcgQEAgc3RhdGljIHZvaWQgcG9sbF9zZXF1ZW50 aWFsKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgaW50IHRpbWVvdXQpCiAJCWZsYWdzIHw9IEk5 MTVfRVhFQ19TRUNVUkU7CiAKIAluZW5naW5lID0gMDsKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2Vu Z2luZShmZCwgZSkgeworCWZvcl9lYWNoX2N0eF9lbmdpbmUoZmQsIGN0eCwgZSkgewogCQlpZiAo IWdlbV9jbGFzc19jYW5fc3RvcmVfZHdvcmQoZmQsIGUtPmNsYXNzKSB8fAogCQkgICAgIWdlbV9j bGFzc19oYXNfbXV0YWJsZV9zdWJtaXNzaW9uKGZkLCBlLT5jbGFzcykpCiAJCQljb250aW51ZTsK QEAgLTMxMyw2ICszMTgsNyBAQCBzdGF0aWMgdm9pZCBwb2xsX3NlcXVlbnRpYWwoaW50IGZkLCBj b25zdCBjaGFyICpuYW1lLCBpbnQgdGltZW91dCkKIAltZW1zZXQoJmV4ZWNidWYsIDAsIHNpemVv ZihleGVjYnVmKSk7CiAJZXhlY2J1Zi5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcihvYmop OwogCWV4ZWNidWYuYnVmZmVyX2NvdW50ID0gQVJSQVlfU0laRShvYmopOworCWV4ZWNidWYucnN2 ZDEgPSBjdHgtPmlkOwogCiAJY3ljbGVzID0gMDsKIAlkbyB7CkBAIC0zNDMsMTkgKzM0OSwxOSBA QCBzdGF0aWMgdm9pZCBwb2xsX3NlcXVlbnRpYWwoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lLCBp bnQgdGltZW91dCkKIAlnZW1fY2xvc2UoZmQsIG9ialswXS5oYW5kbGUpOwogfQogCi1zdGF0aWMg dm9pZCBzaW5nbGUoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsCitzdGF0aWMgdm9pZCBzaW5nbGUo aW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIGNvbnN0IGludGVsX2N0eF90ICpjdHgsCiAJCSAgIGNv bnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSkKIHsKIAlkb3VibGUgdGltZTsK IAl1bnNpZ25lZCBsb25nIGNvdW50OwogCi0JdGltZSA9IG5vcF9vbl9yaW5nKGZkLCBoYW5kbGUs IGUsIDIwMDAwLCAmY291bnQpOworCXRpbWUgPSBub3Bfb25fcmluZyhmZCwgaGFuZGxlLCBjdHgs IGUsIDIwMDAwLCAmY291bnQpOwogCWlndF9pbmZvKCIlczogJSdsdSBjeWNsZXM6ICUuM2Z1c1xu IiwKIAkJICBlLT5uYW1lLCBjb3VudCwgdGltZSoxZTYgLyBjb3VudCk7CiB9CiAKIHN0YXRpYyBk b3VibGUKLXN0YWJsZV9ub3Bfb25fcmluZyhpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwKK3N0YWJs ZV9ub3Bfb25fcmluZyhpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgY29uc3QgaW50ZWxfY3R4X3Qg KmN0eCwKIAkJICAgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplLAogCQkg ICBpbnQgdGltZW91dF9tcywKIAkJICAgaW50IHJlcHMpCkBAIC0zNzIsNyArMzc4LDcgQEAgc3Rh YmxlX25vcF9vbl9yaW5nKGludCBmZCwgdWludDMyX3QgaGFuZGxlLAogCQl1bnNpZ25lZCBsb25n IGNvdW50OwogCQlkb3VibGUgdGltZTsKIAotCQl0aW1lID0gbm9wX29uX3JpbmcoZmQsIGhhbmRs ZSwgZSwgdGltZW91dF9tcywgJmNvdW50KTsKKwkJdGltZSA9IG5vcF9vbl9yaW5nKGZkLCBoYW5k bGUsIGN0eCwgZSwgdGltZW91dF9tcywgJmNvdW50KTsKIAkJaWd0X3N0YXRzX3B1c2hfZmxvYXQo JnMsIHRpbWUgLyBjb3VudCk7CiAJfQogCkBAIC0zODgsNyArMzk0LDcgQEAgc3RhYmxlX25vcF9v bl9yaW5nKGludCBmZCwgdWludDMyX3QgaGFuZGxlLAogICAgICAgICAgICAgICAgICAgICAgIicl cycgIT0gJyVzJyAoJWYgbm90IHdpdGhpbiAlZiUlIHRvbGVyYW5jZSBvZiAlZilcbiIsXAogICAg ICAgICAgICAgICAgICAgICAgI3gsICNyZWYsIHgsIHRvbGVyYW5jZSAqIDEwMC4wLCByZWYpCiAK LXN0YXRpYyB2b2lkIGhlYWRsZXNzKGludCBmZCwgdWludDMyX3QgaGFuZGxlLAorc3RhdGljIHZv aWQgaGVhZGxlc3MoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIGNvbnN0IGludGVsX2N0eF90ICpj dHgsCiAJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplKQogewog CXVuc2lnbmVkIGludCBucl9jb25uZWN0ZWQgPSAwOwpAQCAtNDEyLDExICs0MTgsMTEgQEAgc3Rh dGljIHZvaWQgaGVhZGxlc3MoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsCiAJLyogc2V0IGdyYXBo aWNzIG1vZGUgdG8gcHJldmVudCBibGFua2luZyAqLwogCWttc3Rlc3Rfc2V0X3Z0X2dyYXBoaWNz X21vZGUoKTsKIAotCW5vcF9vbl9yaW5nKGZkLCBoYW5kbGUsIGUsIDEwLCAmY291bnQpOworCW5v cF9vbl9yaW5nKGZkLCBoYW5kbGUsIGN0eCwgZSwgMTAsICZjb3VudCk7CiAJaWd0X3JlcXVpcmVf Zihjb3VudCA+IDEwMCwgInN1Ym1pbGxpc2Vjb25kIHByZWNpc2lvbiByZXF1aXJlZFxuIik7CiAK IAkvKiBiZW5jaG1hcmsgbm9wcyAqLwotCW5fZGlzcGxheSA9IHN0YWJsZV9ub3Bfb25fcmluZyhm ZCwgaGFuZGxlLCBlLCA1MDAsIDUpOworCW5fZGlzcGxheSA9IHN0YWJsZV9ub3Bfb25fcmluZyhm ZCwgaGFuZGxlLCBjdHgsIGUsIDUwMCwgNSk7CiAJaWd0X2luZm8oIldpdGggb25lIGRpc3BsYXkg Y29ubmVjdGVkOiAlLjJmdXNcbiIsCiAJCSBuX2Rpc3BsYXkgKiAxZTYpOwogCkBAIC00MjQsNyAr NDMwLDcgQEAgc3RhdGljIHZvaWQgaGVhZGxlc3MoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsCiAJ a21zdGVzdF91bnNldF9hbGxfY3J0Y3MoZmQsIHJlcyk7CiAKIAkvKiBiZW5jaG1hcmsgbm9wcyBh Z2FpbiAqLwotCW5faGVhZGxlc3MgPSBzdGFibGVfbm9wX29uX3JpbmcoZmQsIGhhbmRsZSwgZSwg NTAwLCA1KTsKKwluX2hlYWRsZXNzID0gc3RhYmxlX25vcF9vbl9yaW5nKGZkLCBoYW5kbGUsIGN0 eCwgZSwgNTAwLCA1KTsKIAlpZ3RfaW5mbygiV2l0aG91dCBhIGRpc3BsYXkgY29ubmVjdGVkICho ZWFkbGVzcyk6ICUuMmZ1c1xuIiwKIAkJIG5faGVhZGxlc3MgKiAxZTYpOwogCkBAIC00MzIsNyAr NDM4LDggQEAgc3RhdGljIHZvaWQgaGVhZGxlc3MoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsCiAJ YXNzZXJ0X3dpdGhpbl9lcHNpbG9uKG5faGVhZGxlc3MsIG5fZGlzcGxheSwgMC4xZik7CiB9CiAK LXN0YXRpYyB2b2lkIHBhcmFsbGVsKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCBpbnQgdGltZW91 dCkKK3N0YXRpYyB2b2lkIHBhcmFsbGVsKGludCBmZCwgdWludDMyX3QgaGFuZGxlLAorCQkgICAg IGNvbnN0IGludGVsX2N0eF90ICpjdHgsIGludCB0aW1lb3V0KQogewogCWNvbnN0IHN0cnVjdCBp bnRlbF9leGVjdXRpb25fZW5naW5lMiAqZTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZm ZXIyIGV4ZWNidWY7CkBAIC00NDYsMTEgKzQ1MywxMSBAQCBzdGF0aWMgdm9pZCBwYXJhbGxlbChp bnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgaW50IHRpbWVvdXQpCiAJc3VtID0gMDsKIAluZW5naW5l ID0gMDsKIAotCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CisJZm9yX2VhY2hf Y3R4X2VuZ2luZShmZCwgY3R4LCBlKSB7CiAJCWVuZ2luZXNbbmVuZ2luZV0gPSBlLT5mbGFnczsK IAkJbmFtZXNbbmVuZ2luZSsrXSA9IHN0cmR1cChlLT5uYW1lKTsKIAotCQl0aW1lID0gbm9wX29u X3JpbmcoZmQsIGhhbmRsZSwgZSwgMjUwLCAmY291bnQpIC8gY291bnQ7CisJCXRpbWUgPSBub3Bf b25fcmluZyhmZCwgaGFuZGxlLCBjdHgsIGUsIDI1MCwgJmNvdW50KSAvIGNvdW50OwogCQlzdW0g Kz0gdGltZTsKIAkJaWd0X2RlYnVnKCIlczogJS4zZnVzXG4iLCBlLT5uYW1lLCAxZTYqdGltZSk7 CiAJfQpAQCAtNDY1LDYgKzQ3Miw3IEBAIHN0YXRpYyB2b2lkIHBhcmFsbGVsKGludCBmZCwgdWlu dDMyX3QgaGFuZGxlLCBpbnQgdGltZW91dCkKIAlleGVjYnVmLmJ1ZmZlcl9jb3VudCA9IDE7CiAJ ZXhlY2J1Zi5mbGFncyB8PSBJOTE1X0VYRUNfSEFORExFX0xVVDsKIAlleGVjYnVmLmZsYWdzIHw9 IEk5MTVfRVhFQ19OT19SRUxPQzsKKwlleGVjYnVmLnJzdmQxID0gY3R4LT5pZDsKIAlpZiAoX19n ZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYpKSB7CiAJCWV4ZWNidWYuZmxhZ3MgPSAwOwogCQlnZW1f ZXhlY2J1ZihmZCwgJmV4ZWNidWYpOwpAQCAtNDk1LDcgKzUwMyw4IEBAIHN0YXRpYyB2b2lkIHBh cmFsbGVsKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCBpbnQgdGltZW91dCkKIAlpZ3RfYXNzZXJ0 X2VxKGludGVsX2RldGVjdF9hbmRfY2xlYXJfbWlzc2VkX2ludGVycnVwdHMoZmQpLCAwKTsKIH0K IAotc3RhdGljIHZvaWQgaW5kZXBlbmRlbnQoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIGludCB0 aW1lb3V0KQorc3RhdGljIHZvaWQgaW5kZXBlbmRlbnQoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUs CisJCQljb25zdCBpbnRlbF9jdHhfdCAqY3R4LCBpbnQgdGltZW91dCkKIHsKIAljb25zdCBzdHJ1 Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmU7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9leGVj YnVmZmVyMiBleGVjYnVmOwpAQCAtNTA4LDExICs1MTcsMTEgQEAgc3RhdGljIHZvaWQgaW5kZXBl bmRlbnQoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIGludCB0aW1lb3V0KQogCiAJc3VtID0gMDsK IAluZW5naW5lID0gMDsKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgeworCWZv cl9lYWNoX2N0eF9lbmdpbmUoZmQsIGN0eCwgZSkgewogCQllbmdpbmVzW25lbmdpbmVdID0gZS0+ ZmxhZ3M7CiAJCW5hbWVzW25lbmdpbmUrK10gPSBzdHJkdXAoZS0+bmFtZSk7CiAKLQkJdGltZSA9 IG5vcF9vbl9yaW5nKGZkLCBoYW5kbGUsIGUsIDI1MCwgJmNvdW50KSAvIGNvdW50OworCQl0aW1l ID0gbm9wX29uX3JpbmcoZmQsIGhhbmRsZSwgY3R4LCBlLCAyNTAsICZjb3VudCkgLyBjb3VudDsK IAkJc3VtICs9IHRpbWU7CiAJCWlndF9kZWJ1ZygiJXM6ICUuM2Z1c1xuIiwgZS0+bmFtZSwgMWU2 KnRpbWUpOwogCX0KQEAgLTUyNyw2ICs1MzYsNyBAQCBzdGF0aWMgdm9pZCBpbmRlcGVuZGVudChp bnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgaW50IHRpbWVvdXQpCiAJZXhlY2J1Zi5idWZmZXJfY291 bnQgPSAxOwogCWV4ZWNidWYuZmxhZ3MgfD0gSTkxNV9FWEVDX0hBTkRMRV9MVVQ7CiAJZXhlY2J1 Zi5mbGFncyB8PSBJOTE1X0VYRUNfTk9fUkVMT0M7CisJZXhlY2J1Zi5yc3ZkMSA9IGN0eC0+aWQ7 CiAJaWYgKF9fZ2VtX2V4ZWNidWYoZmQsICZleGVjYnVmKSkgewogCQlleGVjYnVmLmZsYWdzID0g MDsKIAkJZ2VtX2V4ZWNidWYoZmQsICZleGVjYnVmKTsKQEAgLTU2Myw3ICs1NzMsNyBAQCBzdGF0 aWMgdm9pZCBpbmRlcGVuZGVudChpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgaW50IHRpbWVvdXQp CiAJaWd0X2Fzc2VydF9lcShpbnRlbF9kZXRlY3RfYW5kX2NsZWFyX21pc3NlZF9pbnRlcnJ1cHRz KGZkKSwgMCk7CiB9CiAKLXN0YXRpYyB2b2lkIG11bHRpcGxlKGludCBmZCwKK3N0YXRpYyB2b2lk IG11bHRpcGxlKGludCBmZCwgY29uc3QgaW50ZWxfY3R4X3QgKmN0eCwKIAkJICAgICBjb25zdCBz dHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUsCiAJCSAgICAgaW50IHRpbWVvdXQpCiB7 CkBAIC01ODIsNiArNTkyLDcgQEAgc3RhdGljIHZvaWQgbXVsdGlwbGUoaW50IGZkLAogCWV4ZWNi dWYuZmxhZ3MgPSBlLT5mbGFnczsKIAlleGVjYnVmLmZsYWdzIHw9IEk5MTVfRVhFQ19IQU5ETEVf TFVUOwogCWV4ZWNidWYuZmxhZ3MgfD0gSTkxNV9FWEVDX05PX1JFTE9DOworCWV4ZWNidWYucnN2 ZDEgPSBjdHgtPmlkOwogCWlmIChfX2dlbV9leGVjYnVmKGZkLCAmZXhlY2J1ZikpIHsKIAkJZXhl Y2J1Zi5mbGFncyA9IGUtPmZsYWdzOwogCQlnZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYpOwpAQCAt NTkzLDkgKzYwNCwxMSBAQCBzdGF0aWMgdm9pZCBtdWx0aXBsZShpbnQgZmQsCiAJCXVuc2lnbmVk IGxvbmcgY291bnQ7CiAJCWRvdWJsZSB0aW1lOwogCQlpbnQgaTkxNTsKKwkJY29uc3QgaW50ZWxf Y3R4X3QgKmNoaWxkX2N0eDsKIAogCQlpOTE1ID0gZ2VtX3Jlb3Blbl9kcml2ZXIoZmQpOwotCQln ZW1fY29udGV4dF9jb3B5X2VuZ2luZXMoZmQsIDAsIGk5MTUsIDApOworCQljaGlsZF9jdHggPSBp bnRlbF9jdHhfY3JlYXRlKGk5MTUsICZjdHgtPmNmZyk7CisJCWV4ZWNidWYucnN2ZDEgPSBjaGls ZF9jdHgtPmlkOwogCiAJCW9iai5oYW5kbGUgPSBnZW1fY3JlYXRlKGk5MTUsIDQwOTYpOwogCQln ZW1fd3JpdGUoaTkxNSwgb2JqLmhhbmRsZSwgMCwgJmJiZSwgc2l6ZW9mKGJiZSkpOwpAQCAtNjEw LDYgKzYyMyw3IEBAIHN0YXRpYyB2b2lkIG11bHRpcGxlKGludCBmZCwKIAkJfSB3aGlsZSAoZWxh cHNlZCgmc3RhcnQsICZub3cpIDwgdGltZW91dCk7CiAJCXRpbWUgPSBlbGFwc2VkKCZzdGFydCwg Jm5vdykgLyBjb3VudDsKIAkJaWd0X2luZm8oIiVkOiAlbGQgY3ljbGVzLCAlLjNmdXNcbiIsIGNo aWxkLCBjb3VudCwgMWU2KnRpbWUpOworCQlpbnRlbF9jdHhfZGVzdHJveShpOTE1LCBjaGlsZF9j dHgpOwogCX0KIAogCWlndF93YWl0Y2hpbGRyZW4oKTsKQEAgLTYxOCw3ICs2MzIsOCBAQCBzdGF0 aWMgdm9pZCBtdWx0aXBsZShpbnQgZmQsCiAJZ2VtX2Nsb3NlKGZkLCBvYmouaGFuZGxlKTsKIH0K IAotc3RhdGljIHZvaWQgc2VyaWVzKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCBpbnQgdGltZW91 dCkKK3N0YXRpYyB2b2lkIHNlcmllcyhpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwKKwkJICAgY29u c3QgaW50ZWxfY3R4X3QgKmN0eCwgaW50IHRpbWVvdXQpCiB7CiAJY29uc3Qgc3RydWN0IGludGVs X2V4ZWN1dGlvbl9lbmdpbmUyICplOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIg ZXhlY2J1ZjsKQEAgLTYzMSw4ICs2NDYsOCBAQCBzdGF0aWMgdm9pZCBzZXJpZXMoaW50IGZkLCB1 aW50MzJfdCBoYW5kbGUsIGludCB0aW1lb3V0KQogCWNvbnN0IGNoYXIgKm5hbWU7CiAKIAluZW5n aW5lID0gMDsKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgewotCQl0aW1lID0g bm9wX29uX3JpbmcoZmQsIGhhbmRsZSwgZSwgMjUwLCAmY291bnQpIC8gY291bnQ7CisJZm9yX2Vh Y2hfY3R4X2VuZ2luZShmZCwgY3R4LCBlKSB7CisJCXRpbWUgPSBub3Bfb25fcmluZyhmZCwgaGFu ZGxlLCBjdHgsIGUsIDI1MCwgJmNvdW50KSAvIGNvdW50OwogCQlpZiAodGltZSA+IG1heCkgewog CQkJbmFtZSA9IGUtPm5hbWU7CiAJCQltYXggPSB0aW1lOwpAQCAtNjU0LDYgKzY2OSw3IEBAIHN0 YXRpYyB2b2lkIHNlcmllcyhpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgaW50IHRpbWVvdXQpCiAJ ZXhlY2J1Zi5idWZmZXJfY291bnQgPSAxOwogCWV4ZWNidWYuZmxhZ3MgfD0gSTkxNV9FWEVDX0hB TkRMRV9MVVQ7CiAJZXhlY2J1Zi5mbGFncyB8PSBJOTE1X0VYRUNfTk9fUkVMT0M7CisJZXhlY2J1 Zi5yc3ZkMSA9IGN0eC0+aWQ7CiAJaWYgKF9fZ2VtX2V4ZWNidWYoZmQsICZleGVjYnVmKSkgewog CQlleGVjYnVmLmZsYWdzID0gMDsKIAkJZ2VtX2V4ZWNidWYoZmQsICZleGVjYnVmKTsKQEAgLTY4 OSw5ICs3MDUsMTEgQEAgc3RhdGljIHZvaWQgeGNoZyh2b2lkICphcnJheSwgdW5zaWduZWQgaSwg dW5zaWduZWQgaikKIAl1W2pdID0gdG1wOwogfQogCi1zdGF0aWMgdm9pZCBzZXF1ZW50aWFsKGlu dCBmZCwgdWludDMyX3QgaGFuZGxlLCB1bnNpZ25lZCBmbGFncywgaW50IHRpbWVvdXQpCitzdGF0 aWMgdm9pZCBzZXF1ZW50aWFsKGludCBmZCwgdWludDMyX3QgaGFuZGxlLAorCQkgICAgICAgY29u c3QgaW50ZWxfY3R4X3QgKmN0eCwgdW5zaWduZWQgZmxhZ3MsIGludCB0aW1lb3V0KQogewogCWNv bnN0IGludCBuY3B1cyA9IGZsYWdzICYgRk9SS0VEID8gc3lzY29uZihfU0NfTlBST0NFU1NPUlNf T05MTikgOiAxOworCWNvbnN0IGludGVsX2N0eF90ICp0bXBfY3R4ID0gTlVMTCwgKmNoaWxkX2N0 eCA9IE5VTEw7CiAJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplOwogCXN0 cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZjsKIAlzdHJ1Y3QgZHJtX2k5MTVf Z2VtX2V4ZWNfb2JqZWN0MiBvYmpbMl07CkBAIC03MDgsMTAgKzcyNiwxMCBAQCBzdGF0aWMgdm9p ZCBzZXF1ZW50aWFsKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1bnNpZ25lZCBmbGFncywgaW50 IHRpbWVvdXQpCiAKIAluZW5naW5lID0gMDsKIAlzdW0gPSAwOwotCV9fZm9yX2VhY2hfcGh5c2lj YWxfZW5naW5lKGZkLCBlKSB7CisJZm9yX2VhY2hfY3R4X2VuZ2luZShmZCwgY3R4LCBlKSB7CiAJ CXVuc2lnbmVkIGxvbmcgY291bnQ7CiAKLQkJdGltZSA9IG5vcF9vbl9yaW5nKGZkLCBoYW5kbGUs IGUsIDI1MCwgJmNvdW50KSAvIGNvdW50OworCQl0aW1lID0gbm9wX29uX3JpbmcoZmQsIGhhbmRs ZSwgY3R4LCBlLCAyNTAsICZjb3VudCkgLyBjb3VudDsKIAkJc3VtICs9IHRpbWU7CiAJCWlndF9k ZWJ1ZygiJXM6ICUuM2Z1c1xuIiwgZS0+bmFtZSwgMWU2KnRpbWUpOwogCkBAIC03MzUsNyArNzUz LDggQEAgc3RhdGljIHZvaWQgc2VxdWVudGlhbChpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgdW5z aWduZWQgZmxhZ3MsIGludCB0aW1lb3V0KQogCiAJaWYgKGZsYWdzICYgQ09OVEVYVCkgewogCQln ZW1fcmVxdWlyZV9jb250ZXh0cyhmZCk7Ci0JCWV4ZWNidWYucnN2ZDEgPSBnZW1fY29udGV4dF9j bG9uZV93aXRoX2VuZ2luZXMoZmQsIDApOworCQl0bXBfY3R4ID0gaW50ZWxfY3R4X2NyZWF0ZShm ZCwgJmN0eC0+Y2ZnKTsKKwkJZXhlY2J1Zi5yc3ZkMSA9IHRtcF9jdHgtPmlkOwogCX0KIAogCWZv ciAobiA9IDA7IG4gPCBuZW5naW5lOyBuKyspIHsKQEAgLTc1NSw3ICs3NzQsOCBAQCBzdGF0aWMg dm9pZCBzZXF1ZW50aWFsKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1bnNpZ25lZCBmbGFncywg aW50IHRpbWVvdXQpCiAKIAkJaWYgKGZsYWdzICYgQ09OVEVYVCkgewogCQkJZ2VtX3JlcXVpcmVf Y29udGV4dHMoZmQpOwotCQkJZXhlY2J1Zi5yc3ZkMSA9IGdlbV9jb250ZXh0X2Nsb25lX3dpdGhf ZW5naW5lcyhmZCwgMCk7CisJCQljaGlsZF9jdHggPSBpbnRlbF9jdHhfY3JlYXRlKGZkLCAmY3R4 LT5jZmcpOworCQkJZXhlY2J1Zi5yc3ZkMSA9IGNoaWxkX2N0eC0+aWQ7CiAJCX0KIAogCQloYXJz X3BldHJ1c2thX2Y1NF8xX3JhbmRvbV9wZXJ0dXJiKGNoaWxkKTsKQEAgLTc3OCw3ICs3OTgsNyBA QCBzdGF0aWMgdm9pZCBzZXF1ZW50aWFsKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1bnNpZ25l ZCBmbGFncywgaW50IHRpbWVvdXQpCiAJCXJlc3VsdHNbY2hpbGRdID0gZWxhcHNlZCgmc3RhcnQs ICZub3cpIC8gY291bnQ7CiAKIAkJaWYgKGZsYWdzICYgQ09OVEVYVCkKLQkJCWdlbV9jb250ZXh0 X2Rlc3Ryb3koZmQsIGV4ZWNidWYucnN2ZDEpOworCQkJaW50ZWxfY3R4X2Rlc3Ryb3koZmQsIGNo aWxkX2N0eCk7CiAKIAkJZ2VtX2Nsb3NlKGZkLCBvYmpbMF0uaGFuZGxlKTsKIAl9CkBAIC03OTQs NyArODE0LDcgQEAgc3RhdGljIHZvaWQgc2VxdWVudGlhbChpbnQgZmQsIHVpbnQzMl90IGhhbmRs ZSwgdW5zaWduZWQgZmxhZ3MsIGludCB0aW1lb3V0KQogCQkgbmVuZ2luZSwgbmNwdXMsIDFlNipy ZXN1bHRzW25jcHVzXSwgMWU2KnN1bSpuY3B1cyk7CiAKIAlpZiAoZmxhZ3MgJiBDT05URVhUKQot CQlnZW1fY29udGV4dF9kZXN0cm95KGZkLCBleGVjYnVmLnJzdmQxKTsKKwkJaW50ZWxfY3R4X2Rl c3Ryb3koZmQsIHRtcF9jdHgpOwogCiAJZ2VtX2Nsb3NlKGZkLCBvYmpbMF0uaGFuZGxlKTsKIAlt dW5tYXAocmVzdWx0cywgNDA5Nik7CkBAIC04MTEsNiArODMxLDcgQEAgc3RhdGljIGJvb2wgZmVu Y2Vfd2FpdChpbnQgZmVuY2UpCiB9CiAKIHN0YXRpYyB2b2lkIGZlbmNlX3NpZ25hbChpbnQgZmQs IHVpbnQzMl90IGhhbmRsZSwKKwkJCSBjb25zdCBpbnRlbF9jdHhfdCAqY3R4LAogCQkJIGNvbnN0 IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqcmluZ19pZCwKIAkJCSBjb25zdCBjaGFy ICpyaW5nX25hbWUsIGludCB0aW1lb3V0KQogewpAQCAtODI4LDcgKzg0OSw3IEBAIHN0YXRpYyB2 b2lkIGZlbmNlX3NpZ25hbChpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwKIAogCW5lbmdpbmUgPSAw OwogCWlmICghcmluZ19pZCkgewotCQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgX19l KQorCQlmb3JfZWFjaF9jdHhfZW5naW5lKGZkLCBjdHgsIF9fZSkKIAkJCWVuZ2luZXNbbmVuZ2lu ZSsrXSA9IF9fZS0+ZmxhZ3M7CiAJfSBlbHNlIHsKIAkJZW5naW5lc1tuZW5naW5lKytdID0gcmlu Z19pZC0+ZmxhZ3M7CkBAIC04NDYsNiArODY3LDcgQEAgc3RhdGljIHZvaWQgZmVuY2Vfc2lnbmFs KGludCBmZCwgdWludDMyX3QgaGFuZGxlLAogCWV4ZWNidWYuYnVmZmVyc19wdHIgPSB0b191c2Vy X3BvaW50ZXIoJm9iaik7CiAJZXhlY2J1Zi5idWZmZXJfY291bnQgPSAxOwogCWV4ZWNidWYuZmxh Z3MgPSBJOTE1X0VYRUNfRkVOQ0VfT1VUOworCWV4ZWNidWYucnN2ZDEgPSBjdHgtPmlkOwogCiAJ biA9IDA7CiAJY291bnQgPSAwOwpAQCAtODg2LDIwICs5MDgsMjEgQEAgc3RhdGljIHZvaWQgZmVu Y2Vfc2lnbmFsKGludCBmZCwgdWludDMyX3QgaGFuZGxlLAogfQogCiBzdGF0aWMgdm9pZCBwcmVl bXB0KGludCBmZCwgdWludDMyX3QgaGFuZGxlLAorCQkgICAgY29uc3QgaW50ZWxfY3R4X3QgKmN0 eCwKIAkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSkKIHsKIAlz dHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGV4ZWNidWY7CiAJc3RydWN0IGRybV9pOTE1 X2dlbV9leGVjX29iamVjdDIgb2JqOwogCXN0cnVjdCB0aW1lc3BlYyBzdGFydCwgbm93OwogCXVu c2lnbmVkIGxvbmcgY291bnQ7Ci0JdWludDMyX3QgY3R4WzJdOworCWNvbnN0IGludGVsX2N0eF90 ICp0bXBfY3R4WzJdOwogCWlndF9zcGluX3QgKnNwaW47CiAKLQljdHhbMF0gPSBnZW1fY29udGV4 dF9jbG9uZV93aXRoX2VuZ2luZXMoZmQsIDApOwotCWdlbV9jb250ZXh0X3NldF9wcmlvcml0eShm ZCwgY3R4WzBdLCBNSU5fUFJJTyk7CisJdG1wX2N0eFswXSA9IGludGVsX2N0eF9jcmVhdGUoZmQs ICZjdHgtPmNmZyk7CisJZ2VtX2NvbnRleHRfc2V0X3ByaW9yaXR5KGZkLCB0bXBfY3R4WzBdLT5p ZCwgTUlOX1BSSU8pOwogCi0JY3R4WzFdID0gZ2VtX2NvbnRleHRfY2xvbmVfd2l0aF9lbmdpbmVz KGZkLCAwKTsKLQlnZW1fY29udGV4dF9zZXRfcHJpb3JpdHkoZmQsIGN0eFsxXSwgTUFYX1BSSU8p OworCXRtcF9jdHhbMV0gPSBpbnRlbF9jdHhfY3JlYXRlKGZkLCAmY3R4LT5jZmcpOworCWdlbV9j b250ZXh0X3NldF9wcmlvcml0eShmZCwgdG1wX2N0eFsxXS0+aWQsIE1BWF9QUklPKTsKIAogCW1l bXNldCgmb2JqLCAwLCBzaXplb2Yob2JqKSk7CiAJb2JqLmhhbmRsZSA9IGhhbmRsZTsKQEAgLTkx MCwxNSArOTMzLDE2IEBAIHN0YXRpYyB2b2lkIHByZWVtcHQoaW50IGZkLCB1aW50MzJfdCBoYW5k bGUsCiAJZXhlY2J1Zi5mbGFncyA9IGUtPmZsYWdzOwogCWV4ZWNidWYuZmxhZ3MgfD0gSTkxNV9F WEVDX0hBTkRMRV9MVVQ7CiAJZXhlY2J1Zi5mbGFncyB8PSBJOTE1X0VYRUNfTk9fUkVMT0M7CisJ ZXhlY2J1Zi5yc3ZkMSA9IGN0eC0+aWQ7CiAJaWYgKF9fZ2VtX2V4ZWNidWYoZmQsICZleGVjYnVm KSkgewogCQlleGVjYnVmLmZsYWdzID0gZS0+ZmxhZ3M7CiAJCWdlbV9leGVjYnVmKGZkLCAmZXhl Y2J1Zik7CiAJfQotCWV4ZWNidWYucnN2ZDEgPSBjdHhbMV07CisJZXhlY2J1Zi5yc3ZkMSA9IHRt cF9jdHhbMV0tPmlkOwogCWludGVsX2RldGVjdF9hbmRfY2xlYXJfbWlzc2VkX2ludGVycnVwdHMo ZmQpOwogCiAJY291bnQgPSAwOwotCXNwaW4gPSBfX2lndF9zcGluX25ldyhmZCwgLmN0eF9pZCA9 IGN0eFswXSwgLmVuZ2luZSA9IGUtPmZsYWdzKTsKKwlzcGluID0gX19pZ3Rfc3Bpbl9uZXcoZmQs IC5jdHggPSB0bXBfY3R4WzBdLCAuZW5naW5lID0gZS0+ZmxhZ3MpOwogCWNsb2NrX2dldHRpbWUo Q0xPQ0tfTU9OT1RPTklDLCAmc3RhcnQpOwogCWRvIHsKIAkJZ2VtX2V4ZWNidWYoZmQsICZleGVj YnVmKTsKQEAgLTkyOCw4ICs5NTIsOCBAQCBzdGF0aWMgdm9pZCBwcmVlbXB0KGludCBmZCwgdWlu dDMyX3QgaGFuZGxlLAogCWlndF9zcGluX2ZyZWUoZmQsIHNwaW4pOwogCWlndF9hc3NlcnRfZXEo aW50ZWxfZGV0ZWN0X2FuZF9jbGVhcl9taXNzZWRfaW50ZXJydXB0cyhmZCksIDApOwogCi0JZ2Vt X2NvbnRleHRfZGVzdHJveShmZCwgY3R4WzFdKTsKLQlnZW1fY29udGV4dF9kZXN0cm95KGZkLCBj dHhbMF0pOworCWludGVsX2N0eF9kZXN0cm95KGZkLCB0bXBfY3R4WzFdKTsKKwlpbnRlbF9jdHhf ZGVzdHJveShmZCwgdG1wX2N0eFswXSk7CiAKIAlpZ3RfaW5mbygiJXM6ICUnbHUgY3ljbGVzOiAl LjNmdXNcbiIsCiAJCSBlLT5uYW1lLCBjb3VudCwgZWxhcHNlZCgmc3RhcnQsICZub3cpKjFlNiAv IGNvdW50KTsKQEAgLTkzOCw2ICs5NjIsNyBAQCBzdGF0aWMgdm9pZCBwcmVlbXB0KGludCBmZCwg dWludDMyX3QgaGFuZGxlLAogaWd0X21haW4KIHsKIAljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0 aW9uX2VuZ2luZTIgKmU7CisJY29uc3QgaW50ZWxfY3R4X3QgKmN0eDsKIAl1aW50MzJfdCBoYW5k bGUgPSAwOwogCWludCBkZXZpY2UgPSAtMTsKIApAQCAtOTQ5LDYgKzk3NCw4IEBAIGlndF9tYWlu CiAJCWdlbV9zdWJtaXNzaW9uX3ByaW50X21ldGhvZChkZXZpY2UpOwogCQlnZW1fc2NoZWR1bGVy X3ByaW50X2NhcGFiaWxpdHkoZGV2aWNlKTsKIAorCQljdHggPSBpbnRlbF9jdHhfY3JlYXRlX2Fs bF9waHlzaWNhbChkZXZpY2UpOworCiAJCWhhbmRsZSA9IGdlbV9jcmVhdGUoZGV2aWNlLCA0MDk2 KTsKIAkJZ2VtX3dyaXRlKGRldmljZSwgaGFuZGxlLCAwLCAmYmJlLCBzaXplb2YoYmJlKSk7CiAK QEAgLTk1Niw1NyArOTgzLDU3IEBAIGlndF9tYWluCiAJfQogCiAJaWd0X3N1YnRlc3QoImJhc2lj LXNlcmllcyIpCi0JCXNlcmllcyhkZXZpY2UsIGhhbmRsZSwgMik7CisJCXNlcmllcyhkZXZpY2Us IGhhbmRsZSwgY3R4LCAyKTsKIAogCWlndF9zdWJ0ZXN0KCJiYXNpYy1wYXJhbGxlbCIpCi0JCXBh cmFsbGVsKGRldmljZSwgaGFuZGxlLCAyKTsKKwkJcGFyYWxsZWwoZGV2aWNlLCBoYW5kbGUsIGN0 eCwgMik7CiAKIAlpZ3Rfc3VidGVzdCgiYmFzaWMtc2VxdWVudGlhbCIpCi0JCXNlcXVlbnRpYWwo ZGV2aWNlLCBoYW5kbGUsIDAsIDIpOworCQlzZXF1ZW50aWFsKGRldmljZSwgaGFuZGxlLCBjdHgs IDAsIDIpOwogCiAJaWd0X3N1YnRlc3Rfd2l0aF9keW5hbWljKCJzaW5nbGUiKSB7Ci0JCV9fZm9y X2VhY2hfcGh5c2ljYWxfZW5naW5lKGRldmljZSwgZSkgeworCQlmb3JfZWFjaF9jdHhfZW5naW5l KGRldmljZSwgY3R4LCBlKSB7CiAJCQlpZ3RfZHluYW1pY19mKCIlcyIsIGUtPm5hbWUpCi0JCQkJ c2luZ2xlKGRldmljZSwgaGFuZGxlLCBlKTsKKwkJCQlzaW5nbGUoZGV2aWNlLCBoYW5kbGUsIGN0 eCwgZSk7CiAJCX0KIAl9CiAKIAlpZ3Rfc3VidGVzdF93aXRoX2R5bmFtaWMoInNpZ25hbCIpIHsK LQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZGV2aWNlLCBlKSB7CisJCWZvcl9lYWNoX2N0 eF9lbmdpbmUoZGV2aWNlLCBjdHgsIGUpIHsKIAkJCWlndF9keW5hbWljX2YoIiVzIiwgZS0+bmFt ZSkKLQkJCQlmZW5jZV9zaWduYWwoZGV2aWNlLCBoYW5kbGUsIGUsCi0JCQkJCSAgICAgZS0+bmFt ZSwgMik7CisJCQkJZmVuY2Vfc2lnbmFsKGRldmljZSwgaGFuZGxlLCBjdHgsCisJCQkJCSAgICAg ZSwgZS0+bmFtZSwgMik7CiAJCX0KIAl9CiAKIAlpZ3Rfc3VidGVzdCgic2lnbmFsLWFsbCIpCiAJ CS8qIE5VTEwgdmFsdWUgbWVhbnMgYWxsIGVuZ2luZXMgKi8KLQkJZmVuY2Vfc2lnbmFsKGRldmlj ZSwgaGFuZGxlLCBOVUxMLCAiYWxsIiwgMjApOworCQlmZW5jZV9zaWduYWwoZGV2aWNlLCBoYW5k bGUsIGN0eCwgTlVMTCwgImFsbCIsIDIwKTsKIAogCWlndF9zdWJ0ZXN0KCJzZXJpZXMiKQotCQlz ZXJpZXMoZGV2aWNlLCBoYW5kbGUsIDIwKTsKKwkJc2VyaWVzKGRldmljZSwgaGFuZGxlLCBjdHgs IDIwKTsKIAogCWlndF9zdWJ0ZXN0KCJwYXJhbGxlbCIpCi0JCXBhcmFsbGVsKGRldmljZSwgaGFu ZGxlLCAyMCk7CisJCXBhcmFsbGVsKGRldmljZSwgaGFuZGxlLCBjdHgsIDIwKTsKIAogCWlndF9z dWJ0ZXN0KCJpbmRlcGVuZGVudCIpCi0JCWluZGVwZW5kZW50KGRldmljZSwgaGFuZGxlLCAyMCk7 CisJCWluZGVwZW5kZW50KGRldmljZSwgaGFuZGxlLCBjdHgsIDIwKTsKIAogCWlndF9zdWJ0ZXN0 X3dpdGhfZHluYW1pYygibXVsdGlwbGUiKSB7Ci0JCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5l KGRldmljZSwgZSkgeworCQlmb3JfZWFjaF9jdHhfZW5naW5lKGRldmljZSwgY3R4LCBlKSB7CiAJ CQlpZ3RfZHluYW1pY19mKCIlcyIsIGUtPm5hbWUpCi0JCQkJbXVsdGlwbGUoZGV2aWNlLCBlLCAy MCk7CisJCQkJbXVsdGlwbGUoZGV2aWNlLCBjdHgsIGUsIDIwKTsKIAkJfQogCX0KIAogCWlndF9z dWJ0ZXN0KCJzZXF1ZW50aWFsIikKLQkJc2VxdWVudGlhbChkZXZpY2UsIGhhbmRsZSwgMCwgMjAp OworCQlzZXF1ZW50aWFsKGRldmljZSwgaGFuZGxlLCBjdHgsIDAsIDIwKTsKIAogCWlndF9zdWJ0 ZXN0KCJmb3JrZWQtc2VxdWVudGlhbCIpCi0JCXNlcXVlbnRpYWwoZGV2aWNlLCBoYW5kbGUsIEZP UktFRCwgMjApOworCQlzZXF1ZW50aWFsKGRldmljZSwgaGFuZGxlLCBjdHgsIEZPUktFRCwgMjAp OwogCiAJaWd0X3N1YnRlc3QoImNvbnRleHQtc2VxdWVudGlhbCIpCi0JCXNlcXVlbnRpYWwoZGV2 aWNlLCBoYW5kbGUsIEZPUktFRCB8IENPTlRFWFQsIDIwKTsKKwkJc2VxdWVudGlhbChkZXZpY2Us IGhhbmRsZSwgY3R4LCBGT1JLRUQgfCBDT05URVhULCAyMCk7CiAKIAlpZ3Rfc3VidGVzdF9ncm91 cCB7CiAJCWlndF9maXh0dXJlIHsKQEAgLTEwMTUsOSArMTA0Miw5IEBAIGlndF9tYWluCiAJCQlp Z3RfcmVxdWlyZShnZW1fc2NoZWR1bGVyX2hhc19wcmVlbXB0aW9uKGRldmljZSkpOwogCQl9CiAJ CWlndF9zdWJ0ZXN0X3dpdGhfZHluYW1pYygicHJlZW1wdCIpIHsKLQkJCV9fZm9yX2VhY2hfcGh5 c2ljYWxfZW5naW5lKGRldmljZSwgZSkgeworCQkJZm9yX2VhY2hfY3R4X2VuZ2luZShkZXZpY2Us IGN0eCwgZSkgewogCQkJCWlndF9keW5hbWljX2YoIiVzIiwgZS0+bmFtZSkKLQkJCQkJcHJlZW1w dChkZXZpY2UsIGhhbmRsZSwgZSk7CisJCQkJCXByZWVtcHQoZGV2aWNlLCBoYW5kbGUsIGN0eCwg ZSk7CiAJCQl9CiAJCX0KIAl9CkBAIC0xMDI4LDI5ICsxMDU1LDMwIEBAIGlndF9tYWluCiAJCX0K IAogCQlpZ3Rfc3VidGVzdF93aXRoX2R5bmFtaWMoInBvbGwiKSB7Ci0JCQlfX2Zvcl9lYWNoX3Bo eXNpY2FsX2VuZ2luZShkZXZpY2UsIGUpIHsKKwkJCWZvcl9lYWNoX2N0eF9lbmdpbmUoZGV2aWNl LCBjdHgsIGUpIHsKIAkJCQkvKiBSZXF1aXJlcyBtYXN0ZXIgZm9yIFNUT1JFX0RXT1JEIG9uIGdl bjQvNSAqLwogCQkJCWlndF9keW5hbWljX2YoIiVzIiwgZS0+bmFtZSkKLQkJCQkJcG9sbF9yaW5n KGRldmljZSwgZSwgMjApOworCQkJCQlwb2xsX3JpbmcoZGV2aWNlLCBjdHgsIGUsIDIwKTsKIAkJ CX0KIAkJfQogCiAJCWlndF9zdWJ0ZXN0X3dpdGhfZHluYW1pYygiaGVhZGxlc3MiKSB7Ci0JCQlf X2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShkZXZpY2UsIGUpIHsKKwkJCWZvcl9lYWNoX2N0eF9l bmdpbmUoZGV2aWNlLCBjdHgsIGUpIHsKIAkJCQlpZ3RfZHluYW1pY19mKCIlcyIsIGUtPm5hbWUp CiAJCQkJLyogUmVxdWlyZXMgbWFzdGVyIGZvciBjaGFuZ2luZyBkaXNwbGF5IG1vZGVzICovCi0J CQkJCWhlYWRsZXNzKGRldmljZSwgaGFuZGxlLCBlKTsKKwkJCQkJaGVhZGxlc3MoZGV2aWNlLCBo YW5kbGUsIGN0eCwgZSk7CiAJCQl9CiAJCX0KIAogCQlpZ3Rfc3VidGVzdCgicG9sbC1zZXF1ZW50 aWFsIikKLQkJCXBvbGxfc2VxdWVudGlhbChkZXZpY2UsICJTZXF1ZW50aWFsIiwgMjApOworCQkJ cG9sbF9zZXF1ZW50aWFsKGRldmljZSwgY3R4LCAiU2VxdWVudGlhbCIsIDIwKTsKIAogCX0KIAog CWlndF9maXh0dXJlIHsKIAkJaWd0X3N0b3BfaGFuZ19kZXRlY3RvcigpOwogCQlnZW1fY2xvc2Uo ZGV2aWNlLCBoYW5kbGUpOworCQlpbnRlbF9jdHhfZGVzdHJveShkZXZpY2UsIGN0eCk7CiAJCWNs b3NlKGRldmljZSk7CiAJfQogfQotLSAKMi4zMS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2lndC1kZXYK