From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrey Grodzovsky Subject: [PATCH libdrm 2/4] amdgpu: Use new suite/test disabling functionality. Date: Thu, 9 Nov 2017 23:30:01 -0500 Message-ID: <1510288203-21716-3-git-send-email-andrey.grodzovsky@amd.com> References: <1510288203-21716-1-git-send-email-andrey.grodzovsky@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1510288203-21716-1-git-send-email-andrey.grodzovsky@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org Cc: Christian.Koenig@amd.com List-Id: dri-devel@lists.freedesktop.org U3dpdGNoIGZyb20gZGlzYWJsaW5nIHRlc3RzIGR1cmluZyBydW4gdG8gdXNpbmcgdGhlIG5ldyBk aXNhYmxlCkFQSS4KClNpZ25lZC1vZmYtYnk6IEFuZHJleSBHcm9kem92c2t5IDxhbmRyZXkuZ3Jv ZHpvdnNreUBhbWQuY29tPgotLS0KIHRlc3RzL2FtZGdwdS9hbWRncHVfdGVzdC5jICAgIHwgMTQg KysrKysrLS0KIHRlc3RzL2FtZGdwdS9hbWRncHVfdGVzdC5oICAgIHwgMTUgKysrKysrKysKIHRl c3RzL2FtZGdwdS9kZWFkbG9ja190ZXN0cy5jIHwgIDggKy0tLS0KIHRlc3RzL2FtZGdwdS91dmRf ZW5jX3Rlc3RzLmMgIHwgODEgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogdGVzdHMvYW1kZ3B1L3ZjZV90ZXN0cy5jICAgICAgfCA2NSArKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tCiB0ZXN0cy9hbWRncHUvdmNuX3Rlc3RzLmMgICAgICB8IDc0ICsr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCAx MjMgaW5zZXJ0aW9ucygrKSwgMTM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2Ft ZGdwdS9hbWRncHVfdGVzdC5jIGIvdGVzdHMvYW1kZ3B1L2FtZGdwdV90ZXN0LmMKaW5kZXggNjhl YzVkMy4uOTEwMTBkYyAxMDA2NDQKLS0tIGEvdGVzdHMvYW1kZ3B1L2FtZGdwdV90ZXN0LmMKKysr IGIvdGVzdHMvYW1kZ3B1L2FtZGdwdV90ZXN0LmMKQEAgLTE1MCwxNSArMTUwLDE1IEBAIHN0YXRp YyBTdWl0ZXNfQWN0aXZlX1N0YXR1cyBzdWl0ZXNfYWN0aXZlX3N0YXRbXSA9IHsKIAkJfSwKIAkJ ewogCQkJLnBOYW1lID0gVkNFX1RFU1RTX1NUUiwKLQkJCS5wQWN0aXZlID0gYWx3YXlzX2FjdGl2 ZSwKKwkJCS5wQWN0aXZlID0gc3VpdGVfdmNlX3Rlc3RzX2VuYWJsZSwKIAkJfSwKIAkJewogCQkJ LnBOYW1lID0gVkNOX1RFU1RTX1NUUiwKLQkJCS5wQWN0aXZlID0gYWx3YXlzX2FjdGl2ZSwKKwkJ CS5wQWN0aXZlID0gc3VpdGVfdmNuX3Rlc3RzX2VuYWJsZSwKIAkJfSwKIAkJewogCQkJLnBOYW1l ID0gVVZEX0VOQ19URVNUU19TVFIsCi0JCQkucEFjdGl2ZSA9IGFsd2F5c19hY3RpdmUsCisJCQku cEFjdGl2ZSA9IHN1aXRlX3V2ZF9lbmNfdGVzdHNfZW5hYmxlLAogCQl9LAogCQl7CiAJCQkucE5h bWUgPSBERUFETE9DS19URVNUU19TVFIsCkBAIC00MDksNiArNDA5LDE0IEBAIHN0YXRpYyB2b2lk IGFtZGdwdV9kaXNhYmxlX3N1aXRzKCkKIAkJaWYgKGFtZGdwdV9zZXRfc3VpdGVfYWN0aXZlKHN1 aXRlc19hY3RpdmVfc3RhdFtpXS5wTmFtZSwKIAkJCQlzdWl0ZXNfYWN0aXZlX3N0YXRbaV0ucEFj dGl2ZSgpKSkKIAkJCWZwcmludGYoc3RkZXJyLCAic3VpdCBkZWFjdGl2YXRpb24gZmFpbGVkIC0g JXNcbiIsIENVX2dldF9lcnJvcl9tc2coKSk7CisKKwkvKiBFeHBsaWNpdGx5IGRpc2FibGUgc3Bl Y2lmaWMgdGVzdHMgZHVlIHRvIGtub3duIGJ1Z3Mgb3IgcHJlZmVyZW5jZXMgKi8KKwkvKgorCSog QlVHOiBDb21wdXRlIHJpbmcgc3RhbGxzIGFuZCBuZXZlciByZWNvdmVycyB3aGVuIHRoZSBhZGRy ZXNzIGlzCisJKiB3cml0dGVuIGFmdGVyIHRoZSBjb21tYW5kIGFscmVhZHkgc3VibWl0dGVkCisJ Ki8KKwlpZiAoYW1kZ3B1X3NldF90ZXN0X2FjdGl2ZShERUFETE9DS19URVNUU19TVFIsICJjb21w dXRlIHJpbmcgYmxvY2sgdGVzdCIsIENVX0ZBTFNFKSkKKwkJZnByaW50ZihzdGRlcnIsICJ0ZXN0 IGRlYWN0aXZhdGlvbiBmYWlsZWQgLSAlc1xuIiwgQ1VfZ2V0X2Vycm9yX21zZygpKTsKIH0KIAog LyogVGhlIG1haW4oKSBmdW5jdGlvbiBmb3Igc2V0dGluZyB1cCBhbmQgcnVubmluZyB0aGUgdGVz dHMuCmRpZmYgLS1naXQgYS90ZXN0cy9hbWRncHUvYW1kZ3B1X3Rlc3QuaCBiL3Rlc3RzL2FtZGdw dS9hbWRncHVfdGVzdC5oCmluZGV4IDljY2MxZmYuLmRkMjM2ZWQgMTAwNjQ0Ci0tLSBhL3Rlc3Rz L2FtZGdwdS9hbWRncHVfdGVzdC5oCisrKyBiL3Rlc3RzL2FtZGdwdS9hbWRncHVfdGVzdC5oCkBA IC0xMDAsNiArMTAwLDExIEBAIGludCBzdWl0ZV92Y2VfdGVzdHNfaW5pdCgpOwogaW50IHN1aXRl X3ZjZV90ZXN0c19jbGVhbigpOwogCiAvKioKKyAqIERlY2lkZSBpZiB0aGUgc3VpdGUgaXMgZW5h YmxlZCBieSBkZWZhdWx0IG9yIG5vdC4KKyAqLworQ1VfQk9PTCBzdWl0ZV92Y2VfdGVzdHNfZW5h YmxlKHZvaWQpOworCisvKioKICAqIFRlc3RzIGluIHZjZSB0ZXN0IHN1aXRlCiAgKi8KIGV4dGVy biBDVV9UZXN0SW5mbyB2Y2VfdGVzdHNbXTsKQEAgLTExNSw2ICsxMjAsMTEgQEAgaW50IHN1aXRl X3Zjbl90ZXN0c19pbml0KCk7CiBpbnQgc3VpdGVfdmNuX3Rlc3RzX2NsZWFuKCk7CiAKIC8qKgor ICogRGVjaWRlIGlmIHRoZSBzdWl0ZSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb3Igbm90LgorICov CitDVV9CT09MIHN1aXRlX3Zjbl90ZXN0c19lbmFibGUodm9pZCk7CisKKy8qKgogKyAqIFRlc3Rz IGluIHZjbiB0ZXN0IHN1aXRlCiArICovCiBleHRlcm4gQ1VfVGVzdEluZm8gdmNuX3Rlc3RzW107 CkBAIC0xMzAsNiArMTQwLDExIEBAIGludCBzdWl0ZV91dmRfZW5jX3Rlc3RzX2luaXQoKTsKIGlu dCBzdWl0ZV91dmRfZW5jX3Rlc3RzX2NsZWFuKCk7CiAKIC8qKgorICogRGVjaWRlIGlmIHRoZSBz dWl0ZSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb3Igbm90LgorICovCitDVV9CT09MIHN1aXRlX3V2 ZF9lbmNfdGVzdHNfZW5hYmxlKHZvaWQpOworCisvKioKICAqIFRlc3RzIGluIHV2ZCBlbmMgdGVz dCBzdWl0ZQogICovCiBleHRlcm4gQ1VfVGVzdEluZm8gdXZkX2VuY190ZXN0c1tdOwpkaWZmIC0t Z2l0IGEvdGVzdHMvYW1kZ3B1L2RlYWRsb2NrX3Rlc3RzLmMgYi90ZXN0cy9hbWRncHUvZGVhZGxv Y2tfdGVzdHMuYwppbmRleCBlMjNkOTAzLi5mNWM0NTUyIDEwMDY0NAotLS0gYS90ZXN0cy9hbWRn cHUvZGVhZGxvY2tfdGVzdHMuYworKysgYi90ZXN0cy9hbWRncHUvZGVhZGxvY2tfdGVzdHMuYwpA QCAtMTE5LDEzICsxMTksNyBAQCBpbnQgc3VpdGVfZGVhZGxvY2tfdGVzdHNfY2xlYW4odm9pZCkK IAogQ1VfVGVzdEluZm8gZGVhZGxvY2tfdGVzdHNbXSA9IHsKIAl7ICJnZnggcmluZyBibG9jayB0 ZXN0IiwgIGFtZGdwdV9kZWFkbG9ja19nZnggfSwKLQotCS8qCi0JKiBCVUc6IENvbXB1dGUgcmlu ZyBzdGFsbHMgYW5kIG5ldmVyIHJlY292ZXJzIHdoZW4gdGhlIGFkZHJlc3MgaXMKLQkqIHdyaXR0 ZW4gYWZ0ZXIgdGhlIGNvbW1hbmQgYWxyZWFkeSBzdWJtaXR0ZWQKLQkqLwotCS8qIHsgImNvbXB1 dGUgcmluZyBibG9jayB0ZXN0IiwgIGFtZGdwdV9kZWFkbG9ja19jb21wdXRlIH0sICovCi0KKwl7 ICJjb21wdXRlIHJpbmcgYmxvY2sgdGVzdCIsICBhbWRncHVfZGVhZGxvY2tfY29tcHV0ZSB9LAog CUNVX1RFU1RfSU5GT19OVUxMLAogfTsKIApkaWZmIC0tZ2l0IGEvdGVzdHMvYW1kZ3B1L3V2ZF9l bmNfdGVzdHMuYyBiL3Rlc3RzL2FtZGdwdS91dmRfZW5jX3Rlc3RzLmMKaW5kZXggYmJkYTEzMS4u YmVkODQ5NCAxMDA2NDQKLS0tIGEvdGVzdHMvYW1kZ3B1L3V2ZF9lbmNfdGVzdHMuYworKysgYi90 ZXN0cy9hbWRncHUvdXZkX2VuY190ZXN0cy5jCkBAIC03OSw3ICs3OSw2IEBAIHN0YXRpYyB2b2lk IGFtZGdwdV9jc191dmRfZW5jX3Nlc3Npb25faW5pdCh2b2lkKTsKIHN0YXRpYyB2b2lkIGFtZGdw dV9jc191dmRfZW5jX2VuY29kZSh2b2lkKTsKIHN0YXRpYyB2b2lkIGFtZGdwdV9jc191dmRfZW5j X2Rlc3Ryb3kodm9pZCk7CiAKLXN0YXRpYyBib29sIHV2ZF9lbmNfc3VwcG9ydCh2b2lkKTsKIAog Q1VfVGVzdEluZm8gdXZkX2VuY190ZXN0c1tdID0gewogCXsgIlVWRCBFTkMgY3JlYXRlIiwgIGFt ZGdwdV9jc191dmRfZW5jX2NyZWF0ZSB9LApAQCAtODksNiArODgsMjcgQEAgQ1VfVGVzdEluZm8g dXZkX2VuY190ZXN0c1tdID0gewogCUNVX1RFU1RfSU5GT19OVUxMLAogfTsKIAorQ1VfQk9PTCBz dWl0ZV91dmRfZW5jX3Rlc3RzX2VuYWJsZSh2b2lkKQoreworCWludCByOworCXN0cnVjdCBkcm1f YW1kZ3B1X2luZm9faHdfaXAgaW5mbzsKKworCWlmIChhbWRncHVfZGV2aWNlX2luaXRpYWxpemUo ZHJtX2FtZGdwdVswXSwgJm1ham9yX3ZlcnNpb24sCisJCQkJCSAgICAgJm1pbm9yX3ZlcnNpb24s ICZkZXZpY2VfaGFuZGxlKSkKKwkJcmV0dXJuIENVX0ZBTFNFOworCisJciA9IGFtZGdwdV9xdWVy eV9od19pcF9pbmZvKGRldmljZV9oYW5kbGUsIEFNREdQVV9IV19JUF9VVkRfRU5DLCAwLCAmaW5m byk7CisKKwlpZiAoYW1kZ3B1X2RldmljZV9kZWluaXRpYWxpemUoZGV2aWNlX2hhbmRsZSkpCisJ CXJldHVybiBDVV9GQUxTRTsKKworCWlmICghaW5mby5hdmFpbGFibGVfcmluZ3MpCisJCXByaW50 ZigiXG5cblRoZSBBU0lDIE5PVCBzdXBwb3J0IFVWRCBFTkMsIHN1aXRlIGRpc2FibGVkLlxuIik7 CisKKwlyZXR1cm4gKHIgPT0gMCAmJiAoaW5mby5hdmFpbGFibGVfcmluZ3MgPyBDVV9UUlVFIDog Q1VfRkFMU0UpKTsKK30KKworCiBpbnQgc3VpdGVfdXZkX2VuY190ZXN0c19pbml0KHZvaWQpCiB7 CiAJaW50IHI7CkBAIC0xMDAsMTEgKzEyMCw2IEBAIGludCBzdWl0ZV91dmRfZW5jX3Rlc3RzX2lu aXQodm9pZCkKIAogCWZhbWlseV9pZCA9IGRldmljZV9oYW5kbGUtPmluZm8uZmFtaWx5X2lkOwog Ci0JaWYgKCF1dmRfZW5jX3N1cHBvcnQoKSkgewotCQlwcmludGYoIlxuXG5UaGUgQVNJQyBOT1Qg c3VwcG9ydCBVVkQgRU5DLCBhbGwgc3ViLXRlc3RzIHdpbGwgcGFzc1xuIik7Ci0JCXJldHVybiBD VUVfU1VDQ0VTUzsKLQl9Ci0KIAlyID0gYW1kZ3B1X2NzX2N0eF9jcmVhdGUoZGV2aWNlX2hhbmRs ZSwgJmNvbnRleHRfaGFuZGxlKTsKIAlpZiAocikKIAkJcmV0dXJuIENVRV9TSU5JVF9GQUlMRUQ7 CkBAIC0xMjMsMjggKzEzOCwxOCBAQCBpbnQgc3VpdGVfdXZkX2VuY190ZXN0c19jbGVhbih2b2lk KQogewogCWludCByOwogCi0JaWYgKCF1dmRfZW5jX3N1cHBvcnQoKSkgewotCi0JCXIgPSBhbWRn cHVfZGV2aWNlX2RlaW5pdGlhbGl6ZShkZXZpY2VfaGFuZGxlKTsKLQkJaWYgKHIpCi0JCQlyZXR1 cm4gQ1VFX1NDTEVBTl9GQUlMRUQ7Ci0KLQkJcmV0dXJuIENVRV9TVUNDRVNTOwotCX0gZWxzZSB7 Ci0KLQkJciA9IGFtZGdwdV9ib191bm1hcF9hbmRfZnJlZShpYl9oYW5kbGUsIGliX3ZhX2hhbmRs ZSwKLQkJCQkJICAgICBpYl9tY19hZGRyZXNzLCBJQl9TSVpFKTsKLQkJaWYgKHIpCi0JCQlyZXR1 cm4gQ1VFX1NDTEVBTl9GQUlMRUQ7CisJciA9IGFtZGdwdV9ib191bm1hcF9hbmRfZnJlZShpYl9o YW5kbGUsIGliX3ZhX2hhbmRsZSwKKwkJCQkgICAgIGliX21jX2FkZHJlc3MsIElCX1NJWkUpOwor CWlmIChyKQorCQlyZXR1cm4gQ1VFX1NDTEVBTl9GQUlMRUQ7CiAKLQkJciA9IGFtZGdwdV9jc19j dHhfZnJlZShjb250ZXh0X2hhbmRsZSk7Ci0JCWlmIChyKQotCQkJcmV0dXJuIENVRV9TQ0xFQU5f RkFJTEVEOworCXIgPSBhbWRncHVfY3NfY3R4X2ZyZWUoY29udGV4dF9oYW5kbGUpOworCWlmIChy KQorCQlyZXR1cm4gQ1VFX1NDTEVBTl9GQUlMRUQ7CiAKLQkJciA9IGFtZGdwdV9kZXZpY2VfZGVp bml0aWFsaXplKGRldmljZV9oYW5kbGUpOwotCQlpZiAocikKLQkJCXJldHVybiBDVUVfU0NMRUFO X0ZBSUxFRDsKLQl9CisJciA9IGFtZGdwdV9kZXZpY2VfZGVpbml0aWFsaXplKGRldmljZV9oYW5k bGUpOworCWlmIChyKQorCQlyZXR1cm4gQ1VFX1NDTEVBTl9GQUlMRUQ7CiAKIAlyZXR1cm4gQ1VF X1NVQ0NFU1M7CiB9CkBAIC0yNDAsMjYgKzI0NSwxMCBAQCBzdGF0aWMgdm9pZCBmcmVlX3Jlc291 cmNlKHN0cnVjdCBhbWRncHVfdXZkX2VuY19ibyAqdXZkX2VuY19ibykKIAltZW1zZXQodXZkX2Vu Y19ibywgMCwgc2l6ZW9mKCp1dmRfZW5jX2JvKSk7CiB9CiAKLXN0YXRpYyBib29sIHV2ZF9lbmNf c3VwcG9ydCh2b2lkKQotewotCWludCByOwotCXN0cnVjdCBkcm1fYW1kZ3B1X2luZm9faHdfaXAg aW5mbzsKLQotCXIgPSBhbWRncHVfcXVlcnlfaHdfaXBfaW5mbyhkZXZpY2VfaGFuZGxlLCBBTURH UFVfSFdfSVBfVVZEX0VOQywgMCwgJmluZm8pOwotCi0JaWYgKHIpCi0JCXJldHVybiBmYWxzZTsK LQllbHNlCi0JCXJldHVybiAoaW5mby5hdmFpbGFibGVfcmluZ3M/dHJ1ZTpmYWxzZSk7Ci19Ci0K IHN0YXRpYyB2b2lkIGFtZGdwdV9jc191dmRfZW5jX2NyZWF0ZSh2b2lkKQogewogCWludCBsZW4s IHI7CiAKLQlpZiAoIXV2ZF9lbmNfc3VwcG9ydCgpKQotCQlyZXR1cm47Ci0KIAllbmMud2lkdGgg PSAxNjA7CiAJZW5jLmhlaWdodCA9IDEyODsKIApAQCAtMjk2LDkgKzI4NSw2IEBAIHN0YXRpYyB2 b2lkIGFtZGdwdV9jc191dmRfZW5jX3Nlc3Npb25faW5pdCh2b2lkKQogewogCWludCBsZW4sIHI7 CiAKLQlpZiAoIXV2ZF9lbmNfc3VwcG9ydCgpKQotCQlyZXR1cm47Ci0KIAlsZW4gPSAwOwogCW1l bWNweSgoaWJfY3B1ICsgbGVuKSwgdXZlX3Nlc3Npb25faW5mbywgc2l6ZW9mKHV2ZV9zZXNzaW9u X2luZm8pKTsKIAlsZW4gKz0gc2l6ZW9mKHV2ZV9zZXNzaW9uX2luZm8pIC8gNDsKQEAgLTM1NCw4 ICszNDAsNiBAQCBzdGF0aWMgdm9pZCBhbWRncHVfY3NfdXZkX2VuY19lbmNvZGUodm9pZCkKIAl2 YnVmX3NpemUgPSBBTElHTihlbmMud2lkdGgsIGFsaWduKSAqIEFMSUdOKGVuYy5oZWlnaHQsIDE2 KSAqIDEuNTsKIAljcGJfc2l6ZSA9IHZidWZfc2l6ZSAqIDEwOwogCi0JaWYgKCF1dmRfZW5jX3N1 cHBvcnQoKSkKLQkJcmV0dXJuOwogCiAJbnVtX3Jlc291cmNlcyAgPSAwOwogCWFsbG9jX3Jlc291 cmNlKCZlbmMuZmIsIDQwOTYsIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0pOwpAQCAtNDg5LDkgKzQ3 Myw2IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9jc191dmRfZW5jX2Rlc3Ryb3kodm9pZCkKIAlzdHJ1 Y3QgYW1kZ3B1X3V2ZF9lbmNfYm8gc3dfY3R4OwogCWludCBsZW4sIHI7CiAKLQlpZiAoIXV2ZF9l bmNfc3VwcG9ydCgpKQotCQlyZXR1cm47Ci0KIAludW1fcmVzb3VyY2VzICA9IDA7CiAJcmVzb3Vy Y2VzW251bV9yZXNvdXJjZXMrK10gPSBpYl9oYW5kbGU7CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2Ft ZGdwdS92Y2VfdGVzdHMuYyBiL3Rlc3RzL2FtZGdwdS92Y2VfdGVzdHMuYwppbmRleCBjZjQ0YzEz Li43NTgyMWJiIDEwMDY0NAotLS0gYS90ZXN0cy9hbWRncHUvdmNlX3Rlc3RzLmMKKysrIGIvdGVz dHMvYW1kZ3B1L3ZjZV90ZXN0cy5jCkBAIC04OCw2ICs4OCwyNyBAQCBDVV9UZXN0SW5mbyB2Y2Vf dGVzdHNbXSA9IHsKIAlDVV9URVNUX0lORk9fTlVMTCwKIH07CiAKKworQ1VfQk9PTCBzdWl0ZV92 Y2VfdGVzdHNfZW5hYmxlKHZvaWQpCit7CisJaWYgKGFtZGdwdV9kZXZpY2VfaW5pdGlhbGl6ZShk cm1fYW1kZ3B1WzBdLCAmbWFqb3JfdmVyc2lvbiwKKwkJCQkJICAgICAmbWlub3JfdmVyc2lvbiwg JmRldmljZV9oYW5kbGUpKQorCQlyZXR1cm4gQ1VfRkFMU0U7CisKKwlmYW1pbHlfaWQgPSBkZXZp Y2VfaGFuZGxlLT5pbmZvLmZhbWlseV9pZDsKKworCWlmIChhbWRncHVfZGV2aWNlX2RlaW5pdGlh bGl6ZShkZXZpY2VfaGFuZGxlKSkKKwkJcmV0dXJuIENVX0ZBTFNFOworCisKKwlpZiAoZmFtaWx5 X2lkID49IEFNREdQVV9GQU1JTFlfUlYgfHwgZmFtaWx5X2lkID09IEFNREdQVV9GQU1JTFlfU0kp IHsKKwkJcHJpbnRmKCJcblxuVGhlIEFTSUMgTk9UIHN1cHBvcnQgVkNFLCBzdWl0ZSBkaXNhYmxl ZFxuIik7CisJCXJldHVybiBDVV9GQUxTRTsKKwl9CisKKwlyZXR1cm4gQ1VfVFJVRTsKK30KKwog aW50IHN1aXRlX3ZjZV90ZXN0c19pbml0KHZvaWQpCiB7CiAJaW50IHI7CkBAIC0xMDYsMTEgKzEy Nyw2IEBAIGludCBzdWl0ZV92Y2VfdGVzdHNfaW5pdCh2b2lkKQogCWZhbWlseV9pZCA9IGRldmlj ZV9oYW5kbGUtPmluZm8uZmFtaWx5X2lkOwogCXZjZV9oYXJ2ZXN0X2NvbmZpZyA9IGRldmljZV9o YW5kbGUtPmluZm8udmNlX2hhcnZlc3RfY29uZmlnOwogCi0JaWYgKGZhbWlseV9pZCA+PSBBTURH UFVfRkFNSUxZX1JWIHx8IGZhbWlseV9pZCA9PSBBTURHUFVfRkFNSUxZX1NJKSB7Ci0JCXByaW50 ZigiXG5cblRoZSBBU0lDIE5PVCBzdXBwb3J0IFZDRSwgYWxsIHN1Yi10ZXN0cyB3aWxsIHBhc3Nc biIpOwotCQlyZXR1cm4gQ1VFX1NVQ0NFU1M7Ci0JfQotCiAJciA9IGFtZGdwdV9jc19jdHhfY3Jl YXRlKGRldmljZV9oYW5kbGUsICZjb250ZXh0X2hhbmRsZSk7CiAJaWYgKHIpCiAJCXJldHVybiBD VUVfU0lOSVRfRkFJTEVEOwpAQCAtMTMxLDI0ICsxNDcsMTggQEAgaW50IHN1aXRlX3ZjZV90ZXN0 c19jbGVhbih2b2lkKQogewogCWludCByOwogCi0JaWYgKGZhbWlseV9pZCA+PSBBTURHUFVfRkFN SUxZX1JWIHx8IGZhbWlseV9pZCA9PSBBTURHUFVfRkFNSUxZX1NJKSB7Ci0JCXIgPSBhbWRncHVf ZGV2aWNlX2RlaW5pdGlhbGl6ZShkZXZpY2VfaGFuZGxlKTsKLQkJaWYgKHIpCi0JCQlyZXR1cm4g Q1VFX1NDTEVBTl9GQUlMRUQ7Ci0JfSBlbHNlIHsKLQkJciA9IGFtZGdwdV9ib191bm1hcF9hbmRf ZnJlZShpYl9oYW5kbGUsIGliX3ZhX2hhbmRsZSwKLQkJCQkJICAgICBpYl9tY19hZGRyZXNzLCBJ Ql9TSVpFKTsKLQkJaWYgKHIpCi0JCQlyZXR1cm4gQ1VFX1NDTEVBTl9GQUlMRUQ7Ci0KLQkJciA9 IGFtZGdwdV9jc19jdHhfZnJlZShjb250ZXh0X2hhbmRsZSk7Ci0JCWlmIChyKQotCQkJcmV0dXJu IENVRV9TQ0xFQU5fRkFJTEVEOwotCi0JCXIgPSBhbWRncHVfZGV2aWNlX2RlaW5pdGlhbGl6ZShk ZXZpY2VfaGFuZGxlKTsKLQkJaWYgKHIpCi0JCQlyZXR1cm4gQ1VFX1NDTEVBTl9GQUlMRUQ7Ci0J fQorCXIgPSBhbWRncHVfYm9fdW5tYXBfYW5kX2ZyZWUoaWJfaGFuZGxlLCBpYl92YV9oYW5kbGUs CisJCQkJICAgICBpYl9tY19hZGRyZXNzLCBJQl9TSVpFKTsKKwlpZiAocikKKwkJcmV0dXJuIENV RV9TQ0xFQU5fRkFJTEVEOworCisJciA9IGFtZGdwdV9jc19jdHhfZnJlZShjb250ZXh0X2hhbmRs ZSk7CisJaWYgKHIpCisJCXJldHVybiBDVUVfU0NMRUFOX0ZBSUxFRDsKKworCXIgPSBhbWRncHVf ZGV2aWNlX2RlaW5pdGlhbGl6ZShkZXZpY2VfaGFuZGxlKTsKKwlpZiAocikKKwkJcmV0dXJuIENV RV9TQ0xFQU5fRkFJTEVEOwogCiAJcmV0dXJuIENVRV9TVUNDRVNTOwogfQpAQCAtMjQ4LDkgKzI1 OCw2IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9jc192Y2VfY3JlYXRlKHZvaWQpCiAJdW5zaWduZWQg YWxpZ24gPSAoZmFtaWx5X2lkID49IEFNREdQVV9GQU1JTFlfQUkpID8gMjU2IDogMTY7CiAJaW50 IGxlbiwgcjsKIAotCWlmIChmYW1pbHlfaWQgPj0gQU1ER1BVX0ZBTUlMWV9SViB8fCBmYW1pbHlf aWQgPT0gQU1ER1BVX0ZBTUlMWV9TSSkKLQkJcmV0dXJuOwotCiAJZW5jLndpZHRoID0gdmNlX2Ny ZWF0ZVs2XTsKIAllbmMuaGVpZ2h0ID0gdmNlX2NyZWF0ZVs3XTsKIApAQCAtNDQ0LDkgKzQ1MSw2 IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9jc192Y2VfZW5jb2RlKHZvaWQpCiAJdW5zaWduZWQgYWxp Z24gPSAoZmFtaWx5X2lkID49IEFNREdQVV9GQU1JTFlfQUkpID8gMjU2IDogMTY7CiAJaW50IGks IHI7CiAKLQlpZiAoZmFtaWx5X2lkID49IEFNREdQVV9GQU1JTFlfUlYgfHwgZmFtaWx5X2lkID09 IEFNREdQVV9GQU1JTFlfU0kpCi0JCXJldHVybjsKLQogCXZidWZfc2l6ZSA9IEFMSUdOKGVuYy53 aWR0aCwgYWxpZ24pICogQUxJR04oZW5jLmhlaWdodCwgMTYpICogMS41OwogCWNwYl9zaXplID0g dmJ1Zl9zaXplICogMTA7CiAJbnVtX3Jlc291cmNlcyA9IDA7CkBAIC01MjUsOSArNTI5LDYgQEAg c3RhdGljIHZvaWQgYW1kZ3B1X2NzX3ZjZV9kZXN0cm95KHZvaWQpCiB7CiAJaW50IGxlbiwgcjsK IAotCWlmIChmYW1pbHlfaWQgPj0gQU1ER1BVX0ZBTUlMWV9SViB8fCBmYW1pbHlfaWQgPT0gQU1E R1BVX0ZBTUlMWV9TSSkKLQkJcmV0dXJuOwotCiAJbnVtX3Jlc291cmNlcyAgPSAwOwogCWFsbG9j X3Jlc291cmNlKCZlbmMuZmJbMF0sIDQwOTYsIEFNREdQVV9HRU1fRE9NQUlOX0dUVCk7CiAJcmVz b3VyY2VzW251bV9yZXNvdXJjZXMrK10gPSBlbmMuZmJbMF0uaGFuZGxlOwpkaWZmIC0tZ2l0IGEv dGVzdHMvYW1kZ3B1L3Zjbl90ZXN0cy5jIGIvdGVzdHMvYW1kZ3B1L3Zjbl90ZXN0cy5jCmluZGV4 IDJiMTY5NmQuLjUzYTJkMDggMTAwNjQ0Ci0tLSBhL3Rlc3RzL2FtZGdwdS92Y25fdGVzdHMuYwor KysgYi90ZXN0cy9hbWRncHUvdmNuX3Rlc3RzLmMKQEAgLTgyLDYgKzgyLDI3IEBAIENVX1Rlc3RJ bmZvIHZjbl90ZXN0c1tdID0gewogCUNVX1RFU1RfSU5GT19OVUxMLAogfTsKIAorQ1VfQk9PTCBz dWl0ZV92Y25fdGVzdHNfZW5hYmxlKHZvaWQpCit7CisKKwlpZiAoYW1kZ3B1X2RldmljZV9pbml0 aWFsaXplKGRybV9hbWRncHVbMF0sICZtYWpvcl92ZXJzaW9uLAorCQkJCSAgICZtaW5vcl92ZXJz aW9uLCAmZGV2aWNlX2hhbmRsZSkpCisJCXJldHVybiBDVV9GQUxTRTsKKworCWZhbWlseV9pZCA9 IGRldmljZV9oYW5kbGUtPmluZm8uZmFtaWx5X2lkOworCisJaWYgKGFtZGdwdV9kZXZpY2VfZGVp bml0aWFsaXplKGRldmljZV9oYW5kbGUpKQorCQkJcmV0dXJuIENVX0ZBTFNFOworCisKKwlpZiAo ZmFtaWx5X2lkIDwgQU1ER1BVX0ZBTUlMWV9SVikgeworCQlwcmludGYoIlxuXG5UaGUgQVNJQyBO T1Qgc3VwcG9ydCBWQ04sIHN1aXRlIGRpc2FibGVkXG4iKTsKKwkJcmV0dXJuIENVX0ZBTFNFOwor CX0KKworCXJldHVybiBDVV9UUlVFOworfQorCiBpbnQgc3VpdGVfdmNuX3Rlc3RzX2luaXQodm9p ZCkKIHsKIAlpbnQgcjsKQEAgLTkzLDExICsxMTQsNiBAQCBpbnQgc3VpdGVfdmNuX3Rlc3RzX2lu aXQodm9pZCkKIAogCWZhbWlseV9pZCA9IGRldmljZV9oYW5kbGUtPmluZm8uZmFtaWx5X2lkOwog Ci0JaWYgKGZhbWlseV9pZCA8IEFNREdQVV9GQU1JTFlfUlYpIHsKLQkJcHJpbnRmKCJcblxuVGhl IEFTSUMgTk9UIHN1cHBvcnQgVkNOLCBhbGwgc3ViLXRlc3RzIHdpbGwgcGFzc1xuIik7Ci0JCXJl dHVybiBDVUVfU1VDQ0VTUzsKLQl9Ci0KIAlyID0gYW1kZ3B1X2NzX2N0eF9jcmVhdGUoZGV2aWNl X2hhbmRsZSwgJmNvbnRleHRfaGFuZGxlKTsKIAlpZiAocikKIAkJcmV0dXJuIENVRV9TSU5JVF9G QUlMRUQ7CkBAIC0xMTYsMjYgKzEzMiwxOCBAQCBpbnQgc3VpdGVfdmNuX3Rlc3RzX2NsZWFuKHZv aWQpCiB7CiAJaW50IHI7CiAKLQlpZiAoZmFtaWx5X2lkIDwgQU1ER1BVX0ZBTUlMWV9SVikgewot CQlyID0gYW1kZ3B1X2RldmljZV9kZWluaXRpYWxpemUoZGV2aWNlX2hhbmRsZSk7Ci0JCWlmIChy KQotCQkJcmV0dXJuIENVRV9TQ0xFQU5fRkFJTEVEOwotCX0gZWxzZSB7Ci0JCXIgPSBhbWRncHVf Ym9fdW5tYXBfYW5kX2ZyZWUoaWJfaGFuZGxlLCBpYl92YV9oYW5kbGUsCi0JCQkJICAgICBpYl9t Y19hZGRyZXNzLCBJQl9TSVpFKTsKLQkJaWYgKHIpCi0JCQlyZXR1cm4gQ1VFX1NDTEVBTl9GQUlM RUQ7Ci0KLQkJciA9IGFtZGdwdV9jc19jdHhfZnJlZShjb250ZXh0X2hhbmRsZSk7Ci0JCWlmIChy KQotCQkJcmV0dXJuIENVRV9TQ0xFQU5fRkFJTEVEOwotCi0JCXIgPSBhbWRncHVfZGV2aWNlX2Rl aW5pdGlhbGl6ZShkZXZpY2VfaGFuZGxlKTsKLQkJaWYgKHIpCi0JCQlyZXR1cm4gQ1VFX1NDTEVB Tl9GQUlMRUQ7Ci0JfQorCXIgPSBhbWRncHVfYm9fdW5tYXBfYW5kX2ZyZWUoaWJfaGFuZGxlLCBp Yl92YV9oYW5kbGUsCisJCQkgICAgIGliX21jX2FkZHJlc3MsIElCX1NJWkUpOworCWlmIChyKQor CQlyZXR1cm4gQ1VFX1NDTEVBTl9GQUlMRUQ7CiAKLQlyZXR1cm4gQ1VFX1NVQ0NFU1M7CisJciA9 IGFtZGdwdV9jc19jdHhfZnJlZShjb250ZXh0X2hhbmRsZSk7CisJaWYgKHIpCisJCXJldHVybiBD VUVfU0NMRUFOX0ZBSUxFRDsKKworCXIgPSBhbWRncHVfZGV2aWNlX2RlaW5pdGlhbGl6ZShkZXZp Y2VfaGFuZGxlKTsKKwlpZiAocikKKwkJcmV0dXJuIENVRV9TQ0xFQU5fRkFJTEVEOwogfQogCiBz dGF0aWMgaW50IHN1Ym1pdCh1bnNpZ25lZCBuZHcsIHVuc2lnbmVkIGlwKQpAQCAtMjQ0LDkgKzI1 Miw2IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9jc192Y25fZGVjX2NyZWF0ZSh2b2lkKQogCXN0cnVj dCBhbWRncHVfdmNuX2JvIG1zZ19idWY7CiAJaW50IGxlbiwgcjsKIAotCWlmIChmYW1pbHlfaWQg PCBBTURHUFVfRkFNSUxZX1JWKQotCQlyZXR1cm47Ci0KIAludW1fcmVzb3VyY2VzICA9IDA7CiAJ YWxsb2NfcmVzb3VyY2UoJm1zZ19idWYsIDQwOTYsIEFNREdQVV9HRU1fRE9NQUlOX0dUVCk7CiAJ cmVzb3VyY2VzW251bV9yZXNvdXJjZXMrK10gPSBtc2dfYnVmLmhhbmRsZTsKQEAgLTI4Miw5ICsy ODcsNiBAQCBzdGF0aWMgdm9pZCBhbWRncHVfY3NfdmNuX2RlY19kZWNvZGUodm9pZCkKIAlpbnQg c2l6ZSwgbGVuLCBpLCByOwogCXVpbnQ4X3QgKmRlYzsKIAotCWlmIChmYW1pbHlfaWQgPCBBTURH UFVfRkFNSUxZX1JWKQotCQlyZXR1cm47Ci0KIAlzaXplID0gNCoxMDI0OyAvKiBtc2cgKi8KIAlz aXplICs9IDQqMTAyNDsgLyogZmIgKi8KIAlzaXplICs9IDQwOTY7IC8qaXRfc2NhbGluZ190YWJs ZSovCkBAIC0zNTUsOSArMzU3LDYgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2NzX3Zjbl9kZWNfZGVz dHJveSh2b2lkKQogCXN0cnVjdCBhbWRncHVfdmNuX2JvIG1zZ19idWY7CiAJaW50IGxlbiwgcjsK IAotCWlmIChmYW1pbHlfaWQgPCBBTURHUFVfRkFNSUxZX1JWKQotCQlyZXR1cm47Ci0KIAludW1f cmVzb3VyY2VzICA9IDA7CiAJYWxsb2NfcmVzb3VyY2UoJm1zZ19idWYsIDEwMjQsIEFNREdQVV9H RU1fRE9NQUlOX0dUVCk7CiAJcmVzb3VyY2VzW251bV9yZXNvdXJjZXMrK10gPSBtc2dfYnVmLmhh bmRsZTsKQEAgLTM4NywyNCArMzg2LDE1IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9jc192Y25fZGVj X2Rlc3Ryb3kodm9pZCkKIAogc3RhdGljIHZvaWQgYW1kZ3B1X2NzX3Zjbl9lbmNfY3JlYXRlKHZv aWQpCiB7Ci0JaWYgKGZhbWlseV9pZCA8IEFNREdQVV9GQU1JTFlfUlYpCi0JCXJldHVybjsKLQog CS8qIFRPRE8gKi8KIH0KIAogc3RhdGljIHZvaWQgYW1kZ3B1X2NzX3Zjbl9lbmNfZW5jb2RlKHZv aWQpCiB7Ci0JaWYgKGZhbWlseV9pZCA8IEFNREdQVV9GQU1JTFlfUlYpCi0JCXJldHVybjsKLQog CS8qIFRPRE8gKi8KIH0KIAogc3RhdGljIHZvaWQgYW1kZ3B1X2NzX3Zjbl9lbmNfZGVzdHJveSh2 b2lkKQogewotCWlmIChmYW1pbHlfaWQgPCBBTURHUFVfRkFNSUxZX1JWKQotCQlyZXR1cm47Ci0K IAkvKiBUT0RPICovCiB9Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==