From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ezequiel Garcia Subject: [PATCH v3] drm/rockchip: Fix YUV buffers color rendering Date: Tue, 8 Jan 2019 18:46:59 -0300 Message-ID: <20190108214659.28794-1-ezequiel@collabora.com> References: <20181214162920.20361-1-ezequiel@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181214162920.20361-1-ezequiel@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Daniele Castagna , Tomasz Figa , linux-rockchip@lists.infradead.org, Sean Paul , kernel@collabora.com, Ezequiel Garcia List-Id: linux-rockchip.vger.kernel.org RnJvbTogRGFuaWVsZSBDYXN0YWduYSA8ZGNhc3RhZ25hQGNocm9taXVtLm9yZz4KCkN1cnJlbnRs eSwgWVVWIGhhcmR3YXJlIG92ZXJsYXlzIGFyZSBjb252ZXJ0ZWQgdG8gUkdCIHVzaW5nCmEgY29s b3Igc3BhY2UgY29udmVyc2lvbiBkaWZmZXJlbnQgdGhhbiBCVC42MDEuCgpUaGUgcmVzdWx0IGlz IHRoYXQgY29sb3JzIG9mIGUuZy4gTlYxMiBidWZmZXJzIGRvbid0IG1hdGNoCmNvbG9ycyBvZiBZ VVYgaGFyZHdhcmUgb3ZlcmxheXMuCgpJbiBvcmRlciB0byBmaXggdGhpcywgZW5hYmxlIFlVVjJZ VVYgYW5kIHNldCBhcHByb3ByaWF0ZSBjb2VmZmljaWVudHMKZm9yIGZvcm1hdHMgc3VjaCBhcyBO VjEyIHRvIGJlIGRpc3BsYXllZCBjb3JyZWN0bHkuCgpUaGlzIGNvbW1pdCB3YXMgdGVzdGVkIHVz aW5nIG1vZGV0ZXN0LCBnc3RyZWFtZXIgYW5kIGNocm9tZW9zIChoYXJkd2FyZQphY2NlbGVyYXRl ZCB2aWRlbyBwbGF5YmFjaykuIEJlZm9yZSB0aGUgY29tbWl0LCB0ZXN0cyByZW5kZXJpbmcKd2l0 aCBOVjEyIGZvcm1hdCByZXN1bHRlZCBpbiBjb2xvcnMgbm90IGRpc3BsYXllZCBjb3JyZWN0bHku CgpUZXN0IGV4YW1wbGVzIChUZXN0ZWQgb24gUkszMzk5IGFuZCBSSzMyODggYm9hcmRzIGNvbm5l Y3RlZCB0byBIRE1JIG1vbml0b3IpOgoKICAkIG1vZGV0ZXN0IDM5QDMyOjE5MjB4MTA4MEBOVjEy CiAgJCBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RyYyAhIHZpZGVvL3gtcmF3LGZvcm1hdD1OVjEy ICEga21zc2luawoKU2lnbmVkLW9mZi1ieTogRGFuaWVsZSBDYXN0YWduYSA8ZGNhc3RhZ25hQGNo cm9taXVtLm9yZz4KW2V6ZXF1aWVsOiByZWJhc2Ugb24gbGludXgtbmV4dCBhbmQgbWFzc2FnZSBj b21taXQgbG9nXQpTaWduZWQtb2ZmLWJ5OiBFemVxdWllbCBHYXJjaWEgPGV6ZXF1aWVsQGNvbGxh Ym9yYS5jb20+Ci0tLQp2MzogQWRkIGEgY2hlY2sgZm9yIG5vbi1udWxsIHdpbl95dXYyeXV2IGFz IHN1Z2dlc3RlZCBieSBIZWlrby4KCiBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBf ZHJtX3ZvcC5jIHwgNDAgKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vcm9j a2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5oIHwgMTMgKysrKysrKwogZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL3JvY2tjaGlwX3ZvcF9yZWcuYyB8IDM2ICsrKysrKysrKysrKysrKysrKysKIDMgZmls ZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMgYi9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCmluZGV4IGRiODM1OGU2ZDIzMC4uN2Fk OTA2N2IzMTEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBf ZHJtX3ZvcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9w LmMKQEAgLTUzLDYgKzUzLDE4IEBACiAJCXZvcF9yZWdfc2V0KHZvcCwgJndpbi0+cGh5LT5zY2wt PmV4dC0+bmFtZSwgXAogCQkJICAgIHdpbi0+YmFzZSwgfjAsIHYsICNuYW1lKQogCisjZGVmaW5l IFZPUF9XSU5fWVVWMllVVl9TRVQoeCwgd2luX3l1djJ5dXYsIG5hbWUsIHYpIFwKKwlkbyB7IFwK KwkJaWYgKHdpbl95dXYyeXV2ICYmIHdpbl95dXYyeXV2LT5uYW1lLm1hc2spIFwKKwkJCXZvcF9y ZWdfc2V0KHZvcCwgJndpbl95dXYyeXV2LT5uYW1lLCAwLCB+MCwgdiwgI25hbWUpOyBcCisJfSB3 aGlsZSAoMCkKKworI2RlZmluZSBWT1BfV0lOX1lVVjJZVVZfQ09FRkZJQ0lFTlRfU0VUKHgsIHdp bl95dXYyeXV2LCBuYW1lLCB2KSBcCisJZG8geyBcCisJCWlmICh3aW5feXV2Mnl1diAmJiB3aW5f eXV2Mnl1di0+cGh5LT5uYW1lLm1hc2spIFwKKwkJCXZvcF9yZWdfc2V0KHZvcCwgJndpbl95dXYy eXV2LT5waHktPm5hbWUsIHdpbl95dXYyeXV2LT5iYXNlLCB+MCwgdiwgI25hbWUpOyBcCisJfSB3 aGlsZSAoMCkKKwogI2RlZmluZSBWT1BfSU5UUl9TRVRfTUFTSyh2b3AsIG5hbWUsIG1hc2ssIHYp IFwKIAkJdm9wX3JlZ19zZXQodm9wLCAmdm9wLT5kYXRhLT5pbnRyLT5uYW1lLCAwLCBtYXNrLCB2 LCAjbmFtZSkKIApAQCAtODUsNiArOTcsMTggQEAKICNkZWZpbmUgdG9fdm9wKHgpIGNvbnRhaW5l cl9vZih4LCBzdHJ1Y3Qgdm9wLCBjcnRjKQogI2RlZmluZSB0b192b3Bfd2luKHgpIGNvbnRhaW5l cl9vZih4LCBzdHJ1Y3Qgdm9wX3dpbiwgYmFzZSkKIAorLyoKKyAqIFRoZSBjb2VmZmljaWVudHMg b2YgdGhlIGZvbGxvd2luZyBtYXRyaXggYXJlIGFsbCBmaXhlZCBwb2ludHMuCisgKiBUaGUgZm9y bWF0IGlzIFMyLjEwIGZvciB0aGUgM3gzIHBhcnQgb2YgdGhlIG1hdHJpeCwgYW5kIFM5LjEyIGZv ciB0aGUgb2Zmc2V0cy4KKyAqIFRoZXkgYXJlIGFsbCByZXByZXNlbnRlZCBpbiB0d28ncyBjb21w bGVtZW50LgorICovCitzdGF0aWMgY29uc3QgdWludDMyX3QgYnQ2MDFfeXV2MnJnYltdID0gewor CTB4NEE4LCAweDAsICAgIDB4NjYyLAorCTB4NEE4LCAweDFFNkYsIDB4MUNCRiwKKwkweDRBOCwg MHg4MTIsICAweDAsCisJMHgzMjExNjgsIDB4MDg3N0NGLCAweDJFQjEyNworfTsKKwogZW51bSB2 b3BfcGVuZGluZyB7CiAJVk9QX1BFTkRJTkdfRkJfVU5SRUYsCiB9OwpAQCAtOTIsNiArMTE2LDcg QEAgZW51bSB2b3BfcGVuZGluZyB7CiBzdHJ1Y3Qgdm9wX3dpbiB7CiAJc3RydWN0IGRybV9wbGFu ZSBiYXNlOwogCWNvbnN0IHN0cnVjdCB2b3Bfd2luX2RhdGEgKmRhdGE7CisJY29uc3Qgc3RydWN0 IHZvcF93aW5feXV2Mnl1dl9kYXRhICp5dXYyeXV2X2RhdGE7CiAJc3RydWN0IHZvcCAqdm9wOwog fTsKIApAQCAtNzEzLDYgKzczOCw3IEBAIHN0YXRpYyB2b2lkIHZvcF9wbGFuZV9hdG9taWNfdXBk YXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHN0 YXRlLT5jcnRjOwogCXN0cnVjdCB2b3Bfd2luICp2b3Bfd2luID0gdG9fdm9wX3dpbihwbGFuZSk7 CiAJY29uc3Qgc3RydWN0IHZvcF93aW5fZGF0YSAqd2luID0gdm9wX3dpbi0+ZGF0YTsKKwljb25z dCBzdHJ1Y3Qgdm9wX3dpbl95dXYyeXV2X2RhdGEgKndpbl95dXYyeXV2ID0gdm9wX3dpbi0+eXV2 Mnl1dl9kYXRhOwogCXN0cnVjdCB2b3AgKnZvcCA9IHRvX3ZvcChzdGF0ZS0+Y3J0Yyk7CiAJc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBzdGF0ZS0+ZmI7CiAJdW5zaWduZWQgaW50IGFjdHVh bF93LCBhY3R1YWxfaDsKQEAgLTcyOCw2ICs3NTQsOCBAQCBzdGF0aWMgdm9pZCB2b3BfcGxhbmVf YXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlib29sIHJiX3N3YXA7CiAJ aW50IHdpbl9pbmRleCA9IFZPUF9XSU5fVE9fSU5ERVgodm9wX3dpbik7CiAJaW50IGZvcm1hdDsK KwlpbnQgaXNfeXV2ID0gZmItPmZvcm1hdC0+aXNfeXV2OworCWludCBpOwogCiAJLyoKIAkgKiBj YW4ndCB1cGRhdGUgcGxhbmUgd2hlbiB2b3AgaXMgZGlzYWJsZWQuCkBAIC03NjgsNyArNzk2LDkg QEAgc3RhdGljIHZvaWQgdm9wX3BsYW5lX2F0b21pY191cGRhdGUoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsCiAJVk9QX1dJTl9TRVQodm9wLCB3aW4sIGZvcm1hdCwgZm9ybWF0KTsKIAlWT1BfV0lO X1NFVCh2b3AsIHdpbiwgeXJnYl92aXIsIERJVl9ST1VORF9VUChmYi0+cGl0Y2hlc1swXSwgNCkp OwogCVZPUF9XSU5fU0VUKHZvcCwgd2luLCB5cmdiX21zdCwgZG1hX2FkZHIpOwotCWlmIChmYi0+ Zm9ybWF0LT5pc195dXYpIHsKKwlWT1BfV0lOX1lVVjJZVVZfU0VUKHZvcCwgd2luX3l1djJ5dXYs IHkycl9lbiwgaXNfeXV2KTsKKworCWlmIChpc195dXYpIHsKIAkJaW50IGhzdWIgPSBkcm1fZm9y bWF0X2hvcnpfY2hyb21hX3N1YnNhbXBsaW5nKGZiLT5mb3JtYXQtPmZvcm1hdCk7CiAJCWludCB2 c3ViID0gZHJtX2Zvcm1hdF92ZXJ0X2Nocm9tYV9zdWJzYW1wbGluZyhmYi0+Zm9ybWF0LT5mb3Jt YXQpOwogCQlpbnQgYnBwID0gZmItPmZvcm1hdC0+Y3BwWzFdOwpAQCAtNzgyLDYgKzgxMiwxMyBA QCBzdGF0aWMgdm9pZCB2b3BfcGxhbmVfYXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKIAkJZG1hX2FkZHIgPSBya191dl9vYmotPmRtYV9hZGRyICsgb2Zmc2V0ICsgZmItPm9m ZnNldHNbMV07CiAJCVZPUF9XSU5fU0VUKHZvcCwgd2luLCB1dl92aXIsIERJVl9ST1VORF9VUChm Yi0+cGl0Y2hlc1sxXSwgNCkpOwogCQlWT1BfV0lOX1NFVCh2b3AsIHdpbiwgdXZfbXN0LCBkbWFf YWRkcik7CisKKwkJZm9yIChpID0gMDsgaSA8IE5VTV9ZVVYyWVVWX0NPRUZGSUNJRU5UUzsgaSsr KSB7CisJCQlWT1BfV0lOX1lVVjJZVVZfQ09FRkZJQ0lFTlRfU0VUKHZvcCwKKwkJCQkJCQl3aW5f eXV2Mnl1diwKKwkJCQkJCQl5MnJfY29lZmZpY2llbnRzW2ldLAorCQkJCQkJCWJ0NjAxX3l1djJy Z2JbaV0pOworCQl9CiAJfQogCiAJaWYgKHdpbi0+cGh5LT5zY2wpCkBAIC0xNTMxLDYgKzE1Njgs NyBAQCBzdGF0aWMgdm9pZCB2b3Bfd2luX2luaXQoc3RydWN0IHZvcCAqdm9wKQogCiAJCXZvcF93 aW4tPmRhdGEgPSB3aW5fZGF0YTsKIAkJdm9wX3dpbi0+dm9wID0gdm9wOworCQl2b3Bfd2luLT55 dXYyeXV2X2RhdGEgPSAmdm9wX2RhdGEtPndpbl95dXYyeXV2W2ldOwogCX0KIH0KIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuaCBiL2RyaXZl cnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmgKaW5kZXggMGZlNDBlMTk4M2Q5 Li5hZWQ0NjdjZDgxYjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2Nr Y2hpcF9kcm1fdm9wLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2Ry bV92b3AuaApAQCAtMjMsNiArMjMsOCBAQAogI2RlZmluZSBWT1BfTUFKT1IodmVyc2lvbikJCSgo dmVyc2lvbikgPj4gOCkKICNkZWZpbmUgVk9QX01JTk9SKHZlcnNpb24pCQkoKHZlcnNpb24pICYg MHhmZikKIAorI2RlZmluZSBOVU1fWVVWMllVVl9DT0VGRklDSUVOVFMgMTIKKwogZW51bSB2b3Bf ZGF0YV9mb3JtYXQgewogCVZPUF9GTVRfQVJHQjg4ODggPSAwLAogCVZPUF9GTVRfUkdCODg4LApA QCAtMTI0LDYgKzEyNiwxMCBAQCBzdHJ1Y3Qgdm9wX3NjbF9yZWdzIHsKIAlzdHJ1Y3Qgdm9wX3Jl ZyBzY2FsZV9jYmNyX3k7CiB9OwogCitzdHJ1Y3Qgdm9wX3l1djJ5dXZfcGh5IHsKKwlzdHJ1Y3Qg dm9wX3JlZyB5MnJfY29lZmZpY2llbnRzW05VTV9ZVVYyWVVWX0NPRUZGSUNJRU5UU107Cit9Owor CiBzdHJ1Y3Qgdm9wX3dpbl9waHkgewogCWNvbnN0IHN0cnVjdCB2b3Bfc2NsX3JlZ3MgKnNjbDsK IAljb25zdCB1aW50MzJfdCAqZGF0YV9mb3JtYXRzOwpAQCAtMTQ2LDYgKzE1MiwxMiBAQCBzdHJ1 Y3Qgdm9wX3dpbl9waHkgewogCXN0cnVjdCB2b3BfcmVnIGNoYW5uZWw7CiB9OwogCitzdHJ1Y3Qg dm9wX3dpbl95dXYyeXV2X2RhdGEgeworCXVpbnQzMl90IGJhc2U7CisJY29uc3Qgc3RydWN0IHZv cF95dXYyeXV2X3BoeSAqcGh5OworCXN0cnVjdCB2b3BfcmVnIHkycl9lbjsKK307CisKIHN0cnVj dCB2b3Bfd2luX2RhdGEgewogCXVpbnQzMl90IGJhc2U7CiAJY29uc3Qgc3RydWN0IHZvcF93aW5f cGh5ICpwaHk7CkBAIC0xNTksNiArMTcxLDcgQEAgc3RydWN0IHZvcF9kYXRhIHsKIAljb25zdCBz dHJ1Y3Qgdm9wX21pc2MgKm1pc2M7CiAJY29uc3Qgc3RydWN0IHZvcF9tb2Rlc2V0ICptb2Rlc2V0 OwogCWNvbnN0IHN0cnVjdCB2b3Bfb3V0cHV0ICpvdXRwdXQ7CisJY29uc3Qgc3RydWN0IHZvcF93 aW5feXV2Mnl1dl9kYXRhICp3aW5feXV2Mnl1djsKIAljb25zdCBzdHJ1Y3Qgdm9wX3dpbl9kYXRh ICp3aW47CiAJdW5zaWduZWQgaW50IHdpbl9zaXplOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfdm9wX3JlZy5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tj aGlwL3JvY2tjaGlwX3ZvcF9yZWcuYwppbmRleCAwOGZjNDBhZjUyYzguLmZlNzUyZGY0ZTAzOCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX3ZvcF9yZWcuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfdm9wX3JlZy5jCkBAIC02Mzcs NiArNjM3LDM0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgdm9wX291dHB1dCByazMzOTlfb3V0cHV0 ID0gewogCS5taXBpX2R1YWxfY2hhbm5lbF9lbiA9IFZPUF9SRUcoUkszMjg4X1NZU19DVFJMLCAw eDEsIDMpLAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCB2b3BfeXV2Mnl1dl9waHkgcmszMzk5 X3l1djJ5dXZfd2luMDFfZGF0YSA9IHsKKwkueTJyX2NvZWZmaWNpZW50cyA9IHsKKwkJVk9QX1JF RyhSSzMzOTlfV0lOMF9ZVVYyWVVWX1kyUiArIDAsIDB4ZmZmZiwgMCksCisJCVZPUF9SRUcoUksz Mzk5X1dJTjBfWVVWMllVVl9ZMlIgKyAwLCAweGZmZmYsIDE2KSwKKwkJVk9QX1JFRyhSSzMzOTlf V0lOMF9ZVVYyWVVWX1kyUiArIDQsIDB4ZmZmZiwgMCksCisJCVZPUF9SRUcoUkszMzk5X1dJTjBf WVVWMllVVl9ZMlIgKyA0LCAweGZmZmYsIDE2KSwKKwkJVk9QX1JFRyhSSzMzOTlfV0lOMF9ZVVYy WVVWX1kyUiArIDgsIDB4ZmZmZiwgMCksCisJCVZPUF9SRUcoUkszMzk5X1dJTjBfWVVWMllVVl9Z MlIgKyA4LCAweGZmZmYsIDE2KSwKKwkJVk9QX1JFRyhSSzMzOTlfV0lOMF9ZVVYyWVVWX1kyUiAr IDEyLCAweGZmZmYsIDApLAorCQlWT1BfUkVHKFJLMzM5OV9XSU4wX1lVVjJZVVZfWTJSICsgMTIs IDB4ZmZmZiwgMTYpLAorCQlWT1BfUkVHKFJLMzM5OV9XSU4wX1lVVjJZVVZfWTJSICsgMTYsIDB4 ZmZmZiwgMCksCisJCVZPUF9SRUcoUkszMzk5X1dJTjBfWVVWMllVVl9ZMlIgKyAyMCwgMHhmZmZm ZmZmZiwgMCksCisJCVZPUF9SRUcoUkszMzk5X1dJTjBfWVVWMllVVl9ZMlIgKyAyNCwgMHhmZmZm ZmZmZiwgMCksCisJCVZPUF9SRUcoUkszMzk5X1dJTjBfWVVWMllVVl9ZMlIgKyAyOCwgMHhmZmZm ZmZmZiwgMCksCisJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgdm9wX3l1djJ5dXZfcGh5 IHJrMzM5OV95dXYyeXV2X3dpbjIzX2RhdGEgPSB7IH07CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg dm9wX3dpbl95dXYyeXV2X2RhdGEgcmszMzk5X3ZvcF9iaWdfd2luX3l1djJ5dXZfZGF0YVtdID0g eworCXsgLmJhc2UgPSAweDAwLCAucGh5ID0gJnJrMzM5OV95dXYyeXV2X3dpbjAxX2RhdGEsCisJ ICAueTJyX2VuID0gVk9QX1JFRyhSSzMzOTlfWVVWMllVVl9XSU4sIDB4MSwgMSkgfSwKKwl7IC5i YXNlID0gMHg2MCwgLnBoeSA9ICZyazMzOTlfeXV2Mnl1dl93aW4wMV9kYXRhLAorCSAgLnkycl9l biA9IFZPUF9SRUcoUkszMzk5X1lVVjJZVVZfV0lOLCAweDEsIDkpIH0sCisJeyAuYmFzZSA9IDB4 QzAsIC5waHkgPSAmcmszMzk5X3l1djJ5dXZfd2luMjNfZGF0YSB9LAorCXsgLmJhc2UgPSAweDEy MCwgLnBoeSA9ICZyazMzOTlfeXV2Mnl1dl93aW4yM19kYXRhIH0sCit9OworCiBzdGF0aWMgY29u c3Qgc3RydWN0IHZvcF9kYXRhIHJrMzM5OV92b3BfYmlnID0gewogCS52ZXJzaW9uID0gVk9QX1ZF UlNJT04oMywgNSksCiAJLmZlYXR1cmUgPSBWT1BfRkVBVFVSRV9PVVRQVVRfUkdCMTAsCkBAIC02 NDcsNiArNjc1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB2b3BfZGF0YSByazMzOTlfdm9wX2Jp ZyA9IHsKIAkubWlzYyA9ICZyazMzNjhfbWlzYywKIAkud2luID0gcmszMzY4X3ZvcF93aW5fZGF0 YSwKIAkud2luX3NpemUgPSBBUlJBWV9TSVpFKHJrMzM2OF92b3Bfd2luX2RhdGEpLAorCS53aW5f eXV2Mnl1diA9IHJrMzM5OV92b3BfYmlnX3dpbl95dXYyeXV2X2RhdGEsCiB9OwogCiBzdGF0aWMg Y29uc3Qgc3RydWN0IHZvcF93aW5fZGF0YSByazMzOTlfdm9wX2xpdF93aW5fZGF0YVtdID0gewpA QCAtNjU2LDYgKzY4NSwxMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHZvcF93aW5fZGF0YSByazMz OTlfdm9wX2xpdF93aW5fZGF0YVtdID0gewogCSAgLnR5cGUgPSBEUk1fUExBTkVfVFlQRV9DVVJT T1J9LAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCB2b3Bfd2luX3l1djJ5dXZfZGF0YSByazMz OTlfdm9wX2xpdF93aW5feXV2Mnl1dl9kYXRhW10gPSB7CisJeyAuYmFzZSA9IDB4MDAsIC5waHkg PSAmcmszMzk5X3l1djJ5dXZfd2luMDFfZGF0YSwKKwkgIC55MnJfZW4gPSBWT1BfUkVHKFJLMzM5 OV9ZVVYyWVVWX1dJTiwgMHgxLCAxKX0sCisJeyAuYmFzZSA9IDB4NjAsIC5waHkgPSAmcmszMzk5 X3l1djJ5dXZfd2luMjNfZGF0YSB9LAorfTsKKwogc3RhdGljIGNvbnN0IHN0cnVjdCB2b3BfZGF0 YSByazMzOTlfdm9wX2xpdCA9IHsKIAkudmVyc2lvbiA9IFZPUF9WRVJTSU9OKDMsIDYpLAogCS5p bnRyID0gJnJrMzM2Nl92b3BfaW50ciwKQEAgLTY2NSw2ICs3MDAsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHZvcF9kYXRhIHJrMzM5OV92b3BfbGl0ID0gewogCS5taXNjID0gJnJrMzM2OF9taXNj LAogCS53aW4gPSByazMzOTlfdm9wX2xpdF93aW5fZGF0YSwKIAkud2luX3NpemUgPSBBUlJBWV9T SVpFKHJrMzM5OV92b3BfbGl0X3dpbl9kYXRhKSwKKwkud2luX3l1djJ5dXYgPSByazMzOTlfdm9w X2xpdF93aW5feXV2Mnl1dl9kYXRhLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCB2b3Bfd2lu X2RhdGEgcmszMjI4X3ZvcF93aW5fZGF0YVtdID0gewotLSAKMi4yMC4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK