From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kazlauskas, Nicholas" Subject: Re: [Intel-gfx] [PATCH v14 1/2] drm: Add connector property to limit max bpc Date: Wed, 7 Nov 2018 18:15:55 +0000 Message-ID: <2e81b4fa-b499-53df-c6b3-ee3b0959a5d6@amd.com> References: <20181012184233.29250-1-radhakrishna.sripada@intel.com> <20181024224950.GH3942@intel.com> <20181107181008.GD2237@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181107181008.GD2237@intel.com> Content-Language: en-US Content-ID: <70F33D3EE8D3EC4A9638BDA45794E1D3@namprd12.prod.outlook.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rodrigo Vivi Cc: Radhakrishna Sripada , "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 T24gMTEvNy8xOCAxOjEwIFBNLCBSb2RyaWdvIFZpdmkgd3JvdGU6DQo+IE9uIFdlZCwgTm92IDA3 LCAyMDE4IGF0IDA0OjU2OjAwUE0gKzAwMDAsIEthemxhdXNrYXMsIE5pY2hvbGFzIHdyb3RlOg0K Pj4gT24gMTAvMjQvMTggNjo0OSBQTSwgUm9kcmlnbyBWaXZpIHdyb3RlOg0KPj4+IE9uIEZyaSwg T2N0IDEyLCAyMDE4IGF0IDExOjQyOjMyQU0gLTA3MDAsIFJhZGhha3Jpc2huYSBTcmlwYWRhIHdy b3RlOg0KPj4+PiBBdCB0aW1lcyAxMmJwYyBIRE1JIGNhbm5vdCBiZSBkcml2ZW4gZHVlIHRvIGZh dWx0eSBjYWJsZXMsIGRvbmdsZXMNCj4+Pj4gbGV2ZWwgc2hpZnRlcnMgZXRjLiBUbyB3b3JrYXJv dW5kIHRoZW0gd2UgbWF5IG5lZWQgdG8gZHJpdmUgdGhlIG91dHB1dA0KPj4+PiBhdCBhIGxvd2Vy IGJwYy4gQ3VycmVudGx5IHRoZSB1c2VyIHNwYWNlIGRvZXMgbm90IGhhdmUgYSB3YXkgdG8gbGlt aXQNCj4+Pj4gdGhlIGJwYy4gVGhlIGRlZmF1bHQgYnBjIHRvIGJlIHByb2dyYW1tZWQgaXMgZGVj aWRlZCBieSB0aGUgZHJpdmVyIGFuZA0KPj4+PiBpcyBydW4gYWdhaW5zdCBjb25uZWN0b3IgbGlt aXRhdGlvbnMuDQo+Pj4+DQo+Pj4+IENyZWF0aW5nIGEgbmV3IGNvbm5lY3RvciBwcm9wZXJ0eSAi bWF4IGJwYyIgaW4gb3JkZXIgdG8gbGltaXQgdGhlIGJwYy4NCj4+Pj4geHJhbmRyIGNhbiBtYWtl IHVzZSBvZiB0aGlzIGNvbm5lY3RvciBwcm9wZXJ0eSB0byBtYWtlIHN1cmUgdGhhdCBicGMgZG9l cw0KPj4+PiBub3QgZXhjZWVkIHRoZSBjb25maWd1cmVkIHZhbHVlLiBUaGlzIHByb3BlcnR5IGNh biBiZSB1c2VkIGJ5IHVzZXJzcGFjZSB0bw0KPj4+PiBzZXQgdGhlIGJwYy4NCj4+Pj4NCj4+Pj4g VjI6IEluaXRpYWxpemUgbWF4X2JwYyB0byBzYXRpc2Z5IGttc19wcm9wZXJ0aWVzDQo+Pj4+IFYz OiBNb3ZlIHRoZSBwcm9wZXJ0eSB0byBkcm1fY29ubmVjdG9yDQo+Pj4+IFY0OiBTcGxpdCBkcm0g YW5kIGk5MTUgY29tcG9uZW50cyhWaWxsZSkNCj4+Pj4gVjU6IE1ha2UgdGhlIHByb3BlcnR5IHBl ciBjb25uZWN0b3IoVmlsbGUpDQo+Pj4+IFY2OiBDb21wYXJlIHRoZSByZXF1ZXN0ZWQgYnBjIHRv IGNvbm5lY3RvciBicGMoRGFuaWVsKQ0KPj4+PiAgICAgICBNb3ZlIHRoZSBhdHRhY2hfcHJvcGVy dHkgZnVuY3Rpb24gdG8gY29yZShWaWxsZSkNCj4+Pj4gVjc6IEZpeCBjaGVja3BhdGNoIHdhcm5p bmdzDQo+Pj4+IFY4OiBTaW1wbGlmeSB0aGUgY29ubmVjdG9yIGNoZWNrIGNvZGUoVmlsbGUpDQo+ Pj4+IFY5OiBDb25zdCBkaXNwbGF5X2luZm8oVmlsbGUpDQo+Pj4+IFYxMCxWMTE6IEZpeCBDSSBp c3N1ZXMuDQo+Pj4+IFYxMjogQWRkIHRoZSBLZXJuZWwgZG9jdW1lbnRhdGlvbihEYW5pZWwpDQo+ Pj4+IFYxNDogQ3Jvc3NyZWZlcmVuY2UgdGhlIGZ1bmN0aW9uIG5hbWUgaW4gdGhlIGRvYyhEYW5p ZWwpDQo+Pj4+DQo+Pj4+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPg0KPj4+PiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5j aD4NCj4+Pj4gQ2M6IEtpc2hvcmUgS2FkaXlhbGEgPGtpc2hvcmUua2FkaXlhbGFAaW50ZWwuY29t Pg0KPj4+PiBDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPg0KPj4+PiBD YzogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4NCj4+Pj4gQ2M6IFN0 YW5pc2xhdiBMaXNvdnNraXkgPHN0YW5pc2xhdi5saXNvdnNraXlAaW50ZWwuY29tPg0KPj4+PiBD YzogU3VucGVuZyBMaSA8c3VucGVuZy5saUBhbWQuY29tPg0KPj4+PiBBY2tlZC1ieTogRGFuaWVs IFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4NCj4+Pj4gU2lnbmVkLW9mZi1ieTogUmFk aGFrcmlzaG5hIFNyaXBhZGEgPHJhZGhha3Jpc2huYS5zcmlwYWRhQGludGVsLmNvbT4NCj4+DQo+ PiBSZXZpZXdlZC1ieTogTmljaG9sYXMgS2F6bGF1c2thcyA8bmljaG9sYXMua2F6bGF1c2thc0Bh bWQuY29tPg0KPiANCj4gVGhhbmtzLiBBbHRob3VnaCBJIGhhZCBwdXNoZWQgdGhyb3VnaCBkcm0t aW50ZWwtbmV4dC1xdWV1ZWQgKGRpbnEpIGFscmVhZHkuDQo+IA0KPj4NCj4+IExvb2tzIGdvb2Qg dG8gbWUuIFdlJ3JlIHNlZWluZyBzaW1pbGFyIGlzc3VlcyB3aXRoID4gOGJwYyB0aGF0IHRoaXMN Cj4+IHdvdWxkIGhlbHAgd2l0aC4NCj4gDQo+IGhtLi4uIEkgaG9wZSB0aGF0IHB1c2hpbmcgdG8g ZGlucSBkb2Vzbid0IGNhdXNlIGFueSB0cm91YmxlIGZvciB5b3UgOigNCj4gDQo+Pg0KPj4+DQo+ Pj4gVGhpcyBwYXRjaCBsb29rcyByaWdodCB0byBtZToNCj4+Pg0KPj4+IFJldmlld2VkLWJ5OiBS b2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+DQo+Pj4NCj4+PiBidXQgd2UgcHJv YmFibHkgbmVlZCB0byBob2xkIG9uIG1lcmdlIHdoaWxlIHdlIHdhaXQgY2xhcmlmaWNhdGlvbnMN Cj4+PiBhbmQgZmluYWwgcnYtYiBvbiBpZ3QgdGVzdHMuLi4uDQo+Pg0KPj4gQW55IHVwZGF0ZXMg b24gdGhlIGlndCB0ZXN0cz8NCj4gDQo+IHllYXAsIFJLIGFkZGVkIHRoZSBwcm9wZXJ0eSB0ZXN0 cy4gZ290IHJldmlld2VkIGFuZA0KPiBtZXJnZWQgdG8gaWd0IGFscmVhZHkgYXMgd2VsbA0KPiAN Cj4gVGhhbmtzLA0KPiBSb2RyaWdvLg0KDQpUaGFua3MgZm9yIHRoZSB1cGRhdGUuDQoNCkkgdGhp bmsgaW4gdGhlIG1lYW50aW1lIHdoaWxlIHdhaXRpbmcgZm9yIHRoaXMgdG8gbGFuZCBpbiBkcm0g d2UnbGwgbWFrZSANCnVzZSBvZiBhIGRyaXZlciBzcGVjaWZpYyBwcm9wZXJ0eSB3aXRoIHRoZSBz YW1lIG5hbWUgYW5kIHN3YXAgaXQgb3V0IA0KbGF0ZXIgZm9yIHRoZSBjb21tb24gcHJvcGVydHku DQoNCk5pY2hvbGFzIEthemxhdXNrYXMNCg0KPiANCj4+DQo+Pj4NCj4+Pj4gLS0tDQo+Pj4+ICAg IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgICAgICAgIHwgIDUgKysrKysNCj4+Pj4gICAg ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgfCAgNCArKysrDQo+Pj4+ICAgIGRy aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyAgIHwgIDQgKysrKw0KPj4+PiAgICBkcml2 ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgICB8IDQxICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysNCj4+Pj4gICAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAg ICAgICAgfCAyMCArKysrKysrKysrKysrKysrKysNCj4+Pj4gICAgNSBmaWxlcyBjaGFuZ2VkLCA3 NCBpbnNlcnRpb25zKCspDQo+Pj4+DQo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYw0KPj4+PiBpbmRleCAy ODcwYWUyMDUyMzcuLmNkODM2MmRjNGY3NCAxMDA2NDQNCj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYw0KPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5j DQo+Pj4+IEBAIC0zOTAsNiArMzkwLDExIEBAIHN0YXRpYyBpbnQgZHJtX2F0b21pY19jb25uZWN0 b3JfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwNCj4+Pj4gICAgew0KPj4+ PiAgICAJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOw0KPj4+PiAgICAJc3RydWN0 IGRybV93cml0ZWJhY2tfam9iICp3cml0ZWJhY2tfam9iID0gc3RhdGUtPndyaXRlYmFja19qb2I7 DQo+Pj4+ICsJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVjdG9y LT5kaXNwbGF5X2luZm87DQo+Pj4+ICsNCj4+Pj4gKwlzdGF0ZS0+bWF4X2JwYyA9IGluZm8tPmJw YyA/IGluZm8tPmJwYyA6IDg7DQo+Pj4+ICsJaWYgKGNvbm5lY3Rvci0+bWF4X2JwY19wcm9wZXJ0 eSkNCj4+Pj4gKwkJc3RhdGUtPm1heF9icGMgPSBtaW4oc3RhdGUtPm1heF9icGMsIHN0YXRlLT5t YXhfcmVxdWVzdGVkX2JwYyk7DQo+Pj4+ICAgIA0KPj4+PiAgICAJaWYgKChjb25uZWN0b3ItPmNv bm5lY3Rvcl90eXBlICE9IERSTV9NT0RFX0NPTk5FQ1RPUl9XUklURUJBQ0spIHx8ICF3cml0ZWJh Y2tfam9iKQ0KPj4+PiAgICAJCXJldHVybiAwOw0KPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19o ZWxwZXIuYw0KPj4+PiBpbmRleCA2ZjY2Nzc3ZGNhNGIuLmQ2MWE3NGIyNTRmNSAxMDA2NDQNCj4+ Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMNCj4+Pj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMNCj4+Pj4gQEAgLTY1MCw2ICs2NTAs MTAgQEAgZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LA0KPj4+PiAgICAJCQlpZiAob2xkX2Nvbm5lY3Rvcl9zdGF0ZS0+bGlua19zdGF0dXMgIT0N Cj4+Pj4gICAgCQkJICAgIG5ld19jb25uZWN0b3Jfc3RhdGUtPmxpbmtfc3RhdHVzKQ0KPj4+PiAg ICAJCQkJbmV3X2NydGNfc3RhdGUtPmNvbm5lY3RvcnNfY2hhbmdlZCA9IHRydWU7DQo+Pj4+ICsN Cj4+Pj4gKwkJCWlmIChvbGRfY29ubmVjdG9yX3N0YXRlLT5tYXhfcmVxdWVzdGVkX2JwYyAhPQ0K Pj4+PiArCQkJICAgIG5ld19jb25uZWN0b3Jfc3RhdGUtPm1heF9yZXF1ZXN0ZWRfYnBjKQ0KPj4+ PiArCQkJCW5ld19jcnRjX3N0YXRlLT5jb25uZWN0b3JzX2NoYW5nZWQgPSB0cnVlOw0KPj4+PiAg ICAJCX0NCj4+Pj4gICAgDQo+Pj4+ICAgIAkJaWYgKGZ1bmNzLT5hdG9taWNfY2hlY2spDQo+Pj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMNCj4+Pj4gaW5kZXggYTIyZDZmMjY5YjA3Li43NDky ODE5YzgxY2UgMTAwNjQ0DQo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3Vh cGkuYw0KPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMNCj4+Pj4g QEAgLTc2MSw2ICs3NjEsOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9w cm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLA0KPj4+PiAgICANCj4+Pj4g ICAgCQlyZXR1cm4gc2V0X291dF9mZW5jZV9mb3JfY29ubmVjdG9yKHN0YXRlLT5zdGF0ZSwgY29u bmVjdG9yLA0KPj4+PiAgICAJCQkJCQkgICBmZW5jZV9wdHIpOw0KPj4+PiArCX0gZWxzZSBpZiAo cHJvcGVydHkgPT0gY29ubmVjdG9yLT5tYXhfYnBjX3Byb3BlcnR5KSB7DQo+Pj4+ICsJCXN0YXRl LT5tYXhfcmVxdWVzdGVkX2JwYyA9IHZhbDsNCj4+Pj4gICAgCX0gZWxzZSBpZiAoY29ubmVjdG9y LT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eSkgew0KPj4+PiAgICAJCXJldHVybiBjb25uZWN0 b3ItPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KGNvbm5lY3RvciwNCj4+Pj4gICAgCQkJCXN0 YXRlLCBwcm9wZXJ0eSwgdmFsKTsNCj4+Pj4gQEAgLTgyNSw2ICs4MjcsOCBAQCBkcm1fYXRvbWlj X2Nvbm5lY3Rvcl9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwN Cj4+Pj4gICAgCQkqdmFsID0gMDsNCj4+Pj4gICAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29u ZmlnLT53cml0ZWJhY2tfb3V0X2ZlbmNlX3B0cl9wcm9wZXJ0eSkgew0KPj4+PiAgICAJCSp2YWwg PSAwOw0KPj4+PiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5tYXhfYnBjX3By b3BlcnR5KSB7DQo+Pj4+ICsJCSp2YWwgPSBzdGF0ZS0+bWF4X3JlcXVlc3RlZF9icGM7DQo+Pj4+ ICAgIAl9IGVsc2UgaWYgKGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHkpIHsN Cj4+Pj4gICAgCQlyZXR1cm4gY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eShj b25uZWN0b3IsDQo+Pj4+ICAgIAkJCQlzdGF0ZSwgcHJvcGVydHksIHZhbCk7DQo+Pj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJt L2RybV9jb25uZWN0b3IuYw0KPj4+PiBpbmRleCA1ZDAxNDE0ZWM5ZjcuLmJkYWEyOWU1MzBkNCAx MDA2NDQNCj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYw0KPj4+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jDQo+Pj4+IEBAIC05MzIsNiArOTMy LDEzIEBAIERSTV9FTlVNX05BTUVfRk4oZHJtX2dldF9jb250ZW50X3Byb3RlY3Rpb25fbmFtZSwg ZHJtX2NwX2VudW1fbGlzdCkNCj4+Pj4gICAgICoJICBpcyBubyBsb25nZXIgcHJvdGVjdGVkIGFu ZCB1c2Vyc3BhY2Ugc2hvdWxkIHRha2UgYXBwcm9wcmlhdGUgYWN0aW9uDQo+Pj4+ICAgICAqCSAg KHdoYXRldmVyIHRoYXQgbWlnaHQgYmUpLg0KPj4+PiAgICAgKg0KPj4+PiArICogbWF4IGJwYzoN Cj4+Pj4gKyAqCVRoaXMgcmFuZ2UgcHJvcGVydHkgaXMgdXNlZCBieSB1c2Vyc3BhY2UgdG8gbGlt aXQgdGhlIGJpdCBkZXB0aC4gV2hlbg0KPj4+PiArICoJdXNlZCB0aGUgZHJpdmVyIHdvdWxkIGxp bWl0IHRoZSBicGMgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSB2YWxpZCByYW5nZQ0KPj4+PiArICoJ c3VwcG9ydGVkIGJ5IHRoZSBoYXJkd2FyZSBhbmQgc2luay4gRHJpdmVycyB0byB1c2UgdGhlIGZ1 bmN0aW9uDQo+Pj4+ICsgKglkcm1fY29ubmVjdG9yX2F0dGFjaF9tYXhfYnBjX3Byb3BlcnR5KCkg dG8gY3JlYXRlIGFuZCBhdHRhY2ggdGhlDQo+Pj4+ICsgKglwcm9wZXJ0eSB0byB0aGUgY29ubmVj dG9yIGR1cmluZyBpbml0aWFsaXphdGlvbi4NCj4+Pj4gKyAqDQo+Pj4+ICAgICAqIENvbm5lY3Rv cnMgYWxzbyBoYXZlIG9uZSBzdGFuZGFyZGl6ZWQgYXRvbWljIHByb3BlcnR5Og0KPj4+PiAgICAg Kg0KPj4+PiAgICAgKiBDUlRDX0lEOg0KPj4+PiBAQCAtMTYwMCw2ICsxNjA3LDQwIEBAIHZvaWQg ZHJtX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwNCj4+Pj4gICAgRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX3NldF9s aW5rX3N0YXR1c19wcm9wZXJ0eSk7DQo+Pj4+ICAgIA0KPj4+PiAgICAvKioNCj4+Pj4gKyAqIGRy bV9jb25uZWN0b3JfYXR0YWNoX21heF9icGNfcHJvcGVydHkgLSBhdHRhY2ggIm1heCBicGMiIHBy b3BlcnR5DQo+Pj4+ICsgKiBAY29ubmVjdG9yOiBjb25uZWN0b3IgdG8gYXR0YWNoIG1heCBicGMg cHJvcGVydHkgb24uDQo+Pj4+ICsgKiBAbWluOiBUaGUgbWluaW11bSBiaXQgZGVwdGggc3VwcG9y dGVkIGJ5IHRoZSBjb25uZWN0b3IuDQo+Pj4+ICsgKiBAbWF4OiBUaGUgbWF4aW11bSBiaXQgZGVw dGggc3VwcG9ydGVkIGJ5IHRoZSBjb25uZWN0b3IuDQo+Pj4+ICsgKg0KPj4+PiArICogVGhpcyBp cyB1c2VkIHRvIGFkZCBzdXBwb3J0IGZvciBsaW1pdGluZyB0aGUgYml0IGRlcHRoIG9uIGEgY29u bmVjdG9yLg0KPj4+PiArICoNCj4+Pj4gKyAqIFJldHVybnM6DQo+Pj4+ICsgKiBaZXJvIG9uIHN1 Y2Nlc3MsIG5lZ2F0aXZlIGVycm5vIG9uIGZhaWx1cmUuDQo+Pj4+ICsgKi8NCj4+Pj4gK2ludCBk cm1fY29ubmVjdG9yX2F0dGFjaF9tYXhfYnBjX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsDQo+Pj4+ICsJCQkJCSAgaW50IG1pbiwgaW50IG1heCkNCj4+Pj4gK3sNCj4+ Pj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7DQo+Pj4+ICsJc3Ry dWN0IGRybV9wcm9wZXJ0eSAqcHJvcDsNCj4+Pj4gKw0KPj4+PiArCXByb3AgPSBjb25uZWN0b3It Pm1heF9icGNfcHJvcGVydHk7DQo+Pj4+ICsJaWYgKCFwcm9wKSB7DQo+Pj4+ICsJCXByb3AgPSBk cm1fcHJvcGVydHlfY3JlYXRlX3JhbmdlKGRldiwgMCwgIm1heCBicGMiLCBtaW4sIG1heCk7DQo+ Pj4+ICsJCWlmICghcHJvcCkNCj4+Pj4gKwkJCXJldHVybiAtRU5PTUVNOw0KPj4+PiArDQo+Pj4+ ICsJCWNvbm5lY3Rvci0+bWF4X2JwY19wcm9wZXJ0eSA9IHByb3A7DQo+Pj4+ICsJfQ0KPj4+PiAr DQo+Pj4+ICsJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwgcHJv cCwgbWF4KTsNCj4+Pj4gKwljb25uZWN0b3ItPnN0YXRlLT5tYXhfcmVxdWVzdGVkX2JwYyA9IG1h eDsNCj4+Pj4gKwljb25uZWN0b3ItPnN0YXRlLT5tYXhfYnBjID0gbWF4Ow0KPj4+PiArDQo+Pj4+ ICsJcmV0dXJuIDA7DQo+Pj4+ICt9DQo+Pj4+ICtFWFBPUlRfU1lNQk9MKGRybV9jb25uZWN0b3Jf YXR0YWNoX21heF9icGNfcHJvcGVydHkpOw0KPj4+PiArDQo+Pj4+ICsvKioNCj4+Pj4gICAgICog ZHJtX2Nvbm5lY3Rvcl9pbml0X3BhbmVsX29yaWVudGF0aW9uX3Byb3BlcnR5IC0NCj4+Pj4gICAg ICoJaW5pdGlhbGl6ZSB0aGUgY29ubmVjdGVycyBwYW5lbF9vcmllbnRhdGlvbiBwcm9wZXJ0eQ0K Pj4+PiAgICAgKiBAY29ubmVjdG9yOiBjb25uZWN0b3IgZm9yIHdoaWNoIHRvIGluaXQgdGhlIHBh bmVsLW9yaWVudGF0aW9uIHByb3BlcnR5Lg0KPj4+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0v ZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oDQo+Pj4+IGluZGV4 IDViM2NmOTA5ZmQ1ZS4uYTQwMmQxNjQyN2ExIDEwMDY0NA0KPj4+PiAtLS0gYS9pbmNsdWRlL2Ry bS9kcm1fY29ubmVjdG9yLmgNCj4+Pj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5o DQo+Pj4+IEBAIC00NjEsNiArNDYxLDE4IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIHsN Cj4+Pj4gICAgCSAqIGRybV93cml0ZWJhY2tfc2lnbmFsX2NvbXBsZXRpb24oKQ0KPj4+PiAgICAJ ICovDQo+Pj4+ICAgIAlzdHJ1Y3QgZHJtX3dyaXRlYmFja19qb2IgKndyaXRlYmFja19qb2I7DQo+ Pj4+ICsNCj4+Pj4gKwkvKioNCj4+Pj4gKwkgKiBAbWF4X3JlcXVlc3RlZF9icGM6IENvbm5lY3Rv ciBwcm9wZXJ0eSB0byBsaW1pdCB0aGUgbWF4aW11bSBiaXQNCj4+Pj4gKwkgKiBkZXB0aCBvZiB0 aGUgcGl4ZWxzLg0KPj4+PiArCSAqLw0KPj4+PiArCXU4IG1heF9yZXF1ZXN0ZWRfYnBjOw0KPj4+ PiArDQo+Pj4+ICsJLyoqDQo+Pj4+ICsJICogQG1heF9icGM6IENvbm5lY3RvciBtYXhfYnBjIGJh c2VkIG9uIHRoZSByZXF1ZXN0ZWQgbWF4X2JwYyBwcm9wZXJ0eQ0KPj4+PiArCSAqIGFuZCB0aGUg Y29ubmVjdG9yIGJwYyBsaW1pdGF0aW9ucyBvYnRhaW5lZCBmcm9tIGVkaWQuDQo+Pj4+ICsJICov DQo+Pj4+ICsJdTggbWF4X2JwYzsNCj4+Pj4gICAgfTsNCj4+Pj4gICAgDQo+Pj4+ICAgIC8qKg0K Pj4+PiBAQCAtOTI0LDYgKzkzNiwxMiBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciB7DQo+Pj4+ICAg IAkgKi8NCj4+Pj4gICAgCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqcGF0aF9ibG9iX3B0cjsN Cj4+Pj4gICAgDQo+Pj4+ICsJLyoqDQo+Pj4+ICsJICogQG1heF9icGNfcHJvcGVydHk6IERlZmF1 bHQgY29ubmVjdG9yIHByb3BlcnR5IGZvciB0aGUgbWF4IGJwYyB0byBiZQ0KPj4+PiArCSAqIGRy aXZlbiBvdXQgb2YgdGhlIGNvbm5lY3Rvci4NCj4+Pj4gKwkgKi8NCj4+Pj4gKwlzdHJ1Y3QgZHJt X3Byb3BlcnR5ICptYXhfYnBjX3Byb3BlcnR5Ow0KPj4+PiArDQo+Pj4+ICAgICNkZWZpbmUgRFJN X0NPTk5FQ1RPUl9QT0xMX0hQRCAoMSA8PCAwKQ0KPj4+PiAgICAjZGVmaW5lIERSTV9DT05ORUNU T1JfUE9MTF9DT05ORUNUICgxIDw8IDEpDQo+Pj4+ICAgICNkZWZpbmUgRFJNX0NPTk5FQ1RPUl9Q T0xMX0RJU0NPTk5FQ1QgKDEgPDwgMikNCj4+Pj4gQEAgLTEyMDIsNiArMTIyMCw4IEBAIHZvaWQg ZHJtX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwNCj4+Pj4gICAgCQkJCQkgICAgdWludDY0X3QgbGlua19zdGF0dXMpOw0K Pj4+PiAgICBpbnQgZHJtX2Nvbm5lY3Rvcl9pbml0X3BhbmVsX29yaWVudGF0aW9uX3Byb3BlcnR5 KA0KPj4+PiAgICAJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgaW50IHdpZHRoLCBp bnQgaGVpZ2h0KTsNCj4+Pj4gK2ludCBkcm1fY29ubmVjdG9yX2F0dGFjaF9tYXhfYnBjX3Byb3Bl cnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsDQo+Pj4+ICsJCQkJCSAgaW50IG1p biwgaW50IG1heCk7DQo+Pj4+ICAgIA0KPj4+PiAgICAvKioNCj4+Pj4gICAgICogc3RydWN0IGRy bV90aWxlX2dyb3VwIC0gVGlsZSBncm91cCBtZXRhZGF0YQ0KPj4+PiAtLSANCj4+Pj4gMi45LjMN Cj4+Pj4NCj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCj4+Pj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdA0KPj4+PiBJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnDQo+Pj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4DQo+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18NCj4+PiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0DQo+Pj4gZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsDQo+Pj4NCj4+DQo+PiBOaWNob2xhcyBLYXpsYXVz a2ENCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=