From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0229D6E2B7 for ; Thu, 7 Feb 2019 13:12:48 +0000 (UTC) References: <20190207092136.10659-1-maarten.lankhorst@linux.intel.com> From: Juha-Pekka Heikkila Message-ID: Date: Thu, 7 Feb 2019 15:12:36 +0200 MIME-Version: 1.0 In-Reply-To: <20190207092136.10659-1-maarten.lankhorst@linux.intel.com> Content-Language: en-US Subject: Re: [igt-dev] [PATCH v2 1/4] lib/color_encoding: Prepare support for HDR modes. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: juhapekka.heikkila@gmail.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Maarten Lankhorst , igt-dev@lists.freedesktop.org List-ID: UmV2aWV3ZWQtYnk6IEp1aGEtUGVra2EgSGVpa2tpbGEgPGp1aGFwZWtrYS5oZWlra2lsYUBnbWFp bC5jb20+CgpPbiA3LjIuMjAxOSAxMS4yMSwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6Cj4gU2ln bmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4Lmlu dGVsLmNvbT4KPiAtLS0KPiAgIGxpYi9pZ3RfY29sb3JfZW5jb2RpbmcuYyB8IDgzICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KPiAgIGxpYi9pZ3RfY29sb3JfZW5jb2Rp bmcuaCB8ICA5ICsrKystCj4gICBsaWIvaWd0X2ZiLmMgICAgICAgICAgICAgfCAxMCArKystLQo+ ICAgMyBmaWxlcyBjaGFuZ2VkLCA3OSBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKPiAK PiBkaWZmIC0tZ2l0IGEvbGliL2lndF9jb2xvcl9lbmNvZGluZy5jIGIvbGliL2lndF9jb2xvcl9l bmNvZGluZy5jCj4gaW5kZXggMDNlMTZlMGM5NjU4Li40Y2JlMThlMjE3ZTMgMTAwNjQ0Cj4gLS0t IGEvbGliL2lndF9jb2xvcl9lbmNvZGluZy5jCj4gKysrIGIvbGliL2lndF9jb2xvcl9lbmNvZGlu Zy5jCj4gQEAgLTI0LDYgKzI0LDggQEAKPiAgICNpbmNsdWRlICJpZ3RfY29sb3JfZW5jb2Rpbmcu aCIKPiAgICNpbmNsdWRlICJpZ3RfbWF0cml4LmgiCj4gICAjaW5jbHVkZSAiaWd0X2NvcmUuaCIK PiArI2luY2x1ZGUgImlndF9mYi5oIgo+ICsjaW5jbHVkZSAiZHJtdGVzdC5oIgo+ICAgCj4gICBz dHJ1Y3QgY29sb3JfZW5jb2Rpbmcgewo+ICAgCWZsb2F0IGtyLCBrYjsKPiBAQCAtODUsNjAgKzg3 LDEwNSBAQCBzdGF0aWMgc3RydWN0IGlndF9tYXQ0IHljYmNyX3RvX3JnYl9tYXRyaXgoY29uc3Qg c3RydWN0IGNvbG9yX2VuY29kaW5nICplKQo+ICAgCXJldHVybiByZXQ7Cj4gICB9Cj4gICAKPiAt c3RhdGljIHN0cnVjdCBpZ3RfbWF0NCB5Y2Jjcl9pbnB1dF9jb252ZXJ0X21hdHJpeChlbnVtIGln dF9jb2xvcl9yYW5nZSBjb2xvcl9yYW5nZSkKPiArc3RhdGljIHN0cnVjdCBpZ3RfbWF0NCB5Y2Jj cl9pbnB1dF9jb252ZXJ0X21hdHJpeChlbnVtIGlndF9jb2xvcl9yYW5nZSBjb2xvcl9yYW5nZSwg ZmxvYXQgc2NhbGUsCj4gKwkJCQkJCSAgZmxvYXQgb2ZzX3ksIGZsb2F0IG1heF95LAo+ICsJCQkJ CQkgIGZsb2F0IG9mc19jYmNyLCBmbG9hdCBtaWRfY2JjciwgZmxvYXQgbWF4X2NiY3IsCj4gKwkJ CQkJCSAgZmxvYXQgbWF4X3ZhbCkKPiAgIHsKPiAgIAlzdHJ1Y3QgaWd0X21hdDQgdCwgczsKPiAg IAo+ICAgCWlmIChjb2xvcl9yYW5nZSA9PSBJR1RfQ09MT1JfWUNCQ1JfRlVMTF9SQU5HRSkgewo+ IC0JCXQgPSBpZ3RfbWF0cml4X3RyYW5zbGF0ZSgwLjBmLCAtMTI4LjBmLCAtMTI4LjBmKTsKPiAt CQlzID0gaWd0X21hdHJpeF9zY2FsZSgxLjBmLCAyLjBmLCAyLjBmKTsKPiArCQl0ID0gaWd0X21h dHJpeF90cmFuc2xhdGUoMC5mLCAtbWlkX2NiY3IsIC1taWRfY2Jjcik7Cj4gKwkJcyA9IGlndF9t YXRyaXhfc2NhbGUoc2NhbGUsIDIuMGYgKiBzY2FsZSwgMi4wZiAqIHNjYWxlKTsKPiAgIAl9IGVs c2Ugewo+IC0JCXQgPSBpZ3RfbWF0cml4X3RyYW5zbGF0ZSgtMTYuMGYsIC0xMjguMGYsIC0xMjgu MGYpOwo+IC0JCXMgPSBpZ3RfbWF0cml4X3NjYWxlKDI1NS4wZiAvICgyMzUuMGYgLSAxNi4wZiks Cj4gLQkJCQkgICAgIDI1NS4wZiAvICgyNDAuMGYgLSAxMjguMGYpLAo+IC0JCQkJICAgICAyNTUu MGYgLyAoMjQwLjBmIC0gMTI4LjBmKSk7Cj4gKwkJdCA9IGlndF9tYXRyaXhfdHJhbnNsYXRlKC1v ZnNfeSwgLW1pZF9jYmNyLCAtbWlkX2NiY3IpOwo+ICsJCXMgPSBpZ3RfbWF0cml4X3NjYWxlKHNj YWxlICogbWF4X3ZhbCAvIChtYXhfeSAtIG9mc195KSwKPiArCQkJCSAgICAgc2NhbGUgKiBtYXhf dmFsIC8gKG1heF9jYmNyIC0gbWlkX2NiY3IpLAo+ICsJCQkJICAgICBzY2FsZSAqIG1heF92YWwg LyAobWF4X2NiY3IgLSBtaWRfY2JjcikpOwo+ICAgCX0KPiAgIAo+ICAgCXJldHVybiBpZ3RfbWF0 cml4X211bHRpcGx5KCZzLCAmdCk7Cj4gICB9Cj4gICAKPiAtc3RhdGljIHN0cnVjdCBpZ3RfbWF0 NCB5Y2Jjcl9vdXRwdXRfY29udmVydF9tYXRyaXgoZW51bSBpZ3RfY29sb3JfcmFuZ2UgY29sb3Jf cmFuZ2UpCj4gK3N0YXRpYyBzdHJ1Y3QgaWd0X21hdDQgeWNiY3Jfb3V0cHV0X2NvbnZlcnRfbWF0 cml4KGVudW0gaWd0X2NvbG9yX3JhbmdlIGNvbG9yX3JhbmdlLCBmbG9hdCBzY2FsZSwKPiArCQkJ CQkJICAgZmxvYXQgb2ZzX3ksIGZsb2F0IG1heF95LAo+ICsJCQkJCQkgICBmbG9hdCBvZnNfY2Jj ciwgZmxvYXQgbWlkX2NiY3IsIGZsb2F0IG1heF9jYmNyLAo+ICsJCQkJCQkgICBmbG9hdCBtYXhf dmFsKQo+ICAgewo+ICAgCXN0cnVjdCBpZ3RfbWF0NCBzLCB0Owo+ICAgCj4gICAJaWYgKGNvbG9y X3JhbmdlID09IElHVF9DT0xPUl9ZQ0JDUl9GVUxMX1JBTkdFKSB7Cj4gLQkJcyA9IGlndF9tYXRy aXhfc2NhbGUoMS4wZiwgMC41ZiwgMC41Zik7Cj4gLQkJdCA9IGlndF9tYXRyaXhfdHJhbnNsYXRl KDAuMGYsIDEyOC4wZiwgMTI4LjBmKTsKPiArCQlzID0gaWd0X21hdHJpeF9zY2FsZShzY2FsZSwg MC41ZiAqIHNjYWxlLCAwLjVmICogc2NhbGUpOwo+ICsJCXQgPSBpZ3RfbWF0cml4X3RyYW5zbGF0 ZSgwLmYsIG1pZF9jYmNyLCBtaWRfY2Jjcik7Cj4gICAJfSBlbHNlIHsKPiAtCQlzID0gaWd0X21h dHJpeF9zY2FsZSgoMjM1LjBmIC0gMTYuMGYpIC8gMjU1LjBmLAo+IC0JCQkJICAgICAoMjQwLjBm IC0gMTI4LjBmKSAvIDI1NS4wZiwKPiAtCQkJCSAgICAgKDI0MC4wZiAtIDEyOC4wZikgLyAyNTUu MGYpOwo+IC0JCXQgPSBpZ3RfbWF0cml4X3RyYW5zbGF0ZSgxNi4wZiwgMTI4LjBmLCAxMjguMGYp Owo+ICsJCXMgPSBpZ3RfbWF0cml4X3NjYWxlKHNjYWxlICogKG1heF95IC0gb2ZzX3kpIC8gbWF4 X3ZhbCwKPiArCQkJCSAgICAgc2NhbGUgKiAobWF4X2NiY3IgLSBtaWRfY2JjcikgLyBtYXhfdmFs LAo+ICsJCQkJICAgICBzY2FsZSAqIChtYXhfY2JjciAtIG1pZF9jYmNyKSAvIG1heF92YWwpOwo+ ICsJCXQgPSBpZ3RfbWF0cml4X3RyYW5zbGF0ZShvZnNfeSwgbWlkX2NiY3IsIG1pZF9jYmNyKTsK PiAgIAl9Cj4gICAKPiAgIAlyZXR1cm4gaWd0X21hdHJpeF9tdWx0aXBseSgmdCwgJnMpOwo+ICAg fQo+ICAgCj4gLXN0cnVjdCBpZ3RfbWF0NCBpZ3RfeWNiY3JfdG9fcmdiX21hdHJpeChlbnVtIGln dF9jb2xvcl9lbmNvZGluZyBjb2xvcl9lbmNvZGluZywKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBj b2xvcl9lbmNvZGluZ19mb3JtYXQgewo+ICsJdWludDMyX3QgZm91cmNjOwo+ICsKPiArCWZsb2F0 IG1heF92YWw7Cj4gKwo+ICsJZmxvYXQgb2ZzX3ksIG1heF95LCBvZnNfY2JjciwgbWlkX2NiY3Is IG1heF9jYmNyOwo+ICt9IGZvcm1hdHNbXSA9IHsKPiArCXsgRFJNX0ZPUk1BVF9YUkdCODg4OCwg MjU1LmYsIH0sCj4gKwl7IERSTV9GT1JNQVRfTlYxMiwgMjU1LmYsIDE2LmYsIDIzNS5mLCAxNi5m LCAxMjguZiwgMjQwLmYgfSwKPiArCXsgRFJNX0ZPUk1BVF9ZVVlWLCAyNTUuZiwgMTYuZiwgMjM1 LmYsIDE2LmYsIDEyOC5mLCAyNDAuZiB9LAo+ICsJeyBEUk1fRk9STUFUX1lWWVUsIDI1NS5mLCAx Ni5mLCAyMzUuZiwgMTYuZiwgMTI4LmYsIDI0MC5mIH0sCj4gKwl7IERSTV9GT1JNQVRfVVlWWSwg MjU1LmYsIDE2LmYsIDIzNS5mLCAxNi5mLCAxMjguZiwgMjQwLmYgfSwKPiArCXsgRFJNX0ZPUk1B VF9WWVVZLCAyNTUuZiwgMTYuZiwgMjM1LmYsIDE2LmYsIDEyOC5mLCAyNDAuZiB9LAo+ICt9Owo+ ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBjb2xvcl9lbmNvZGluZ19mb3JtYXQgKmxvb2t1cF9m b3VyY2ModWludDMyX3QgZm91cmNjKQo+ICt7Cj4gKwlpbnQgaTsKPiArCWZvciAoaSA9IDA7IGkg PCBBUlJBWV9TSVpFKGZvcm1hdHMpOyBpKyspCj4gKwkJaWYgKGZvdXJjYyA9PSBmb3JtYXRzW2ld LmZvdXJjYykKPiArCQkJcmV0dXJuICZmb3JtYXRzW2ldOwo+ICsKPiArCWlndF9hc3NlcnRfZigw LCAiQ291bGQgbm90IGxvb2sgdXAgZm91cmNjICUuNHNcbiIsIChjaGFyICopJmZvdXJjYyk7Cj4g K30KPiArCj4gK3N0cnVjdCBpZ3RfbWF0NCBpZ3RfeWNiY3JfdG9fcmdiX21hdHJpeCh1aW50MzJf dCBmcm9tX2ZvdXJjYywKPiArCQkJCQl1aW50MzJfdCB0b19mb3VyY2MsCj4gKwkJCQkJZW51bSBp Z3RfY29sb3JfZW5jb2RpbmcgY29sb3JfZW5jb2RpbmcsCj4gICAJCQkJCWVudW0gaWd0X2NvbG9y X3JhbmdlIGNvbG9yX3JhbmdlKQo+ICAgewo+ICAgCWNvbnN0IHN0cnVjdCBjb2xvcl9lbmNvZGlu ZyAqZSA9ICZjb2xvcl9lbmNvZGluZ3NbY29sb3JfZW5jb2RpbmddOwo+ICAgCXN0cnVjdCBpZ3Rf bWF0NCByLCBjOwo+ICsJY29uc3Qgc3RydWN0IGNvbG9yX2VuY29kaW5nX2Zvcm1hdCAqZnljYmNy ID0gbG9va3VwX2ZvdXJjYyhmcm9tX2ZvdXJjYyk7Cj4gKwljb25zdCBzdHJ1Y3QgY29sb3JfZW5j b2RpbmdfZm9ybWF0ICpmcmdiID0gbG9va3VwX2ZvdXJjYyh0b19mb3VyY2MpOwo+ICsJZmxvYXQg c2NhbGUgPSBmcmdiLT5tYXhfdmFsIC8gZnljYmNyLT5tYXhfdmFsOwo+ICAgCj4gLQlyID0geWNi Y3JfaW5wdXRfY29udmVydF9tYXRyaXgoY29sb3JfcmFuZ2UpOwo+ICsJaWd0X2Fzc2VydChmeWNi Y3ItPm9mc195ICYmICFmcmdiLT5vZnNfeSk7Cj4gKwo+ICsJciA9IHljYmNyX2lucHV0X2NvbnZl cnRfbWF0cml4KGNvbG9yX3JhbmdlLCBzY2FsZSwgZnljYmNyLT5vZnNfeSwgZnljYmNyLT5tYXhf eSwgZnljYmNyLT5vZnNfY2JjciwgZnljYmNyLT5taWRfY2JjciwgZnljYmNyLT5tYXhfY2Jjciwg ZnljYmNyLT5tYXhfdmFsKTsKPiAgIAljID0geWNiY3JfdG9fcmdiX21hdHJpeChlKTsKPiAgIAo+ ICAgCXJldHVybiBpZ3RfbWF0cml4X211bHRpcGx5KCZjLCAmcik7Cj4gICB9Cj4gICAKPiAtc3Ry dWN0IGlndF9tYXQ0IGlndF9yZ2JfdG9feWNiY3JfbWF0cml4KGVudW0gaWd0X2NvbG9yX2VuY29k aW5nIGNvbG9yX2VuY29kaW5nLAo+ICtzdHJ1Y3QgaWd0X21hdDQgaWd0X3JnYl90b195Y2Jjcl9t YXRyaXgodWludDMyX3QgZnJvbV9mb3VyY2MsCj4gKwkJCQkJdWludDMyX3QgdG9fZm91cmNjLAo+ ICsJCQkJCWVudW0gaWd0X2NvbG9yX2VuY29kaW5nIGNvbG9yX2VuY29kaW5nLAo+ICAgCQkJCQll bnVtIGlndF9jb2xvcl9yYW5nZSBjb2xvcl9yYW5nZSkKPiAgIHsKPiAgIAljb25zdCBzdHJ1Y3Qg Y29sb3JfZW5jb2RpbmcgKmUgPSAmY29sb3JfZW5jb2RpbmdzW2NvbG9yX2VuY29kaW5nXTsKPiAr CWNvbnN0IHN0cnVjdCBjb2xvcl9lbmNvZGluZ19mb3JtYXQgKmZyZ2IgPSBsb29rdXBfZm91cmNj KGZyb21fZm91cmNjKTsKPiArCWNvbnN0IHN0cnVjdCBjb2xvcl9lbmNvZGluZ19mb3JtYXQgKmZ5 Y2JjciA9IGxvb2t1cF9mb3VyY2ModG9fZm91cmNjKTsKPiAgIAlzdHJ1Y3QgaWd0X21hdDQgYywg cjsKPiArCWZsb2F0IHNjYWxlID0gZnljYmNyLT5tYXhfdmFsIC8gZnJnYi0+bWF4X3ZhbDsKPiAr Cj4gKwlpZ3RfYXNzZXJ0KGZ5Y2Jjci0+b2ZzX3kgJiYgIWZyZ2ItPm9mc195KTsKPiAgIAo+ICAg CWMgPSByZ2JfdG9feWNiY3JfbWF0cml4KGUpOwo+IC0JciA9IHljYmNyX291dHB1dF9jb252ZXJ0 X21hdHJpeChjb2xvcl9yYW5nZSk7Cj4gKwlyID0geWNiY3Jfb3V0cHV0X2NvbnZlcnRfbWF0cml4 KGNvbG9yX3JhbmdlLCBzY2FsZSwgZnljYmNyLT5vZnNfeSwgZnljYmNyLT5tYXhfeSwgZnljYmNy LT5vZnNfY2JjciwgZnljYmNyLT5taWRfY2JjciwgZnljYmNyLT5tYXhfY2JjciwgZnljYmNyLT5t YXhfdmFsKTsKPiAgIAo+ICAgCXJldHVybiBpZ3RfbWF0cml4X211bHRpcGx5KCZyLCAmYyk7Cj4g ICB9Cj4gZGlmZiAtLWdpdCBhL2xpYi9pZ3RfY29sb3JfZW5jb2RpbmcuaCBiL2xpYi9pZ3RfY29s b3JfZW5jb2RpbmcuaAo+IGluZGV4IDM4ODRlNDkzOWY0Yy4uZGI0NWIxNmQzNjg3IDEwMDY0NAo+ IC0tLSBhL2xpYi9pZ3RfY29sb3JfZW5jb2RpbmcuaAo+ICsrKyBiL2xpYi9pZ3RfY29sb3JfZW5j b2RpbmcuaAo+IEBAIC0yNSw2ICsyNSw3IEBACj4gICAjZGVmaW5lIF9fSUdUX0NPTE9SX0VOQ09E SU5HX0hfXwo+ICAgCj4gICAjaW5jbHVkZSA8c3RkYm9vbC5oPgo+ICsjaW5jbHVkZSA8c3RkaW50 Lmg+Cj4gICAKPiAgICNpbmNsdWRlICJpZ3RfbWF0cml4LmgiCj4gICAKPiBAQCAtNDQsOSArNDUs MTMgQEAgZW51bSBpZ3RfY29sb3JfcmFuZ2Ugewo+ICAgY29uc3QgY2hhciAqaWd0X2NvbG9yX2Vu Y29kaW5nX3RvX3N0cihlbnVtIGlndF9jb2xvcl9lbmNvZGluZyBlbmNvZGluZyk7Cj4gICBjb25z dCBjaGFyICppZ3RfY29sb3JfcmFuZ2VfdG9fc3RyKGVudW0gaWd0X2NvbG9yX3JhbmdlIHJhbmdl KTsKPiAgIAo+IC1zdHJ1Y3QgaWd0X21hdDQgaWd0X3ljYmNyX3RvX3JnYl9tYXRyaXgoZW51bSBp Z3RfY29sb3JfZW5jb2RpbmcgY29sb3JfZW5jb2RpbmcsCj4gK3N0cnVjdCBpZ3RfbWF0NCBpZ3Rf eWNiY3JfdG9fcmdiX21hdHJpeCh1aW50MzJfdCB5Y2Jjcl9mb3VyY2MsCj4gKwkJCQkJdWludDMy X3QgcmdiX2ZvdXJjYywKPiArCQkJCQllbnVtIGlndF9jb2xvcl9lbmNvZGluZyBjb2xvcl9lbmNv ZGluZywKPiAgIAkJCQkJZW51bSBpZ3RfY29sb3JfcmFuZ2UgY29sb3JfcmFuZ2UpOwo+IC1zdHJ1 Y3QgaWd0X21hdDQgaWd0X3JnYl90b195Y2Jjcl9tYXRyaXgoZW51bSBpZ3RfY29sb3JfZW5jb2Rp bmcgY29sb3JfZW5jb2RpbmcsCj4gK3N0cnVjdCBpZ3RfbWF0NCBpZ3RfcmdiX3RvX3ljYmNyX21h dHJpeCh1aW50MzJfdCByZ2JfZm91cmNjLAo+ICsJCQkJCXVpbnQzMl90IHljYmNyX2ZvdXJjYywK PiArCQkJCQllbnVtIGlndF9jb2xvcl9lbmNvZGluZyBjb2xvcl9lbmNvZGluZywKPiAgIAkJCQkJ ZW51bSBpZ3RfY29sb3JfcmFuZ2UgY29sb3JfcmFuZ2UpOwo+ICAgCj4gICAjZW5kaWYgLyogX19J R1RfQ09MT1JfRU5DT0RJTkdfSF9fICovCj4gZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZmIuYyBiL2xp Yi9pZ3RfZmIuYwo+IGluZGV4IDVkOGMxODdhOWFjOS4uZGIzYWUwNjc0OGQxIDEwMDY0NAo+IC0t LSBhL2xpYi9pZ3RfZmIuYwo+ICsrKyBiL2xpYi9pZ3RfZmIuYwo+IEBAIC0xNTA4LDcgKzE1MDgs NyBAQCBzdGF0aWMgdm9pZCAqaWd0X2ZiX2NyZWF0ZV9jYWlyb19zaGFkb3dfYnVmZmVyKGludCBm ZCwKPiAgIAkJRFJNX0ZPUk1BVF9YUkdCODg4OCwgTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9ORSwK PiAgIAkJSUdUX0NPTE9SX1lDQkNSX0JUNzA5LCBJR1RfQ09MT1JfWUNCQ1JfTElNSVRFRF9SQU5H RSk7Cj4gICAKPiAtCXNoYWRvdy0+c3RyaWRlc1swXSA9IEFMSUdOKHdpZHRoICogNCwgMTYpOwo+ ICsJc2hhZG93LT5zdHJpZGVzWzBdID0gQUxJR04od2lkdGggKiBzaGFkb3ctPnBsYW5lX2JwcFsw XSwgMTYpOwo+ICAgCXNoYWRvdy0+c2l6ZSA9IEFMSUdOKHNoYWRvdy0+c3RyaWRlc1swXSAqIGhl aWdodCwKPiAgIAkJCSAgICAgc3lzY29uZihfU0NfUEFHRVNJWkUpKTsKPiAgIAlwdHIgPSBtbWFw KE5VTEwsIHNoYWRvdy0+c2l6ZSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwKPiBAQCAtMTY4MSw3 ICsxNjgxLDkgQEAgc3RhdGljIHZvaWQgY29udmVydF95dXZfdG9fcmdiMjQoc3RydWN0IGZiX2Nv bnZlcnQgKmN2dCkKPiAgIAl1aW50OF90ICp5LCAqdSwgKnY7Cj4gICAJdWludDhfdCAqcmdiMjQg PSBjdnQtPmRzdC5wdHI7Cj4gICAJdW5zaWduZWQgaW50IHJnYjI0X3N0cmlkZSA9IGN2dC0+ZHN0 LmZiLT5zdHJpZGVzWzBdOwo+IC0Jc3RydWN0IGlndF9tYXQ0IG0gPSBpZ3RfeWNiY3JfdG9fcmdi X21hdHJpeChjdnQtPnNyYy5mYi0+Y29sb3JfZW5jb2RpbmcsCj4gKwlzdHJ1Y3QgaWd0X21hdDQg bSA9IGlndF95Y2Jjcl90b19yZ2JfbWF0cml4KGN2dC0+c3JjLmZiLT5kcm1fZm9ybWF0LAo+ICsJ CQkJCQkgICAgY3Z0LT5kc3QuZmItPmRybV9mb3JtYXQsCj4gKwkJCQkJCSAgICBjdnQtPnNyYy5m Yi0+Y29sb3JfZW5jb2RpbmcsCj4gICAJCQkJCQkgICAgY3Z0LT5zcmMuZmItPmNvbG9yX3Jhbmdl KTsKPiAgIAl1aW50OF90ICpidWY7Cj4gICAJc3RydWN0IHl1dl9wYXJhbWV0ZXJzIHBhcmFtcyA9 IHsgfTsKPiBAQCAtMTc0Miw3ICsxNzQ0LDkgQEAgc3RhdGljIHZvaWQgY29udmVydF9yZ2IyNF90 b195dXYoc3RydWN0IGZiX2NvbnZlcnQgKmN2dCkKPiAgIAljb25zdCB1aW50OF90ICpyZ2IyNCA9 IGN2dC0+c3JjLnB0cjsKPiAgIAl1aW50OF90IGJwcCA9IDQ7Cj4gICAJdW5zaWduZWQgcmdiMjRf c3RyaWRlID0gY3Z0LT5zcmMuZmItPnN0cmlkZXNbMF07Cj4gLQlzdHJ1Y3QgaWd0X21hdDQgbSA9 IGlndF9yZ2JfdG9feWNiY3JfbWF0cml4KGN2dC0+ZHN0LmZiLT5jb2xvcl9lbmNvZGluZywKPiAr CXN0cnVjdCBpZ3RfbWF0NCBtID0gaWd0X3JnYl90b195Y2Jjcl9tYXRyaXgoY3Z0LT5zcmMuZmIt PmRybV9mb3JtYXQsCj4gKwkJCQkJCSAgICBjdnQtPmRzdC5mYi0+ZHJtX2Zvcm1hdCwKPiArCQkJ CQkJICAgIGN2dC0+ZHN0LmZiLT5jb2xvcl9lbmNvZGluZywKPiAgIAkJCQkJCSAgICBjdnQtPmRz dC5mYi0+Y29sb3JfcmFuZ2UpOwo+ICAgCXN0cnVjdCB5dXZfcGFyYW1ldGVycyBwYXJhbXMgPSB7 IH07Cj4gICAKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=