From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id AB3806F79E for ; Sat, 22 Dec 2018 00:27:43 +0000 (UTC) From: Manasi Navare Date: Fri, 21 Dec 2018 16:30:28 -0800 Message-Id: <20181222003028.22266-1-manasi.d.navare@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v8] test/kms_dp_dsc: Basic KMS test to validate VESA DSC on DP/eDP 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: Anusha Srivatsa , Petri Latvala , Manasi Navare , Dhinakaran Pandiyan List-ID: VGhpcyBwYXRjaCBhZGRzIGEgYmFzaWMga21zIHRlc3QgdG8gdmFsaWRhdGUgdGhlIGRpc3BsYXkg c3RyZWFtCmNvbXByZXNzaW9uIGZ1bmN0aW9uYWxpdHkgaWYgc3VwcG9ydGVkIG9uIERQL2VEUCBj b25uZWN0b3IuCkN1cnJlbnRseSB0aGlzIGhhcyBvbmx5IHR3byBzdWJ0ZXN0cyB0byBmb3JjZSB0 aGUgRFNDIG9uIGFsbAp0aGUgZURQIGFuZCBEUCBjb25uZWN0b3JzIHRoYXQgc3VwcG9ydCBpdCB3 aXRoIGRlZmF1bHQgcGFyYW1ldGVycy4KVGhpcyB3aWxsIGJlIGV4cGFuZGVkIHRvIGFkZCBtb3Jl IHN1YnRlc3RzIHRvIHR3ZWFrIERTQyBwYXJhbWV0ZXJzLgoKdjggKGZyb20gTWFuYXNpKToKKiBG aXggdGhlIGxvZ2ljIHRvIHNjYW4gdGhyb3VnaCBhbGwgY29ubmVjdG9ycyBldmVuIGlmIHNvbWUg ZG9udApzdXBwb3J0IERTQy9GRUMgKFBldHJpKQoqIEZpeCB0aGUgc2tpcCB0ZXN0IGxvZ2ljIGlm IG5vIGNvbm5lY3RvcnMgc3VwcG9ydCBEU0MgdG8gYXZvaWQKZmFsc2UgcG9zaXRpdmVzIChQZXRy aSkKKiBNb3ZlIHRlc3QgY2xlbnVwIHRvIHJ1bl90ZXN0CnY3OiAoZnJvbSBBbnVzaGEpCiogQ29k ZSBTdHlsZSBjaGFuZ2VzLihQZXRyaSkKKiBVc2UgZm9yX2VhY2hfcGlwZSgpIGluc3RlYWQgb2Yg Zm9yX2VhY2hfcGlwZV9zdGF0aWMoKS4oUGV0cmkpCiogQ29ycmVjdCBsb2dpYyBieSBhdm9pZGlu ZyBza2lwcGluZyBvZiBpbm5lciBmb3IgbG9vcCBjb21wbGV0ZWx5LihQZXRyaSkKdjY6IChmcm9t IEFudXNoYSkKKiBGaXggcnVuX3Rlc3QoKSAoUGV0cmkpCiogRml4IHVwZGF0ZV9kaXNwbGF5KCkg dG8gYXZvaWQgbGVha3MuIChQZXRyaSkKdjU6CiogRml4IHRlc3QgY2xlYW51cCB0byBhdm9pZCBj cmFzaCAoUGV0cmkpCnY0OgoqIEZ1dHVyZSBwcm9vZiBmb3IgbW9yZSB0ZXN0IHR5cGVzIChQZXRy aSkKKiBGaXggYWxwaGFiZXRpY2FsIG9yZGVyIChQZXRyaSkKKiBzL2lndF9kaXNwbGF5X2luaXQv aWd0X2Rpc3BsYXlfcmVxdWlyZSAoUGV0cmkpCiogUmVtb3ZlIGJsYW5rIGxpbmVzIGFmdGVyIHJl dHVybiAoUGV0cmkpCnYzOgoqIFVzZSBhcnJheSBvZiBjb25uZWN0b3JzIGFuZCBsb29wIHRocm91 Z2ggKFBldHJpKQoqIEFsc28gY2hlY2sgZm9yIEZFQyBvbiBEUCBjb25uZWN0b3JzIChNYW5hc2kp CiogQWRkIGEgUGlwZV9BIHJlc3RyaWN0aW9uIG9uIERQIChWaWxsZSkKdjI6CiogVXNlIElHVCB3 cmFwcGVycyBmb3IgYWxsIChESywgQW50b25pbykKKiBTcGxpdCBpbnRvIHR3byBzdWJ0ZXN0cyBm b3IgZURQIGFuZCBEUCB0eXBlcyAoUGV0cmkpCgpDYzogUGV0cmkgTGF0dmFsYSA8cGV0cmkubGF0 dmFsYUBpbnRlbC5jb20+CkNjOiBBbnRvbmlvIEFyZ2Vuemlhbm8gPGFudG9uaW8uYXJnZW56aWFu b0BpbnRlbC5jb20+CkNjOiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFu QGludGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+CkNjOiBBbnVzaGEgU3JpdmF0c2EgPGFudXNoYS5zcml2YXRzYUBpbnRlbC5jb20+ClNp Z25lZC1vZmYtYnk6IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4K U2lnbmVkLW9mZi1ieTogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4K LS0tCiB0ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIHwgICAxICsKIHRlc3RzL2ttc19kcF9kc2MuYyAg ICAgfCAyNjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHRlc3Rz L21lc29uLmJ1aWxkICAgICAgfCAgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCAyNjcgaW5zZXJ0aW9u cygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2ttc19kcF9kc2MuYwoKZGlmZiAtLWdpdCBh L3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCmluZGV4IGVl ZGRlMWU4Li5hM2MyNGM5OSAxMDA2NDQKLS0tIGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcworKysg Yi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCkBAIC01NCw2ICs1NCw3IEBAIFRFU1RTX3Byb2dzID0g XAogCWttc19jcnRjX2JhY2tncm91bmRfY29sb3IgXAogCWttc19jdXJzb3JfY3JjIFwKIAlrbXNf Y3Vyc29yX2xlZ2FjeSBcCisJa21zX2RwX2RzYyBcCiAJa21zX2RyYXdfY3JjIFwKIAlrbXNfZmJj b25fZmJ0IFwKIAlrbXNfZmVuY2VfcGluX2xlYWsgXApkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2Rw X2RzYy5jIGIvdGVzdHMva21zX2RwX2RzYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwLi45NzkyYmUzMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2ttc19kcF9kc2MuYwpA QCAtMCwwICsxLDI2NSBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE4IEludGVsIENvcnBvcmF0 aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQg YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBk ZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91 dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg cHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBv ZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29m dHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29u ZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt aXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJl IGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisg KiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lU SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVE SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFks CisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U LiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT IEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFks IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ U0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUg T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICoKKyAq IERpc3BsYXlwb3J0IERpc3BsYXkgU3RyZWFtIENvbXByZXNzaW9uIHRlc3QKKyAqIFVudGlsIHRo ZSBDUkMgc3VwcG9ydCBpcyBhZGRlZCB0aGlzIG5lZWRzIHRvIGJlIGludm9rZWQgd2l0aCAtLWlu dGVyYWN0aXZlCisgKiB0byBtYW51YWxseSB2ZXJpZnkgaWYgdGhlIHRlc3QgcGF0dGVybiBpcyBz ZWVuIHdpdGhvdXQgY29ycnVwdGlvbiBmb3IgZWFjaAorICogc3VidGVzdC4KKyAqCisgKiBBdXRo b3JzOgorICogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KKyAqCisg Ki8KKyNpbmNsdWRlICJpZ3QuaCIKKyNpbmNsdWRlICJpZ3Rfc3lzZnMuaCIKKyNpbmNsdWRlIDxl cnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRl IDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRib29sLmg+CisjaW5jbHVkZSA8c3RyaW5ncy5oPgor I2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHNpZ25h bC5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHRl cm1pb3MuaD4KKworZW51bSBkc2NfdGVzdF90eXBlCit7CisJdGVzdF9iYXNpY19kc2NfZW5hYmxl Cit9OworCit0eXBlZGVmIHN0cnVjdCB7CisJaW50IGRybV9mZDsKKwlpbnQgZGVidWdmc19mZDsK Kwl1aW50MzJfdCBpZDsKKwlpZ3RfZGlzcGxheV90IGRpc3BsYXk7CisJc3RydWN0IGlndF9mYiBm Yl90ZXN0X3BhdHRlcm47CisJaWd0X291dHB1dF90ICpvdXRwdXQ7CisJaW50IG1vZGVfdmFsaWQ7 CisJZHJtTW9kZU1vZGVJbmZvICptb2RlOworCWRybU1vZGVDb25uZWN0b3IgKmNvbm5lY3RvcjsK Kwlkcm1Nb2RlRW5jb2RlciAqZW5jb2RlcjsKKwlpbnQgY3J0YzsKKwllbnVtIHBpcGUgcGlwZTsK KwljaGFyIGNvbm5fbmFtZVsxMjhdOworfSBkYXRhX3Q7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBt YW51YWwoY29uc3QgY2hhciAqZXhwZWN0ZWQpCit7CisJaWd0X2RlYnVnX21hbnVhbF9jaGVjaygi YWxsIiwgZXhwZWN0ZWQpOworfQorCitzdGF0aWMgYm9vbCBpc19kcF9kc2Nfc3VwcG9ydGVkKGRh dGFfdCAqZGF0YSkKK3sKKwljaGFyIGZpbGVfbmFtZVsxMjhdID0gezB9OworCWNoYXIgYnVmWzUx Ml07CisKKwlzdHJjcHkoZmlsZV9uYW1lLCBkYXRhLT5jb25uX25hbWUpOworCXN0cmNhdChmaWxl X25hbWUsICIvaTkxNV9kc2NfZmVjX3N1cHBvcnQiKTsKKwlpZ3RfcmVxdWlyZShpZ3RfZGVidWdm c19zaW1wbGVfcmVhZChkYXRhLT5kZWJ1Z2ZzX2ZkLCBmaWxlX25hbWUsIGJ1ZiwKKwkJCQkJICAg IHNpemVvZihidWYpKSA+IDApOworCWlndF9kZWJ1Z2ZzX3JlYWQoZGF0YS0+ZHJtX2ZkLCBmaWxl X25hbWUsIGJ1Zik7CisKKwlyZXR1cm4gc3Ryc3RyKGJ1ZiwgIkRTQ19TaW5rX1N1cHBvcnQ6IHll cyIpOworfQorCitzdGF0aWMgYm9vbCBpc19kcF9mZWNfc3VwcG9ydGVkKGRhdGFfdCAqZGF0YSkK K3sKKwljaGFyIGZpbGVfbmFtZVsxMjhdID0gezB9OworCWNoYXIgYnVmWzUxMl07CisKKwlzdHJj cHkoZmlsZV9uYW1lLCBkYXRhLT5jb25uX25hbWUpOworCXN0cmNhdChmaWxlX25hbWUsICIvaTkx NV9kc2NfZmVjX3N1cHBvcnQiKTsKKwlpZ3RfZGVidWdmc19yZWFkKGRhdGEtPmRybV9mZCwgZmls ZV9uYW1lLCBidWYpOworCisJcmV0dXJuIHN0cnN0cihidWYsICJGRUNfU2lua19TdXBwb3J0OiB5 ZXMiKTsKK30KKworc3RhdGljIGJvb2wgaXNfZHBfZHNjX2VuYWJsZWQoZGF0YV90ICpkYXRhKQor eworCWNoYXIgZmlsZV9uYW1lWzEyOF0gPSB7MH07CisJY2hhciBidWZbNTEyXTsKKworCXN0cmNw eShmaWxlX25hbWUsIGRhdGEtPmNvbm5fbmFtZSk7CisJc3RyY2F0KGZpbGVfbmFtZSwgIi9pOTE1 X2RzY19mZWNfc3VwcG9ydCIpOworCWlndF9kZWJ1Z2ZzX3JlYWQoZGF0YS0+ZHJtX2ZkLCBmaWxl X25hbWUsIGJ1Zik7CisKKwlyZXR1cm4gc3Ryc3RyKGJ1ZiwgIkRTQ19FbmFibGVkOiB5ZXMiKTsK K30KKworc3RhdGljIHZvaWQgZm9yY2VfZHBfZHNjX2VuYWJsZShkYXRhX3QgKmRhdGEpCit7CisJ Y2hhciBmaWxlX25hbWVbMTI4XSA9IHswfTsKKwlpbnQgcmV0OworCisJc3RyY3B5KGZpbGVfbmFt ZSwgZGF0YS0+Y29ubl9uYW1lKTsKKwlzdHJjYXQoZmlsZV9uYW1lLCAiL2k5MTVfZHNjX2ZlY19z dXBwb3J0Iik7CisJaWd0X2RlYnVnICgiRm9yY2luZyBEU0MgZW5hYmxlIG9uICVzXG4iLCBkYXRh LT5jb25uX25hbWUpOworCXJldCA9IGlndF9zeXNmc193cml0ZShkYXRhLT5kZWJ1Z2ZzX2ZkLCBm aWxlX25hbWUsICIxIiwgMSk7CisJaWd0X2Fzc2VydF9mKHJldCA+IDAsICJkZWJ1Z2ZzX3dyaXRl IGZhaWxlZCIpOworfQorCitzdGF0aWMgdm9pZCBjbGVhcl9kcF9kc2NfZW5hYmxlKGRhdGFfdCAq ZGF0YSkKK3sKKwljaGFyIGZpbGVfbmFtZVsxMjhdID0gezB9OworCWludCByZXQ7CisKKwlzdHJj cHkoZmlsZV9uYW1lLCBkYXRhLT5jb25uX25hbWUpOworCXN0cmNhdChmaWxlX25hbWUsICIvaTkx NV9kc2NfZmVjX3N1cHBvcnQiKTsKKwlpZ3RfZGVidWcgKCJDbGVhcmluZyBEU0MgZW5hYmxlIG9u ICVzXG4iLCBkYXRhLT5jb25uX25hbWUpOworCXJldCA9IGlndF9zeXNmc193cml0ZShkYXRhLT5k ZWJ1Z2ZzX2ZkLCBmaWxlX25hbWUsICIwIiwgMSk7CisJaWd0X2Fzc2VydF9mKHJldCA+IDAsICJk ZWJ1Z2ZzX3dyaXRlIGZhaWxlZCIpOworfQorCitzdGF0aWMgdm9pZCB0ZXN0X2NsZWFudXAoZGF0 YV90ICpkYXRhKSB7CisJaWd0X3BsYW5lX3QgKnByaW1hcnk7CisKKwlpZiAoZGF0YS0+b3V0cHV0 KSB7CisJCXByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlKGRhdGEtPm91dHB1dCwK KwkJCQkJCSAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKKwkJaWd0X3BsYW5lX3NldF9mYihw cmltYXJ5LCBOVUxMKTsKKwkJaWd0X2Rpc3BsYXlfY29tbWl0KCZkYXRhLT5kaXNwbGF5KTsKKwkJ aWd0X3JlbW92ZV9mYihkYXRhLT5kcm1fZmQsICZkYXRhLT5mYl90ZXN0X3BhdHRlcm4pOworCX0K K30KKworCisvKgorICogUmUtcHJvYmUgY29ubmVjdG9ycyBhbmQgZG8gYSBtb2Rlc2V0IHdpdGgg RFNDCisgKgorICovCitzdGF0aWMgdm9pZCB1cGRhdGVfZGlzcGxheShkYXRhX3QgKmRhdGEsIGVu dW0gZHNjX3Rlc3RfdHlwZSB0ZXN0X3R5cGUpCit7CisJaWd0X3BsYW5lX3QgKnByaW1hcnk7CisJ ZGF0YS0+bW9kZSA9IGlndF9vdXRwdXRfZ2V0X21vZGUoZGF0YS0+b3V0cHV0KTsKKwlkYXRhLT5j b25uZWN0b3IgPSBkYXRhLT5vdXRwdXQtPmNvbmZpZy5jb25uZWN0b3I7CisKKwlpZiAoZGF0YS0+ Y29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfRGlzcGxheVBv cnQgJiYKKwkgICAgZGF0YS0+cGlwZSA9PSBQSVBFX0EpIHsKKwkJaWd0X2RlYnVnICgiRFNDIG5v dCBzdXBwb3J0ZWQgb24gUGlwZSBBIG9uIGV4dGVybmFsIERQXG4iKTsKKwkJcmV0dXJuOworCX0K KworCWlmICh0ZXN0X3R5cGUgPT0gdGVzdF9iYXNpY19kc2NfZW5hYmxlKSB7CisJCWlndF9kZWJ1 ZyAoIkRTQyBpcyBzdXBwb3J0ZWQgb24gJXNcbiIsCisJCQkgICBkYXRhLT5jb25uX25hbWUpOwor CQlmb3JjZV9kcF9kc2NfZW5hYmxlKGRhdGEpOworCQlpZ3RfY3JlYXRlX3BhdHRlcm5fZmIoZGF0 YS0+ZHJtX2ZkLCBkYXRhLT5tb2RlLT5oZGlzcGxheSwKKwkJCQkgICAgICBkYXRhLT5tb2RlLT52 ZGlzcGxheSwKKwkJCQkgICAgICBEUk1fRk9STUFUX1hSR0I4ODg4LAorCQkJCSAgICAgIExPQ0FM X0RSTV9GT1JNQVRfTU9EX05PTkUsCisJCQkJICAgICAgJmRhdGEtPmZiX3Rlc3RfcGF0dGVybik7 CisJCXByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlKGRhdGEtPm91dHB1dCwKKwkJ CQkJCSAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKKwkJaWd0X3BsYW5lX3NldF9mYihwcmlt YXJ5LCAmZGF0YS0+ZmJfdGVzdF9wYXR0ZXJuKTsKKwkJaWd0X2Rpc3BsYXlfY29tbWl0KCZkYXRh LT5kaXNwbGF5KTsKKwkJLyogVW50aWwgd2UgaGF2ZSBDUkMgY2hlY2sgc3VwcG9ydCwgbWFudWFs bHkgY2hlY2sgaWYgUkdCIHRlc3QgcGF0dGVybiBoYXMgbm8gY29ycnVwdGlvbiAqLworCQltYW51 YWwgKCJSR0IgdGVzdCBwYXR0ZXJuIHdpdGhvdXQgY29ycnVwdGlvbiIpOworCQlpZ3RfYXNzZXJ0 X2YoaXNfZHBfZHNjX2VuYWJsZWQoZGF0YSksCisJCQkgICAgICJEZWZhdWx0IERTQyBlbmFibGUg ZmFpbGVkIG9uIENvbm5lY3RvcjogJXMgUGlwZTogJXMiLAorCQkJICAgICBkYXRhLT5jb25uX25h bWUsCisJCQkgICAgIGttc3Rlc3RfcGlwZV9uYW1lKGRhdGEtPnBpcGUpKTsKKwkJY2xlYXJfZHBf ZHNjX2VuYWJsZShkYXRhKTsKKwl9IGVsc2UgeworCQlpZ3RfYXNzZXJ0KCEiVW5rbm93biB0ZXN0 IHR5cGVcbiIpOworCX0KK30KKworc3RhdGljIHZvaWQgcnVuX3Rlc3QoZGF0YV90ICpkYXRhLCBp Z3Rfb3V0cHV0X3QgKm91dHB1dCwKKwkJICAgICBlbnVtIGRzY190ZXN0X3R5cGUgdGVzdF90eXBl KQoreworCWVudW0gcGlwZSBwaXBlOworCisJZm9yX2VhY2hfcGlwZSgmZGF0YS0+ZGlzcGxheSwg cGlwZSkgeworCisJCWlmIChpZ3RfcGlwZV9jb25uZWN0b3JfdmFsaWQocGlwZSwgb3V0cHV0KSkg eworCQkJaWd0X291dHB1dF9zZXRfcGlwZShvdXRwdXQsIHBpcGUpOworCQkJZGF0YS0+cGlwZSA9 IHBpcGU7CisJCQlkYXRhLT5vdXRwdXQgPSBvdXRwdXQ7CisJCQl1cGRhdGVfZGlzcGxheShkYXRh LCB0ZXN0X3R5cGUpOworCQkJdGVzdF9jbGVhbnVwKGRhdGEpOworCQl9CisJfQorfQorCitpZ3Rf bWFpbgoreworCWRhdGFfdCBkYXRhID0ge307CisJaWd0X291dHB1dF90ICpvdXRwdXQ7CisJZHJt TW9kZVJlcyAqcmVzOworCWRybU1vZGVDb25uZWN0b3IgKmNvbm5lY3RvcjsKKwlpbnQgaSwgdGVz dF9jb25uX2NudCwgdGVzdF9jbnQ7CisJaW50IHRlc3RzW10gPSB7RFJNX01PREVfQ09OTkVDVE9S X2VEUCwgRFJNX01PREVfQ09OTkVDVE9SX0Rpc3BsYXlQb3J0fTsKKworCWlndF9maXh0dXJlIHsK KwkJZGF0YS5kcm1fZmQgPSBkcm1fb3Blbl9kcml2ZXJfbWFzdGVyKERSSVZFUl9BTlkpOworCQlk YXRhLmRlYnVnZnNfZmQgPSBpZ3RfZGVidWdmc19kaXIoZGF0YS5kcm1fZmQpOworCQlrbXN0ZXN0 X3NldF92dF9ncmFwaGljc19tb2RlKCk7CisJCWlndF9kaXNwbGF5X3JlcXVpcmUoJmRhdGEuZGlz cGxheSwgZGF0YS5kcm1fZmQpOworCQlpZ3RfcmVxdWlyZShyZXMgPSBkcm1Nb2RlR2V0UmVzb3Vy Y2VzKGRhdGEuZHJtX2ZkKSk7CisJfQorCisJZm9yICh0ZXN0X2NudCA9IDA7IHRlc3RfY250IDwg QVJSQVlfU0laRSh0ZXN0cyk7IHRlc3RfY250KyspIHsKKworCQlpZ3Rfc3VidGVzdF9mKCJiYXNp Yy1kc2MtZW5hYmxlLSVzIiwKKwkJCSAgICAgIGttc3Rlc3RfY29ubmVjdG9yX3R5cGVfc3RyKHRl c3RzW3Rlc3RfY250XSkpIHsKKwkJCXRlc3RfY29ubl9jbnQgPSAwOworCQkJZm9yIChpID0gMDsg aSA8IHJlcy0+Y291bnRfY29ubmVjdG9yczsgaSsrKSB7CisJCQkJY29ubmVjdG9yID0gZHJtTW9k ZUdldENvbm5lY3RvckN1cnJlbnQoZGF0YS5kcm1fZmQsCisJCQkJCQkJCSAgICAgICByZXMtPmNv bm5lY3RvcnNbaV0pOworCQkJCWlmIChjb25uZWN0b3ItPmNvbm5lY3Rpb24gIT0gRFJNX01PREVf Q09OTkVDVEVEIHx8CisJCQkJICAgIGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgIT0KKwkJCQkg ICAgdGVzdHNbdGVzdF9jbnRdKQorCQkJCQljb250aW51ZTsKKwkJCQlvdXRwdXQgPSBpZ3Rfb3V0 cHV0X2Zyb21fY29ubmVjdG9yKCZkYXRhLmRpc3BsYXksIGNvbm5lY3Rvcik7CisJCQkJc3ByaW50 ZihkYXRhLmNvbm5fbmFtZSwgIiVzLSVkIiwKKwkJCQkJa21zdGVzdF9jb25uZWN0b3JfdHlwZV9z dHIoY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSksCisJCQkJCWNvbm5lY3Rvci0+Y29ubmVjdG9y X3R5cGVfaWQpOworCQkJCWlmKCFpc19kcF9kc2Nfc3VwcG9ydGVkKCZkYXRhKSkgeworCQkJCQlp Z3RfZGVidWcoIkRTQyBub3Qgc3VwcG9ydGVkIG9uIGNvbm5lY3RvciAlcyBcbiIsCisJCQkJCQkg IGRhdGEuY29ubl9uYW1lKTsKKwkJCQkJY29udGludWU7CisJCQkJfQorCQkJCWlmIChjb25uZWN0 b3ItPmNvbm5lY3Rvcl90eXBlID09IERSTV9NT0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9ydCAmJgor CQkJCSAgICAhaXNfZHBfZmVjX3N1cHBvcnRlZCgmZGF0YSkpIHsKKwkJCQkJaWd0X2RlYnVnKCJE U0MgY2Fubm90IGJlIGVuYWJsZWQgd2l0aG91dCBGRUMgb24gJXNcbiIsCisJCQkJCQkgIGRhdGEu Y29ubl9uYW1lKTsKKwkJCQkJY29udGludWU7CisJCQkJfQorCQkJCXRlc3RfY29ubl9jbnQrKzsK KwkJCQlydW5fdGVzdCgmZGF0YSwgb3V0cHV0LCB0ZXN0X2Jhc2ljX2RzY19lbmFibGUpOworCQkJ fQorCQkJaWd0X3NraXBfb24odGVzdF9jb25uX2NudCA9PSAwKTsKKwkJfQorCX0KKworCWlndF9m aXh0dXJlIHsKKwkJZHJtTW9kZUZyZWVDb25uZWN0b3IoY29ubmVjdG9yKTsKKwkJZHJtTW9kZUZy ZWVSZXNvdXJjZXMocmVzKTsKKwkJY2xvc2UoZGF0YS5kZWJ1Z2ZzX2ZkKTsKKwkJY2xvc2UoZGF0 YS5kcm1fZmQpOworCQlpZ3RfZGlzcGxheV9maW5pKCZkYXRhLmRpc3BsYXkpOworCX0KKwlpZ3Rf ZXhpdCgpOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvbWVzb24uYnVpbGQgYi90ZXN0cy9tZXNvbi5i dWlsZAppbmRleCBiOGE2ZTYxYi4uZTE0YWIyYjQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL21lc29uLmJ1 aWxkCisrKyBiL3Rlc3RzL21lc29uLmJ1aWxkCkBAIC0yNSw2ICsyNSw3IEBAIHRlc3RfcHJvZ3Mg PSBbCiAJJ2ttc19jcnRjX2JhY2tncm91bmRfY29sb3InLAogCSdrbXNfY3Vyc29yX2NyYycsCiAJ J2ttc19jdXJzb3JfbGVnYWN5JywKKwkna21zX2RwX2RzYycsCiAJJ2ttc19kcmF3X2NyYycsCiAJ J2ttc19mYmNvbl9mYnQnLAogCSdrbXNfZmVuY2VfcGluX2xlYWsnLAotLSAKMi4xOS4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxp bmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK