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 D66A989E1A for ; Tue, 5 Mar 2019 01:48:19 +0000 (UTC) From: Dhinakaran Pandiyan Date: Mon, 4 Mar 2019 17:47:42 -0800 Message-Id: <20190305014742.3598-7-dhinakaran.pandiyan@intel.com> In-Reply-To: <20190305014742.3598-1-dhinakaran.pandiyan@intel.com> References: <20190305014742.3598-1-dhinakaran.pandiyan@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 7/7] tests/kms_ccs: Generate compressed surfaces with rendercopy 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: Clinton Taylor , Dhinakaran Pandiyan List-ID: bGliL2lndF9mYi5jIG5vdyBoYXMgY2FwYWJpbGl0eSB0byBtYWtlIHVzZSBvZiByZW5kZXJjb3B5 LCB3aGljaCBtZWFucwp3ZSBkbyBub3QgaGF2ZSB0byBoYW5kd3JpdGUgY29tcHJlc3NlZCBidWZm ZXJzLgoKdjI6IE1ha2UgY29sb3JzIHN0cnVjdCBzdGF0aWMgKFZpbGxlKQoKQ2M6IENsaW50b24g VGF5bG9yIDxjbGludG9uLmEudGF5bG9yQGludGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERoaW5ha2FyYW4g UGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5AaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiB0ZXN0cy9r bXNfY2NzLmMgfCAyMDIgKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgMTUzIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jY3MuYyBiL3Rlc3RzL2ttc19jY3MuYwppbmRleCA0 MjU5NmE0NS4uYTc0YmQ3MDYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19jY3MuYworKysgYi90ZXN0 cy9rbXNfY2NzLmMKQEAgLTYwLDEzICs2MCwxNCBAQCB0eXBlZGVmIHN0cnVjdCB7CiAJaWd0X3Bp cGVfY3JjX3QgKnBpcGVfY3JjOwogfSBkYXRhX3Q7CiAKLSNkZWZpbmUgUkVECQkJMHgwMGZmMDAw MAotI2RlZmluZSBDT01QUkVTU0VEX1JFRAkJMHgwZmYwMDAwZgotI2RlZmluZSBHUkVFTgkJCTB4 MDAwMGZmMDAKLSNkZWZpbmUgQ09NUFJFU1NFRF9HUkVFTgkweDAwMGZmMDBmCi0KLSNkZWZpbmUg Q0NTX1VOQ09NUFJFU1NFRAkweDAKLSNkZWZpbmUgQ0NTX0NPTVBSRVNTRUQJCTB4NTUKK3N0YXRp YyBjb25zdCBzdHJ1Y3QgeworCWRvdWJsZSByOworCWRvdWJsZSBnOworCWRvdWJsZSBiOworfSBj b2xvcnNbMl0gPSB7CisJezEuMCwgMC4wLCAwLjB9LAorCXswLjAsIDEuMCwgMC4wfQorfTsKIAog LyoKICAqIExpbWl0IG1heGltdW0gdXNlZCBzcHJpdGUgcGxhbmUgd2lkdGggc28gdGhpcyB0ZXN0 IHdpbGwgbm90IG1pc3Rha2VubHkKQEAgLTE5MiwxMDQgKzE5MywzMiBAQCBzdGF0aWMgYm9vbCBw bGFuZV9oYXNfZm9ybWF0X3dpdGhfY2NzKGRhdGFfdCAqZGF0YSwgaWd0X3BsYW5lX3QgKnBsYW5l LCB1aW50MzJfdAogCXJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIHZvaWQgcmVuZGVyX2ZiKGRh dGFfdCAqZGF0YSwgdWludDMyX3QgZ2VtX2hhbmRsZSwgdW5zaWduZWQgaW50IHNpemUsCi0JCSAg ICAgIGVudW0gdGVzdF9mYl9mbGFncyBmYl9mbGFncywKLQkJICAgICAgaW50IGhlaWdodCwgdW5z aWduZWQgaW50IHN0cmlkZSkKK3N0YXRpYyB2b2lkIGFkZGZiX2luaXQoc3RydWN0IGlndF9mYiAq ZmIsIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICpmKQogewotCXVpbnQzMl90ICpwdHI7Ci0JdW5z aWduZWQgaW50IGhhbGZfaGVpZ2h0LCBoYWxmX3NpemU7Ci0JdWludDMyX3QgdW5jb21wcmVzc2Vk X2NvbG9yID0gZGF0YS0+cGxhbmUgPyBHUkVFTiA6IFJFRDsKLQl1aW50MzJfdCBjb21wcmVzc2Vk X2NvbG9yID0KLQkJZGF0YS0+cGxhbmUgPyBDT01QUkVTU0VEX0dSRUVOIDogQ09NUFJFU1NFRF9S RUQ7Ci0JdWludDMyX3QgYmFkX2NvbG9yID0gUkVEOwogCWludCBpOwogCi0JcHRyID0gZ2VtX21t YXBfX2NwdShkYXRhLT5kcm1fZmQsIGdlbV9oYW5kbGUsIDAsIHNpemUsCi0JCQkgICAgUFJPVF9S RUFEIHwgUFJPVF9XUklURSk7CisJZi0+d2lkdGggPSBmYi0+d2lkdGg7CisJZi0+aGVpZ2h0ID0g ZmItPmhlaWdodDsKKwlmLT5waXhlbF9mb3JtYXQgPSBmYi0+ZHJtX2Zvcm1hdDsKKwlmLT5mbGFn cyA9IExPQ0FMX0RSTV9NT0RFX0ZCX01PRElGSUVSUzsKIAotCWlmIChmYl9mbGFncyAmIEZCX0NP TVBSRVNTRUQpIHsKLQkJLyogSW4gdGhlIGNvbXByZXNzZWQgY2FzZSwgd2Ugd2FudCB0aGUgdG9w IGhhbGYgb2YgdGhlCi0JCSAqIHN1cmZhY2UgdG8gYmUgdW5jb21wcmVzc2VkIGFuZCB0aGUgYm90 dG9tIGhhbGYgdG8gYmUKLQkJICogY29tcHJlc3NlZC4KLQkJICoKLQkJICogV2UgbmVlZCB0byBj dXQgdGhlIHN1cmZhY2Ugb24gYSBDQ1MgY2FjaGUtbGluZSBib3VuZGFyeSwKLQkJICogb3RoZXJ3 aXNlLCB3ZSdyZSBnb2luZyB0byBiZSBpbiB0cm91YmxlIHdoZW4gd2UgdHJ5IHRvCi0JCSAqIGdl bmVyYXRlIENDUyBkYXRhIGZvciB0aGUgc3VyZmFjZS4gIEEgY2FjaGUgbGluZSBpbiB0aGUKLQkJ ICogQ0NTIGlzIDE2eDE2IGNhY2hlLWxpbmUtcGFpcnMgaW4gdGhlIG1haW4gc3VyZmFjZS4gIDE2 Ci0JCSAqIGNhY2hlIGxpbmVzIGlzIDY0IHJvd3MgaGlnaC4KLQkJICovCi0JCWhhbGZfaGVpZ2h0 ID0gQUxJR04oaGVpZ2h0LCAxMjgpIC8gMjsKLQkJaGFsZl9zaXplID0gaGFsZl9oZWlnaHQgKiBz dHJpZGU7Ci0JCWZvciAoaSA9IDA7IGkgPCBzaXplIC8gNDsgaSsrKSB7Ci0JCQlpZiAoaSA8IGhh bGZfc2l6ZSAvIDQpCi0JCQkJcHRyW2ldID0gdW5jb21wcmVzc2VkX2NvbG9yOwotCQkJZWxzZQot CQkJCXB0cltpXSA9IGNvbXByZXNzZWRfY29sb3I7Ci0JCX0KLQl9IGVsc2UgewotCQkvKiBXaGVu IHdlJ3JlIGRpc3BsYXlpbmcgdGhlIHByaW1hcnkgcGxhbmUgdW5kZXJuZWF0aCBhCi0JCSAqIHNw cml0ZSBwbGFuZSwgY3V0IG91dCBhIDEyOCB4IDEyOCBhcmVhIChsZXNzIHRoYW4gdGhlIHNwcml0 ZSkKLQkJICogcGxhbmUgc2l6ZSB3aGljaCB3ZSBwYWludCByZWQsIHNvIHdlIGtub3cgZWFzaWx5 IGlmIGl0J3MKLQkJICogYmFkLgotCQkgKi8KLQkJZm9yIChpID0gMDsgaSA8IHNpemUgLyA0OyBp KyspIHsKLQkJCWlmICgoZmJfZmxhZ3MgJiBGQl9IQVNfUExBTkUpICYmCi0JCQkgICAgKGkgLyAo c3RyaWRlIC8gNCkpIDwgMTI4ICYmCi0JCQkgICAgKGkgJSAoc3RyaWRlIC8gNCkpIDwgMTI4KSB7 Ci0JCQkJcHRyW2ldID0gYmFkX2NvbG9yOwotCQkJfSBlbHNlIHsKLQkJCQlwdHJbaV0gPSB1bmNv bXByZXNzZWRfY29sb3I7Ci0JCQl9Ci0JCX0KKwlmb3IgKGkgPSAwOyBpIDwgZmItPm51bV9wbGFu ZXM7IGkrKykgeworCQlmLT5oYW5kbGVzW2ldID0gZmItPmdlbV9oYW5kbGU7CisJCWYtPm1vZGlm aWVyW2ldID0gZmItPm1vZGlmaWVyOworCQlmLT5waXRjaGVzW2ldID0gZmItPnN0cmlkZXNbaV07 CisJCWYtPm9mZnNldHNbaV0gPSBmYi0+b2Zmc2V0c1tpXTsKIAl9Ci0KLQltdW5tYXAocHRyLCBz aXplKTsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGludAoteV90aWxlX3lfcG9zKHVuc2lnbmVkIGlu dCBvZmZzZXQsIHVuc2lnbmVkIGludCBzdHJpZGUpCi17Ci0JdW5zaWduZWQgaW50IHlfdGlsZXMs IHk7Ci0JeV90aWxlcyA9IChvZmZzZXQgLyA0MDk2KSAvIChzdHJpZGUgLyAxMjgpOwotCXkgPSB5 X3RpbGVzICogMzIgKyAoKG9mZnNldCAmIDB4MWYwKSA+PiA0KTsKLQlyZXR1cm4geTsKLX0KLQot c3RhdGljIHZvaWQgcmVuZGVyX2NjcyhkYXRhX3QgKmRhdGEsIHVpbnQzMl90IGdlbV9oYW5kbGUs Ci0JCSAgICAgICB1aW50MzJfdCBvZmZzZXQsIHVpbnQzMl90IHNpemUsCi0JCSAgICAgICBpbnQg aGVpZ2h0LCB1bnNpZ25lZCBpbnQgY2NzX3N0cmlkZSkKLXsKLQl1bnNpZ25lZCBpbnQgaGFsZl9o ZWlnaHQsIGNjc19oYWxmX2hlaWdodDsKLQl1aW50OF90ICpwdHI7Ci0JaW50IGk7Ci0KLQloYWxm X2hlaWdodCA9IEFMSUdOKGhlaWdodCwgMTI4KSAvIDI7Ci0JY2NzX2hhbGZfaGVpZ2h0ID0gaGFs Zl9oZWlnaHQgLyAxNjsKLQotCXB0ciA9IGdlbV9tbWFwX19jcHUoZGF0YS0+ZHJtX2ZkLCBnZW1f aGFuZGxlLCBvZmZzZXQsIHNpemUsCi0JCQkgICAgUFJPVF9SRUFEIHwgUFJPVF9XUklURSk7Ci0K LQlmb3IgKGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7Ci0JCWlmICh5X3RpbGVfeV9wb3MoaSwgY2Nz X3N0cmlkZSkgPCBjY3NfaGFsZl9oZWlnaHQpCi0JCQlwdHJbaV0gPSBDQ1NfVU5DT01QUkVTU0VE OwotCQllbHNlCi0JCQlwdHJbaV0gPSBDQ1NfQ09NUFJFU1NFRDsKLQl9Ci0KLQltdW5tYXAocHRy LCBzaXplKTsKIH0KIAogc3RhdGljIHZvaWQgZ2VuZXJhdGVfZmIoZGF0YV90ICpkYXRhLCBzdHJ1 Y3QgaWd0X2ZiICpmYiwKIAkJCWludCB3aWR0aCwgaW50IGhlaWdodCwKIAkJCWVudW0gdGVzdF9m Yl9mbGFncyBmYl9mbGFncykKIHsKLQlzdHJ1Y3QgbG9jYWxfZHJtX21vZGVfZmJfY21kMiBmID0g e307Ci0JdW5zaWduZWQgaW50IHNpemVbMl07CisJc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgZiA9 IHswfTsKKwl1aW50MzJfdCBmb3JtYXQ7CiAJdWludDY0X3QgbW9kaWZpZXI7CisJY2Fpcm9fdCAq Y3I7CiAJaW50IHJldDsKLQl1aW50MzJfdCBjY3NfaGFuZGxlOwotCi0JbWVtc2V0KGZiLCAwLCBz aXplb2YoKmZiKSk7CiAKIAkvKiBVc2UgZWl0aGVyIGNvbXByZXNzZWQgb3IgWS10aWxlZCB0byB0 ZXN0LiBIb3dldmVyLCBnaXZlbiB0aGUgbGFjayBvZgogCSAqIGF2YWlsYWJsZSBiYW5kd2lkdGgs IHdlIHVzZSBsaW5lYXIgZm9yIHRoZSBwcmltYXJ5IHBsYW5lIHdoZW4KQEAgLTMwMyw3NCArMjMy LDUyIEBAIHN0YXRpYyB2b2lkIGdlbmVyYXRlX2ZiKGRhdGFfdCAqZGF0YSwgc3RydWN0IGlndF9m YiAqZmIsCiAJZWxzZQogCQltb2RpZmllciA9IDA7CiAKLQlmLmZsYWdzID0gTE9DQUxfRFJNX01P REVfRkJfTU9ESUZJRVJTOwotCWYud2lkdGggPSB3aWR0aDsKLQlmLmhlaWdodCA9IGhlaWdodDsK LQogCWlmIChkYXRhLT5mbGFncyAmIFRFU1RfQkFEX1BJWEVMX0ZPUk1BVCkKLQkJZi5waXhlbF9m b3JtYXQgPSBEUk1fRk9STUFUX1JHQjU2NTsKKwkJZm9ybWF0ID0gRFJNX0ZPUk1BVF9SR0I1NjU7 CiAJZWxzZQotCQlmLnBpeGVsX2Zvcm1hdCA9IERSTV9GT1JNQVRfWFJHQjg4ODg7CisJCWZvcm1h dCA9IERSTV9GT1JNQVRfWFJHQjg4ODg7CiAKLQlmLnBpdGNoZXNbMF0gPSBBTElHTih3aWR0aCAq IDQsIDEyOCk7Ci0JZi5tb2RpZmllclswXSA9IG1vZGlmaWVyOwotCWYub2Zmc2V0c1swXSA9IDA7 Ci0Jc2l6ZVswXSA9IGYucGl0Y2hlc1swXSAqIEFMSUdOKGhlaWdodCwgMzIpOworCWlndF9jcmVh dGVfYm9fZm9yX2ZiKGRhdGEtPmRybV9mZCwgd2lkdGgsIGhlaWdodCwgZm9ybWF0LCBtb2RpZmll ciwgZmIpOworCWlndF9hc3NlcnQoZmItPmdlbV9oYW5kbGUgPiAwKTsKIAotCWlmIChmYl9mbGFn cyAmIEZCX0NPTVBSRVNTRUQpIHsKLQkJLyogRnJvbSB0aGUgU2t5IExha2UgUFJNLCBWb2wgMTIs ICJDb2xvciBDb250cm9sIFN1cmZhY2UiOgotCQkgKgotCQkgKiAgICAiVGhlIGNvbXByZXNzaW9u IHN0YXRlIG9mIHRoZSBjYWNoZS1saW5lIHBhaXIgaXMKLQkJICogICAgc3BlY2lmaWVkIGJ5IDIg Yml0cyBpbiB0aGUgQ0NTLiAgRWFjaCBDQ1MgY2FjaGUtbGluZQotCQkgKiAgICByZXByZXNlbnRz IGFuIGFyZWEgb24gdGhlIG1haW4gc3VyZmFjZSBvZiAxNngxNiBzZXRzCi0JCSAqICAgIG9mIDEy OCBieXRlIFktdGlsZWQgY2FjaGUtbGluZS1wYWlycy4gQ0NTIGlzIGFsd2F5cyBZCi0JCSAqICAg IHRpbGVkLiIKLQkJICoKLQkJICogQSAiY2FjaGUtbGluZS1wYWlyIiBmb3IgYSBZLXRpbGVkIHN1 cmZhY2UgaXMgdHdvCi0JCSAqIGhvcml6b250YWxseSBhZGphY2VudCBjYWNoZSBsaW5lcy4gIFdo ZW4gb3BlcmF0aW5nIGluCi0JCSAqIGJ5dGVzIGFuZCByb3dzLCB0aGlzIGdpdmVzIHVzIGEgc2Nh bGUtZG93biBmYWN0b3Igb2YKLQkJICogMzJ4MTYuICBTaW5jZSB0aGUgbWFpbiBzdXJmYWNlIGhh cyBhIDMyLWJpdCBmb3JtYXQsIHdlCi0JCSAqIG5lZWQgdG8gbXVsdGlwbHkgd2lkdGggYnkgNCB0 byBnZXQgYnl0ZXMuCi0JCSAqLwotCQlpbnQgY2NzX3dpZHRoID0gQUxJR04od2lkdGggKiA0LCAz MikgLyAzMjsKLQkJaW50IGNjc19oZWlnaHQgPSBBTElHTihoZWlnaHQsIDE2KSAvIDE2OwotCQlp bnQgY2NzX3BpdGNoZXMgPSBBTElHTihjY3Nfd2lkdGggKiAxLCAxMjgpOwotCQlpbnQgY2NzX29m ZnNldHMgPSBzaXplWzBdOworCWFkZGZiX2luaXQoZmIsICZmKTsKIAorCWlmIChmYl9mbGFncyAm IEZCX0NPTVBSRVNTRUQpIHsKIAkJaWYgKGZiX2ZsYWdzICYgRkJfTUlTQUxJR05fQVVYX1NUUklE RSkgewogCQkJaWd0X3NraXBfb25fZih3aWR0aCA8PSAxMDI0LAogCQkJCSAgICAgICJGQiBhbHJl YWR5IGhhcyB0aGUgc21hbGxlc3QgcG9zc2libGUgc3RyaWRlXG4iKTsKLQkJCWNjc19waXRjaGVz IC09IDY0OworCQkJZi5waXRjaGVzWzFdIC09IDY0OwogCQl9Ci0JCWVsc2UgaWYgKGZiX2ZsYWdz ICYgRkJfU01BTExfQVVYX1NUUklERSkgeworCisJCWlmIChmYl9mbGFncyAmIEZCX1NNQUxMX0FV WF9TVFJJREUpIHsKIAkJCWlndF9za2lwX29uX2Yod2lkdGggPD0gMTAyNCwKIAkJCQkgICAgICAi RkIgYWxyZWFkeSBoYXMgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHN0cmlkZVxuIik7Ci0JCQljY3Nf cGl0Y2hlcyA9IEFMSUdOKGNjc193aWR0aC8yLCAxMjgpOworCQkJZi5waXRjaGVzWzFdID0gQUxJ R04oZi5waXRjaGVzWzFdLzIsIDEyOCk7CiAJCX0KIAotCQlzaXplWzFdID0gY2NzX3BpdGNoZXMg KiBBTElHTihjY3NfaGVpZ2h0LCAzMik7Ci0KLQkJZi5oYW5kbGVzWzBdID0gZ2VtX2NyZWF0ZShk YXRhLT5kcm1fZmQsIHNpemVbMF0gKyBzaXplWzFdKTsKLQkJaWYgKGRhdGEtPmZsYWdzICYgVEVT VF9CQURfQ0NTX0hBTkRMRSkgewotCQkJLyogUHV0IHRoZSBDQ1MgYnVmZmVyIG9uIGEgZGlmZmVy ZW50IEJPLiAqLwotCQkJY2NzX2hhbmRsZSA9IGdlbV9jcmVhdGUoZGF0YS0+ZHJtX2ZkLCBzaXpl WzBdICsgc2l6ZVsxXSk7Ci0JCX0gZWxzZQotCQkJY2NzX2hhbmRsZSA9IGYuaGFuZGxlc1swXTsK KwkJaWYgKGZiX2ZsYWdzICYgRkJfWkVST19BVVhfU1RSSURFKQorCQkJZi5waXRjaGVzWzFdID0g MDsKIAotCQlpZiAoIShkYXRhLT5mbGFncyAmIFRFU1RfTk9fQVVYX0JVRkZFUikpIHsKLQkJCWYu bW9kaWZpZXJbMV0gPSBtb2RpZmllcjsKLQkJCWYuaGFuZGxlc1sxXSA9IGNjc19oYW5kbGU7Ci0J CQlmLm9mZnNldHNbMV0gPSBjY3Nfb2Zmc2V0czsKLQkJCWYucGl0Y2hlc1sxXSA9IChmYl9mbGFn cyAmIEZCX1pFUk9fQVVYX1NUUklERSk/IDA6Y2NzX3BpdGNoZXM7CisJCS8qIFB1dCB0aGUgQ0NT IGJ1ZmZlciBvbiBhIGRpZmZlcmVudCBCTy4gKi8KKwkJaWYgKGRhdGEtPmZsYWdzICYgVEVTVF9C QURfQ0NTX0hBTkRMRSkKKwkJCWYuaGFuZGxlc1sxXSA9IGdlbV9jcmVhdGUoZGF0YS0+ZHJtX2Zk LCBmYi0+c2l6ZSk7CiAKLQkJCXJlbmRlcl9jY3MoZGF0YSwgZi5oYW5kbGVzWzFdLCBmLm9mZnNl dHNbMV0sIHNpemVbMV0sCi0JCQkJICAgaGVpZ2h0LCBjY3NfcGl0Y2hlcyk7CisJCWlmIChkYXRh LT5mbGFncyAmIFRFU1RfTk9fQVVYX0JVRkZFUikgeworCQkJZi5oYW5kbGVzWzFdID0gMDsKKwkJ CWYubW9kaWZpZXJbMV0gPSAwOworCQkJZi5waXRjaGVzWzFdID0gMDsKKwkJCWYub2Zmc2V0c1sx XSA9IDA7CiAJCX0KLQl9IGVsc2UgewotCQlmLmhhbmRsZXNbMF0gPSBnZW1fY3JlYXRlKGRhdGEt PmRybV9mZCwgc2l6ZVswXSk7CiAJfQogCi0JcmVuZGVyX2ZiKGRhdGEsIGYuaGFuZGxlc1swXSwg c2l6ZVswXSwgZmJfZmxhZ3MsIGhlaWdodCwgZi5waXRjaGVzWzBdKTsKKwlpZiAoIShkYXRhLT5m bGFncyAmIFRFU1RfQkFEX1BJWEVMX0ZPUk1BVCkpIHsKKwkJaW50IGMgPSAhIWRhdGEtPnBsYW5l OworCisJCWNyID0gaWd0X2dldF9jYWlyb19jdHgoZGF0YS0+ZHJtX2ZkLCBmYik7CisJCWlndF9w YWludF9jb2xvcihjciwgMCwgMCwgd2lkdGgsIGhlaWdodCwKKwkJCQljb2xvcnNbY10uciwgY29s b3JzW2NdLmcsIGNvbG9yc1tjXS5iKTsKKwkJaWd0X3B1dF9jYWlyb19jdHgoZGF0YS0+ZHJtX2Zk LCBmYiwgY3IpOworCX0KIAogCXJldCA9IGRybUlvY3RsKGRhdGEtPmRybV9mZCwgTE9DQUxfRFJN X0lPQ1RMX01PREVfQURERkIyLCAmZik7CiAJaWYgKGRhdGEtPmZsYWdzICYgVEVTVF9GQUlMX09O X0FEREZCMikgewpAQCAtMzgxLDE3ICsyODgsNiBAQCBzdGF0aWMgdm9pZCBnZW5lcmF0ZV9mYihk YXRhX3QgKmRhdGEsIHN0cnVjdCBpZ3RfZmIgKmZiLAogCQlpZ3RfYXNzZXJ0X2VxKHJldCwgMCk7 CiAKIAlmYi0+ZmJfaWQgPSBmLmZiX2lkOwotCWZiLT5mZCA9IGRhdGEtPmRybV9mZDsKLQlmYi0+ Z2VtX2hhbmRsZSA9IGYuaGFuZGxlc1swXTsKLQlmYi0+aXNfZHVtYiA9IGZhbHNlOwotCWZiLT5k cm1fZm9ybWF0ID0gZi5waXhlbF9mb3JtYXQ7Ci0JZmItPndpZHRoID0gZi53aWR0aDsKLQlmYi0+ aGVpZ2h0ID0gZi5oZWlnaHQ7Ci0JZmItPnN0cmlkZXNbMF0gPSBmLnBpdGNoZXNbMF07Ci0JZmIt Pm1vZGlmaWVyID0gZi5tb2RpZmllclswXTsKLQlmYi0+c2l6ZSA9IHNpemVbMF07Ci0JZmItPmNh aXJvX3N1cmZhY2UgPSBOVUxMOwotCWZiLT5kb21haW4gPSAwOwogfQogCiBzdGF0aWMgYm9vbCB0 cnlfY29uZmlnKGRhdGFfdCAqZGF0YSwgZW51bSB0ZXN0X2ZiX2ZsYWdzIGZiX2ZsYWdzLAotLSAK Mi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpp Z3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=