From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 1/5] drm: Add helpers to kick off self refresh mode in drivers Date: Tue, 2 Apr 2019 17:16:36 +0300 Message-ID: <20190402141636.GQ3888@intel.com> References: <20190326204509.96515-1-sean@poorly.run> <20190327181500.GP2665@phenom.ffwll.local> <20190328210303.GM114153@art_vandelay> <20190329082110.GA2665@phenom.ffwll.local> <20190329131659.GO114153@art_vandelay> <20190329153632.GP2665@phenom.ffwll.local> <20190329181011.GP114153@art_vandelay> <20190401134930.GS114153@art_vandelay> <20190402074900.GZ2665@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id E0EC96E7C4 for ; Tue, 2 Apr 2019 14:16:40 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190402074900.GZ2665@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: Daniel Vetter Cc: Zain Wang , David Airlie , Jose Souza , Tomasz Figa , Maxime Ripard , Sean Paul , dri-devel , Sean Paul List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBBcHIgMDIsIDIwMTkgYXQgMDk6NDk6MDBBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBNb24sIEFwciAwMSwgMjAxOSBhdCAwOTo0OTozMEFNIC0wNDAwLCBTZWFuIFBh dWwgd3JvdGU6Cj4gPiBPbiBGcmksIE1hciAyOSwgMjAxOSBhdCAwODoyMTozMVBNICswMTAwLCBE YW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4gPiBPbiBGcmksIE1hciAyOSwgMjAxOSBhdCA3OjEwIFBN IFNlYW4gUGF1bCA8c2VhbkBwb29ybHkucnVuPiB3cm90ZToKPiA+ID4gPgo+ID4gPiA+IE9uIEZy aSwgTWFyIDI5LCAyMDE5IGF0IDA0OjM2OjMyUE0gKzAxMDAsIERhbmllbCBWZXR0ZXIgd3JvdGU6 Cj4gPiA+ID4gPiBPbiBGcmksIE1hciAyOSwgMjAxOSBhdCAwOToxNjo1OUFNIC0wNDAwLCBTZWFu IFBhdWwgd3JvdGU6Cj4gPiA+ID4gPiA+IE9uIEZyaSwgTWFyIDI5LCAyMDE5IGF0IDA5OjIxOjEw QU0gKzAxMDAsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gT24gVGh1LCBNYXIg MjgsIDIwMTkgYXQgMDU6MDM6MDNQTSAtMDQwMCwgU2VhbiBQYXVsIHdyb3RlOgo+ID4gPiA+ID4g PiA+ID4gT24gV2VkLCBNYXIgMjcsIDIwMTkgYXQgMDc6MTU6MDBQTSArMDEwMCwgRGFuaWVsIFZl dHRlciB3cm90ZToKPiA+ID4gPiA+ID4gPiA+ID4gT24gVHVlLCBNYXIgMjYsIDIwMTkgYXQgMDQ6 NDQ6NTRQTSAtMDQwMCwgU2VhbiBQYXVsIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gPiA+IEZyb206 IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+ID4gPiA+ID4gPiA+ID4gPiA+Cj4g PiA+ID4gPiA+ID4gPiA+ID4gVGhpcyBwYXRjaCBhZGRzIGEgbmV3IGRybSBoZWxwZXIgbGlicmFy eSB0byBoZWxwIGRyaXZlcnMgaW1wbGVtZW50Cj4gPiA+ID4gPiA+ID4gPiA+ID4gc2VsZiByZWZy ZXNoLiBEcml2ZXJzIGNob29zaW5nIHRvIHVzZSBpdCB3aWxsIHJlZ2lzdGVyIGNydGNzIGFuZAo+ ID4gPiA+ID4gPiA+ID4gPiA+IHdpbGwgcmVjZWl2ZSBjYWxsYmFja3Mgd2hlbiBpdCdzIHRpbWUg dG8gZW50ZXIgb3IgZXhpdCBzZWxmIHJlZnJlc2gKPiA+ID4gPiA+ID4gPiA+ID4gPiBtb2RlLgo+ ID4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiA+ID4gSW4gaXRzIGN1cnJlbnQgZm9y bSwgaXQgaGFzIGEgdGltZXIgd2hpY2ggd2lsbCB0cmlnZ2VyIGFmdGVyIGEKPiA+ID4gPiA+ID4g PiA+ID4gPiBkcml2ZXItc3BlY2lmaWVkIGFtb3VudCBvZiBpbmFjdGl2aXR5LiBXaGVuIHRoZSB0 aW1lciB0cmlnZ2VycywgdGhlCj4gPiA+ID4gPiA+ID4gPiA+ID4gaGVscGVycyB3aWxsIHN1Ym1p dCBhIG5ldyBhdG9taWMgY29tbWl0IHRvIHNodXQgdGhlIHJlZnJlc2hpbmcgcGlwZQo+ID4gPiA+ ID4gPiA+ID4gPiA+IG9mZi4gT24gdGhlIG5leHQgYXRvbWljIGNvbW1pdCwgdGhlIGRybSBjb3Jl IHdpbGwgcmV2ZXJ0IHRoZSBzZWxmCj4gPiA+ID4gPiA+ID4gPiA+ID4gcmVmcmVzaCBzdGF0ZSBh bmQgYnJpbmcgZXZlcnl0aGluZyBiYWNrIHVwIHRvIGJlIGFjdGl2ZWx5IGRyaXZlbi4KPiA+ID4g PiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+IEZyb20gdGhlIGRyaXZlcidzIHBlcnNw ZWN0aXZlLCB0aGlzIHdvcmtzIGxpa2UgYSByZWd1bGFyIGRpc2FibGUvZW5hYmxlCj4gPiA+ID4g PiA+ID4gPiA+ID4gY3ljbGUuIFRoZSBkcml2ZXIgbmVlZCBvbmx5IGNoZWNrIHRoZSAnc2VsZl9y ZWZyZXNoX2FjdGl2ZScgYW5kL29yCj4gPiA+ID4gPiA+ID4gPiA+ID4gJ3NlbGZfcmVmcmVzaF9j aGFuZ2VkJyBzdGF0ZSBpbiBjcnRjX3N0YXRlIGFuZCBjb25uZWN0b3Jfc3RhdGUuIEl0Cj4gPiA+ ID4gPiA+ID4gPiA+ID4gc2hvdWxkIGluaXRpYXRlIHNlbGYgcmVmcmVzaCBtb2RlIG9uIHRoZSBw YW5lbCBhbmQgZW50ZXIgYW4gb2ZmIG9yCj4gPiA+ID4gPiA+ID4gPiA+ID4gbG93LXBvd2VyIHN0 YXRlLgo+ID4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiA+ID4gQ2hhbmdlcyBpbiB2 MjoKPiA+ID4gPiA+ID4gPiA+ID4gPiAtIHMvcHNyL3NlbGZfcmVmcmVzaC8gKERhbmllbCkKPiA+ ID4gPiA+ID4gPiA+ID4gPiAtIGludGVncmF0ZWQgdGhlIHBzciBleGl0IGludG8gdGhlIGNvbW1p dCB0aGF0IHdha2VzIGl0IHVwIChKb3NlL0RhbmllbCkKPiA+ID4gPiA+ID4gPiA+ID4gPiAtIG1h ZGUgdGhlIHBzciBzdGF0ZSBwZXItY3J0YyAoSm9zZS9EYW5pZWwpCj4gPiA+ID4gPiA+ID4gPiA+ ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiBMaW5rIHRvIHYxOiBodHRwczovL3BhdGNod29yay5mcmVl ZGVza3RvcC5vcmcvcGF0Y2gvbXNnaWQvMjAxOTAyMjgyMTA5MzkuODMzODYtMi1zZWFuQHBvb3Js eS5ydW4KPiA+ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+IENjOiBEYW5pZWwg VmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+Cj4gPiA+ID4gPiA+ID4gPiA+ID4gQ2M6IEpvc2UgU291 emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgo+ID4gPiA+ID4gPiA+ID4gPiA+IENjOiBaYWluIFdh bmcgPHd6ekByb2NrLWNoaXBzLmNvbT4KPiA+ID4gPiA+ID4gPiA+ID4gPiBDYzogVG9tYXN6IEZp Z2EgPHRmaWdhQGNocm9taXVtLm9yZz4KPiA+ID4gPiA+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5 OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KPiA+ID4gPiA+ID4gPiA+ID4gPiAt LS0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy1oZWxwZXJz LnJzdCAgICAgfCAgIDkgKwo+ID4gPiA+ID4gPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vTWFr ZWZpbGUgICAgICAgICAgICAgICAgICB8ICAgMyArLQo+ID4gPiA+ID4gPiA+ID4gPiA+ICBkcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgICAgICAgICB8ICAgNCArCj4gPiA+ID4gPiA+ ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jICAgICAgIHwgIDM2 ICsrKy0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfc3Rh dGVfaGVscGVyLmMgfCAgIDggKwo+ID4gPiA+ID4gPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY191YXBpLmMgICAgICAgICB8ICAgNSArLQo+ID4gPiA+ID4gPiA+ID4gPiA+ICBk cml2ZXJzL2dwdS9kcm0vZHJtX3NlbGZfcmVmcmVzaF9oZWxwZXIuYyB8IDIxMiArKysrKysrKysr KysrKysrKysrKysrCj4gPiA+ID4gPiA+ID4gPiA+ID4gIGluY2x1ZGUvZHJtL2RybV9hdG9taWMu aCAgICAgICAgICAgICAgICAgIHwgIDE1ICsrCj4gPiA+ID4gPiA+ID4gPiA+ID4gIGluY2x1ZGUv ZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICAgICAgICAgIHwgIDMxICsrKysKPiA+ID4gPiA+ID4g PiA+ID4gPiAgaW5jbHVkZS9kcm0vZHJtX2NydGMuaCAgICAgICAgICAgICAgICAgICAgfCAgMTkg KysKPiA+ID4gPiA+ID4gPiA+ID4gPiAgaW5jbHVkZS9kcm0vZHJtX3NlbGZfcmVmcmVzaF9oZWxw ZXIuaCAgICAgfCAgMjMgKysrCj4gPiA+ID4gPiA+ID4gPiA+ID4gIDExIGZpbGVzIGNoYW5nZWQs IDM2MCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQo+ID4gPiA+ID4gPiA+ID4gPiA+ICBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2RybV9zZWxmX3JlZnJlc2hfaGVscGVy LmMKPiA+ID4gPiA+ID4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvZHJtL2Ry bV9zZWxmX3JlZnJlc2hfaGVscGVyLmgKPiA+ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gPiAvc25pcAo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiA+IGluZGV4IDQ5 ODUzODRlNTFmNi4uZWM5MGM1MjdkZWVkIDEwMDY0NAo+ID4gPiA+ID4gPiA+ID4gPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5jCj4gPiA+ID4gPiA+ID4g PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVyLmMKPiA+ ID4gPiA+ID4gPiA+ID4gPiBAQCAtMTA1LDYgKzEwNSwxMCBAQCB2b2lkIF9fZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gPiA+ ID4gPiA+ID4gPiA+ICAgICBzdGF0ZS0+Y29tbWl0ID0gTlVMTDsKPiA+ID4gPiA+ID4gPiA+ID4g PiAgICAgc3RhdGUtPmV2ZW50ID0gTlVMTDsKPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgc3RhdGUt PnBhZ2VmbGlwX2ZsYWdzID0gMDsKPiA+ID4gPiA+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ID4g PiA+ID4gKyAgIC8qIFNlbGYgcmVmcmVzaCBzaG91bGQgYmUgY2FuY2VsZWQgd2hlbiBhIG5ldyB1 cGRhdGUgaXMgYXZhaWxhYmxlICovCj4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgIHN0YXRlLT5hY3Rp dmUgPSBkcm1fYXRvbWljX2NydGNfZWZmZWN0aXZlbHlfYWN0aXZlKHN0YXRlKTsKPiA+ID4gPiA+ ID4gPiA+ID4gPiArICAgc3RhdGUtPnNlbGZfcmVmcmVzaF9hY3RpdmUgPSBmYWxzZTsKPiA+ID4g PiA+ID4gPiA+ID4gPiAgfQo+ID4gPiA+ID4gPiA+ID4gPiA+ICBFWFBPUlRfU1lNQk9MKF9fZHJt X2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUpOwo+ID4gPiA+ID4gPiA+ID4gPiA+ Cj4gPiA+ID4gPiA+ID4gPiA+ID4gQEAgLTM3MCw2ICszNzQsMTAgQEAgX19kcm1fYXRvbWljX2hl bHBlcl9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsCj4gPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgLyogRG9u J3QgY29weSBvdmVyIGEgd3JpdGViYWNrIGpvYiwgdGhleSBhcmUgdXNlZCBvbmx5IG9uY2UgKi8K PiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgc3RhdGUtPndyaXRlYmFja19qb2IgPSBOVUxMOwo+ID4g PiA+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiA+ID4gPiArICAgLyogU2VsZiByZWZyZXNo IHNob3VsZCBiZSBjYW5jZWxlZCB3aGVuIGEgbmV3IHVwZGF0ZSBpcyBhdmFpbGFibGUgKi8KPiA+ ID4gPiA+ID4gPiA+ID4gPiArICAgc3RhdGUtPnNlbGZfcmVmcmVzaF9jaGFuZ2VkID0gc3RhdGUt PnNlbGZfcmVmcmVzaF9hY3RpdmU7Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgIHN0YXRlLT5zZWxm X3JlZnJlc2hfYWN0aXZlID0gZmFsc2U7Cj4gPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4g PiA+IFdoeSB0aGUgZHVwbGljYXRpb24gaW4gc2VsZi1yZWZyZXNoIHRyYWNraW5nPyBDb25uZWN0 b3JzIG5ldmVyIGhhdmUgYQo+ID4gPiA+ID4gPiA+ID4gPiBkaWZmZXJlbnQgc2VsZi1yZWZyZXNo IHN0YXRlLCBhbmQgeW91IGNhbiBhbHdheXMgbG9vayBhdCB0aGUgcmlnaHQKPiA+ID4gPiA+ID4g PiA+ID4gY3J0Y19zdGF0ZS4gRHVwbGljYXRpb24ganVzdCBnaXZlcyB1cyB0aGUgY2hhbmNlIHRv IHNjcmV3IHVwIGFuZCBnZXQgb3V0Cj4gPiA+ID4gPiA+ID4gPiA+IG9mIHN5bmMgKGUuZy4gaWYg dGhlIGNydGMgZm9yIGEgY29ubmVjdG9yIGNoYW5nZXMpLgo+ID4gPiA+ID4gPiA+ID4gPgo+ID4g PiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+IE9uIGRpc2FibGUgdGhlIGNydGMgaXMgY2xlYXJl ZCBmcm9tIGNvbm5lY3Rvcl9zdGF0ZSwgc28gd2UgZG9uJ3QgaGF2ZSBhY2Nlc3MgdG8KPiA+ID4g PiA+ID4gPiA+IGl0LiBJZiBJIGFkZCB0aGUgYXBwcm9wcmlhdGUgYXRvbWljX2VuYWJsZS9kaXNh YmxlIGhvb2tzIGFzIHN1Z2dlc3RlZCBiZWxvdywgd2UKPiA+ID4gPiA+ID4gPiA+IHNob3VsZCBi ZSBhYmxlIHRvIG51a2UgdGhlc2UuCj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBZZWFoIHdl J2QgbmVlZCB0aGUgb2xkIHN0YXRlIHRvIGxvb2sgYXQgdGhlIGNydGMgYW5kIGFsbCB0aGF0LiBX aGljaCBpcyBhCj4gPiA+ID4gPiA+ID4gbG90IG1vcmUgdHJpY2tpZXIuCj4gPiA+ID4gPiA+ID4K PiA+ID4gPiA+ID4gPiBTaW5jZSBpdCdzIHN1Y2ggYSBzcGVjaWFsIGNhc2UsIHNob3VsZCB3ZSBo YXZlIGEgZGVkaWNhdGVkIGNhbGxiYWNrIGZvcgo+ID4gPiA+ID4gPiA+IHRoZSBkaXJlY3Qgc2Vs Zi1yZWZyZXNoIC0+IGNvbXBsZXRlbHkgb2ZmIHRyYW5zaXRpb24/IEl0J2xsIGJlIGFzeW1ldHJp YywKPiA+ID4gPiA+ID4gPiBidXQgdGhhdCdzIHRoZSBuYXR1cmUgb2YgdGhpcyBJIHRoaW5rLgo+ ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBSaWdodCwgdGhlIGFzeW1tZXRyeSBpcyByZWFsbHkgYW5u b3lpbmcgaGVyZS4gSWYgdGhlIGRyaXZlciBpcyBTUi1hd2FyZSwgaXQgbWFrZXMKPiA+ID4gPiA+ ID4gc2Vuc2Ugc2luY2UgU1ItYWN0aXZlIHRvIGRpc2FibGUgaXMgYSByZWFsIHRyYW5zaXRpb24u IEhvd2V2ZXIgaWYgdGhlIGRyaXZlciBpcwo+ID4gPiA+ID4gPiBub3QgU1ItYXdhcmUgKGllOiBp dCBqdXN0IGdldHMgdHVybmVkIG9mZiB3aGVuIFNSIGJlY29tZXMgYWN0aXZlKSwgdGhlIGRpc2Fi bGUKPiA+ID4gPiA+ID4gZnVuY3Rpb24gZ2V0cyBjYWxsZWQgdHdpY2Ugd2l0aG91dCBhbiBlbmFi bGUuIFNvIHRoYXQgY2hhbmdlcyB0aGUgImZvciBldmVyeQo+ID4gPiA+ID4gPiBlbmFibGUgdGhl cmUgaXMgYSBkaXNhYmxlIGFuZCB2aWNlIHZlcnNhIiBhc3N1bXB0aW9uLgo+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gPiBUaGlzIGlzIG9uZSBvZiB0aGUgYmVuZWZpdHMgb2YgdGhlIHYxIGRlc2lnbiwg U1Igd2FzIGJvbHRlZCBvbiBhbmQgbm8gZXhpc3RpbmcKPiA+ID4gPiA+ID4gcnVsZXMgKGFzeW5j L25vX21vZGVzZXQvZW5hYmxlLWRpc2FibGUgcGFpcnMpIHdlcmUgW2V4cGxpY2l0bHldIGJyb2tl bi4gVGhhdCdzCj4gPiA+ID4gPiA+IG5vdCB0byBzYXkgaXQgd2FzIGJldHRlciwgaXQgd2Fzbid0 LCBidXQgaXQgd2FzIGEgYmlnIGNvbnNpZGVyYXRpb24uCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ IFNvLCB3aGF0IHRvIGRvLgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBJIHJlYWxseSBsaWtlIHRo ZSBpZGVhIHRoYXQgZHJpdmVycyBzaG91bGRuJ3QgaGF2ZSB0byBiZSBTUi1hd2FyZSB0byBiZSBp bnZvbHZlZAo+ID4gPiA+ID4gPiBpbiB0aGUgcGlwZWxpbmUuIFNvIGlmIHdlIGFkZCBhIGhvb2sg Zm9yIHRoaXMgbGlrZSB5b3Ugc3VnZ2VzdCwgd2UgY291bGQgYXZvaWQKPiA+ID4gPiA+ID4gY2Fs bGluZyBkaXNhYmxlIHR3aWNlIG9uIGFueXRoaW5nIG5vdCBTUi1hd2FyZS4gV2Ugd291bGQgbmVl ZCB0byBhZGQgdGhlIGhvb2sgb24KPiA+ID4gPiA+ID4gY3J0Yy9lbmNvZGVyL2JyaWRnZSB0byBt YWtlIHN1cmUgeW91IGNvdWxkIG1peCBuJyBtYXRjaCBTUi1hd2FyZSBhbmQKPiA+ID4gPiA+ID4g bm9uLVNSLWF3YXJlIGRldmljZXMuCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IEl0IHByb2JhYmx5 IG1ha2VzIHNlbnNlIHRvIGp1c3QgYWRkIG1hdGNoaW5nIFNSIGhvb2tzIGF0IHRoaXMgcG9pbnQu IFNpbmNlIGlmCj4gPiA+ID4gPiA+IHRoZSBkcml2ZXIgaXMgZG9pbmcgc29tZXRoaW5nIHNwZWNp YWwgaW4gZGlzYWJsZSwgaXQnbGwgbmVlZCB0byBkbyBzb21ldGhpbmcKPiA+ID4gPiA+ID4gc3Bl Y2lhbCBpbiBlbmFibGUuIEl0IGFsc28gcmVzZXJ2ZXMgZW5hYmxlIGFuZCBkaXNhYmxlIGZvciB3 aGF0IHRoZXkndmUKPiA+ID4gPiA+ID4gdHJhZGl0aW9uYWxseSBkb25lLiBJZiBhIGRldmljZSBp cyBub3QgU1ItYXdhcmUsIGl0J2xsIGp1c3QgZmFsbCBiYWNrIHRvIHRoZQo+ID4gPiA+ID4gPiBm dWxsIGVuYWJsZS9kaXNhYmxlIGFuZCB3ZSdsbCBtYWtlIHN1cmUgdG8gbm90IGRvdWJsZSB1cCBv biB0aGUgZGlzYWJsZSBpbiB0aGUKPiA+ID4gPiA+ID4gaGVscGVycy4KPiA+ID4gPiA+ID4KPiA+ ID4gPiA+ID4gU28gd2UnbGwga2VlcCBzeW1tZXRyeSwgYW5kIGF2b2lkIGhhdmluZyBhbiBhd2Z1 bCBob29rIG5hbWUgbGlrZQo+ID4gPiA+ID4gPiBkaXNhYmxlX2Zyb21fc2VsZl9yZWZyZXNoLi4g eXVjayEKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gVGhvdWdodHM/Cj4gPiA+ID4gPgo+ID4gPiA+ ID4gSSBsaWtlIHRoZSBhc3ltZXRyeSBhY3R1YWxseSwgaXQgaGFzIGdyb3duIG9uIGEgYml0IHdo aWxlIHdvcmtpbmcgb3V0IGFuZAo+ID4gPiA+ID4gcG9uZGVyaW5nIHRoaXMgOi0pCj4gPiA+ID4g Pgo+ID4gPiA+Cj4gPiA+ID4gSSdtIG5vdCBxdWl0ZSB0aGVyZSB3aXRoIHlvdSwgSSBzdGlsbCB0 aGluayBpdCdzIGJldHRlciB0byBzcGxpdCBpdCBhbGwgb3V0Lgo+ID4gPiA+Cj4gPiA+ID4gPiBC ZW5lZml0czoKPiA+ID4gPiA+IC0gd2Uga2VlcCB0aGUgMTAwJSBzeW1tZXRyeSBvZiBlbmFibGUv ZGlzYWJsZSBob29rcwo+ID4gPiA+ID4gLSBzZWxmLXJlZnJlc2ggYXdhcmUgY29ubmVjdG9yIGNv ZGUgYWxzbyBnZXRzIGEgYml0IHNpbXBsZXIgSSB0aGluazogaW4KPiA+ID4gPiA+ICAgdGhlIG5v cm1hbCBlbmFibGUvZGlzYWJsZSBob29rcyBpdCBjYW4ganVzdCBjaGVjayBmb3IKPiA+ID4gPiA+ ICAgY29ubmVjdG9yLT5zdGF0ZS0+Y3J0Yy0+c3RhdGUtPnNlbGZfcmVmcmVzaF9hY3RpdmUgZm9y IHNyIHN0YXRlIGNoYW5nZXMKPiA+ID4gPiA+ICAgd2hpbGUgdGhlIHBpcGUgaXMgbG9naWNhbGx5 IHN0YXlpbmcgb24KPiA+ID4gPiA+IC0gdGhlIG9uZSBhc3ltbWV0cmljIGNhc2UgZHVlIHRvIHRo aXMgZGVzaWduIHdoZXJlIHdlIGRpc2FibGUgdGhlIHBpcGUKPiA+ID4gPiA+ICAgaGFyZGVyIGhh cyBhbiBhd2t3YXJkIHNwZWNpYWwgaG9vaywgd2hpY2ggZ2l2ZXMgdXMgYSBncmVhdCBvcHBvcnR1 bml0eQo+ID4gPiA+ID4gICB0byBleHBsYWluIHdoeSBpdCdzIG5lZWRlZAo+ID4gPiA+ID4gLSBu b3RoaW5nIGNoYW5nZXMgZm9yIG5vbi1zciBhd2FyZSBkcml2ZXJzCj4gPiA+ID4gPiAtIGFsc28g bm8gbmVlZCB0byBkdXBsaWNhdGUgc3Igc3RhdGUgaW50byBjb25uZWN0b3JzLCBzaW5jZSBpdCdz IGFsbAo+ID4gPiA+ID4gICBmYWlybHkgZXhwbGl0IGFscmVhZHkgaW4gYWxsIHRocmVlIHN0YXRl IHRyYW5zaXRpb25zLgo+ID4gPiA+Cj4gPiA+ID4gVG8gYmUgZmFpciwgb25seSBvbmUgb2YgdGhl c2UgaXMgZXhjbHVzaXZlIHRvIGFzeW1tZXRyeSwgYW5kIGl0J3MgdGhlIG9uZSB0aGF0Cj4gPiA+ ID4gcHJvdmlkZXMgdGhlIG9wcG9ydHVuaXR5IHRvIGFkZCBhIGNvbW1lbnQuIElmIHRoZSBzciBm dW5jdGlvbnMgYXJlIHN5bW1ldHJpYywKPiA+ID4gPiB0aGUgY29kZSBiZWNvbWVzIG11Y2ggbW9y ZSAibm9ybWFsIiBhbmQgbGVzcyBkZXNlcnZpbmcgb2YgdGhlIGV4cGxhbmF0aW9uLgo+ID4gPiA+ Cj4gPiA+ID4gVGhlIHJlYXNvbiBJIHdvdWxkIGxpa2UgdG8gc3BsaXQgb3V0IGVudHJ5IGFuZCBl eGl0IGlzIHRoYXQgaXQgbWFrZXMgdGhlIGRyaXZlcgo+ID4gPiA+IGNvZGUgYSBiaXQgZWFzaWVy IHRvIHJhdGlvbmFsaXplLiBDdXJyZW50bHkgd2UgbmVlZCB0byBjaGVjayB0aGUgc3RhdGUgYXQg dGhlCj4gPiA+ID4gYmVnaW5uaW5nIG9mIGVuYWJsZS9kaXNhYmxlIHRvIGRldGVybWluZSB3aGV0 aGVyIHdlIHdhbnQgdGhlIGZ1bGwgZW5hYmxlL2Rpc2FibGUKPiA+ID4gPiBvciB0aGUgcHNyIGV4 aXQvZW50ZXIuIFNvIHRoZSBzcl9kaXNhYmxlIGZ1bmN0aW9uIHdvdWxkIHJlYWxseSBqdXN0IGJl IHBsYWluCj4gPiA+ID4gb2xkIGRpc2FibGUgd2l0aG91dCB0aGUgc3BlY2lhbCBjYXNpbmcgYXQg dGhlIHRvcC4gSW4gdGhhdCBjYXNlLCB3ZSBkb24ndCBldmVuCj4gPiA+ID4gbmVlZCB0aGUgc2Vw YXJhdGUgZnVuY3Rpb24sIHdlIGNvdWxkIGp1c3QgbGltaXQgZGlzYWJsZSBjYWxscyBvbmx5IG9u IHRob3NlCj4gPiA+ID4gb2JqZWN0cyB3aGljaCBhcmUgZWZmZWN0aXZlbHkgb24gKGFjdGl2ZSB8 fCBzcikuIFRoYXQgc3RhcnRzIHNvdW5kaW5nIGEgbG90IGxpa2UKPiA+ID4gPiB3aGF0IHdlIGFs cmVhZHkgaGF2ZSBoZXJlLgo+ID4gPiA+Cj4gPiA+ID4gRnVydGhlciwgZG9pbmcgU1IgaW4gZW5h YmxlL2Rpc2FibGUgaXMgcmVhbGx5IGp1c3QgbGVnYWN5IGZyb20gdjEgd2hpY2ggdHJpZWQgdG8K PiA+ID4gPiBrZWVwIGFzIG11Y2ggdGhlIHNhbWUgYXMgcG9zc2libGUuIE5vdyB0aGF0IHdlJ3Jl ICJpbiBpdCIsIEkgdGhpbmsgaXQgbWFrZXMKPiA+ID4gPiBzZW5zZSB0byBnbyBhbGwgaW4gYW5k IG1ha2UgU1IgYSBmaXJzdCBjbGFzcyBjaXRpemVuLgo+ID4gPiAKPiA+ID4gSG0sIHF1ZXN0aW9u IGlzOiBIb3cgbWFueSBob29rcyBkbyB5b3UgbmVlZD8gSnVzdCBzb21ldGhpbmcgb24gdGhlCj4g PiA+IGNvbm5lY3Rvciwgb3Igb24gdGhlIGVuY29kZXIsIG9yIGV2ZXJ5d2hlcmU/Cj4gPiAKPiA+ IGJyaWRnZS9lbmNvZGVyL2NydGMgYWxsIGRvIHNwZWNpYWwgdGhpbmdzIGR1cmluZyBTUiB0cmFu c2l0aW9ucywgSSBkb24ndCB0aGluawo+ID4gY29ubmVjdG9yIGlzIG5lY2Vzc2FyeS4gVGhpcyBp cyB0aGUgc2FtZSBmb3IgYW55IC5zcl9kaXNhYmxlIGZ1bmN0aW9uLCBldmVyeW9uZQo+ID4gd291 bGQgbmVlZCB0byBpbXBsZW1lbnQgaXQuCj4gCj4gSG0sIHRoYXQncyBhIGxvdCBvZiBuZXcgY2Fs bGJhY2tzIC4uLgo+IAo+ID4gPiBBbmQgaG93IGRvIHlvdSBoYW5kbGUgdGhlCj4gPiA+IHZhcmlv dXMgc3RhdGUgdHJhbnNpdGlvbnMuIE9uIHRoZSBkaXNhYmxlIHNpZGUgd2UgaGF2ZToKPiA+ID4g LSBhY3RpdmUgb24gLT4gYWN0aXZlIG9mZiwgbm8gc3IgKHVzZXJzcGFjZSBkaXNhYmxlcyBjcnRj KQo+ID4gPiAtIGFjdGl2ZSBvbiwgc3Igb2ZmIC0+IGFjdGl2ZSBvb2ZmLCBzciBvbiAoc3IgdGlt ZXIgZmlyZXMgYW5kIHN1c3BlbmRzIGNydGMpCj4gPiA+IC0gYWN0aXZlIG9mZiwgc3Igb24gLT4g YWN0aXZlIG9mZiwgc3Igb2ZmICh1c2Vyc3BhY2UgZGlzYWJsZSBjcnRjCj4gPiA+IHdoaWxlIGNy dGMgaXMgaW4gc3IpCj4gPiA+IFRoZXNlIGFyZSBhbGwgImxvZ2ljYWwgYWN0aXZlIG9uIiAtPiAi c29tZXRoaW5nIiB0cmFuc2l0aW9ucyB3aGVyZSB3ZQo+ID4gPiBkaXNhYmxlIHNvbWV0aGluZyAo Y3J0Yywgb3IgZGlzcGxheSBvciBib3RoKQo+ID4gPiAKPiA+ID4gU28gaW4gYSB3YXkgeW91J2Qg bmVlZCAzIGhvb2tzIGhlcmUgZm9yIHRoZSBmdWxsIG1hdHJpeC4KPiA+ID4gQW5kIHRoZXkgYWxs Cj4gPiA+IGtpbmRhIGRpc2FibGUgc29tZXRoaW5nLiBPbiB0aGUgZW5hYmxlIHNpZGUgd2UgaGF2 ZToKPiA+ID4gLSBhY3RpdmUgb2ZmLCBzciBvZmYgLT4gYWN0aXZlIG9uLCBzciBvZmYgKHVzZXJz cGFjZSBlbmFibGVzIGNydGMpCj4gPiA+IC0gYWN0aXZlIG9mZiwgc3Igb24gLT4gYWN0aXZlIG9u LCBzciBvZmYgKHVzZXJzcGFjZSBkb2VzIGEgcGFnZWZsaXAsIHN0b3BzIHNyKQo+ID4gPiBIZXJl IHdlIGVpdGhlciBlbmFibGUgdGhlIGNydGMgKGRpc3BsYXkgYWxyZWFkeSBvbikgb3IgYm90aC4g U2luY2Ugd2UKPiA+ID4gb25seSBnbyBpbnRvIHNyIHdpdGggdGhlIHRpbWVyIHRoZXJlJ3Mgbm8g M3JkIGNhc2Ugb2Ygb25seSBlbmFibGluZwo+ID4gPiB0aGUgZGlzcGxheS4gU28gc3RpbGwgYXN5 bWV0cmljLCBldmVuIHdpdGggbG90cyBtb3JlIGhvb2tzLgo+ID4gCj4gPiBXZSBkb24ndCBuZWVk IHRoZSAoYWN0aXZlIG9mZiwgc3Igb24pIC0+IChhY3RpdmUgb2ZmLCBzciBvZmYpICh0aGlyZCkg Y2FzZQo+ID4gYWJvdmUsIGl0J3MgdGhlIHNhbWUgYXMgdGhlIGZpcnN0LiBKdXN0IGRvaW5nIGEg ZnVsbCBkaXNhYmxlIGlzIHN1ZmZpY2llbnQsCj4gPiBzbyB5b3Ugd291bGQgaGF2ZSBzeW1tZXRy eSBpbiB0aGUgZW5hYmxlL2Rpc2FibGUgY2FsbHMgYW5kIGFzeW1tZXRyeSBpbiB0aGUKPiA+IHNy IGNhbGxzLiBUaGlzIGlzIHNpbWlsYXIgdG8gZW5hYmxpbmcgYSBwbGFuZSwgb3IgdHVybmluZyBv dGhlciBIVyBmZWF0dXJlcyBvbgo+ID4gd2hpbGUgZW5hYmxlZC4gU1IgaXMgYWZ0ZXIgYWxsIGp1 c3QgYSBmZWF0dXJlIG9mIHRoZSBoYXJkd2FyZS4KPiAKPiBIbSB5ZWFoIEkgZ3Vlc3Mgd2UgY2Fu IHRyZWF0IGl0IGxpa2UgcGxhbmUgZGlzYWJsaW5nLCB3aGljaCBpbXBsaWNpdGx5Cj4gaGFwcGVu cyBpbiBjcnRjLT5kaXNhYmxlIHRvby4gT3IgdGhlIGltcGxpY2l0IHBsYW5lIGVuYWJsZSBpbiBj cnRjLT5lbmFibGUKPiAoYWx0aG91Z2ggdGhhdCBjYXNlIGRvZXNuJ3QgZXhpc3QgZm9yIHNyLCBz aW5jZSB3ZSBuZXZlciBnbyBkaXJlY3RseSBpbnRvCj4gc3IpLgo+IAo+ID4gPiBJZiB5b3Ugd2Fu dCB0aGUgZnVsbCBtYXRyaXgsIHRoZXJlJ3MgZ29pbmcgdG8gYmUgYSBfbG90XyBvZiBob29rcy4g SQo+ID4gPiB0aGluayBzbGlnaHRseSBtb3JlIGF3a3dhcmQgZHJpdmVyLCBidXQgbGVzcyBob29r cyBpcyBiZXR0ZXIuIEhlbmNlCj4gPiA+IHRoZSBzbGlnaHRseSBhd2t3YXJkIG1pZGRsZSBncm91 bmQgb2YgYSBzcGVjaWFsIGRpc2FibGVfZnJvbV9zciBob29rLgo+ID4gPiBCdXQgbWF5YmUgdGhl cmUncyBhIGJldHRlciBvcHRpb24gc29tZXdoZXJlIGVsc2UgLi4uCj4gPiAKPiA+IFRoZXJlJ3Mg cmVhbGx5IG5vIHJlYXNvbiB0byBldmVuIGhhdmUgdGhlIHNyX2Rpc2FibGUgZnVuY3Rpb24uIFRo ZSAuZGlzYWJsZQo+ID4gZnVuY3Rpb24gaW4gdGhlIGRyaXZlciB3aWxsIGFscmVhZHkgbmVlZCBz cGVjaWFsIGNhc2luZyB0byBkZXRlY3QgcHNyX2VudHJ5Cj4gPiB2cyBmdWxsIGRpc2FibGUsIHNv IGl0J2QgYmUgYmV0dGVyIHRvIGp1c3QgY2FsbCBkaXNhYmxlIHR3aWNlLiBUaGUgLnNyX2Rpc2Fi bGUKPiA+IGZ1bmN0aW9uIHdvdWxkIGFsd2F5cyBqdXN0IGRvIGEgZnVsbCBkaXNhYmxlIChpZTog dGhlIC5kaXNhYmxlIGltcGxlbWVudGF0aW9uCj4gPiB3aXRob3V0IHRoZSBzciBjaGVja3MgYXQg dGhlIHRvcCkuCj4gPiAKPiA+IFNvIHRoZSBkZWJhdGUgc2hvdWxkIGJlOiBhZGQgc3JfZW5hYmxl L2Rpc2FibGUgcGFpciBvZiBob29rcywgb3Igb3ZlcmxvYWQKPiA+IGRpc2FibGUgd2l0aCBhc3lt bWV0cnkgKGN1cnJlbnQgaW1wbGVtZW50YXRpb24pLgo+IAo+IEkgZ3Vlc3MgdGhhdCBtZWFucyB3 ZSdyZSBiYWNrIHRvIG5vIG5ldyBob29rcywgYW5kIHRoZSBkcml2ZXIganVzdCBkdHJ0Cj4gaW4g dGhlIGV4aXN0aW5nIGhvb2tzIHdpdGggdGhlIHN0YXRlIHRyYW5zaXRpb24gYml0cyB3ZSBoYXZl PyBJIHRob3VnaHQKPiB0aGUgaXNzdWUgd2l0aCB0aGF0IGlzIHRoYXQgd2UgY2FuJ3QgZ2V0IGF0 IGFsbCB0aGUgcmlnaHQgYml0cywgaGVuY2UgdGhlCj4gc3JfZGlzYWJsZSBzcGVjaWFsIGNhc2Ug aG9vay4KPiAKPiBPciBpcyB5b3VyIHBsYW4gdG8gcm9sbCBvdXQgYSBmdWxsIG5ldyBzZXQgb2Yg aG9va3MsIGVxdWlwcGVkIHdpdGgKPiBvbGQvbmV3X3N0YXRlIGZvciBldmVyeXRoaW5nPyBJIHRo aW5rIHdlJ2Qgb25seSBuZWVkIG9sZC9uZXdfc3RhdGUgZm9yIHRoZQo+IG9iamVjdCBhdCBoYW5k LCBzaW5jZSB3aXRoIHRoZSBvbGRfc3RhdGUgeW91IGNhbiBnZXQgYXQgZHJtX2F0b21pY19zdGF0 ZSwKPiB3aGljaCBhbGxvd3MgeW91IHRvIGdldCBhbnl0aGluZyBlbHNlIHJlYWxseS4KCkkgd291 bGQgc3VnZ2VzdCBhbGwgbmV3IGhvb2tzIHNob3VsZCBiZSBzcGVjaWZpZWQgYXMKZG9fc3R1ZmYo c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgZHJtX2ZvbyAqZm9vKTsKVGhh dCB3YXkgdGhlcmUgaXMgbGVzcyBjb25mdXNpb24gaG93IHRvIGdldCBhdCBvdGhlciBzdGF0ZXMK YmVzaWRlcyB0aGUgb2xkL25ldyBmb28gc3RhdGVzIGV4cGxpY2l0bHkgcGFzc2VkIGluLgoKLS0g ClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWw=