From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ezequiel Garcia Subject: [PATCH v2] drm/rockchip: Fix YUV buffers color rendering Date: Fri, 14 Dec 2018 13:29:20 -0300 Message-ID: <20181214162920.20361-1-ezequiel@collabora.com> References: <20180215053300.70482-2-dcastagna@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180215053300.70482-2-dcastagna@chromium.org> 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 CgpUZXN0IGV4YW1wbGVzIChSSzMzOTkgRmljdXMgYm9hcmQgY29ubmVjdGVkIHRvIEhETUkgbW9u aXRvcik6CgogICQgbW9kZXRlc3QgMzlAMzI6MTkyMHgxMDgwQE5WMTIKICAkIGdzdC1sYXVuY2gt MS4wIHZpZGVvdGVzdHJjICEgdmlkZW8veC1yYXcsZm9ybWF0PU5WMTIgISBrbXNzaW5rCgpTaWdu ZWQtb2ZmLWJ5OiBEYW5pZWxlIENhc3RhZ25hIDxkY2FzdGFnbmFAY2hyb21pdW0ub3JnPgpbZXpl cXVpZWw6IHJlYmFzZSBvbiBsaW51eC1uZXh0IGFuZCBtYXNzYWdlIGNvbW1pdCBsb2ddClNpZ25l ZC1vZmYtYnk6IEV6ZXF1aWVsIEdhcmNpYSA8ZXplcXVpZWxAY29sbGFib3JhLmNvbT4KLS0tCnYy OgogICogQWRkcmVzc2VkIGZlZWRiYWNrIGZyb20gU2VhbiBQYXVsCiAgKiBSZWJhc2VkIG9uIGxp bnV4LW5leHQKCiBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jIHwg NDEgKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2No aXBfZHJtX3ZvcC5oIHwgMTMgKysrKysrKwogZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tj aGlwX3ZvcF9yZWcuYyB8IDM2ICsrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA4 OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hp cC9yb2NrY2hpcF9kcm1fdm9wLmMKaW5kZXggZmI3MGZiNDg2ZmJmLi43OGM3ZjYzYTYwYzAgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYwpAQCAtNTIsNiAr NTIsMTggQEAKIAkJdm9wX3JlZ19zZXQodm9wLCAmd2luLT5waHktPnNjbC0+ZXh0LT5uYW1lLCBc CiAJCQkgICAgd2luLT5iYXNlLCB+MCwgdiwgI25hbWUpCiAKKyNkZWZpbmUgVk9QX1dJTl9ZVVYy WVVWX1NFVCh4LCB3aW5feXV2Mnl1diwgbmFtZSwgdikgXAorCWRvIHsgXAorCQlpZiAod2luX3l1 djJ5dXYtPm5hbWUubWFzaykgXAorCQkJdm9wX3JlZ19zZXQodm9wLCAmd2luX3l1djJ5dXYtPm5h bWUsIDAsIH4wLCB2LCAjbmFtZSk7IFwKKwl9IHdoaWxlICgwKQorCisjZGVmaW5lIFZPUF9XSU5f WVVWMllVVl9DT0VGRklDSUVOVF9TRVQoeCwgd2luX3l1djJ5dXYsIG5hbWUsIHYpIFwKKwlkbyB7 IFwKKwkJaWYgKHdpbl95dXYyeXV2LT5waHktPm5hbWUubWFzaykgXAorCQkJdm9wX3JlZ19zZXQo dm9wLCAmd2luX3l1djJ5dXYtPnBoeS0+bmFtZSwgd2luX3l1djJ5dXYtPmJhc2UsIH4wLCB2LCAj bmFtZSk7IFwKKwl9IHdoaWxlICgwKQorCiAjZGVmaW5lIFZPUF9JTlRSX1NFVF9NQVNLKHZvcCwg bmFtZSwgbWFzaywgdikgXAogCQl2b3BfcmVnX3NldCh2b3AsICZ2b3AtPmRhdGEtPmludHItPm5h bWUsIDAsIG1hc2ssIHYsICNuYW1lKQogCkBAIC04NCw2ICs5NiwxOCBAQAogI2RlZmluZSB0b192 b3AoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCB2b3AsIGNydGMpCiAjZGVmaW5lIHRvX3ZvcF93 aW4oeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCB2b3Bfd2luLCBiYXNlKQogCisvKgorICogVGhl IGNvZWZmaWNpZW50cyBvZiB0aGUgZm9sbG93aW5nIG1hdHJpeCBhcmUgYWxsIGZpeGVkIHBvaW50 cy4KKyAqIFRoZSBmb3JtYXQgaXMgUzIuMTAgZm9yIHRoZSAzeDMgcGFydCBvZiB0aGUgbWF0cml4 LCBhbmQgUzkuMTIgZm9yIHRoZSBvZmZzZXRzLgorICogVGhleSBhcmUgYWxsIHJlcHJlc2VudGVk IGluIHR3bydzIGNvbXBsZW1lbnQuCisgKi8KK3N0YXRpYyBjb25zdCB1aW50MzJfdCByb2NrY2hp cF9idDYwMV95dXYycmdiW10gPSB7CisJMHgwMDAwMDRhOCwgMHgwMDAwMDAwMCwgMHgwMDAwMDY2 MiwKKwkweDAwMDAwNGE4LCAweDAwMDAxZTZmLCAweDAwMDAxY2JmLAorCTB4MDAwMDA0YTgsIDB4 MDAwMDA4MTIsIDB4MDAwMDAwMDAsCisJMHgwMDMyMTE2OCwgMHgwMDA4NzdjZiwgMHgwMDJlYjEy NworfTsKKwogZW51bSB2b3BfcGVuZGluZyB7CiAJVk9QX1BFTkRJTkdfRkJfVU5SRUYsCiB9OwpA QCAtOTEsNiArMTE1LDcgQEAgZW51bSB2b3BfcGVuZGluZyB7CiBzdHJ1Y3Qgdm9wX3dpbiB7CiAJ c3RydWN0IGRybV9wbGFuZSBiYXNlOwogCWNvbnN0IHN0cnVjdCB2b3Bfd2luX2RhdGEgKmRhdGE7 CisJY29uc3Qgc3RydWN0IHZvcF93aW5feXV2Mnl1dl9kYXRhICp5dXYyeXV2X2RhdGE7CiAJc3Ry dWN0IHZvcCAqdm9wOwogfTsKIApAQCAtNzEyLDYgKzczNyw3IEBAIHN0YXRpYyB2b2lkIHZvcF9w bGFuZV9hdG9taWNfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCXN0cnVjdCBkcm1f Y3J0YyAqY3J0YyA9IHN0YXRlLT5jcnRjOwogCXN0cnVjdCB2b3Bfd2luICp2b3Bfd2luID0gdG9f dm9wX3dpbihwbGFuZSk7CiAJY29uc3Qgc3RydWN0IHZvcF93aW5fZGF0YSAqd2luID0gdm9wX3dp bi0+ZGF0YTsKKwljb25zdCBzdHJ1Y3Qgdm9wX3dpbl95dXYyeXV2X2RhdGEgKndpbl95dXYyeXV2 ID0gdm9wX3dpbi0+eXV2Mnl1dl9kYXRhOwogCXN0cnVjdCB2b3AgKnZvcCA9IHRvX3ZvcChzdGF0 ZS0+Y3J0Yyk7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBzdGF0ZS0+ZmI7CiAJdW5z aWduZWQgaW50IGFjdHVhbF93LCBhY3R1YWxfaDsKQEAgLTcyNyw2ICs3NTMsOCBAQCBzdGF0aWMg dm9pZCB2b3BfcGxhbmVfYXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAli b29sIHJiX3N3YXA7CiAJaW50IHdpbl9pbmRleCA9IFZPUF9XSU5fVE9fSU5ERVgodm9wX3dpbik7 CiAJaW50IGZvcm1hdDsKKwlpbnQgaXNfeXV2ID0gZmItPmZvcm1hdC0+aXNfeXV2OworCWludCBp OwogCiAJLyoKIAkgKiBjYW4ndCB1cGRhdGUgcGxhbmUgd2hlbiB2b3AgaXMgZGlzYWJsZWQuCkBA IC03NjcsNyArNzk1LDEwIEBAIHN0YXRpYyB2b2lkIHZvcF9wbGFuZV9hdG9taWNfdXBkYXRlKHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCVZPUF9XSU5fU0VUKHZvcCwgd2luLCBmb3JtYXQsIGZv cm1hdCk7CiAJVk9QX1dJTl9TRVQodm9wLCB3aW4sIHlyZ2JfdmlyLCBESVZfUk9VTkRfVVAoZmIt PnBpdGNoZXNbMF0sIDQpKTsKIAlWT1BfV0lOX1NFVCh2b3AsIHdpbiwgeXJnYl9tc3QsIGRtYV9h ZGRyKTsKLQlpZiAoZmItPmZvcm1hdC0+aXNfeXV2KSB7CisKKwlWT1BfV0lOX1lVVjJZVVZfU0VU KHZvcCwgd2luX3l1djJ5dXYsIHkycl9lbiwgaXNfeXV2KTsKKworCWlmIChpc195dXYpIHsKIAkJ aW50IGhzdWIgPSBkcm1fZm9ybWF0X2hvcnpfY2hyb21hX3N1YnNhbXBsaW5nKGZiLT5mb3JtYXQt PmZvcm1hdCk7CiAJCWludCB2c3ViID0gZHJtX2Zvcm1hdF92ZXJ0X2Nocm9tYV9zdWJzYW1wbGlu ZyhmYi0+Zm9ybWF0LT5mb3JtYXQpOwogCQlpbnQgYnBwID0gZmItPmZvcm1hdC0+Y3BwWzFdOwpA QCAtNzgxLDYgKzgxMiwxMyBAQCBzdGF0aWMgdm9pZCB2b3BfcGxhbmVfYXRvbWljX3VwZGF0ZShz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJZG1hX2FkZHIgPSBya191dl9vYmotPmRtYV9hZGRy ICsgb2Zmc2V0ICsgZmItPm9mZnNldHNbMV07CiAJCVZPUF9XSU5fU0VUKHZvcCwgd2luLCB1dl92 aXIsIERJVl9ST1VORF9VUChmYi0+cGl0Y2hlc1sxXSwgNCkpOwogCQlWT1BfV0lOX1NFVCh2b3As IHdpbiwgdXZfbXN0LCBkbWFfYWRkcik7CisKKwkJZm9yIChpID0gMDsgaSA8IE5VTV9ZVVYyWVVW X0NPRUZGSUNJRU5UUzsgaSsrKSB7CisJCQlWT1BfV0lOX1lVVjJZVVZfQ09FRkZJQ0lFTlRfU0VU KHZvcCwKKwkJCQkJCQl3aW5feXV2Mnl1diwKKwkJCQkJCQl5MnJfY29lZmZpY2llbnRzW2ldLAor CQkJCQkJCXJvY2tjaGlwX2J0NjAxX3l1djJyZ2JbaV0pOworCQl9CiAJfQogCiAJaWYgKHdpbi0+ cGh5LT5zY2wpCkBAIC0xNTI5LDYgKzE1NjcsNyBAQCBzdGF0aWMgdm9pZCB2b3Bfd2luX2luaXQo c3RydWN0IHZvcCAqdm9wKQogCiAJCXZvcF93aW4tPmRhdGEgPSB3aW5fZGF0YTsKIAkJdm9wX3dp bi0+dm9wID0gdm9wOworCQl2b3Bfd2luLT55dXYyeXV2X2RhdGEgPSAmdm9wX2RhdGEtPndpbl95 dXYyeXV2W2ldOwogCX0KIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L3JvY2tjaGlwX2RybV92b3AuaCBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9k cm1fdm9wLmgKaW5kZXggMGZlNDBlMTk4M2Q5Li5hZWQ0NjdjZDgxYjkgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuaApAQCAtMjMsNiArMjMsOCBAQAogI2Rl ZmluZSBWT1BfTUFKT1IodmVyc2lvbikJCSgodmVyc2lvbikgPj4gOCkKICNkZWZpbmUgVk9QX01J Tk9SKHZlcnNpb24pCQkoKHZlcnNpb24pICYgMHhmZikKIAorI2RlZmluZSBOVU1fWVVWMllVVl9D T0VGRklDSUVOVFMgMTIKKwogZW51bSB2b3BfZGF0YV9mb3JtYXQgewogCVZPUF9GTVRfQVJHQjg4 ODggPSAwLAogCVZPUF9GTVRfUkdCODg4LApAQCAtMTI0LDYgKzEyNiwxMCBAQCBzdHJ1Y3Qgdm9w X3NjbF9yZWdzIHsKIAlzdHJ1Y3Qgdm9wX3JlZyBzY2FsZV9jYmNyX3k7CiB9OwogCitzdHJ1Y3Qg dm9wX3l1djJ5dXZfcGh5IHsKKwlzdHJ1Y3Qgdm9wX3JlZyB5MnJfY29lZmZpY2llbnRzW05VTV9Z VVYyWVVWX0NPRUZGSUNJRU5UU107Cit9OworCiBzdHJ1Y3Qgdm9wX3dpbl9waHkgewogCWNvbnN0 IHN0cnVjdCB2b3Bfc2NsX3JlZ3MgKnNjbDsKIAljb25zdCB1aW50MzJfdCAqZGF0YV9mb3JtYXRz OwpAQCAtMTQ2LDYgKzE1MiwxMiBAQCBzdHJ1Y3Qgdm9wX3dpbl9waHkgewogCXN0cnVjdCB2b3Bf cmVnIGNoYW5uZWw7CiB9OwogCitzdHJ1Y3Qgdm9wX3dpbl95dXYyeXV2X2RhdGEgeworCXVpbnQz Ml90IGJhc2U7CisJY29uc3Qgc3RydWN0IHZvcF95dXYyeXV2X3BoeSAqcGh5OworCXN0cnVjdCB2 b3BfcmVnIHkycl9lbjsKK307CisKIHN0cnVjdCB2b3Bfd2luX2RhdGEgewogCXVpbnQzMl90IGJh c2U7CiAJY29uc3Qgc3RydWN0IHZvcF93aW5fcGh5ICpwaHk7CkBAIC0xNTksNiArMTcxLDcgQEAg c3RydWN0IHZvcF9kYXRhIHsKIAljb25zdCBzdHJ1Y3Qgdm9wX21pc2MgKm1pc2M7CiAJY29uc3Qg c3RydWN0IHZvcF9tb2Rlc2V0ICptb2Rlc2V0OwogCWNvbnN0IHN0cnVjdCB2b3Bfb3V0cHV0ICpv dXRwdXQ7CisJY29uc3Qgc3RydWN0IHZvcF93aW5feXV2Mnl1dl9kYXRhICp3aW5feXV2Mnl1djsK IAljb25zdCBzdHJ1Y3Qgdm9wX3dpbl9kYXRhICp3aW47CiAJdW5zaWduZWQgaW50IHdpbl9zaXpl OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfdm9wX3Jl Zy5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX3ZvcF9yZWcuYwppbmRleCAw OGZjNDBhZjUyYzguLmZlNzUyZGY0ZTAzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL3JvY2tjaGlwX3ZvcF9yZWcuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAv cm9ja2NoaXBfdm9wX3JlZy5jCkBAIC02MzcsNiArNjM3LDM0IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3Qgdm9wX291dHB1dCByazMzOTlfb3V0cHV0ID0gewogCS5taXBpX2R1YWxfY2hhbm5lbF9lbiA9 IFZPUF9SRUcoUkszMjg4X1NZU19DVFJMLCAweDEsIDMpLAogfTsKIAorc3RhdGljIGNvbnN0IHN0 cnVjdCB2b3BfeXV2Mnl1dl9waHkgcmszMzk5X3l1djJ5dXZfd2luMDFfZGF0YSA9IHsKKwkueTJy X2NvZWZmaWNpZW50cyA9IHsKKwkJVk9QX1JFRyhSSzMzOTlfV0lOMF9ZVVYyWVVWX1kyUiArIDAs IDB4ZmZmZiwgMCksCisJCVZPUF9SRUcoUkszMzk5X1dJTjBfWVVWMllVVl9ZMlIgKyAwLCAweGZm ZmYsIDE2KSwKKwkJVk9QX1JFRyhSSzMzOTlfV0lOMF9ZVVYyWVVWX1kyUiArIDQsIDB4ZmZmZiwg MCksCisJCVZPUF9SRUcoUkszMzk5X1dJTjBfWVVWMllVVl9ZMlIgKyA0LCAweGZmZmYsIDE2KSwK KwkJVk9QX1JFRyhSSzMzOTlfV0lOMF9ZVVYyWVVWX1kyUiArIDgsIDB4ZmZmZiwgMCksCisJCVZP UF9SRUcoUkszMzk5X1dJTjBfWVVWMllVVl9ZMlIgKyA4LCAweGZmZmYsIDE2KSwKKwkJVk9QX1JF RyhSSzMzOTlfV0lOMF9ZVVYyWVVWX1kyUiArIDEyLCAweGZmZmYsIDApLAorCQlWT1BfUkVHKFJL MzM5OV9XSU4wX1lVVjJZVVZfWTJSICsgMTIsIDB4ZmZmZiwgMTYpLAorCQlWT1BfUkVHKFJLMzM5 OV9XSU4wX1lVVjJZVVZfWTJSICsgMTYsIDB4ZmZmZiwgMCksCisJCVZPUF9SRUcoUkszMzk5X1dJ TjBfWVVWMllVVl9ZMlIgKyAyMCwgMHhmZmZmZmZmZiwgMCksCisJCVZPUF9SRUcoUkszMzk5X1dJ TjBfWVVWMllVVl9ZMlIgKyAyNCwgMHhmZmZmZmZmZiwgMCksCisJCVZPUF9SRUcoUkszMzk5X1dJ TjBfWVVWMllVVl9ZMlIgKyAyOCwgMHhmZmZmZmZmZiwgMCksCisJfSwKK307CisKK3N0YXRpYyBj b25zdCBzdHJ1Y3Qgdm9wX3l1djJ5dXZfcGh5IHJrMzM5OV95dXYyeXV2X3dpbjIzX2RhdGEgPSB7 IH07CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgdm9wX3dpbl95dXYyeXV2X2RhdGEgcmszMzk5X3Zv cF9iaWdfd2luX3l1djJ5dXZfZGF0YVtdID0geworCXsgLmJhc2UgPSAweDAwLCAucGh5ID0gJnJr MzM5OV95dXYyeXV2X3dpbjAxX2RhdGEsCisJICAueTJyX2VuID0gVk9QX1JFRyhSSzMzOTlfWVVW MllVVl9XSU4sIDB4MSwgMSkgfSwKKwl7IC5iYXNlID0gMHg2MCwgLnBoeSA9ICZyazMzOTlfeXV2 Mnl1dl93aW4wMV9kYXRhLAorCSAgLnkycl9lbiA9IFZPUF9SRUcoUkszMzk5X1lVVjJZVVZfV0lO LCAweDEsIDkpIH0sCisJeyAuYmFzZSA9IDB4QzAsIC5waHkgPSAmcmszMzk5X3l1djJ5dXZfd2lu MjNfZGF0YSB9LAorCXsgLmJhc2UgPSAweDEyMCwgLnBoeSA9ICZyazMzOTlfeXV2Mnl1dl93aW4y M19kYXRhIH0sCit9OworCiBzdGF0aWMgY29uc3Qgc3RydWN0IHZvcF9kYXRhIHJrMzM5OV92b3Bf YmlnID0gewogCS52ZXJzaW9uID0gVk9QX1ZFUlNJT04oMywgNSksCiAJLmZlYXR1cmUgPSBWT1Bf RkVBVFVSRV9PVVRQVVRfUkdCMTAsCkBAIC02NDcsNiArNjc1LDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCB2b3BfZGF0YSByazMzOTlfdm9wX2JpZyA9IHsKIAkubWlzYyA9ICZyazMzNjhfbWlzYywK IAkud2luID0gcmszMzY4X3ZvcF93aW5fZGF0YSwKIAkud2luX3NpemUgPSBBUlJBWV9TSVpFKHJr MzM2OF92b3Bfd2luX2RhdGEpLAorCS53aW5feXV2Mnl1diA9IHJrMzM5OV92b3BfYmlnX3dpbl95 dXYyeXV2X2RhdGEsCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHZvcF93aW5fZGF0YSByazMz OTlfdm9wX2xpdF93aW5fZGF0YVtdID0gewpAQCAtNjU2LDYgKzY4NSwxMiBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IHZvcF93aW5fZGF0YSByazMzOTlfdm9wX2xpdF93aW5fZGF0YVtdID0gewogCSAg LnR5cGUgPSBEUk1fUExBTkVfVFlQRV9DVVJTT1J9LAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVj dCB2b3Bfd2luX3l1djJ5dXZfZGF0YSByazMzOTlfdm9wX2xpdF93aW5feXV2Mnl1dl9kYXRhW10g PSB7CisJeyAuYmFzZSA9IDB4MDAsIC5waHkgPSAmcmszMzk5X3l1djJ5dXZfd2luMDFfZGF0YSwK KwkgIC55MnJfZW4gPSBWT1BfUkVHKFJLMzM5OV9ZVVYyWVVWX1dJTiwgMHgxLCAxKX0sCisJeyAu YmFzZSA9IDB4NjAsIC5waHkgPSAmcmszMzk5X3l1djJ5dXZfd2luMjNfZGF0YSB9LAorfTsKKwog c3RhdGljIGNvbnN0IHN0cnVjdCB2b3BfZGF0YSByazMzOTlfdm9wX2xpdCA9IHsKIAkudmVyc2lv biA9IFZPUF9WRVJTSU9OKDMsIDYpLAogCS5pbnRyID0gJnJrMzM2Nl92b3BfaW50ciwKQEAgLTY2 NSw2ICs3MDAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHZvcF9kYXRhIHJrMzM5OV92b3BfbGl0 ID0gewogCS5taXNjID0gJnJrMzM2OF9taXNjLAogCS53aW4gPSByazMzOTlfdm9wX2xpdF93aW5f ZGF0YSwKIAkud2luX3NpemUgPSBBUlJBWV9TSVpFKHJrMzM5OV92b3BfbGl0X3dpbl9kYXRhKSwK Kwkud2luX3l1djJ5dXYgPSByazMzOTlfdm9wX2xpdF93aW5feXV2Mnl1dl9kYXRhLAogfTsKIAog c3RhdGljIGNvbnN0IHN0cnVjdCB2b3Bfd2luX2RhdGEgcmszMjI4X3ZvcF93aW5fZGF0YVtdID0g ewotLSAKMi4yMC4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK