From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v9 35/39] misc/mei/hdcp: Component framework for I915 Interface Date: Mon, 17 Dec 2018 10:59:17 +0100 Message-ID: <20181217095917.GE21184@phenom.ffwll.local> References: <1544673701-6353-1-git-send-email-ramalingam.c@intel.com> <1544673701-6353-36-git-send-email-ramalingam.c@intel.com> <5B8DA87D05A7694D9FA63FD143655C1B9DA5248E@hasmsx108.ger.corp.intel.com> <5B8DA87D05A7694D9FA63FD143655C1B9DA53C91@hasmsx108.ger.corp.intel.com> <20181217093907.GY21184@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20181217093907.GY21184@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Winkler, Tomas" Cc: "Rafael J. Wysocki" , 'Daniel Vetter' , intel-gfx , dri-devel , "Shankar, Uma" , Sean Paul , Greg KH List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBEZWMgMTcsIDIwMTggYXQgMTA6Mzk6MDdBTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBTYXQsIERlYyAxNSwgMjAxOCBhdCAwOToyMDozOFBNICswMDAwLCBXaW5rbGVy LCBUb21hcyB3cm90ZToKPiA+ID4gCj4gPiA+IE9uIFRodSwgRGVjIDEzLCAyMDE4IGF0IDU6Mjcg UE0gV2lua2xlciwgVG9tYXMgPHRvbWFzLndpbmtsZXJAaW50ZWwuY29tPgo+ID4gPiB3cm90ZToK PiA+ID4gPgo+ID4gPiA+ID4gT24gVGh1LCBEZWMgMTMsIDIwMTggYXQgMTozNiBQTSBDLCBSYW1h bGluZ2FtCj4gPiA+ID4gPiA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4KPiA+ID4gPiA+IHdyb3Rl Ogo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBUb21hcyBhbmQgRGFuaWVsLAo+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gPiBXZSBnb3QgYW4gaXNzdWUgaGVyZS4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4g VGhlIHJlbGF0aW9uc2hpcCB0aGF0IHdlIHRyeSB0byBidWlsZCBiZXR3ZWVuIEk5MTUgYW5kIG1l aV9oZGNwIGlzIGFzCj4gPiA+IGZvbGxvd3M6Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IFdlIGFy ZSB1c2luZyB0aGUgY29tcG9uZW50cyB0byBlc3RhYmxpc2ggdGhlIHJlbGF0aW9uc2hpcC4KPiA+ ID4gPiA+ID4gSTkxNSBpcyBjb21wb25lbnQgbWFzdGVyIHdoZXJlIGFzIG1laV9oZGNwIGlzIGNv bXBvbmVudC4KPiA+ID4gPiA+ID4gSTkxNSBhZGRzIHRoZSBjb21wb25lbnQgbWFzdGVyIGR1cmlu ZyB0aGUgbW9kdWxlIGxvYWQuIG1laV9oZGNwCj4gPiA+ID4gPiA+IGFkZHMgdGhlCj4gPiA+ID4g PiBjb21wb25lbnQgd2hlbiB0aGUgZHJpdmVyLT5wcm9iZSBpcyBjYWxsZWQgKG9uIGRldmljZSBk cml2ZXIgYmluZGluZykuCj4gPiA+ID4gPiA+IEk5MTUgZm9yY2VzIGl0c2VsZiBzdWNoIHRoYXQg dW50aWwgbWVpX2hkY3AgY29tcG9uZW50IGlzIGFkZGVkCj4gPiA+ID4gPiA+IEk5MTVfbG9hZAo+ ID4gPiA+ID4gd29udCBiZSBjb21wbGV0ZS4KPiA+ID4gPiA+ID4gU2ltaWxhcmx5IG9uIGNvbXBs ZXRlIHN5c3RlbSwgaWYgbWVpX2hkY3AgY29tcG9uZW50IGlzIHJlbW92ZWQsCj4gPiA+ID4gPiBp bW1lZGlhdGVseSBJOTE1IHVucmVnaXN0ZXIgaXRzZWxmIGFuZCBIVyB3aWxsIGJlIHNodXRkb3du Lgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBUaGlzIGlzIGNvbXBsZXRlbHkgZmluZSB3aGVuIHRo ZSBtb2R1bGVzIGFyZSBsb2FkZWQgYW5kIHVubG9hZGVkLgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4g PiBCdXQgZHVyaW5nIHN1c3BlbmQsIG1laSBkZXZpY2UgZGlzYXBwZWFycyBhbmQgbWVpIGJ1cyBo YW5kbGVzIGl0Cj4gPiA+ID4gPiA+IGJ5Cj4gPiA+ID4gPiB1bmJpbmRpbmcgZGV2aWNlIGFuZCBk cml2ZXIgYnkgY2FsbGluZyBkcml2ZXItPnJlbW92ZS4KPiA+ID4gPiA+ID4gVGhpcyBpbi10dXJu IHJlbW92ZXMgdGhlIGNvbXBvbmVudCBhbmQgdHJpZ2dlcnMgdGhlIG1hc3RlciB1bmJpbmQKPiA+ ID4gPiA+ID4gb2YgSTkxNQo+ID4gPiA+ID4gd2hlcmUsIEk5MTUgdW5yZWdpc3RlciBpdHNlbGYu Cj4gPiA+ID4gPiA+IFRoaXMgY2F1c2UgdGhlIEhXIHN0YXRlIG1pc21hdGNoIGR1cmluZyB0aGUg c3VzcGVuZCBhbmQgcmVzdW1lLgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBQbGVhc2UgY2hlY2sg dGhlIHBvd2Vyd2VsbCBtaXNtYXRjaCBlcnJvcnMgYXQgQ0kgcmVwb3J0IGZvciB2OQo+ID4gPiA+ ID4gPiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL1RyeWJvdF8zNDEy L2ZpLWdsay1qNDAwNS8KPiA+ID4gPiA+ID4gaWd0QAo+ID4gPiA+ID4gPiBnZW1fZXhlY19zdXNw ZW5kQGJhc2ljLXMzLmh0bWwKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gTW9yZSBvdmVyIHVucmVn aXN0ZXJpbmcgSTkxNSBkdXJpbmcgdGhlIHN1c3BlbmQgaXMgbm90IGV4cGVjdGVkLgo+ID4gPiA+ ID4gPiBTbyBob3cgZG8KPiA+ID4gPiA+IHdlIGhhbmRsZSB0aGlzPwo+ID4gPiA+ID4KPiA+ID4g PiA+IEJpdCBtb3JlIGNvbnRleHQgZnJvbSBvdXIgaXJjIGRpc2N1c3Npb24gd2l0aCBSYW06Cj4g PiA+ID4gPgo+ID4gPiA+ID4gSSBmb3VuZCB0aGlzIHZlcnkgc3VycHJpc2luZywgc2luY2UgSSBk b24ndCBrbm93IG9mIGFueSBvdGhlcgo+ID4gPiA+ID4gc3Vic3lzdGVtcyB3aGVyZSB0aGUgZGV2 aWNlcyBnZXQgb3V0cmlnaHQgcmVtb3ZlZCB3aGVuIGdvaW5nIHRocm91Z2ggYQo+ID4gPiBzdXNw ZW5kL3Jlc3VtZSBjeWNsZS4KPiA+ID4gPiA+IFRoZSBkZXZpY2UgbW9kZWwgd2FzIGJ1aWx0IHRv IGhhbmRsZSB0aGlzIHN0dWZmCj4gPiA+ID4gPiBjb3JyZWN0bHk6IEZpcnN0IGNsaWVudHMvZGV2 aWNlcy9pbnRlcmZhY2VzIGdldCBzdXNwZW5kLCB0aGVuIHRoZQo+ID4gPiA+ID4gcGFyZW50L2Jy aWRnZS9idXMuIFNhbWUgZGFuY2UgaW4gcmV2ZXJzZSB3aGVuIHJlc3VtaW5nLiBUaGlzIGV2ZW4K PiA+ID4gPiA+IGhvbGRzIGZvciBsb3RzIG9mIGhvdHBsdWdnYWJsZSBidXNlcywgd2hlcmUgY2hp bGQgZGV2aWNlcyBjb3VsZAo+ID4gPiA+ID4gaW5kZWVkIGRpc2FwcGVhciBvbiByZXN1bWUsIGJ1 dCBhcyBsb25nIGFzIHRoZXkgZG9uJ3QsIGV2ZXJ5dGhpbmcKPiA+ID4gPiA+IHN0YXlzIHRoZSBz YW1lLiBJdCdzIHJlYWxseSBzdXJwcmlzaW5nIGZvciBzb21ldGhpbmcgdGhhdCdzIHNvbGRlcmVk IG9udG8gdGhlCj4gPiA+IGJvYXJkIGxpa2UgTUUuCj4gPiA+ID4KPiA+ID4gPiBIRENQIGlzIGFu IGFwcGxpY2F0aW9uIGluIHRoZSBNRSBpdCdzIG5vdCBNRSBpdHNlbGYuLiAgT24gdGhlIGxpbnV4 Cj4gPiA+ID4gc2lkZSBIRENQMiBpcyBhIHZpcnR1YWwgZGV2aWNlICBvbiBtZWkgY2xpZW50IHZp cnR1YWwgYnVzLCB0aGUgYnVzICBpcyB0ZWFyZWQKPiA+ID4gZG93biBvbiBNRSByZXNldCwgd2hp Y2ggbW9zdGx5IGhhcHBlbiAgb24gcG93ZXIgdHJhbnNpdGlvbnMuCj4gPiA+ID4gVGhlb3JldGlj YWxseSwgIHdlIGNvdWxkIGtlZXAgaXQgdXAgZHVyaW5nIHBvd2VyIHRyYW5zaXRpb25zLCBidXQg c28KPiA+ID4gPiBmYXJlIGl0IHdhcyBub3QgbmVjZXNzYXJ5IGFuZCBzZWNvbmQgaXQncyBub3Qg Z3VhcmFudGllIHRoYXQgdGhlIGFsbCBNRQo+ID4gPiBhcHBsaWNhdGlvbnMgd2lsbCByZWFwcGVh ciBhZnRlciByZXNldC4KPiA+ID4gCj4gPiA+IFdoZW4gZG9lcyB0aGlzIGhhcHBlbiB0aGF0IGFu IE1FIGFwcGxpY2F0aW9uIGRvZXNuJ3QgY29tZSBiYWNrIGFmdGVyIGUuZy4KPiA+ID4gc3VzcGVu ZC9yZXN1bWU/Cj4gPiBObywgdGhpcyBjYW4gaGFwcGVuIGluIHNwZWNpYWwgZmxvd3Mgc3VjaCBh cyAgZncgdXBkYXRlcyBhbmQgZXJyb3IgY29uZGl0aW9ucywgYnV0IGlzIGhhcyB0byBiZSBzdXBw b3J0ZWQgYXMgd2VsbC4gCj4gPiAgCj4gPiA+IAo+ID4gPiBBbHNvLCB3aGF0J3MgYWxsIHRoZSBw bGFjZSB3aGVyZSB0aGlzIHJlc2V0IGNhbiBoYXBwZW4/IEp1c3QKPiA+ID4gc3VzcGVuZC9yZXN1 bWUvaGliZXJuYXRlIGFuZCBhbGwgdGhlc2UsIG9yIGFsc28gYXQgb3RoZXIgdGltZXM/Cj4gPiAK PiA+IEFsc28gb24gZXJyb3JzIGFuZCBmdyB1cGRhdGUsICB0aGUgYmFzaWMgYXNzdW1wdGlvbiBp cyBoZXJlIHRoYXQgaXQgY2FuIGhhcHBlbiBhbnkgdGltZS4gCj4gCj4gSWYgdGhpcyBjYW4gaGFw cGVuIGFueSB0aW1lLCB3aGF0IGFyZSB3ZSBzdXBwb3NlZCB0byBkbyBpZiB0aGlzIGhhcHBlbnMK PiB3aGlsZSB3ZSdyZSBkb2luZyBzb21ldGhpbmcgd2l0aCB0aGUgaGRjcCBtZWk/IElmIHRoaXMg aXMgc3VjaCBhIGNvbW1vbgo+IG9jY3VyZW5jZSBJIGd1ZXNzIHdlIG5lZWQgdG8gc29tZWhvdyB3 YWl0IHVudGlsIGV2ZXJ5dGluZyBpcyByZWJvdW5kIGFuZAo+IHdvcmtpbmcgYWdhaW4uIEkgdGhp bmsgaWRlYWxseSBtZWkgY29yZSB3b3VsZCBoYW5kbGUgdGhhdCBmb3IgdXMsIGJ1dCBJCj4gZ3Vl c3MgaWYgdGhpcyBqdXN0IHJhbmRvbWx5IGhhcHBlbnMgdGhlbiB3ZSBuZWVkIHRvIHJlZG8gYWxs IHRoZQo+IHRyYW5zYWN0aW9ucy4gU28gZG9lcyBuZWVkIHNvbWUgaW52b2x2ZW1lbnQgb2YgdGhl IGhpZ2hlciBsZXZlbHMuCgpGZXcgbW9yZSBxdWVzdGlvbnMgb24gdGhpcywgYmV5b25kIHRoZSBv bmVzIGluIHRoZSBwcmV2aW91cyBtYWlsLgoKU28gZ2VuZXJhbGx5IGRyaXZlcnMgZG9uJ3Qgc3Vw cG9ydCB1cGdyYWRpbmcgdGhlIGZ3IGF0IHJ1bnRpbWUsIGJ1dCBvbmx5Cmxvb2sgb25jZSBmb3Ig dXBncmFkZWQgZncgb24gZHJpdmVyIGxvYWQgKGJlZm9yZSBhbnlvbmUgaXMgdXNpbmcgaXMpLgpX aGF0J3MgdGhlIHVzZS1jYXNlIHRoYXQgcmVxdWlyZXMgdGhpcy4KCkknbSBhbHNvIHJhdGhlciB3 b3JyaWVkIGFib3V0ICJ0aGlzIGNhbiBoYXBwZW4gYW55IHRpbWUiLiBJcyBNRSBmdyBzbwp1bnN0 YWJsZSBpdCBqdXN0IHJhbmRvbWx5IGNyYXNoZXMgZm9yIG5vIGdvb2QgcmVhc29uIGF0IGFsbCwg dGFraW5nIG91cgpoZGNwIHNlc3Npb24gd2l0aCBpdD8gT3IgaXMgdGhpcyBtb3JlIGxpa2UgImNv c21pYyByYXlzIGNhbiBoYXBwZW4iIGtpbmQKb2YgcHJvYmxlbSAod2hpY2ggd2UgZG9uJ3QgY2Fy ZSBhYm91dCk/Cgo+IAo+IEFsc28sIGhvdyBsaWtlbHkgaXMgaXQgdGhhdCB0aGUgaGRjcCBtZWkg d2lsbCBvdXRyaWdodCBkaXNhcHBlYXIgYW5kIG5vdAo+IGNvbWUgYmFjayBhZnRlciBhIHJlc2V0 Pwo+IAo+ID4gPiBIb3cgZG9lcyB1c2Vyc3BhY2UgZGVhbCB3aXRoIHRoZSByZXNldCBvdmVyIHMv cj8gSSdtIGFzc3VtaW5nIHRoYXQgYXQgbGVhc3QgdGhlCj4gPiA+IGRldmljZSBub2RlIGZpbGUg d2lsbCBiZWNvbWUgaW52YWxpZCAob3Igd2hhdGV2ZXIgeW91J3JlIHVzaW5nIGFzIHVzZXJzcGFj ZQo+ID4gPiBhcGkpLCBzbyBpZiB1c2Vyc3BhY2UgaXMgYWNjZXNzaW5nIHN0dWZmIG9uIHRoZSBt ZSBhdCB0aGUgc2FtZSB0aW1lIGFzIHdlIGRvIGEKPiA+ID4gc3VzcGVuZC9yZXN1bWUsIHdoYXQg aGFwcGVucz8KPiAKPiBBbHNvLCBhbnN3ZXIgdG8gaG93IG90aGVyIHVzZXJzIGhhbmRsZSB0aGlz IHdvdWxkIGJlIGVubGlnaHRpbmcuCj4gCj4gPiA+ID4gPiBBc2lkZTogV2UnbGwgcHJvYmFibHkg bmVlZCBhIGRldmljZV9saW5rIHRvIG1ha2Ugc3VyZSBtZWlfaGRjcCBpcwo+ID4gPiA+ID4gZnVs bHkgcmVzdW1lZCBiZWZvcmUgaTkxNSBnZXRzIHJlc3VtZWQsIGJ1dCB0aGF0J3Mga2luZGEgYSBk ZXRhaWwgZm9yIGxhdGVyCj4gPiA+IG9uLgo+ID4gPiA+Cj4gPiA+ID4gRnJhbmtseSBJIGRvbuKA mXQgYmVsaWV2ZSB0aGVyZSBpcyBjdXJyZW50bHkgZXhhY3QgYWJzdHJhY3Rpb24gdGhhdAo+ID4g PiA+IHN1cHBvcnRzIHRoaXMgbW9kZWwsIG5laXRoZXIgY29tcG9uZW50cyBub3IgZGV2aWNlX2xp bmsgLgo+ID4gPiA+IFNvIGZhcmUgd2UgdXNlZCBjbGFzcyBpbnRlcmZhY2UgZm9yIG90aGVyIHB1 cnBvc2VzLCBpdCB3b3JrZWQgd2VsbC4KPiA+ID4gCj4gPiA+IEknbSBub3QgY2xlYXIgb24gd2hh dCBjbGFzcyBpbnRlcmZhY2UgaGFzIHRvIGRvIHdpdGggY29tcG9uZW50IG9yIGRldmljZSBsaW5r Lgo+ID4gPiBUaGV5IGFsbCBzb2x2ZSBkaWZmZXJlbnQgcHJvYmxlbXMsIGF0IGxlYXN0IGFzIGZh ciBhcyBJIHVuZGVyc3RhbmQgYWxsIHRoaXMgc3R1ZmYgLi4uCj4gPiA+IC1EYW5pZWwKPiA+IAo+ ID4gSXQgY29tZXMgaW5zdGVhZCBvZiBpdCwgZGV2aWNlX2xpbmsgaXMgbW9zdGx5IHVzZWQgZm9y IHBvd2VyIG1hbmFnZW1lbnQgYW5kIGNvbXBvbmVudCBhcyB3ZSBzZWUga25vdyBpcyBub3Qgd2hh dCB3ZSBuZWVkIGFzIEhEQ1AgCj4gPiBJcyBhIGIgaXQgdm9saXRsZS4gCj4gPiBjbGFzc19pbnRl cmZhY2UgIGdpdmVzIHlvdSB0d28gaGFuZGxlcnM6IGFkZCBhbmQgcmVtb3ZlIGRldmljZSwgdGhh dCdzIGFsbCB3aGF0IGlzIG5lZWRlZCBmb3IgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24uIAo+ IAo+IFdlbGwgc29tZW9uZSBuZWVkcyB0byBoYW5kbGUgdGhlIHZvbGF0aWxpdHkgb2YgaGRjcCwg YW5kIGF0bSB3ZSBzZWVtIHRvIGJlCj4gcGxheWluZyBhIGdhbWUgb2YgcGFzcyB0aGUgYnVja2V0 LiBJIHN0aWxsIHRoaW5rIHRoYXQgbWVpX2hkY3Agc2hvdWxkCj4gc3VwcGx5IGEgY2xlYW4gaW50 ZXJmYWNlIHRvIGk5MTUsIHdpdGggYWxsIHRoZSByZXNldCBtYWRuZXNzIGhhbmRsZWQKPiBpbnRl cm5hbGx5LiBCdXQgZGVwZW5kaW5nIHVwb24gaG93IGJhZGx5IHRoaXMgYWxsIGxlYWtzIHdlIG1p Z2h0IG5lZWQgdG8KPiBoYXZlIGEgcmV0cnkgbG9naWMgaW4gdGhlIGk5MTUgaGRjcCBmbG93IHRv by4KPiAKPiBkZXZpY2UgbGlua2Ugd2UnbGwgcHJvYmFibHkgbmVlZCBhbnl3YXksIHNpbmNlIGk5 MTUgcmVzdW1pbmcgd2hlbiBoZGNwIGlzCj4gbm90IHlldCB1cCBpcyBub3QgYSBnb29kIGlkZWEg bm8gbWF0dGVyIHdoYXQncyBnb8Oubmcgb24uCgpDaGVlcnMsIERhbmllbAoKPiAtRGFuaWVsCj4g Cj4gPiA+IAo+ID4gPiA+ID4gVG9tYXMsIGNhbiB5b3UgcGxzIGV4cGxhaW4gd2h5IG1laSBpcyBk ZXNpZ25lZCBsaWtlIHRoaXM/IE9yIGlzCj4gPiA+ID4gPiB0aGVyZSBzb21ldGhpbmcgZWxzZSB3 ZSdyZSBtaXNzaW5nIChJIGRpZG4ndCBkaWcgdGhyb3VnaCB0aGUgbWVpIGJ1cwo+ID4gPiA+ID4g aW4gZGV0YWlsIGF0IGFsbCwgc28gbm90IGNsZWFyIG9uIHdoYXQgZXhhY3RseSBpcyBnb2luZyBv biB0aGVyZSkuCj4gPiA+ID4gQWJvdmUuCj4gPiA+ID4gPgo+ID4gPiA+ID4gQWxzbyBwdWxsaW5n IGluIGRldmljZSBtb2RlbCBhbmQgc3VzcGVuZC9yZXN1bWUgZXhwZXJ0cy4KPiA+ID4gPiA+Cj4g PiA+ID4gPiBUaGFua3MsIERhbmllbAo+ID4gPiA+ID4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4g LVJhbQo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBPbiAxMi8xMy8yMDE4IDk6MzEgQU0sIFJhbWFs aW5nYW0gQyB3cm90ZToKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gTWVpIGhkY3AgZHJpdmVyIGlz IGRlc2lnbmVkIGFzIGNvbXBvbmVudCBzbGF2ZSBmb3IgdGhlIEk5MTUKPiA+ID4gPiA+ID4gY29t cG9uZW50IG1hc3Rlci4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gdjI6IFJlYmFzZWQuCj4gPiA+ ID4gPiA+IHYzOgo+ID4gPiA+ID4gPiAgIE5vdGlmaWVyIGNoYWluIGlzIGFkb3B0ZWQgZm9yIGNs ZGV2IHN0YXRlIHVwZGF0ZSBbVG9tYXNdCj4gPiA+ID4gPiA+IHY0Ogo+ID4gPiA+ID4gPiAgIE1h ZGUgc3RhdGljIGR1bW15IGZ1bmN0aW9ucyBhcyBpbmxpbmUgaW4gbWVpX2hkY3AuaAo+ID4gPiA+ ID4gPiAgIEFQSSBmb3IgcG9sbGluZyBjbGllbnQgZGV2aWNlIHN0YXR1cwo+ID4gPiA+ID4gPiAg IElTX0VOQUJMRUQgdXNlZCBpbiBoZWFkZXIsIGZvciBjb25maWcgc3RhdHVzIGZvciBtZWlfaGRj cC4KPiA+ID4gPiA+ID4gdjU6Cj4gPiA+ID4gPiA+ICAgUmVwbGFjaW5nIHRoZSBub3RpZmllciB3 aXRoIGNvbXBvbmVudCBmcmFtZXdvcmsuIFtEYW5pZWxdCj4gPiA+ID4gPiA+IHY2Ogo+ID4gPiA+ ID4gPiAgIFJlYmFzZWQgb24gdGhlIEk5MTUgY29tcCBtYXN0ZXIgcmVkZXNpZ24uCj4gPiA+ID4g PiA+IHY3Ogo+ID4gPiA+ID4gPiAgIG1laV9oZGNwX2NvbXBvbmVudF9yZWdpc3RlcmVkIGlzIG1h ZGUgc3RhdGljIFtVbWFdCj4gPiA+ID4gPiA+ICAgTmVlZCBmb3IgZ2xvYmFsIHN0YXRpYyB2YXJp YWJsZSBtZWlfY2xkZXYgaXMgcmVtb3ZlZC4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gU2lnbmVk LW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgo+ID4gPiA+ID4g PiBSZXZpZXdlZC1ieTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4KPiA+ID4g PiA+ID4gLS0tCj4gPiA+ID4gPiA+ICBkcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3AuYyB8 IDY3Cj4gPiA+ID4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0K PiA+ID4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9u cygtKQo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL21l aS9oZGNwL21laV9oZGNwLmMKPiA+ID4gPiA+ID4gYi9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVp X2hkY3AuYwo+ID4gPiA+ID4gPiBpbmRleCBiMjJhNzFlOGM1ZDcuLjNkZTE3MDBkY2M5ZiAxMDA2 NDQKPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9taXNjL21laS9oZGNwL21laV9oZGNwLmMKPiA+ ID4gPiA+ID4gKysrIGIvZHJpdmVycy9taXNjL21laS9oZGNwL21laV9oZGNwLmMKPiA+ID4gPiA+ ID4gQEAgLTIzLDExICsyMywxNCBAQAo+ID4gPiA+ID4gPiAgI2luY2x1ZGUgPGxpbnV4L3NsYWIu aD4KPiA+ID4gPiA+ID4gICNpbmNsdWRlIDxsaW51eC91dWlkLmg+Cj4gPiA+ID4gPiA+ICAjaW5j bHVkZSA8bGludXgvbWVpX2NsX2J1cy5oPgo+ID4gPiA+ID4gPiArI2luY2x1ZGUgPGxpbnV4L2Nv bXBvbmVudC5oPgo+ID4gPiA+ID4gPiAgI2luY2x1ZGUgPGRybS9kcm1fY29ubmVjdG9yLmg+Cj4g PiA+ID4gPiA+ICAjaW5jbHVkZSA8ZHJtL2k5MTVfY29tcG9uZW50Lmg+Cj4gPiA+ID4gPiA+Cj4g PiA+ID4gPiA+ICAjaW5jbHVkZSAibWVpX2hkY3AuaCIKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4g K3N0YXRpYyBib29sIG1laV9oZGNwX2NvbXBvbmVudF9yZWdpc3RlcmVkOwo+ID4gPiA+ID4gPiAr Cj4gPiA+ID4gPiA+ICAvKioKPiA+ID4gPiA+ID4gICAqIG1laV9pbml0aWF0ZV9oZGNwMl9zZXNz aW9uKCkgLSBJbml0aWF0ZSBhIFdpcmVkIEhEQ1AyLjIgVHgKPiA+ID4gPiA+ID4gU2Vzc2lvbiBp biBNRQo+ID4gPiA+ID4gRlcKPiA+ID4gPiA+ID4gICAqIEBkZXY6IGRldmljZSBjb3JyZXNwb25k aW5nIHRvIHRoZSBtZWlfY2xfZGV2aWNlIEBAIC02OTEsOAo+ID4gPiA+ID4gPiArNjk0LDcgQEAg bWVpX2Nsb3NlX2hkY3Bfc2Vzc2lvbihzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdAo+ID4gPiA+ ID4gPiBoZGNwX3BvcnRfZGF0YQo+ID4gPiA+ID4gKmRhdGEpCj4gPiA+ID4gPiA+ICAgcmV0dXJu IDA7Cj4gPiA+ID4gPiA+ICB9Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IC1zdGF0aWMgX19hdHRy aWJ1dGVfXygodW51c2VkKSkKPiA+ID4gPiA+ID4gLXN0cnVjdCBpOTE1X2hkY3BfY29tcG9uZW50 X29wcyBtZWlfaGRjcF9vcHMgPSB7Cj4gPiA+ID4gPiA+ICtzdGF0aWMgc3RydWN0IGk5MTVfaGRj cF9jb21wb25lbnRfb3BzIG1laV9oZGNwX29wcyA9IHsKPiA+ID4gPiA+ID4gICAub3duZXIgPSBU SElTX01PRFVMRSwKPiA+ID4gPiA+ID4gICAuaW5pdGlhdGVfaGRjcDJfc2Vzc2lvbiA9IG1laV9p bml0aWF0ZV9oZGNwMl9zZXNzaW9uLAo+ID4gPiA+ID4gPiAgIC52ZXJpZnlfcmVjZWl2ZXJfY2Vy dF9wcmVwYXJlX2ttID0KPiA+ID4gPiA+ID4gbWVpX3ZlcmlmeV9yZWNlaXZlcl9jZXJ0X3ByZXBh cmVfa20sCj4gPiA+ID4gPiA+IEBAIC03MDcsMjAgKzcwOSw3NyBAQCBzdHJ1Y3QgaTkxNV9oZGNw X2NvbXBvbmVudF9vcHMKPiA+ID4gbWVpX2hkY3Bfb3BzCj4gPiA+ID4gPiA+ID0KPiA+ID4gPiA+ IHsKPiA+ID4gPiA+ID4gICAuY2xvc2VfaGRjcF9zZXNzaW9uID0gbWVpX2Nsb3NlX2hkY3Bfc2Vz c2lvbiwgIH07Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ICtzdGF0aWMgaW50IG1laV9oZGNwX2Nv bXBvbmVudF9iaW5kKHN0cnVjdCBkZXZpY2UgKm1laV9rZGV2LAo+ID4gPiA+ID4gPiArICAgc3Ry dWN0IGRldmljZSAqaTkxNV9rZGV2LCB2b2lkICpkYXRhKSB7ICBzdHJ1Y3QKPiA+ID4gPiA+ID4g K2k5MTVfY29tcG9uZW50X21hc3RlciAqbWFzdGVyX2NvbXAgPSBkYXRhOwo+ID4gPiA+ID4gPiAr Cj4gPiA+ID4gPiA+ICsgZGV2X2luZm8obWVpX2tkZXYsICJNRUkgSERDUCBjb21wIGJpbmRcbiIp Owo+ID4gPiA+ID4gPiArIFdBUk5fT04obWFzdGVyX2NvbXAtPmhkY3Bfb3BzKTsgbWFzdGVyX2Nv bXAtPmhkY3Bfb3BzID0KPiA+ID4gPiA+ID4gKyAmbWVpX2hkY3Bfb3BzOyBtYXN0ZXJfY29tcC0+ bWVpX2RldiA9IG1laV9rZGV2Owo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsgcmV0dXJuIDA7 Cj4gPiA+ID4gPiA+ICt9Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gK3N0YXRpYyB2b2lkIG1l aV9oZGNwX2NvbXBvbmVudF91bmJpbmQoc3RydWN0IGRldmljZSAqbWVpX2tkZXYsCj4gPiA+ID4g PiA+ICsgICAgICBzdHJ1Y3QgZGV2aWNlICppOTE1X2tkZXYsIHZvaWQgKmRhdGEpIHsgIHN0cnVj dAo+ID4gPiA+ID4gPiAraTkxNV9jb21wb25lbnRfbWFzdGVyICptYXN0ZXJfY29tcCA9IGRhdGE7 Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKyBkZXZfaW5mbyhtZWlfa2RldiwgIk1FSSBIRENQ IGNvbXAgdW5iaW5kXG4iKTsKPiA+ID4gPiA+ID4gK21hc3Rlcl9jb21wLT5oZGNwX29wcyA9IE5V TEw7ICBtYXN0ZXJfY29tcC0+bWVpX2RldiA9IE5VTEw7IH0KPiA+ID4gPiA+ID4gKwo+ID4gPiA+ ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfb3BzIG1laV9oZGNwX2NvbXBvbmVu dF9iaW5kX29wcyA9IHsKPiA+ID4gPiA+ID4gKy5iaW5kID0gbWVpX2hkY3BfY29tcG9uZW50X2Jp bmQsICAudW5iaW5kID0KPiA+ID4gPiA+ID4gK21laV9oZGNwX2NvbXBvbmVudF91bmJpbmQsIH07 Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gK3N0YXRpYyB2b2lkIG1laV9oZGNwX2NvbXBvbmVu dF9pbml0KHN0cnVjdCBkZXZpY2UgKmRldikgeyAgaW50Cj4gPiA+ID4gPiA+ICtyZXQ7Cj4gPiA+ ID4gPiA+ICsKPiA+ID4gPiA+ID4gKyBkZXZfaW5mbyhkZXYsICJNRUkgSERDUCBjb21wIGluaXRc biIpOyByZXQgPSBjb21wb25lbnRfYWRkKGRldiwKPiA+ID4gPiA+ID4gKyAmbWVpX2hkY3BfY29t cG9uZW50X2JpbmRfb3BzKTsgaWYgKHJldCA8IDApIHsgZGV2X2VycihkZXYsCj4gPiA+ID4gPiA+ ICsgIkZhaWxlZCB0byBhZGQgTUVJIEhEQ1AgY29tcCAoJWQpXG4iLCByZXQpOyByZXR1cm47IH0K PiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArIG1laV9oZGNwX2NvbXBvbmVudF9yZWdpc3RlcmVk ID0gdHJ1ZTsgfQo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICtzdGF0aWMgdm9pZCBtZWlfaGRj cF9jb21wb25lbnRfY2xlYW51cChzdHJ1Y3QgZGV2aWNlICpkZXYpIHsgIGlmCj4gPiA+ID4gPiA+ ICsoIW1laV9oZGNwX2NvbXBvbmVudF9yZWdpc3RlcmVkKSAgcmV0dXJuOwo+ID4gPiA+ID4gPiAr Cj4gPiA+ID4gPiA+ICsgZGV2X2luZm8oZGV2LCAiTUVJIEhEQ1AgY29tcCBjbGVhbnVwXG4iKTsg IGNvbXBvbmVudF9kZWwoZGV2LAo+ID4gPiA+ID4gPiArJm1laV9oZGNwX2NvbXBvbmVudF9iaW5k X29wcyk7ICBtZWlfaGRjcF9jb21wb25lbnRfcmVnaXN0ZXJlZCA9Cj4gPiA+ID4gPiA+ICtmYWxz ZTsgfQo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICBzdGF0aWMgaW50IG1laV9oZGNwX3Byb2Jl KHN0cnVjdCBtZWlfY2xfZGV2aWNlICpjbGRldiwKPiA+ID4gPiA+ID4gICAgY29uc3Qgc3RydWN0 IG1laV9jbF9kZXZpY2VfaWQgKmlkKSAgewo+ID4gPiA+ID4gPiAgIGludCByZXQ7Cj4gPiA+ID4g PiA+Cj4gPiA+ID4gPiA+ICAgcmV0ID0gbWVpX2NsZGV2X2VuYWJsZShjbGRldik7Cj4gPiA+ID4g PiA+IC0gaWYgKHJldCA8IDApCj4gPiA+ID4gPiA+ICsgaWYgKHJldCA8IDApIHsKPiA+ID4gPiA+ ID4gICBkZXZfZXJyKCZjbGRldi0+ZGV2LCAibWVpX2NsZGV2X2VuYWJsZSBGYWlsZWQuICVkXG4i LCByZXQpOwo+ID4gPiA+ID4gPiArIHJldHVybiByZXQ7Cj4gPiA+ID4gPiA+ICsgfQo+ID4gPiA+ ID4gPiArIG1laV9oZGNwX2NvbXBvbmVudF9pbml0KCZjbGRldi0+ZGV2KTsKPiA+ID4gPiA+ID4K PiA+ID4gPiA+ID4gLSByZXR1cm4gcmV0Owo+ID4gPiA+ID4gPiArIHJldHVybiAwOwo+ID4gPiA+ ID4gPiAgfQo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiAgc3RhdGljIGludCBtZWlfaGRjcF9yZW1v dmUoc3RydWN0IG1laV9jbF9kZXZpY2UgKmNsZGV2KSAgewo+ID4gPiA+ID4gPiArIG1laV9oZGNw X2NvbXBvbmVudF9jbGVhbnVwKCZjbGRldi0+ZGV2KTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4g PiAgIHJldHVybiBtZWlfY2xkZXZfZGlzYWJsZShjbGRldik7ICB9Cj4gPiA+ID4gPiA+Cj4gPiA+ ID4gPgo+ID4gPiA+ID4KPiA+ID4gPiA+Cj4gPiA+ID4gPiAtLQo+ID4gPiA+ID4gRGFuaWVsIFZl dHRlcgo+ID4gPiA+ID4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gPiA+ ID4gPiArNDEgKDApIDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNoCj4gPiA+IAo+ ID4gPiAKPiA+ID4gCj4gPiA+IC0tCj4gPiA+IERhbmllbCBWZXR0ZXIKPiA+ID4gU29mdHdhcmUg RW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gPiA+ICs0MSAoMCkgNzkgMzY1IDU3IDQ4IC0g aHR0cDovL2Jsb2cuZmZ3bGwuY2gKPiAKPiAtLSAKPiBEYW5pZWwgVmV0dGVyCj4gU29mdHdhcmUg RW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKCi0tIApE YW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8v YmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK