From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Deepak Rawat Date: Tue, 16 Oct 2018 15:23:40 -0700 Message-ID: <20181016222341.1537-4-drawat@vmware.com> In-Reply-To: <20181016222341.1537-1-drawat@vmware.com> References: <20181016222341.1537-1-drawat@vmware.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 4/5] tests/kms_atomic: Add a new test case for FB_DAMAGE_CLIPS plane property 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, intel-gfx@lists.freedesktop.org, linux-graphics-maintainer@vmware.com Cc: Deepak Rawat , petri.latvala@intel.com List-ID: U29tZSBzaW1wbGUgdGVzdCBjYXNlcyB0byB1c2UgRkJfREFNQUdFX0NMSVBTIHBsYW5lIHByb3Bl cnR5LgoKU2lnbmVkLW9mZi1ieTogRGVlcGFrIFJhd2F0IDxkcmF3YXRAdm13YXJlLmNvbT4KLS0t CiBsaWIvaWd0X2ttcy5jICAgICAgfCAgIDEgKwogbGliL2lndF9rbXMuaCAgICAgIHwgICAxICsK IHRlc3RzL2ttc19hdG9taWMuYyB8IDI2MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMjYyIGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS9saWIvaWd0X2ttcy5jIGIvbGliL2lndF9rbXMuYwppbmRleCA2ZTQ5OWY0OC4uN2Ez Y2UyZjYgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3Rfa21zLmMKKysrIGIvbGliL2lndF9rbXMuYwpAQCAt MTc3LDYgKzE3Nyw3IEBAIGNvbnN0IGNoYXIgKiBjb25zdCBpZ3RfcGxhbmVfcHJvcF9uYW1lc1tJ R1RfTlVNX1BMQU5FX1BST1BTXSA9IHsKIAlbSUdUX1BMQU5FX0NPTE9SX1JBTkdFXSA9ICJDT0xP Ul9SQU5HRSIsCiAJW0lHVF9QTEFORV9QSVhFTF9CTEVORF9NT0RFXSA9ICJwaXhlbCBibGVuZCBt b2RlIiwKIAlbSUdUX1BMQU5FX0FMUEhBXSA9ICJhbHBoYSIsCisJW0lHVF9QTEFORV9GQl9EQU1B R0VfQ0xJUFNdID0gIkZCX0RBTUFHRV9DTElQUyIsCiB9OwogCiBjb25zdCBjaGFyICogY29uc3Qg aWd0X2NydGNfcHJvcF9uYW1lc1tJR1RfTlVNX0NSVENfUFJPUFNdID0gewpkaWZmIC0tZ2l0IGEv bGliL2lndF9rbXMuaCBiL2xpYi9pZ3Rfa21zLmgKaW5kZXggY2JmY2NlZDkuLmUxYzlhNmE1IDEw MDY0NAotLS0gYS9saWIvaWd0X2ttcy5oCisrKyBiL2xpYi9pZ3Rfa21zLmgKQEAgLTI2OSw2ICsy NjksNyBAQCBlbnVtIGlndF9hdG9taWNfcGxhbmVfcHJvcGVydGllcyB7CiAgICAgICAgSUdUX1BM QU5FX0NPTE9SX1JBTkdFLAogICAgICAgIElHVF9QTEFORV9QSVhFTF9CTEVORF9NT0RFLAogICAg ICAgIElHVF9QTEFORV9BTFBIQSwKKyAgICAgICBJR1RfUExBTkVfRkJfREFNQUdFX0NMSVBTLAog ICAgICAgIElHVF9OVU1fUExBTkVfUFJPUFMKIH07CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19h dG9taWMuYyBiL3Rlc3RzL2ttc19hdG9taWMuYwppbmRleCAzYWFkMmQ5YS4uMjBkZmM5NzggMTAw NjQ0Ci0tLSBhL3Rlc3RzL2ttc19hdG9taWMuYworKysgYi90ZXN0cy9rbXNfYXRvbWljLmMKQEAg LTU2LDYgKzU2LDI0IEBACiAKIElHVF9URVNUX0RFU0NSSVBUSU9OKCJUZXN0IGF0b21pYyBtb2Rl c2V0dGluZyBBUEkiKTsKIAorLyogc2lnbmVkMzIgZHJtX21vZGVfcmVjdCBkZWNsYXJlZCBoZXJl IGZvciB1c2Ugd2l0aCBkcm0gZGFtYWdlIGZvciBwYWdlLWZsaXAgKi8KK3N0cnVjdCBkYW1hZ2Vf cmVjdCB7CisJaW50IHgxOworCWludCB5MTsKKwlpbnQgeDI7CisJaW50IHkyOworfTsKKworc3Rh dGljIGlubGluZSBpbnQgZGFtYWdlX3JlY3Rfd2lkdGgoc3RydWN0IGRhbWFnZV9yZWN0ICpyKQor eworCXJldHVybiByLT54MiAtIHItPngxOworfQorCitzdGF0aWMgaW5saW5lIGludCBkYW1hZ2Vf cmVjdF9oZWlnaHQoc3RydWN0IGRhbWFnZV9yZWN0ICpyKQoreworCXJldHVybiByLT55MiAtIHIt PnkxOworfQorCiBlbnVtIGttc19hdG9taWNfY2hlY2tfcmVsYXggewogCUFUT01JQ19SRUxBWF9O T05FID0gMCwKIAlDUlRDX1JFTEFYX01PREUgPSAoMSA8PCAwKSwKQEAgLTgzNSw2ICs4NTMsMjQw IEBAIHN0YXRpYyB2b2lkIGF0b21pY19pbnZhbGlkX3BhcmFtcyhpZ3RfcGlwZV90ICpwaXBlLAog CWRvX2lvY3RsX2VycihkaXNwbGF5LT5kcm1fZmQsIERSTV9JT0NUTF9NT0RFX0FUT01JQywgJmlv YywgRUZBVUxUKTsKIH0KIAorc3RhdGljIHZvaWQgYXRvbWljX3BsYW5lX2RhbWFnZShpZ3RfcGlw ZV90ICpwaXBlLCBpZ3RfcGxhbmVfdCAqcGxhbmUsIHN0cnVjdCBpZ3RfZmIgKmZiKQoreworCXN0 cnVjdCBkYW1hZ2VfcmVjdCAqZGFtYWdlOworCXN0cnVjdCBpZ3RfZmIgZmJfMTsKKwlzdHJ1Y3Qg aWd0X2ZiIGZiXzI7CisJY2Fpcm9fdCAqY3JfMTsKKwljYWlyb190ICpjcl8yOworCisJZGFtYWdl ID0gbWFsbG9jKHNpemVvZigqZGFtYWdlKSAqIDIpOworCWlndF9hc3NlcnQoZGFtYWdlKTsKKwor CS8qIENvbG9yIGZiIHdpdGggd2hpdGUgcmVjdCBhdCBjZW50ZXIgKi8KKwlpZ3RfY3JlYXRlX2Nv bG9yX2ZiKHBpcGUtPmRpc3BsYXktPmRybV9mZCwgZmItPndpZHRoLCBmYi0+aGVpZ2h0LAorCQkJ ICAgIGZiLT5kcm1fZm9ybWF0LCBJOTE1X1RJTElOR19OT05FLCAwLjIsIDAuMiwgMC4yLAorCQkJ ICAgICZmYl8xKTsKKwljcl8xID0gaWd0X2dldF9jYWlyb19jdHgocGlwZS0+ZGlzcGxheS0+ZHJt X2ZkLCAmZmJfMSk7CisJaWd0X3BhaW50X2NvbG9yKGNyXzEsIGZiLT53aWR0aC80LCBmYi0+aGVp Z2h0LzQsIGZiLT53aWR0aC8yLAorCQkJZmItPmhlaWdodC8yLCAxLjAsIDEuMCwgMS4wKTsKKwlp Z3RfcHV0X2NhaXJvX2N0eChwaXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8xLCBjcl8xKTsKKwor CS8qCisJICogRmxpcCB0aGUgcHJpbWFyeSBwbGFuZSB0byBuZXcgY29sb3IgZmIgdXNpbmcgYXRv bWljIEFQSSBhbmQgY2hlY2sgdGhlCisJICogc3RhdGUuCisJICovCisJaWd0X3BsYW5lX3NldF9m YihwbGFuZSwgJmZiXzEpOworCWNydGNfY29tbWl0KHBpcGUsIHBsYW5lLCBDT01NSVRfQVRPTUlD LCBBVE9NSUNfUkVMQVhfTk9ORSk7CisKKwkvKgorCSAqIENoYW5nZSB0aGUgY29sb3Igb2YgdG9w IGxlZnQgY2xpcCBmcm9tIGNlbnRlciBhbmQgaXNzdWUgcGxhbmUgdXBkYXRlCisJICogd2l0aCBk YW1hZ2UgYW5kIHZlcmlmeSB0aGUgc3RhdGUuCisJICovCisJZGFtYWdlWzBdLngxID0gMDsKKwlk YW1hZ2VbMF0ueTEgPSAwOworCWRhbWFnZVswXS54MiA9IGZiLT53aWR0aC8yOworCWRhbWFnZVsw XS55MiA9IGZiLT5oZWlnaHQvMjsKKworCWNyXzEgPSBpZ3RfZ2V0X2NhaXJvX2N0eChwaXBlLT5k aXNwbGF5LT5kcm1fZmQsICZmYl8xKTsKKwlpZ3RfcGFpbnRfY29sb3IoY3JfMSwgZGFtYWdlWzBd LngxLCBkYW1hZ2VbMF0ueTEsCisJCQlkYW1hZ2VfcmVjdF93aWR0aCgmZGFtYWdlWzBdKSwKKwkJ CWRhbWFnZV9yZWN0X2hlaWdodCgmZGFtYWdlWzBdKSwgMS4wLCAwLCAwKTsKKwlpZ3RfcHV0X2Nh aXJvX2N0eChwaXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8xLCBjcl8xKTsKKworCWlndF9wbGFu ZV9zZXRfZmIocGxhbmUsICZmYl8xKTsKKwlpZ3RfcGxhbmVfcmVwbGFjZV9wcm9wX2Jsb2IocGxh bmUsIElHVF9QTEFORV9GQl9EQU1BR0VfQ0xJUFMsIGRhbWFnZSwKKwkJCQkgICAgc2l6ZW9mKCpk YW1hZ2UpKTsKKwljcnRjX2NvbW1pdChwaXBlLCBwbGFuZSwgQ09NTUlUX0FUT01JQywgQVRPTUlD X1JFTEFYX05PTkUpOworCisJLyoKKwkgKiBDaGFuZ2UgdGhlIGNvbG9yIG9mIHRvcCBsZWZ0IGFu ZCBib3R0b20gcmlnaHQgY2xpcCBmcm9tIGNlbnRlciBhbmQKKwkgKiBpc3N1ZSBwbGFuZSB1cGRh dGUgd2l0aCBkYW1hZ2UgYW5kIHZlcmlmeSB0aGUgc3RhdGUuCisJICovCisJZGFtYWdlWzBdLngx ID0gMDsKKwlkYW1hZ2VbMF0ueTEgPSAwOworCWRhbWFnZVswXS54MiA9IGZiLT53aWR0aC8yOwor CWRhbWFnZVswXS55MiA9IGZiLT5oZWlnaHQvMjsKKworCWRhbWFnZVsxXS54MSA9IGZiLT53aWR0 aC8yOworCWRhbWFnZVsxXS55MSA9IGZiLT5oZWlnaHQvMjsKKwlkYW1hZ2VbMV0ueDIgPSBmYi0+ d2lkdGg7CisJZGFtYWdlWzFdLnkyID0gZmItPmhlaWdodDsKKworCWNyXzEgPSBpZ3RfZ2V0X2Nh aXJvX2N0eChwaXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8xKTsKKwlpZ3RfcGFpbnRfY29sb3Io Y3JfMSwgZGFtYWdlWzBdLngxLCBkYW1hZ2VbMF0ueTEsCisJCQlkYW1hZ2VfcmVjdF93aWR0aCgm ZGFtYWdlWzBdKSwKKwkJCWRhbWFnZV9yZWN0X2hlaWdodCgmZGFtYWdlWzBdKSwgMS4wLCAwLCAx LjApOworCWlndF9wYWludF9jb2xvcihjcl8xLCBkYW1hZ2VbMV0ueDEsIGRhbWFnZVsxXS55MSwK KwkJCWRhbWFnZV9yZWN0X3dpZHRoKCZkYW1hZ2VbMV0pLAorCQkJZGFtYWdlX3JlY3RfaGVpZ2h0 KCZkYW1hZ2VbMV0pLCAwLCAwLCAxLjApOworCWlndF9wdXRfY2Fpcm9fY3R4KHBpcGUtPmRpc3Bs YXktPmRybV9mZCwgJmZiXzEsIGNyXzEpOworCisJaWd0X3BsYW5lX3NldF9mYihwbGFuZSwgJmZi XzEpOworCWlndF9wbGFuZV9yZXBsYWNlX3Byb3BfYmxvYihwbGFuZSwgSUdUX1BMQU5FX0ZCX0RB TUFHRV9DTElQUywgZGFtYWdlLAorCQkJCSAgICBzaXplb2YoKmRhbWFnZSkgKiAyKTsKKwljcnRj X2NvbW1pdChwaXBlLCBwbGFuZSwgQ09NTUlUX0FUT01JQywgQVRPTUlDX1JFTEFYX05PTkUpOwor CisJLyoKKwkgKiBJc3N1ZSBhIHBsYW5lIHVwZGF0ZSB3aXRoIGRhbWFnZSBvbiBhIHNlcGVyYXRl IGZiIHdpdGggZGFtYWdlIHRvCisJICogdXBwZXIgcmlnaHQgY2xpcCBmcm9tIGNlbnRlci4KKwkg Ki8KKwlpZ3RfY3JlYXRlX2NvbG9yX2ZiKHBpcGUtPmRpc3BsYXktPmRybV9mZCwgZmItPndpZHRo LCBmYi0+aGVpZ2h0LAorCQkJICAgIGZiLT5kcm1fZm9ybWF0LCBJOTE1X1RJTElOR19OT05FLCAw LjIsIDAuMiwgMC4yLAorCQkJICAgICZmYl8yKTsKKworCWRhbWFnZVswXS54MSA9IGZiLT53aWR0 aC8yOworCWRhbWFnZVswXS55MSA9IDA7CisJZGFtYWdlWzBdLngyID0gZmItPndpZHRoOworCWRh bWFnZVswXS55MiA9IGZiLT5oZWlnaHQvMjsKKworCWNyXzIgPSBpZ3RfZ2V0X2NhaXJvX2N0eChw aXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8yKTsKKwljcl8xID0gaWd0X2dldF9jYWlyb19jdHgo cGlwZS0+ZGlzcGxheS0+ZHJtX2ZkLCAmZmJfMSk7CisJY2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNl KGNyXzIsIGZiXzEuY2Fpcm9fc3VyZmFjZSwgMCwgMCk7CisJY2Fpcm9fcGFpbnQoY3JfMik7CisJ aWd0X3BhaW50X2NvbG9yKGNyXzIsIGRhbWFnZVswXS54MSwgZGFtYWdlWzBdLnkxLAorCQkJZGFt YWdlX3JlY3Rfd2lkdGgoJmRhbWFnZVswXSksCisJCQlkYW1hZ2VfcmVjdF9oZWlnaHQoJmRhbWFn ZVswXSksIDAsIDEuMCwgMCk7CisJaWd0X3B1dF9jYWlyb19jdHgocGlwZS0+ZGlzcGxheS0+ZHJt X2ZkLCAmZmJfMSwgY3JfMSk7CisJaWd0X3B1dF9jYWlyb19jdHgocGlwZS0+ZGlzcGxheS0+ZHJt X2ZkLCAmZmJfMiwgY3JfMik7CisJaWd0X3BsYW5lX3NldF9mYihwbGFuZSwgJmZiXzIpOworCWln dF9wbGFuZV9yZXBsYWNlX3Byb3BfYmxvYihwbGFuZSwgSUdUX1BMQU5FX0ZCX0RBTUFHRV9DTElQ UywgZGFtYWdlLAorCQkJCSAgICBzaXplb2YoKmRhbWFnZSkpOworCWNydGNfY29tbWl0KHBpcGUs IHBsYW5lLCBDT01NSVRfQVRPTUlDLCBBVE9NSUNfUkVMQVhfTk9ORSk7CisKKwkvKgorCSAqIElz c3VlIHBsYW5lIHVwZGF0ZSB3aXRoIGRhbWFnZSB3aXRoIGEgY2xpcCBvdXRzaWRlIG9mIHBsYW5l IHNyYy4KKwkgKiBOT1RFOiBUaGlzIHdpbGwgcmVzdWx0IGluIG5vIHVwZGF0ZSBvbiBwbGFuZSBh cyBkYW1hZ2UgaXMgb3V0c2lkZSwgc28KKwkgKiB3aWxsIHNlZSBubyBjaGFuZ2Ugb24gdGhlIHNj cmVlbi4KKwkgKi8KKwkvKiBSZXN6aWUgZmJfMSB0byBiZSBiaWdnZXIgdGhhbiBwbGFuZSAqLwor CWlndF9yZW1vdmVfZmIocGlwZS0+ZGlzcGxheS0+ZHJtX2ZkLCAmZmJfMSk7CisJaWd0X2NyZWF0 ZV9jb2xvcl9mYihwaXBlLT5kaXNwbGF5LT5kcm1fZmQsIGZiLT53aWR0aCAqIDIsIGZiLT5oZWln aHQsCisJCQkgICAgZmItPmRybV9mb3JtYXQsIEk5MTVfVElMSU5HX05PTkUsIDAuMiwgMC4yLCAw LjIsCisJCQkgICAgJmZiXzEpOworCisJZGFtYWdlWzBdLngxID0gZmItPndpZHRoOworCWRhbWFn ZVswXS55MSA9IDA7CisJZGFtYWdlWzBdLngyID0gZmItPndpZHRoICsgZmItPndpZHRoLzI7CisJ ZGFtYWdlWzBdLnkyID0gZmItPmhlaWdodC8yOworCisJY3JfMSA9IGlndF9nZXRfY2Fpcm9fY3R4 KHBpcGUtPmRpc3BsYXktPmRybV9mZCwgJmZiXzEpOworCWNyXzIgPSBpZ3RfZ2V0X2NhaXJvX2N0 eChwaXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8yKTsKKwljYWlyb19zZXRfc291cmNlX3N1cmZh Y2UoY3JfMSwgZmJfMi5jYWlyb19zdXJmYWNlLCAwLCAwKTsKKwljYWlyb19wYWludChjcl8xKTsK KwlpZ3RfcGFpbnRfY29sb3IoY3JfMSwgZGFtYWdlWzBdLngxLCBkYW1hZ2VbMF0ueTEsCisJCQlk YW1hZ2VfcmVjdF93aWR0aCgmZGFtYWdlWzBdKSwKKwkJCWRhbWFnZV9yZWN0X2hlaWdodCgmZGFt YWdlWzBdKSwgMCwgMS4wLCAwKTsKKwlpZ3RfcHV0X2NhaXJvX2N0eChwaXBlLT5kaXNwbGF5LT5k cm1fZmQsICZmYl8yLCBjcl8yKTsKKwlpZ3RfcHV0X2NhaXJvX2N0eChwaXBlLT5kaXNwbGF5LT5k cm1fZmQsICZmYl8xLCBjcl8xKTsKKwlpZ3RfcGxhbmVfc2V0X2ZiKHBsYW5lLCAmZmJfMSk7CisJ aWd0X3BsYW5lX3NldF9zaXplKHBsYW5lLCBmYi0+d2lkdGgsIGZiLT5oZWlnaHQpOworCWlndF9m Yl9zZXRfcG9zaXRpb24oJmZiXzEsIHBsYW5lLCAwLCAwKTsKKwlpZ3RfZmJfc2V0X3NpemUoJmZi XzEsIHBsYW5lLCBmYi0+d2lkdGgsIGZiLT5oZWlnaHQpOworCWlndF9wbGFuZV9yZXBsYWNlX3By b3BfYmxvYihwbGFuZSwgSUdUX1BMQU5FX0ZCX0RBTUFHRV9DTElQUywgZGFtYWdlLAorCQkJCSAg ICBzaXplb2YoKmRhbWFnZSkpOworCWNydGNfY29tbWl0KHBpcGUsIHBsYW5lLCBDT01NSVRfQVRP TUlDLCBBVE9NSUNfUkVMQVhfTk9ORSk7CisKKwkvKgorCSAqIElzc3VlIGEgcGxhbmUgdXBkYXRl IHdpdGggZGFtYWdlIHdpdGggYSBjbGlwIHRoYXQgb3ZlcmxhcCB3aXRoIHBsYW5lCisJICogc3Jj IChUb3AgcmlnaHQgZnJvbSBjZW50ZXIgZXh0ZW5kaW5nIG91dHNpZGUgc3JjIGluIGJlbG93IGNh c2UpLgorCSAqIE5PVEU6IEhlcmUgZHJtIGNvcmUgc2hvdWxkIHRha2UgY2FyZSBvZiBpbnRlcnNl Y3RpbmcgdGhlIGNsaXAgdG8KKwkgKiBwbGFuZSBzcmMuCisJICovCisJZGFtYWdlWzBdLngxID0g ZmItPndpZHRoLzI7CisJZGFtYWdlWzBdLnkxID0gMDsKKwlkYW1hZ2VbMF0ueDIgPSBmYi0+d2lk dGgvMiArIGZiLT53aWR0aDsKKwlkYW1hZ2VbMF0ueTIgPSBmYi0+aGVpZ2h0LzI7CisKKwljcl8x ID0gaWd0X2dldF9jYWlyb19jdHgocGlwZS0+ZGlzcGxheS0+ZHJtX2ZkLCAmZmJfMSk7CisJaWd0 X3BhaW50X2NvbG9yKGNyXzEsIGRhbWFnZVswXS54MSwgZGFtYWdlWzBdLnkxLAorCQkJZGFtYWdl X3JlY3Rfd2lkdGgoJmRhbWFnZVswXSksCisJCQlkYW1hZ2VfcmVjdF9oZWlnaHQoJmRhbWFnZVsw XSksIDEuMCwgMS4wLCAwKTsKKwlpZ3RfcHV0X2NhaXJvX2N0eChwaXBlLT5kaXNwbGF5LT5kcm1f ZmQsICZmYl8xLCBjcl8xKTsKKwlpZ3RfcGxhbmVfc2V0X2ZiKHBsYW5lLCAmZmJfMSk7CisJaWd0 X3BsYW5lX3NldF9zaXplKHBsYW5lLCBmYi0+d2lkdGgsIGZiLT5oZWlnaHQpOworCWlndF9mYl9z ZXRfcG9zaXRpb24oJmZiXzEsIHBsYW5lLCAwLCAwKTsKKwlpZ3RfZmJfc2V0X3NpemUoJmZiXzEs IHBsYW5lLCBmYi0+d2lkdGgsIGZiLT5oZWlnaHQpOworCWlndF9wbGFuZV9yZXBsYWNlX3Byb3Bf YmxvYihwbGFuZSwgSUdUX1BMQU5FX0ZCX0RBTUFHRV9DTElQUywgZGFtYWdlLAorCQkJCSAgICBz aXplb2YoKmRhbWFnZSkpOworCWNydGNfY29tbWl0KHBpcGUsIHBsYW5lLCBDT01NSVRfQVRPTUlD LCBBVE9NSUNfUkVMQVhfTk9ORSk7CisKKwkvKgorCSAqIElzc3VlIGEgcGxhbmUgdXBkYXRlIHdp dGggZGFtYWdlIHdpdGggdHdvIGNsaXBzIG9uZSBpbnNpZGUgcGxhbmUgc3JjCisJICogYW5kIG9u ZSBvdXRzaWRlCisJICogTk9URTogVGhpcyB3aWxsIHJlc3VsdCBpbiBwbGFuZSB1cGRhdGUgd2l0 aCBjbGlwIGluc2lkZSBwbGFuZSBzcmMuCisJICovCisJZGFtYWdlWzBdLngxID0gMDsKKwlkYW1h Z2VbMF0ueTEgPSBmYi0+aGVpZ2h0LzI7CisJZGFtYWdlWzBdLngyID0gZmItPndpZHRoLzI7CisJ ZGFtYWdlWzBdLnkyID0gZmItPmhlaWdodDsKKworCWRhbWFnZVsxXS54MSA9IGZiLT53aWR0aCAr IGZiLT53aWR0aC8yOworCWRhbWFnZVsxXS55MSA9IGZiLT5oZWlnaHQvMjsKKwlkYW1hZ2VbMV0u eDIgPSBmYi0+d2lkdGggKiAyOworCWRhbWFnZVsxXS55MiA9IGZiLT5oZWlnaHQ7CisKKwljcl8x ID0gaWd0X2dldF9jYWlyb19jdHgocGlwZS0+ZGlzcGxheS0+ZHJtX2ZkLCAmZmJfMSk7CisJaWd0 X3BhaW50X2NvbG9yKGNyXzEsIGRhbWFnZVswXS54MSwgZGFtYWdlWzBdLnkxLAorCQkJZGFtYWdl X3JlY3Rfd2lkdGgoJmRhbWFnZVswXSksCisJCQlkYW1hZ2VfcmVjdF9oZWlnaHQoJmRhbWFnZVsw XSksIDAsIDEuMCwgMS4wKTsKKwlpZ3RfcGFpbnRfY29sb3IoY3JfMSwgZGFtYWdlWzFdLngxLCBk YW1hZ2VbMV0ueTEsCisJCQlkYW1hZ2VfcmVjdF93aWR0aCgmZGFtYWdlWzFdKSwKKwkJCWRhbWFn ZV9yZWN0X2hlaWdodCgmZGFtYWdlWzFdKSwgMCwgMS4wLCAwKTsKKwlpZ3RfcHV0X2NhaXJvX2N0 eChwaXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8xLCBjcl8xKTsKKwlpZ3RfcGxhbmVfc2V0X2Zi KHBsYW5lLCAmZmJfMSk7CisJaWd0X3BsYW5lX3NldF9zaXplKHBsYW5lLCBmYi0+d2lkdGgsIGZi LT5oZWlnaHQpOworCWlndF9mYl9zZXRfcG9zaXRpb24oJmZiXzEsIHBsYW5lLCAwLCAwKTsKKwlp Z3RfZmJfc2V0X3NpemUoJmZiXzEsIHBsYW5lLCBmYi0+d2lkdGgsIGZiLT5oZWlnaHQpOworCWln dF9wbGFuZV9yZXBsYWNlX3Byb3BfYmxvYihwbGFuZSwgSUdUX1BMQU5FX0ZCX0RBTUFHRV9DTElQ UywgZGFtYWdlLAorCQkJCSAgICBzaXplb2YoKmRhbWFnZSkgKiAyKTsKKwljcnRjX2NvbW1pdChw aXBlLCBwbGFuZSwgQ09NTUlUX0FUT01JQywgQVRPTUlDX1JFTEFYX05PTkUpOworCisJLyoKKwkg KiBJc3N1ZSBhIHBsYW5lIHVwZGF0ZSB3aXRoIG92ZXJsYXBwaW5nIGRhbWFnZSBjbGlwcy4gV2hp dGUgcmVjdCBpbgorCSAqIGNlbnRlciBvdmVybGFwIHBhcnRpYWxseSB3aXRoIHRvcCBsZWZ0IHJl ZCByZWN0LgorCSAqIE5PVEU6IERybSBjb3JlIGRvZXMgbm90IGVycm9yIGZvciBvdmVybGFwcGlu ZyBkYW1hZ2UgY2xpcHMgc28gaWYgYW55CisJICogZHJpdmVyIGRvZXMgbm90IHN1cHBvcnQgb3Zl cmxhcHBpbmcgc2hvdWxkIGhhdmUgdGhlaXIgb3duCisJICogdmFsaWRhdGlvbnMuCisJICovCisJ ZGFtYWdlWzBdLngxID0gMDsKKwlkYW1hZ2VbMF0ueTEgPSAwOworCWRhbWFnZVswXS54MiA9IGZi LT53aWR0aC8yOworCWRhbWFnZVswXS55MiA9IGZiLT5oZWlnaHQvMjsKKworCWRhbWFnZVsxXS54 MSA9IGZiLT53aWR0aC80OworCWRhbWFnZVsxXS55MSA9IGZiLT5oZWlnaHQvNDsKKwlkYW1hZ2Vb MV0ueDIgPSBmYi0+d2lkdGgvNCArIGZiLT53aWR0aC8yOworCWRhbWFnZVsxXS55MiA9IGZiLT5o ZWlnaHQvNCArIGZiLT5oZWlnaHQvMjsKKworCWNyXzEgPSBpZ3RfZ2V0X2NhaXJvX2N0eChwaXBl LT5kaXNwbGF5LT5kcm1fZmQsICZmYl8xKTsKKwlpZ3RfcGFpbnRfY29sb3IoY3JfMSwgZGFtYWdl WzBdLngxLCBkYW1hZ2VbMF0ueTEsCisJCQlkYW1hZ2VfcmVjdF93aWR0aCgmZGFtYWdlWzBdKSwK KwkJCWRhbWFnZV9yZWN0X2hlaWdodCgmZGFtYWdlWzBdKSwgMS4wLCAwLCAwKTsKKwlpZ3RfcGFp bnRfY29sb3IoY3JfMSwgZGFtYWdlWzFdLngxLCBkYW1hZ2VbMV0ueTEsCisJCQlkYW1hZ2VfcmVj dF93aWR0aCgmZGFtYWdlWzFdKSwKKwkJCWRhbWFnZV9yZWN0X2hlaWdodCgmZGFtYWdlWzFdKSwg MS4wLCAxLjAsIDEuMCk7CisJaWd0X3B1dF9jYWlyb19jdHgocGlwZS0+ZGlzcGxheS0+ZHJtX2Zk LCAmZmJfMSwgY3JfMSk7CisJaWd0X3BsYW5lX3NldF9mYihwbGFuZSwgJmZiXzEpOworCWlndF9w bGFuZV9zZXRfc2l6ZShwbGFuZSwgZmItPndpZHRoLCBmYi0+aGVpZ2h0KTsKKwlpZ3RfZmJfc2V0 X3Bvc2l0aW9uKCZmYl8xLCBwbGFuZSwgMCwgMCk7CisJaWd0X2ZiX3NldF9zaXplKCZmYl8xLCBw bGFuZSwgZmItPndpZHRoLCBmYi0+aGVpZ2h0KTsKKwlpZ3RfcGxhbmVfcmVwbGFjZV9wcm9wX2Js b2IocGxhbmUsIElHVF9QTEFORV9GQl9EQU1BR0VfQ0xJUFMsIGRhbWFnZSwKKwkJCQkgICAgc2l6 ZW9mKCpkYW1hZ2UpICogMik7CisJY3J0Y19jb21taXQocGlwZSwgcGxhbmUsIENPTU1JVF9BVE9N SUMsIEFUT01JQ19SRUxBWF9OT05FKTsKKworCS8qIFJlc3RvcmUgdGhlIHByaW1hcnkgcGxhbmUg Ki8KKwlpZ3RfcGxhbmVfc2V0X2ZiKHBsYW5lLCBmYik7CisJcGxhbmVfY29tbWl0KHBsYW5lLCBD T01NSVRfQVRPTUlDLCBBVE9NSUNfUkVMQVhfTk9ORSk7CisKKwkvKiBSZW1vdmUgdGhlIGZiIGNy ZWF0ZWQgZm9yIHRoaXMgdGVzdCAqLworCWlndF9yZW1vdmVfZmIocGlwZS0+ZGlzcGxheS0+ZHJt X2ZkLCAmZmJfMSk7CisJaWd0X3JlbW92ZV9mYihwaXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8y KTsKKworCWZyZWUoZGFtYWdlKTsKK30KKwogc3RhdGljIHZvaWQgYXRvbWljX3NldHVwKGlndF9k aXNwbGF5X3QgKmRpc3BsYXksIGVudW0gcGlwZSBwaXBlLCBpZ3Rfb3V0cHV0X3QgKm91dHB1dCwg aWd0X3BsYW5lX3QgKnByaW1hcnksIHN0cnVjdCBpZ3RfZmIgKmZiKQogewogCWlndF9vdXRwdXRf c2V0X3BpcGUob3V0cHV0LCBwaXBlKTsKQEAgLTk1MCw2ICsxMjAyLDE0IEBAIGlndF9tYWluCiAJ CWF0b21pY19pbnZhbGlkX3BhcmFtcyhwaXBlX29iaiwgcHJpbWFyeSwgb3V0cHV0LCAmZmIpOwog CX0KIAorCWlndF9zdWJ0ZXN0KCJhdG9taWNfcGxhbmVfZGFtYWdlIikgeworCQlpZ3RfcmVxdWly ZShpZ3RfcGxhbmVfaGFzX3Byb3AocHJpbWFyeSwgSUdUX1BMQU5FX0ZCX0RBTUFHRV9DTElQUykp OworCisJCWF0b21pY19zZXR1cCgmZGlzcGxheSwgcGlwZSwgb3V0cHV0LCBwcmltYXJ5LCAmZmIp OworCisJCWF0b21pY19wbGFuZV9kYW1hZ2UocGlwZV9vYmosIHByaW1hcnksICZmYik7CisJfQor CiAJaWd0X2ZpeHR1cmUgewogCQlhdG9taWNfY2xlYXIoJmRpc3BsYXksIHBpcGUsIHByaW1hcnks IG91dHB1dCk7CiAJCWlndF9yZW1vdmVfZmIoZGlzcGxheS5kcm1fZmQsICZmYik7Ci0tIAoyLjE3 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1k ZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=