From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1FEBB89736 for ; Thu, 28 Mar 2019 18:08:49 +0000 (UTC) From: Maarten Lankhorst Date: Thu, 28 Mar 2019 19:08:43 +0100 Message-Id: <20190328180845.3905-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 1/3] lib/igt_fb: Add support for Y21x formats as well, v3. 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 List-ID: VGhvc2UgZm9ybWF0cyBhcmUgcGFja2VkIGxpa2UgWVVZViwgYnV0IG9ubHkgMTYgYml0cyBwZXIg Y29tcG9uZW50LgoKQ2hhbmdlcyBzaW5jZSB2MToKLSBSZWJhc2Ugb24gdG9wIG9mIHVwc3RyZWFt IFlVViBjaGFuZ2VzLgpDaGFuZ2VzIHNpbmNlIHYyOgotIFVzZSBkcm1fZm91cmNjLmggZnJvbSB1 cHN0cmVhbS4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmto b3JzdEBsaW51eC5pbnRlbC5jb20+ClJldmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGluY2x1ZGUvZHJtLXVhcGkvZHJtX2ZvdXJj Yy5oIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGxpYi9pZ3RfY29s b3JfZW5jb2RpbmcuYyAgICAgIHwgIDMgKysrCiBsaWIvaWd0X2ZiLmMgICAgICAgICAgICAgICAg ICB8IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwg OTkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt LXVhcGkvZHJtX2ZvdXJjYy5oIGIvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmgKaW5kZXgg YmFiMjAyOThmNDIyLi4zZmVlYWEzZjk4N2EgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtLXVhcGkv ZHJtX2ZvdXJjYy5oCisrKyBiL2luY2x1ZGUvZHJtLXVhcGkvZHJtX2ZvdXJjYy5oCkBAIC0xNDQs NiArMTQ0LDE3IEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBEUk1fRk9STUFUX1JHQkExMDEwMTAy CWZvdXJjY19jb2RlKCdSJywgJ0EnLCAnMycsICcwJykgLyogWzMxOjBdIFI6RzpCOkEgMTA6MTA6 MTA6MiBsaXR0bGUgZW5kaWFuICovCiAjZGVmaW5lIERSTV9GT1JNQVRfQkdSQTEwMTAxMDIJZm91 cmNjX2NvZGUoJ0InLCAnQScsICczJywgJzAnKSAvKiBbMzE6MF0gQjpHOlI6QSAxMDoxMDoxMDoy IGxpdHRsZSBlbmRpYW4gKi8KIAorLyoKKyAqIEZsb2F0aW5nIHBvaW50IDY0YnBwIFJHQgorICog SUVFRSA3NTQtMjAwOCBiaW5hcnkxNiBoYWxmLXByZWNpc2lvbiBmbG9hdAorICogWzE1OjBdIHNp Z246ZXhwb25lbnQ6bWFudGlzc2EgMTo1OjEwCisgKi8KKyNkZWZpbmUgRFJNX0ZPUk1BVF9YUkdC MTYxNjE2MTZGIGZvdXJjY19jb2RlKCdYJywgJ1InLCAnNCcsICdIJykgLyogWzYzOjBdIHg6UjpH OkIgMTY6MTY6MTY6MTYgbGl0dGxlIGVuZGlhbiAqLworI2RlZmluZSBEUk1fRk9STUFUX1hCR1Ix NjE2MTYxNkYgZm91cmNjX2NvZGUoJ1gnLCAnQicsICc0JywgJ0gnKSAvKiBbNjM6MF0geDpCOkc6 UiAxNjoxNjoxNjoxNiBsaXR0bGUgZW5kaWFuICovCisKKyNkZWZpbmUgRFJNX0ZPUk1BVF9BUkdC MTYxNjE2MTZGIGZvdXJjY19jb2RlKCdBJywgJ1InLCAnNCcsICdIJykgLyogWzYzOjBdIEE6UjpH OkIgMTY6MTY6MTY6MTYgbGl0dGxlIGVuZGlhbiAqLworI2RlZmluZSBEUk1fRk9STUFUX0FCR1Ix NjE2MTYxNkYgZm91cmNjX2NvZGUoJ0EnLCAnQicsICc0JywgJ0gnKSAvKiBbNjM6MF0gQTpCOkc6 UiAxNjoxNjoxNjoxNiBsaXR0bGUgZW5kaWFuICovCisKIC8qIHBhY2tlZCBZQ2JDciAqLwogI2Rl ZmluZSBEUk1fRk9STUFUX1lVWVYJCWZvdXJjY19jb2RlKCdZJywgJ1UnLCAnWScsICdWJykgLyog WzMxOjBdIENyMDpZMTpDYjA6WTAgODo4Ojg6OCBsaXR0bGUgZW5kaWFuICovCiAjZGVmaW5lIERS TV9GT1JNQVRfWVZZVQkJZm91cmNjX2NvZGUoJ1knLCAnVicsICdZJywgJ1UnKSAvKiBbMzE6MF0g Q2IwOlkxOkNyMDpZMCA4Ojg6ODo4IGxpdHRsZSBlbmRpYW4gKi8KQEAgLTE1MSw3ICsxNjIsMjkg QEAgZXh0ZXJuICJDIiB7CiAjZGVmaW5lIERSTV9GT1JNQVRfVllVWQkJZm91cmNjX2NvZGUoJ1Yn LCAnWScsICdVJywgJ1knKSAvKiBbMzE6MF0gWTE6Q2IwOlkwOkNyMCA4Ojg6ODo4IGxpdHRsZSBl bmRpYW4gKi8KIAogI2RlZmluZSBEUk1fRk9STUFUX0FZVVYJCWZvdXJjY19jb2RlKCdBJywgJ1kn LCAnVScsICdWJykgLyogWzMxOjBdIEE6WTpDYjpDciA4Ojg6ODo4IGxpdHRsZSBlbmRpYW4gKi8K LSNkZWZpbmUgRFJNX0ZPUk1BVF9YWVVWODg4OAkJZm91cmNjX2NvZGUoJ1gnLCAnWScsICdVJywg J1YnKSAvKiBbMzE6MF0gWDpZOkNiOkNyIDg6ODo4OjggbGl0dGxlIGVuZGlhbiAqLworI2RlZmlu ZSBEUk1fRk9STUFUX1hZVVY4ODg4CWZvdXJjY19jb2RlKCdYJywgJ1knLCAnVScsICdWJykgLyog WzMxOjBdIFg6WTpDYjpDciA4Ojg6ODo4IGxpdHRsZSBlbmRpYW4gKi8KKyNkZWZpbmUgRFJNX0ZP Uk1BVF9WVVk4ODgJZm91cmNjX2NvZGUoJ1YnLCAnVScsICcyJywgJzQnKSAvKiBbMjM6MF0gQ3I6 Q2I6WSA4Ojg6OCBsaXR0bGUgZW5kaWFuICovCisjZGVmaW5lIERSTV9GT1JNQVRfVlVZMTAxMDEw CWZvdXJjY19jb2RlKCdWJywgJ1UnLCAnMycsICcwJykgLyogWSBmb2xsb3dlZCBieSBVIHRoZW4g ViwgMTA6MTA6MTAuIE5vbi1saW5lYXIgbW9kaWZpZXIgb25seSAqLworCisvKgorICogcGFja2Vk IFkyeHggaW5kaWNhdGUgZm9yIGVhY2ggY29tcG9uZW50LCB4eCB2YWxpZCBkYXRhIG9jY3VweSBt c2IKKyAqIDE2LXh4IHBhZGRpbmcgb2NjdXB5IGxzYgorICovCisjZGVmaW5lIERSTV9GT1JNQVRf WTIxMCAgICAgICAgIGZvdXJjY19jb2RlKCdZJywgJzInLCAnMScsICcwJykgLyogWzYzOjBdIENy MDowOlkxOjA6Q2IwOjA6WTA6MCAxMDo2OjEwOjY6MTA6NjoxMDo2IGxpdHRsZSBlbmRpYW4gcGVy IDIgWSBwaXhlbHMgKi8KKyNkZWZpbmUgRFJNX0ZPUk1BVF9ZMjEyICAgICAgICAgZm91cmNjX2Nv ZGUoJ1knLCAnMicsICcxJywgJzInKSAvKiBbNjM6MF0gQ3IwOjA6WTE6MDpDYjA6MDpZMDowIDEy OjQ6MTI6NDoxMjo0OjEyOjQgbGl0dGxlIGVuZGlhbiBwZXIgMiBZIHBpeGVscyAqLworI2RlZmlu ZSBEUk1fRk9STUFUX1kyMTYgICAgICAgICBmb3VyY2NfY29kZSgnWScsICcyJywgJzEnLCAnNicp IC8qIFs2MzowXSBDcjA6WTE6Q2IwOlkwIDE2OjE2OjE2OjE2IGxpdHRsZSBlbmRpYW4gcGVyIDIg WSBwaXhlbHMgKi8KKworLyoKKyAqIHBhY2tlZCBZNHh4IGluZGljYXRlIGZvciBlYWNoIGNvbXBv bmVudCwgeHggdmFsaWQgZGF0YSBvY2N1cHkgbXNiCisgKiAxNi14eCBwYWRkaW5nIG9jY3VweSBs c2IgZXhjZXB0IFk0MTAKKyAqLworI2RlZmluZSBEUk1fRk9STUFUX1k0MTAgICAgICAgICBmb3Vy Y2NfY29kZSgnWScsICc0JywgJzEnLCAnMCcpIC8qIFszMTowXSBBOkNyOlk6Q2IgMjoxMDoxMDox MCBsaXR0bGUgZW5kaWFuICovCisjZGVmaW5lIERSTV9GT1JNQVRfWTQxMiAgICAgICAgIGZvdXJj Y19jb2RlKCdZJywgJzQnLCAnMScsICcyJykgLyogWzYzOjBdIEE6MDpDcjowOlk6MDpDYjowIDEy OjQ6MTI6NDoxMjo0OjEyOjQgbGl0dGxlIGVuZGlhbiAqLworI2RlZmluZSBEUk1fRk9STUFUX1k0 MTYgICAgICAgICBmb3VyY2NfY29kZSgnWScsICc0JywgJzEnLCAnNicpIC8qIFs2MzowXSBBOkNy Olk6Q2IgMTY6MTY6MTY6MTYgbGl0dGxlIGVuZGlhbiAqLworCisjZGVmaW5lIERSTV9GT1JNQVRf WFZZVTIxMDEwMTAJZm91cmNjX2NvZGUoJ1gnLCAnVicsICczJywgJzAnKSAvKiBbMzE6MF0gWDpD cjpZOkNiIDI6MTA6MTA6MTAgbGl0dGxlIGVuZGlhbiAqLworI2RlZmluZSBEUk1fRk9STUFUX1hW WVUxMl8xNjE2MTYxNglmb3VyY2NfY29kZSgnWCcsICdWJywgJzMnLCAnNicpIC8qIFs2MzowXSBY OjA6Q3I6MDpZOjA6Q2I6MCAxMjo0OjEyOjQ6MTI6NDoxMjo0IGxpdHRsZSBlbmRpYW4gKi8KKyNk ZWZpbmUgRFJNX0ZPUk1BVF9YVllVMTYxNjE2MTYJZm91cmNjX2NvZGUoJ1gnLCAnVicsICc0Jywg JzgnKSAvKiBbNjM6MF0gWDpDcjpZOkNiIDE2OjE2OjE2OjE2IGxpdHRsZSBlbmRpYW4gKi8KIAog LyoKICAqIHBhY2tlZCBZQ2JDcjQyMCAyeDIgdGlsZWQgZm9ybWF0cwpAQCAtMTY3LDYgKzIwMCwx NSBAQCBleHRlcm4gIkMiIHsKIC8qIFs2MzowXSAgIFgzOlgyOlkzOkNyMDpZMjpYMTpYMDpZMTpD YjA6WTAgIDE6MToxMDoxMDoxMDoxOjE6MTA6MTA6MTAgbGl0dGxlIGVuZGlhbiAqLwogI2RlZmlu ZSBEUk1fRk9STUFUX1gwTDIJCWZvdXJjY19jb2RlKCdYJywgJzAnLCAnTCcsICcyJykKIAorLyoK KyAqIDEtcGxhbmUgWVVWIDQ6MjowCisgKiBJbiB0aGVzZSBmb3JtYXRzLCB0aGUgY29tcG9uZW50 IG9yZGVyaW5nIGlzIHNwZWNpZmllZCAoWSwgZm9sbG93ZWQgYnkgVQorICogdGhlbiBWKSwgYnV0 IHRoZSBleGFjdCBMaW5lYXIgbGF5b3V0IGlzIHVuZGVmaW5lZC4KKyAqIFRoZXNlIGZvcm1hdHMg Y2FuIG9ubHkgYmUgdXNlZCB3aXRoIGEgbm9uLUxpbmVhciBtb2RpZmllci4KKyAqLworI2RlZmlu ZSBEUk1fRk9STUFUX1lVVjQyMF84QklUCWZvdXJjY19jb2RlKCdZJywgJ1UnLCAnMCcsICc4JykK KyNkZWZpbmUgRFJNX0ZPUk1BVF9ZVVY0MjBfMTBCSVQJZm91cmNjX2NvZGUoJ1knLCAnVScsICcx JywgJzAnKQorCiAvKgogICogMiBwbGFuZSBSR0IgKyBBCiAgKiBpbmRleCAwID0gUkdCIHBsYW5l LCBzYW1lIGZvcm1hdCBhcyB0aGUgY29ycmVzcG9uZGluZyBub24gX0E4IGZvcm1hdCBoYXMKQEAg LTE5NSw2ICsyMzcsMTMgQEAgZXh0ZXJuICJDIiB7CiAjZGVmaW5lIERSTV9GT1JNQVRfTlYyNAkJ Zm91cmNjX2NvZGUoJ04nLCAnVicsICcyJywgJzQnKSAvKiBub24tc3Vic2FtcGxlZCBDcjpDYiBw bGFuZSAqLwogI2RlZmluZSBEUk1fRk9STUFUX05WNDIJCWZvdXJjY19jb2RlKCdOJywgJ1YnLCAn NCcsICcyJykgLyogbm9uLXN1YnNhbXBsZWQgQ2I6Q3IgcGxhbmUgKi8KIAorLyoKKyAqIDIgcGxh bmUgWUNiQ3IgTVNCIGFsaWduZWQKKyAqIGluZGV4IDAgPSBZIHBsYW5lLCBbMTU6MF0gWTp4IFsx MDo2XSBsaXR0bGUgZW5kaWFuCisgKiBpbmRleCAxID0gQ3I6Q2IgcGxhbmUsIFszMTowXSBDcjp4 OkNiOnggWzEwOjY6MTA6Nl0gbGl0dGxlIGVuZGlhbgorICovCisjZGVmaW5lIERSTV9GT1JNQVRf UDIxMAkJZm91cmNjX2NvZGUoJ1AnLCAnMicsICcxJywgJzAnKSAvKiAyeDEgc3Vic2FtcGxlZCBD cjpDYiBwbGFuZSwgMTAgYml0IHBlciBjaGFubmVsICovCisKIC8qCiAgKiAyIHBsYW5lIFlDYkNy IE1TQiBhbGlnbmVkCiAgKiBpbmRleCAwID0gWSBwbGFuZSwgWzE1OjBdIFk6eCBbMTA6Nl0gbGl0 dGxlIGVuZGlhbgpkaWZmIC0tZ2l0IGEvbGliL2lndF9jb2xvcl9lbmNvZGluZy5jIGIvbGliL2ln dF9jb2xvcl9lbmNvZGluZy5jCmluZGV4IGNjNzZhOTkxOTI0Mi4uOWY5ZGMxNDM5ZWU0IDEwMDY0 NAotLS0gYS9saWIvaWd0X2NvbG9yX2VuY29kaW5nLmMKKysrIGIvbGliL2lndF9jb2xvcl9lbmNv ZGluZy5jCkBAIC0xNTEsNiArMTUxLDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjb2xvcl9lbmNv ZGluZ19mb3JtYXQgewogCXsgRFJNX0ZPUk1BVF9QMDEwLCA2NTQ3Mi5mLCA0MDk2LmYsIDYwMTYw LmYsIDQwOTYuZiwgMzI3NjguZiwgNjE0NDAuZiB9LAogCXsgRFJNX0ZPUk1BVF9QMDEyLCA2NTUy MC5mLCA0MDk2LmYsIDYwMTYwLmYsIDQwOTYuZiwgMzI3NjguZiwgNjE0NDAuZiB9LAogCXsgRFJN X0ZPUk1BVF9QMDE2LCA2NTUzNS5mLCA0MDk2LmYsIDYwMTYwLmYsIDQwOTYuZiwgMzI3NjguZiwg NjE0NDAuZiB9LAorCXsgRFJNX0ZPUk1BVF9ZMjEwLCA2NTQ3Mi5mLCA0MDk2LmYsIDYwMTYwLmYs IDQwOTYuZiwgMzI3NjguZiwgNjE0NDAuZiB9LAorCXsgRFJNX0ZPUk1BVF9ZMjEyLCA2NTUyMC5m LCA0MDk2LmYsIDYwMTYwLmYsIDQwOTYuZiwgMzI3NjguZiwgNjE0NDAuZiB9LAorCXsgRFJNX0ZP Uk1BVF9ZMjE2LCA2NTUzNS5mLCA0MDk2LmYsIDYwMTYwLmYsIDQwOTYuZiwgMzI3NjguZiwgNjE0 NDAuZiB9LAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBjb2xvcl9lbmNvZGluZ19mb3JtYXQg Kmxvb2t1cF9mb3VyY2ModWludDMyX3QgZm91cmNjKQpkaWZmIC0tZ2l0IGEvbGliL2lndF9mYi5j IGIvbGliL2lndF9mYi5jCmluZGV4IGZjZDdjNGM1ZDE4Ny4uYzViMWUxNjlhNWZmIDEwMDY0NAot LS0gYS9saWIvaWd0X2ZiLmMKKysrIGIvbGliL2lndF9mYi5jCkBAIC0yMzYsNiArMjM2LDIxIEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZm9ybWF0X2Rlc2Nfc3RydWN0IHsKIAkgIC5udW1fcGxhbmVz ID0gMiwgLnBsYW5lX2JwcCA9IHsgMTYsIDMyIH0sCiAJICAudnN1YiA9IDIsIC5oc3ViID0gMiwK IAl9LAorCXsgLm5hbWUgPSAiWTIxMCIsIC5kZXB0aCA9IC0xLCAuZHJtX2lkID0gRFJNX0ZPUk1B VF9ZMjEwLAorCSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQjk2RiwKKwkgIC5udW1fcGxh bmVzID0gMSwgLnBsYW5lX2JwcCA9IHsgMzIsIH0sCisJICAuaHN1YiA9IDIsIC52c3ViID0gMSwK Kwl9LAorCXsgLm5hbWUgPSAiWTIxMiIsIC5kZXB0aCA9IC0xLCAuZHJtX2lkID0gRFJNX0ZPUk1B VF9ZMjEyLAorCSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQjk2RiwKKwkgIC5udW1fcGxh bmVzID0gMSwgLnBsYW5lX2JwcCA9IHsgMzIsIH0sCisJICAuaHN1YiA9IDIsIC52c3ViID0gMSwK Kwl9LAorCXsgLm5hbWUgPSAiWTIxNiIsIC5kZXB0aCA9IC0xLCAuZHJtX2lkID0gRFJNX0ZPUk1B VF9ZMjE2LAorCSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQjk2RiwKKwkgIC5udW1fcGxh bmVzID0gMSwgLnBsYW5lX2JwcCA9IHsgMzIsIH0sCisJICAuaHN1YiA9IDIsIC52c3ViID0gMSwK Kwl9LAogCXsgLm5hbWUgPSAiSUdULUZMT0FUIiwgLmRlcHRoID0gLTEsIC5kcm1faWQgPSBJR1Rf Rk9STUFUX0ZMT0FULAogCSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX0lOVkFMSUQsCiAJICAu bnVtX3BsYW5lcyA9IDEsIC5wbGFuZV9icHAgPSB7IDEyOCB9LApAQCAtNjY3LDYgKzY4MiwxNCBA QCBzdGF0aWMgdm9pZCBjbGVhcl95dXZfYnVmZmVyKHN0cnVjdCBpZ3RfZmIgKmZiKQogCQl3bWVt c2V0KHB0ciArIGZiLT5vZmZzZXRzWzFdLCAweDgwMDA4MDAwLAogCQkJZmItPnN0cmlkZXNbMV0g KiBmYi0+cGxhbmVfaGVpZ2h0WzFdIC8gc2l6ZW9mKHdjaGFyX3QpKTsKIAkJYnJlYWs7CisJY2Fz ZSBEUk1fRk9STUFUX1kyMTA6CisJY2FzZSBEUk1fRk9STUFUX1kyMTI6CisJY2FzZSBEUk1fRk9S TUFUX1kyMTY6CisJCXdtZW1zZXQocHRyICsgZmItPm9mZnNldHNbMF0sCisJCQlmdWxsX3Jhbmdl ID8gMHg4MDAwMDAwMCA6IDB4ODAwMDEwMDAsCisJCQlmYi0+c3RyaWRlc1swXSAqIGZiLT5wbGFu ZV9oZWlnaHRbMF0gLyBzaXplb2Yod2NoYXJfdCkpOworCQlicmVhazsKKwogCX0KIAogCWlndF9m Yl91bm1hcF9idWZmZXIoZmIsIHB0cik7CkBAIC0xOTE3LDYgKzE5NDAsOSBAQCBzdGF0aWMgdm9p ZCBnZXRfeXV2X3BhcmFtZXRlcnMoc3RydWN0IGlndF9mYiAqZmIsIHN0cnVjdCB5dXZfcGFyYW1l dGVycyAqcGFyYW1zKQogCWNhc2UgRFJNX0ZPUk1BVF9ZVllVOgogCWNhc2UgRFJNX0ZPUk1BVF9V WVZZOgogCWNhc2UgRFJNX0ZPUk1BVF9WWVVZOgorCWNhc2UgRFJNX0ZPUk1BVF9ZMjEwOgorCWNh c2UgRFJNX0ZPUk1BVF9ZMjEyOgorCWNhc2UgRFJNX0ZPUk1BVF9ZMjE2OgogCQlwYXJhbXMtPnlf aW5jID0gMjsKIAkJcGFyYW1zLT51dl9pbmMgPSA0OwogCQlicmVhazsKQEAgLTE5NDcsNiArMTk3 Myw5IEBAIHN0YXRpYyB2b2lkIGdldF95dXZfcGFyYW1ldGVycyhzdHJ1Y3QgaWd0X2ZiICpmYiwg c3RydWN0IHl1dl9wYXJhbWV0ZXJzICpwYXJhbXMpCiAJY2FzZSBEUk1fRk9STUFUX1lWWVU6CiAJ Y2FzZSBEUk1fRk9STUFUX1VZVlk6CiAJY2FzZSBEUk1fRk9STUFUX1ZZVVk6CisJY2FzZSBEUk1f Rk9STUFUX1kyMTA6CisJY2FzZSBEUk1fRk9STUFUX1kyMTI6CisJY2FzZSBEUk1fRk9STUFUX1ky MTY6CiAJY2FzZSBEUk1fRk9STUFUX1hZVVY4ODg4OgogCQlwYXJhbXMtPnlfc3RyaWRlID0gZmIt PnN0cmlkZXNbMF07CiAJCXBhcmFtcy0+dXZfc3RyaWRlID0gZmItPnN0cmlkZXNbMF07CkBAIC0y MDE0LDYgKzIwNDMsMTQgQEAgc3RhdGljIHZvaWQgZ2V0X3l1dl9wYXJhbWV0ZXJzKHN0cnVjdCBp Z3RfZmIgKmZiLCBzdHJ1Y3QgeXV2X3BhcmFtZXRlcnMgKnBhcmFtcykKIAkJcGFyYW1zLT52X29m ZnNldCA9IGZiLT5vZmZzZXRzWzBdOwogCQlicmVhazsKIAorCWNhc2UgRFJNX0ZPUk1BVF9ZMjEw OgorCWNhc2UgRFJNX0ZPUk1BVF9ZMjEyOgorCWNhc2UgRFJNX0ZPUk1BVF9ZMjE2OgorCQlwYXJh bXMtPnlfb2Zmc2V0ID0gZmItPm9mZnNldHNbMF07CisJCXBhcmFtcy0+dV9vZmZzZXQgPSBmYi0+ b2Zmc2V0c1swXSArIDI7CisJCXBhcmFtcy0+dl9vZmZzZXQgPSBmYi0+b2Zmc2V0c1swXSArIDY7 CisJCWJyZWFrOworCiAJY2FzZSBEUk1fRk9STUFUX1hZVVY4ODg4OgogCQlwYXJhbXMtPnlfb2Zm c2V0ID0gZmItPm9mZnNldHNbMF0gKyAxOwogCQlwYXJhbXMtPnVfb2Zmc2V0ID0gZmItPm9mZnNl dHNbMF0gKyAyOwpAQCAtMjQyOSw2ICsyNDY2LDkgQEAgc3RhdGljIHZvaWQgZmJfY29udmVydChz dHJ1Y3QgZmJfY29udmVydCAqY3Z0KQogCQljYXNlIERSTV9GT1JNQVRfUDAxMDoKIAkJY2FzZSBE Uk1fRk9STUFUX1AwMTI6CiAJCWNhc2UgRFJNX0ZPUk1BVF9QMDE2OgorCQljYXNlIERSTV9GT1JN QVRfWTIxMDoKKwkJY2FzZSBEUk1fRk9STUFUX1kyMTI6CisJCWNhc2UgRFJNX0ZPUk1BVF9ZMjE2 OgogCQkJY29udmVydF95dXYxNl90b19mbG9hdChjdnQpOwogCQkJcmV0dXJuOwogCQl9CkBAIC0y NDM3LDYgKzI0NzcsOSBAQCBzdGF0aWMgdm9pZCBmYl9jb252ZXJ0KHN0cnVjdCBmYl9jb252ZXJ0 ICpjdnQpCiAJCWNhc2UgRFJNX0ZPUk1BVF9QMDEwOgogCQljYXNlIERSTV9GT1JNQVRfUDAxMjoK IAkJY2FzZSBEUk1fRk9STUFUX1AwMTY6CisJCWNhc2UgRFJNX0ZPUk1BVF9ZMjEwOgorCQljYXNl IERSTV9GT1JNQVRfWTIxMjoKKwkJY2FzZSBEUk1fRk9STUFUX1kyMTY6CiAJCQljb252ZXJ0X2Zs b2F0X3RvX3l1djE2KGN2dCk7CiAJCQlyZXR1cm47CiAJCX0KQEAgLTI5MDEsNiArMjk0NCw5IEBA IGJvb2wgaWd0X2Zvcm1hdF9pc195dXYodWludDMyX3QgZHJtX2Zvcm1hdCkKIAljYXNlIERSTV9G T1JNQVRfUDAxMDoKIAljYXNlIERSTV9GT1JNQVRfUDAxMjoKIAljYXNlIERSTV9GT1JNQVRfUDAx NjoKKwljYXNlIERSTV9GT1JNQVRfWTIxMDoKKwljYXNlIERSTV9GT1JNQVRfWTIxMjoKKwljYXNl IERSTV9GT1JNQVRfWTIxNjoKIAljYXNlIERSTV9GT1JNQVRfWVVZVjoKIAljYXNlIERSTV9GT1JN QVRfWVZZVToKIAljYXNlIERSTV9GT1JNQVRfVVlWWToKLS0gCjIuMjAuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QK aWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2