From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH v14 1/2] drm: Add connector property to limit max bpc Date: Wed, 24 Oct 2018 15:49:50 -0700 Message-ID: <20181024224950.GH3942@intel.com> References: <20181012184233.29250-1-radhakrishna.sripada@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20181012184233.29250-1-radhakrishna.sripada@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Radhakrishna Sripada Cc: Sunpeng Li , Daniel Vetter , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Kishore Kadiyala List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBPY3QgMTIsIDIwMTggYXQgMTE6NDI6MzJBTSAtMDcwMCwgUmFkaGFrcmlzaG5hIFNy aXBhZGEgd3JvdGU6Cj4gQXQgdGltZXMgMTJicGMgSERNSSBjYW5ub3QgYmUgZHJpdmVuIGR1ZSB0 byBmYXVsdHkgY2FibGVzLCBkb25nbGVzCj4gbGV2ZWwgc2hpZnRlcnMgZXRjLiBUbyB3b3JrYXJv dW5kIHRoZW0gd2UgbWF5IG5lZWQgdG8gZHJpdmUgdGhlIG91dHB1dAo+IGF0IGEgbG93ZXIgYnBj LiBDdXJyZW50bHkgdGhlIHVzZXIgc3BhY2UgZG9lcyBub3QgaGF2ZSBhIHdheSB0byBsaW1pdAo+ IHRoZSBicGMuIFRoZSBkZWZhdWx0IGJwYyB0byBiZSBwcm9ncmFtbWVkIGlzIGRlY2lkZWQgYnkg dGhlIGRyaXZlciBhbmQKPiBpcyBydW4gYWdhaW5zdCBjb25uZWN0b3IgbGltaXRhdGlvbnMuCj4g Cj4gQ3JlYXRpbmcgYSBuZXcgY29ubmVjdG9yIHByb3BlcnR5ICJtYXggYnBjIiBpbiBvcmRlciB0 byBsaW1pdCB0aGUgYnBjLgo+IHhyYW5kciBjYW4gbWFrZSB1c2Ugb2YgdGhpcyBjb25uZWN0b3Ig cHJvcGVydHkgdG8gbWFrZSBzdXJlIHRoYXQgYnBjIGRvZXMKPiBub3QgZXhjZWVkIHRoZSBjb25m aWd1cmVkIHZhbHVlLiBUaGlzIHByb3BlcnR5IGNhbiBiZSB1c2VkIGJ5IHVzZXJzcGFjZSB0bwo+ IHNldCB0aGUgYnBjLgo+IAo+IFYyOiBJbml0aWFsaXplIG1heF9icGMgdG8gc2F0aXNmeSBrbXNf cHJvcGVydGllcwo+IFYzOiBNb3ZlIHRoZSBwcm9wZXJ0eSB0byBkcm1fY29ubmVjdG9yCj4gVjQ6 IFNwbGl0IGRybSBhbmQgaTkxNSBjb21wb25lbnRzKFZpbGxlKQo+IFY1OiBNYWtlIHRoZSBwcm9w ZXJ0eSBwZXIgY29ubmVjdG9yKFZpbGxlKQo+IFY2OiBDb21wYXJlIHRoZSByZXF1ZXN0ZWQgYnBj IHRvIGNvbm5lY3RvciBicGMoRGFuaWVsKQo+ICAgICBNb3ZlIHRoZSBhdHRhY2hfcHJvcGVydHkg ZnVuY3Rpb24gdG8gY29yZShWaWxsZSkKPiBWNzogRml4IGNoZWNrcGF0Y2ggd2FybmluZ3MKPiBW ODogU2ltcGxpZnkgdGhlIGNvbm5lY3RvciBjaGVjayBjb2RlKFZpbGxlKQo+IFY5OiBDb25zdCBk aXNwbGF5X2luZm8oVmlsbGUpCj4gVjEwLFYxMTogRml4IENJIGlzc3Vlcy4KPiBWMTI6IEFkZCB0 aGUgS2VybmVsIGRvY3VtZW50YXRpb24oRGFuaWVsKQo+IFYxNDogQ3Jvc3NyZWZlcmVuY2UgdGhl IGZ1bmN0aW9uIG5hbWUgaW4gdGhlIGRvYyhEYW5pZWwpCj4gCj4gQ2M6IFZpbGxlIFN5cmrDpGzD pCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRh bmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gQ2M6IEtpc2hvcmUgS2FkaXlhbGEgPGtpc2hvcmUua2Fk aXlhbGFAaW50ZWwuY29tPgo+IENjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5j b20+Cj4gQ2M6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gQ2M6 IFN0YW5pc2xhdiBMaXNvdnNraXkgPHN0YW5pc2xhdi5saXNvdnNraXlAaW50ZWwuY29tPgo+IENj OiBTdW5wZW5nIExpIDxzdW5wZW5nLmxpQGFtZC5jb20+Cj4gQWNrZWQtYnk6IERhbmllbCBWZXR0 ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gU2lnbmVkLW9mZi1ieTogUmFkaGFrcmlzaG5h IFNyaXBhZGEgPHJhZGhha3Jpc2huYS5zcmlwYWRhQGludGVsLmNvbT4KClRoaXMgcGF0Y2ggbG9v a3MgcmlnaHQgdG8gbWU6CgpSZXZpZXdlZC1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlA aW50ZWwuY29tPgoKYnV0IHdlIHByb2JhYmx5IG5lZWQgdG8gaG9sZCBvbiBtZXJnZSB3aGlsZSB3 ZSB3YWl0IGNsYXJpZmljYXRpb25zCmFuZCBmaW5hbCBydi1iIG9uIGlndCB0ZXN0cy4uLi4KCj4g LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgICAgICAgIHwgIDUgKysrKysKPiAg ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgfCAgNCArKysrCj4gIGRyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyAgIHwgIDQgKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2Nvbm5lY3Rvci5jICAgICB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKPiAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgICAgfCAyMCArKysrKysr KysrKysrKysrKysKPiAgNSBmaWxlcyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspCj4gCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pYy5jCj4gaW5kZXggMjg3MGFlMjA1MjM3Li5jZDgzNjJkYzRmNzQgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljLmMKPiBAQCAtMzkwLDYgKzM5MCwxMSBAQCBzdGF0aWMgaW50IGRybV9hdG9t aWNfY29ubmVjdG9yX2NoZWNrKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIHsK PiAgCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiAgCXN0cnVjdCBkcm1fd3Jp dGViYWNrX2pvYiAqd3JpdGViYWNrX2pvYiA9IHN0YXRlLT53cml0ZWJhY2tfam9iOwo+ICsJY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5X2lu Zm87Cj4gKwo+ICsJc3RhdGUtPm1heF9icGMgPSBpbmZvLT5icGMgPyBpbmZvLT5icGMgOiA4Owo+ ICsJaWYgKGNvbm5lY3Rvci0+bWF4X2JwY19wcm9wZXJ0eSkKPiArCQlzdGF0ZS0+bWF4X2JwYyA9 IG1pbihzdGF0ZS0+bWF4X2JwYywgc3RhdGUtPm1heF9yZXF1ZXN0ZWRfYnBjKTsKPiAgCj4gIAlp ZiAoKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgIT0gRFJNX01PREVfQ09OTkVDVE9SX1dSSVRF QkFDSykgfHwgIXdyaXRlYmFja19qb2IpCj4gIAkJcmV0dXJuIDA7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWNfaGVscGVyLmMKPiBpbmRleCA2ZjY2Nzc3ZGNhNGIuLmQ2MWE3NGIyNTRmNSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gQEAgLTY1MCw2ICs2NTAsMTAgQEAgZHJt X2F0b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJ CQlpZiAob2xkX2Nvbm5lY3Rvcl9zdGF0ZS0+bGlua19zdGF0dXMgIT0KPiAgCQkJICAgIG5ld19j b25uZWN0b3Jfc3RhdGUtPmxpbmtfc3RhdHVzKQo+ICAJCQkJbmV3X2NydGNfc3RhdGUtPmNvbm5l Y3RvcnNfY2hhbmdlZCA9IHRydWU7Cj4gKwo+ICsJCQlpZiAob2xkX2Nvbm5lY3Rvcl9zdGF0ZS0+ bWF4X3JlcXVlc3RlZF9icGMgIT0KPiArCQkJICAgIG5ld19jb25uZWN0b3Jfc3RhdGUtPm1heF9y ZXF1ZXN0ZWRfYnBjKQo+ICsJCQkJbmV3X2NydGNfc3RhdGUtPmNvbm5lY3RvcnNfY2hhbmdlZCA9 IHRydWU7Cj4gIAkJfQo+ICAKPiAgCQlpZiAoZnVuY3MtPmF0b21pY19jaGVjaykKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jIGIvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfdWFwaS5jCj4gaW5kZXggYTIyZDZmMjY5YjA3Li43NDkyODE5YzgxY2UgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gQEAgLTc2MSw2ICs3NjEsOCBAQCBzdGF0 aWMgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAo+ICAKPiAgCQlyZXR1cm4gc2V0X291dF9mZW5jZV9mb3JfY29ubmVj dG9yKHN0YXRlLT5zdGF0ZSwgY29ubmVjdG9yLAo+ICAJCQkJCQkgICBmZW5jZV9wdHIpOwo+ICsJ fSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPm1heF9icGNfcHJvcGVydHkpIHsKPiAr CQlzdGF0ZS0+bWF4X3JlcXVlc3RlZF9icGMgPSB2YWw7Cj4gIAl9IGVsc2UgaWYgKGNvbm5lY3Rv ci0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkpIHsKPiAgCQlyZXR1cm4gY29ubmVjdG9yLT5m dW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eShjb25uZWN0b3IsCj4gIAkJCQlzdGF0ZSwgcHJvcGVy dHksIHZhbCk7Cj4gQEAgLTgyNSw2ICs4MjcsOCBAQCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9nZXRf cHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCQkqdmFsID0gMDsK PiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT53cml0ZWJhY2tfb3V0X2ZlbmNlX3B0 cl9wcm9wZXJ0eSkgewo+ICAJCSp2YWwgPSAwOwo+ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBj b25uZWN0b3ItPm1heF9icGNfcHJvcGVydHkpIHsKPiArCQkqdmFsID0gc3RhdGUtPm1heF9yZXF1 ZXN0ZWRfYnBjOwo+ICAJfSBlbHNlIGlmIChjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfZ2V0X3By b3BlcnR5KSB7Cj4gIAkJcmV0dXJuIGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVy dHkoY29ubmVjdG9yLAo+ICAJCQkJc3RhdGUsIHByb3BlcnR5LCB2YWwpOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9j b25uZWN0b3IuYwo+IGluZGV4IDVkMDE0MTRlYzlmNy4uYmRhYTI5ZTUzMGQ0IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2Nvbm5lY3Rvci5jCj4gQEAgLTkzMiw2ICs5MzIsMTMgQEAgRFJNX0VOVU1fTkFNRV9G Tihkcm1fZ2V0X2NvbnRlbnRfcHJvdGVjdGlvbl9uYW1lLCBkcm1fY3BfZW51bV9saXN0KQo+ICAg KgkgIGlzIG5vIGxvbmdlciBwcm90ZWN0ZWQgYW5kIHVzZXJzcGFjZSBzaG91bGQgdGFrZSBhcHBy b3ByaWF0ZSBhY3Rpb24KPiAgICoJICAod2hhdGV2ZXIgdGhhdCBtaWdodCBiZSkuCj4gICAqCj4g KyAqIG1heCBicGM6Cj4gKyAqCVRoaXMgcmFuZ2UgcHJvcGVydHkgaXMgdXNlZCBieSB1c2Vyc3Bh Y2UgdG8gbGltaXQgdGhlIGJpdCBkZXB0aC4gV2hlbgo+ICsgKgl1c2VkIHRoZSBkcml2ZXIgd291 bGQgbGltaXQgdGhlIGJwYyBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIHZhbGlkIHJhbmdlCj4gKyAq CXN1cHBvcnRlZCBieSB0aGUgaGFyZHdhcmUgYW5kIHNpbmsuIERyaXZlcnMgdG8gdXNlIHRoZSBm dW5jdGlvbgo+ICsgKglkcm1fY29ubmVjdG9yX2F0dGFjaF9tYXhfYnBjX3Byb3BlcnR5KCkgdG8g Y3JlYXRlIGFuZCBhdHRhY2ggdGhlCj4gKyAqCXByb3BlcnR5IHRvIHRoZSBjb25uZWN0b3IgZHVy aW5nIGluaXRpYWxpemF0aW9uLgo+ICsgKgo+ICAgKiBDb25uZWN0b3JzIGFsc28gaGF2ZSBvbmUg c3RhbmRhcmRpemVkIGF0b21pYyBwcm9wZXJ0eToKPiAgICoKPiAgICogQ1JUQ19JRDoKPiBAQCAt MTYwMCw2ICsxNjA3LDQwIEBAIHZvaWQgZHJtX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJv cGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgRVhQT1JUX1NZTUJPTChk cm1fY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eSk7Cj4gIAo+ICAvKioKPiArICog ZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfbWF4X2JwY19wcm9wZXJ0eSAtIGF0dGFjaCAibWF4IGJwYyIg cHJvcGVydHkKPiArICogQGNvbm5lY3RvcjogY29ubmVjdG9yIHRvIGF0dGFjaCBtYXggYnBjIHBy b3BlcnR5IG9uLgo+ICsgKiBAbWluOiBUaGUgbWluaW11bSBiaXQgZGVwdGggc3VwcG9ydGVkIGJ5 IHRoZSBjb25uZWN0b3IuCj4gKyAqIEBtYXg6IFRoZSBtYXhpbXVtIGJpdCBkZXB0aCBzdXBwb3J0 ZWQgYnkgdGhlIGNvbm5lY3Rvci4KPiArICoKPiArICogVGhpcyBpcyB1c2VkIHRvIGFkZCBzdXBw b3J0IGZvciBsaW1pdGluZyB0aGUgYml0IGRlcHRoIG9uIGEgY29ubmVjdG9yLgo+ICsgKgo+ICsg KiBSZXR1cm5zOgo+ICsgKiBaZXJvIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm5vIG9uIGZhaWx1 cmUuCj4gKyAqLwo+ICtpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfbWF4X2JwY19wcm9wZXJ0eShz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCQkJCSAgaW50IG1pbiwgaW50IG1h eCkKPiArewo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2Owo+ICsJ c3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcDsKPiArCj4gKwlwcm9wID0gY29ubmVjdG9yLT5tYXhf YnBjX3Byb3BlcnR5Owo+ICsJaWYgKCFwcm9wKSB7Cj4gKwkJcHJvcCA9IGRybV9wcm9wZXJ0eV9j cmVhdGVfcmFuZ2UoZGV2LCAwLCAibWF4IGJwYyIsIG1pbiwgbWF4KTsKPiArCQlpZiAoIXByb3Ap Cj4gKwkJCXJldHVybiAtRU5PTUVNOwo+ICsKPiArCQljb25uZWN0b3ItPm1heF9icGNfcHJvcGVy dHkgPSBwcm9wOwo+ICsJfQo+ICsKPiArCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjb25u ZWN0b3ItPmJhc2UsIHByb3AsIG1heCk7Cj4gKwljb25uZWN0b3ItPnN0YXRlLT5tYXhfcmVxdWVz dGVkX2JwYyA9IG1heDsKPiArCWNvbm5lY3Rvci0+c3RhdGUtPm1heF9icGMgPSBtYXg7Cj4gKwo+ ICsJcmV0dXJuIDA7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX2F0dGFjaF9t YXhfYnBjX3Byb3BlcnR5KTsKPiArCj4gKy8qKgo+ICAgKiBkcm1fY29ubmVjdG9yX2luaXRfcGFu ZWxfb3JpZW50YXRpb25fcHJvcGVydHkgLQo+ICAgKglpbml0aWFsaXplIHRoZSBjb25uZWN0ZXJz IHBhbmVsX29yaWVudGF0aW9uIHByb3BlcnR5Cj4gICAqIEBjb25uZWN0b3I6IGNvbm5lY3RvciBm b3Igd2hpY2ggdG8gaW5pdCB0aGUgcGFuZWwtb3JpZW50YXRpb24gcHJvcGVydHkuCj4gZGlmZiAt LWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9jb25u ZWN0b3IuaAo+IGluZGV4IDViM2NmOTA5ZmQ1ZS4uYTQwMmQxNjQyN2ExIDEwMDY0NAo+IC0tLSBh L2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25u ZWN0b3IuaAo+IEBAIC00NjEsNiArNDYxLDE4IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRl IHsKPiAgCSAqIGRybV93cml0ZWJhY2tfc2lnbmFsX2NvbXBsZXRpb24oKQo+ICAJICovCj4gIAlz dHJ1Y3QgZHJtX3dyaXRlYmFja19qb2IgKndyaXRlYmFja19qb2I7Cj4gKwo+ICsJLyoqCj4gKwkg KiBAbWF4X3JlcXVlc3RlZF9icGM6IENvbm5lY3RvciBwcm9wZXJ0eSB0byBsaW1pdCB0aGUgbWF4 aW11bSBiaXQKPiArCSAqIGRlcHRoIG9mIHRoZSBwaXhlbHMuCj4gKwkgKi8KPiArCXU4IG1heF9y ZXF1ZXN0ZWRfYnBjOwo+ICsKPiArCS8qKgo+ICsJICogQG1heF9icGM6IENvbm5lY3RvciBtYXhf YnBjIGJhc2VkIG9uIHRoZSByZXF1ZXN0ZWQgbWF4X2JwYyBwcm9wZXJ0eQo+ICsJICogYW5kIHRo ZSBjb25uZWN0b3IgYnBjIGxpbWl0YXRpb25zIG9idGFpbmVkIGZyb20gZWRpZC4KPiArCSAqLwo+ ICsJdTggbWF4X2JwYzsKPiAgfTsKPiAgCj4gIC8qKgo+IEBAIC05MjQsNiArOTM2LDEyIEBAIHN0 cnVjdCBkcm1fY29ubmVjdG9yIHsKPiAgCSAqLwo+ICAJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9i ICpwYXRoX2Jsb2JfcHRyOwo+ICAKPiArCS8qKgo+ICsJICogQG1heF9icGNfcHJvcGVydHk6IERl ZmF1bHQgY29ubmVjdG9yIHByb3BlcnR5IGZvciB0aGUgbWF4IGJwYyB0byBiZQo+ICsJICogZHJp dmVuIG91dCBvZiB0aGUgY29ubmVjdG9yLgo+ICsJICovCj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5 ICptYXhfYnBjX3Byb3BlcnR5Owo+ICsKPiAgI2RlZmluZSBEUk1fQ09OTkVDVE9SX1BPTExfSFBE ICgxIDw8IDApCj4gICNkZWZpbmUgRFJNX0NPTk5FQ1RPUl9QT0xMX0NPTk5FQ1QgKDEgPDwgMSkK PiAgI2RlZmluZSBEUk1fQ09OTkVDVE9SX1BPTExfRElTQ09OTkVDVCAoMSA8PCAyKQo+IEBAIC0x MjAyLDYgKzEyMjAsOCBAQCB2b2lkIGRybV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3Bl cnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAkJCQkJICAgIHVpbnQ2NF90 IGxpbmtfc3RhdHVzKTsKPiAgaW50IGRybV9jb25uZWN0b3JfaW5pdF9wYW5lbF9vcmllbnRhdGlv bl9wcm9wZXJ0eSgKPiAgCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGludCB3aWR0 aCwgaW50IGhlaWdodCk7Cj4gK2ludCBkcm1fY29ubmVjdG9yX2F0dGFjaF9tYXhfYnBjX3Byb3Bl cnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJCQkJICBpbnQgbWluLCBp bnQgbWF4KTsKPiAgCj4gIC8qKgo+ICAgKiBzdHJ1Y3QgZHJtX3RpbGVfZ3JvdXAgLSBUaWxlIGdy b3VwIG1ldGFkYXRhCj4gLS0gCj4gMi45LjMKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==