From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4BDC06E14E for ; Wed, 27 Mar 2019 17:21:04 +0000 (UTC) Date: Wed, 27 Mar 2019 19:21:01 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Message-ID: <20190327172101.GH3888@intel.com> References: <20190327092930.6845-1-maarten.lankhorst@linux.intel.com> <20190327092930.6845-2-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190327092930.6845-2-maarten.lankhorst@linux.intel.com> Subject: Re: [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: Maarten Lankhorst Cc: igt-dev@lists.freedesktop.org List-ID: T24gV2VkLCBNYXIgMjcsIDIwMTkgYXQgMTA6Mjk6MjhBTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gVGhvc2UgZm9ybWF0cyBhcmUgcGFja2VkIGxpa2UgWVVZViwgYnV0IG9ubHkg MTYgYml0cyBwZXIgY29tcG9uZW50Lgo+IAo+IENoYW5nZXMgc2luY2UgdjE6Cj4gLSBSZWJhc2Ug b24gdG9wIG9mIHVwc3RyZWFtIFlVViBjaGFuZ2VzLgo+IENoYW5nZXMgc2luY2UgdjI6Cj4gLSBV c2UgZHJtX2ZvdXJjYy5oIGZyb20gdXBzdHJlYW0uCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFhcnRl biBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KCkxvb2tzIGNv bnNpc3RlbnQgd2l0aCB0aGUgZXhpc3Rpbmcgc3R1ZmYuCgpSZXZpZXdlZC1ieTogVmlsbGUgU3ly asOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCj4gLS0tCj4gIGluY2x1ZGUv ZHJtLXVhcGkvZHJtX2ZvdXJjYy5oIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0KPiAgbGliL2lndF9jb2xvcl9lbmNvZGluZy5jICAgICAgfCAgMyArKysKPiAgbGliL2ln dF9mYi5jICAgICAgICAgICAgICAgICAgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ IAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11YXBpL2RybV9mb3VyY2MuaCBiL2luY2x1ZGUv ZHJtLXVhcGkvZHJtX2ZvdXJjYy5oCj4gaW5kZXggYmFiMjAyOThmNDIyLi4zZmVlYWEzZjk4N2Eg MTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmgKPiArKysgYi9pbmNs dWRlL2RybS11YXBpL2RybV9mb3VyY2MuaAo+IEBAIC0xNDQsNiArMTQ0LDE3IEBAIGV4dGVybiAi QyIgewo+ICAjZGVmaW5lIERSTV9GT1JNQVRfUkdCQTEwMTAxMDIJZm91cmNjX2NvZGUoJ1InLCAn QScsICczJywgJzAnKSAvKiBbMzE6MF0gUjpHOkI6QSAxMDoxMDoxMDoyIGxpdHRsZSBlbmRpYW4g Ki8KPiAgI2RlZmluZSBEUk1fRk9STUFUX0JHUkExMDEwMTAyCWZvdXJjY19jb2RlKCdCJywgJ0En LCAnMycsICcwJykgLyogWzMxOjBdIEI6RzpSOkEgMTA6MTA6MTA6MiBsaXR0bGUgZW5kaWFuICov Cj4gIAo+ICsvKgo+ICsgKiBGbG9hdGluZyBwb2ludCA2NGJwcCBSR0IKPiArICogSUVFRSA3NTQt MjAwOCBiaW5hcnkxNiBoYWxmLXByZWNpc2lvbiBmbG9hdAo+ICsgKiBbMTU6MF0gc2lnbjpleHBv bmVudDptYW50aXNzYSAxOjU6MTAKPiArICovCj4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9YUkdCMTYx NjE2MTZGIGZvdXJjY19jb2RlKCdYJywgJ1InLCAnNCcsICdIJykgLyogWzYzOjBdIHg6UjpHOkIg MTY6MTY6MTY6MTYgbGl0dGxlIGVuZGlhbiAqLwo+ICsjZGVmaW5lIERSTV9GT1JNQVRfWEJHUjE2 MTYxNjE2RiBmb3VyY2NfY29kZSgnWCcsICdCJywgJzQnLCAnSCcpIC8qIFs2MzowXSB4OkI6RzpS IDE2OjE2OjE2OjE2IGxpdHRsZSBlbmRpYW4gKi8KPiArCj4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9B UkdCMTYxNjE2MTZGIGZvdXJjY19jb2RlKCdBJywgJ1InLCAnNCcsICdIJykgLyogWzYzOjBdIEE6 UjpHOkIgMTY6MTY6MTY6MTYgbGl0dGxlIGVuZGlhbiAqLwo+ICsjZGVmaW5lIERSTV9GT1JNQVRf QUJHUjE2MTYxNjE2RiBmb3VyY2NfY29kZSgnQScsICdCJywgJzQnLCAnSCcpIC8qIFs2MzowXSBB OkI6RzpSIDE2OjE2OjE2OjE2IGxpdHRsZSBlbmRpYW4gKi8KPiArCj4gIC8qIHBhY2tlZCBZQ2JD ciAqLwo+ICAjZGVmaW5lIERSTV9GT1JNQVRfWVVZVgkJZm91cmNjX2NvZGUoJ1knLCAnVScsICdZ JywgJ1YnKSAvKiBbMzE6MF0gQ3IwOlkxOkNiMDpZMCA4Ojg6ODo4IGxpdHRsZSBlbmRpYW4gKi8K PiAgI2RlZmluZSBEUk1fRk9STUFUX1lWWVUJCWZvdXJjY19jb2RlKCdZJywgJ1YnLCAnWScsICdV JykgLyogWzMxOjBdIENiMDpZMTpDcjA6WTAgODo4Ojg6OCBsaXR0bGUgZW5kaWFuICovCj4gQEAg LTE1MSw3ICsxNjIsMjkgQEAgZXh0ZXJuICJDIiB7Cj4gICNkZWZpbmUgRFJNX0ZPUk1BVF9WWVVZ CQlmb3VyY2NfY29kZSgnVicsICdZJywgJ1UnLCAnWScpIC8qIFszMTowXSBZMTpDYjA6WTA6Q3Iw IDg6ODo4OjggbGl0dGxlIGVuZGlhbiAqLwo+ICAKPiAgI2RlZmluZSBEUk1fRk9STUFUX0FZVVYJ CWZvdXJjY19jb2RlKCdBJywgJ1knLCAnVScsICdWJykgLyogWzMxOjBdIEE6WTpDYjpDciA4Ojg6 ODo4IGxpdHRsZSBlbmRpYW4gKi8KPiAtI2RlZmluZSBEUk1fRk9STUFUX1hZVVY4ODg4CQlmb3Vy Y2NfY29kZSgnWCcsICdZJywgJ1UnLCAnVicpIC8qIFszMTowXSBYOlk6Q2I6Q3IgODo4Ojg6OCBs aXR0bGUgZW5kaWFuICovCj4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9YWVVWODg4OAlmb3VyY2NfY29k ZSgnWCcsICdZJywgJ1UnLCAnVicpIC8qIFszMTowXSBYOlk6Q2I6Q3IgODo4Ojg6OCBsaXR0bGUg ZW5kaWFuICovCj4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9WVVk4ODgJZm91cmNjX2NvZGUoJ1YnLCAn VScsICcyJywgJzQnKSAvKiBbMjM6MF0gQ3I6Q2I6WSA4Ojg6OCBsaXR0bGUgZW5kaWFuICovCj4g KyNkZWZpbmUgRFJNX0ZPUk1BVF9WVVkxMDEwMTAJZm91cmNjX2NvZGUoJ1YnLCAnVScsICczJywg JzAnKSAvKiBZIGZvbGxvd2VkIGJ5IFUgdGhlbiBWLCAxMDoxMDoxMC4gTm9uLWxpbmVhciBtb2Rp ZmllciBvbmx5ICovCj4gKwo+ICsvKgo+ICsgKiBwYWNrZWQgWTJ4eCBpbmRpY2F0ZSBmb3IgZWFj aCBjb21wb25lbnQsIHh4IHZhbGlkIGRhdGEgb2NjdXB5IG1zYgo+ICsgKiAxNi14eCBwYWRkaW5n IG9jY3VweSBsc2IKPiArICovCj4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9ZMjEwICAgICAgICAgZm91 cmNjX2NvZGUoJ1knLCAnMicsICcxJywgJzAnKSAvKiBbNjM6MF0gQ3IwOjA6WTE6MDpDYjA6MDpZ MDowIDEwOjY6MTA6NjoxMDo2OjEwOjYgbGl0dGxlIGVuZGlhbiBwZXIgMiBZIHBpeGVscyAqLwo+ ICsjZGVmaW5lIERSTV9GT1JNQVRfWTIxMiAgICAgICAgIGZvdXJjY19jb2RlKCdZJywgJzInLCAn MScsICcyJykgLyogWzYzOjBdIENyMDowOlkxOjA6Q2IwOjA6WTA6MCAxMjo0OjEyOjQ6MTI6NDox Mjo0IGxpdHRsZSBlbmRpYW4gcGVyIDIgWSBwaXhlbHMgKi8KPiArI2RlZmluZSBEUk1fRk9STUFU X1kyMTYgICAgICAgICBmb3VyY2NfY29kZSgnWScsICcyJywgJzEnLCAnNicpIC8qIFs2MzowXSBD cjA6WTE6Q2IwOlkwIDE2OjE2OjE2OjE2IGxpdHRsZSBlbmRpYW4gcGVyIDIgWSBwaXhlbHMgKi8K PiArCj4gKy8qCj4gKyAqIHBhY2tlZCBZNHh4IGluZGljYXRlIGZvciBlYWNoIGNvbXBvbmVudCwg eHggdmFsaWQgZGF0YSBvY2N1cHkgbXNiCj4gKyAqIDE2LXh4IHBhZGRpbmcgb2NjdXB5IGxzYiBl eGNlcHQgWTQxMAo+ICsgKi8KPiArI2RlZmluZSBEUk1fRk9STUFUX1k0MTAgICAgICAgICBmb3Vy Y2NfY29kZSgnWScsICc0JywgJzEnLCAnMCcpIC8qIFszMTowXSBBOkNyOlk6Q2IgMjoxMDoxMDox MCBsaXR0bGUgZW5kaWFuICovCj4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9ZNDEyICAgICAgICAgZm91 cmNjX2NvZGUoJ1knLCAnNCcsICcxJywgJzInKSAvKiBbNjM6MF0gQTowOkNyOjA6WTowOkNiOjAg MTI6NDoxMjo0OjEyOjQ6MTI6NCBsaXR0bGUgZW5kaWFuICovCj4gKyNkZWZpbmUgRFJNX0ZPUk1B VF9ZNDE2ICAgICAgICAgZm91cmNjX2NvZGUoJ1knLCAnNCcsICcxJywgJzYnKSAvKiBbNjM6MF0g QTpDcjpZOkNiIDE2OjE2OjE2OjE2IGxpdHRsZSBlbmRpYW4gKi8KPiArCj4gKyNkZWZpbmUgRFJN X0ZPUk1BVF9YVllVMjEwMTAxMAlmb3VyY2NfY29kZSgnWCcsICdWJywgJzMnLCAnMCcpIC8qIFsz MTowXSBYOkNyOlk6Q2IgMjoxMDoxMDoxMCBsaXR0bGUgZW5kaWFuICovCj4gKyNkZWZpbmUgRFJN X0ZPUk1BVF9YVllVMTJfMTYxNjE2MTYJZm91cmNjX2NvZGUoJ1gnLCAnVicsICczJywgJzYnKSAv KiBbNjM6MF0gWDowOkNyOjA6WTowOkNiOjAgMTI6NDoxMjo0OjEyOjQ6MTI6NCBsaXR0bGUgZW5k aWFuICovCj4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9YVllVMTYxNjE2MTYJZm91cmNjX2NvZGUoJ1gn LCAnVicsICc0JywgJzgnKSAvKiBbNjM6MF0gWDpDcjpZOkNiIDE2OjE2OjE2OjE2IGxpdHRsZSBl bmRpYW4gKi8KPiAgCj4gIC8qCj4gICAqIHBhY2tlZCBZQ2JDcjQyMCAyeDIgdGlsZWQgZm9ybWF0 cwo+IEBAIC0xNjcsNiArMjAwLDE1IEBAIGV4dGVybiAiQyIgewo+ICAvKiBbNjM6MF0gICBYMzpY MjpZMzpDcjA6WTI6WDE6WDA6WTE6Q2IwOlkwICAxOjE6MTA6MTA6MTA6MToxOjEwOjEwOjEwIGxp dHRsZSBlbmRpYW4gKi8KPiAgI2RlZmluZSBEUk1fRk9STUFUX1gwTDIJCWZvdXJjY19jb2RlKCdY JywgJzAnLCAnTCcsICcyJykKPiAgCj4gKy8qCj4gKyAqIDEtcGxhbmUgWVVWIDQ6MjowCj4gKyAq IEluIHRoZXNlIGZvcm1hdHMsIHRoZSBjb21wb25lbnQgb3JkZXJpbmcgaXMgc3BlY2lmaWVkIChZ LCBmb2xsb3dlZCBieSBVCj4gKyAqIHRoZW4gViksIGJ1dCB0aGUgZXhhY3QgTGluZWFyIGxheW91 dCBpcyB1bmRlZmluZWQuCj4gKyAqIFRoZXNlIGZvcm1hdHMgY2FuIG9ubHkgYmUgdXNlZCB3aXRo IGEgbm9uLUxpbmVhciBtb2RpZmllci4KPiArICovCj4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9ZVVY0 MjBfOEJJVAlmb3VyY2NfY29kZSgnWScsICdVJywgJzAnLCAnOCcpCj4gKyNkZWZpbmUgRFJNX0ZP Uk1BVF9ZVVY0MjBfMTBCSVQJZm91cmNjX2NvZGUoJ1knLCAnVScsICcxJywgJzAnKQo+ICsKPiAg LyoKPiAgICogMiBwbGFuZSBSR0IgKyBBCj4gICAqIGluZGV4IDAgPSBSR0IgcGxhbmUsIHNhbWUg Zm9ybWF0IGFzIHRoZSBjb3JyZXNwb25kaW5nIG5vbiBfQTggZm9ybWF0IGhhcwo+IEBAIC0xOTUs NiArMjM3LDEzIEBAIGV4dGVybiAiQyIgewo+ICAjZGVmaW5lIERSTV9GT1JNQVRfTlYyNAkJZm91 cmNjX2NvZGUoJ04nLCAnVicsICcyJywgJzQnKSAvKiBub24tc3Vic2FtcGxlZCBDcjpDYiBwbGFu ZSAqLwo+ICAjZGVmaW5lIERSTV9GT1JNQVRfTlY0MgkJZm91cmNjX2NvZGUoJ04nLCAnVicsICc0 JywgJzInKSAvKiBub24tc3Vic2FtcGxlZCBDYjpDciBwbGFuZSAqLwo+ICAKPiArLyoKPiArICog MiBwbGFuZSBZQ2JDciBNU0IgYWxpZ25lZAo+ICsgKiBpbmRleCAwID0gWSBwbGFuZSwgWzE1OjBd IFk6eCBbMTA6Nl0gbGl0dGxlIGVuZGlhbgo+ICsgKiBpbmRleCAxID0gQ3I6Q2IgcGxhbmUsIFsz MTowXSBDcjp4OkNiOnggWzEwOjY6MTA6Nl0gbGl0dGxlIGVuZGlhbgo+ICsgKi8KPiArI2RlZmlu ZSBEUk1fRk9STUFUX1AyMTAJCWZvdXJjY19jb2RlKCdQJywgJzInLCAnMScsICcwJykgLyogMngx IHN1YnNhbXBsZWQgQ3I6Q2IgcGxhbmUsIDEwIGJpdCBwZXIgY2hhbm5lbCAqLwo+ICsKPiAgLyoK PiAgICogMiBwbGFuZSBZQ2JDciBNU0IgYWxpZ25lZAo+ICAgKiBpbmRleCAwID0gWSBwbGFuZSwg WzE1OjBdIFk6eCBbMTA6Nl0gbGl0dGxlIGVuZGlhbgo+IGRpZmYgLS1naXQgYS9saWIvaWd0X2Nv bG9yX2VuY29kaW5nLmMgYi9saWIvaWd0X2NvbG9yX2VuY29kaW5nLmMKPiBpbmRleCBjYzc2YTk5 MTkyNDIuLjlmOWRjMTQzOWVlNCAxMDA2NDQKPiAtLS0gYS9saWIvaWd0X2NvbG9yX2VuY29kaW5n LmMKPiArKysgYi9saWIvaWd0X2NvbG9yX2VuY29kaW5nLmMKPiBAQCAtMTUxLDYgKzE1MSw5IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29sb3JfZW5jb2RpbmdfZm9ybWF0IHsKPiAgCXsgRFJNX0ZP Uk1BVF9QMDEwLCA2NTQ3Mi5mLCA0MDk2LmYsIDYwMTYwLmYsIDQwOTYuZiwgMzI3NjguZiwgNjE0 NDAuZiB9LAo+ICAJeyBEUk1fRk9STUFUX1AwMTIsIDY1NTIwLmYsIDQwOTYuZiwgNjAxNjAuZiwg NDA5Ni5mLCAzMjc2OC5mLCA2MTQ0MC5mIH0sCj4gIAl7IERSTV9GT1JNQVRfUDAxNiwgNjU1MzUu ZiwgNDA5Ni5mLCA2MDE2MC5mLCA0MDk2LmYsIDMyNzY4LmYsIDYxNDQwLmYgfSwKPiArCXsgRFJN X0ZPUk1BVF9ZMjEwLCA2NTQ3Mi5mLCA0MDk2LmYsIDYwMTYwLmYsIDQwOTYuZiwgMzI3NjguZiwg NjE0NDAuZiB9LAo+ICsJeyBEUk1fRk9STUFUX1kyMTIsIDY1NTIwLmYsIDQwOTYuZiwgNjAxNjAu ZiwgNDA5Ni5mLCAzMjc2OC5mLCA2MTQ0MC5mIH0sCj4gKwl7IERSTV9GT1JNQVRfWTIxNiwgNjU1 MzUuZiwgNDA5Ni5mLCA2MDE2MC5mLCA0MDk2LmYsIDMyNzY4LmYsIDYxNDQwLmYgfSwKPiAgfTsK PiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29sb3JfZW5jb2RpbmdfZm9ybWF0ICpsb29rdXBf Zm91cmNjKHVpbnQzMl90IGZvdXJjYykKPiBkaWZmIC0tZ2l0IGEvbGliL2lndF9mYi5jIGIvbGli L2lndF9mYi5jCj4gaW5kZXggYmFkMWQxZmJiNGQ3Li4xZTBiY2I5ZWEyY2QgMTAwNjQ0Cj4gLS0t IGEvbGliL2lndF9mYi5jCj4gKysrIGIvbGliL2lndF9mYi5jCj4gQEAgLTIzNiw2ICsyMzYsMjEg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmb3JtYXRfZGVzY19zdHJ1Y3Qgewo+ICAJICAubnVtX3Bs YW5lcyA9IDIsIC5wbGFuZV9icHAgPSB7IDE2LCAzMiB9LAo+ICAJICAudnN1YiA9IDIsIC5oc3Vi ID0gMiwKPiAgCX0sCj4gKwl7IC5uYW1lID0gIlkyMTAiLCAuZGVwdGggPSAtMSwgLmRybV9pZCA9 IERSTV9GT1JNQVRfWTIxMCwKPiArCSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQjk2RiwK PiArCSAgLm51bV9wbGFuZXMgPSAxLCAucGxhbmVfYnBwID0geyAzMiwgfSwKPiArCSAgLmhzdWIg PSAyLCAudnN1YiA9IDEsCj4gKwl9LAo+ICsJeyAubmFtZSA9ICJZMjEyIiwgLmRlcHRoID0gLTEs IC5kcm1faWQgPSBEUk1fRk9STUFUX1kyMTIsCj4gKwkgIC5jYWlyb19pZCA9IENBSVJPX0ZPUk1B VF9SR0I5NkYsCj4gKwkgIC5udW1fcGxhbmVzID0gMSwgLnBsYW5lX2JwcCA9IHsgMzIsIH0sCj4g KwkgIC5oc3ViID0gMiwgLnZzdWIgPSAxLAo+ICsJfSwKPiArCXsgLm5hbWUgPSAiWTIxNiIsIC5k ZXB0aCA9IC0xLCAuZHJtX2lkID0gRFJNX0ZPUk1BVF9ZMjE2LAo+ICsJICAuY2Fpcm9faWQgPSBD QUlST19GT1JNQVRfUkdCOTZGLAo+ICsJICAubnVtX3BsYW5lcyA9IDEsIC5wbGFuZV9icHAgPSB7 IDMyLCB9LAo+ICsJICAuaHN1YiA9IDIsIC52c3ViID0gMSwKPiArCX0sCj4gIAl7IC5uYW1lID0g IklHVC1GTE9BVCIsIC5kZXB0aCA9IC0xLCAuZHJtX2lkID0gSUdUX0ZPUk1BVF9GTE9BVCwKPiAg CSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX0lOVkFMSUQsCj4gIAkgIC5udW1fcGxhbmVzID0g MSwgLnBsYW5lX2JwcCA9IHsgMTI4IH0sCj4gQEAgLTY2MSw2ICs2NzYsMTQgQEAgc3RhdGljIHZv aWQgY2xlYXJfeXV2X2J1ZmZlcihzdHJ1Y3QgaWd0X2ZiICpmYikKPiAgCQl3bWVtc2V0KHB0ciAr IGZiLT5vZmZzZXRzWzFdLCAweDgwMDA4MDAwLAo+ICAJCQlmYi0+c3RyaWRlc1sxXSAqIGZiLT5w bGFuZV9oZWlnaHRbMV0gLyBzaXplb2Yod2NoYXJfdCkpOwo+ICAJCWJyZWFrOwo+ICsJY2FzZSBE Uk1fRk9STUFUX1kyMTA6Cj4gKwljYXNlIERSTV9GT1JNQVRfWTIxMjoKPiArCWNhc2UgRFJNX0ZP Uk1BVF9ZMjE2Ogo+ICsJCXdtZW1zZXQocHRyICsgZmItPm9mZnNldHNbMF0sCj4gKwkJCWZ1bGxf cmFuZ2UgPyAweDgwMDAwMDAwIDogMHg4MDAwMTAwMCwKPiArCQkJZmItPnN0cmlkZXNbMF0gKiBm Yi0+cGxhbmVfaGVpZ2h0WzBdIC8gc2l6ZW9mKHdjaGFyX3QpKTsKPiArCQlicmVhazsKPiArCj4g IAl9Cj4gIAo+ICAJaWd0X2ZiX3VubWFwX2J1ZmZlcihmYiwgcHRyKTsKPiBAQCAtMTkxMSw2ICsx OTM0LDkgQEAgc3RhdGljIHZvaWQgZ2V0X3l1dl9wYXJhbWV0ZXJzKHN0cnVjdCBpZ3RfZmIgKmZi LCBzdHJ1Y3QgeXV2X3BhcmFtZXRlcnMgKnBhcmFtcykKPiAgCWNhc2UgRFJNX0ZPUk1BVF9ZVllV Ogo+ICAJY2FzZSBEUk1fRk9STUFUX1VZVlk6Cj4gIAljYXNlIERSTV9GT1JNQVRfVllVWToKPiAr CWNhc2UgRFJNX0ZPUk1BVF9ZMjEwOgo+ICsJY2FzZSBEUk1fRk9STUFUX1kyMTI6Cj4gKwljYXNl IERSTV9GT1JNQVRfWTIxNjoKPiAgCQlwYXJhbXMtPnlfaW5jID0gMjsKPiAgCQlwYXJhbXMtPnV2 X2luYyA9IDQ7Cj4gIAkJYnJlYWs7Cj4gQEAgLTE5NDEsNiArMTk2Nyw5IEBAIHN0YXRpYyB2b2lk IGdldF95dXZfcGFyYW1ldGVycyhzdHJ1Y3QgaWd0X2ZiICpmYiwgc3RydWN0IHl1dl9wYXJhbWV0 ZXJzICpwYXJhbXMpCj4gIAljYXNlIERSTV9GT1JNQVRfWVZZVToKPiAgCWNhc2UgRFJNX0ZPUk1B VF9VWVZZOgo+ICAJY2FzZSBEUk1fRk9STUFUX1ZZVVk6Cj4gKwljYXNlIERSTV9GT1JNQVRfWTIx MDoKPiArCWNhc2UgRFJNX0ZPUk1BVF9ZMjEyOgo+ICsJY2FzZSBEUk1fRk9STUFUX1kyMTY6Cj4g IAljYXNlIERSTV9GT1JNQVRfWFlVVjg4ODg6Cj4gIAkJcGFyYW1zLT55X3N0cmlkZSA9IGZiLT5z dHJpZGVzWzBdOwo+ICAJCXBhcmFtcy0+dXZfc3RyaWRlID0gZmItPnN0cmlkZXNbMF07Cj4gQEAg LTIwMDgsNiArMjAzNywxNCBAQCBzdGF0aWMgdm9pZCBnZXRfeXV2X3BhcmFtZXRlcnMoc3RydWN0 IGlndF9mYiAqZmIsIHN0cnVjdCB5dXZfcGFyYW1ldGVycyAqcGFyYW1zKQo+ICAJCXBhcmFtcy0+ dl9vZmZzZXQgPSBmYi0+b2Zmc2V0c1swXTsKPiAgCQlicmVhazsKPiAgCj4gKwljYXNlIERSTV9G T1JNQVRfWTIxMDoKPiArCWNhc2UgRFJNX0ZPUk1BVF9ZMjEyOgo+ICsJY2FzZSBEUk1fRk9STUFU X1kyMTY6Cj4gKwkJcGFyYW1zLT55X29mZnNldCA9IGZiLT5vZmZzZXRzWzBdOwo+ICsJCXBhcmFt cy0+dV9vZmZzZXQgPSBmYi0+b2Zmc2V0c1swXSArIDI7Cj4gKwkJcGFyYW1zLT52X29mZnNldCA9 IGZiLT5vZmZzZXRzWzBdICsgNjsKPiArCQlicmVhazsKPiArCj4gIAljYXNlIERSTV9GT1JNQVRf WFlVVjg4ODg6Cj4gIAkJcGFyYW1zLT55X29mZnNldCA9IGZiLT5vZmZzZXRzWzBdICsgMTsKPiAg CQlwYXJhbXMtPnVfb2Zmc2V0ID0gZmItPm9mZnNldHNbMF0gKyAyOwo+IEBAIC0yNDIzLDYgKzI0 NjAsOSBAQCBzdGF0aWMgdm9pZCBmYl9jb252ZXJ0KHN0cnVjdCBmYl9jb252ZXJ0ICpjdnQpCj4g IAkJY2FzZSBEUk1fRk9STUFUX1AwMTA6Cj4gIAkJY2FzZSBEUk1fRk9STUFUX1AwMTI6Cj4gIAkJ Y2FzZSBEUk1fRk9STUFUX1AwMTY6Cj4gKwkJY2FzZSBEUk1fRk9STUFUX1kyMTA6Cj4gKwkJY2Fz ZSBEUk1fRk9STUFUX1kyMTI6Cj4gKwkJY2FzZSBEUk1fRk9STUFUX1kyMTY6Cj4gIAkJCWNvbnZl cnRfeXV2MTZfdG9fZmxvYXQoY3Z0KTsKPiAgCQkJcmV0dXJuOwo+ICAJCX0KPiBAQCAtMjQzMSw2 ICsyNDcxLDkgQEAgc3RhdGljIHZvaWQgZmJfY29udmVydChzdHJ1Y3QgZmJfY29udmVydCAqY3Z0 KQo+ICAJCWNhc2UgRFJNX0ZPUk1BVF9QMDEwOgo+ICAJCWNhc2UgRFJNX0ZPUk1BVF9QMDEyOgo+ ICAJCWNhc2UgRFJNX0ZPUk1BVF9QMDE2Ogo+ICsJCWNhc2UgRFJNX0ZPUk1BVF9ZMjEwOgo+ICsJ CWNhc2UgRFJNX0ZPUk1BVF9ZMjEyOgo+ICsJCWNhc2UgRFJNX0ZPUk1BVF9ZMjE2Ogo+ICAJCQlj b252ZXJ0X2Zsb2F0X3RvX3l1djE2KGN2dCk7Cj4gIAkJCXJldHVybjsKPiAgCQl9Cj4gQEAgLTI4 OTUsNiArMjkzOCw5IEBAIGJvb2wgaWd0X2Zvcm1hdF9pc195dXYodWludDMyX3QgZHJtX2Zvcm1h dCkKPiAgCWNhc2UgRFJNX0ZPUk1BVF9QMDEwOgo+ICAJY2FzZSBEUk1fRk9STUFUX1AwMTI6Cj4g IAljYXNlIERSTV9GT1JNQVRfUDAxNjoKPiArCWNhc2UgRFJNX0ZPUk1BVF9ZMjEwOgo+ICsJY2Fz ZSBEUk1fRk9STUFUX1kyMTI6Cj4gKwljYXNlIERSTV9GT1JNQVRfWTIxNjoKPiAgCWNhc2UgRFJN X0ZPUk1BVF9ZVVlWOgo+ICAJY2FzZSBEUk1fRk9STUFUX1lWWVU6Cj4gIAljYXNlIERSTV9GT1JN QVRfVVlWWToKPiAtLSAKPiAyLjIwLjEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+IGlndC1kZXYgbWFpbGluZyBsaXN0Cj4gaWd0LWRldkBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2lndC1kZXYKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QK aWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2