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, 7 Nov 2018 10:10:08 -0800 Message-ID: <20181107181008.GD2237@intel.com> References: <20181012184233.29250-1-radhakrishna.sripada@intel.com> <20181024224950.GH3942@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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Kazlauskas, Nicholas" Cc: "Li, Sun peng (Leo)" , Daniel Vetter , "intel-gfx@lists.freedesktop.org" , Kishore Kadiyala , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBOb3YgMDcsIDIwMTggYXQgMDQ6NTY6MDBQTSArMDAwMCwgS2F6bGF1c2thcywgTmlj aG9sYXMgd3JvdGU6Cj4gT24gMTAvMjQvMTggNjo0OSBQTSwgUm9kcmlnbyBWaXZpIHdyb3RlOgo+ ID4gT24gRnJpLCBPY3QgMTIsIDIwMTggYXQgMTE6NDI6MzJBTSAtMDcwMCwgUmFkaGFrcmlzaG5h IFNyaXBhZGEgd3JvdGU6Cj4gPj4gQXQgdGltZXMgMTJicGMgSERNSSBjYW5ub3QgYmUgZHJpdmVu IGR1ZSB0byBmYXVsdHkgY2FibGVzLCBkb25nbGVzCj4gPj4gbGV2ZWwgc2hpZnRlcnMgZXRjLiBU byB3b3JrYXJvdW5kIHRoZW0gd2UgbWF5IG5lZWQgdG8gZHJpdmUgdGhlIG91dHB1dAo+ID4+IGF0 IGEgbG93ZXIgYnBjLiBDdXJyZW50bHkgdGhlIHVzZXIgc3BhY2UgZG9lcyBub3QgaGF2ZSBhIHdh eSB0byBsaW1pdAo+ID4+IHRoZSBicGMuIFRoZSBkZWZhdWx0IGJwYyB0byBiZSBwcm9ncmFtbWVk IGlzIGRlY2lkZWQgYnkgdGhlIGRyaXZlciBhbmQKPiA+PiBpcyBydW4gYWdhaW5zdCBjb25uZWN0 b3IgbGltaXRhdGlvbnMuCj4gPj4KPiA+PiBDcmVhdGluZyBhIG5ldyBjb25uZWN0b3IgcHJvcGVy dHkgIm1heCBicGMiIGluIG9yZGVyIHRvIGxpbWl0IHRoZSBicGMuCj4gPj4geHJhbmRyIGNhbiBt YWtlIHVzZSBvZiB0aGlzIGNvbm5lY3RvciBwcm9wZXJ0eSB0byBtYWtlIHN1cmUgdGhhdCBicGMg ZG9lcwo+ID4+IG5vdCBleGNlZWQgdGhlIGNvbmZpZ3VyZWQgdmFsdWUuIFRoaXMgcHJvcGVydHkg Y2FuIGJlIHVzZWQgYnkgdXNlcnNwYWNlIHRvCj4gPj4gc2V0IHRoZSBicGMuCj4gPj4KPiA+PiBW MjogSW5pdGlhbGl6ZSBtYXhfYnBjIHRvIHNhdGlzZnkga21zX3Byb3BlcnRpZXMKPiA+PiBWMzog TW92ZSB0aGUgcHJvcGVydHkgdG8gZHJtX2Nvbm5lY3Rvcgo+ID4+IFY0OiBTcGxpdCBkcm0gYW5k IGk5MTUgY29tcG9uZW50cyhWaWxsZSkKPiA+PiBWNTogTWFrZSB0aGUgcHJvcGVydHkgcGVyIGNv bm5lY3RvcihWaWxsZSkKPiA+PiBWNjogQ29tcGFyZSB0aGUgcmVxdWVzdGVkIGJwYyB0byBjb25u ZWN0b3IgYnBjKERhbmllbCkKPiA+PiAgICAgIE1vdmUgdGhlIGF0dGFjaF9wcm9wZXJ0eSBmdW5j dGlvbiB0byBjb3JlKFZpbGxlKQo+ID4+IFY3OiBGaXggY2hlY2twYXRjaCB3YXJuaW5ncwo+ID4+ IFY4OiBTaW1wbGlmeSB0aGUgY29ubmVjdG9yIGNoZWNrIGNvZGUoVmlsbGUpCj4gPj4gVjk6IENv bnN0IGRpc3BsYXlfaW5mbyhWaWxsZSkKPiA+PiBWMTAsVjExOiBGaXggQ0kgaXNzdWVzLgo+ID4+ IFYxMjogQWRkIHRoZSBLZXJuZWwgZG9jdW1lbnRhdGlvbihEYW5pZWwpCj4gPj4gVjE0OiBDcm9z c3JlZmVyZW5jZSB0aGUgZnVuY3Rpb24gbmFtZSBpbiB0aGUgZG9jKERhbmllbCkKPiA+Pgo+ID4+ IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4+ IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+ID4+IENjOiBLaXNo b3JlIEthZGl5YWxhIDxraXNob3JlLmthZGl5YWxhQGludGVsLmNvbT4KPiA+PiBDYzogUm9kcmln byBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+ID4+IENjOiBNYW5hc2kgTmF2YXJlIDxt YW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ID4+IENjOiBTdGFuaXNsYXYgTGlzb3Zza2l5IDxz dGFuaXNsYXYubGlzb3Zza2l5QGludGVsLmNvbT4KPiA+PiBDYzogU3VucGVuZyBMaSA8c3VucGVu Zy5saUBhbWQuY29tPgo+ID4+IEFja2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVy QGZmd2xsLmNoPgo+ID4+IFNpZ25lZC1vZmYtYnk6IFJhZGhha3Jpc2huYSBTcmlwYWRhIDxyYWRo YWtyaXNobmEuc3JpcGFkYUBpbnRlbC5jb20+Cj4gCj4gUmV2aWV3ZWQtYnk6IE5pY2hvbGFzIEth emxhdXNrYXMgPG5pY2hvbGFzLmthemxhdXNrYXNAYW1kLmNvbT4KClRoYW5rcy4gQWx0aG91Z2gg SSBoYWQgcHVzaGVkIHRocm91Z2ggZHJtLWludGVsLW5leHQtcXVldWVkIChkaW5xKSBhbHJlYWR5 LgoKPiAKPiBMb29rcyBnb29kIHRvIG1lLiBXZSdyZSBzZWVpbmcgc2ltaWxhciBpc3N1ZXMgd2l0 aCA+IDhicGMgdGhhdCB0aGlzIAo+IHdvdWxkIGhlbHAgd2l0aC4KCmhtLi4uIEkgaG9wZSB0aGF0 IHB1c2hpbmcgdG8gZGlucSBkb2Vzbid0IGNhdXNlIGFueSB0cm91YmxlIGZvciB5b3UgOigKCj4g Cj4gPiAKPiA+IFRoaXMgcGF0Y2ggbG9va3MgcmlnaHQgdG8gbWU6Cj4gPiAKPiA+IFJldmlld2Vk LWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gPiAKPiA+IGJ1dCB3 ZSBwcm9iYWJseSBuZWVkIHRvIGhvbGQgb24gbWVyZ2Ugd2hpbGUgd2Ugd2FpdCBjbGFyaWZpY2F0 aW9ucwo+ID4gYW5kIGZpbmFsIHJ2LWIgb24gaWd0IHRlc3RzLi4uLgo+IAo+IEFueSB1cGRhdGVz IG9uIHRoZSBpZ3QgdGVzdHM/Cgp5ZWFwLCBSSyBhZGRlZCB0aGUgcHJvcGVydHkgdGVzdHMuIGdv dCByZXZpZXdlZCBhbmQKbWVyZ2VkIHRvIGlndCBhbHJlYWR5IGFzIHdlbGwKClRoYW5rcywKUm9k cmlnby4KCj4gCj4gPiAKPiA+PiAtLS0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj LmMgICAgICAgIHwgIDUgKysrKysKPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hl bHBlci5jIHwgIDQgKysrKwo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5j ICAgfCAgNCArKysrCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgICB8 IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+PiAgIGluY2x1ZGUv ZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICAgIHwgMjAgKysrKysrKysrKysrKysrKysrCj4gPj4g ICA1IGZpbGVzIGNoYW5nZWQsIDc0IGluc2VydGlvbnMoKykKPiA+Pgo+ID4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWMuYwo+ID4+IGluZGV4IDI4NzBhZTIwNTIzNy4uY2Q4MzYyZGM0Zjc0IDEwMDY0NAo+ID4+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pYy5jCj4gPj4gQEAgLTM5MCw2ICszOTAsMTEgQEAgc3RhdGljIGludCBkcm1f YXRvbWljX2Nvbm5lY3Rvcl9jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ ID4+ICAgewo+ID4+ICAgCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiA+PiAg IAlzdHJ1Y3QgZHJtX3dyaXRlYmFja19qb2IgKndyaXRlYmFja19qb2IgPSBzdGF0ZS0+d3JpdGVi YWNrX2pvYjsKPiA+PiArCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICppbmZvID0gJmNv bm5lY3Rvci0+ZGlzcGxheV9pbmZvOwo+ID4+ICsKPiA+PiArCXN0YXRlLT5tYXhfYnBjID0gaW5m by0+YnBjID8gaW5mby0+YnBjIDogODsKPiA+PiArCWlmIChjb25uZWN0b3ItPm1heF9icGNfcHJv cGVydHkpCj4gPj4gKwkJc3RhdGUtPm1heF9icGMgPSBtaW4oc3RhdGUtPm1heF9icGMsIHN0YXRl LT5tYXhfcmVxdWVzdGVkX2JwYyk7Cj4gPj4gICAKPiA+PiAgIAlpZiAoKGNvbm5lY3Rvci0+Y29u bmVjdG9yX3R5cGUgIT0gRFJNX01PREVfQ09OTkVDVE9SX1dSSVRFQkFDSykgfHwgIXdyaXRlYmFj a19qb2IpCj4gPj4gICAJCXJldHVybiAwOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jCj4gPj4gaW5kZXggNmY2Njc3N2RjYTRiLi5kNjFhNzRiMjU0ZjUgMTAwNjQ0Cj4gPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiA+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ID4+IEBAIC02NTAsNiArNjUwLDEwIEBAIGRy bV9hdG9taWNfaGVscGVyX2NoZWNrX21vZGVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ PiAgIAkJCWlmIChvbGRfY29ubmVjdG9yX3N0YXRlLT5saW5rX3N0YXR1cyAhPQo+ID4+ICAgCQkJ ICAgIG5ld19jb25uZWN0b3Jfc3RhdGUtPmxpbmtfc3RhdHVzKQo+ID4+ICAgCQkJCW5ld19jcnRj X3N0YXRlLT5jb25uZWN0b3JzX2NoYW5nZWQgPSB0cnVlOwo+ID4+ICsKPiA+PiArCQkJaWYgKG9s ZF9jb25uZWN0b3Jfc3RhdGUtPm1heF9yZXF1ZXN0ZWRfYnBjICE9Cj4gPj4gKwkJCSAgICBuZXdf Y29ubmVjdG9yX3N0YXRlLT5tYXhfcmVxdWVzdGVkX2JwYykKPiA+PiArCQkJCW5ld19jcnRjX3N0 YXRlLT5jb25uZWN0b3JzX2NoYW5nZWQgPSB0cnVlOwo+ID4+ICAgCQl9Cj4gPj4gICAKPiA+PiAg IAkJaWYgKGZ1bmNzLT5hdG9taWNfY2hlY2spCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX3VhcGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGku Ywo+ID4+IGluZGV4IGEyMmQ2ZjI2OWIwNy4uNzQ5MjgxOWM4MWNlIDEwMDY0NAo+ID4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+ID4+IEBAIC03NjEsNiArNzYxLDggQEAgc3RhdGljIGlu dCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvciwKPiA+PiAgIAo+ID4+ICAgCQlyZXR1cm4gc2V0X291dF9mZW5jZV9mb3JfY29u bmVjdG9yKHN0YXRlLT5zdGF0ZSwgY29ubmVjdG9yLAo+ID4+ICAgCQkJCQkJICAgZmVuY2VfcHRy KTsKPiA+PiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5tYXhfYnBjX3Byb3Bl cnR5KSB7Cj4gPj4gKwkJc3RhdGUtPm1heF9yZXF1ZXN0ZWRfYnBjID0gdmFsOwo+ID4+ICAgCX0g ZWxzZSBpZiAoY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eSkgewo+ID4+ICAg CQlyZXR1cm4gY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eShjb25uZWN0b3Is Cj4gPj4gICAJCQkJc3RhdGUsIHByb3BlcnR5LCB2YWwpOwo+ID4+IEBAIC04MjUsNiArODI3LDgg QEAgZHJtX2F0b21pY19jb25uZWN0b3JfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCj4gPj4gICAJCSp2YWwgPSAwOwo+ID4+ICAgCX0gZWxzZSBpZiAocHJvcGVy dHkgPT0gY29uZmlnLT53cml0ZWJhY2tfb3V0X2ZlbmNlX3B0cl9wcm9wZXJ0eSkgewo+ID4+ICAg CQkqdmFsID0gMDsKPiA+PiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5tYXhf YnBjX3Byb3BlcnR5KSB7Cj4gPj4gKwkJKnZhbCA9IHN0YXRlLT5tYXhfcmVxdWVzdGVkX2JwYzsK PiA+PiAgIAl9IGVsc2UgaWYgKGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHkp IHsKPiA+PiAgIAkJcmV0dXJuIGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHko Y29ubmVjdG9yLAo+ID4+ICAgCQkJCXN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKPiA+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fY29ubmVjdG9yLmMKPiA+PiBpbmRleCA1ZDAxNDE0ZWM5ZjcuLmJkYWEyOWU1MzBkNCAxMDA2 NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gPj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4+IEBAIC05MzIsNiArOTMyLDEzIEBA IERSTV9FTlVNX05BTUVfRk4oZHJtX2dldF9jb250ZW50X3Byb3RlY3Rpb25fbmFtZSwgZHJtX2Nw X2VudW1fbGlzdCkKPiA+PiAgICAqCSAgaXMgbm8gbG9uZ2VyIHByb3RlY3RlZCBhbmQgdXNlcnNw YWNlIHNob3VsZCB0YWtlIGFwcHJvcHJpYXRlIGFjdGlvbgo+ID4+ICAgICoJICAod2hhdGV2ZXIg dGhhdCBtaWdodCBiZSkuCj4gPj4gICAgKgo+ID4+ICsgKiBtYXggYnBjOgo+ID4+ICsgKglUaGlz IHJhbmdlIHByb3BlcnR5IGlzIHVzZWQgYnkgdXNlcnNwYWNlIHRvIGxpbWl0IHRoZSBiaXQgZGVw dGguIFdoZW4KPiA+PiArICoJdXNlZCB0aGUgZHJpdmVyIHdvdWxkIGxpbWl0IHRoZSBicGMgaW4g YWNjb3JkYW5jZSB3aXRoIHRoZSB2YWxpZCByYW5nZQo+ID4+ICsgKglzdXBwb3J0ZWQgYnkgdGhl IGhhcmR3YXJlIGFuZCBzaW5rLiBEcml2ZXJzIHRvIHVzZSB0aGUgZnVuY3Rpb24KPiA+PiArICoJ ZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfbWF4X2JwY19wcm9wZXJ0eSgpIHRvIGNyZWF0ZSBhbmQgYXR0 YWNoIHRoZQo+ID4+ICsgKglwcm9wZXJ0eSB0byB0aGUgY29ubmVjdG9yIGR1cmluZyBpbml0aWFs aXphdGlvbi4KPiA+PiArICoKPiA+PiAgICAqIENvbm5lY3RvcnMgYWxzbyBoYXZlIG9uZSBzdGFu ZGFyZGl6ZWQgYXRvbWljIHByb3BlcnR5Ogo+ID4+ICAgICoKPiA+PiAgICAqIENSVENfSUQ6Cj4g Pj4gQEAgLTE2MDAsNiArMTYwNyw0MCBAQCB2b2lkIGRybV9jb25uZWN0b3Jfc2V0X2xpbmtfc3Rh dHVzX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPj4gICBFWFBP UlRfU1lNQk9MKGRybV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KTsKPiA+PiAg IAo+ID4+ICAgLyoqCj4gPj4gKyAqIGRybV9jb25uZWN0b3JfYXR0YWNoX21heF9icGNfcHJvcGVy dHkgLSBhdHRhY2ggIm1heCBicGMiIHByb3BlcnR5Cj4gPj4gKyAqIEBjb25uZWN0b3I6IGNvbm5l Y3RvciB0byBhdHRhY2ggbWF4IGJwYyBwcm9wZXJ0eSBvbi4KPiA+PiArICogQG1pbjogVGhlIG1p bmltdW0gYml0IGRlcHRoIHN1cHBvcnRlZCBieSB0aGUgY29ubmVjdG9yLgo+ID4+ICsgKiBAbWF4 OiBUaGUgbWF4aW11bSBiaXQgZGVwdGggc3VwcG9ydGVkIGJ5IHRoZSBjb25uZWN0b3IuCj4gPj4g KyAqCj4gPj4gKyAqIFRoaXMgaXMgdXNlZCB0byBhZGQgc3VwcG9ydCBmb3IgbGltaXRpbmcgdGhl IGJpdCBkZXB0aCBvbiBhIGNvbm5lY3Rvci4KPiA+PiArICoKPiA+PiArICogUmV0dXJuczoKPiA+ PiArICogWmVybyBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJubyBvbiBmYWlsdXJlLgo+ID4+ICsg Ki8KPiA+PiAraW50IGRybV9jb25uZWN0b3JfYXR0YWNoX21heF9icGNfcHJvcGVydHkoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+PiArCQkJCQkgIGludCBtaW4sIGludCBtYXgp Cj4gPj4gK3sKPiA+PiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsK PiA+PiArCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3A7Cj4gPj4gKwo+ID4+ICsJcHJvcCA9IGNv bm5lY3Rvci0+bWF4X2JwY19wcm9wZXJ0eTsKPiA+PiArCWlmICghcHJvcCkgewo+ID4+ICsJCXBy b3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlX3JhbmdlKGRldiwgMCwgIm1heCBicGMiLCBtaW4sIG1h eCk7Cj4gPj4gKwkJaWYgKCFwcm9wKQo+ID4+ICsJCQlyZXR1cm4gLUVOT01FTTsKPiA+PiArCj4g Pj4gKwkJY29ubmVjdG9yLT5tYXhfYnBjX3Byb3BlcnR5ID0gcHJvcDsKPiA+PiArCX0KPiA+PiAr Cj4gPj4gKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLCBwcm9w LCBtYXgpOwo+ID4+ICsJY29ubmVjdG9yLT5zdGF0ZS0+bWF4X3JlcXVlc3RlZF9icGMgPSBtYXg7 Cj4gPj4gKwljb25uZWN0b3ItPnN0YXRlLT5tYXhfYnBjID0gbWF4Owo+ID4+ICsKPiA+PiArCXJl dHVybiAwOwo+ID4+ICt9Cj4gPj4gK0VYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9hdHRhY2hf bWF4X2JwY19wcm9wZXJ0eSk7Cj4gPj4gKwo+ID4+ICsvKioKPiA+PiAgICAqIGRybV9jb25uZWN0 b3JfaW5pdF9wYW5lbF9vcmllbnRhdGlvbl9wcm9wZXJ0eSAtCj4gPj4gICAgKglpbml0aWFsaXpl IHRoZSBjb25uZWN0ZXJzIHBhbmVsX29yaWVudGF0aW9uIHByb3BlcnR5Cj4gPj4gICAgKiBAY29u bmVjdG9yOiBjb25uZWN0b3IgZm9yIHdoaWNoIHRvIGluaXQgdGhlIHBhbmVsLW9yaWVudGF0aW9u IHByb3BlcnR5Lgo+ID4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgg Yi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+PiBpbmRleCA1YjNjZjkwOWZkNWUuLmE0 MDJkMTY0MjdhMSAxMDA2NDQKPiA+PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgK PiA+PiArKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+PiBAQCAtNDYxLDYgKzQ2 MSwxOCBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSB7Cj4gPj4gICAJICogZHJtX3dyaXRl YmFja19zaWduYWxfY29tcGxldGlvbigpCj4gPj4gICAJICovCj4gPj4gICAJc3RydWN0IGRybV93 cml0ZWJhY2tfam9iICp3cml0ZWJhY2tfam9iOwo+ID4+ICsKPiA+PiArCS8qKgo+ID4+ICsJICog QG1heF9yZXF1ZXN0ZWRfYnBjOiBDb25uZWN0b3IgcHJvcGVydHkgdG8gbGltaXQgdGhlIG1heGlt dW0gYml0Cj4gPj4gKwkgKiBkZXB0aCBvZiB0aGUgcGl4ZWxzLgo+ID4+ICsJICovCj4gPj4gKwl1 OCBtYXhfcmVxdWVzdGVkX2JwYzsKPiA+PiArCj4gPj4gKwkvKioKPiA+PiArCSAqIEBtYXhfYnBj OiBDb25uZWN0b3IgbWF4X2JwYyBiYXNlZCBvbiB0aGUgcmVxdWVzdGVkIG1heF9icGMgcHJvcGVy dHkKPiA+PiArCSAqIGFuZCB0aGUgY29ubmVjdG9yIGJwYyBsaW1pdGF0aW9ucyBvYnRhaW5lZCBm cm9tIGVkaWQuCj4gPj4gKwkgKi8KPiA+PiArCXU4IG1heF9icGM7Cj4gPj4gICB9Owo+ID4+ICAg Cj4gPj4gICAvKioKPiA+PiBAQCAtOTI0LDYgKzkzNiwxMiBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciB7Cj4gPj4gICAJICovCj4gPj4gICAJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpwYXRoX2Js b2JfcHRyOwo+ID4+ICAgCj4gPj4gKwkvKioKPiA+PiArCSAqIEBtYXhfYnBjX3Byb3BlcnR5OiBE ZWZhdWx0IGNvbm5lY3RvciBwcm9wZXJ0eSBmb3IgdGhlIG1heCBicGMgdG8gYmUKPiA+PiArCSAq IGRyaXZlbiBvdXQgb2YgdGhlIGNvbm5lY3Rvci4KPiA+PiArCSAqLwo+ID4+ICsJc3RydWN0IGRy bV9wcm9wZXJ0eSAqbWF4X2JwY19wcm9wZXJ0eTsKPiA+PiArCj4gPj4gICAjZGVmaW5lIERSTV9D T05ORUNUT1JfUE9MTF9IUEQgKDEgPDwgMCkKPiA+PiAgICNkZWZpbmUgRFJNX0NPTk5FQ1RPUl9Q T0xMX0NPTk5FQ1QgKDEgPDwgMSkKPiA+PiAgICNkZWZpbmUgRFJNX0NPTk5FQ1RPUl9QT0xMX0RJ U0NPTk5FQ1QgKDEgPDwgMikKPiA+PiBAQCAtMTIwMiw2ICsxMjIwLDggQEAgdm9pZCBkcm1fY29u bmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAo+ID4+ICAgCQkJCQkgICAgdWludDY0X3QgbGlua19zdGF0dXMpOwo+ID4+ICAgaW50 IGRybV9jb25uZWN0b3JfaW5pdF9wYW5lbF9vcmllbnRhdGlvbl9wcm9wZXJ0eSgKPiA+PiAgIAlz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwo+ ID4+ICtpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfbWF4X2JwY19wcm9wZXJ0eShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4+ICsJCQkJCSAgaW50IG1pbiwgaW50IG1heCk7Cj4g Pj4gICAKPiA+PiAgIC8qKgo+ID4+ICAgICogc3RydWN0IGRybV90aWxlX2dyb3VwIC0gVGlsZSBn cm91cCBtZXRhZGF0YQo+ID4+IC0tIAo+ID4+IDIuOS4zCj4gPj4KPiA+PiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4+IEludGVsLWdmeCBtYWlsaW5n IGxpc3QKPiA+PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPj4gaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiA+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBkcmktZGV2ZWwg bWFpbGluZyBsaXN0Cj4gPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+ID4g Cj4gCj4gTmljaG9sYXMgS2F6bGF1c2thcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK