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 C52316E364 for ; Fri, 8 Mar 2019 13:17:26 +0000 (UTC) From: Maarten Lankhorst Date: Fri, 8 Mar 2019 14:17:23 +0100 Message-Id: <20190308131723.27785-2-maarten.lankhorst@linux.intel.com> In-Reply-To: <20190308131723.27785-1-maarten.lankhorst@linux.intel.com> References: <20190308131723.27785-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 2/2] lib/igt_fb: Add support for Y410/Y416 formats, v2. 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: WTQxMCBpcyBwYWNrZWQgd2l0aCBjb21wcmVzc2VkIGEgY2hhbm5lbCBhbmQgb25seSAzMiBicHAs IGxpa2UKMTAgYml0cyBSR0IgZm9ybWF0cy4gWTQxNiBpcyBhIHBhY2tlZCAxNiBiaXRzIHBlciBj b21wb25lbnQgZm9ybWF0LgoKQ2hhbmdlcyBzaW5jZSB2MToKLSBSZWJhc2Ugb24gdG9wIG9mIHVw c3RyZWFtIFlVViBjaGFuZ2VzLgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1h YXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiBpbmNsdWRlL2RybS11YXBpL2Ry bV9mb3VyY2MuaCB8ICAgNCArCiBsaWIvaWd0X2NvbG9yX2VuY29kaW5nLmMgICAgICB8ICAgMiAr CiBsaWIvaWd0X2ZiLmMgICAgICAgICAgICAgICAgICB8IDEzMyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEzOSBpbnNlcnRpb25zKCspCgpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmggYi9pbmNsdWRlL2RybS11YXBp L2RybV9mb3VyY2MuaAppbmRleCA5ZmE3Y2Y3YmIyNzQuLjBjMDhjNzk0NzZjNSAxMDA2NDQKLS0t IGEvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmgKKysrIGIvaW5jbHVkZS9kcm0tdWFwaS9k cm1fZm91cmNjLmgKQEAgLTE2OSw2ICsxNjksMTAgQEAgZXh0ZXJuICJDIiB7CiAjZGVmaW5lIERS TV9GT1JNQVRfWTQxMiAgICAgICAgIGZvdXJjY19jb2RlKCdZJywgJzQnLCAnMScsICcyJykgLyog WzYzOjBdIFg6eDpWOng6WTp4OlU6eCAxMjo0OjEyOjQ6MTI6NDoxMjo0IGxpdHRsZSBlbmRpYW4g Ki8KICNkZWZpbmUgRFJNX0ZPUk1BVF9ZNDE2ICAgICAgICAgZm91cmNjX2NvZGUoJ1knLCAnNCcs ICcxJywgJzYnKSAvKiBbNjM6MF0gWDpWOlk6VSAxNjoxNjoxNjoxNiBsaXR0bGUgZW5kaWFuICov CiAKKyNkZWZpbmUgRFJNX0ZPUk1BVF9ZNDEwCQlmb3VyY2NfY29kZSgnWScsICc0JywgJzEnLCAn MCcpIC8qIFszMTowXSBBOlY6WTpVIDI6MTA6MTA6MTAgbGl0dGxlIGVuZGlhbiAqLworI2RlZmlu ZSBEUk1fRk9STUFUX1k0MTIJCWZvdXJjY19jb2RlKCdZJywgJzQnLCAnMScsICcyJykgLyogWzMx OjBdIEE6VjpZOlUgMjoxMDoxMDoxMCBsaXR0bGUgZW5kaWFuICovCisjZGVmaW5lIERSTV9GT1JN QVRfWTQxNgkJZm91cmNjX2NvZGUoJ1knLCAnNCcsICcxJywgJzYnKSAvKiBbMTI3OjBdIEE6VjpZ OlUgMTY6MTY6MTY6MTYgbGl0dGxlIGVuZGlhbiAqLworCiAvKgogICogcGFja2VkIFlDYkNyNDIw IDJ4MiB0aWxlZCBmb3JtYXRzCiAgKiBmaXJzdCA2NCBiaXRzIHdpbGwgY29udGFpbiBZLENiLENy IGNvbXBvbmVudHMgZm9yIGEgMngyIHRpbGUKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfY29sb3JfZW5j b2RpbmcuYyBiL2xpYi9pZ3RfY29sb3JfZW5jb2RpbmcuYwppbmRleCA5ZjlkYzE0MzllZTQuLjBl YmRkZGNkNDljNSAxMDA2NDQKLS0tIGEvbGliL2lndF9jb2xvcl9lbmNvZGluZy5jCisrKyBiL2xp Yi9pZ3RfY29sb3JfZW5jb2RpbmcuYwpAQCAtMTU0LDYgKzE1NCw4IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgY29sb3JfZW5jb2RpbmdfZm9ybWF0IHsKIAl7IERSTV9GT1JNQVRfWTIxMCwgNjU0NzIu ZiwgNDA5Ni5mLCA2MDE2MC5mLCA0MDk2LmYsIDMyNzY4LmYsIDYxNDQwLmYgfSwKIAl7IERSTV9G T1JNQVRfWTIxMiwgNjU1MjAuZiwgNDA5Ni5mLCA2MDE2MC5mLCA0MDk2LmYsIDMyNzY4LmYsIDYx NDQwLmYgfSwKIAl7IERSTV9GT1JNQVRfWTIxNiwgNjU1MzUuZiwgNDA5Ni5mLCA2MDE2MC5mLCA0 MDk2LmYsIDMyNzY4LmYsIDYxNDQwLmYgfSwKKwl7IERSTV9GT1JNQVRfWTQxMCwgMTAyMy5mLCA2 NC5mLCA5NDAuZiwgNjQuZiwgNTEyLmYsIDk2MC5mIH0sCisJeyBEUk1fRk9STUFUX1k0MTYsIDY1 NTM1LmYsIDQwOTYuZiwgNjAxNjAuZiwgNDA5Ni5mLCAzMjc2OC5mLCA2MTQ0MC5mIH0sCiB9Owog CiBzdGF0aWMgY29uc3Qgc3RydWN0IGNvbG9yX2VuY29kaW5nX2Zvcm1hdCAqbG9va3VwX2ZvdXJj Yyh1aW50MzJfdCBmb3VyY2MpCmRpZmYgLS1naXQgYS9saWIvaWd0X2ZiLmMgYi9saWIvaWd0X2Zi LmMKaW5kZXggNmMyMjJjMDJhNDU2Li5iNzM4MjQ0YzM5MjAgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3Rf ZmIuYworKysgYi9saWIvaWd0X2ZiLmMKQEAgLTIyMSw2ICsyMjEsMTYgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBmb3JtYXRfZGVzY19zdHJ1Y3QgewogCSAgLm51bV9wbGFuZXMgPSAzLCAucGxhbmVf YnBwID0geyA4LCA4LCA4LCB9LAogCSAgLmhzdWIgPSAyLCAudnN1YiA9IDEsCiAJfSwKKwl7IC5u YW1lID0gIlk0MTAiLCAuZGVwdGggPSAtMSwgLmRybV9pZCA9IERSTV9GT1JNQVRfWTQxMCwKKwkg IC5jYWlyb19pZCA9IENBSVJPX0ZPUk1BVF9SR0JBMTI4RiwKKwkgIC5udW1fcGxhbmVzID0gMSwg LnBsYW5lX2JwcCA9IHsgMzIsIH0sCisJICAuaHN1YiA9IDEsIC52c3ViID0gMSwKKwl9LAorCXsg Lm5hbWUgPSAiWTQxNiIsIC5kZXB0aCA9IC0xLCAuZHJtX2lkID0gRFJNX0ZPUk1BVF9ZNDE2LAor CSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQkExMjhGLAorCSAgLm51bV9wbGFuZXMgPSAx LCAucGxhbmVfYnBwID0geyA2NCwgfSwKKwkgIC5oc3ViID0gMSwgLnZzdWIgPSAxLAorCX0sCiAJ eyAubmFtZSA9ICJQMDEwIiwgLmRlcHRoID0gLTEsIC5kcm1faWQgPSBEUk1fRk9STUFUX1AwMTAs CiAJICAuY2Fpcm9faWQgPSBDQUlST19GT1JNQVRfUkdCOTZGLAogCSAgLm51bV9wbGFuZXMgPSAy LCAucGxhbmVfYnBwID0geyAxNiwgMzIgfSwKQEAgLTY2Miw2ICs2NzIsMjggQEAgc3RhdGljIHZv aWQgY2xlYXJfeXV2X2J1ZmZlcihzdHJ1Y3QgaWd0X2ZiICpmYikKIAkJCWZiLT5zdHJpZGVzWzBd ICogZmItPnBsYW5lX2hlaWdodFswXSAvIHNpemVvZih3Y2hhcl90KSk7CiAJCWJyZWFrOwogCisJ Y2FzZSBEUk1fRk9STUFUX1k0MTA6CisJCXdtZW1zZXQocHRyICsgZmItPm9mZnNldHNbMF0sCisJ CQlmdWxsX3JhbmdlID8gMHhlMDAwMDIwMCA6IDB4ZTAwMTAyMDAsCisJCWZiLT5zdHJpZGVzWzBd ICogZmItPnBsYW5lX2hlaWdodFswXSAvIHNpemVvZih3Y2hhcl90KSk7CisJCWJyZWFrOworCWNh c2UgRFJNX0ZPUk1BVF9ZNDE2OiB7CisJCXN0cnVjdCBheXV2MTYgeyB1aW50MTZfdCB1LCB5LCB2 LCBhOyB9OworCQljb25zdCBzdHJ1Y3QgYXl1djE2IHBpeGVsID0geworCQkJLmEgPSAweGZmZmYs CisJCQkudiA9IGZ1bGxfcmFuZ2UgPyAwIDogMHgxMDAwLAorCQkJLnkgPSAweDgwMDAsCisJCQku dSA9IGZ1bGxfcmFuZ2UgPyAwIDogMHgxMDAwCisJCX07CisKKwkJZm9yIChpbnQgaSA9IDA7IGkg PCBmYi0+cGxhbmVfaGVpZ2h0WzBdOyBpKyspIHsKKwkJCXN0cnVjdCBheXV2MTYgKmN1ciA9IHB0 ciArIGZiLT5vZmZzZXRzWzBdICsgZmItPnN0cmlkZXNbMF0gKiBpOworCisJCQlmb3IgKGludCBq ID0gMDsgaSA8IGZiLT5wbGFuZV93aWR0aFswXTsgaisrKQorCQkJCSpjdXIrKyA9IHBpeGVsOwor CQl9CisJCWJyZWFrOworCQl9CiAJfQogCiAJaWd0X2ZiX3VubWFwX2J1ZmZlcihmYiwgcHRyKTsK QEAgLTE4MDgsNiArMTg0MCw3IEBAIHN0YXRpYyB2b2lkIGdldF95dXZfcGFyYW1ldGVycyhzdHJ1 Y3QgaWd0X2ZiICpmYiwgc3RydWN0IHl1dl9wYXJhbWV0ZXJzICpwYXJhbXMpCiAJCXBhcmFtcy0+ dXZfaW5jID0gNDsKIAkJYnJlYWs7CiAKKwljYXNlIERSTV9GT1JNQVRfWTQxNjoKIAljYXNlIERS TV9GT1JNQVRfWFlVVjg4ODg6CiAJCXBhcmFtcy0+eV9pbmMgPSA0OwogCQlwYXJhbXMtPnV2X2lu YyA9IDQ7CkBAIC0xODM4LDYgKzE4NzEsNyBAQCBzdGF0aWMgdm9pZCBnZXRfeXV2X3BhcmFtZXRl cnMoc3RydWN0IGlndF9mYiAqZmIsIHN0cnVjdCB5dXZfcGFyYW1ldGVycyAqcGFyYW1zKQogCWNh c2UgRFJNX0ZPUk1BVF9ZMjEyOgogCWNhc2UgRFJNX0ZPUk1BVF9ZMjE2OgogCWNhc2UgRFJNX0ZP Uk1BVF9YWVVWODg4ODoKKwljYXNlIERSTV9GT1JNQVRfWTQxNjoKIAkJcGFyYW1zLT55X3N0cmlk ZSA9IGZiLT5zdHJpZGVzWzBdOwogCQlwYXJhbXMtPnV2X3N0cmlkZSA9IGZiLT5zdHJpZGVzWzBd OwogCQlicmVhazsKQEAgLTE5MTIsNiArMTk0NiwxMiBAQCBzdGF0aWMgdm9pZCBnZXRfeXV2X3Bh cmFtZXRlcnMoc3RydWN0IGlndF9mYiAqZmIsIHN0cnVjdCB5dXZfcGFyYW1ldGVycyAqcGFyYW1z KQogCQlwYXJhbXMtPnZfb2Zmc2V0ID0gZmItPm9mZnNldHNbMF0gKyA2OwogCQlicmVhazsKIAor CWNhc2UgRFJNX0ZPUk1BVF9ZNDE2OgorCQlwYXJhbXMtPnlfb2Zmc2V0ID0gZmItPm9mZnNldHNb MF0gKyAyOworCQlwYXJhbXMtPnVfb2Zmc2V0ID0gZmItPm9mZnNldHNbMF07CisJCXBhcmFtcy0+ dl9vZmZzZXQgPSBmYi0+b2Zmc2V0c1swXSArIDQ7CisJCWJyZWFrOworCiAJY2FzZSBEUk1fRk9S TUFUX1hZVVY4ODg4OgogCQlwYXJhbXMtPnlfb2Zmc2V0ID0gZmItPm9mZnNldHNbMF0gKyAxOwog CQlwYXJhbXMtPnVfb2Zmc2V0ID0gZmItPm9mZnNldHNbMF0gKyAyOwpAQCAtMjE0MCw2ICsyMTgw LDcgQEAgc3RhdGljIHZvaWQgY29udmVydF95dXYxNl90b19mbG9hdChzdHJ1Y3QgZmJfY29udmVy dCAqY3Z0KQogCQl9CiAKIAkJcHRyICs9IGZsb2F0X3N0cmlkZTsKKwogCQl5ICs9IHBhcmFtcy55 X3N0cmlkZSAvIHNpemVvZigqeSk7CiAKIAkJaWYgKChzcmNfZm10LT52c3ViID09IDEpIHx8IChp ICUgc3JjX2ZtdC0+dnN1YikpIHsKQEAgLTIyNDEsNiArMjI4Miw4OCBAQCBzdGF0aWMgdm9pZCBj b252ZXJ0X2Zsb2F0X3RvX3l1djE2KHN0cnVjdCBmYl9jb252ZXJ0ICpjdnQpCiAJfQogfQogCitz dGF0aWMgdm9pZCBjb252ZXJ0X1k0MTBfdG9fZmxvYXQoc3RydWN0IGZiX2NvbnZlcnQgKmN2dCkK K3sKKwlpbnQgaSwgajsKKwljb25zdCB1aW50MzJfdCAqeXV5djsKKwl1aW50MzJfdCAqYnVmOwor CWZsb2F0ICpwdHIgPSBjdnQtPmRzdC5wdHI7CisJdW5zaWduZWQgaW50IGZsb2F0X3N0cmlkZSA9 IGN2dC0+ZHN0LmZiLT5zdHJpZGVzWzBdIC8gc2l6ZW9mKCpwdHIpOworCXVuc2lnbmVkIGludCB5 dXl2X3N0cmlkZSA9IGN2dC0+c3JjLmZiLT5zdHJpZGVzWzBdIC8gc2l6ZW9mKCp5dXl2KTsKKwlz dHJ1Y3QgaWd0X21hdDQgbSA9IGlndF95Y2Jjcl90b19yZ2JfbWF0cml4KGN2dC0+c3JjLmZiLT5k cm1fZm9ybWF0LAorCQkJCQkJICAgIGN2dC0+ZHN0LmZiLT5kcm1fZm9ybWF0LAorCQkJCQkJICAg IGN2dC0+c3JjLmZiLT5jb2xvcl9lbmNvZGluZywKKwkJCQkJCSAgICBjdnQtPnNyYy5mYi0+Y29s b3JfcmFuZ2UpOworCisJaWd0X2Fzc2VydChjdnQtPnNyYy5mYi0+ZHJtX2Zvcm1hdCA9PSBEUk1f Rk9STUFUX1k0MTAgJiYKKwkJICAgY3Z0LT5kc3QuZmItPmRybV9mb3JtYXQgPT0gSUdUX0ZPUk1B VF9GTE9BVCk7CisKKwl5dXl2ID0gYnVmID0gY29udmVydF9zcmNfZ2V0KGN2dCk7CisKKwlmb3Ig KGkgPSAwOyBpIDwgY3Z0LT5kc3QuZmItPmhlaWdodDsgaSsrKSB7CisJCWZvciAoaiA9IDA7IGog PCBjdnQtPmRzdC5mYi0+d2lkdGg7IGorKykgeworCQkJLyogQ29udmVydCAyeDEgcGl4ZWwgYmxv Y2tzICovCisJCQlzdHJ1Y3QgaWd0X3ZlYzQgeXV2OworCQkJc3RydWN0IGlndF92ZWM0IHJnYjsK KworCQkJeXV2LmRbMF0gPSB5dXl2W2pdICYgMHgzZmY7CisJCQl5dXYuZFsxXSA9ICh5dXl2W2pd ID4+IDEwKSAmIDB4M2ZmOworCQkJeXV2LmRbMl0gPSAoeXV5dltqXSA+PiAyMCkgJiAweDNmZjsK KwkJCXl1di5kWzNdID0gMS5mOworCisJCQlyZ2IgPSBpZ3RfbWF0cml4X3RyYW5zZm9ybSgmbSwg Jnl1dik7CisKKwkJCXdyaXRlX3JnYmYoJnB0cltqICogNCArIDBdLCAmcmdiKTsKKwkJCXB0cltq ICogNCArIDNdID0gKGZsb2F0KSh5dXl2W2pdID4+IDMwKSAvIDM7CisJCX0KKworCQlwdHIgKz0g ZmxvYXRfc3RyaWRlOworCQl5dXl2ICs9IHl1eXZfc3RyaWRlOworCX0KKworCWNvbnZlcnRfc3Jj X3B1dChjdnQsIGJ1Zik7Cit9CisKK3N0YXRpYyB2b2lkIGNvbnZlcnRfZmxvYXRfdG9fWTQxMChz dHJ1Y3QgZmJfY29udmVydCAqY3Z0KQoreworCWludCBpLCBqOworCXVpbnQzMl90ICp5dXl2ID0g Y3Z0LT5kc3QucHRyOworCWNvbnN0IGZsb2F0ICpwdHIgPSBjdnQtPnNyYy5wdHI7CisJdW5zaWdu ZWQgZmxvYXRfc3RyaWRlID0gY3Z0LT5zcmMuZmItPnN0cmlkZXNbMF0gLyBzaXplb2YoKnB0cik7 CisJdW5zaWduZWQgeXV5dl9zdHJpZGUgPSBjdnQtPmRzdC5mYi0+c3RyaWRlc1swXSAvIHNpemVv ZigqeXV5dik7CisJc3RydWN0IGlndF9tYXQ0IG0gPSBpZ3RfcmdiX3RvX3ljYmNyX21hdHJpeChj dnQtPnNyYy5mYi0+ZHJtX2Zvcm1hdCwKKwkJCQkJCSAgICBjdnQtPmRzdC5mYi0+ZHJtX2Zvcm1h dCwKKwkJCQkJCSAgICBjdnQtPmRzdC5mYi0+Y29sb3JfZW5jb2RpbmcsCisJCQkJCQkgICAgY3Z0 LT5kc3QuZmItPmNvbG9yX3JhbmdlKTsKKworCWlndF9hc3NlcnQoY3Z0LT5zcmMuZmItPmRybV9m b3JtYXQgPT0gSUdUX0ZPUk1BVF9GTE9BVCAmJgorCQkgICBjdnQtPmRzdC5mYi0+ZHJtX2Zvcm1h dCA9PSBEUk1fRk9STUFUX1k0MTApOworCisJZm9yIChpID0gMDsgaSA8IGN2dC0+ZHN0LmZiLT5o ZWlnaHQ7IGkrKykgeworCQlmb3IgKGogPSAwOyBqIDwgY3Z0LT5kc3QuZmItPndpZHRoOyBqKysp IHsKKwkJCXN0cnVjdCBpZ3RfdmVjNCByZ2I7CisJCQlzdHJ1Y3QgaWd0X3ZlYzQgeXV2OworCQkJ dWludDhfdCBhbHBoYSA9IHB0cltqICogNCArIDNdICogMy5mICsgLjVmOworCQkJdWludDE2X3Qg eSwgY2IsIGNyOworCisJCQlyZWFkX3JnYmYoJnJnYiwgJnB0cltqICogNCArIDBdKTsKKworCQkJ eXV2ID0gaWd0X21hdHJpeF90cmFuc2Zvcm0oJm0sICZyZ2IpOworCQkJY3IgPSB5dXYuZFswXTsK KwkJCXkgPSB5dXYuZFsxXTsKKwkJCWNiID0geXV2LmRbMl07CisKKwkJCXl1eXZbal0gPSAoKGNy ICYgMHgzZmYpIDw8IDApIHwKKwkJCQkgICgoeSAmIDB4M2ZmKSA8PCAxMCkgfAorCQkJCSAgKChj YiAmIDB4M2ZmKSA8PCAyMCkgfAorCQkJCSAgKGFscGhhIDw8IDMwKTsKKwkJfQorCisJCXB0ciAr PSBmbG9hdF9zdHJpZGU7CisJCXl1eXYgKz0geXV5dl9zdHJpZGU7CisJfQorfQorCiBzdGF0aWMg dm9pZCBjb252ZXJ0X3BpeG1hbihzdHJ1Y3QgZmJfY29udmVydCAqY3Z0KQogewogCXBpeG1hbl9m b3JtYXRfY29kZV90IHNyY19waXhtYW4gPSBkcm1fZm9ybWF0X3RvX3BpeG1hbihjdnQtPnNyYy5m Yi0+ZHJtX2Zvcm1hdCk7CkBAIC0yMzMwLDggKzI0NTMsMTIgQEAgc3RhdGljIHZvaWQgZmJfY29u dmVydChzdHJ1Y3QgZmJfY29udmVydCAqY3Z0KQogCQljYXNlIERSTV9GT1JNQVRfWTIxMDoKIAkJ Y2FzZSBEUk1fRk9STUFUX1kyMTI6CiAJCWNhc2UgRFJNX0ZPUk1BVF9ZMjE2OgorCQljYXNlIERS TV9GT1JNQVRfWTQxNjoKIAkJCWNvbnZlcnRfeXV2MTZfdG9fZmxvYXQoY3Z0KTsKIAkJCXJldHVy bjsKKwkJY2FzZSBEUk1fRk9STUFUX1k0MTA6CisJCQljb252ZXJ0X1k0MTBfdG9fZmxvYXQoY3Z0 KTsKKwkJCXJldHVybjsKIAkJfQogCX0gZWxzZSBpZiAoY3Z0LT5zcmMuZmItPmRybV9mb3JtYXQg PT0gSUdUX0ZPUk1BVF9GTE9BVCkgewogCQlzd2l0Y2ggKGN2dC0+ZHN0LmZiLT5kcm1fZm9ybWF0 KSB7CkBAIC0yMzQxLDggKzI0NjgsMTIgQEAgc3RhdGljIHZvaWQgZmJfY29udmVydChzdHJ1Y3Qg ZmJfY29udmVydCAqY3Z0KQogCQljYXNlIERSTV9GT1JNQVRfWTIxMDoKIAkJY2FzZSBEUk1fRk9S TUFUX1kyMTI6CiAJCWNhc2UgRFJNX0ZPUk1BVF9ZMjE2OgorCQljYXNlIERSTV9GT1JNQVRfWTQx NjoKIAkJCWNvbnZlcnRfZmxvYXRfdG9feXV2MTYoY3Z0KTsKIAkJCXJldHVybjsKKwkJY2FzZSBE Uk1fRk9STUFUX1k0MTA6CisJCQljb252ZXJ0X2Zsb2F0X3RvX1k0MTAoY3Z0KTsKKwkJCXJldHVy bjsKIAkJfQogCX0KIApAQCAtMjc5OCw2ICsyOTI5LDggQEAgYm9vbCBpZ3RfZm9ybWF0X2lzX3l1 dih1aW50MzJfdCBkcm1fZm9ybWF0KQogCWNhc2UgRFJNX0ZPUk1BVF9ZMjEwOgogCWNhc2UgRFJN X0ZPUk1BVF9ZMjEyOgogCWNhc2UgRFJNX0ZPUk1BVF9ZMjE2OgorCWNhc2UgRFJNX0ZPUk1BVF9Z NDEwOgorCWNhc2UgRFJNX0ZPUk1BVF9ZNDE2OgogCWNhc2UgRFJNX0ZPUk1BVF9ZVVlWOgogCWNh c2UgRFJNX0ZPUk1BVF9ZVllVOgogCWNhc2UgRFJNX0ZPUk1BVF9VWVZZOgotLSAKMi4yMC4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1h aWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=