From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Deepak Rawat Date: Wed, 10 Oct 2018 17:21:03 -0700 Message-ID: <20181011002104.1845-5-drawat@vmware.com> In-Reply-To: <20181011002104.1845-1-drawat@vmware.com> References: <20181011002104.1845-1-drawat@vmware.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH i-g-t 5/6] 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: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, linux-graphics-maintainer@vmware.com, thellstrom@vmware.com, syeh@vmware.com Cc: Daniel Vetter , Pekka Paalanen , Deepak Rawat List-ID: U29tZSBzaW1wbGUgdGVzdCBjYXNlcyB0byB1c2UgRkJfREFNQUdFX0NMSVBTIHBsYW5lIHByb3Bl cnR5LgoKQ2M6IHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tCkNjOiBEYW5pZWwgVmV0dGVy IDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpDYzogUGVra2EgUGFhbGFuZW4gPHBwYWFsYW5lbkBn bWFpbC5jb20+CkNjOiBEYW5pZWwgU3RvbmUgPGRhbmllbEBmb29pc2hiYXIub3JnPgpTaWduZWQt b2ZmLWJ5OiBEZWVwYWsgUmF3YXQgPGRyYXdhdEB2bXdhcmUuY29tPgotLS0KIGxpYi9pZ3Rfa21z LmMgICAgICB8ICAgMSArCiBsaWIvaWd0X2ttcy5oICAgICAgfCAgIDEgKwogdGVzdHMva21zX2F0 b21pYy5jIHwgMjYwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogMyBmaWxlcyBjaGFuZ2VkLCAyNjIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYi9p Z3Rfa21zLmMgYi9saWIvaWd0X2ttcy5jCmluZGV4IDZlNDk5ZjQ4Li43YTNjZTJmNiAxMDA2NDQK LS0tIGEvbGliL2lndF9rbXMuYworKysgYi9saWIvaWd0X2ttcy5jCkBAIC0xNzcsNiArMTc3LDcg QEAgY29uc3QgY2hhciAqIGNvbnN0IGlndF9wbGFuZV9wcm9wX25hbWVzW0lHVF9OVU1fUExBTkVf UFJPUFNdID0gewogCVtJR1RfUExBTkVfQ09MT1JfUkFOR0VdID0gIkNPTE9SX1JBTkdFIiwKIAlb SUdUX1BMQU5FX1BJWEVMX0JMRU5EX01PREVdID0gInBpeGVsIGJsZW5kIG1vZGUiLAogCVtJR1Rf UExBTkVfQUxQSEFdID0gImFscGhhIiwKKwlbSUdUX1BMQU5FX0ZCX0RBTUFHRV9DTElQU10gPSAi RkJfREFNQUdFX0NMSVBTIiwKIH07CiAKIGNvbnN0IGNoYXIgKiBjb25zdCBpZ3RfY3J0Y19wcm9w X25hbWVzW0lHVF9OVU1fQ1JUQ19QUk9QU10gPSB7CmRpZmYgLS1naXQgYS9saWIvaWd0X2ttcy5o IGIvbGliL2lndF9rbXMuaAppbmRleCBjYmZjY2VkOS4uZTFjOWE2YTUgMTAwNjQ0Ci0tLSBhL2xp Yi9pZ3Rfa21zLmgKKysrIGIvbGliL2lndF9rbXMuaApAQCAtMjY5LDYgKzI2OSw3IEBAIGVudW0g aWd0X2F0b21pY19wbGFuZV9wcm9wZXJ0aWVzIHsKICAgICAgICBJR1RfUExBTkVfQ09MT1JfUkFO R0UsCiAgICAgICAgSUdUX1BMQU5FX1BJWEVMX0JMRU5EX01PREUsCiAgICAgICAgSUdUX1BMQU5F X0FMUEhBLAorICAgICAgIElHVF9QTEFORV9GQl9EQU1BR0VfQ0xJUFMsCiAgICAgICAgSUdUX05V TV9QTEFORV9QUk9QUwogfTsKIApkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2F0b21pYy5jIGIvdGVz dHMva21zX2F0b21pYy5jCmluZGV4IDNhYWQyZDlhLi4yMGRmYzk3OCAxMDA2NDQKLS0tIGEvdGVz dHMva21zX2F0b21pYy5jCisrKyBiL3Rlc3RzL2ttc19hdG9taWMuYwpAQCAtNTYsNiArNTYsMjQg QEAKIAogSUdUX1RFU1RfREVTQ1JJUFRJT04oIlRlc3QgYXRvbWljIG1vZGVzZXR0aW5nIEFQSSIp OwogCisvKiBzaWduZWQzMiBkcm1fbW9kZV9yZWN0IGRlY2xhcmVkIGhlcmUgZm9yIHVzZSB3aXRo IGRybSBkYW1hZ2UgZm9yIHBhZ2UtZmxpcCAqLworc3RydWN0IGRhbWFnZV9yZWN0IHsKKwlpbnQg eDE7CisJaW50IHkxOworCWludCB4MjsKKwlpbnQgeTI7Cit9OworCitzdGF0aWMgaW5saW5lIGlu dCBkYW1hZ2VfcmVjdF93aWR0aChzdHJ1Y3QgZGFtYWdlX3JlY3QgKnIpCit7CisJcmV0dXJuIHIt PngyIC0gci0+eDE7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGRhbWFnZV9yZWN0X2hlaWdodChz dHJ1Y3QgZGFtYWdlX3JlY3QgKnIpCit7CisJcmV0dXJuIHItPnkyIC0gci0+eTE7Cit9CisKIGVu dW0ga21zX2F0b21pY19jaGVja19yZWxheCB7CiAJQVRPTUlDX1JFTEFYX05PTkUgPSAwLAogCUNS VENfUkVMQVhfTU9ERSA9ICgxIDw8IDApLApAQCAtODM1LDYgKzg1MywyNDAgQEAgc3RhdGljIHZv aWQgYXRvbWljX2ludmFsaWRfcGFyYW1zKGlndF9waXBlX3QgKnBpcGUsCiAJZG9faW9jdGxfZXJy KGRpc3BsYXktPmRybV9mZCwgRFJNX0lPQ1RMX01PREVfQVRPTUlDLCAmaW9jLCBFRkFVTFQpOwog fQogCitzdGF0aWMgdm9pZCBhdG9taWNfcGxhbmVfZGFtYWdlKGlndF9waXBlX3QgKnBpcGUsIGln dF9wbGFuZV90ICpwbGFuZSwgc3RydWN0IGlndF9mYiAqZmIpCit7CisJc3RydWN0IGRhbWFnZV9y ZWN0ICpkYW1hZ2U7CisJc3RydWN0IGlndF9mYiBmYl8xOworCXN0cnVjdCBpZ3RfZmIgZmJfMjsK KwljYWlyb190ICpjcl8xOworCWNhaXJvX3QgKmNyXzI7CisKKwlkYW1hZ2UgPSBtYWxsb2Moc2l6 ZW9mKCpkYW1hZ2UpICogMik7CisJaWd0X2Fzc2VydChkYW1hZ2UpOworCisJLyogQ29sb3IgZmIg d2l0aCB3aGl0ZSByZWN0IGF0IGNlbnRlciAqLworCWlndF9jcmVhdGVfY29sb3JfZmIocGlwZS0+ ZGlzcGxheS0+ZHJtX2ZkLCBmYi0+d2lkdGgsIGZiLT5oZWlnaHQsCisJCQkgICAgZmItPmRybV9m b3JtYXQsIEk5MTVfVElMSU5HX05PTkUsIDAuMiwgMC4yLCAwLjIsCisJCQkgICAgJmZiXzEpOwor CWNyXzEgPSBpZ3RfZ2V0X2NhaXJvX2N0eChwaXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8xKTsK KwlpZ3RfcGFpbnRfY29sb3IoY3JfMSwgZmItPndpZHRoLzQsIGZiLT5oZWlnaHQvNCwgZmItPndp ZHRoLzIsCisJCQlmYi0+aGVpZ2h0LzIsIDEuMCwgMS4wLCAxLjApOworCWlndF9wdXRfY2Fpcm9f Y3R4KHBpcGUtPmRpc3BsYXktPmRybV9mZCwgJmZiXzEsIGNyXzEpOworCisJLyoKKwkgKiBGbGlw IHRoZSBwcmltYXJ5IHBsYW5lIHRvIG5ldyBjb2xvciBmYiB1c2luZyBhdG9taWMgQVBJIGFuZCBj aGVjayB0aGUKKwkgKiBzdGF0ZS4KKwkgKi8KKwlpZ3RfcGxhbmVfc2V0X2ZiKHBsYW5lLCAmZmJf MSk7CisJY3J0Y19jb21taXQocGlwZSwgcGxhbmUsIENPTU1JVF9BVE9NSUMsIEFUT01JQ19SRUxB WF9OT05FKTsKKworCS8qCisJICogQ2hhbmdlIHRoZSBjb2xvciBvZiB0b3AgbGVmdCBjbGlwIGZy b20gY2VudGVyIGFuZCBpc3N1ZSBwbGFuZSB1cGRhdGUKKwkgKiB3aXRoIGRhbWFnZSBhbmQgdmVy aWZ5IHRoZSBzdGF0ZS4KKwkgKi8KKwlkYW1hZ2VbMF0ueDEgPSAwOworCWRhbWFnZVswXS55MSA9 IDA7CisJZGFtYWdlWzBdLngyID0gZmItPndpZHRoLzI7CisJZGFtYWdlWzBdLnkyID0gZmItPmhl aWdodC8yOworCisJY3JfMSA9IGlndF9nZXRfY2Fpcm9fY3R4KHBpcGUtPmRpc3BsYXktPmRybV9m ZCwgJmZiXzEpOworCWlndF9wYWludF9jb2xvcihjcl8xLCBkYW1hZ2VbMF0ueDEsIGRhbWFnZVsw XS55MSwKKwkJCWRhbWFnZV9yZWN0X3dpZHRoKCZkYW1hZ2VbMF0pLAorCQkJZGFtYWdlX3JlY3Rf aGVpZ2h0KCZkYW1hZ2VbMF0pLCAxLjAsIDAsIDApOworCWlndF9wdXRfY2Fpcm9fY3R4KHBpcGUt PmRpc3BsYXktPmRybV9mZCwgJmZiXzEsIGNyXzEpOworCisJaWd0X3BsYW5lX3NldF9mYihwbGFu ZSwgJmZiXzEpOworCWlndF9wbGFuZV9yZXBsYWNlX3Byb3BfYmxvYihwbGFuZSwgSUdUX1BMQU5F X0ZCX0RBTUFHRV9DTElQUywgZGFtYWdlLAorCQkJCSAgICBzaXplb2YoKmRhbWFnZSkpOworCWNy dGNfY29tbWl0KHBpcGUsIHBsYW5lLCBDT01NSVRfQVRPTUlDLCBBVE9NSUNfUkVMQVhfTk9ORSk7 CisKKwkvKgorCSAqIENoYW5nZSB0aGUgY29sb3Igb2YgdG9wIGxlZnQgYW5kIGJvdHRvbSByaWdo dCBjbGlwIGZyb20gY2VudGVyIGFuZAorCSAqIGlzc3VlIHBsYW5lIHVwZGF0ZSB3aXRoIGRhbWFn ZSBhbmQgdmVyaWZ5IHRoZSBzdGF0ZS4KKwkgKi8KKwlkYW1hZ2VbMF0ueDEgPSAwOworCWRhbWFn ZVswXS55MSA9IDA7CisJZGFtYWdlWzBdLngyID0gZmItPndpZHRoLzI7CisJZGFtYWdlWzBdLnky ID0gZmItPmhlaWdodC8yOworCisJZGFtYWdlWzFdLngxID0gZmItPndpZHRoLzI7CisJZGFtYWdl WzFdLnkxID0gZmItPmhlaWdodC8yOworCWRhbWFnZVsxXS54MiA9IGZiLT53aWR0aDsKKwlkYW1h Z2VbMV0ueTIgPSBmYi0+aGVpZ2h0OworCisJY3JfMSA9IGlndF9nZXRfY2Fpcm9fY3R4KHBpcGUt PmRpc3BsYXktPmRybV9mZCwgJmZiXzEpOworCWlndF9wYWludF9jb2xvcihjcl8xLCBkYW1hZ2Vb MF0ueDEsIGRhbWFnZVswXS55MSwKKwkJCWRhbWFnZV9yZWN0X3dpZHRoKCZkYW1hZ2VbMF0pLAor CQkJZGFtYWdlX3JlY3RfaGVpZ2h0KCZkYW1hZ2VbMF0pLCAxLjAsIDAsIDEuMCk7CisJaWd0X3Bh aW50X2NvbG9yKGNyXzEsIGRhbWFnZVsxXS54MSwgZGFtYWdlWzFdLnkxLAorCQkJZGFtYWdlX3Jl Y3Rfd2lkdGgoJmRhbWFnZVsxXSksCisJCQlkYW1hZ2VfcmVjdF9oZWlnaHQoJmRhbWFnZVsxXSks IDAsIDAsIDEuMCk7CisJaWd0X3B1dF9jYWlyb19jdHgocGlwZS0+ZGlzcGxheS0+ZHJtX2ZkLCAm ZmJfMSwgY3JfMSk7CisKKwlpZ3RfcGxhbmVfc2V0X2ZiKHBsYW5lLCAmZmJfMSk7CisJaWd0X3Bs YW5lX3JlcGxhY2VfcHJvcF9ibG9iKHBsYW5lLCBJR1RfUExBTkVfRkJfREFNQUdFX0NMSVBTLCBk YW1hZ2UsCisJCQkJICAgIHNpemVvZigqZGFtYWdlKSAqIDIpOworCWNydGNfY29tbWl0KHBpcGUs IHBsYW5lLCBDT01NSVRfQVRPTUlDLCBBVE9NSUNfUkVMQVhfTk9ORSk7CisKKwkvKgorCSAqIElz c3VlIGEgcGxhbmUgdXBkYXRlIHdpdGggZGFtYWdlIG9uIGEgc2VwZXJhdGUgZmIgd2l0aCBkYW1h Z2UgdG8KKwkgKiB1cHBlciByaWdodCBjbGlwIGZyb20gY2VudGVyLgorCSAqLworCWlndF9jcmVh dGVfY29sb3JfZmIocGlwZS0+ZGlzcGxheS0+ZHJtX2ZkLCBmYi0+d2lkdGgsIGZiLT5oZWlnaHQs CisJCQkgICAgZmItPmRybV9mb3JtYXQsIEk5MTVfVElMSU5HX05PTkUsIDAuMiwgMC4yLCAwLjIs CisJCQkgICAgJmZiXzIpOworCisJZGFtYWdlWzBdLngxID0gZmItPndpZHRoLzI7CisJZGFtYWdl WzBdLnkxID0gMDsKKwlkYW1hZ2VbMF0ueDIgPSBmYi0+d2lkdGg7CisJZGFtYWdlWzBdLnkyID0g ZmItPmhlaWdodC8yOworCisJY3JfMiA9IGlndF9nZXRfY2Fpcm9fY3R4KHBpcGUtPmRpc3BsYXkt PmRybV9mZCwgJmZiXzIpOworCWNyXzEgPSBpZ3RfZ2V0X2NhaXJvX2N0eChwaXBlLT5kaXNwbGF5 LT5kcm1fZmQsICZmYl8xKTsKKwljYWlyb19zZXRfc291cmNlX3N1cmZhY2UoY3JfMiwgZmJfMS5j YWlyb19zdXJmYWNlLCAwLCAwKTsKKwljYWlyb19wYWludChjcl8yKTsKKwlpZ3RfcGFpbnRfY29s b3IoY3JfMiwgZGFtYWdlWzBdLngxLCBkYW1hZ2VbMF0ueTEsCisJCQlkYW1hZ2VfcmVjdF93aWR0 aCgmZGFtYWdlWzBdKSwKKwkJCWRhbWFnZV9yZWN0X2hlaWdodCgmZGFtYWdlWzBdKSwgMCwgMS4w LCAwKTsKKwlpZ3RfcHV0X2NhaXJvX2N0eChwaXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8xLCBj cl8xKTsKKwlpZ3RfcHV0X2NhaXJvX2N0eChwaXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8yLCBj cl8yKTsKKwlpZ3RfcGxhbmVfc2V0X2ZiKHBsYW5lLCAmZmJfMik7CisJaWd0X3BsYW5lX3JlcGxh Y2VfcHJvcF9ibG9iKHBsYW5lLCBJR1RfUExBTkVfRkJfREFNQUdFX0NMSVBTLCBkYW1hZ2UsCisJ CQkJICAgIHNpemVvZigqZGFtYWdlKSk7CisJY3J0Y19jb21taXQocGlwZSwgcGxhbmUsIENPTU1J VF9BVE9NSUMsIEFUT01JQ19SRUxBWF9OT05FKTsKKworCS8qCisJICogSXNzdWUgcGxhbmUgdXBk YXRlIHdpdGggZGFtYWdlIHdpdGggYSBjbGlwIG91dHNpZGUgb2YgcGxhbmUgc3JjLgorCSAqIE5P VEU6IFRoaXMgd2lsbCByZXN1bHQgaW4gbm8gdXBkYXRlIG9uIHBsYW5lIGFzIGRhbWFnZSBpcyBv dXRzaWRlLCBzbworCSAqIHdpbGwgc2VlIG5vIGNoYW5nZSBvbiB0aGUgc2NyZWVuLgorCSAqLwor CS8qIFJlc3ppZSBmYl8xIHRvIGJlIGJpZ2dlciB0aGFuIHBsYW5lICovCisJaWd0X3JlbW92ZV9m YihwaXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8xKTsKKwlpZ3RfY3JlYXRlX2NvbG9yX2ZiKHBp cGUtPmRpc3BsYXktPmRybV9mZCwgZmItPndpZHRoICogMiwgZmItPmhlaWdodCwKKwkJCSAgICBm Yi0+ZHJtX2Zvcm1hdCwgSTkxNV9USUxJTkdfTk9ORSwgMC4yLCAwLjIsIDAuMiwKKwkJCSAgICAm ZmJfMSk7CisKKwlkYW1hZ2VbMF0ueDEgPSBmYi0+d2lkdGg7CisJZGFtYWdlWzBdLnkxID0gMDsK KwlkYW1hZ2VbMF0ueDIgPSBmYi0+d2lkdGggKyBmYi0+d2lkdGgvMjsKKwlkYW1hZ2VbMF0ueTIg PSBmYi0+aGVpZ2h0LzI7CisKKwljcl8xID0gaWd0X2dldF9jYWlyb19jdHgocGlwZS0+ZGlzcGxh eS0+ZHJtX2ZkLCAmZmJfMSk7CisJY3JfMiA9IGlndF9nZXRfY2Fpcm9fY3R4KHBpcGUtPmRpc3Bs YXktPmRybV9mZCwgJmZiXzIpOworCWNhaXJvX3NldF9zb3VyY2Vfc3VyZmFjZShjcl8xLCBmYl8y LmNhaXJvX3N1cmZhY2UsIDAsIDApOworCWNhaXJvX3BhaW50KGNyXzEpOworCWlndF9wYWludF9j b2xvcihjcl8xLCBkYW1hZ2VbMF0ueDEsIGRhbWFnZVswXS55MSwKKwkJCWRhbWFnZV9yZWN0X3dp ZHRoKCZkYW1hZ2VbMF0pLAorCQkJZGFtYWdlX3JlY3RfaGVpZ2h0KCZkYW1hZ2VbMF0pLCAwLCAx LjAsIDApOworCWlndF9wdXRfY2Fpcm9fY3R4KHBpcGUtPmRpc3BsYXktPmRybV9mZCwgJmZiXzIs IGNyXzIpOworCWlndF9wdXRfY2Fpcm9fY3R4KHBpcGUtPmRpc3BsYXktPmRybV9mZCwgJmZiXzEs IGNyXzEpOworCWlndF9wbGFuZV9zZXRfZmIocGxhbmUsICZmYl8xKTsKKwlpZ3RfcGxhbmVfc2V0 X3NpemUocGxhbmUsIGZiLT53aWR0aCwgZmItPmhlaWdodCk7CisJaWd0X2ZiX3NldF9wb3NpdGlv bigmZmJfMSwgcGxhbmUsIDAsIDApOworCWlndF9mYl9zZXRfc2l6ZSgmZmJfMSwgcGxhbmUsIGZi LT53aWR0aCwgZmItPmhlaWdodCk7CisJaWd0X3BsYW5lX3JlcGxhY2VfcHJvcF9ibG9iKHBsYW5l LCBJR1RfUExBTkVfRkJfREFNQUdFX0NMSVBTLCBkYW1hZ2UsCisJCQkJICAgIHNpemVvZigqZGFt YWdlKSk7CisJY3J0Y19jb21taXQocGlwZSwgcGxhbmUsIENPTU1JVF9BVE9NSUMsIEFUT01JQ19S RUxBWF9OT05FKTsKKworCS8qCisJICogSXNzdWUgYSBwbGFuZSB1cGRhdGUgd2l0aCBkYW1hZ2Ug d2l0aCBhIGNsaXAgdGhhdCBvdmVybGFwIHdpdGggcGxhbmUKKwkgKiBzcmMgKFRvcCByaWdodCBm cm9tIGNlbnRlciBleHRlbmRpbmcgb3V0c2lkZSBzcmMgaW4gYmVsb3cgY2FzZSkuCisJICogTk9U RTogSGVyZSBkcm0gY29yZSBzaG91bGQgdGFrZSBjYXJlIG9mIGludGVyc2VjdGluZyB0aGUgY2xp cCB0bworCSAqIHBsYW5lIHNyYy4KKwkgKi8KKwlkYW1hZ2VbMF0ueDEgPSBmYi0+d2lkdGgvMjsK KwlkYW1hZ2VbMF0ueTEgPSAwOworCWRhbWFnZVswXS54MiA9IGZiLT53aWR0aC8yICsgZmItPndp ZHRoOworCWRhbWFnZVswXS55MiA9IGZiLT5oZWlnaHQvMjsKKworCWNyXzEgPSBpZ3RfZ2V0X2Nh aXJvX2N0eChwaXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8xKTsKKwlpZ3RfcGFpbnRfY29sb3Io Y3JfMSwgZGFtYWdlWzBdLngxLCBkYW1hZ2VbMF0ueTEsCisJCQlkYW1hZ2VfcmVjdF93aWR0aCgm ZGFtYWdlWzBdKSwKKwkJCWRhbWFnZV9yZWN0X2hlaWdodCgmZGFtYWdlWzBdKSwgMS4wLCAxLjAs IDApOworCWlndF9wdXRfY2Fpcm9fY3R4KHBpcGUtPmRpc3BsYXktPmRybV9mZCwgJmZiXzEsIGNy XzEpOworCWlndF9wbGFuZV9zZXRfZmIocGxhbmUsICZmYl8xKTsKKwlpZ3RfcGxhbmVfc2V0X3Np emUocGxhbmUsIGZiLT53aWR0aCwgZmItPmhlaWdodCk7CisJaWd0X2ZiX3NldF9wb3NpdGlvbigm ZmJfMSwgcGxhbmUsIDAsIDApOworCWlndF9mYl9zZXRfc2l6ZSgmZmJfMSwgcGxhbmUsIGZiLT53 aWR0aCwgZmItPmhlaWdodCk7CisJaWd0X3BsYW5lX3JlcGxhY2VfcHJvcF9ibG9iKHBsYW5lLCBJ R1RfUExBTkVfRkJfREFNQUdFX0NMSVBTLCBkYW1hZ2UsCisJCQkJICAgIHNpemVvZigqZGFtYWdl KSk7CisJY3J0Y19jb21taXQocGlwZSwgcGxhbmUsIENPTU1JVF9BVE9NSUMsIEFUT01JQ19SRUxB WF9OT05FKTsKKworCS8qCisJICogSXNzdWUgYSBwbGFuZSB1cGRhdGUgd2l0aCBkYW1hZ2Ugd2l0 aCB0d28gY2xpcHMgb25lIGluc2lkZSBwbGFuZSBzcmMKKwkgKiBhbmQgb25lIG91dHNpZGUKKwkg KiBOT1RFOiBUaGlzIHdpbGwgcmVzdWx0IGluIHBsYW5lIHVwZGF0ZSB3aXRoIGNsaXAgaW5zaWRl IHBsYW5lIHNyYy4KKwkgKi8KKwlkYW1hZ2VbMF0ueDEgPSAwOworCWRhbWFnZVswXS55MSA9IGZi LT5oZWlnaHQvMjsKKwlkYW1hZ2VbMF0ueDIgPSBmYi0+d2lkdGgvMjsKKwlkYW1hZ2VbMF0ueTIg PSBmYi0+aGVpZ2h0OworCisJZGFtYWdlWzFdLngxID0gZmItPndpZHRoICsgZmItPndpZHRoLzI7 CisJZGFtYWdlWzFdLnkxID0gZmItPmhlaWdodC8yOworCWRhbWFnZVsxXS54MiA9IGZiLT53aWR0 aCAqIDI7CisJZGFtYWdlWzFdLnkyID0gZmItPmhlaWdodDsKKworCWNyXzEgPSBpZ3RfZ2V0X2Nh aXJvX2N0eChwaXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8xKTsKKwlpZ3RfcGFpbnRfY29sb3Io Y3JfMSwgZGFtYWdlWzBdLngxLCBkYW1hZ2VbMF0ueTEsCisJCQlkYW1hZ2VfcmVjdF93aWR0aCgm ZGFtYWdlWzBdKSwKKwkJCWRhbWFnZV9yZWN0X2hlaWdodCgmZGFtYWdlWzBdKSwgMCwgMS4wLCAx LjApOworCWlndF9wYWludF9jb2xvcihjcl8xLCBkYW1hZ2VbMV0ueDEsIGRhbWFnZVsxXS55MSwK KwkJCWRhbWFnZV9yZWN0X3dpZHRoKCZkYW1hZ2VbMV0pLAorCQkJZGFtYWdlX3JlY3RfaGVpZ2h0 KCZkYW1hZ2VbMV0pLCAwLCAxLjAsIDApOworCWlndF9wdXRfY2Fpcm9fY3R4KHBpcGUtPmRpc3Bs YXktPmRybV9mZCwgJmZiXzEsIGNyXzEpOworCWlndF9wbGFuZV9zZXRfZmIocGxhbmUsICZmYl8x KTsKKwlpZ3RfcGxhbmVfc2V0X3NpemUocGxhbmUsIGZiLT53aWR0aCwgZmItPmhlaWdodCk7CisJ aWd0X2ZiX3NldF9wb3NpdGlvbigmZmJfMSwgcGxhbmUsIDAsIDApOworCWlndF9mYl9zZXRfc2l6 ZSgmZmJfMSwgcGxhbmUsIGZiLT53aWR0aCwgZmItPmhlaWdodCk7CisJaWd0X3BsYW5lX3JlcGxh Y2VfcHJvcF9ibG9iKHBsYW5lLCBJR1RfUExBTkVfRkJfREFNQUdFX0NMSVBTLCBkYW1hZ2UsCisJ CQkJICAgIHNpemVvZigqZGFtYWdlKSAqIDIpOworCWNydGNfY29tbWl0KHBpcGUsIHBsYW5lLCBD T01NSVRfQVRPTUlDLCBBVE9NSUNfUkVMQVhfTk9ORSk7CisKKwkvKgorCSAqIElzc3VlIGEgcGxh bmUgdXBkYXRlIHdpdGggb3ZlcmxhcHBpbmcgZGFtYWdlIGNsaXBzLiBXaGl0ZSByZWN0IGluCisJ ICogY2VudGVyIG92ZXJsYXAgcGFydGlhbGx5IHdpdGggdG9wIGxlZnQgcmVkIHJlY3QuCisJICog Tk9URTogRHJtIGNvcmUgZG9lcyBub3QgZXJyb3IgZm9yIG92ZXJsYXBwaW5nIGRhbWFnZSBjbGlw cyBzbyBpZiBhbnkKKwkgKiBkcml2ZXIgZG9lcyBub3Qgc3VwcG9ydCBvdmVybGFwcGluZyBzaG91 bGQgaGF2ZSB0aGVpciBvd24KKwkgKiB2YWxpZGF0aW9ucy4KKwkgKi8KKwlkYW1hZ2VbMF0ueDEg PSAwOworCWRhbWFnZVswXS55MSA9IDA7CisJZGFtYWdlWzBdLngyID0gZmItPndpZHRoLzI7CisJ ZGFtYWdlWzBdLnkyID0gZmItPmhlaWdodC8yOworCisJZGFtYWdlWzFdLngxID0gZmItPndpZHRo LzQ7CisJZGFtYWdlWzFdLnkxID0gZmItPmhlaWdodC80OworCWRhbWFnZVsxXS54MiA9IGZiLT53 aWR0aC80ICsgZmItPndpZHRoLzI7CisJZGFtYWdlWzFdLnkyID0gZmItPmhlaWdodC80ICsgZmIt PmhlaWdodC8yOworCisJY3JfMSA9IGlndF9nZXRfY2Fpcm9fY3R4KHBpcGUtPmRpc3BsYXktPmRy bV9mZCwgJmZiXzEpOworCWlndF9wYWludF9jb2xvcihjcl8xLCBkYW1hZ2VbMF0ueDEsIGRhbWFn ZVswXS55MSwKKwkJCWRhbWFnZV9yZWN0X3dpZHRoKCZkYW1hZ2VbMF0pLAorCQkJZGFtYWdlX3Jl Y3RfaGVpZ2h0KCZkYW1hZ2VbMF0pLCAxLjAsIDAsIDApOworCWlndF9wYWludF9jb2xvcihjcl8x LCBkYW1hZ2VbMV0ueDEsIGRhbWFnZVsxXS55MSwKKwkJCWRhbWFnZV9yZWN0X3dpZHRoKCZkYW1h Z2VbMV0pLAorCQkJZGFtYWdlX3JlY3RfaGVpZ2h0KCZkYW1hZ2VbMV0pLCAxLjAsIDEuMCwgMS4w KTsKKwlpZ3RfcHV0X2NhaXJvX2N0eChwaXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8xLCBjcl8x KTsKKwlpZ3RfcGxhbmVfc2V0X2ZiKHBsYW5lLCAmZmJfMSk7CisJaWd0X3BsYW5lX3NldF9zaXpl KHBsYW5lLCBmYi0+d2lkdGgsIGZiLT5oZWlnaHQpOworCWlndF9mYl9zZXRfcG9zaXRpb24oJmZi XzEsIHBsYW5lLCAwLCAwKTsKKwlpZ3RfZmJfc2V0X3NpemUoJmZiXzEsIHBsYW5lLCBmYi0+d2lk dGgsIGZiLT5oZWlnaHQpOworCWlndF9wbGFuZV9yZXBsYWNlX3Byb3BfYmxvYihwbGFuZSwgSUdU X1BMQU5FX0ZCX0RBTUFHRV9DTElQUywgZGFtYWdlLAorCQkJCSAgICBzaXplb2YoKmRhbWFnZSkg KiAyKTsKKwljcnRjX2NvbW1pdChwaXBlLCBwbGFuZSwgQ09NTUlUX0FUT01JQywgQVRPTUlDX1JF TEFYX05PTkUpOworCisJLyogUmVzdG9yZSB0aGUgcHJpbWFyeSBwbGFuZSAqLworCWlndF9wbGFu ZV9zZXRfZmIocGxhbmUsIGZiKTsKKwlwbGFuZV9jb21taXQocGxhbmUsIENPTU1JVF9BVE9NSUMs IEFUT01JQ19SRUxBWF9OT05FKTsKKworCS8qIFJlbW92ZSB0aGUgZmIgY3JlYXRlZCBmb3IgdGhp cyB0ZXN0ICovCisJaWd0X3JlbW92ZV9mYihwaXBlLT5kaXNwbGF5LT5kcm1fZmQsICZmYl8xKTsK KwlpZ3RfcmVtb3ZlX2ZiKHBpcGUtPmRpc3BsYXktPmRybV9mZCwgJmZiXzIpOworCisJZnJlZShk YW1hZ2UpOworfQorCiBzdGF0aWMgdm9pZCBhdG9taWNfc2V0dXAoaWd0X2Rpc3BsYXlfdCAqZGlz cGxheSwgZW51bSBwaXBlIHBpcGUsIGlndF9vdXRwdXRfdCAqb3V0cHV0LCBpZ3RfcGxhbmVfdCAq cHJpbWFyeSwgc3RydWN0IGlndF9mYiAqZmIpCiB7CiAJaWd0X291dHB1dF9zZXRfcGlwZShvdXRw dXQsIHBpcGUpOwpAQCAtOTUwLDYgKzEyMDIsMTQgQEAgaWd0X21haW4KIAkJYXRvbWljX2ludmFs aWRfcGFyYW1zKHBpcGVfb2JqLCBwcmltYXJ5LCBvdXRwdXQsICZmYik7CiAJfQogCisJaWd0X3N1 YnRlc3QoImF0b21pY19wbGFuZV9kYW1hZ2UiKSB7CisJCWlndF9yZXF1aXJlKGlndF9wbGFuZV9o YXNfcHJvcChwcmltYXJ5LCBJR1RfUExBTkVfRkJfREFNQUdFX0NMSVBTKSk7CisKKwkJYXRvbWlj X3NldHVwKCZkaXNwbGF5LCBwaXBlLCBvdXRwdXQsIHByaW1hcnksICZmYik7CisKKwkJYXRvbWlj X3BsYW5lX2RhbWFnZShwaXBlX29iaiwgcHJpbWFyeSwgJmZiKTsKKwl9CisKIAlpZ3RfZml4dHVy ZSB7CiAJCWF0b21pY19jbGVhcigmZGlzcGxheSwgcGlwZSwgcHJpbWFyeSwgb3V0cHV0KTsKIAkJ aWd0X3JlbW92ZV9mYihkaXNwbGF5LmRybV9mZCwgJmZiKTsKLS0gCjIuMTcuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==