From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 47B1189E15 for ; Mon, 10 Aug 2020 09:48:06 +0000 (UTC) From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= Date: Mon, 10 Aug 2020 11:46:52 +0200 Message-Id: <20200810094710.28930-13-zbigniew.kempczynski@intel.com> In-Reply-To: <20200810094710.28930-1-zbigniew.kempczynski@intel.com> References: <20200810094710.28930-1-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v27 12/30] tests/api_intel_bb: add render tests 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 Cc: Chris Wilson List-ID: Q2hlY2sgcmVuZGVyIC8gcmVuZGVyLWNjcyB0ZXN0cyB3b3JrcyBmaW5lIG9uIGFsbCBzdXBwb3J0 ZWQgZ2Vucy4KClNpZ25lZC1vZmYtYnk6IFpiaWduaWV3IEtlbXBjennFhHNraSA8emJpZ25pZXcu a2VtcGN6eW5za2lAaW50ZWwuY29tPgpDYzogRG9taW5payBHcnplZ29yemVrIDxkb21pbmlrLmdy emVnb3J6ZWtAaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24u Y28udWs+Ci0tLQogdGVzdHMvaTkxNS9hcGlfaW50ZWxfYmIuYyB8IDI2NyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDI2NSBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvYXBpX2ludGVsX2Ji LmMgYi90ZXN0cy9pOTE1L2FwaV9pbnRlbF9iYi5jCmluZGV4IGE0YjU3YjdjLi4zNzYwMjFkZSAx MDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9hcGlfaW50ZWxfYmIuYworKysgYi90ZXN0cy9pOTE1L2Fw aV9pbnRlbF9iYi5jCkBAIC0zMiw2ICszMiw4IEBACiAjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNs dWRlIDxzeXMvc3RhdC5oPgogI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPGdsaWIu aD4KKyNpbmNsdWRlIDx6bGliLmg+CiAjaW5jbHVkZSAiaW50ZWxfYnVmb3BzLmgiCiAKICNkZWZp bmUgUEFHRV9TSVpFIDQwOTYKQEAgLTU4LDYgKzYwLDcgQEAgZW51bSBvYmpfY2FjaGVfb3BzIHsK IHN0YXRpYyBib29sIGRlYnVnX2JiID0gZmFsc2U7CiBzdGF0aWMgYm9vbCB3cml0ZV9wbmcgPSBm YWxzZTsKIHN0YXRpYyBib29sIGJ1Zl9pbmZvID0gZmFsc2U7CitzdGF0aWMgYm9vbCBwcmludF9i YXNlNjQgPSBmYWxzZTsKIAogc3RhdGljIHZvaWQgKmFsbG9jX2FsaWduZWQodWludDY0X3Qgc2l6 ZSkKIHsKQEAgLTU3NSw2ICs1NzgsNTQgQEAgc3RhdGljIGludCBjb21wYXJlX2J1ZnMoc3RydWN0 IGludGVsX2J1ZiAqYnVmMSwgc3RydWN0IGludGVsX2J1ZiAqYnVmMiwKIAlyZXR1cm4gcmV0Owog fQogCisjZGVmaW5lIExJTkVMRU4gNzYKK3N0YXRpYyBpbnQgZHVtcF9iYXNlNjQoY29uc3QgY2hh ciAqbmFtZSwgc3RydWN0IGludGVsX2J1ZiAqYnVmKQoreworCXZvaWQgKnB0cjsKKwlpbnQgZmQs IHJldDsKKwl1TG9uZ2Ygb3V0c2l6ZSA9IGJ1Zi0+c3VyZmFjZVswXS5zaXplICogMyAvIDI7CisJ Qnl0ZWYgKmRlc3RidWYgPSBtYWxsb2Mob3V0c2l6ZSk7CisJZ2NoYXIgKnN0ciwgKnBvczsKKwor CWZkID0gYnVmX29wc19nZXRfZmQoYnVmLT5ib3BzKTsKKworCXB0ciA9IGdlbV9tbWFwX19kZXZp Y2VfY29oZXJlbnQoZmQsIGJ1Zi0+aGFuZGxlLCAwLAorCQkJCQlidWYtPnN1cmZhY2VbMF0uc2l6 ZSwgUFJPVF9SRUFEKTsKKworCXJldCA9IGNvbXByZXNzMihkZXN0YnVmLCAmb3V0c2l6ZSwgcHRy LCBidWYtPnN1cmZhY2VbMF0uc2l6ZSwKKwkJCVpfQkVTVF9DT01QUkVTU0lPTik7CisJaWYgKHJl dCAhPSBaX09LKSB7CisJCWlndF93YXJuKCJlcnJvciBjb21wcmVzc2luZywgcmV0OiAlZFxuIiwg cmV0KTsKKwl9IGVsc2UgeworCQlpZ3RfaW5mbygiY29tcHJlc3NlZCAldSAtPiAlbHVcbiIsCisJ CQkgYnVmLT5zdXJmYWNlWzBdLnNpemUsIG91dHNpemUpOworCisJCWlndF9pbmZvKCItLS0gJXMg LS0tXG4iLCBuYW1lKTsKKwkJcG9zID0gc3RyID0gZ19iYXNlNjRfZW5jb2RlKGRlc3RidWYsIG91 dHNpemUpOworCQlvdXRzaXplID0gc3RybGVuKHN0cik7CisJCXdoaWxlIChwb3MpIHsKKwkJCWNo YXIgbGluZVtMSU5FTEVOICsgMV07CisJCQlpbnQgdG9fY29weSA9IG1pbihMSU5FTEVOLCBvdXRz aXplKTsKKworCQkJbWVtY3B5KGxpbmUsIHBvcywgdG9fY29weSk7CisJCQlsaW5lW3RvX2NvcHld ID0gMDsKKwkJCWlndF9pbmZvKCIlc1xuIiwgbGluZSk7CisJCQlwb3MgKz0gTElORUxFTjsKKwkJ CW91dHNpemUgLT0gdG9fY29weTsKKworCQkJaWYgKG91dHNpemUgPT0gMCkKKwkJCQlicmVhazsK KwkJfQorCQlmcmVlKHN0cik7CisJfQorCisJbXVubWFwKHB0ciwgYnVmLT5zdXJmYWNlWzBdLnNp emUpOworCWZyZWUoZGVzdGJ1Zik7CisKKwlyZXR1cm4gcmV0OworfQorCisKIHN0YXRpYyBpbnQg X19kb19pbnRlbF9iYl9ibGl0KHN0cnVjdCBidWZfb3BzICpib3BzLCB1aW50MzJfdCB0aWxpbmcp CiB7CiAJc3RydWN0IGludGVsX2JiICppYmI7CkBAIC03NTMsNiArODA0LDE4MCBAQCBzdGF0aWMg dm9pZCBmdWxsX2JhdGNoKHN0cnVjdCBidWZfb3BzICpib3BzKQogCWludGVsX2JiX2Rlc3Ryb3ko aWJiKTsKIH0KIAorc3RhdGljIGludCByZW5kZXIoc3RydWN0IGJ1Zl9vcHMgKmJvcHMsIHVpbnQz Ml90IHRpbGluZywgYm9vbCBkb19yZWxvYywKKwkJICB1aW50MzJfdCB3aWR0aCwgdWludDMyX3Qg aGVpZ2h0KQoreworCXN0cnVjdCBpbnRlbF9iYiAqaWJiOworCXN0cnVjdCBpbnRlbF9idWYgc3Jj LCBkc3QsIGZpbmFsOworCWludCBpOTE1ID0gYnVmX29wc19nZXRfZmQoYm9wcyk7CisJdWludDMy X3QgZmFpbHMgPSAwOworCWNoYXIgbmFtZVsxMjhdOworCXVpbnQzMl90IGRldmlkID0gaW50ZWxf Z2V0X2RybV9kZXZpZChpOTE1KTsKKwlpZ3RfcmVuZGVyX2NvcHlmdW5jX3QgcmVuZGVyX2NvcHkg PSBOVUxMOworCisJaWd0X2RlYnVnKCIlcygpIGdlbjogJWRcbiIsIF9fZnVuY19fLCBpbnRlbF9n ZW4oZGV2aWQpKTsKKworCS8qIERvbid0IHVzZSByZWxvY2F0aW9ucyBvbiBnZW4xMisgKi8KKwlp Z3RfcmVxdWlyZSgoZG9fcmVsb2MgJiYgaW50ZWxfZ2VuKGRldmlkKSA8IDEyKSB8fAorCQkgICAg IWRvX3JlbG9jKTsKKworCWlmIChkb19yZWxvYykKKwkJaWJiID0gaW50ZWxfYmJfY3JlYXRlX3dp dGhfcmVsb2NzKGk5MTUsIFBBR0VfU0laRSk7CisJZWxzZQorCQlpYmIgPSBpbnRlbF9iYl9jcmVh dGUoaTkxNSwgUEFHRV9TSVpFKTsKKworCWlmIChkZWJ1Z19iYikKKwkJaW50ZWxfYmJfc2V0X2Rl YnVnKGliYiwgdHJ1ZSk7CisKKwlpZiAocHJpbnRfYmFzZTY0KQorCQlpbnRlbF9iYl9zZXRfZHVt cF9iYXNlNjQoaWJiLCB0cnVlKTsKKworCXNjcmF0Y2hfYnVmX2luaXQoYm9wcywgJnNyYywgd2lk dGgsIGhlaWdodCwgSTkxNV9USUxJTkdfTk9ORSwKKwkJCSBJOTE1X0NPTVBSRVNTSU9OX05PTkUp OworCXNjcmF0Y2hfYnVmX2luaXQoYm9wcywgJmRzdCwgd2lkdGgsIGhlaWdodCwgdGlsaW5nLAor CQkJIEk5MTVfQ09NUFJFU1NJT05fTk9ORSk7CisJc2NyYXRjaF9idWZfaW5pdChib3BzLCAmZmlu YWwsIHdpZHRoLCBoZWlnaHQsIEk5MTVfVElMSU5HX05PTkUsCisJCQkgSTkxNV9DT01QUkVTU0lP Tl9OT05FKTsKKworCXNjcmF0Y2hfYnVmX2RyYXdfcGF0dGVybihib3BzLCAmc3JjLAorCQkJCSAw LCAwLCB3aWR0aCwgaGVpZ2h0LAorCQkJCSAwLCAwLCB3aWR0aCwgaGVpZ2h0LCAwKTsKKworCXJl bmRlcl9jb3B5ID0gaWd0X2dldF9yZW5kZXJfY29weWZ1bmMoZGV2aWQpOworCWlndF9hc3NlcnQo cmVuZGVyX2NvcHkpOworCisJcmVuZGVyX2NvcHkoaWJiLCAwLAorCQkgICAgJnNyYywKKwkJICAg IDAsIDAsIHdpZHRoLCBoZWlnaHQsCisJCSAgICAmZHN0LAorCQkgICAgMCwgMCk7CisKKwlyZW5k ZXJfY29weShpYmIsIDAsCisJCSAgICAmZHN0LAorCQkgICAgMCwgMCwgd2lkdGgsIGhlaWdodCwK KwkJICAgICZmaW5hbCwKKwkJICAgIDAsIDApOworCisJaW50ZWxfYmJfc3luYyhpYmIpOworCWlu dGVsX2JiX2Rlc3Ryb3koaWJiKTsKKworCWlmICh3cml0ZV9wbmcpIHsKKwkJc25wcmludGYobmFt ZSwgc2l6ZW9mKG5hbWUpIC0gMSwKKwkJCSAicmVuZGVyX2RzdF90aWxpbmdfJWQucG5nIiwgdGls aW5nKTsKKwkJaW50ZWxfYnVmX3dyaXRlX3RvX3BuZygmc3JjLCAicmVuZGVyX3NyY190aWxpbmdf bm9uZS5wbmciKTsKKwkJaW50ZWxfYnVmX3dyaXRlX3RvX3BuZygmZHN0LCBuYW1lKTsKKwkJaW50 ZWxfYnVmX3dyaXRlX3RvX3BuZygmZmluYWwsICJyZW5kZXJfZmluYWxfdGlsaW5nX25vbmUucG5n Iik7CisJfQorCisJLyogV2UnbGwgZmFpbCBvbiBzcmMgPC0+IGZpbmFsIGNvbXBhcmUgc28ganVz dCB3YXJuICovCisJaWYgKHRpbGluZyA9PSBJOTE1X1RJTElOR19OT05FKSB7CisJCWlmIChjb21w YXJlX2J1ZnMoJnNyYywgJmRzdCwgZmFsc2UpID4gMCkKKwkJCWlndF93YXJuKCIlczogbm9uZS0+ bm9uZSBmYWlsZWQhXG4iLCBfX2Z1bmNfXyk7CisJfSBlbHNlIHsKKwkJaWYgKGNvbXBhcmVfYnVm cygmc3JjLCAmZHN0LCBmYWxzZSkgPT0gMCkKKwkJCWlndF93YXJuKCIlczogbm9uZS0+dGlsZWQg ZmFpbGVkIVxuIiwgX19mdW5jX18pOworCX0KKworCWZhaWxzID0gY29tcGFyZV9idWZzKCZzcmMs ICZmaW5hbCwgdHJ1ZSk7CisKKwlpZiAoZmFpbHMgJiYgcHJpbnRfYmFzZTY0KSB7CisJCWR1bXBf YmFzZTY0KCJzcmMiLCAmc3JjKTsKKwkJZHVtcF9iYXNlNjQoImRzdCIsICZkc3QpOworCQlkdW1w X2Jhc2U2NCgiZmluYWwiLCAmZmluYWwpOworCX0KKworCWludGVsX2J1Zl9jbG9zZShib3BzLCAm c3JjKTsKKwlpbnRlbF9idWZfY2xvc2UoYm9wcywgJmRzdCk7CisJaW50ZWxfYnVmX2Nsb3NlKGJv cHMsICZmaW5hbCk7CisKKwlpZ3RfYXNzZXJ0X2YoZmFpbHMgPT0gMCwgIiVzOiAodGlsaW5nOiAl ZCkgZmFpbHM6ICVkXG4iLAorCQkgICAgIF9fZnVuY19fLCB0aWxpbmcsIGZhaWxzKTsKKworCXJl dHVybiBmYWlsczsKK30KKworc3RhdGljIHVpbnQzMl90IGNvdW50X2NvbXByZXNzZWQoaW50IGdl biwgc3RydWN0IGludGVsX2J1ZiAqYnVmKQoreworCWludCBjY3Nfc2l6ZSA9IGludGVsX2J1Zl9j Y3Nfd2lkdGgoZ2VuLCBidWYpICogaW50ZWxfYnVmX2Njc19oZWlnaHQoZ2VuLCBidWYpOworCXVp bnQ4X3QgKnB0ciA9IGludGVsX2J1Zl9kZXZpY2VfbWFwKGJ1ZiwgZmFsc2UpOworCXVpbnQzMl90 IGNvbXByZXNzZWQgPSAwOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IGNjc19zaXplOyBp KyspCisJCWlmIChwdHJbYnVmLT5jY3NbMF0ub2Zmc2V0ICsgaV0pCisJCQljb21wcmVzc2VkKys7 CisKKwlpbnRlbF9idWZfdW5tYXAoYnVmKTsKKworCXJldHVybiBjb21wcmVzc2VkOworfQorCisj ZGVmaW5lIElNR1NJWkUgKDUxMiAqIDUxMiAqIDQpCisjZGVmaW5lIENDU0lNR1NJWkUgKElNR1NJ WkUgKyA0MDk2KQorc3RhdGljIHZvaWQgcmVuZGVyX2NjcyhzdHJ1Y3QgYnVmX29wcyAqYm9wcykK K3sKKwlzdHJ1Y3QgaW50ZWxfYmIgKmliYjsKKwljb25zdCBpbnQgd2lkdGggPSAxMDI0OworCWNv bnN0IGludCBoZWlnaHQgPSAxMDI0OworCXN0cnVjdCBpbnRlbF9idWYgc3JjLCBkc3QsIGZpbmFs OworCWludCBpOTE1ID0gYnVmX29wc19nZXRfZmQoYm9wcyk7CisJdWludDMyX3QgZmFpbHMgPSAw OworCXVpbnQzMl90IGNvbXByZXNzZWQgPSAwOworCXVpbnQzMl90IGRldmlkID0gaW50ZWxfZ2V0 X2RybV9kZXZpZChpOTE1KTsKKwlpZ3RfcmVuZGVyX2NvcHlmdW5jX3QgcmVuZGVyX2NvcHkgPSBO VUxMOworCisJaWJiID0gaW50ZWxfYmJfY3JlYXRlKGk5MTUsIFBBR0VfU0laRSk7CisJaWYgKGRl YnVnX2JiKQorCQlpbnRlbF9iYl9zZXRfZGVidWcoaWJiLCB0cnVlKTsKKworCXNjcmF0Y2hfYnVm X2luaXQoYm9wcywgJnNyYywgd2lkdGgsIGhlaWdodCwgSTkxNV9USUxJTkdfTk9ORSwKKwkJCSBJ OTE1X0NPTVBSRVNTSU9OX05PTkUpOworCXNjcmF0Y2hfYnVmX2luaXQoYm9wcywgJmRzdCwgd2lk dGgsIGhlaWdodCwgSTkxNV9USUxJTkdfWSwKKwkJCSBJOTE1X0NPTVBSRVNTSU9OX1JFTkRFUik7 CisJc2NyYXRjaF9idWZfaW5pdChib3BzLCAmZmluYWwsIHdpZHRoLCBoZWlnaHQsIEk5MTVfVElM SU5HX05PTkUsCisJCQkgSTkxNV9DT01QUkVTU0lPTl9OT05FKTsKKworCXJlbmRlcl9jb3B5ID0g aWd0X2dldF9yZW5kZXJfY29weWZ1bmMoZGV2aWQpOworCWlndF9hc3NlcnQocmVuZGVyX2NvcHkp OworCisJc2NyYXRjaF9idWZfZHJhd19wYXR0ZXJuKGJvcHMsICZzcmMsCisJCQkJIDAsIDAsIHdp ZHRoLCBoZWlnaHQsCisJCQkJIDAsIDAsIHdpZHRoLCBoZWlnaHQsIDApOworCisJcmVuZGVyX2Nv cHkoaWJiLCAwLAorCQkgICAgJnNyYywKKwkJICAgIDAsIDAsIHdpZHRoLCBoZWlnaHQsCisJCSAg ICAmZHN0LAorCQkgICAgMCwgMCk7CisKKwlyZW5kZXJfY29weShpYmIsIDAsCisJCSAgICAmZHN0 LAorCQkgICAgMCwgMCwgd2lkdGgsIGhlaWdodCwKKwkJICAgICZmaW5hbCwKKwkJICAgIDAsIDAp OworCisJaW50ZWxfYmJfc3luYyhpYmIpOworCWludGVsX2JiX2Rlc3Ryb3koaWJiKTsKKworCWZh aWxzID0gY29tcGFyZV9idWZzKCZzcmMsICZmaW5hbCwgdHJ1ZSk7CisJY29tcHJlc3NlZCA9IGNv dW50X2NvbXByZXNzZWQoaWJiLT5nZW4sICZkc3QpOworCisJaWd0X2RlYnVnKCJmYWlsczogJXUs IGNvbXByZXNzZWQ6ICV1XG4iLCBmYWlscywgY29tcHJlc3NlZCk7CisKKwlpZiAod3JpdGVfcG5n KSB7CisJCWludGVsX2J1Zl93cml0ZV90b19wbmcoJnNyYywgInJlbmRlci1jY3Mtc3JjLnBuZyIp OworCQlpbnRlbF9idWZfd3JpdGVfdG9fcG5nKCZkc3QsICJyZW5kZXItY2NzLWRzdC5wbmciKTsK KwkJaW50ZWxfYnVmX3dyaXRlX2F1eF90b19wbmcoJmRzdCwgInJlbmRlci1jY3MtZHN0LWF1eC5w bmciKTsKKwkJaW50ZWxfYnVmX3dyaXRlX3RvX3BuZygmZmluYWwsICJyZW5kZXItY2NzLWZpbmFs LnBuZyIpOworCX0KKworCWludGVsX2J1Zl9jbG9zZShib3BzLCAmc3JjKTsKKwlpbnRlbF9idWZf Y2xvc2UoYm9wcywgJmRzdCk7CisJaW50ZWxfYnVmX2Nsb3NlKGJvcHMsICZmaW5hbCk7CisKKwlp Z3RfYXNzZXJ0X2YoZmFpbHMgPT0gMCwgInJlbmRlci1jY3MgZmFpbHM6ICVkXG4iLCBmYWlscyk7 Cit9CisKIHN0YXRpYyBpbnQgb3B0X2hhbmRsZXIoaW50IG9wdCwgaW50IG9wdF9pbmRleCwgdm9p ZCAqZGF0YSkKIHsKIAlzd2l0Y2ggKG9wdCkgewpAQCAtNzY1LDYgKzk5MCw5IEBAIHN0YXRpYyBp bnQgb3B0X2hhbmRsZXIoaW50IG9wdCwgaW50IG9wdF9pbmRleCwgdm9pZCAqZGF0YSkKIAljYXNl ICdpJzoKIAkJYnVmX2luZm8gPSB0cnVlOwogCQlicmVhazsKKwljYXNlICdiJzoKKwkJcHJpbnRf YmFzZTY0ID0gdHJ1ZTsKKwkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJcmV0dXJuIElHVF9PUFRfSEFO RExFUl9FUlJPUjsKIAl9CkBAIC03NzYsMTYgKzEwMDQsMjggQEAgY29uc3QgY2hhciAqaGVscF9z dHIgPQogCSIgIC1kXHREZWJ1ZyBiYlxuIgogCSIgIC1wXHRXcml0ZSBzdXJmYWNlcyB0byBwbmdc biIKIAkiICAtaVx0UHJpbnQgYnVmZmVyIGluZm9cbiIKKwkiICAtYlx0RHVtcCB0byBiYXNlNjQg KGJiIGFuZCBpbWFnZXMpXG4iCiAJOwogCi1pZ3RfbWFpbl9hcmdzKCJkcGkiLCBOVUxMLCBoZWxw X3N0ciwgb3B0X2hhbmRsZXIsIE5VTEwpCitpZ3RfbWFpbl9hcmdzKCJkcGliIiwgTlVMTCwgaGVs cF9zdHIsIG9wdF9oYW5kbGVyLCBOVUxMKQogewotCWludCBpOTE1OworCWludCBpOTE1LCBpLCBn ZW47CiAJc3RydWN0IGJ1Zl9vcHMgKmJvcHM7CisJdWludDMyX3Qgd2lkdGg7CisKKwlzdHJ1Y3Qg dGVzdCB7CisJCXVpbnQzMl90IHRpbGluZzsKKwkJY29uc3QgY2hhciAqdGlsaW5nX25hbWU7CisJ fSB0ZXN0c1tdID0geworCQl7IEk5MTVfVElMSU5HX05PTkUsICJub25lIiB9LAorCQl7IEk5MTVf VElMSU5HX1gsICJ4IiB9LAorCQl7IEk5MTVfVElMSU5HX1ksICJ5IiB9LAorCX07CiAKIAlpZ3Rf Zml4dHVyZSB7CiAJCWk5MTUgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVSX0lOVEVMKTsKIAkJYm9w cyA9IGJ1Zl9vcHNfY3JlYXRlKGk5MTUpOworCQlnZW4gPSBpbnRlbF9nZW4oaW50ZWxfZ2V0X2Ry bV9kZXZpZChpOTE1KSk7CiAJfQogCiAJaWd0X3N1YnRlc3QoInNpbXBsZS1iYiIpCkBAIC04Mjks NiArMTA2OSwyOSBAQCBpZ3RfbWFpbl9hcmdzKCJkcGkiLCBOVUxMLCBoZWxwX3N0ciwgb3B0X2hh bmRsZXIsIE5VTEwpCiAJaWd0X3N1YnRlc3QoImZ1bGwtYmF0Y2giKQogCQlmdWxsX2JhdGNoKGJv cHMpOwogCisJaWd0X3N1YnRlc3Rfd2l0aF9keW5hbWljKCJyZW5kZXIiKSB7CisJCWZvciAoaSA9 IDA7IGkgPCBBUlJBWV9TSVpFKHRlc3RzKTsgaSsrKSB7CisJCQljb25zdCBzdHJ1Y3QgdGVzdCAq dCA9ICZ0ZXN0c1tpXTsKKworCQkJZm9yICh3aWR0aCA9IDUxMjsgd2lkdGggPD0gMTAyNDsgd2lk dGggKz0gNTEyKSB7CisJCQkJaWd0X2R5bmFtaWNfZigicmVuZGVyLSVzLSV1IiwgdC0+dGlsaW5n X25hbWUsIHdpZHRoKSB7CisJCQkJCXJlbmRlcihib3BzLCB0LT50aWxpbmcsIGZhbHNlLCB3aWR0 aCwgd2lkdGgpOworCQkJCX0KKworCQkJCS8qIE5vIHJlbG9jcyBmb3IgZ2VuMTIrICovCisJCQkJ aWYgKGdlbiA+PSAxMikKKwkJCQkJY29udGludWU7CisKKwkJCQlpZ3RfZHluYW1pY19mKCJyZW5k ZXItJXMtcmVsb2MtJXUiLCB0LT50aWxpbmdfbmFtZSwgd2lkdGgpIHsKKwkJCQkJcmVuZGVyKGJv cHMsIHQtPnRpbGluZywgdHJ1ZSwgd2lkdGgsIHdpZHRoKTsKKwkJCQl9CisJCQl9CisJCX0KKwl9 CisKKwlpZ3Rfc3VidGVzdCgicmVuZGVyLWNjcyIpCisJCXJlbmRlcl9jY3MoYm9wcyk7CisKIAlp Z3RfZml4dHVyZSB7CiAJCWJ1Zl9vcHNfZGVzdHJveShib3BzKTsKIAkJY2xvc2UoaTkxNSk7Ci0t IAoyLjI2LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=