From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v9 1/2] drm: content-type property for HDMI connector Date: Tue, 8 May 2018 10:01:41 +0200 Message-ID: <20180508080141.GO28661@phenom.ffwll.local> References: <20180507131641.3885-1-stanislav.lisovskiy@intel.com> <20180507131641.3885-2-stanislav.lisovskiy@intel.com> <20180507140537.GL12521@phenom.ffwll.local> <035aa98aa6d957641fd37e5eb767bf8531e22872.camel@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: <035aa98aa6d957641fd37e5eb767bf8531e22872.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Lisovskiy, Stanislav" Cc: "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBNYXkgMDgsIDIwMTggYXQgMDc6MTg6MjBBTSArMDAwMCwgTGlzb3Zza2l5LCBTdGFu aXNsYXYgd3JvdGU6Cj4gT24gTW9uLCAyMDE4LTA1LTA3IGF0IDE2OjA1ICswMjAwLCBEYW5pZWwg VmV0dGVyIHdyb3RlOgo+ID4gT24gTW9uLCBNYXkgMDcsIDIwMTggYXQgMDQ6MTY6NDBQTSArMDMw MCwgU3RhbkxpcyB3cm90ZToKPiA+ID4gRnJvbTogU3RhbmlzbGF2IExpc292c2tpeSA8c3Rhbmlz bGF2Lmxpc292c2tpeUBpbnRlbC5jb20+Cj4gPiA+IAo+ID4gPiBBZGRlZCBjb250ZW50X3R5cGUg cHJvcGVydHkgdG8gZHJtX2Nvbm5lY3Rvcl9zdGF0ZQo+ID4gPiBpbiBvcmRlciB0byBwcm9wZXJs eSBoYW5kbGUgZXh0ZXJuYWwgSERNSSBUViBjb250ZW50LXR5cGUgc2V0dGluZy4KPiA+ID4gCj4g PiA+IHYyOgo+ID4gPiAgKiBNb3ZlZCBoZWxwZXIgZnVuY3Rpb24gd2hpY2ggYXR0YWNoZXMgY29u dGVudCB0eXBlIHByb3BlcnR5Cj4gPiA+ICAgIHRvIHRoZSBkcm0gY29yZSwgYXMgd2FzIHN1Z2dl c3RlZC4KPiA+ID4gICAgUmVtb3ZlZCByZWR1bmRhbnQgY29ubmVjdG9yIHN0YXRlIGluaXRpYWxp emF0aW9uLgo+ID4gPiAKPiA+ID4gdjM6Cj4gPiA+ICAqIFJlbW92ZWQgY2FwcyBpbiBkcm1fY29u dGVudF90eXBlX2VudW1fbGlzdC4KPiA+ID4gICAgQWZ0ZXIgc29tZSBkaXNjdXNzaW9uIGl0IHR1 cm5lZCBvdXQgdGhhdCBIRE1JIFNwZWMgMS40Cj4gPiA+ICAgIHdhcyB3cm9uZ2x5IGFzc3VtaW5n IHRoYXQgSVQgQ29udGVudChpdGMpIGJpdCBkb2Vzbid0IGFmZmVjdAo+ID4gPiAgICBDb250ZW50 IHR5cGUgc3RhdGVzLCBob3dldmVyIGl0YyBiaXQgbmVlZHMgdG8gYmUgbWFudXB1bGF0ZWQKPiA+ ID4gICAgYXMgd2VsbC4gSW4gb3JkZXIgdG8gbm90IGV4cG9zZSBhZGRpdGlvbmFsIHByb3BlcnR5 IGZvciBpdGMsCj4gPiA+ICAgIGZvciBzYWtlIG9mIHNpbXBsaWNpdHkgaXQgd2FzIGRlY2lkZWQg dG8gYmluZCB0aG9zZSB0b2dldGhlcgo+ID4gPiAgICBpbiBzYW1lICJjb250ZW50IHR5cGUiIHBy b3BlcnR5Lgo+ID4gPiAKPiA+ID4gdjQ6Cj4gPiA+ICAqIEFkZGVkIGl0X2NvbnRlbnQgY2hlY2tp bmcgaW4KPiA+ID4gaW50ZWxfZGlnaXRhbF9jb25uZWN0b3JfYXRvbWljX2NoZWNrLgo+ID4gPiAg ICBGaXhlZCBkb2N1bWVudGF0aW9uIGZvciBuZXcgY29udGVudCB0eXBlIGVudW0uCj4gPiA+IAo+ ID4gPiB2NToKPiA+ID4gICogTW92ZWQgcGF0Y2ggcmV2aXNpb24ncyBkZXNjcmlwdGlvbiB0byBj b21taXQgbWVzc2FnZXMuCj4gPiA+IAo+ID4gPiB2NjoKPiA+ID4gICogTWlub3IgbmFtaW5nIGZp eCBmb3IgdGhlIGNvbnRlbnQgdHlwZSBlbnVtZXJhdGlvbiBzdHJpbmcuCj4gPiA+IAo+ID4gPiB2 NzoKPiA+ID4gICogRml4IHBhcmFtZXRlciBuYW1lIGZvciBkb2N1bWVudGF0aW9uIGFuZCBwYXJh bWV0ZXIgYWxpZ25tZW50Cj4gPiA+ICAgIGluIG9yZGVyIG5vdCB0byBnZXQgd2FybmluZy4gQWRk ZWQgQ29udGVudCBUeXBlIGRlc2NyaXB0aW9uIHRvCj4gPiA+ICAgIG5ldyBIRE1JIGNvbm5lY3Rv ciBwcm9wZXJ0aWVzIHNlY3Rpb24uCj4gPiA+IAo+ID4gPiB2ODoKPiA+ID4gICogVGhyb3duIGF3 YXkgdW5uZWVkZWQgbnVtYmVycyBmcm9tIEhETUkgY29udGVudC10eXBlIHByb3BlcnR5Cj4gPiA+ ICAgIGRlc2NyaXB0aW9uLiBTd2l0Y2ggdG8gc3RyaW5ncyBkZXNyaXB0aW9uIGluc3RlYWQgb2Yg cGxhaW4KPiA+ID4gICAgZGVmaW5pdGlvbnMuCj4gPiA+IAo+ID4gPiB2OToKPiA+ID4gICogTW92 ZWQgYXdheSBoZG1pIHNwZWNpZmljIGNvbnRlbnQtdHlwZSBlbnVtIGZyb20KPiA+ID4gICAgZHJt X2Nvbm5lY3Rvcl9zdGF0ZS4gQ29udGVudCB0eXBlIHByb3BlcnR5IHNob3VsZCBwcm9iYWJseSBu b3QKPiA+ID4gICAgYmUgYm91bmQgdG8gYW55IHNwZWNpZmljIGNvbm5lY3RvciBpbnRlcmZhY2Ug aW4KPiA+ID4gICAgZHJtX2Nvbm5lY3Rvcl9zdGF0ZS4KPiA+ID4gICAgU2FtZSBwcm9iYWJseSBz aG91bGQgYmUgZG9uZSB0byBoZG1pX3BpY3R1cmVfYXNwZWN0X3JhdGlvbiBlbnVtCj4gPiA+ICAg IHdoaWNoIGlzIGFsc28gY29udGFpbmVkIGluIGRybV9jb25uZWN0b3Jfc3RhdGUuIEFkZGVkIHNw ZWNpYWwKPiA+ID4gICAgaGVscGVyIGZ1bmN0aW9uIHRvIGdldCBkZXJpdmUgaGRtaSBzcGVjaWZp YyByZWxldmFudCBpbmZvZnJhbWUKPiA+ID4gICAgZmllbGRzLgo+ID4gPiAKPiA+ID4gU2lnbmVk LW9mZi1ieTogU3RhbmlzbGF2IExpc292c2tpeSA8c3RhbmlzbGF2Lmxpc292c2tpeUBpbnRlbC5j b20+Cj4gPiA+IC0tLQo+ID4gPiAgRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QgICAgICAg IHwgIDYgKysrCj4gPiA+ICBEb2N1bWVudGF0aW9uL2dwdS9rbXMtcHJvcGVydGllcy5jc3YgfCAg MSArCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgICAgfCAgNCArKwo+ ID4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAgICAgIHwgNzQKPiA+ID4gKysr KysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9lZGlk LmMgICAgICAgICAgIHwgNTUgKysrKysrKysrKysrKysrKysrKysrCj4gPiA+ICBpbmNsdWRlL2Ry bS9kcm1fY29ubmVjdG9yLmggICAgICAgICAgfCAxMiArKysrKwo+ID4gPiAgaW5jbHVkZS9kcm0v ZHJtX2VkaWQuaCAgICAgICAgICAgICAgIHwgIDYgKysrCj4gPiA+ICBpbmNsdWRlL2RybS9kcm1f bW9kZV9jb25maWcuaCAgICAgICAgfCAgNSArKwo+ID4gPiAgaW5jbHVkZS91YXBpL2RybS9kcm1f bW9kZS5oICAgICAgICAgIHwgIDcgKysrCj4gPiA+ICA5IGZpbGVzIGNoYW5nZWQsIDE3MCBpbnNl cnRpb25zKCspCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJt LWttcy5yc3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0tCj4gPiA+IGttcy5yc3QKPiA+ID4gaW5k ZXggMWRmZmQxYWM0Y2Q0Li5lMjMzYzI2MjZiZDAgMTAwNjQ0Cj4gPiA+IC0tLSBhL0RvY3VtZW50 YXRpb24vZ3B1L2RybS1rbXMucnN0Cj4gPiA+ICsrKyBiL0RvY3VtZW50YXRpb24vZ3B1L2RybS1r bXMucnN0Cj4gPiA+IEBAIC01MTcsNiArNTE3LDEyIEBAIFN0YW5kYXJkIENvbm5lY3RvciBQcm9w ZXJ0aWVzCj4gPiA+ICAuLiBrZXJuZWwtZG9jOjogZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0 b3IuYwo+ID4gPiAgICAgOmRvYzogc3RhbmRhcmQgY29ubmVjdG9yIHByb3BlcnRpZXMKPiA+ID4g IAo+ID4gPiArSERNSSBTcGVjaWZpYyBDb25uZWN0b3IgUHJvcGVydGllcwo+ID4gPiArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gKwo+ID4gPiArLi4ga2VybmVsLWRvYzo6IGRy aXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+ID4gKyAgIDpkb2M6IEhETUkgY29ubmVj dG9yIHByb3BlcnRpZXMKPiA+ID4gKwo+ID4gPiAgUGxhbmUgQ29tcG9zaXRpb24gUHJvcGVydGll cwo+ID4gPiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiAgCj4gPiA+IGRpZmYg LS1naXQgYS9Eb2N1bWVudGF0aW9uL2dwdS9rbXMtcHJvcGVydGllcy5jc3YKPiA+ID4gYi9Eb2N1 bWVudGF0aW9uL2dwdS9rbXMtcHJvcGVydGllcy5jc3YKPiA+ID4gaW5kZXggMDdlZDIyZWEzYmQ2 Li5iZmRlMDRlZGRkMTQgMTAwNjQ0Cj4gPiA+IC0tLSBhL0RvY3VtZW50YXRpb24vZ3B1L2ttcy1w cm9wZXJ0aWVzLmNzdgo+ID4gPiArKysgYi9Eb2N1bWVudGF0aW9uL2dwdS9rbXMtcHJvcGVydGll cy5jc3YKPiA+ID4gQEAgLTE3LDYgKzE3LDcgQEAgT3duZXIgTW9kdWxlL0RyaXZlcnMsR3JvdXAs UHJvcGVydHkKPiA+ID4gTmFtZSxUeXBlLFByb3BlcnR5IFZhbHVlcyxPYmplY3QgYXR0YWNoZWQs RGUKPiA+ID4gICxWaXJ0dWFsIEdQVSzigJxzdWdnZXN0ZWQgWOKAnSxSQU5HRSwiTWluPTAsCj4g PiA+IE1heD0weGZmZmZmZmZmIixDb25uZWN0b3IscHJvcGVydHkgdG8gc3VnZ2VzdCBhbiBYIG9m ZnNldCBmb3IgYQo+ID4gPiBjb25uZWN0b3IKPiA+ID4gICws4oCcc3VnZ2VzdGVkIFnigJ0sUkFO R0UsIk1pbj0wLCBNYXg9MHhmZmZmZmZmZiIsQ29ubmVjdG9yLHByb3BlcnR5Cj4gPiA+IHRvIHN1 Z2dlc3QgYW4gWSBvZmZzZXQgZm9yIGEgY29ubmVjdG9yCj4gPiA+ICAsT3B0aW9uYWwsIiIiYXNw ZWN0IHJhdGlvIiIiLEVOVU0sInsgIiJOb25lIiIsICIiNDozIiIsICIiMTY6OSIiCj4gPiA+IH0i LENvbm5lY3RvcixUREIKPiA+ID4gKyxPcHRpb25hbCwiIiJjb250ZW50IHR5cGUiIiIsRU5VTSwi eyAiIk5vIERhdGEiIiwgIiJHcmFwaGljcyIiLAo+ID4gPiAiIlBob3RvIiIsICIiQ2luZW1hIiIs ICIiR2FtZSIiIH0iLENvbm5lY3RvcixUQkQKPiA+ID4gIGk5MTUsR2VuZXJpYywiIiJCcm9hZGNh c3QgUkdCIiIiLEVOVU0sInsgIiJBdXRvbWF0aWMiIiwgIiJGdWxsIiIsCj4gPiA+ICIiTGltaXRl ZCAxNjoyMzUiIiB9IixDb25uZWN0b3IsIldoZW4gdGhpcyBwcm9wZXJ0eSBpcyBzZXQgdG8KPiA+ ID4gTGltaXRlZCAxNjoyMzUgYW5kIENUTSBpcyBzZXQsIHRoZSBoYXJkd2FyZSB3aWxsIGJlIHBy b2dyYW1tZWQgd2l0aAo+ID4gPiB0aGUgcmVzdWx0IG9mIHRoZSBtdWx0aXBsaWNhdGlvbiBvZiBD VE0gYnkgdGhlIGxpbWl0ZWQgcmFuZ2UgbWF0cml4Cj4gPiA+IHRvIGVuc3VyZSB0aGUgcGl4ZWxz IG5vcm1hbHkgaW4gdGhlIHJhbmdlIDAuLjEuMCBhcmUgcmVtYXBwZWQgdG8KPiA+ID4gdGhlIHJh bmdlIDE2LzI1NS4uMjM1LzI1NS4iCj4gPiA+ICAsLOKAnGF1ZGlv4oCdLEVOVU0sInsgIiJmb3Jj ZS1kdmkiIiwgIiJvZmYiIiwgIiJhdXRvIiIsICIib24iIgo+ID4gPiB9IixDb25uZWN0b3IsVEJE Cj4gPiA+ICAsU0RWTy1UVizigJxtb2Rl4oCdLEVOVU0sInsgIiJOVFNDX00iIiwgIiJOVFNDX0oi IiwgIiJOVFNDXzQ0MyIiLAo+ID4gPiAiIlBBTF9CIiIgfSBldGMuIixDb25uZWN0b3IsVEJECj4g PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gPiA+IGIvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ID4gPiBpbmRleCAzZDlhZTA1N2E2Y2QuLjZjMWUx ZTc3NDUxNyAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gPiA+IEBAIC0xMjcwLDYg KzEyNzAsOCBAQCBzdGF0aWMgaW50Cj4gPiA+IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9w ZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gPiAgCQkJc3RhdGUtPmxp bmtfc3RhdHVzID0gdmFsOwo+ID4gPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5h c3BlY3RfcmF0aW9fcHJvcGVydHkpIHsKPiA+ID4gIAkJc3RhdGUtPnBpY3R1cmVfYXNwZWN0X3Jh dGlvID0gdmFsOwo+ID4gPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5jb250ZW50 X3R5cGVfcHJvcGVydHkpIHsKPiA+ID4gKwkJc3RhdGUtPmNvbnRlbnRfdHlwZSA9IHZhbDsKPiA+ ID4gIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbm5lY3Rvci0+c2NhbGluZ19tb2RlX3Byb3Bl cnR5KSB7Cj4gPiA+ICAJCXN0YXRlLT5zY2FsaW5nX21vZGUgPSB2YWw7Cj4gPiA+ICAJfSBlbHNl IGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItCj4gPiA+ID5jb250ZW50X3Byb3RlY3Rpb25fcHJv cGVydHkpIHsKPiA+ID4gQEAgLTEzNTUsNiArMTM1Nyw4IEBAIGRybV9hdG9taWNfY29ubmVjdG9y X2dldF9wcm9wZXJ0eShzdHJ1Y3QKPiA+ID4gZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4g PiAgCQkqdmFsID0gc3RhdGUtPmxpbmtfc3RhdHVzOwo+ID4gPiAgCX0gZWxzZSBpZiAocHJvcGVy dHkgPT0gY29uZmlnLT5hc3BlY3RfcmF0aW9fcHJvcGVydHkpIHsKPiA+ID4gIAkJKnZhbCA9IHN0 YXRlLT5waWN0dXJlX2FzcGVjdF9yYXRpbzsKPiA+ID4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09 IGNvbmZpZy0+Y29udGVudF90eXBlX3Byb3BlcnR5KSB7Cj4gPiA+ICsJCSp2YWwgPSBzdGF0ZS0+ Y29udGVudF90eXBlOwo+ID4gPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5z Y2FsaW5nX21vZGVfcHJvcGVydHkpIHsKPiA+ID4gIAkJKnZhbCA9IHN0YXRlLT5zY2FsaW5nX21v ZGU7Cj4gPiA+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItCj4gPiA+ID5jb250 ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkpIHsKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rv ci5jCj4gPiA+IGluZGV4IGIzY2RlODk3Y2Q4MC4uZmU2MzM5NWYxNTlkIDEwMDY0NAo+ID4gPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+ID4gQEAgLTcyMCw2ICs3MjAsMTQgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QKPiA+ID4gZHJtX2FzcGVjdF9yYXRpb19l bnVtX2xpc3RbXSA9IHsKPiA+ID4gIAl7IERSTV9NT0RFX1BJQ1RVUkVfQVNQRUNUXzE2XzksICIx Njo5IiB9LAo+ID4gPiAgfTsKPiA+ID4gIAo+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f cHJvcF9lbnVtX2xpc3QKPiA+ID4gZHJtX2NvbnRlbnRfdHlwZV9lbnVtX2xpc3RbXSA9IHsKPiA+ ID4gKwl7IERSTV9NT0RFX0NPTlRFTlRfVFlQRV9OT19EQVRBLCAiTm8gRGF0YSIgfSwKPiA+ID4g Kwl7IERSTV9NT0RFX0NPTlRFTlRfVFlQRV9HUkFQSElDUywgIkdyYXBoaWNzIiB9LAo+ID4gPiAr CXsgRFJNX01PREVfQ09OVEVOVF9UWVBFX1BIT1RPLCAiUGhvdG8iIH0sCj4gPiA+ICsJeyBEUk1f TU9ERV9DT05URU5UX1RZUEVfQ0lORU1BLCAiQ2luZW1hIiB9LAo+ID4gPiArCXsgRFJNX01PREVf Q09OVEVOVF9UWVBFX0dBTUUsICJHYW1lIiB9LAo+ID4gPiArfTsKPiA+ID4gKwo+ID4gPiAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QKPiA+ID4gZHJtX3BhbmVsX29yaWVu dGF0aW9uX2VudW1fbGlzdFtdID0gewo+ID4gPiAgCXsgRFJNX01PREVfUEFORUxfT1JJRU5UQVRJ T05fTk9STUFMLAkiTm9ybWFsIgkKPiA+ID4gfSwKPiA+ID4gIAl7IERSTV9NT0RFX1BBTkVMX09S SUVOVEFUSU9OX0JPVFRPTV9VUCwJIlVwc2lkZQo+ID4gPiBEb3duIgl9LAo+ID4gPiBAQCAtOTk2 LDYgKzEwMDQsNDUgQEAgaW50IGRybV9tb2RlX2NyZWF0ZV9kdmlfaV9wcm9wZXJ0aWVzKHN0cnVj dAo+ID4gPiBkcm1fZGV2aWNlICpkZXYpCj4gPiA+ICB9Cj4gPiA+ICBFWFBPUlRfU1lNQk9MKGRy bV9tb2RlX2NyZWF0ZV9kdmlfaV9wcm9wZXJ0aWVzKTsKPiA+ID4gIAo+ID4gPiArCj4gPiA+ICsv KioKPiA+ID4gKyAqIERPQzogSERNSSBjb25uZWN0b3IgcHJvcGVydGllcwo+ID4gPiArICoKPiA+ ID4gKyAqIGNvbnRlbnQgdHlwZSAoSERNSSBzcGVjaWZpYyk6Cj4gPiA+ICsgKglJbmRpY2F0ZXMg Y29udGVudCB0eXBlIHNldHRpbmcgdG8gYmUgdXNlZCBpbiBIRE1JCj4gPiA+IGluZm9mcmFtZXMg dG8gaW5kaWNhdGUKPiA+ID4gKyAqCWNvbnRlbnQgdHlwZSBmb3IgdGhlIGV4dGVybmFsIGRldmlj ZSwgc28gdGhhdCBpdCBhZGp1c3RzCj4gPiA+IGl0J3MgZGlzcGxheQo+ID4gPiArICoJc2V0dGlu Z3MgYWNjb3JkaW5nbHkuCj4gPiA+ICsgKgo+ID4gPiArICoJVGhlIHZhbHVlIG9mIHRoaXMgcHJv cGVydHkgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nOgo+ID4gPiArICoKPiA+ID4gKyAqCU5v IERhdGE6Cj4gPiA+ICsgKgkJQ29udGVudCB0eXBlIGlzIHVua25vd24KPiA+ID4gKyAqCUdyYXBo aWNzOgo+ID4gPiArICoJCUNvbnRlbnQgdHlwZSBpcyBncmFwaGljcwo+ID4gPiArICoJUGhvdG86 Cj4gPiA+ICsgKgkJQ29udGVudCB0eXBlIGlzIHBob3RvCj4gPiA+ICsgKglDaW5lbWE6Cj4gPiA+ ICsgKgkJQ29udGVudCB0eXBlIGlzIGNpbmVtYQo+ID4gPiArICoJR2FtZToKPiA+ID4gKyAqCQlD b250ZW50IHR5cGUgaXMgZ2FtZQo+ID4gCj4gPiBMaW5rcyB0byB0aGUgZnVuY3Rpb24gdGhhdCBz ZXQgdXAvdXNlIHRoZSBwcm9wZXJ0eSB3b3VsZCBiZSBnb29kCj4gPiBoZXJlLgo+ID4gSS5lLgo+ ID4gCj4gPiAJIkRyaXZlcnMgY2FuIHNldCB1cCB0aGlzIHByb3BlcnR5IGJ5IGNhbGxpbmcKPiA+ IAlkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3R5cGVfcHJvcGVydHkoKS4gRGVjb2Rpbmcg dG8KPiA+IAlpbmZvZnJhbWUgdmFsdWVzIGlzIGRvbmUgdGhyb3VnaAo+ID4gCWRybV9oZG1pX2dl dF9jb250ZW50X3R5cGVfZnJvbV9wcm9wZXJ0eSgpIGFuZAo+ID4gCWRybV9oZG1pX2dldF9pdGNf Yml0X2Zyb21fcHJvcGVydHkoKS4iCj4gPiAKPiA+IEFzaWRlOiBBIHNpbXBsZSBoZWxwZXIgdGhh dCBjb21wdXRlcyB0aGUgY29ycmVjdCBpbmZvZnJhbWVzIGZyb20gdGhlCj4gPiBkcm1fY29ubmVj dG9yX3N0YXRlIGFuZCBkcm1fZGlzcGxheV9pbmZvLCB3aXRob3V0IGZvcmNpbmcgZHJpdmVycyB0 bwo+ID4gY2FsbAo+ID4gYSBnYXppbGxpb24gaW5kaXZpZHVhbCBoZWxwZXIgZnVuY3Rpb25zIHdv dWxkIGJlIHJlYWwgbmljZS4gQnV0Cj4gPiB0aGF0J3MgZm9yCj4gPiBzb21lb25lIGVsc2UgSSB0 aGluayAtIGFsbCB0aGUgdmVyYm9zaXR5IGhlcmUgc2ltcGx5IGFubm95cyBtZSBhIGJpdC4KPiA+ IAo+ID4gV2l0aCB0aGUgYWJvdmUga2VybmVsZG9jIHBvbGlzaDoKPiA+IAo+ID4gQWNrZWQtYnk6 IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gPiAtRGFuaWVsCj4gCj4g WWVwLCBJIHN1Z2dlc3RlZCB0aGF0LCBhZGRpbmcgc29tZSBzaW5nbGUgZnVuY3Rpb24gY291bGQg YmUgbW9yZSBwcm9wZXIKPiBhcHByb2FjaCAtIHRoZXJlIGlzIGV2ZW4gYWxyZWFkeSBhIGZ1bmN0 aW9uIGNhbGxlZAo+IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUsIEkg aW5pdGlhbGx5IHN1Z2dlc3RlZCB0aGF0Cj4gaXQgd291bGQgYmUgY29udmVuaWVudCB0byBhZGQg aXQgdGhlcmUsIGhvd2V2ZXIgYXMgSSB1bmRlcnN0b29kIGZyb20KPiBkaXNjdXNzaW9uIHdpdGgg VmlsbGUsIG5vdCBhbGwgZHJpdmVycyBzdXBwb3J0IGF0b21pYyBwcm9wZXJ0aWVzLAo+IG90aGVy d2lzZSBjZXJ0YWlubHkgaXQgd291bGQgYmUgbXVjaCBlYXNpZXIgdG8gaGF2ZSBpdCBpbiBhIHNp bmdsZQo+IGZ1bmN0aW9uLgoKWWVzIG5vdCBldmVyeXRoaW5nIGlzIGF0b21pYywgYnV0IHdlIGNh biBwcmV0dHkgbXVjaCByZXF1aXJlIGF0b21pYyBmb3IKbmV3IGRyaXZlcnMuIFdlJ2QgbmVlZCB0 byBtYWtlIGEgbmV3IGZ1bmN0aW9uIHRob3VnaCB3aGljaCB0YWtlcwpkcm1fY29ubmVjdG9yX3N0 YXRlIGludG8gYWNjb3VudCAoc28gdGhhdCBub24tYXRvbWljIGRyaXZlcnMgY2FuIGtlZXAKY2Fs bGluZyBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKS4gRm9yIHRoYXQg b3ZlcmFsbApmdW5jdGlvbiB3ZSdkIHByb2JhYmx5IHdhbnQ6Cgpkcm1faGRtaV9hdmlfaW5mb2Zy YW1lX2Zyb21fc3RhdGUoc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSAqZnJhbWUsCgkJCQkgIHN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlLAoJCQkJICBzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUpOwoKZGlzcGxheV9pbmZvIHdlIGNhbiBnZXQgYXQgdGhyb3Vn aCBjb25uX3N0YXRlLT5jb25uZWN0b3IuZGlzcGxheV9pbmZvLCBhbmQKbW9kZSB3ZSBjYW4gcmVh Y2ggdGhyb3VnaCBjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlLgoKQnV0IHllYWggcHJvYmFibHkg YmV0dGVyIHRvIGRvIHRoYXQgd2l0aCB0aGUgbmV4dCBsaXR0bGUgaGRtaSBpbmZvZnJhbWUKdGhp bmcgd2UncmUgZ29pbmcgdG8gc3VwcG9ydCwgb3IgYXMgYSBmb2xsb3ctdXAuCi1EYW5pZWwKCj4g Cj4gPiA+ICsgKi8KPiA+ID4gKwo+ID4gPiArLyoqCj4gPiA+ICsgKiBkcm1fY29ubmVjdG9yX2F0 dGFjaF9jb250ZW50X3R5cGVfcHJvcGVydHkgLSBhdHRhY2ggY29udGVudC0KPiA+ID4gdHlwZSBw cm9wZXJ0eQo+ID4gPiArICogQGNvbm5lY3RvcjogY29ubmVjdG9yIHRvIGF0dGFjaCBjb250ZW50 IHR5cGUgcHJvcGVydHkgb24uCj4gPiA+ICsgKgo+ID4gPiArICogQ2FsbGVkIGJ5IGEgZHJpdmVy IHRoZSBmaXJzdCB0aW1lIGEgSERNSSBjb25uZWN0b3IgaXMgbWFkZS4KPiA+ID4gKyAqLwo+ID4g PiAraW50IGRybV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eShzdHJ1Y3QK PiA+ID4gZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4gPiArewo+ID4gPiArCWlmICghZHJt X21vZGVfY3JlYXRlX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eShjb25uZWN0b3ItCj4gPiA+ID5kZXYp KQo+ID4gPiArCQlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLAo+ ID4gPiArCQkJCQkgICBjb25uZWN0b3ItPmRldi0KPiA+ID4gPm1vZGVfY29uZmlnLmNvbnRlbnRf dHlwZV9wcm9wZXJ0eSwKPiA+ID4gKwkJCQkJICAgRFJNX01PREVfQ09OVEVOVF9UWVBFX04KPiA+ ID4gT19EQVRBKTsKPiA+ID4gKwlyZXR1cm4gMDsKPiA+ID4gK30KPiA+ID4gK0VYUE9SVF9TWU1C T0woZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF90eXBlX3Byb3BlcnR5KTsKPiA+ID4gKwo+ ID4gPiAgLyoqCj4gPiA+ICAgKiBkcm1fY3JlYXRlX3R2X3Byb3BlcnRpZXMgLSBjcmVhdGUgVFYg c3BlY2lmaWMgY29ubmVjdG9yCj4gPiA+IHByb3BlcnRpZXMKPiA+ID4gICAqIEBkZXY6IERSTSBk ZXZpY2UKPiA+ID4gQEAgLTEyNjAsNiArMTMwNywzMyBAQCBpbnQKPiA+ID4gZHJtX21vZGVfY3Jl YXRlX2FzcGVjdF9yYXRpb19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gPiAg fQo+ID4gPiAgRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jcmVhdGVfYXNwZWN0X3JhdGlvX3Byb3Bl cnR5KTsKPiA+ID4gIAo+ID4gPiArLyoqCj4gPiA+ICsgKiBkcm1fbW9kZV9jcmVhdGVfY29udGVu dF90eXBlX3Byb3BlcnR5IC0gY3JlYXRlIGNvbnRlbnQgdHlwZQo+ID4gPiBwcm9wZXJ0eQo+ID4g PiArICogQGRldjogRFJNIGRldmljZQo+ID4gPiArICoKPiA+ID4gKyAqIENhbGxlZCBieSBhIGRy aXZlciB0aGUgZmlyc3QgdGltZSBpdCdzIG5lZWRlZCwgbXVzdCBiZSBhdHRhY2hlZAo+ID4gPiB0 byBkZXNpcmVkCj4gPiA+ICsgKiBjb25uZWN0b3JzLgo+ID4gPiArICoKPiA+ID4gKyAqIFJldHVy bnM6Cj4gPiA+ICsgKiBaZXJvIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm5vIG9uIGZhaWx1cmUu Cj4gPiA+ICsgKi8KPiA+ID4gK2ludCBkcm1fbW9kZV9jcmVhdGVfY29udGVudF90eXBlX3Byb3Bl cnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiA+ICt7Cj4gPiA+ICsJaWYgKGRldi0+bW9k ZV9jb25maWcuY29udGVudF90eXBlX3Byb3BlcnR5KQo+ID4gPiArCQlyZXR1cm4gMDsKPiA+ID4g Kwo+ID4gPiArCWRldi0+bW9kZV9jb25maWcuY29udGVudF90eXBlX3Byb3BlcnR5ID0KPiA+ID4g KwkJZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwgMCwgImNvbnRlbnQgdHlwZSIsCj4gPiA+ ICsJCQkJCSBkcm1fY29udGVudF90eXBlX2VudW1fbGlzCj4gPiA+IHQsCj4gPiA+ICsJCQkJCSBB UlJBWV9TSVpFKGRybV9jb250ZW50X3R5Cj4gPiA+IHBlX2VudW1fbGlzdCkpOwo+ID4gPiArCj4g PiA+ICsJaWYgKGRldi0+bW9kZV9jb25maWcuY29udGVudF90eXBlX3Byb3BlcnR5ID09IE5VTEwp Cj4gPiA+ICsJCXJldHVybiAtRU5PTUVNOwo+ID4gPiArCj4gPiA+ICsJcmV0dXJuIDA7Cj4gPiA+ ICt9Cj4gPiA+ICtFWFBPUlRfU1lNQk9MKGRybV9tb2RlX2NyZWF0ZV9jb250ZW50X3R5cGVfcHJv cGVydHkpOwo+ID4gCj4gPiBEbyB3ZSByZWFsbHkgbmVlZCB0byBleHBvcnQgdGhpcz8gRHJpdmVy cyBzaG91bGQgb25seSBjYWxsCj4gPiBkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3R5cGVf cHJvcGVydHkoKSBJIHRoaW5rIC4uLgo+IAo+IEFsbCBvZiB0aG9zZSBwcm9wZXJ0eSBjcmVhdGlv biBmdW5jdGlvbnMgYXJlIGV4cG9ydGVkLCBJIHdhcyAKPiBqdXN0IGZvbGxvd2luZyB0aG9zZSBh cyBleGFtcGxlOgo+IAo+IEVYUE9SVF9TWU1CT0woZHJtX21vZGVfY3JlYXRlX3R2X3Byb3BlcnRp ZXMpOwo+IEVYUE9SVF9TWU1CT0woZHJtX21vZGVfY3JlYXRlX3NjYWxpbmdfbW9kZV9wcm9wZXJ0 eSk7Cj4gRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jcmVhdGVfYXNwZWN0X3JhdGlvX3Byb3BlcnR5 KTsKPiAKPiBhbmQgc28gb24uIAo+IAo+ID4gCj4gPiA+ICsKPiA+ID4gIC8qKgo+ID4gPiAgICog ZHJtX21vZGVfY3JlYXRlX3N1Z2dlc3RlZF9vZmZzZXRfcHJvcGVydGllcyAtIGNyZWF0ZSBzdWdn ZXN0cwo+ID4gPiBvZmZzZXQgcHJvcGVydGllcwo+ID4gPiAgICogQGRldjogRFJNIGRldmljZQo+ ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+ID4gYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ID4gPiBpbmRleCAxMzQwNjlmMzY0ODIuLjllY2RhMGIy YTRkOCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+ID4gQEAgLTQ4NjgsNiArNDg2OCwx NCBAQAo+ID4gPiBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVj dCBoZG1pX2F2aV9pbmZvZnJhbWUKPiA+ID4gKmZyYW1lLAo+ID4gPiAgCj4gPiA+ICAJZnJhbWUt PnBpY3R1cmVfYXNwZWN0ID0gSERNSV9QSUNUVVJFX0FTUEVDVF9OT05FOwo+ID4gPiAgCj4gPiA+ ICsJLyoKPiA+ID4gKwkgKiBBcyBzb21lIGRyaXZlcnMgZG9uJ3Qgc3VwcG9ydCBhdG9taWMsIHdl IGNhbid0IHVzZQo+ID4gPiBjb25uZWN0b3Igc3RhdGUuCj4gPiA+ICsJICogU28ganVzdCBpbml0 aWFsaXplIHRoZSBmcmFtZSB3aXRoIGRlZmF1bHQgdmFsdWVzLCBqdXN0Cj4gPiA+IHRoZSBzYW1l IHdheQo+ID4gPiArCSAqIGFzIGl0J3MgZG9uZSB3aXRoIG90aGVyIHByb3BlcnRpZXMgaGVyZS4K PiA+ID4gKwkgKi8KPiA+ID4gKwlmcmFtZS0+Y29udGVudF90eXBlID0gSERNSV9DT05URU5UX1RZ UEVfR1JBUEhJQ1M7Cj4gPiA+ICsJZnJhbWUtPml0YyA9IDA7Cj4gPiA+ICsKPiA+ID4gIAkvKgo+ ID4gPiAgCSAqIFBvcHVsYXRlIHBpY3R1cmUgYXNwZWN0IHJhdGlvIGZyb20gZWl0aGVyCj4gPiA+ ICAJICogdXNlciBpbnB1dCAoaWYgc3BlY2lmaWVkKSBvciBmcm9tIHRoZSBDRUEgbW9kZSBsaXN0 Lgo+ID4gPiBAQCAtNDg4Niw2ICs0ODk0LDUzIEBACj4gPiA+IGRybV9oZG1pX2F2aV9pbmZvZnJh bWVfZnJvbV9kaXNwbGF5X21vZGUoc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZQo+ID4gPiAqZnJh bWUsCj4gPiA+ICB9Cj4gPiA+ICBFWFBPUlRfU1lNQk9MKGRybV9oZG1pX2F2aV9pbmZvZnJhbWVf ZnJvbV9kaXNwbGF5X21vZGUpOwo+ID4gPiAgCj4gPiA+ICsvKioKPiA+ID4gKyAqIGRybV9oZG1p X2dldF9pdGNfYml0X2Zyb21fcHJvcGVydHkoKSAtIGdldCB0aGUgSERNSSBJVCBjb250ZW50Cj4g PiA+IGJpdAo+ID4gPiArICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZnJvbSBjb250ZW50IHR5cGUKPiA+ID4gcHJvcGVydHkuCj4gPiA+ICsgKiBjb250ZW50X3R5cGU6 IENvbnRlbnQgdHlwZSBEUk0gcHJvcGVydHkgdmFsdWUKPiA+ID4gKyAqCj4gPiA+ICsgKi8KPiA+ ID4gK2Jvb2wKPiA+ID4gK2RybV9oZG1pX2dldF9pdGNfYml0X2Zyb21fcHJvcGVydHkodW5zaWdu ZWQgaW50IGNvbnRlbnRfdHlwZSkKPiA+ID4gK3sKPiA+ID4gKwkvKiBXaGVuZXZlciBzb21ldGhp bmcgZWxzZSB0aGFuICJObyBEYXRhIiwgSVQgQ29udGVudCBiaXQKPiA+ID4gbXVzdCBiZSBzZXQg Ki8KPiA+ID4gKwlyZXR1cm4gY29udGVudF90eXBlICE9IERSTV9NT0RFX0NPTlRFTlRfVFlQRV9O T19EQVRBID8KPiA+ID4gdHJ1ZSA6IGZhbHNlOwo+ID4gPiArfQo+ID4gPiArRVhQT1JUX1NZTUJP TChkcm1faGRtaV9nZXRfaXRjX2JpdF9mcm9tX3Byb3BlcnR5KTsKPiA+ID4gKwo+ID4gPiArLyoq Cj4gPiA+ICsgKiBkcm1faGRtaV9nZXRfY29udGVudF90eXBlX2Zyb21fcHJvcGVydHkoKSAtIGdl dCB0aGUgSERNSQo+ID4gPiBjb250ZW50IHR5cGUgYml0cwo+ID4gPiArICogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIGNvbnRlbnQgdHlwZQo+ID4gPiBw cm9wZXJ0eS4KPiA+ID4gKyAqIGNvbnRlbnRfdHlwZTogQ29udGVudCB0eXBlIERSTSBwcm9wZXJ0 eSB2YWx1ZQo+ID4gPiArICoKPiA+ID4gKyAqLwo+ID4gPiArZW51bSBoZG1pX2NvbnRlbnRfdHlw ZQo+ID4gPiArZHJtX2hkbWlfZ2V0X2NvbnRlbnRfdHlwZV9mcm9tX3Byb3BlcnR5KHVuc2lnbmVk IGludCBjb250ZW50X3R5cGUpCj4gPiA+ICt7Cj4gPiA+ICsJZW51bSBoZG1pX2NvbnRlbnRfdHlw ZSByZXQ7Cj4gPiA+ICsKPiA+ID4gKwlzd2l0Y2ggKGNvbnRlbnRfdHlwZSkgewo+ID4gPiArCWNh c2UgRFJNX01PREVfQ09OVEVOVF9UWVBFX0dSQVBISUNTOgo+ID4gPiArCQlyZXQgPSBIRE1JX0NP TlRFTlRfVFlQRV9HUkFQSElDUzsKPiA+ID4gKwkJYnJlYWs7Cj4gPiA+ICsJY2FzZSBEUk1fTU9E RV9DT05URU5UX1RZUEVfQ0lORU1BOgo+ID4gPiArCQlyZXQgPSBIRE1JX0NPTlRFTlRfVFlQRV9D SU5FTUE7Cj4gPiA+ICsJCWJyZWFrOwo+ID4gPiArCWNhc2UgRFJNX01PREVfQ09OVEVOVF9UWVBF X0dBTUU6Cj4gPiA+ICsJCXJldCA9IEhETUlfQ09OVEVOVF9UWVBFX0dBTUU7Cj4gPiA+ICsJCWJy ZWFrOwo+ID4gPiArCWNhc2UgRFJNX01PREVfQ09OVEVOVF9UWVBFX1BIT1RPOgo+ID4gPiArCQly ZXQgPSBIRE1JX0NPTlRFTlRfVFlQRV9QSE9UTzsKPiA+ID4gKwkJYnJlYWs7Cj4gPiA+ICsJZGVm YXVsdDoKPiA+ID4gKwkJLyogR3JhcGhpY3MgaXMgdGhlIGRlZmF1bHQoMCkgKi8KPiA+ID4gKwkJ cmV0ID0gSERNSV9DT05URU5UX1RZUEVfR1JBUEhJQ1M7Cj4gPiA+ICsJfQo+ID4gPiArCXJldHVy biByZXQ7Cj4gPiA+ICt9Cj4gPiA+ICtFWFBPUlRfU1lNQk9MKGRybV9oZG1pX2dldF9jb250ZW50 X3R5cGVfZnJvbV9wcm9wZXJ0eSk7Cj4gPiA+ICsKPiA+ID4gKwo+ID4gPiAgLyoqCj4gPiA+ICAg KiBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX3F1YW50X3JhbmdlKCkgLSBmaWxsIHRoZSBIRE1JIEFW SQo+ID4gPiBpbmZvZnJhbWUKPiA+ID4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHF1YW50aXphdGlvbiByYW5nZQo+ID4gPiBpbmZvcm1hdGlvbgo+ID4gPiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gPiA+IGIvaW5jbHVkZS9kcm0v ZHJtX2Nvbm5lY3Rvci5oCj4gPiA+IGluZGV4IDY3NWNjM2Y4Y2Y4NS4uMTc4ZmEzZjNmNWY3IDEw MDY0NAo+ID4gPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+ID4gKysrIGIv aW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gPiA+IEBAIC00MTgsNiArNDE4LDE2IEBAIHN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIHsKPiA+ID4gIAkgKi8KPiA+ID4gIAllbnVtIGhkbWlf cGljdHVyZV9hc3BlY3QgcGljdHVyZV9hc3BlY3RfcmF0aW87Cj4gPiA+ICAKPiA+ID4gKwo+ID4g PiArCS8qKgo+ID4gPiArCSAqIEBjb250ZW50X3R5cGU6IENvbm5lY3RvciBwcm9wZXJ0eSB0byBj b250cm9sIHRoZQo+ID4gPiArCSAqIEhETUkgaW5mb2ZyYW1lIGNvbnRlbnQgdHlwZSBzZXR0aW5n Lgo+ID4gPiArCSAqIFRoZSAlRFJNX01PREVfQ09OVEVOVF9UWVBFX1wqIHZhbHVlcyBtdWNoCj4g PiA+ICsJICogbWF0Y2ggdGhlIHZhbHVlcy4KPiA+ID4gKwkgKi8KPiA+ID4gKwl1bnNpZ25lZCBp bnQgY29udGVudF90eXBlOwo+ID4gPiArCj4gPiA+ICsKPiA+ID4gIAkvKioKPiA+ID4gIAkgKiBA c2NhbGluZ19tb2RlOiBDb25uZWN0b3IgcHJvcGVydHkgdG8gY29udHJvbCB0aGUKPiA+ID4gIAkg KiB1cHNjYWxpbmcsIG1vc3RseSB1c2VkIGZvciBidWlsdC1pbiBwYW5lbHMuCj4gPiA+IEBAIC0x MDg5LDExICsxMDk5LDEzIEBAIGludCBkcm1fbW9kZV9jcmVhdGVfdHZfcHJvcGVydGllcyhzdHJ1 Y3QKPiA+ID4gZHJtX2RldmljZSAqZGV2LAo+ID4gPiAgCQkJCSAgdW5zaWduZWQgaW50IG51bV9t b2RlcywKPiA+ID4gIAkJCQkgIGNvbnN0IGNoYXIgKiBjb25zdCBtb2Rlc1tdKTsKPiA+ID4gIGlu dCBkcm1fbW9kZV9jcmVhdGVfc2NhbGluZ19tb2RlX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpOwo+ID4gPiAraW50IGRybV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfdHlwZV9wcm9w ZXJ0eShzdHJ1Y3QKPiA+ID4gZHJtX2Nvbm5lY3RvciAqZGV2KTsKPiA+ID4gIGludCBkcm1fY29u bmVjdG9yX2F0dGFjaF9zY2FsaW5nX21vZGVfcHJvcGVydHkoc3RydWN0Cj4gPiA+IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKPiA+ID4gIAkJCQkJICAgICAgIHUzMgo+ID4gPiBzY2FsaW5nX21v ZGVfbWFzayk7Cj4gPiA+ICBpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0 aW9uX3Byb3BlcnR5KAo+ID4gPiAgCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsK PiA+ID4gIGludCBkcm1fbW9kZV9jcmVhdGVfYXNwZWN0X3JhdGlvX3Byb3BlcnR5KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpOwo+ID4gPiAraW50IGRybV9tb2RlX2NyZWF0ZV9jb250ZW50X3R5cGVf cHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPiA+ICBpbnQgZHJtX21vZGVfY3Jl YXRlX3N1Z2dlc3RlZF9vZmZzZXRfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZQo+ID4gPiAq ZGV2KTsKPiA+ID4gIAo+ID4gPiAgaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfcGF0aF9wcm9w ZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcgo+ID4gPiAqY29ubmVjdG9yLAo+ID4gPiBkaWZmIC0t Z2l0IGEvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaCBiL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKPiA+ ID4gaW5kZXggOGQ4OWE5YzM3NDhkLi40ZTI2NGM0ZDhhOWIgMTAwNjQ0Cj4gPiA+IC0tLSBhL2lu Y2x1ZGUvZHJtL2RybV9lZGlkLmgKPiA+ID4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaAo+ ID4gPiBAQCAtMzUwLDYgKzM1MCwxMiBAQCBkcm1fbG9hZF9lZGlkX2Zpcm13YXJlKHN0cnVjdCBk cm1fY29ubmVjdG9yCj4gPiA+ICpjb25uZWN0b3IpCj4gPiA+ICB9Cj4gPiA+ICAjZW5kaWYKPiA+ ID4gIAo+ID4gPiArYm9vbAo+ID4gPiArZHJtX2hkbWlfZ2V0X2l0Y19iaXRfZnJvbV9wcm9wZXJ0 eSh1bnNpZ25lZCBpbnQgY29udGVudF90eXBlKTsKPiA+ID4gKwo+ID4gPiArZW51bSBoZG1pX2Nv bnRlbnRfdHlwZQo+ID4gPiArZHJtX2hkbWlfZ2V0X2NvbnRlbnRfdHlwZV9mcm9tX3Byb3BlcnR5 KHVuc2lnbmVkIGludAo+ID4gPiBjb250ZW50X3R5cGUpOwo+ID4gPiArCj4gPiA+ICBpbnQKPiA+ ID4gIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoc3RydWN0IGhkbWlf YXZpX2luZm9mcmFtZQo+ID4gPiAqZnJhbWUsCj4gPiA+ICAJCQkJCSBjb25zdCBzdHJ1Y3QKPiA+ ID4gZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L2RybV9tb2RlX2NvbmZpZy5oCj4gPiA+IGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgK PiA+ID4gaW5kZXggMzNiM2E5NmQ2NmQwLi5mYjQ1ODM5MTc5ZGQgMTAwNjQ0Cj4gPiA+IC0tLSBh L2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4gPiA+ICsrKyBiL2luY2x1ZGUvZHJtL2Ry bV9tb2RlX2NvbmZpZy5oCj4gPiA+IEBAIC03MjYsNiArNzI2LDExIEBAIHN0cnVjdCBkcm1fbW9k ZV9jb25maWcgewo+ID4gPiAgCSAqIEhETUkgaW5mb2ZyYW1lIGFzcGVjdCByYXRpbyBzZXR0aW5n Lgo+ID4gPiAgCSAqLwo+ID4gPiAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKmFzcGVjdF9yYXRpb19w cm9wZXJ0eTsKPiA+ID4gKwkvKioKPiA+ID4gKwkgKiBAY29udGVudF90eXBlX3Byb3BlcnR5OiBP cHRpb25hbCBjb25uZWN0b3IgcHJvcGVydHkgdG8KPiA+ID4gY29udHJvbCB0aGUKPiA+ID4gKwkg KiBIRE1JIGluZm9mcmFtZSBjb250ZW50IHR5cGUgc2V0dGluZy4KPiA+ID4gKwkgKi8KPiA+ID4g KwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpjb250ZW50X3R5cGVfcHJvcGVydHk7Cj4gPiA+ICAJLyoq Cj4gPiA+ICAJICogQGRlZ2FtbWFfbHV0X3Byb3BlcnR5OiBPcHRpb25hbCBDUlRDIHByb3BlcnR5 IHRvIHNldAo+ID4gPiB0aGUgTFVUIHVzZWQgdG8KPiA+ID4gIAkgKiBjb252ZXJ0IHRoZSBmcmFt ZWJ1ZmZlcidzIGNvbG9ycyB0byBsaW5lYXIgZ2FtbWEuCj4gPiA+IGRpZmYgLS1naXQgYS9pbmNs dWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiA+ID4gYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2Rl LmgKPiA+ID4gaW5kZXggNTBiY2Y0MjE0ZmY5Li5jYWQ5ZTA5ZmZhZWUgMTAwNjQ0Cj4gPiA+IC0t LSBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+ID4gPiArKysgYi9pbmNsdWRlL3VhcGkv ZHJtL2RybV9tb2RlLmgKPiA+ID4gQEAgLTk0LDYgKzk0LDEzIEBAIGV4dGVybiAiQyIgewo+ID4g PiAgI2RlZmluZSBEUk1fTU9ERV9QSUNUVVJFX0FTUEVDVF80XzMJCTEKPiA+ID4gICNkZWZpbmUg RFJNX01PREVfUElDVFVSRV9BU1BFQ1RfMTZfOQkJMgo+ID4gPiAgCj4gPiA+ICsvKiBDb250ZW50 IHR5cGUgb3B0aW9ucyAqLwo+ID4gPiArI2RlZmluZSBEUk1fTU9ERV9DT05URU5UX1RZUEVfTk9f REFUQQkJMAo+ID4gPiArI2RlZmluZSBEUk1fTU9ERV9DT05URU5UX1RZUEVfR1JBUEhJQ1MJCTEK PiA+ID4gKyNkZWZpbmUgRFJNX01PREVfQ09OVEVOVF9UWVBFX1BIT1RPCQkyCj4gPiA+ICsjZGVm aW5lIERSTV9NT0RFX0NPTlRFTlRfVFlQRV9DSU5FTUEJCTMKPiA+ID4gKyNkZWZpbmUgRFJNX01P REVfQ09OVEVOVF9UWVBFX0dBTUUJCTQKPiA+ID4gKwo+ID4gPiAgLyogQXNwZWN0IHJhdGlvIGZs YWcgYml0bWFzayAoNCBiaXRzIDIyOjE5KSAqLwo+ID4gPiAgI2RlZmluZSBEUk1fTU9ERV9GTEFH X1BJQ19BUl9NQVNLCQkoMHgwRjw8MTkpCj4gPiA+ICAjZGVmaW5lICBEUk1fTU9ERV9GTEFHX1BJ Q19BUl9OT05FIFwKPiA+ID4gLS0gCj4gPiA+IDIuMTcuMAo+ID4gPiAKPiA+ID4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ID4gSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdAo+ID4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+IGh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4g PiAKPiA+IAo+IC0tIAo+IEJlc3QgUmVnYXJkcywKPiAKPiBMaXNvdnNraXkgU3RhbmlzbGF2Cgot LSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0 cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==