From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 1/5] drm: Add helpers to kick off self refresh mode in drivers Date: Fri, 29 Mar 2019 16:36:32 +0100 Message-ID: <20190329153632.GP2665@phenom.ffwll.local> 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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7AB2F6E86E for ; Fri, 29 Mar 2019 15:36:36 +0000 (UTC) Received: by mail-ed1-x543.google.com with SMTP id h22so2393412edw.7 for ; Fri, 29 Mar 2019 08:36:36 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20190329131659.GO114153@art_vandelay> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sean Paul Cc: Zain Wang , David Airlie , Jose Souza , Tomasz Figa , Maxime Ripard , Sean Paul , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBNYXIgMjksIDIwMTkgYXQgMDk6MTY6NTlBTSAtMDQwMCwgU2VhbiBQYXVsIHdyb3Rl Ogo+IE9uIEZyaSwgTWFyIDI5LCAyMDE5IGF0IDA5OjIxOjEwQU0gKzAxMDAsIERhbmllbCBWZXR0 ZXIgd3JvdGU6Cj4gPiBPbiBUaHUsIE1hciAyOCwgMjAxOSBhdCAwNTowMzowM1BNIC0wNDAwLCBT ZWFuIFBhdWwgd3JvdGU6Cj4gPiA+IE9uIFdlZCwgTWFyIDI3LCAyMDE5IGF0IDA3OjE1OjAwUE0g KzAxMDAsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiA+ID4gT24gVHVlLCBNYXIgMjYsIDIwMTkg YXQgMDQ6NDQ6NTRQTSAtMDQwMCwgU2VhbiBQYXVsIHdyb3RlOgo+ID4gPiA+ID4gRnJvbTogU2Vh biBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Cj4gPiA+ID4gPiAKPiA+ID4gPiA+IFRoaXMg cGF0Y2ggYWRkcyBhIG5ldyBkcm0gaGVscGVyIGxpYnJhcnkgdG8gaGVscCBkcml2ZXJzIGltcGxl bWVudAo+ID4gPiA+ID4gc2VsZiByZWZyZXNoLiBEcml2ZXJzIGNob29zaW5nIHRvIHVzZSBpdCB3 aWxsIHJlZ2lzdGVyIGNydGNzIGFuZAo+ID4gPiA+ID4gd2lsbCByZWNlaXZlIGNhbGxiYWNrcyB3 aGVuIGl0J3MgdGltZSB0byBlbnRlciBvciBleGl0IHNlbGYgcmVmcmVzaAo+ID4gPiA+ID4gbW9k ZS4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gSW4gaXRzIGN1cnJlbnQgZm9ybSwgaXQgaGFzIGEgdGlt ZXIgd2hpY2ggd2lsbCB0cmlnZ2VyIGFmdGVyIGEKPiA+ID4gPiA+IGRyaXZlci1zcGVjaWZpZWQg YW1vdW50IG9mIGluYWN0aXZpdHkuIFdoZW4gdGhlIHRpbWVyIHRyaWdnZXJzLCB0aGUKPiA+ID4g PiA+IGhlbHBlcnMgd2lsbCBzdWJtaXQgYSBuZXcgYXRvbWljIGNvbW1pdCB0byBzaHV0IHRoZSBy ZWZyZXNoaW5nIHBpcGUKPiA+ID4gPiA+IG9mZi4gT24gdGhlIG5leHQgYXRvbWljIGNvbW1pdCwg dGhlIGRybSBjb3JlIHdpbGwgcmV2ZXJ0IHRoZSBzZWxmCj4gPiA+ID4gPiByZWZyZXNoIHN0YXRl IGFuZCBicmluZyBldmVyeXRoaW5nIGJhY2sgdXAgdG8gYmUgYWN0aXZlbHkgZHJpdmVuLgo+ID4g PiA+ID4gCj4gPiA+ID4gPiBGcm9tIHRoZSBkcml2ZXIncyBwZXJzcGVjdGl2ZSwgdGhpcyB3b3Jr cyBsaWtlIGEgcmVndWxhciBkaXNhYmxlL2VuYWJsZQo+ID4gPiA+ID4gY3ljbGUuIFRoZSBkcml2 ZXIgbmVlZCBvbmx5IGNoZWNrIHRoZSAnc2VsZl9yZWZyZXNoX2FjdGl2ZScgYW5kL29yCj4gPiA+ ID4gPiAnc2VsZl9yZWZyZXNoX2NoYW5nZWQnIHN0YXRlIGluIGNydGNfc3RhdGUgYW5kIGNvbm5l Y3Rvcl9zdGF0ZS4gSXQKPiA+ID4gPiA+IHNob3VsZCBpbml0aWF0ZSBzZWxmIHJlZnJlc2ggbW9k ZSBvbiB0aGUgcGFuZWwgYW5kIGVudGVyIGFuIG9mZiBvcgo+ID4gPiA+ID4gbG93LXBvd2VyIHN0 YXRlLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBDaGFuZ2VzIGluIHYyOgo+ID4gPiA+ID4gLSBzL3Bz ci9zZWxmX3JlZnJlc2gvIChEYW5pZWwpCj4gPiA+ID4gPiAtIGludGVncmF0ZWQgdGhlIHBzciBl eGl0IGludG8gdGhlIGNvbW1pdCB0aGF0IHdha2VzIGl0IHVwIChKb3NlL0RhbmllbCkKPiA+ID4g PiA+IC0gbWFkZSB0aGUgcHNyIHN0YXRlIHBlci1jcnRjIChKb3NlL0RhbmllbCkKPiA+ID4gPiA+ IAo+ID4gPiA+ID4gTGluayB0byB2MTogaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3Jn L3BhdGNoL21zZ2lkLzIwMTkwMjI4MjEwOTM5LjgzMzg2LTItc2VhbkBwb29ybHkucnVuCj4gPiA+ ID4gPiAKPiA+ID4gPiA+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+Cj4gPiA+ ID4gPiBDYzogSm9zZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+Cj4gPiA+ID4gPiBDYzog WmFpbiBXYW5nIDx3enpAcm9jay1jaGlwcy5jb20+Cj4gPiA+ID4gPiBDYzogVG9tYXN6IEZpZ2Eg PHRmaWdhQGNocm9taXVtLm9yZz4KPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8 c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiAgRG9jdW1lbnRh dGlvbi9ncHUvZHJtLWttcy1oZWxwZXJzLnJzdCAgICAgfCAgIDkgKwo+ID4gPiA+ID4gIGRyaXZl cnMvZ3B1L2RybS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgIHwgICAzICstCj4gPiA+ID4gPiAg ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgICAgICAgfCAgIDQgKwo+ID4gPiA+ ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jICAgICAgIHwgIDM2ICsrKy0K PiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuYyB8ICAg OCArCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jICAgICAgICAg fCAgIDUgKy0KPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3NlbGZfcmVmcmVzaF9oZWxw ZXIuYyB8IDIxMiArKysrKysrKysrKysrKysrKysrKysrCj4gPiA+ID4gPiAgaW5jbHVkZS9kcm0v ZHJtX2F0b21pYy5oICAgICAgICAgICAgICAgICAgfCAgMTUgKysKPiA+ID4gPiA+ICBpbmNsdWRl L2RybS9kcm1fY29ubmVjdG9yLmggICAgICAgICAgICAgICB8ICAzMSArKysrCj4gPiA+ID4gPiAg aW5jbHVkZS9kcm0vZHJtX2NydGMuaCAgICAgICAgICAgICAgICAgICAgfCAgMTkgKysKPiA+ID4g PiA+ICBpbmNsdWRlL2RybS9kcm1fc2VsZl9yZWZyZXNoX2hlbHBlci5oICAgICB8ICAyMyArKysK PiA+ID4gPiA+ICAxMSBmaWxlcyBjaGFuZ2VkLCAzNjAgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlv bnMoLSkKPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2RybV9z ZWxmX3JlZnJlc2hfaGVscGVyLmMKPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVk ZS9kcm0vZHJtX3NlbGZfcmVmcmVzaF9oZWxwZXIuaAo+ID4gPiA+ID4gCj4gCj4gL3NuaXAKPiAK PiA+ID4gPiA+IGluZGV4IDQ5ODUzODRlNTFmNi4uZWM5MGM1MjdkZWVkIDEwMDY0NAo+ID4gPiA+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVyLmMKPiA+ID4g PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5jCj4gPiA+ ID4gPiBAQCAtMTA1LDYgKzEwNSwxMCBAQCB2b2lkIF9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19k dXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gPiA+ID4gIAlzdGF0ZS0+ Y29tbWl0ID0gTlVMTDsKPiA+ID4gPiA+ICAJc3RhdGUtPmV2ZW50ID0gTlVMTDsKPiA+ID4gPiA+ ICAJc3RhdGUtPnBhZ2VmbGlwX2ZsYWdzID0gMDsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJLyog U2VsZiByZWZyZXNoIHNob3VsZCBiZSBjYW5jZWxlZCB3aGVuIGEgbmV3IHVwZGF0ZSBpcyBhdmFp bGFibGUgKi8KPiA+ID4gPiA+ICsJc3RhdGUtPmFjdGl2ZSA9IGRybV9hdG9taWNfY3J0Y19lZmZl Y3RpdmVseV9hY3RpdmUoc3RhdGUpOwo+ID4gPiA+ID4gKwlzdGF0ZS0+c2VsZl9yZWZyZXNoX2Fj dGl2ZSA9IGZhbHNlOwo+ID4gPiA+ID4gIH0KPiA+ID4gPiA+ICBFWFBPUlRfU1lNQk9MKF9fZHJt X2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUpOwo+ID4gPiA+ID4gIAo+ID4gPiA+ ID4gQEAgLTM3MCw2ICszNzQsMTAgQEAgX19kcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHVw bGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiA+ID4gPiAg Cj4gPiA+ID4gPiAgCS8qIERvbid0IGNvcHkgb3ZlciBhIHdyaXRlYmFjayBqb2IsIHRoZXkgYXJl IHVzZWQgb25seSBvbmNlICovCj4gPiA+ID4gPiAgCXN0YXRlLT53cml0ZWJhY2tfam9iID0gTlVM TDsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJLyogU2VsZiByZWZyZXNoIHNob3VsZCBiZSBjYW5j ZWxlZCB3aGVuIGEgbmV3IHVwZGF0ZSBpcyBhdmFpbGFibGUgKi8KPiA+ID4gPiA+ICsJc3RhdGUt PnNlbGZfcmVmcmVzaF9jaGFuZ2VkID0gc3RhdGUtPnNlbGZfcmVmcmVzaF9hY3RpdmU7Cj4gPiA+ ID4gPiArCXN0YXRlLT5zZWxmX3JlZnJlc2hfYWN0aXZlID0gZmFsc2U7Cj4gPiA+ID4gCj4gPiA+ ID4gV2h5IHRoZSBkdXBsaWNhdGlvbiBpbiBzZWxmLXJlZnJlc2ggdHJhY2tpbmc/IENvbm5lY3Rv cnMgbmV2ZXIgaGF2ZSBhCj4gPiA+ID4gZGlmZmVyZW50IHNlbGYtcmVmcmVzaCBzdGF0ZSwgYW5k IHlvdSBjYW4gYWx3YXlzIGxvb2sgYXQgdGhlIHJpZ2h0Cj4gPiA+ID4gY3J0Y19zdGF0ZS4gRHVw bGljYXRpb24ganVzdCBnaXZlcyB1cyB0aGUgY2hhbmNlIHRvIHNjcmV3IHVwIGFuZCBnZXQgb3V0 Cj4gPiA+ID4gb2Ygc3luYyAoZS5nLiBpZiB0aGUgY3J0YyBmb3IgYSBjb25uZWN0b3IgY2hhbmdl cykuCj4gPiA+ID4gCj4gPiA+IAo+ID4gPiBPbiBkaXNhYmxlIHRoZSBjcnRjIGlzIGNsZWFyZWQg ZnJvbSBjb25uZWN0b3Jfc3RhdGUsIHNvIHdlIGRvbid0IGhhdmUgYWNjZXNzIHRvCj4gPiA+IGl0 LiBJZiBJIGFkZCB0aGUgYXBwcm9wcmlhdGUgYXRvbWljX2VuYWJsZS9kaXNhYmxlIGhvb2tzIGFz IHN1Z2dlc3RlZCBiZWxvdywgd2UKPiA+ID4gc2hvdWxkIGJlIGFibGUgdG8gbnVrZSB0aGVzZS4K PiA+IAo+ID4gWWVhaCB3ZSdkIG5lZWQgdGhlIG9sZCBzdGF0ZSB0byBsb29rIGF0IHRoZSBjcnRj IGFuZCBhbGwgdGhhdC4gV2hpY2ggaXMgYQo+ID4gbG90IG1vcmUgdHJpY2tpZXIuCj4gPiAKPiA+ IFNpbmNlIGl0J3Mgc3VjaCBhIHNwZWNpYWwgY2FzZSwgc2hvdWxkIHdlIGhhdmUgYSBkZWRpY2F0 ZWQgY2FsbGJhY2sgZm9yCj4gPiB0aGUgZGlyZWN0IHNlbGYtcmVmcmVzaCAtPiBjb21wbGV0ZWx5 IG9mZiB0cmFuc2l0aW9uPyBJdCdsbCBiZSBhc3ltZXRyaWMsCj4gPiBidXQgdGhhdCdzIHRoZSBu YXR1cmUgb2YgdGhpcyBJIHRoaW5rLgo+IAo+IFJpZ2h0LCB0aGUgYXN5bW1ldHJ5IGlzIHJlYWxs eSBhbm5veWluZyBoZXJlLiBJZiB0aGUgZHJpdmVyIGlzIFNSLWF3YXJlLCBpdCBtYWtlcwo+IHNl bnNlIHNpbmNlIFNSLWFjdGl2ZSB0byBkaXNhYmxlIGlzIGEgcmVhbCB0cmFuc2l0aW9uLiBIb3dl dmVyIGlmIHRoZSBkcml2ZXIgaXMKPiBub3QgU1ItYXdhcmUgKGllOiBpdCBqdXN0IGdldHMgdHVy bmVkIG9mZiB3aGVuIFNSIGJlY29tZXMgYWN0aXZlKSwgdGhlIGRpc2FibGUKPiBmdW5jdGlvbiBn ZXRzIGNhbGxlZCB0d2ljZSB3aXRob3V0IGFuIGVuYWJsZS4gU28gdGhhdCBjaGFuZ2VzIHRoZSAi Zm9yIGV2ZXJ5Cj4gZW5hYmxlIHRoZXJlIGlzIGEgZGlzYWJsZSBhbmQgdmljZSB2ZXJzYSIgYXNz dW1wdGlvbi4KPiAKPiBUaGlzIGlzIG9uZSBvZiB0aGUgYmVuZWZpdHMgb2YgdGhlIHYxIGRlc2ln biwgU1Igd2FzIGJvbHRlZCBvbiBhbmQgbm8gZXhpc3RpbmcKPiBydWxlcyAoYXN5bmMvbm9fbW9k ZXNldC9lbmFibGUtZGlzYWJsZSBwYWlycykgd2VyZSBbZXhwbGljaXRseV0gYnJva2VuLiBUaGF0 J3MKPiBub3QgdG8gc2F5IGl0IHdhcyBiZXR0ZXIsIGl0IHdhc24ndCwgYnV0IGl0IHdhcyBhIGJp ZyBjb25zaWRlcmF0aW9uLgo+IAo+IFNvLCB3aGF0IHRvIGRvLgo+IAo+IEkgcmVhbGx5IGxpa2Ug dGhlIGlkZWEgdGhhdCBkcml2ZXJzIHNob3VsZG4ndCBoYXZlIHRvIGJlIFNSLWF3YXJlIHRvIGJl IGludm9sdmVkCj4gaW4gdGhlIHBpcGVsaW5lLiBTbyBpZiB3ZSBhZGQgYSBob29rIGZvciB0aGlz IGxpa2UgeW91IHN1Z2dlc3QsIHdlIGNvdWxkIGF2b2lkCj4gY2FsbGluZyBkaXNhYmxlIHR3aWNl IG9uIGFueXRoaW5nIG5vdCBTUi1hd2FyZS4gV2Ugd291bGQgbmVlZCB0byBhZGQgdGhlIGhvb2sg b24KPiBjcnRjL2VuY29kZXIvYnJpZGdlIHRvIG1ha2Ugc3VyZSB5b3UgY291bGQgbWl4IG4nIG1h dGNoIFNSLWF3YXJlIGFuZAo+IG5vbi1TUi1hd2FyZSBkZXZpY2VzLgo+IAo+IEl0IHByb2JhYmx5 IG1ha2VzIHNlbnNlIHRvIGp1c3QgYWRkIG1hdGNoaW5nIFNSIGhvb2tzIGF0IHRoaXMgcG9pbnQu IFNpbmNlIGlmCj4gdGhlIGRyaXZlciBpcyBkb2luZyBzb21ldGhpbmcgc3BlY2lhbCBpbiBkaXNh YmxlLCBpdCdsbCBuZWVkIHRvIGRvIHNvbWV0aGluZwo+IHNwZWNpYWwgaW4gZW5hYmxlLiBJdCBh bHNvIHJlc2VydmVzIGVuYWJsZSBhbmQgZGlzYWJsZSBmb3Igd2hhdCB0aGV5J3ZlCj4gdHJhZGl0 aW9uYWxseSBkb25lLiBJZiBhIGRldmljZSBpcyBub3QgU1ItYXdhcmUsIGl0J2xsIGp1c3QgZmFs bCBiYWNrIHRvIHRoZQo+IGZ1bGwgZW5hYmxlL2Rpc2FibGUgYW5kIHdlJ2xsIG1ha2Ugc3VyZSB0 byBub3QgZG91YmxlIHVwIG9uIHRoZSBkaXNhYmxlIGluIHRoZQo+IGhlbHBlcnMuCj4gCj4gU28g d2UnbGwga2VlcCBzeW1tZXRyeSwgYW5kIGF2b2lkIGhhdmluZyBhbiBhd2Z1bCBob29rIG5hbWUg bGlrZQo+IGRpc2FibGVfZnJvbV9zZWxmX3JlZnJlc2guLiB5dWNrIQo+IAo+IFRob3VnaHRzPwoK SSBsaWtlIHRoZSBhc3ltZXRyeSBhY3R1YWxseSwgaXQgaGFzIGdyb3duIG9uIGEgYml0IHdoaWxl IHdvcmtpbmcgb3V0IGFuZApwb25kZXJpbmcgdGhpcyA6LSkKCkJlbmVmaXRzOgotIHdlIGtlZXAg dGhlIDEwMCUgc3ltbWV0cnkgb2YgZW5hYmxlL2Rpc2FibGUgaG9va3MKLSBzZWxmLXJlZnJlc2gg YXdhcmUgY29ubmVjdG9yIGNvZGUgYWxzbyBnZXRzIGEgYml0IHNpbXBsZXIgSSB0aGluazogaW4K ICB0aGUgbm9ybWFsIGVuYWJsZS9kaXNhYmxlIGhvb2tzIGl0IGNhbiBqdXN0IGNoZWNrIGZvcgog IGNvbm5lY3Rvci0+c3RhdGUtPmNydGMtPnN0YXRlLT5zZWxmX3JlZnJlc2hfYWN0aXZlIGZvciBz ciBzdGF0ZSBjaGFuZ2VzCiAgd2hpbGUgdGhlIHBpcGUgaXMgbG9naWNhbGx5IHN0YXlpbmcgb24K LSB0aGUgb25lIGFzeW1tZXRyaWMgY2FzZSBkdWUgdG8gdGhpcyBkZXNpZ24gd2hlcmUgd2UgZGlz YWJsZSB0aGUgcGlwZQogIGhhcmRlciBoYXMgYW4gYXdrd2FyZCBzcGVjaWFsIGhvb2ssIHdoaWNo IGdpdmVzIHVzIGEgZ3JlYXQgb3Bwb3J0dW5pdHkKICB0byBleHBsYWluIHdoeSBpdCdzIG5lZWRl ZAotIG5vdGhpbmcgY2hhbmdlcyBmb3Igbm9uLXNyIGF3YXJlIGRyaXZlcnMKLSBhbHNvIG5vIG5l ZWQgdG8gZHVwbGljYXRlIHNyIHN0YXRlIGludG8gY29ubmVjdG9ycywgc2luY2UgaXQncyBhbGwK ICBmYWlybHkgZXhwbGl0IGFscmVhZHkgaW4gYWxsIHRocmVlIHN0YXRlIHRyYW5zaXRpb25zLgoK LSBTUiBvbiBjYW4gb25seSBoYXBwZW4gaWYgdGhlIGxvZ2ljYWwgY3J0Y19zdGF0ZS0+YWN0aXZl IGlzIG9uIGFuZCBzdGF5cyBvbgotIFNSIGNhbiBnZXQgZGlzYWJsZWQgaW4gMiBzdWJjYXNlcwog IC0gbG9naWNhbCBhY3RpdmUgc3RhdGUgc3RheXMgb24gLT4gaGFuZGxlZCB3aXRoIGV4aXN0aW5n IGhvb2tzCiAgLSBsb2dpY2FsIGFjdGl2ZSBzdGF0ZSBhbHNvIGdvZXMgb2ZmIC0+IGV4aXN0aW5n IGhvb2tzIGFsbCBza2lwIChiZWNhdXNlCiAgICBhY3RpdmU9ZmFsc2UgLT4gYWN0aXZlPWZhbHNl IGlzIGEgbm8tb3ApLCB0aGUgc3BlY2lhbCAtPnNyX2Rpc2FibGUKICAgIHRha2VzIGNhcmUKCkl0 IGZlZWxzIGxpa2UgdGhpcyBpcyBjbGVhbiwgaW50ZWdyYXRlcyB3ZWxsIHdpdGggYXRvbWljIGhl bHBlcnMgb3ZlcmFsbAphbmQgaXQgZXZlbiBtYWtlcyBzZW5zZS4gQXQgbGVhc3QgdG8gbXkgc2xp Z2h0bHkgb3h5Z2VuIGRlcHJpdmVkIG1pbmQKcmlnaHQgbm93IC4uLgoKPiA+ID4gPiA+ICB9Cj4g PiA+ID4gPiAgRVhQT1JUX1NZTUJPTChfX2RybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kdXBs aWNhdGVfc3RhdGUpOwo+ID4gPiA+ID4gIAo+IAo+IC9zbmlwCj4gCj4gPiA+ID4gPiBkaWZmIC0t Z2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5l Y3Rvci5oCj4gPiA+ID4gPiBpbmRleCBjODA2MTk5MmQ2Y2IuLjBhZTdlODEyZWM2MiAxMDA2NDQK PiA+ID4gPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ID4gPiA+ID4gKysr IGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gPiA+ID4gPiBAQCAtNTAxLDYgKzUwMSwz NyBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSB7Cj4gPiA+ID4gPiAgCS8qKiBAdHY6IFRW IGNvbm5lY3RvciBzdGF0ZSAqLwo+ID4gPiA+ID4gIAlzdHJ1Y3QgZHJtX3R2X2Nvbm5lY3Rvcl9z dGF0ZSB0djsKPiA+ID4gPiA+ICAKPiA+ID4gPiA+ICsJLyoqCj4gPiA+ID4gPiArCSAqIEBzZWxm X3JlZnJlc2hfY2hhbmdlZDoKPiA+ID4gPiA+ICsJICoKPiA+ID4gPiA+ICsJICogU2V0IHRydWUg d2hlbiBzZWxmIHJlZnJlc2ggc3RhdHVzIGhhcyBjaGFuZ2VkLiBUaGlzIGlzIHVzZWZ1bCBmb3IK PiA+ID4gPiA+ICsJICogdXNlIGluIGVuY29kZXIvYnJpZGdlIGVuYWJsZSB3aGVyZSB0aGUgb2xk IHN0YXRlIGlzIHVuYXZhaWxhYmxlIHRvCj4gPiA+ID4gPiArCSAqIHRoZSBkcml2ZXIgYW5kIGl0 IG5lZWRzIHRvIGtub3cgd2hldGhlciB0aGUgZW5hYmxlIHRyYW5zaXRpb24gaXMgYQo+ID4gPiA+ ID4gKwkgKiBmdWxsIHRyYW5zaXRpb24sIG9yIGlmIGl0IGp1c3QgbmVlZHMgdG8gZXhpdCBzZWxm IHJlZnJlc2ggbW9kZS4KPiA+ID4gPiAKPiA+ID4gPiBVaCwgd2UganVzdCBuZWVkIHByb3BlciBh dG9taWMgY2FsbGJhY2tzIHdpdGggYWxsIHRoZSBzdGF0ZXMgYXZhaWxhYmxlLgo+ID4gPiA+IE9u Y2UgeW91IGhhdmUgb25lLCB5b3UgY2FuIGdldCBhdCB0aGUgb3RoZXJzLgo+ID4gPiA+IAo+ID4g PiAKPiA+ID4gV2VsbCwgc3VyZSwgd2UgY291bGQgZG8gdGhhdCB0b28gOikKPiA+IAo+ID4gdGJo IEknbSBub3Qgc3VyZSB3aGV0aGVyIHRoYXQncyByZWFsbHkgYmV0dGVyLCB0aGUgZHVwbGljYXRp b24ganVzdCBpcmtzCj4gPiBtZS4gV2l0aCBhIG5ldyBjYWxsYmFjayBmb3IgdGhlIHNwZWNpYWwg c2VsZi1yZWZyZXNoIGRpc2FibGUgKEkgZ3Vlc3Mgd2UKPiA+IG9ubHkgbmVlZCB0aGF0IG9uIHRo ZSBjb25uZWN0b3IpLCBwbHVzIGxvb2tpbmcgYXQKPiA+IGNvbm5lY3Rvci0+c3RhdGUtPmNydGMt PnN0YXRlLT5zZWxmX3JlZnJlc2gsIEkgdGhpbmsgd2UnZCBiZSBjb3ZlcmVkCj4gPiBhcy1pcz8g T3IgaXMgdGhlcmUgYSBjb3JuZXIgY2FzZSBJJ20gc3RpbGwgbWlzc2luZz8KPiA+IAo+IAo+IEkg dGhpbmsgd2UgY2FuIHJlbW92ZSBzZWxmX3JlZnJlc2hfY2hhbmdlZC9zZWxmX3JlZnJlc2hfYWN0 aXZlIGlmIHdlIGltcGxlbWVudAo+IGRlZGljYXRlZCBob29rcyBmb3Igc2VsZl9yZWZyZXNoX2Vu dGVyL2V4aXQuIFdlJ2xsIHdhbnQgdG8ga2VlcAo+IHNlbGZfcmVmcmVzaF9hd2FyZSBhcm91bmQg c2luY2UgdGhlIHByZXNlbmNlIG9mIHRoZSBjYWxsYmFjayBpbXBsZW1lbnRhdGlvbnMKPiBkb2Vz IG5vdCBpbXBseSB0aGUgcGFuZWwgY29ubmVjdGVkIHN1cHBvcnRzIFNSLgoKWXVwLCBzZWxmX3Jl ZnJlc2hfYXdhcmUgaXMgbmVlZGVkLgoKPiBBcyBtZW50aW9uZWQgYWJvdmUsIHdlJ2xsIG5lZWQg dGhlc2UgaG9va3Mgb24gZXZlcnl0aGluZyBpbiB0aGUgcGlwZWxpbmUgdG8gYmUKPiBmdWxseSBj b3ZlcmVkLgoKTGV0J3MganVzdCBkbyB0aGUgLT5zcl9kaXNhYmxlIGhvb2sgZm9yIG5vdy4gSSBk b24ndCB0aGluayB3ZSBuZWVkIGFsbCB0aGUKb3RoZXJzIHJlYWxseS4KCkNoZWVycywgRGFuaWVs Ci0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpo dHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWw=