From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 23/27] drm: Replace fb_helper->atomic with mode_config->atomic_commit Date: Mon, 13 Jun 2016 16:01:53 +0200 Message-ID: <20160613140153.GT3363@phenom.ffwll.local> References: <1465388359-8070-1-git-send-email-daniel.vetter@ffwll.ch> <1465388359-8070-23-git-send-email-daniel.vetter@ffwll.ch> <20160613075847.GQ3363@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id A7A1C6E5F2 for ; Mon, 13 Jun 2016 14:01:58 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id k184so15145435wme.2 for ; Mon, 13 Jun 2016 07:01:58 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ying Liu Cc: Daniel Vetter , DRI Development , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBKdW4gMTMsIDIwMTYgYXQgMDU6MjY6MjhQTSArMDgwMCwgWWluZyBMaXUgd3JvdGU6 Cj4gT24gTW9uLCBKdW4gMTMsIDIwMTYgYXQgMzo1OCBQTSwgRGFuaWVsIFZldHRlciA8ZGFuaWVs QGZmd2xsLmNoPiB3cm90ZToKPiA+IE9uIFN1biwgSnVuIDEyLCAyMDE2IGF0IDA1OjAxOjI3UE0g KzA4MDAsIFlpbmcgTGl1IHdyb3RlOgo+ID4+IE9uIFdlZCwgSnVuIDgsIDIwMTYgYXQgODoxOSBQ TSwgRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4gd3JvdGU6Cj4gPj4gPiBE cml2ZXJzIHRyYW5zaXRpb25pbmcgdG8gYXRvbWljIG1pZ2h0IG5vdCB5ZXQgd2FudCB0byBlbmFi bGUgZnVsbAo+ID4+ID4gRFJJVkVSX0FUT01JQyBzdXBwb3J0IHdoZW4gaXQncyBub3QgZW50aXJl bHkgd29ya2luZy4gQnV0IHVzaW5nIGF0b21pYwo+ID4+ID4gaW50ZXJuYWxseSBtYWtlcyBhIGxv dCBtb3JlIHNlbnNlIGVhcmxpZXIuCj4gPj4gPgo+ID4+ID4gSW5zdGVhZCBvZiBzcHJlYWRpbmcg c3VjaCBmbGFncyB0byBtb3JlIHBsYWNlcyBJIGZpZ3VyZWQgaXQncyBzaW1wbGVyCj4gPj4gPiB0 byBqdXN0IGNoZWNrIGZvciBtb2RlX2NvbmZpZy0+ZnVuY3MtPmF0b21pY19jb21taXQsIGFuZCB1 c2UgYXRvbWljCj4gPj4gPiBwYXRocyBpZiB0aGF0IGlzIHNldC4gRm9yIHRoZSBvbmx5IGRyaXZl ciBjdXJyZW50bHkgdHJhbnNpdGlvbmluZwo+ID4+ID4gKGk5MTUpIHRoaXMgZG9lcyB0aGUgcmln aHQgdGhpbmcuCj4gPj4KPiA+PiBXZWxsLCBpbXgtZHJtIGlzIHRyYW5zaXRpb25pbmcuCj4gPj4g VW5mb3J0dW5hdGVseSwgYWZ0ZXIgYXBwbHlpbmcgdGhpcyBwYXRjaCwgbGVnYWN5IGZiZGV2IGNh bm5vdCBlbmFibGUKPiA+PiBkaXNwbGF5cyB3aGVuIHRoZSBpbXgtZHJtIHRyYW5zaXRpb25hbCBw YXRjaCBzZXQgcmVhY2hlcyBwaGFzZSAzIHN0ZXAgMVsxXS4KPiA+Pgo+ID4+IEZvciB0aG9zZSB0 cmFuc2l0aW9uaW5nIGRyaXZlcnMgd2l0aCBmaW5lLWdyYWluZWQgc3RlcHMsIHRoaXMgcGF0Y2gK PiA+PiBpcyBsaWtlbHkgdG8gZXhwb3NlIHRoZSBhdG9taWMgZnVuY3Rpb24gX19kcm1fYXRvbWlj X2hlbHBlcl9zZXRfY29uZmlnCj4gPj4gdG8gbGVnYWN5IGZiZGV2IHN1cHBvcnQgdG9vIGVhcmx5 LiBUaGV5IGNvdWxkIHN0aWxsIGJlIHVzaW5nCj4gPj4gZHJtX2NydGNfaGVscGVyX3NldF9jb25m aWcgd2hlbiBhZGRpbmcgLT5hdG9taWNfY29tbWl0Lgo+ID4+Cj4gPj4gQlRXLCB0aGlzIHBhdGNo IGFuZCB0aG9zZSBmb3IgZ2VuZXJpYyBub25ibG9ja2luZyBjb21taXQgYXJlIG1ha2luZwo+ID4+ IHRoZSBpbXgtZHJtIHRyYW5zaXRpb24gYSBiaXQgaGFyZGVyLiAgTm90IGdvb2QgdGltaW5nIHBy b2JhYmx5Lgo+ID4+IEJ1dCwgSSdsbCBnbyBvbiB3aXRoIHRoZSB0YXNrIGFueXdheS4KPiA+Cj4g PiBIbSwgbWFraW5nIHRyYW5zaXRpb24gaGFyZGVyIHdhc24ndCByZWFsbHkgdGhlIGludGVudGlv bi4gV2hhdCBleGFjdGx5IGlzCj4gPiBibG93aW5nIHVwIGZvciB5b3U/IEF0IGxlYXN0IGhvdyBJ IHBsYW5uZWQgdGhlIHRyYW5zaXRpb24gdGhlIGZpcnN0IHRoaW5nCj4gPiB5b3Ugc2hvdWxkIGJl IGFibGUgdG8gZG8gaXMgYmFzaWMgbW9kZXNldHMgKG9uY2UgeW91IGZpbGwgb3V0Cj4gPiAtPmF0 b21pY19jb21taXQpLCBzbyBJIGhvcGVkIHRoYXQgdGhpcyB3b3VsZG4ndCBjYXVzZSB0cm91Ymxl Lgo+IAo+IEF0IHRoZSBpbXgtZHJtIHRyYW5zaXRpb24gcGhhc2UgMSwgaXB1X3BsYW5lX2F0b21p Y19jaGVjayBjaGVja3MKPiBjcnRjLT5lbmFibGVkIGFuZCBob3BlcyBpdCB0byBiZSB0cnVlLiBU aWxsIHBoYXNlIDMgc3RlcCAxLCB0aGlzIGZ1bmN0aW9uCj4gaXMgbm90IGNoYW5nZWQuIFRoaXMg cGF0Y2ggZXhwb3NlcyByZXN0b3JlX2ZiZGV2X21vZGVfYXRvbWljIGFuZAo+IHBhbl9kaXNwbGF5 X2F0b21pYyB0byBsZWdhY3kgZmJkZXYgdG9vIGVhcmx5LiAgQm90aCBvZiB0aGVtIGNhbGwKPiBk cm1fYXRvbWljX2NvbW1pdCB3aGljaCBkb2VzIHBsYW5lIGNoZWNrIGF0IGF0b21pYyBjaGVjayBz dGFnZS4KPiBUaGVuLCB0aGUgcGxhbmUgY2hlY2sgZmFpbHMgZm9yIHRoZSBsZWdhY3kgZmJkZXYs IGJlY2F1c2UKPiBkcm1fYXRvbWljX2NvbW1pdCBzZXRzIGNydGMtPmVuYWJsZWQgbGF0ZXIgdGhh biB0aGUgbGVnYWN5IHBhdGgKPiBkcm1fY3J0Y19oZWxwZXJfc2V0X21vZGUgZG9lcy4gIEFjdHVh bGx5LCBkcm1fYXRvbWljX2NvbW1pdAo+IGRvZXNuJ3Qgc2V0IGNydGMtPmVuYWJsZWQgdW50aWwg dGhlIGNvbW1pdCBzdGFnZSBpZiB5b3UgdXNlIHRoZQo+IGF0b21pYyBoZWxwZXIuCgpIbSwgbXkg aWRlYSB3YXMgdGhhdCBpbiBwaGFzZSAyICh3aGVuIHlvdSByb2xsIG91dCBzdGF0ZSBzdHJ1Y3R1 cmVzIGFuZApjaGVja3MpLCB5b3UnZCBjaGFuZ2UgeW91ciBhdG9taWNfY2hlY2sgZnVuY3Rpb25z IGZyb20gbG9va2luZyBhdCBsZWdhY3kKc3R1ZmYgbGlrZSBjcnRjLT5lbmFibGVkLCB0byBpbnN0 ZWFkIGxvb2sgYXQgbmV3IHN0YXRlIGxpa2UKY3J0Y19zdGF0ZS0+ZW5hYmxlZC4KCj4gT1RPSCwg d2UgZmlsbCBvdXQgLT5hdG9taWNfY29tbWl0IHdpdGggZHJtX2F0b21pY19oZWxwZXJfY29tbWl0 Cj4gYXQgcGhhc2UgMyBzdGVwIDEsIHRoZW4gZXhwb3NpbmcgZHJtX2F0b21pY19jb21taXQgbWVh bnMgdGhhdCB3ZQo+IG5lZWQgdG8gaGFuZGxlIGNydGNfc3RhdGUtPmV2ZW50IG5vIGxhdGVyIHRo YW4gcGhhc2UgMyBzdGVwIDEuLi4KPiBJIGhhdmVuJ3QgZGVjaWRlZCB0aGUgcmlnaHQgb3JkZXIv cHJvY2VzcyB0byBhZGQgdGhlIGhhbmRsaW5nLgoKWWVzLCB0aGlzIGlzIGEgY2hhbmdlOiBCZWZv cmUgeW91IGNhbiBzdGFydCB3aXRoIHBoYXNlIDMgeW91IG5lZWQgdG8KaGFuZGxlIGNydGNfc3Rh dGUtPmV2ZW50IGluIGF0b21pY19mbHVzaCAob3IgYSBzaW1pbGFyIHBsYWNlKS4KCj4gU28sIHdv dWxkIGl0IGJlIGFuIG9wdGlvbiB0byByZXZlcnQgdGhpcyBwYXRjaC4uLgoKSSdkIHJlYWxseSBs aWtlIHRvIGF2b2lkIHRoYXQgLSB0aGUgb2xkIGhhY2sgb2YgYWRkaW5nIGEga25vYiBmb3IgZXZl cnkKcGxhY2Ugd2Ugc2hvdWxkIHVzZSBhdG9taWMgd2FzIGdldHRpbmcgY29tcGxpY2F0ZWQgOigg QW5kIHJpZ2h0IG5vdwp0aGVyZSdzIG1hbnkgbW9yZSBhdG9taWMgZHJpdmVycyB0aGFuIGxlZ2Fj eSBvbmVzLCBhbmQgb25seSAyIGRyaXZlcnMgaW4KdHJhbnNpdGlvbiAoaTkxNSBhbmQgaW14KS4g R2l2ZW4gdGhhdCBJIHRoaW5rIHdlIHNob3VsZCBvcHRpbWl6ZSBtb3JlIGZvcgphdG9taWMgZHJp dmVycy4KCkJ1dCBsaWtlIEkgc2FpZCwgb2YgY291cnNlIHRyYW5zaXRpb24gc2hvdWxkbid0IGJl IHRvbyBwYWluZnVsLgoKPiA+IFdydCBub25ibG9ja2luZyBjb21taXQgaGVscGVycyBicmVha2lu ZyB0cmFuc2l0aW9uaW5nIGRyaXZlcnM6IFRoZSBtb3N0Cj4gPiBsaWtlbHkgY2F1c2UgaXMgeW91 ciBkcml2ZXIgaXNuJ3QgaGFuZGxpbmcgY3J0Y19zdGF0ZS0+ZXZlbnQgeWV0LiBCZWZvcmUKPiA+ IHlvdSBzdGFydCB1c2luZyAtPmF0b21pY19jb21taXQgb3Igb25lIG9mIHRoZSBoZWxwZXJzIHRv IG1hcCBsZWdhY3kgaW9jdGwKPiA+IHRvIGF0b21pYywgeW91IG5lZWQgdG8gZmlsbCBvdXQgc29t ZSBjb2RlIHRvIGhhbmRsZSB0aGF0IGluIC0+YXRvbWljX2JlZ2luCj4gPiBvciAtPmF0b21pY19m bHVzaC4gVGhlbiB0aGUgdHJhbnNpdGlvbiBzaG91bGQgc3RpbGwgd29yayBhcyBiZWZvcmUuCj4g Cj4gSSBkbyBoYXZlIGNvbmZ1c2lvbiBvbiB0aGUgZXZlbnQgaGFuZGxpbmcgaW4gc29tZSBkcml2 ZXJzJyAtPmF0b21pY19mbHVzaC4KPiBBdCBsZWFzdCBzdW40aSwga2lyaW4gYW5kIGZzbC1kY3Ug aGF2ZSB0aGUgYmVsb3cgc25pcDoKPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KPiAgICAgICAgIGlmIChldmVudCkgewo+ICAgICAgICAgICAgICAgICBjcnRjLT5z dGF0ZS0+ZXZlbnQgPSBOVUxMOwo+IAo+ICAgICAgICAgICAgICAgICBzcGluX2xvY2tfaXJxKCZj cnRjLT5kZXYtPmV2ZW50X2xvY2spOwo+ICAgICAgICAgICAgICAgICBpZiAoZHJtX2NydGNfdmJs YW5rX2dldChjcnRjKSA9PSAwKQo+ICAgICAgICAgICAgICAgICAgICAgICAgIGRybV9jcnRjX2Fy bV92YmxhbmtfZXZlbnQoY3J0YywgZXZlbnQpOwo+ICAgICAgICAgICAgICAgICBlbHNlCj4gICAg ICAgICAgICAgICAgICAgICAgICAgZHJtX2NydGNfc2VuZF92YmxhbmtfZXZlbnQoY3J0YywgZXZl bnQpOwo+ICAgICAgICAgICAgICAgICBzcGluX3VubG9ja19pcnEoJmNydGMtPmRldi0+ZXZlbnRf bG9jayk7Cj4gICAgICAgICB9Cj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Cj4gSXQgbG9va3MgZHJtX2NydGNfdmJsYW5rX2dldCBzZWxkb20gZmFpbHM/CgpJZiBp dCBuZXZlciBmYWlscyBmb3IgeW91LCB0aGVuIHlvdSBoYXZlbid0IHB1dCBkcm1fY3J0Y192Ymxh bmtfb24vb2ZmKCkKaW50byB5b3VyIGNydGMgZW5hYmxlL2Rpc2FibGUgY2FsbGJhY2tzLiBPZmMg dGhpcyBhc3N1bWVzIHlvdSBoYXZlIHJlYWwKdmJsYW5rIHN1cHBvcnQuCgo+IEFuZCB3aHkgZG8g d2Ugc2VuZCB2YmxhbmsgZXZlbnQgd2hlbiBpdCBmYWlscz8KClRoaXMgaXMganVzdCB0aGUgbW9z dCBmYWlsc2FmZSB3YXkgdG8gbWFrZSBzdXJlIHRoZSBldmVudCBnZXRzIG91dC4gSXQncwpyYXRo ZXIgaW5hY2N1cmF0ZSB0aG91Z2gsIHNvIHdvdWxkIGJlIG11Y2ggYmV0dGVyIGlmIHlvdSBjYW4g bWFrZSB0aGF0CmRlY2lzaW9uIGJ5IGluc3RlYWQgbG9va2luZyBhdCBjcnRjLT5zdGF0ZS0+YWN0 aXZlLCBsaWtlIGk5MTUgZG9lcy4KZHJtX2NydGNfdmJsYW5rX2dldCBhbHdheXMgd29ya3MgaW4t YmV0d2VuIGRybV9jcnRjX3ZibGFua19vbi9vZmYoKSBjYWxscywKaS5lLiB3aGVuIHRoZSBjcnRj IGlzIHN1cHBvc2VkIHRvIGJlIG9uLiBBbmQgd2hlbiB5b3UgZGlzYWJsZSB0aGUgY3J0YyBhbmQK aXQgc3RheXMgZGlzYWJsZSB0aGVuIHlvdSBzaG91bGQgc2VuZCBvdXQgdGhlIHZibGFuayBldmVu dCBkaXJlY3RseSwgYWZ0ZXIKdGhlIHBpcGUgaXMgb2ZmLiBCdXQgdGhhdCdzIHJlYWxseSB0aGUg b25seSBjYXNlIHdoZXJlIHlvdSBzaG91bGQgY2FsbApkcm1fY3J0Y19zZW5kX3ZibGFua19ldmVu dCBkaXJlY3RseS4KClRoZSBrZXJuZWxkb2MgZm9yIHRoZXNlIGZ1bmN0aW9ucyB0cnkgdG8gZXhw bGFpbiB0aGlzIGEgYml0IC4uLgoKQW55d2F5LCBwbHMgZG9uJ3QgbG9vayBhdCB0aGVzZSBkcml2 ZXJzIC0gSSBqdXN0IGhhY2tlZCB0aGVtIHVwIGJlY2F1c2UKdGhleSBkaWRuJ3QgaW1wbGVtZW50 IGV2ZW50IGhhbmRsaW5nIGF0IGFsbC4gV2hpY2ggaXMgYnJlYWtpbmcgYXRvbWljLiBGb3IKYSBn b29kIGV4YW1wbGUgb2YgaG93IGl0IHNob3VsZCBiZSBkb25lLCBsb29rIGF0IHJvY2tjaGlwIChh bHJlYWR5IG1lcmdlZAppbiBkcm0tbWlzYykgb3IgaTkxNSAocGF0Y2hlcyBvbiB0aGUgbS1sKS4K LURhbmllbAoKPiAKPiBSZWdhcmRzLAo+IExpdSBZaW5nCj4gCj4gPgo+ID4gSSdsbCBiZSBoYXBw eSB0byBoZWxwIHlvdSBvdXQgZGVidWcgdGhpcywgYW5kIHRoZW4gdXBkYXRlIG15IGJsb2cgcG9z dAo+ID4gd2l0aCB0aGUgdHJhbnNpdGlvbiBwbGFuIHdpdGggdGhlIGxhdGVzdCBmaW5kaW5ncy4K PiA+Cj4gPiBUaGFua3MsIERhbmllbAo+ID4KPiA+Pgo+ID4+IFsxXSBodHRwczovL3BhdGNod29y ay5rZXJuZWwub3JnL3BhdGNoLzkxNDQwMzUvCj4gPj4KPiA+PiBSZWdhcmRzLAo+ID4+IExpdSBZ aW5nCj4gPj4KPiA+PiA+Cj4gPj4gPiBDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFu a2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiA+PiA+IFNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0 ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+ID4+ID4gLS0tCj4gPj4gPiAgZHJpdmVycy9n cHUvZHJtL2RybV9mYl9oZWxwZXIuYyAgICB8ICA2ICsrLS0tLQo+ID4+ID4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMgfCAgMiAtLQo+ID4+ID4gIGluY2x1ZGUvZHJtL2RybV9m Yl9oZWxwZXIuaCAgICAgICAgfCAxMSAtLS0tLS0tLS0tLQo+ID4+ID4gIDMgZmlsZXMgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKPiA+PiA+Cj4gPj4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fZmJfaGVscGVyLmMKPiA+PiA+IGluZGV4IGMwZTBhMmU3OGQ3NS4uYmEyZmNiMmE2OGFkIDEw MDY0NAo+ID4+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+ID4+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+ID4+ID4gQEAgLTM4NSw3ICsz ODUsNyBAQCBzdGF0aWMgaW50IHJlc3RvcmVfZmJkZXZfbW9kZShzdHJ1Y3QgZHJtX2ZiX2hlbHBl ciAqZmJfaGVscGVyKQo+ID4+ID4KPiA+PiA+ICAgICAgICAgZHJtX3dhcm5fb25fbW9kZXNldF9u b3RfYWxsX2xvY2tlZChkZXYpOwo+ID4+ID4KPiA+PiA+IC0gICAgICAgaWYgKGZiX2hlbHBlci0+ YXRvbWljKQo+ID4+ID4gKyAgICAgICBpZiAoZGV2LT5tb2RlX2NvbmZpZy5mdW5jcy0+YXRvbWlj X2NvbW1pdCkKPiA+PiA+ICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdG9yZV9mYmRldl9tb2Rl X2F0b21pYyhmYl9oZWxwZXIpOwo+ID4+ID4KPiA+PiA+ICAgICAgICAgZHJtX2Zvcl9lYWNoX3Bs YW5lKHBsYW5lLCBkZXYpIHsKPiA+PiA+IEBAIC03MTYsOCArNzE2LDYgQEAgaW50IGRybV9mYl9o ZWxwZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4+ID4gICAgICAgICAgICAgICAg IGkrKzsKPiA+PiA+ICAgICAgICAgfQo+ID4+ID4KPiA+PiA+IC0gICAgICAgZmJfaGVscGVyLT5h dG9taWMgPSAhIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfQVRPTUlDKTsKPiA+ PiA+IC0KPiA+PiA+ICAgICAgICAgcmV0dXJuIDA7Cj4gPj4gPiAgb3V0X2ZyZWU6Cj4gPj4gPiAg ICAgICAgIGRybV9mYl9oZWxwZXJfY3J0Y19mcmVlKGZiX2hlbHBlcik7Cj4gPj4gPiBAQCAtMTM0 NCw3ICsxMzQyLDcgQEAgaW50IGRybV9mYl9oZWxwZXJfcGFuX2Rpc3BsYXkoc3RydWN0IGZiX3Zh cl9zY3JlZW5pbmZvICp2YXIsCj4gPj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsK PiA+PiA+ICAgICAgICAgfQo+ID4+ID4KPiA+PiA+IC0gICAgICAgaWYgKGZiX2hlbHBlci0+YXRv bWljKSB7Cj4gPj4gPiArICAgICAgIGlmIChkZXYtPm1vZGVfY29uZmlnLmZ1bmNzLT5hdG9taWNf Y29tbWl0KSB7Cj4gPj4gPiAgICAgICAgICAgICAgICAgcmV0ID0gcGFuX2Rpc3BsYXlfYXRvbWlj KHZhciwgaW5mbyk7Cj4gPj4gPiAgICAgICAgICAgICAgICAgZ290byB1bmxvY2s7Cj4gPj4gPiAg ICAgICAgIH0KPiA+PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9m YmRldi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYwo+ID4+ID4gaW5kZXgg ZWY4ZTY3NjkwZjNkLi40YzcyNWFkNmZiNTQgMTAwNjQ0Cj4gPj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jCj4gPj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9mYmRldi5jCj4gPj4gPiBAQCAtNzI0LDggKzcyNCw2IEBAIGludCBpbnRlbF9mYmRl dl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPj4gPiAgICAgICAgICAgICAgICAgcmV0 dXJuIHJldDsKPiA+PiA+ICAgICAgICAgfQo+ID4+ID4KPiA+PiA+IC0gICAgICAgaWZiZGV2LT5o ZWxwZXIuYXRvbWljID0gdHJ1ZTsKPiA+PiA+IC0KPiA+PiA+ICAgICAgICAgZGV2X3ByaXYtPmZi ZGV2ID0gaWZiZGV2Owo+ID4+ID4gICAgICAgICBJTklUX1dPUksoJmRldl9wcml2LT5mYmRldl9z dXNwZW5kX3dvcmssIGludGVsX2ZiZGV2X3N1c3BlbmRfd29ya2VyKTsKPiA+PiA+Cj4gPj4gPiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJt X2ZiX2hlbHBlci5oCj4gPj4gPiBpbmRleCA1YjRhYTM1MDI2YTMuLmRiOGQ0NzgwZWFhMiAxMDA2 NDQKPiA+PiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaAo+ID4+ID4gKysrIGIv aW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oCj4gPj4gPiBAQCAtMjEyLDE3ICsyMTIsNiBAQCBz dHJ1Y3QgZHJtX2ZiX2hlbHBlciB7Cj4gPj4gPiAgICAgICAgICAqIG5lZWRzIHRvIGJlIHJlcHJv YmUgd2hlbiBmYmRldiBpcyBpbiBjb250cm9sIGFnYWluLgo+ID4+ID4gICAgICAgICAgKi8KPiA+ PiA+ICAgICAgICAgYm9vbCBkZWxheWVkX2hvdHBsdWc7Cj4gPj4gPiAtCj4gPj4gPiAtICAgICAg IC8qKgo+ID4+ID4gLSAgICAgICAgKiBAYXRvbWljOgo+ID4+ID4gLSAgICAgICAgKgo+ID4+ID4g LSAgICAgICAgKiBVc2UgYXRvbWljIHVwZGF0ZXMgZm9yIHJlc3RvcmVfZmJkZXZfbW9kZSgpLCBl dGMuICBUaGlzIGRlZmF1bHRzIHRvCj4gPj4gPiAtICAgICAgICAqIHRydWUgaWYgZHJpdmVyIGhh cyBEUklWRVJfQVRPTUlDIGZlYXR1cmUgZmxhZywgYnV0IGRyaXZlcnMgY2FuCj4gPj4gPiAtICAg ICAgICAqIG92ZXJyaWRlIGl0IHRvIHRydWUgYWZ0ZXIgZHJtX2ZiX2hlbHBlcl9pbml0KCkgaWYg dGhleSBzdXBwb3J0IGF0b21pYwo+ID4+ID4gLSAgICAgICAgKiBtb2Rlc2V0IGJ1dCBkbyBub3Qg eWV0IGFkdmVydGlzZSBEUklWRVJfQVRPTUlDIChub3RlIHRoYXQgZmItaGVscGVyCj4gPj4gPiAt ICAgICAgICAqIGRvZXMgbm90IHJlcXVpcmUgQVNZTkMgY29tbWl0cykuCj4gPj4gPiAtICAgICAg ICAqLwo+ID4+ID4gLSAgICAgICBib29sIGF0b21pYzsKPiA+PiA+ICB9Owo+ID4+ID4KPiA+PiA+ ICAjaWZkZWYgQ09ORklHX0RSTV9GQkRFVl9FTVVMQVRJT04KPiA+PiA+IC0tCj4gPj4gPiAyLjgu MQo+ID4+ID4KPiA+PiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gPj4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPj4gPiBkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4gPj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+ID4KPiA+IC0tCj4gPiBEYW5pZWwgVmV0dGVyCj4g PiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiA+IGh0dHA6Ly9ibG9nLmZm d2xsLmNoCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9y YXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==