From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH 06/20] drm: add helper to validate YCBCR420 modes Date: Thu, 13 Jul 2017 18:12:50 +0530 Message-ID: References: <1499685528-6926-1-git-send-email-shashank.sharma@intel.com> <1499685528-6926-7-git-send-email-shashank.sharma@intel.com> <20170712171801.GO12629@intel.com> <20170713123104.GU12629@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170713123104.GU12629@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiA3LzEzLzIwMTcgNjowMSBQTSwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFRodSwgSnVsIDEzLCAyMDE3IGF0IDExOjAyOjE4QU0gKzA1MzAsIFNoYXJt YSwgU2hhc2hhbmsgd3JvdGU6Cj4+IFJlZ2FyZHMKPj4KPj4gU2hhc2hhbmsKPj4KPj4KPj4gT24g Ny8xMi8yMDE3IDEwOjQ4IFBNLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4+PiBPbiBNb24sIEp1 bCAxMCwgMjAxNyBhdCAwNDo0ODozNFBNICswNTMwLCBTaGFzaGFuayBTaGFybWEgd3JvdGU6Cj4+ Pj4gWUNCQ1I0MjAgbW9kZXMgYXJlIHN1cHBvcnRlZCBvbmx5IG9uIEhETUkgMi4wIGNhcGFibGUg c291cmNlcy4KPj4+PiBUaGlzIHBhdGNoIGFkZHM6Cj4+Pj4gLSBBIGRybSBoZWxwZXIgdG8gdmFs aWRhdGUgWUNCQ1I0MjAtb25seSBtb2RlIG9uIGEgcGFydGljdWxhcgo+Pj4+ICAgICBjb25uZWN0 b3IuIFRoaXMgZnVuY3Rpb24gd2lsbCBoZWxwIHBydW5pbmcgdGhlIFlDQkNSNDIwLW9ubHkKPj4+ PiAgICAgbW9kZXMgZnJvbSB0aGUgY29ubmVjdG9yJ3MgbW9kZWxpc3QuCj4+Pj4gLSBBIGJvb2wg dmFyaWFibGUgKHljYmNyXzQyMF9hbGxvd2VkKSBpbiB0aGUgZHJtIGNvbm5lY3RvciBzdHJ1Y3R1 cmUuCj4+Pj4gICAgIFdoaWxlIGhhbmRsaW5nIHRoZSBFRElEIGZyb20gSERNSSAyLjAgc2lua3Ms IGl0cyBpbXBvcnRhbnQgdG8ga25vdwo+Pj4+ICAgICBpZiB0aGUgc291cmNlIGlzIGNhcGFibGUg b2YgaGFuZGxpbmcgWUNCQ1I0MjAgb3V0cHV0LCBzbyB0aGF0IG5vCj4+Pj4gICAgIFlDQkNSIDQy MCBtb2RlcyB3aWxsIGJlIGxpc3RlZCBmb3Igc291cmNlcyB3aGljaCBjYW4ndCBoYW5kbGUgaXQu Cj4+Pj4gICAgIEEgZHJpdmVyIHNob3VsZCBzZXQgdGhpcyB2YXJpYWJsZSBpZiBpdCB3YW50cyB0 byBzZWUgWUNCQ1I0MjAgbW9kZXMKPj4+PiAgICAgaW4gdGhlIG1vZGVkYi4KPj4+Pgo+Pj4+IFY1 OiBJbnRyb2R1Y2VkIHRoZSBwYXRjaCBpbiBzZXJpZXMuCj4+Pj4gVjUtcmVzZW5kOiBTcXVhc2hl ZCB0d28gcGF0Y2hlcyAodmFsaWRhdGUgWUNCQ1I0MjAgYW5kIGFkZCBZQ0JDUjQyMAo+Pj4+IAkg ICBpZGVudGlmaWVyKQo+Pj4+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxz aGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+Pj4+IC0tLQo+Pj4+ICAgIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fZWRpZC5jICAgICAgICAgfCAgMyArKy0KPj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJt X21vZGVzLmMgICAgICAgIHwgMjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+Pj4+ICAg IGRyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMgfCAgNCArKysrCj4+Pj4gICAgaW5j bHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgICB8ICA5ICsrKysrKysrKwo+Pj4+ICAgIGlu Y2x1ZGUvZHJtL2RybV9lZGlkLmggICAgICAgICAgICAgfCAgMSArCj4+Pj4gICAgaW5jbHVkZS9k cm0vZHJtX21vZGVzLmggICAgICAgICAgICB8ICA1ICsrKysrCj4+Pj4gICAgNiBmaWxlcyBjaGFu Z2VkLCA0OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4+Pj4KPj4+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQu Ywo+Pj4+IGluZGV4IDEwZGFiNjIuLjQ0YmUxMjggMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9lZGlkLmMKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ Pj4+IEBAIC0yOTUwLDEwICsyOTUwLDExIEBAIHU4IGRybV9tYXRjaF9jZWFfbW9kZShjb25zdCBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqdG9fbWF0Y2gpCj4+Pj4gICAgfQo+Pj4+ICAgIEVYUE9S VF9TWU1CT0woZHJtX21hdGNoX2NlYV9tb2RlKTsKPj4+PiAgICAKPj4+PiAtc3RhdGljIGJvb2wg ZHJtX3ZhbGlkX2NlYV92aWModTggdmljKQo+Pj4+ICtib29sIGRybV92YWxpZF9jZWFfdmljKHU4 IHZpYykKPj4+PiAgICB7Cj4+Pj4gICAgCXJldHVybiB2aWMgPiAwICYmIHZpYyA8IEFSUkFZX1NJ WkUoZWRpZF9jZWFfbW9kZXMpOwo+Pj4+ICAgIH0KPj4+PiArRVhQT1JUX1NZTUJPTChkcm1fdmFs aWRfY2VhX3ZpYyk7Cj4+Pj4gICAgCj4+Pj4gICAgLyoqCj4+Pj4gICAgICogZHJtX2dldF9jZWFf YXNwZWN0X3JhdGlvIC0gZ2V0IHRoZSBwaWN0dXJlIGFzcGVjdCByYXRpbyBjb3JyZXNwb25kaW5n IHRvCj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fbW9kZXMuYwo+Pj4+IGluZGV4IGYyNDkzYjkuLjNiNTNjOGUzIDEwMDY0 NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYwo+Pj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fbW9kZXMuYwo+Pj4+IEBAIC0xMDgzLDYgKzEwODMsMzQgQEAgZHJtX21v ZGVfdmFsaWRhdGVfc2l6ZShjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPj4+ PiAgICB9Cj4+Pj4gICAgRVhQT1JUX1NZTUJPTChkcm1fbW9kZV92YWxpZGF0ZV9zaXplKTsKPj4+ PiAgICAKPj4+PiArLyoqCj4+Pj4gKyAqIGRybV9tb2RlX3ljYmNyNDIwX29ubHkgLSBhZGQgJ3lj YmNyNDIwLW9ubHknIG1vZGVzIG9ubHkgd2hlbiBhbGxvd2VkCj4+Pj4gKyAqIEBtb2RlOiBtb2Rl IHRvIGNoZWNrCj4+Pj4gKyAqIEBjb25uZWN0b3I6IGRybSBjb25uZWN0b3IgdW5kZXIgYWN0aW9u Cj4+Pj4gKyAqCj4+Pj4gKyAqIFRoaXMgZnVuY3Rpb24gaXMgYSBoZWxwZXIgd2hpY2ggY2FuIGJl IHVzZWQgdG8gZmlsdGVyIG91dCBhbnkgWUNCQ1I0MjAKPj4+PiArICogb25seSBtb2RlLCB3aGVu IHRoZSBzb3VyY2UgZG9lc24ndCBzdXBwb3J0IGl0Lgo+Pj4+ICsgKgo+Pj4+ICsgKiBSZXR1cm5z Ogo+Pj4+ICsgKiBUaGUgbW9kZSBzdGF0dXMKPj4+PiArICovCj4+Pj4gK2VudW0gZHJtX21vZGVf c3RhdHVzCj4+Pj4gK2RybV9tb2RlX3ZhbGlkYXRlX3ljYmNyNDIwKGNvbnN0IHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlLAo+Pj4+ICsJCQkgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQo+Pj4+ICt7Cj4+Pj4gKwl1OCB2aWMgPSBkcm1fbWF0Y2hfY2VhX21vZGUobW9kZSk7 Cj4+Pj4gKwllbnVtIGRybV9tb2RlX3N0YXR1cyBzdGF0dXMgPSBNT0RFX09LOwo+Pj4+ICsJc3Ry dWN0IGRybV9oZG1pX2luZm8gKmhkbWkgPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRtaTsK Pj4+PiArCj4+Pj4gKwlpZiAoZHJtX3ZhbGlkX2NlYV92aWModmljKSAmJiB0ZXN0X2JpdCh2aWMs IGhkbWktPnk0MjBfdmRiX21vZGVzKSkgewo+Pj4gU3RpbGwgdGhpbmsgdGhlIHZhbGlkIGNoZWNr IGlzIHBvaW50bGVzcy4KPj4gSSBzdGlsbCB0aGluayB0aGF0IHdlIHNob3VsZCBvbmx5IHBhc3Mg dmFsaWQgQ0VBIFZJQyB0byBWREIgY2hlY2ssIGJ1dAo+PiBPaywgSSB3aWxsIHJlbW92ZSB0aGF0 Lgo+Pj4gICAgU2tpcHBpbmcgdGhhdCB3b3VsZCBhbHNvIGF2b2lkCj4+PiBoYXZpbmcgdG8gbWFr ZSB0aGUgZnVuY3Rpb24gbm9uLXN0YXRpYwo+PiBPawo+Pj4gKHRoZSBFWFBPUlRfU1lNQk9MIHRo ZXJlIHNlZW1zCj4+PiB1bm5lY2Vzc2FyeSBlaXRoZXIgd2F5KS4KPj4gV2h5ID8KPiBJdCdzIGFs bCBpbiB0aGUgc2FtZSBtb2R1bGUgQUZBSUNTLgo+Cj4gT2gsIGFuZCB0aGUgcGF0Y2ggb3JkZXJp bmcgaGVyZSBzdGlsbCBsb29rcyBwb3RlbnRpYWxseSBwcm9ibGVtYXRpYy4gV2UKPiBzaG91bGQg YWRkIHRoZSA0MjAgbW9kZSB2YWxpZGF0aW9uIGJlZm9yZSB3ZSBzdGFydCBhZGRpbmcgdGhlIDQy MCBtb2Rlcy4KPiBPdGhlcndpc2UgYW55b25lIGJpc2VjdGluZyB0aHJvdWdoIHRoaXMgbWF5IGdl dCBhIGJsYWNrL2NvcnJ1cHRlZCBzY3JlZW4KPiBpZiB0aGV5IGhhdmUgYSBtb25pdG9yIHdpdGgg IjQyMCBvbmx5IiBtb2Rlcy4KQWN0dWFsbHksIHRoZSA0MjAgbW9kZSB2YWxpZGF0aW9uIHBhdGNo IHVzZXMgNDIwX29ubHkgYml0bWFwLCB3aGljaCBpcyAKYWRkZWQgaW4gYWRkXzQyMF9tb2RlcyBw YXRjaC4KU28gSSBjYW4ndCBwdXQgdGhpcyBwYXRjaCBiZWZvcmUgb3RoZXIgb25lICh5b3UgcmV2 aWV3ZWQgdGhhdCBzZXF1ZW5jZSAKb25jZSwgYW5kIGZvdW5kIHRoYXQpLgotIFNoYXNoYW5rCj4+ Pj4gKwkJaWYgKCFjb25uZWN0b3ItPnljYmNyXzQyMF9hbGxvd2VkKQo+Pj4+ICsJCQlzdGF0dXMg PSBNT0RFX05PXzQyMDsKPj4+PiArCX0KPj4+PiArCj4+Pj4gKwlyZXR1cm4gc3RhdHVzOwo+Pj4+ ICt9Cj4+Pj4gK0VYUE9SVF9TWU1CT0woZHJtX21vZGVfdmFsaWRhdGVfeWNiY3I0MjApOwo+Pj4+ ICsKPj4+PiAgICAjZGVmaW5lIE1PREVfU1RBVFVTKHN0YXR1cykgW01PREVfICMjIHN0YXR1cyAr IDNdID0gI3N0YXR1cwo+Pj4+ICAgIAo+Pj4+ICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qg ZHJtX21vZGVfc3RhdHVzX25hbWVzW10gPSB7Cj4+PiBeCj4+PiBUaGlzIHRoaW5nIG5lZWRzIHRv IGJlIHVwZGF0ZWQgYXMgd2VsbC4KPj4gT2ggc29ycnksIGdvb2QgY2F0Y2guCj4+IC0gU2hhc2hh bmsKPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMKPj4+PiBpbmRleCAwMGU2ODMyLi45 MDQ5NjZjIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVy LmMKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jCj4+Pj4gQEAg LTUyOCw2ICs1MjgsMTAgQEAgaW50IGRybV9oZWxwZXJfcHJvYmVfc2luZ2xlX2Nvbm5lY3Rvcl9t b2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+Pj4+ICAgIAkJaWYgKG1vZGUt PnN0YXR1cyA9PSBNT0RFX09LKQo+Pj4+ICAgIAkJCW1vZGUtPnN0YXR1cyA9IGRybV9tb2RlX3Zh bGlkYXRlX3BpcGVsaW5lKG1vZGUsCj4+Pj4gICAgCQkJCQkJCQkgIGNvbm5lY3Rvcik7Cj4+Pj4g Kwo+Pj4+ICsJCWlmIChtb2RlLT5zdGF0dXMgPT0gTU9ERV9PSykKPj4+PiArCQkJbW9kZS0+c3Rh dHVzID0gZHJtX21vZGVfdmFsaWRhdGVfeWNiY3I0MjAobW9kZSwKPj4+PiArCQkJCQkJCQkgIGNv bm5lY3Rvcik7Cj4+Pj4gICAgCX0KPj4+PiAgICAKPj4+PiAgICBwcnVuZToKPj4+PiBkaWZmIC0t Z2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5l Y3Rvci5oCj4+Pj4gaW5kZXggYjNhZjhlMy4uMjI1ZTA5MiAxMDA2NDQKPj4+PiAtLS0gYS9pbmNs dWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPj4+PiArKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVj dG9yLmgKPj4+PiBAQCAtNzQ2LDYgKzc0NiwxNSBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciB7Cj4+ Pj4gICAgCWJvb2wgaW50ZXJsYWNlX2FsbG93ZWQ7Cj4+Pj4gICAgCWJvb2wgZG91Ymxlc2Nhbl9h bGxvd2VkOwo+Pj4+ICAgIAlib29sIHN0ZXJlb19hbGxvd2VkOwo+Pj4+ICsKPj4+PiArCS8qKgo+ Pj4+ICsJICogQHljYmNyXzQyMF9hbGxvd2VkIDogVGhpcyBib29sIGluZGljYXRlcyBpZiB0aGlz IGNvbm5lY3RvciBpcwo+Pj4+ICsJICogY2FwYWJsZSBvZiBoYW5kbGluZyBZQ0JDUiA0MjAgb3V0 cHV0LiBXaGlsZSBwYXJzaW5nIHRoZSBFRElECj4+Pj4gKwkgKiBibG9ja3MsIGl0cyB2ZXJ5IGhl bHBmdWwgdG8ga25vdywgaWYgdGhlIHNvdXJjZSBpcyBjYXBhYmxlIG9mCj4+Pj4gKwkgKiBoYW5k bGluZyBZQ0JDUiA0MjAgb3V0cHV0cy4KPj4+PiArCSAqLwo+Pj4+ICsJYm9vbCB5Y2Jjcl80MjBf YWxsb3dlZDsKPj4+PiArCj4+Pj4gICAgCS8qKgo+Pj4+ICAgIAkgKiBAcmVnaXN0ZXJlZDogSXMg dGhpcyBjb25uZWN0b3IgZXhwb3NlZCAocmVnaXN0ZXJlZCkgd2l0aCB1c2Vyc3BhY2U/Cj4+Pj4g ICAgCSAqIFByb3RlY3RlZCBieSBAbXV0ZXguCj4+Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L2RybV9lZGlkLmggYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCj4+Pj4gaW5kZXggODljMDA2Mi4u YjU1YjJhNyAxMDA2NDQKPj4+PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCj4+Pj4gKysr IGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaAo+Pj4+IEBAIC00NzcsNCArNDc3LDUgQEAgdm9pZCBk cm1fZWRpZF9nZXRfbW9uaXRvcl9uYW1lKHN0cnVjdCBlZGlkICplZGlkLCBjaGFyICpuYW1lLAo+ Pj4+ICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpkcm1fbW9kZV9maW5kX2RtdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+Pj4+ICAgIAkJCQkJICAgaW50IGhzaXplLCBpbnQgdnNpemUsIGlu dCBmcmVzaCwKPj4+PiAgICAJCQkJCSAgIGJvb2wgcmIpOwo+Pj4+ICtib29sIGRybV92YWxpZF9j ZWFfdmljKHU4IHZpYyk7Cj4+Pj4gICAgI2VuZGlmIC8qIF9fRFJNX0VESURfSF9fICovCj4+Pj4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tb2Rlcy5oIGIvaW5jbHVkZS9kcm0vZHJtX21v ZGVzLmgKPj4+PiBpbmRleCA5NGFjNzcxLi5mOGExMjY4IDEwMDY0NAo+Pj4+IC0tLSBhL2luY2x1 ZGUvZHJtL2RybV9tb2Rlcy5oCj4+Pj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVzLmgKPj4+ PiBAQCAtODAsNiArODAsNyBAQCBzdHJ1Y3QgdmlkZW9tb2RlOwo+Pj4+ICAgICAqIEBNT0RFX09O RV9TSVpFOiBvbmx5IG9uZSByZXNvbHV0aW9uIGlzIHN1cHBvcnRlZAo+Pj4+ICAgICAqIEBNT0RF X05PX1JFRFVDRUQ6IG1vbml0b3IgZG9lc24ndCBhY2NlcHQgcmVkdWNlZCBibGFua2luZwo+Pj4+ ICAgICAqIEBNT0RFX05PX1NURVJFTzogc3RlcmVvIG1vZGVzIG5vdCBzdXBwb3J0ZWQKPj4+PiAr ICogQE1PREVfTk9fNDIwOiB5Y2JjciA0MjAgbW9kZXMgbm90IHN1cHBvcnRlZAo+Pj4+ICAgICAq IEBNT0RFX1NUQUxFOiBtb2RlIGhhcyBiZWNvbWUgc3RhbGUKPj4+PiAgICAgKiBATU9ERV9CQUQ6 IHVuc3BlY2lmaWVkIHJlYXNvbgo+Pj4+ICAgICAqIEBNT0RFX0VSUk9SOiBlcnJvciBjb25kaXRp b24KPj4+PiBAQCAtMTI0LDYgKzEyNSw3IEBAIGVudW0gZHJtX21vZGVfc3RhdHVzIHsKPj4+PiAg ICAJTU9ERV9PTkVfU0laRSwKPj4+PiAgICAJTU9ERV9OT19SRURVQ0VELAo+Pj4+ICAgIAlNT0RF X05PX1NURVJFTywKPj4+PiArCU1PREVfTk9fNDIwLAo+Pj4+ICAgIAlNT0RFX1NUQUxFID0gLTMs Cj4+Pj4gICAgCU1PREVfQkFEID0gLTIsCj4+Pj4gICAgCU1PREVfRVJST1IgPSAtMQo+Pj4+IEBA IC00OTYsNiArNDk4LDkgQEAgYm9vbCBkcm1fbW9kZV9lcXVhbF9ub19jbG9ja3Nfbm9fc3RlcmVv KGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlMSwKPj4+PiAgICBlbnVtIGRybV9t b2RlX3N0YXR1cyBkcm1fbW9kZV92YWxpZGF0ZV9iYXNpYyhjb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZSk7Cj4+Pj4gICAgZW51bSBkcm1fbW9kZV9zdGF0dXMgZHJtX21vZGVfdmFs aWRhdGVfc2l6ZShjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPj4+PiAgICAJ CQkJCSAgICBpbnQgbWF4WCwgaW50IG1heFkpOwo+Pj4+ICtlbnVtIGRybV9tb2RlX3N0YXR1cwo+ Pj4+ICtkcm1fbW9kZV92YWxpZGF0ZV95Y2JjcjQyMChjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSwKPj4+PiArCQkJICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7 Cj4+Pj4gICAgdm9pZCBkcm1fbW9kZV9wcnVuZV9pbnZhbGlkKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4+Pj4gICAgCQkJICAgIHN0cnVjdCBsaXN0X2hlYWQgKm1vZGVfbGlzdCwgYm9vbCB2ZXJi b3NlKTsKPj4+PiAgICB2b2lkIGRybV9tb2RlX3NvcnQoc3RydWN0IGxpc3RfaGVhZCAqbW9kZV9s aXN0KTsKPj4+PiAtLSAKPj4+PiAyLjcuNAo+Pj4+Cj4+Pj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+PiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4+ Pj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+Pj4+IGh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK