From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: Armada DRM: bridge with componentized devices Date: Wed, 16 Jan 2019 19:42:45 +0100 Message-ID: References: <20190108132150.GT11171@n2100.armlinux.org.uk> <515889972.533tA6DaoZ@aspire.rjw.lan> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <515889972.533tA6DaoZ@aspire.rjw.lan> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Rafael J. Wysocki" , Linus Walleij , Thierry Reding , Laurent Pinchart , Sean Paul , "Sarvela, Tomi P" Cc: Lubomir Rintel , Greg Kroah-Hartman , Linux PM , Liviu Dudau , Russell King - ARM Linux , DRI Development , Peter Rosin List-Id: linux-pm@vger.kernel.org T24gVHVlLCBKYW4gMTUsIDIwMTkgYXQgMTE6NDcgUE0gUmFmYWVsIEouIFd5c29ja2kgPHJqd0By and5c29ja2kubmV0PiB3cm90ZToKPgo+IFtDQyBHcmVnXQo+Cj4gT24gVHVlc2RheSwgSmFudWFy eSAxNSwgMjAxOSAxOjA0OjAyIEFNIENFVCBSYWZhZWwgSi4gV3lzb2NraSB3cm90ZToKPiA+IFtD QyBMdWthcyBhbmQgbGludXgtcG1dCj4gPgo+ID4gT24gTW9uLCBKYW4gMTQsIDIwMTkgYXQgMToz MiBQTSBSYWZhZWwgSi4gV3lzb2NraSA8cmFmYWVsQGtlcm5lbC5vcmc+IHdyb3RlOgo+ID4gPgo+ ID4gPiBPbiBGcmksIEphbiAxMSwgMjAxOSBhdCAzOjQ5IFBNIFJ1c3NlbGwgS2luZyAtIEFSTSBM aW51eAo+ID4gPiA8bGludXhAYXJtbGludXgub3JnLnVrPiB3cm90ZToKPiA+Cj4gPiBbY3V0XQo+ ID4KPiA+ID4gPgo+ID4gPiA+IFRoaXMgdGhyZWFkIGlzIGRpc2N1c3NpbmcgaG93IHRvIGRlYWwg d2l0aCBBcm1hZGEgRFJNLCBpdHMgdXNlIG9mIHRoZQo+ID4gPiA+IGNvbXBvbmVudCBoZWxwZXIs IFREQTk5OHgncyBoeWJyaWQgdXNlIG9mIHRoZSBjb21wb25lbnQgaGVscGVyIGFuZAo+ID4gPiA+ IERSTSBicmlkZ2VzLgo+ID4gPiA+Cj4gPiA+ID4gQ3VycmVudGx5LCBEUk0gYnJpZGdlcyByZWdp c3RlciBpbnRvIHRoZSBEUk0gc3lzdGVtIGFuZCBhcmUgYWRkZWQgdG8KPiA+ID4gPiBhIGdsb2Jh bCBsaXN0IG9mIGJyaWRnZXMuICBXaGVuIGEgRFJNIGRyaXZlciBiaW5kcywgaXQgbG9va3MgdXAg dGhlCj4gPiA+ID4gRFJNIGJyaWRnZSBhbmQgYXR0YWNoZXMgdG8gaXQuICBUaGVyZSBpcyBubyB3 YXkgaW4gZ2VuZXJpYyBEUk0gY29kZQo+ID4gPiA+IGZvciB0aGUgRFJNIGRyaXZlciB0byBrbm93 IGlmIHRoZSBEUk0gYnJpZGdlIGlzIHVuYm91bmQgZnJvbSBEUk0sCj4gPiA+ID4gY29uc2VxdWVu dGx5IGEgRFJNIGRyaXZlciBtYXkgY29udGludWUgdHJ5aW5nIHRvIGNhbGwgZnVuY3Rpb25zIGlu Cj4gPiA+ID4gdGhlIERSTSBicmlkZ2UgZHJpdmVyIHVzaW5nIG1lbW9yeSB0aGF0IGhhcyBhbHJl YWR5IGJlZW4gZnJlZWQuCj4gPiA+ID4KPiA+ID4gPiBXZSBoYWQgc2ltaWxhciBpc3N1ZXMgd2l0 aCBpbXgtZHJtLCBhbmQgYSBudW1iZXIgb2YgeWVhcnMgYWdvIGF0IGEKPiA+ID4gPiBrZXJuZWwg c3VtbWl0LCB0aGlzIHdhcyBkaXNjdXNzZWQsIGFuZCBJIHByb3Bvc2VkIGEgc3lzdGVtIHdoaWNo IGlzCj4gPiA+ID4gbm93IGtub3duIGFzIHRoZSBjb21wb25lbnQgaGVscGVyLiAgVGhpcyBoYW5k bGVzIHRoZSBwcm9ibGVtIG9mIGEKPiA+ID4gPiBtdWx0aS1jb21wb25lbnQgc3lzdGVtLgo+ID4g PiA+Cj4gPiA+ID4gSG93ZXZlciwgRFJNIGJyaWRnZSB3YXMgYWxyZWFkeSBlc3RhYmxpc2hlZCwg YW5kIHRoZXJlIGFwcGVhcnMgdG8gYmUKPiA+ID4gPiBubyBkZXNpcmUgdG8gY29udmVydCBEUk0g YnJpZGdlcyBhbmQgRFJNIGRyaXZlcnMgdG8gdXNlIHRoZSBjb21wb25lbnQKPiA+ID4gPiBoZWxw ZXIuCj4gPiA+ID4KPiA+ID4gPiBXZSBhcmUgcHJlc2VudGx5IGluIHRoZSBzaXR1YXRpb24gd2hl cmUgQXJtYWRhIERSTSBpcyBpbmNvbXBhdGlibGUKPiA+ID4gPiB3aXRoIHRoZSBEUk0gYnJpZGdl cyB3YXkgb2YgZG9pbmcgdGhpbmdzLCBhbmQgbWFraW5nIGl0IGNvbXBhdGlibGUKPiA+ID4gPiBl c3NlbnRpYWxseSBtZWFucyBpbnRyb2R1Y2luZyBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgYnVn cyBpbnRvIHRoZQo+ID4gPiA+IGNvZGUuCj4gPiA+ID4KPiA+ID4gPiBEZXZpY2UgbGlua3MgaW4g dGhlaXIgc3RhdGVmdWwgZm9ybSBhcHBlYXIgdG8gcHJvdmlkZSBhbiBhbHRlcm5hdGl2ZQo+ID4g PiA+IHRvIHRoZSBjb21wb25lbnQgaGVscGVyLCBpbiB0aGF0IGEgc3RhdGVmdWwgZGV2aWNlIGxp bmsgd2lsbCByZW1vdmUKPiA+ID4gPiBjb25zdW1lcnMgb2YgYSByZXNvdXJjZSB3aGVuIHRoZSBz dXBwbGllciBpcyBnb2luZyBhd2F5IC0gd2hpY2ggaXMKPiA+ID4gPiBleGFjdGx5IHRoZSBwcm9i bGVtIHdoaWNoIHRoZSBjb21wb25lbnQgaGVscGVyIGlzIHNvbHZpbmcuICBUaGUKPiA+ID4gPiBk aWZmZXJlbmNlIGlzIHRoYXQgZGV2aWNlIGxpbmtzIGxvb2sgbGlrZSBiZWluZyBhIGNsZWFuZXIg c29sdXRpb24uCj4gPiA+ID4KPiA+ID4gPiBKdXN0IGxpa2UgdGhlIGNvbXBvbmVudCBoZWxwZXIs IGEgc3RhdGVmdWwgbGluayB3b3VsZCB1bmJpbmQgdGhlCj4gPiA+ID4gY29uc3VtZXIgb2YgYSBy ZXNvdXJjZSB3aGVuIHRoZSBzdXBwbGllciBnb2VzIGF3YXkgLSB3aGljaCBpcyBleGFjdGx5Cj4g PiA+ID4gdGhlIGJlaGF2aW91ciB3ZSdyZSB3YW50aW5nLgo+ID4gPiA+Cj4gPiA+ID4gVGhlIHBy b2JsZW0gaXMgdGhhdCB0aGUgY29ubmVjdGlvbiBiZXR3ZWVuIHZhcmlvdXMgZHJpdmVycyBpcyBv bmx5Cj4gPiA+ID4gcmVhbGx5IGtub3duIHdoZW4gdGhlIGRyaXZlcnMgb2J0YWluIHRoZWlyIHJl c291cmNlcywgYW5kIHRoZQo+ID4gPiA+IGZvbGxvd2luZyBjYW4gaGFwcGVuOgo+ID4gPiA+Cj4g PiA+ID4gc3VwcGxpZXIgICAgICAgICAgICAgICAgY29uc3VtZXIKPiA+ID4gPgo+ID4gPiA+IHBy b2JlKCkKPiA+ID4gPiAgYWxsb2MKPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBwcm9i ZSgpCj4gPiA+ID4gIHB1Ymxpc2gKPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBvYnRh aW4gc3VwcGxpZXIncyByZXNvdXJjZQo+ID4gPiA+ICByZXR1cm4KPiA+ID4gPgo+ID4gPiA+IFdo ZXJlIHRoaW5ncyBnbyB3cm9uZyBpcyBpZiBhIHN0YXRlZnVsIGxpbmsgaXMgY3JlYXRlZCB3aGVu IHRoZQo+ID4gPiA+IGNvbnN1bWVyIG9idGFpbnMgdGhlIHN1cHBsaWVycyByZXNvdXJjZSBiZWZv cmUgdGhlIHN1cHBsaWVyIGhhcwo+ID4gPiA+IGZpbmlzaGVkIHByb2JpbmcgLSB3aGljaCBmcm9t IHdoYXQncyBiZWVuIHNhaWQgaXMgaWxsZWdhbC4KPiA+ID4KPiA+ID4gSXQganVzdCBkb2Vzbid0 IHdvcmsgKHdoaWNoIG1lYW5zICJpbnZhbGlkIiByYXRoZXIgdGhhbiAiaWxsZWdhbCIgSQo+ID4g PiBndWVzcywgYnV0IHdoYXRldmVyIDotKSkuCj4gPiA+Cj4gPiA+IEFkbWl0dGVkbHksIHRoZSBv cmlnaW5hbCBkZXNpZ24gZGlkbid0IHRha2UgdGhpcyBwYXJ0aWN1bGFyIGNhc2UgaW50bwo+ID4g PiBhY2NvdW50IGFuZCBJJ20gbm90IGFjdHVhbGx5IHN1cmUgaG93IGl0IGNhbiBiZSB0YWtlbiBp bnRvIGFjY291bnQKPiA+ID4gZWl0aGVyLgo+ID4gPgo+ID4gPiBJZiB0aGUgbGluayBpcyBjcmVh dGVkIGJ5IHRoZSBjb25zdW1lciBpbiB0aGUgc2NlbmFyaW8gYWJvdmUsIGl0cwo+ID4gPiBzdGF0 dXMgd2lsbCBiZSB1cGRhdGVkIHR3aWNlIGluIGEgcm93IGFmdGVyIHRoZSBjb25zdW1lciBwcm9i ZSByZXR1cm5zCj4gPiA+IGFuZCBhZnRlciB0aGUgc3VwcGxpZXIgcHJvYmUgcmV0dXJucy4gIEl0 IGxvb2tzIGxpa2UgdGhpcyB1cGRhdGUgd291bGQKPiA+ID4gbmVlZCB0byB3b3JrIHJlZ2FyZGxl c3Mgb2YgdGhlIG9yZGVyIGl0IHdoaWNoIHRoaXMgaGFwcGVuZWQgd2hpY2gKPiA+ID4gc291bmRz IHNvbWV3aGF0IGNoYWxsZW5naW5nLiAgSSB3b3VsZCBuZWVkIHRvIHRoaW5rIGFib3V0IHRoYXQu Cj4gPgo+ID4gU28gaWYgSSdtIG5vdCBtaXN0YWtlbiBpdCBjYW4gYmUgbWFkZSB3b3JrIHdpdGgg dGhlIGhlbHAgb2YgdGhlCj4gPiAoY29tcGxldGVseSB1bnRlc3RlZCkgYXR0YWNoZWQgcGF0Y2gg KG9mIGNvdXJzZSwgdGhlIGRvY3VtZW50YXRpb24KPiA+IHdvdWxkIG5lZWQgdG8gYmUgdXBkYXRl ZCB0b28pLgo+ID4KPiA+IFRoZSBrZXkgb2JzZXJ2YXRpb24gaGVyZSBpcyB0aGF0IGl0IHNob3Vs ZCBiZSBmaW5lIHRvIGNyZWF0ZSBhIGxpbmsKPiA+IGZyb20gdGhlIGNvbnN1bWVyIGRyaXZlcidz IHByb2JlIHdoaWxlIHRoZSBzdXBwbGllciBpcyBzdGlsbCBwcm9iaW5nCj4gPiBpZiB0aGUgY29u c3VtZXIgaGFzIHNvbWUgd2F5IHRvIGZpbmQgb3V0IHRoYXQgdGhlIHN1cHBsaWVyIGlzCj4gPiBm dW5jdGlvbmFsIGF0IHRoYXQgcG9pbnQgKGxpa2Ugd2hlbiBpdCBoYXMgcHVibGlzaGVkIGl0c2Vs ZiBhbHJlYWR5IGluCj4gPiB5b3VyIGV4YW1wbGUgYWJvdmUpLiAgVGhlIGluaXRpYWwgc3RhdGUg b2YgdGhlIGxpbmsgY2FuIGJlICJjb25zdW1lcgo+ID4gcHJvYmUiIGluIHRoYXQgY2FzZSBhbmQg SSBkb24ndCBzZWUgYSByZWFzb24gd2h5IHRoYXQgbWlnaHQgbm90IHdvcmsuCj4gPgo+Cj4gQmVs b3cgaXMgYSBtb3JlIGNvbXBsZXRlIHBhdGNoIHRoYXQgc2hvdWxkIHRha2UgYWxsIG9mIHRoZSBj b3JuZXIgY2FzZXMKPiBpbnRvIGFjY291bnQgdW5sZXNzIEkgaGF2ZSBtaXNzZWQgYW55dGhpbmcu ICBUZXN0aW5nIGl0IHdvdWxkIGJlCj4gYXBwcmVjaWF0ZWQuIDotKQo+Cj4gLS0tCj4gRnJvbTog UmFmYWVsIEouIFd5c29ja2kgPHJhZmFlbC5qLnd5c29ja2lAaW50ZWwuY29tPgo+IFN1YmplY3Q6 IFtQQVRDSF0gZHJpdmVyIGNvcmU6IEZpeCBhZGRpbmcgZGV2aWNlIGxpbmtzIHRvIHByb2Jpbmcg c3VwcGxpZXJzCj4KPiBDdXJyZW50bHksIGl0IGlzIG5vdCB2YWxpZCB0byBhZGQgYSBkZXZpY2Ug bGluayBmcm9tIGEgY29uc3VtZXIKPiBkcml2ZXIgLT5wcm9iZSgpIGNhbGxiYWNrIHRvIGEgc3Vw cGxpZXIgdGhhdCBpcyBzdGlsbCBwcm9iaW5nIHRvbywgYnV0Cj4gZ2VuZXJhbGx5IHRoaXMgaXMg YSB2YWxpZCB1c2UgY2FzZS4gIEZvciBleGFtcGxlLCBpZiB0aGUgY29uc3VtZXIgaGFzCj4ganVz dCBhY3F1aXJlZCBhIHJlc291cmNlIHRoYXQgY2FuIG9ubHkgYmUgYXZhaWxhYmxlIHdoZW4gdGhl IHN1cHBsaWVyCj4gaXMgZnVuY3Rpb25hbCwgYWRkaW5nIGEgZGV2aWNlIGxpbmsgdG8gdGhhdCBz dXBwbGllciByaWdodCBhd2F5Cj4gc2hvdWxkIGJlIHNhZmUgKGFuZCBldmVuIGRlc2lyYWJsZSBh cmd1YWJseSksIGJ1dCBkZXZpY2VfbGlua19hZGQoKQo+IGRvZXNuJ3QgaGFuZGxlIHRoYXQgY2Fz ZSBjb3JyZWN0bHkgYW5kIHRoZSBpbml0aWFsIHN0YXRlIG9mIHRoZSBsaW5rCj4gY3JlYXRlZCBi eSBpdCBpcyB3cm9uZyB0aGVuLgo+Cj4gVG8gYWRkcmVzcyB0aGlzIHByb2JsZW0sIGNoYW5nZSB0 aGUgaW5pdGlhbCBzdGF0ZSBvZiBkZXZpY2UgbGlua3MKPiBhZGRlZCBiZXR3ZWVuIGEgcHJvYmlu ZyBzdXBwbGllciBhbmQgYSBwcm9iaW5nIGNvbnN1bWVyIHRvCj4gRExfU1RBVEVfQ09OU1VNRVJf UFJPQkUgYW5kIHVwZGF0ZSBkZXZpY2VfbGlua3NfZHJpdmVyX2JvdW5kKCkgdG8KPiBza2lwIHN1 Y2ggbGlua3Mgb24gdGhlIHN1cHBsaWVyIHNpZGUuCj4KPiBXaXRoIHRoaXMgY2hhbmdlLCBpZiB0 aGUgc3VwcGxpZXIgcHJvYmUgY29tcGxldGVzIGZpcnN0LAo+IGRldmljZV9saW5rc19kcml2ZXJf Ym91bmQoKSBjYWxsZWQgZm9yIGl0IHdpbGwgc2tpcCB0aGUgbGluayBzdGF0ZQo+IHVwZGF0ZSBh bmQgd2hlbiBpdCBpcyBjYWxsZWQgZm9yIHRoZSBjb25zdW1lciwgdGhlIGxpbmsgc3RhdGUgd2ls bAo+IGJlIHVwZGF0ZWQgdG8gImFjdGl2ZSIuICBJbiB0dXJuLCBpZiB0aGUgY29uc3VtZXIgcHJv YmUgY29tcGxldGVzCj4gZmlyc3QsIGRldmljZV9saW5rc19kcml2ZXJfYm91bmQoKSBjYWxsZWQg Zm9yIGl0IHdpbGwgY2hhbmdlIHRoZQo+IHN0YXRlIG9mIHRoZSBsaW5rIHRvICJhY3RpdmUiIGFu ZCB3aGVuIGl0IGlzIGNhbGxlZCBmb3IgdGhlCj4gc3VwcGxpZXIsIHRoZSBsaW5rIHN0YXR1cyB1 cGRhdGUgd2lsbCBiZSBza2lwcGVkLgo+Cj4gSG93ZXZlciwgaW4gcHJpbmNpcGxlIHRoZSBzdXBw bGllciBvciBjb25zdW1lciBwcm9iZSBtYXkgc3RpbGwgZmFpbAo+IGFmdGVyIHRoZSBsaW5rIGhh cyBiZWVuIGFkZGVkLCBzbyBtb2RpZnkgZGV2aWNlX2xpbmtzX25vX2RyaXZlcigpIHRvCj4gY2hh bmdlIGRldmljZSBsaW5rcyBpbiB0aGUgImFjdGl2ZSIgb3IgImNvbnN1bWVyIHByb2JlIiBzdGF0 ZSB0bwo+ICJkb3JtYW50IiBvbiB0aGUgc3VwcGxpZXIgc2lkZSBhbmQgdXBkYXRlIF9fZGV2aWNl X2xpbmtzX25vX2RyaXZlcigpCj4gdG8gY2hhbmdlIHRoZSBsaW5rIHN0YXRlIHRvICJhdmFpbGFi bGUiIG9ubHkgaWYgaXQgaXMgImNvbnN1bWVyCj4gcHJvYmUiIG9yICJhY3RpdmUiLgo+Cj4gVGhl biwgaWYgdGhlIHN1cHBsaWVyIHByb2JlIGZhaWxzIGZpcnN0LCB0aGUgbGVmdG92ZXIgbGluayB0 byB0aGUKPiBwcm9iaW5nIGNvbnN1bWVyIHdpbGwgYmVjb21lICJkb3JtYW50IiBhbmQgZGV2aWNl X2xpbmtzX25vX2RyaXZlcigpCj4gY2FsbGVkIGZvciB0aGUgY29uc3VtZXIgKHdoZW4gaXRzIHBy b2JlIGZhaWxzKSB3aWxsIGNsZWFuIGl0IHVwLgo+IEluIHR1cm4sIGlmIHRoZSBjb25zdW1lciBw cm9iZSBmYWlscyBmaXJzdCwgaXQgd2lsbCBlaXRoZXIgZHJvcCB0aGUKPiBsaW5rLCBvciBjaGFu Z2UgaXRzIHN0YXRlIHRvICJhdmFpbGFibGUiIGFuZCwgaW4gdGhlIGxhdHRlciBjYXNlLAo+IHdo ZW4gZGV2aWNlX2xpbmtzX25vX2RyaXZlcigpIGlzIGNhbGxlZCBmb3IgdGhlIHN1cHBsaWVyLCBp dCB3aWxsCj4gdXBkYXRlIHRoZSBsaW5rIHN0YXRlIHRvICJkb3JtYW50Ii4gIFtJZiB0aGUgc3Vw cGxpZXIgcHJvYmUgZmFpbHMsCj4gYnV0IHRoZSBjb25zdW1lciBwcm9iZSBzdWNjZWVkcywgd2hp Y2ggc2hvdWxkIG5vdCBoYXBwZW4gYXMgbG9uZyBhcwo+IHRoZSBjb25zdW1lciBkcml2ZXIgaXMg Y29ycmVjdCwgdGhlIGxpbmsgc3RpbGwgd2lsbCBiZSBhcm91bmQsIGJ1dAo+IGl0IHdpbGwgYmUg ImRvcm1hbnQiIHVudGlsIHRoZSBzdXBwbGllciBpcyBwcm9iZWQgYWdhaW4uXQo+Cj4gU2lnbmVk LW9mZi1ieTogUmFmYWVsIEouIFd5c29ja2kgPHJhZmFlbC5qLnd5c29ja2lAaW50ZWwuY29tPgoK UHVsbGluZyBpbiBhIGJ1bmNoIG9mIGRybV9icmlkZ2UgYW5kIGRybV9wYW5lbCBwZW9wbGUuIFNl ZSBodWdlCmRpc2N1c3Npb24gdXB0aHJlYWQsIHRoaXMgaGVyZSBpcyBSYWZhZWwncyBpZGVhIGZv ciBtYWtpbmcgZGV2aWNlCmxpbmtzIG1vcmUgdXNlZnVsLiBXb3VsZCBiZSBncmVhdCBpZiBzb21l b25lIGNvdWxkIHRlc3QgdGhpcyBvdXQgd2l0aApwYW5lbC9icmlkZ2UgZGVwZW5kZW5jaWVzLgoK SSBndWVzcyB0aGlzIGhlcmUgaXNuJ3QgeWV0IHNvbHZpbmcgdGhlIHJlcHJvYmUgaXNzdWUgd2hl cmUgdGhlCnByb3ZpZGVyIHdhcyB1bmxvYWRlZCBhbmQgcmVsb2FkZWQgKHdoaWNoIHNob3VsZCBj YXVzZSB0aGUgY29uc3VtZXIgdG8KcmVwcm9iZSB0b28sIHdpdGggdGhlIEVQUk9CRV9ERUZFUlJF RCBsb2dpYykuIEkgdGhpbmsgdGhhdCB3YXMgdGhlCm90aGVyIGlzc3VlIHdlJ3ZlIGhpdC4KLURh bmllbAoKPiAtLS0KPiAgRG9jdW1lbnRhdGlvbi9kcml2ZXItYXBpL2RldmljZV9saW5rLnJzdCB8 ICAgMTAgKystLQo+ICBkcml2ZXJzL2Jhc2UvY29yZS5jICAgICAgICAgICAgICAgICAgICAgIHwg ICA3NCArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCj4gIDIgZmlsZXMgY2hhbmdlZCwg NzMgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCj4KPiBJbmRleDogbGludXgtcG0vZHJp dmVycy9iYXNlL2NvcmUuYwo+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiAtLS0gbGludXgtcG0ub3JpZy9kcml2ZXJz L2Jhc2UvY29yZS5jCj4gKysrIGxpbnV4LXBtL2RyaXZlcnMvYmFzZS9jb3JlLmMKPiBAQCAtMjYw LDE3ICsyNjAsMjYgQEAgc3RydWN0IGRldmljZV9saW5rICpkZXZpY2VfbGlua19hZGQoc3RydQo+ ICAgICAgICAgICAgICAgICBsaW5rLT5zdGF0dXMgPSBETF9TVEFURV9OT05FOwo+ICAgICAgICAg fSBlbHNlIHsKPiAgICAgICAgICAgICAgICAgc3dpdGNoIChzdXBwbGllci0+bGlua3Muc3RhdHVz KSB7Cj4gLSAgICAgICAgICAgICAgIGNhc2UgRExfREVWX0RSSVZFUl9CT1VORDoKPiArICAgICAg ICAgICAgICAgY2FzZSBETF9ERVZfUFJPQklORzoKPiAgICAgICAgICAgICAgICAgICAgICAgICBz d2l0Y2ggKGNvbnN1bWVyLT5saW5rcy5zdGF0dXMpIHsKPiAgICAgICAgICAgICAgICAgICAgICAg ICBjYXNlIERMX0RFVl9QUk9CSU5HOgo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LyoKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIFNvbWUgY2FsbGVycyBleHBl Y3QgdGhlIGxpbmsgY3JlYXRpb24gZHVyaW5nCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKiBjb25zdW1lciBkcml2ZXIgcHJvYmUgdG8gcmVzdW1lIHRoZSBzdXBwbGllcgo+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogZXZlbiB3aXRob3V0IERMX0ZMQUdfUlBN X0FDVElWRS4KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEEgY29uc3VtZXIg ZHJpdmVyIGNhbiBjcmVhdGUgYSBsaW5rIHRvIGEKPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAqIHN1cHBsaWVyIHRoYXQgaGFzIG5vdCBjb21wbGV0ZWQgaXRzIHByb2JpbmcKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHlldCBhcyBsb25nIGFzIGl0IGtub3dz IHRoYXQgdGhlIHN1cHBsaWVyIGlzCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KiBhbHJlYWR5IGZ1bmN0aW9uYWwgKGZvciBleGFtcGxlLCBpdCBoYXMganVzdAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICogYWNxdWlyZWQgc29tZSByZXNvdXJjZXMgZnJvbSB0 aGUgc3VwcGxpZXIpLgo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCj4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBETF9GTEFHX1BNX1JVTlRJ TUUpCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBtX3J1bnRpbWVf cmVzdW1lKHN1cHBsaWVyKTsKPiAtCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aW5rLT5zdGF0dXMgPSBETF9TVEFURV9DT05TVU1FUl9QUk9CRTsKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6 Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rLT5zdGF0dXMgPSBETF9TVEFU RV9ET1JNQU5UOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAg ICAgICAgICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ ICsgICAgICAgICAgICAgICBjYXNlIERMX0RFVl9EUklWRVJfQk9VTkQ6Cj4gKyAgICAgICAgICAg ICAgICAgICAgICAgc3dpdGNoIChjb25zdW1lci0+bGlua3Muc3RhdHVzKSB7Cj4gKyAgICAgICAg ICAgICAgICAgICAgICAgY2FzZSBETF9ERVZfUFJPQklORzoKPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxpbmstPnN0YXR1cyA9IERMX1NUQVRFX0NPTlNVTUVSX1BST0JFOwo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gICAgICAgICAgICAgICAgICAg ICAgICAgY2FzZSBETF9ERVZfRFJJVkVSX0JPVU5EOgo+IEBAIC0yOTEsNiArMzAwLDE0IEBAIHN0 cnVjdCBkZXZpY2VfbGluayAqZGV2aWNlX2xpbmtfYWRkKHN0cnUKPiAgICAgICAgIH0KPgo+ICAg ICAgICAgLyoKPiArICAgICAgICAqIFNvbWUgY2FsbGVycyBleHBlY3QgdGhlIGxpbmsgY3JlYXRp b24gZHVyaW5nIGNvbnN1bWVyIGRyaXZlciBwcm9iZSB0bwo+ICsgICAgICAgICogcmVzdW1lIHRo ZSBzdXBwbGllciBldmVuIHdpdGhvdXQgRExfRkxBR19SUE1fQUNUSVZFLgo+ICsgICAgICAgICov Cj4gKyAgICAgICBpZiAobGluay0+c3RhdHVzID09IERMX1NUQVRFX0NPTlNVTUVSX1BST0JFICYm Cj4gKyAgICAgICAgICAgZmxhZ3MgJiBETF9GTEFHX1BNX1JVTlRJTUUpCj4gKyAgICAgICAgICAg ICAgIHBtX3J1bnRpbWVfcmVzdW1lKHN1cHBsaWVyKTsKPiArCj4gKyAgICAgICAvKgo+ICAgICAg ICAgICogTW92ZSB0aGUgY29uc3VtZXIgYW5kIGFsbCBvZiB0aGUgZGV2aWNlcyBkZXBlbmRpbmcg b24gaXQgdG8gdGhlIGVuZAo+ICAgICAgICAgICogb2YgZHBtX2xpc3QgYW5kIHRoZSBkZXZpY2Vz X2tzZXQgbGlzdC4KPiAgICAgICAgICAqCj4gQEAgLTQ3NCw2ICs0OTEsMTYgQEAgdm9pZCBkZXZp Y2VfbGlua3NfZHJpdmVyX2JvdW5kKHN0cnVjdCBkZQo+ICAgICAgICAgICAgICAgICBpZiAobGlu ay0+ZmxhZ3MgJiBETF9GTEFHX1NUQVRFTEVTUykKPiAgICAgICAgICAgICAgICAgICAgICAgICBj b250aW51ZTsKPgo+ICsgICAgICAgICAgICAgICAvKgo+ICsgICAgICAgICAgICAgICAgKiBMaW5r cyBjcmVhdGVkIGR1cmluZyBjb25zdW1lciBwcm9iZSBtYXkgYmUgaW4gdGhlICJjb25zdW1lcgo+ ICsgICAgICAgICAgICAgICAgKiBwcm9iZSIgc3RhdGUgdG8gc3RhcnQgd2l0aCBpZiB0aGUgc3Vw cGxpZXIgaXMgc3RpbGwgcHJvYmluZwo+ICsgICAgICAgICAgICAgICAgKiB3aGVuIHRoZXkgYXJl IGNyZWF0ZWQgYW5kIHRoZXkgbWF5IGJlY29tZSAiYWN0aXZlIiBpZiB0aGUKPiArICAgICAgICAg ICAgICAgICogY29uc3VtZXIgcHJvYmUgcmV0dXJucyBmaXJzdC4gIFNraXAgdGhlbSBoZXJlLgo+ ICsgICAgICAgICAgICAgICAgKi8KPiArICAgICAgICAgICAgICAgaWYgKGxpbmstPnN0YXR1cyA9 PSBETF9TVEFURV9DT05TVU1FUl9QUk9CRSB8fAo+ICsgICAgICAgICAgICAgICAgICAgbGluay0+ c3RhdHVzID09IERMX1NUQVRFX0FDVElWRSkKPiArICAgICAgICAgICAgICAgICAgICAgICBjb250 aW51ZTsKPiArCj4gICAgICAgICAgICAgICAgIFdBUk5fT04obGluay0+c3RhdHVzICE9IERMX1NU QVRFX0RPUk1BTlQpOwo+ICAgICAgICAgICAgICAgICBXUklURV9PTkNFKGxpbmstPnN0YXR1cywg RExfU1RBVEVfQVZBSUxBQkxFKTsKPiAgICAgICAgIH0KPiBAQCAtNTEzLDE3ICs1NDAsNDggQEAg c3RhdGljIHZvaWQgX19kZXZpY2VfbGlua3Nfbm9fZHJpdmVyKHN0cgo+Cj4gICAgICAgICAgICAg ICAgIGlmIChsaW5rLT5mbGFncyAmIERMX0ZMQUdfQVVUT1JFTU9WRV9DT05TVU1FUikKPiAgICAg ICAgICAgICAgICAgICAgICAgICBrcmVmX3B1dCgmbGluay0+a3JlZiwgX19kZXZpY2VfbGlua19k ZWwpOwo+IC0gICAgICAgICAgICAgICBlbHNlIGlmIChsaW5rLT5zdGF0dXMgIT0gRExfU1RBVEVf U1VQUExJRVJfVU5CSU5EKQo+ICsgICAgICAgICAgICAgICBlbHNlIGlmIChsaW5rLT5zdGF0dXMg PT0gRExfU1RBVEVfQ09OU1VNRVJfUFJPQkUgfHwKPiArICAgICAgICAgICAgICAgICAgICAgICAg bGluay0+c3RhdHVzID09IERMX1NUQVRFX0FDVElWRSkKPiAgICAgICAgICAgICAgICAgICAgICAg ICBXUklURV9PTkNFKGxpbmstPnN0YXR1cywgRExfU1RBVEVfQVZBSUxBQkxFKTsKPiAgICAgICAg IH0KPgo+ICAgICAgICAgZGV2LT5saW5rcy5zdGF0dXMgPSBETF9ERVZfTk9fRFJJVkVSOwo+ICB9 Cj4KPiArLyoqCj4gKyAqIGRldmljZV9saW5rc19ub19kcml2ZXIgLSBVcGRhdGUgbGlua3MgYWZ0 ZXIgZmFpbGluZyBkcml2ZXIgcHJvYmUuCj4gKyAqIEBkZXY6IERldmljZSB3aG9zZSBkcml2ZXIg aGFzIGp1c3QgZmFpbGVkIHRvIHByb2JlLgo+ICsgKgo+ICsgKiBDbGVhbiB1cCBsZWZ0b3ZlciBs aW5rcyB0byBjb25zdW1lcnMgZm9yIEBkZXYgYW5kIGludm9rZQo+ICsgKiAlX19kZXZpY2VfbGlu a3Nfbm9fZHJpdmVyKCkgdG8gdXBkYXRlIGxpbmtzIHRvIHN1cHBsaWVycyBmb3IgaXQgYXMKPiAr ICogYXBwcm9wcmlhdGUuCj4gKyAqCj4gKyAqIExpbmtzIHdpdGggdGhlIERMX0ZMQUdfU1RBVEVM RVNTIGZsYWcgc2V0IGFyZSBpZ25vcmVkLgo+ICsgKi8KPiAgdm9pZCBkZXZpY2VfbGlua3Nfbm9f ZHJpdmVyKHN0cnVjdCBkZXZpY2UgKmRldikKPiAgewo+ICsgICAgICAgc3RydWN0IGRldmljZV9s aW5rICpsaW5rOwo+ICsKPiAgICAgICAgIGRldmljZV9saW5rc193cml0ZV9sb2NrKCk7Cj4gKwo+ ICsgICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShsaW5rLCAmZGV2LT5saW5rcy5jb25zdW1lcnMs IHNfbm9kZSkgewo+ICsgICAgICAgICAgICAgICBpZiAobGluay0+ZmxhZ3MgJiBETF9GTEFHX1NU QVRFTEVTUykKPiArICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKPiArCj4gKyAgICAg ICAgICAgICAgIC8qCj4gKyAgICAgICAgICAgICAgICAqIFRoZSBwcm9iZSBoYXMgZmFpbGVkLCBz byBpZiB0aGUgc3RhdHVzIG9mIHRoZSBsaW5rIGlzCj4gKyAgICAgICAgICAgICAgICAqICJjb25z dW1lciBwcm9iZSIgb3IgImFjdGl2ZSIsIGl0IG11c3QgaGF2ZSBiZWVuIGFkZGVkIGJ5Cj4gKyAg ICAgICAgICAgICAgICAqIGEgcHJvYmluZyBjb25zdW1lciB3aGlsZSB0aGlzIGRldmljZSB3YXMg c3RpbGwgcHJvYmluZy4KPiArICAgICAgICAgICAgICAgICogQ2hhbmdlIGl0cyBzdGF0ZSB0byAi ZG9ybWFudCIsIGFzIGl0IHJlcHJlc2VudHMgYSB2YWxpZAo+ICsgICAgICAgICAgICAgICAgKiBy ZWxhdGlvbnNoaXAsIGJ1dCBpdCBpcyBub3QgZnVuY3Rpb25hbGx5IG1lYW5pbmdmdWwuCj4gKyAg ICAgICAgICAgICAgICAqLwo+ICsgICAgICAgICAgICAgICBpZiAobGluay0+c3RhdHVzID09IERM X1NUQVRFX0NPTlNVTUVSX1BST0JFIHx8Cj4gKyAgICAgICAgICAgICAgICAgICBsaW5rLT5zdGF0 dXMgPT0gRExfU1RBVEVfQUNUSVZFKQo+ICsgICAgICAgICAgICAgICAgICAgICAgIFdSSVRFX09O Q0UobGluay0+c3RhdHVzLCBETF9TVEFURV9ET1JNQU5UKTsKPiArICAgICAgIH0KPiArCj4gICAg ICAgICBfX2RldmljZV9saW5rc19ub19kcml2ZXIoZGV2KTsKPiArCj4gICAgICAgICBkZXZpY2Vf bGlua3Nfd3JpdGVfdW5sb2NrKCk7Cj4gIH0KPgo+IEluZGV4OiBsaW51eC1wbS9Eb2N1bWVudGF0 aW9uL2RyaXZlci1hcGkvZGV2aWNlX2xpbmsucnN0Cj4gPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+IC0tLSBsaW51eC1w bS5vcmlnL0RvY3VtZW50YXRpb24vZHJpdmVyLWFwaS9kZXZpY2VfbGluay5yc3QKPiArKysgbGlu dXgtcG0vRG9jdW1lbnRhdGlvbi9kcml2ZXItYXBpL2RldmljZV9saW5rLnJzdAo+IEBAIC01OSwx MSArNTksMTUgQEAgZGV2aWNlIGBgLT5wcm9iZWBgIGNhbGxiYWNrIG9yIGEgYm9vdC10aQo+Cj4g IEFub3RoZXIgZXhhbXBsZSBmb3IgYW4gaW5jb25zaXN0ZW50IHN0YXRlIHdvdWxkIGJlIGEgZGV2 aWNlIGxpbmsgdGhhdAo+ICByZXByZXNlbnRzIGEgZHJpdmVyIHByZXNlbmNlIGRlcGVuZGVuY3ks IHlldCBpcyBhZGRlZCBmcm9tIHRoZSBjb25zdW1lcidzCj4gLWBgLT5wcm9iZWBgIGNhbGxiYWNr IHdoaWxlIHRoZSBzdXBwbGllciBoYXNuJ3QgcHJvYmVkIHlldDogIEhhZCB0aGUgZHJpdmVyCj4g LWNvcmUga25vd24gYWJvdXQgdGhlIGRldmljZSBsaW5rIGVhcmxpZXIsIGl0IHdvdWxkbid0IGhh dmUgcHJvYmVkIHRoZQo+ICtgYC0+cHJvYmVgYCBjYWxsYmFjayB3aGlsZSB0aGUgc3VwcGxpZXIg aGFzbid0IHN0YXJ0ZWQgdG8gcHJvYmUgeWV0OiAgSGFkIHRoZQo+ICtkcml2ZXIgY29yZSBrbm93 biBhYm91dCB0aGUgZGV2aWNlIGxpbmsgZWFybGllciwgaXQgd291bGRuJ3QgaGF2ZSBwcm9iZWQg dGhlCj4gIGNvbnN1bWVyIGluIHRoZSBmaXJzdCBwbGFjZS4gIFRoZSBvbnVzIGlzIHRodXMgb24g dGhlIGNvbnN1bWVyIHRvIGNoZWNrCj4gIHByZXNlbmNlIG9mIHRoZSBzdXBwbGllciBhZnRlciBh ZGRpbmcgdGhlIGxpbmssIGFuZCBkZWZlciBwcm9iaW5nIG9uCj4gLW5vbi1wcmVzZW5jZS4KPiAr bm9uLXByZXNlbmNlLiAgW05vdGUgdGhhdCBpdCBpcyB2YWxpZCB0byBjcmVhdGUgYSBsaW5rIGZy b20gdGhlIGNvbnN1bWVyJ3MKPiArYGAtPnByb2JlYGAgY2FsbGJhY2sgd2hpbGUgdGhlIHN1cHBs aWVyIGlzIHN0aWxsIHByb2JpbmcsIGJ1dCB0aGUgY29uc3VtZXIgbXVzdAo+ICtrbm93IHRoYXQg dGhlIHN1cHBsaWVyIGlzIGZ1bmN0aW9uYWwgYWxyZWFkeSBhdCB0aGUgbGluayBjcmVhdGlvbiB0 aW1lICh0aGF0IGlzCj4gK3RoZSBjYXNlLCBmb3IgaW5zdGFuY2UsIGlmIHRoZSBjb25zdW1lciBo YXMganVzdCBhY3F1aXJlZCBzb21lIHJlc291cmNlcyB0aGF0Cj4gK3dvdWxkIG5vdCBoYXZlIGJl ZW4gYXZhaWxhYmxlIGhhZCB0aGUgc3VwcGxpZXIgbm90IGJlZW4gZnVuY3Rpb25hbCB0aGVuKS5d Cj4KPiAgSWYgYSBkZXZpY2UgbGluayBpcyBhZGRlZCBpbiB0aGUgYGAtPnByb2JlYGAgY2FsbGJh Y2sgb2YgdGhlIHN1cHBsaWVyIG9yCj4gIGNvbnN1bWVyIGRyaXZlciwgaXQgaXMgdHlwaWNhbGx5 IGRlbGV0ZWQgaW4gaXRzIGBgLT5yZW1vdmVgYCBjYWxsYmFjayBmb3IKPgoKCi0tIApEYW5pZWwg VmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgorNDEgKDApIDc5IDM2 NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=