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, 20 Jun 2016 15:26:39 +0200 Message-ID: <20160620132639.GI23520@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> <20160613140153.GT3363@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x22c.google.com (mail-wm0-x22c.google.com [IPv6:2a00:1450:400c:c09::22c]) by gabe.freedesktop.org (Postfix) with ESMTPS id A2F796E574 for ; Mon, 20 Jun 2016 13:26:44 +0000 (UTC) Received: by mail-wm0-x22c.google.com with SMTP id a66so78827218wme.0 for ; Mon, 20 Jun 2016 06:26:44 -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 T24gTW9uLCBKdW4gMjAsIDIwMTYgYXQgMDE6NTU6NTdQTSArMDgwMCwgWWluZyBMaXUgd3JvdGU6 Cj4gT24gTW9uLCBKdW4gMTMsIDIwMTYgYXQgMTA6MDEgUE0sIERhbmllbCBWZXR0ZXIgPGRhbmll bEBmZndsbC5jaD4gd3JvdGU6Cj4gPiBPbiBNb24sIEp1biAxMywgMjAxNiBhdCAwNToyNjoyOFBN ICswODAwLCBZaW5nIExpdSB3cm90ZToKPiA+PiBPbiBNb24sIEp1biAxMywgMjAxNiBhdCAzOjU4 IFBNLCBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+IHdyb3RlOgo+ID4+ID4gT24gU3Vu LCBKdW4gMTIsIDIwMTYgYXQgMDU6MDE6MjdQTSArMDgwMCwgWWluZyBMaXUgd3JvdGU6Cj4gPj4g Pj4gT24gV2VkLCBKdW4gOCwgMjAxNiBhdCA4OjE5IFBNLCBEYW5pZWwgVmV0dGVyIDxkYW5pZWwu dmV0dGVyQGZmd2xsLmNoPiB3cm90ZToKPiA+PiA+PiA+IERyaXZlcnMgdHJhbnNpdGlvbmluZyB0 byBhdG9taWMgbWlnaHQgbm90IHlldCB3YW50IHRvIGVuYWJsZSBmdWxsCj4gPj4gPj4gPiBEUklW RVJfQVRPTUlDIHN1cHBvcnQgd2hlbiBpdCdzIG5vdCBlbnRpcmVseSB3b3JraW5nLiBCdXQgdXNp bmcgYXRvbWljCj4gPj4gPj4gPiBpbnRlcm5hbGx5IG1ha2VzIGEgbG90IG1vcmUgc2Vuc2UgZWFy bGllci4KPiA+PiA+PiA+Cj4gPj4gPj4gPiBJbnN0ZWFkIG9mIHNwcmVhZGluZyBzdWNoIGZsYWdz IHRvIG1vcmUgcGxhY2VzIEkgZmlndXJlZCBpdCdzIHNpbXBsZXIKPiA+PiA+PiA+IHRvIGp1c3Qg Y2hlY2sgZm9yIG1vZGVfY29uZmlnLT5mdW5jcy0+YXRvbWljX2NvbW1pdCwgYW5kIHVzZSBhdG9t aWMKPiA+PiA+PiA+IHBhdGhzIGlmIHRoYXQgaXMgc2V0LiBGb3IgdGhlIG9ubHkgZHJpdmVyIGN1 cnJlbnRseSB0cmFuc2l0aW9uaW5nCj4gPj4gPj4gPiAoaTkxNSkgdGhpcyBkb2VzIHRoZSByaWdo dCB0aGluZy4KPiA+PiA+Pgo+ID4+ID4+IFdlbGwsIGlteC1kcm0gaXMgdHJhbnNpdGlvbmluZy4K PiA+PiA+PiBVbmZvcnR1bmF0ZWx5LCBhZnRlciBhcHBseWluZyB0aGlzIHBhdGNoLCBsZWdhY3kg ZmJkZXYgY2Fubm90IGVuYWJsZQo+ID4+ID4+IGRpc3BsYXlzIHdoZW4gdGhlIGlteC1kcm0gdHJh bnNpdGlvbmFsIHBhdGNoIHNldCByZWFjaGVzIHBoYXNlIDMgc3RlcCAxWzFdLgo+ID4+ID4+Cj4g Pj4gPj4gRm9yIHRob3NlIHRyYW5zaXRpb25pbmcgZHJpdmVycyB3aXRoIGZpbmUtZ3JhaW5lZCBz dGVwcywgdGhpcyBwYXRjaAo+ID4+ID4+IGlzIGxpa2VseSB0byBleHBvc2UgdGhlIGF0b21pYyBm dW5jdGlvbiBfX2RybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcKPiA+PiA+PiB0byBsZWdhY3kg ZmJkZXYgc3VwcG9ydCB0b28gZWFybHkuIFRoZXkgY291bGQgc3RpbGwgYmUgdXNpbmcKPiA+PiA+ PiBkcm1fY3J0Y19oZWxwZXJfc2V0X2NvbmZpZyB3aGVuIGFkZGluZyAtPmF0b21pY19jb21taXQu Cj4gPj4gPj4KPiA+PiA+PiBCVFcsIHRoaXMgcGF0Y2ggYW5kIHRob3NlIGZvciBnZW5lcmljIG5v bmJsb2NraW5nIGNvbW1pdCBhcmUgbWFraW5nCj4gPj4gPj4gdGhlIGlteC1kcm0gdHJhbnNpdGlv biBhIGJpdCBoYXJkZXIuICBOb3QgZ29vZCB0aW1pbmcgcHJvYmFibHkuCj4gPj4gPj4gQnV0LCBJ J2xsIGdvIG9uIHdpdGggdGhlIHRhc2sgYW55d2F5Lgo+ID4+ID4KPiA+PiA+IEhtLCBtYWtpbmcg dHJhbnNpdGlvbiBoYXJkZXIgd2Fzbid0IHJlYWxseSB0aGUgaW50ZW50aW9uLiBXaGF0IGV4YWN0 bHkgaXMKPiA+PiA+IGJsb3dpbmcgdXAgZm9yIHlvdT8gQXQgbGVhc3QgaG93IEkgcGxhbm5lZCB0 aGUgdHJhbnNpdGlvbiB0aGUgZmlyc3QgdGhpbmcKPiA+PiA+IHlvdSBzaG91bGQgYmUgYWJsZSB0 byBkbyBpcyBiYXNpYyBtb2Rlc2V0cyAob25jZSB5b3UgZmlsbCBvdXQKPiA+PiA+IC0+YXRvbWlj X2NvbW1pdCksIHNvIEkgaG9wZWQgdGhhdCB0aGlzIHdvdWxkbid0IGNhdXNlIHRyb3VibGUuCj4g Pj4KPiA+PiBBdCB0aGUgaW14LWRybSB0cmFuc2l0aW9uIHBoYXNlIDEsIGlwdV9wbGFuZV9hdG9t aWNfY2hlY2sgY2hlY2tzCj4gPj4gY3J0Yy0+ZW5hYmxlZCBhbmQgaG9wZXMgaXQgdG8gYmUgdHJ1 ZS4gVGlsbCBwaGFzZSAzIHN0ZXAgMSwgdGhpcyBmdW5jdGlvbgo+ID4+IGlzIG5vdCBjaGFuZ2Vk LiBUaGlzIHBhdGNoIGV4cG9zZXMgcmVzdG9yZV9mYmRldl9tb2RlX2F0b21pYyBhbmQKPiA+PiBw YW5fZGlzcGxheV9hdG9taWMgdG8gbGVnYWN5IGZiZGV2IHRvbyBlYXJseS4gIEJvdGggb2YgdGhl bSBjYWxsCj4gPj4gZHJtX2F0b21pY19jb21taXQgd2hpY2ggZG9lcyBwbGFuZSBjaGVjayBhdCBh dG9taWMgY2hlY2sgc3RhZ2UuCj4gPj4gVGhlbiwgdGhlIHBsYW5lIGNoZWNrIGZhaWxzIGZvciB0 aGUgbGVnYWN5IGZiZGV2LCBiZWNhdXNlCj4gPj4gZHJtX2F0b21pY19jb21taXQgc2V0cyBjcnRj LT5lbmFibGVkIGxhdGVyIHRoYW4gdGhlIGxlZ2FjeSBwYXRoCj4gPj4gZHJtX2NydGNfaGVscGVy X3NldF9tb2RlIGRvZXMuICBBY3R1YWxseSwgZHJtX2F0b21pY19jb21taXQKPiA+PiBkb2Vzbid0 IHNldCBjcnRjLT5lbmFibGVkIHVudGlsIHRoZSBjb21taXQgc3RhZ2UgaWYgeW91IHVzZSB0aGUK PiA+PiBhdG9taWMgaGVscGVyLgo+ID4KPiA+IEhtLCBteSBpZGVhIHdhcyB0aGF0IGluIHBoYXNl IDIgKHdoZW4geW91IHJvbGwgb3V0IHN0YXRlIHN0cnVjdHVyZXMgYW5kCj4gPiBjaGVja3MpLCB5 b3UnZCBjaGFuZ2UgeW91ciBhdG9taWNfY2hlY2sgZnVuY3Rpb25zIGZyb20gbG9va2luZyBhdCBs ZWdhY3kKPiA+IHN0dWZmIGxpa2UgY3J0Yy0+ZW5hYmxlZCwgdG8gaW5zdGVhZCBsb29rIGF0IG5l dyBzdGF0ZSBsaWtlCj4gPiBjcnRjX3N0YXRlLT5lbmFibGVkLgo+ID4KPiA+PiBPVE9ILCB3ZSBm aWxsIG91dCAtPmF0b21pY19jb21taXQgd2l0aCBkcm1fYXRvbWljX2hlbHBlcl9jb21taXQKPiA+ PiBhdCBwaGFzZSAzIHN0ZXAgMSwgdGhlbiBleHBvc2luZyBkcm1fYXRvbWljX2NvbW1pdCBtZWFu cyB0aGF0IHdlCj4gPj4gbmVlZCB0byBoYW5kbGUgY3J0Y19zdGF0ZS0+ZXZlbnQgbm8gbGF0ZXIg dGhhbiBwaGFzZSAzIHN0ZXAgMS4uLgo+ID4+IEkgaGF2ZW4ndCBkZWNpZGVkIHRoZSByaWdodCBv cmRlci9wcm9jZXNzIHRvIGFkZCB0aGUgaGFuZGxpbmcuCj4gPgo+ID4gWWVzLCB0aGlzIGlzIGEg Y2hhbmdlOiBCZWZvcmUgeW91IGNhbiBzdGFydCB3aXRoIHBoYXNlIDMgeW91IG5lZWQgdG8KPiA+ IGhhbmRsZSBjcnRjX3N0YXRlLT5ldmVudCBpbiBhdG9taWNfZmx1c2ggKG9yIGEgc2ltaWxhciBw bGFjZSkuCj4gPgo+ID4+IFNvLCB3b3VsZCBpdCBiZSBhbiBvcHRpb24gdG8gcmV2ZXJ0IHRoaXMg cGF0Y2guLi4KPiA+Cj4gPiBJJ2QgcmVhbGx5IGxpa2UgdG8gYXZvaWQgdGhhdCAtIHRoZSBvbGQg aGFjayBvZiBhZGRpbmcgYSBrbm9iIGZvciBldmVyeQo+ID4gcGxhY2Ugd2Ugc2hvdWxkIHVzZSBh dG9taWMgd2FzIGdldHRpbmcgY29tcGxpY2F0ZWQgOiggQW5kIHJpZ2h0IG5vdwo+ID4gdGhlcmUn cyBtYW55IG1vcmUgYXRvbWljIGRyaXZlcnMgdGhhbiBsZWdhY3kgb25lcywgYW5kIG9ubHkgMiBk cml2ZXJzIGluCj4gPiB0cmFuc2l0aW9uIChpOTE1IGFuZCBpbXgpLiBHaXZlbiB0aGF0IEkgdGhp bmsgd2Ugc2hvdWxkIG9wdGltaXplIG1vcmUgZm9yCj4gPiBhdG9taWMgZHJpdmVycy4KPiA+Cj4g PiBCdXQgbGlrZSBJIHNhaWQsIG9mIGNvdXJzZSB0cmFuc2l0aW9uIHNob3VsZG4ndCBiZSB0b28g cGFpbmZ1bC4KPiA+Cj4gPj4gPiBXcnQgbm9uYmxvY2tpbmcgY29tbWl0IGhlbHBlcnMgYnJlYWtp bmcgdHJhbnNpdGlvbmluZyBkcml2ZXJzOiBUaGUgbW9zdAo+ID4+ID4gbGlrZWx5IGNhdXNlIGlz IHlvdXIgZHJpdmVyIGlzbid0IGhhbmRsaW5nIGNydGNfc3RhdGUtPmV2ZW50IHlldC4gQmVmb3Jl Cj4gPj4gPiB5b3Ugc3RhcnQgdXNpbmcgLT5hdG9taWNfY29tbWl0IG9yIG9uZSBvZiB0aGUgaGVs cGVycyB0byBtYXAgbGVnYWN5IGlvY3RsCj4gPj4gPiB0byBhdG9taWMsIHlvdSBuZWVkIHRvIGZp bGwgb3V0IHNvbWUgY29kZSB0byBoYW5kbGUgdGhhdCBpbiAtPmF0b21pY19iZWdpbgo+ID4+ID4g b3IgLT5hdG9taWNfZmx1c2guIFRoZW4gdGhlIHRyYW5zaXRpb24gc2hvdWxkIHN0aWxsIHdvcmsg YXMgYmVmb3JlLgo+ID4+Cj4gPj4gSSBkbyBoYXZlIGNvbmZ1c2lvbiBvbiB0aGUgZXZlbnQgaGFu ZGxpbmcgaW4gc29tZSBkcml2ZXJzJyAtPmF0b21pY19mbHVzaC4KPiA+PiBBdCBsZWFzdCBzdW40 aSwga2lyaW4gYW5kIGZzbC1kY3UgaGF2ZSB0aGUgYmVsb3cgc25pcDoKPiA+PiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiA+PiAgICAgICAgIGlmIChldmVudCkg ewo+ID4+ICAgICAgICAgICAgICAgICBjcnRjLT5zdGF0ZS0+ZXZlbnQgPSBOVUxMOwo+ID4+Cj4g Pj4gICAgICAgICAgICAgICAgIHNwaW5fbG9ja19pcnEoJmNydGMtPmRldi0+ZXZlbnRfbG9jayk7 Cj4gPj4gICAgICAgICAgICAgICAgIGlmIChkcm1fY3J0Y192YmxhbmtfZ2V0KGNydGMpID09IDAp Cj4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgZHJtX2NydGNfYXJtX3ZibGFua19ldmVudChj cnRjLCBldmVudCk7Cj4gPj4gICAgICAgICAgICAgICAgIGVsc2UKPiA+PiAgICAgICAgICAgICAg ICAgICAgICAgICBkcm1fY3J0Y19zZW5kX3ZibGFua19ldmVudChjcnRjLCBldmVudCk7Cj4gPj4g ICAgICAgICAgICAgICAgIHNwaW5fdW5sb2NrX2lycSgmY3J0Yy0+ZGV2LT5ldmVudF9sb2NrKTsK PiA+PiAgICAgICAgIH0KPiA+PiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KPiA+PiBJdCBsb29rcyBkcm1fY3J0Y192YmxhbmtfZ2V0IHNlbGRvbSBmYWlscz8KPiA+ Cj4gPiBJZiBpdCBuZXZlciBmYWlscyBmb3IgeW91LCB0aGVuIHlvdSBoYXZlbid0IHB1dCBkcm1f Y3J0Y192Ymxhbmtfb24vb2ZmKCkKPiA+IGludG8geW91ciBjcnRjIGVuYWJsZS9kaXNhYmxlIGNh bGxiYWNrcy4gT2ZjIHRoaXMgYXNzdW1lcyB5b3UgaGF2ZSByZWFsCj4gPiB2Ymxhbmsgc3VwcG9y dC4KPiA+Cj4gPj4gQW5kIHdoeSBkbyB3ZSBzZW5kIHZibGFuayBldmVudCB3aGVuIGl0IGZhaWxz Pwo+ID4KPiA+IFRoaXMgaXMganVzdCB0aGUgbW9zdCBmYWlsc2FmZSB3YXkgdG8gbWFrZSBzdXJl IHRoZSBldmVudCBnZXRzIG91dC4gSXQncwo+ID4gcmF0aGVyIGluYWNjdXJhdGUgdGhvdWdoLCBz byB3b3VsZCBiZSBtdWNoIGJldHRlciBpZiB5b3UgY2FuIG1ha2UgdGhhdAo+ID4gZGVjaXNpb24g YnkgaW5zdGVhZCBsb29raW5nIGF0IGNydGMtPnN0YXRlLT5hY3RpdmUsIGxpa2UgaTkxNSBkb2Vz Lgo+ID4gZHJtX2NydGNfdmJsYW5rX2dldCBhbHdheXMgd29ya3MgaW4tYmV0d2VuIGRybV9jcnRj X3ZibGFua19vbi9vZmYoKSBjYWxscywKPiA+IGkuZS4gd2hlbiB0aGUgY3J0YyBpcyBzdXBwb3Nl ZCB0byBiZSBvbi4gQW5kIHdoZW4geW91IGRpc2FibGUgdGhlIGNydGMgYW5kCj4gPiBpdCBzdGF5 cyBkaXNhYmxlIHRoZW4geW91IHNob3VsZCBzZW5kIG91dCB0aGUgdmJsYW5rIGV2ZW50IGRpcmVj dGx5LCBhZnRlcgo+ID4gdGhlIHBpcGUgaXMgb2ZmLiBCdXQgdGhhdCdzIHJlYWxseSB0aGUgb25s eSBjYXNlIHdoZXJlIHlvdSBzaG91bGQgY2FsbAo+ID4gZHJtX2NydGNfc2VuZF92YmxhbmtfZXZl bnQgZGlyZWN0bHkuCj4gPgo+ID4gVGhlIGtlcm5lbGRvYyBmb3IgdGhlc2UgZnVuY3Rpb25zIHRy eSB0byBleHBsYWluIHRoaXMgYSBiaXQgLi4uCj4gPgo+ID4gQW55d2F5LCBwbHMgZG9uJ3QgbG9v ayBhdCB0aGVzZSBkcml2ZXJzIC0gSSBqdXN0IGhhY2tlZCB0aGVtIHVwIGJlY2F1c2UKPiA+IHRo ZXkgZGlkbid0IGltcGxlbWVudCBldmVudCBoYW5kbGluZyBhdCBhbGwuIFdoaWNoIGlzIGJyZWFr aW5nIGF0b21pYy4gRm9yCj4gPiBhIGdvb2QgZXhhbXBsZSBvZiBob3cgaXQgc2hvdWxkIGJlIGRv bmUsIGxvb2sgYXQgcm9ja2NoaXAgKGFscmVhZHkgbWVyZ2VkCj4gPiBpbiBkcm0tbWlzYykgb3Ig aTkxNSAocGF0Y2hlcyBvbiB0aGUgbS1sKS4KPiAKPiBJdCBsb29rcyBjYWxsaW5nIGRybV92Ymxh bmtfb2ZmIGluIGNydGNfaGVscGVyLT5kaXNhYmxlIHdpbGwgc2V0IHZibGFuay0+ZW5hYmxlZAo+ IHRvIGZhbHNlIGFuZCBpbmNyZWFzZSB2YmxhbmstPnJlZmNvdW50IGJ5IG9uZS4gIFRoZSBuZXh0 IGVuYWJsZSBvcGVyYXRpb24KPiBjb3VsZCBjYWxsIGNydGNfaGVscGVyLT5hdG9taWNfYmVnaW4g b3IgYXRvbWljX2ZsdXNoIGFuZCB0aGVuCj4gY3J0Y19oZWxwZXItPmVuYWJsZS4gSW4gLT5hdG9t aWNfYmVnaW4gb3IgYXRvbWljX2ZsdXNoLCBpdCBsb29rcwo+IGRybV9jcnRjX3ZibGFua19nZXQg Y291bGQgYmUgY2FsbGVkLiAgVGhlIHByb2JsZW0gaXMgdGhhdAo+IGRybV9jcnRjX3ZibGFua19n ZXQgZmluZHMgdmJsYW5rLT5yZWZjb3VudCBpcyBub3QgMSBhZnRlciBhbiBhZGQtMS1vcGVyYXRp b24KPiBhbmQgdmJsYW5rLT5lbmFibGVkIGlzIGZhbHNlLCB3aGljaCBmaW5hbGx5IG1ha2VzIHRo ZSBmdW5jdGlvbiByZXR1cm4KPiAtRUlOVkFMLiAgSG93IHRvIGhhbmRsZSB0aGlzIHByb2JsZW0/ CgpUaGF0J3MgaG93IGl0J3Mgc3VwcG9zZWQgdG8gd29yazogV2hlbiB0aGUgdmJsYW5rIGlzIG9m ZiwgdGhlbiB5b3UgY2FuJ3QKc2VuZCBvdXQgdmJsYW5rIGV2ZW50cy4gSWYgdGhlIHBpcGUgZ2V0 cyAocmUpZW5hYmxlZCwgdGhlbiB5b3UgbmVlZCB0bwptb3ZlIHRoZSB2YmxhbmsgZ2VuZXJhdGlv biB0byB3aGVyZSBpdCdzIGZ1bGx5IG9uLiBJZiBpdCBzdGF5cyBkaXNhYmxlZCwKdGhlbiB5b3Ug Y2FuIGRpcmVjdGx5IGNhbGwgZHJtX2NydGNfc2VuZF92YmxhbmtfZXZlbnQuCgpidHcgbXVjaCBl YXNpZXIgdG8gZGlzY3VzcyB0aGlzIG9uIGlyYy4KLURhbmllbAoKPiAKPiBSZWdhcmRzLAo+IExp dSBZaW5nCj4gCj4gPiAtRGFuaWVsCj4gPgo+ID4+Cj4gPj4gUmVnYXJkcywKPiA+PiBMaXUgWWlu Zwo+ID4+Cj4gPj4gPgo+ID4+ID4gSSdsbCBiZSBoYXBweSB0byBoZWxwIHlvdSBvdXQgZGVidWcg dGhpcywgYW5kIHRoZW4gdXBkYXRlIG15IGJsb2cgcG9zdAo+ID4+ID4gd2l0aCB0aGUgdHJhbnNp dGlvbiBwbGFuIHdpdGggdGhlIGxhdGVzdCBmaW5kaW5ncy4KPiA+PiA+Cj4gPj4gPiBUaGFua3Ms IERhbmllbAo+ID4+ID4KPiA+PiA+Pgo+ID4+ID4+IFsxXSBodHRwczovL3BhdGNod29yay5rZXJu ZWwub3JnL3BhdGNoLzkxNDQwMzUvCj4gPj4gPj4KPiA+PiA+PiBSZWdhcmRzLAo+ID4+ID4+IExp dSBZaW5nCj4gPj4gPj4KPiA+PiA+PiA+Cj4gPj4gPj4gPiBDYzogTWFhcnRlbiBMYW5raG9yc3Qg PG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiA+PiA+PiA+IFNpZ25lZC1vZmYt Ynk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+ID4+ID4+ID4gLS0t Cj4gPj4gPj4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYyAgICB8ICA2ICsrLS0t LQo+ID4+ID4+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMgfCAgMiAtLQo+ ID4+ID4+ID4gIGluY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaCAgICAgICAgfCAxMSAtLS0tLS0t LS0tLQo+ID4+ID4+ID4gIDMgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxNyBkZWxl dGlvbnMoLSkKPiA+PiA+PiA+Cj4gPj4gPj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9mYl9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKPiA+PiA+ PiA+IGluZGV4IGMwZTBhMmU3OGQ3NS4uYmEyZmNiMmE2OGFkIDEwMDY0NAo+ID4+ID4+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+ID4+ID4+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+ID4+ID4+ID4gQEAgLTM4NSw3ICszODUsNyBAQCBz dGF0aWMgaW50IHJlc3RvcmVfZmJkZXZfbW9kZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVs cGVyKQo+ID4+ID4+ID4KPiA+PiA+PiA+ICAgICAgICAgZHJtX3dhcm5fb25fbW9kZXNldF9ub3Rf YWxsX2xvY2tlZChkZXYpOwo+ID4+ID4+ID4KPiA+PiA+PiA+IC0gICAgICAgaWYgKGZiX2hlbHBl ci0+YXRvbWljKQo+ID4+ID4+ID4gKyAgICAgICBpZiAoZGV2LT5tb2RlX2NvbmZpZy5mdW5jcy0+ YXRvbWljX2NvbW1pdCkKPiA+PiA+PiA+ICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdG9yZV9m YmRldl9tb2RlX2F0b21pYyhmYl9oZWxwZXIpOwo+ID4+ID4+ID4KPiA+PiA+PiA+ICAgICAgICAg ZHJtX2Zvcl9lYWNoX3BsYW5lKHBsYW5lLCBkZXYpIHsKPiA+PiA+PiA+IEBAIC03MTYsOCArNzE2 LDYgQEAgaW50IGRybV9mYl9oZWxwZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4+ ID4+ID4gICAgICAgICAgICAgICAgIGkrKzsKPiA+PiA+PiA+ICAgICAgICAgfQo+ID4+ID4+ID4K PiA+PiA+PiA+IC0gICAgICAgZmJfaGVscGVyLT5hdG9taWMgPSAhIWRybV9jb3JlX2NoZWNrX2Zl YXR1cmUoZGV2LCBEUklWRVJfQVRPTUlDKTsKPiA+PiA+PiA+IC0KPiA+PiA+PiA+ICAgICAgICAg cmV0dXJuIDA7Cj4gPj4gPj4gPiAgb3V0X2ZyZWU6Cj4gPj4gPj4gPiAgICAgICAgIGRybV9mYl9o ZWxwZXJfY3J0Y19mcmVlKGZiX2hlbHBlcik7Cj4gPj4gPj4gPiBAQCAtMTM0NCw3ICsxMzQyLDcg QEAgaW50IGRybV9mYl9oZWxwZXJfcGFuX2Rpc3BsYXkoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZv ICp2YXIsCj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsKPiA+PiA+PiA+ ICAgICAgICAgfQo+ID4+ID4+ID4KPiA+PiA+PiA+IC0gICAgICAgaWYgKGZiX2hlbHBlci0+YXRv bWljKSB7Cj4gPj4gPj4gPiArICAgICAgIGlmIChkZXYtPm1vZGVfY29uZmlnLmZ1bmNzLT5hdG9t aWNfY29tbWl0KSB7Cj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgcmV0ID0gcGFuX2Rpc3BsYXlf YXRvbWljKHZhciwgaW5mbyk7Cj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgZ290byB1bmxvY2s7 Cj4gPj4gPj4gPiAgICAgICAgIH0KPiA+PiA+PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9mYmRldi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYu Ywo+ID4+ID4+ID4gaW5kZXggZWY4ZTY3NjkwZjNkLi40YzcyNWFkNmZiNTQgMTAwNjQ0Cj4gPj4g Pj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jCj4gPj4gPj4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jCj4gPj4gPj4gPiBAQCAtNzI0 LDggKzcyNCw2IEBAIGludCBpbnRlbF9mYmRldl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiA+PiA+PiA+ICAgICAgICAg fQo+ID4+ID4+ID4KPiA+PiA+PiA+IC0gICAgICAgaWZiZGV2LT5oZWxwZXIuYXRvbWljID0gdHJ1 ZTsKPiA+PiA+PiA+IC0KPiA+PiA+PiA+ICAgICAgICAgZGV2X3ByaXYtPmZiZGV2ID0gaWZiZGV2 Owo+ID4+ID4+ID4gICAgICAgICBJTklUX1dPUksoJmRldl9wcml2LT5mYmRldl9zdXNwZW5kX3dv cmssIGludGVsX2ZiZGV2X3N1c3BlbmRfd29ya2VyKTsKPiA+PiA+PiA+Cj4gPj4gPj4gPiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Zi X2hlbHBlci5oCj4gPj4gPj4gPiBpbmRleCA1YjRhYTM1MDI2YTMuLmRiOGQ0NzgwZWFhMiAxMDA2 NDQKPiA+PiA+PiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaAo+ID4+ID4+ID4g KysrIGIvaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oCj4gPj4gPj4gPiBAQCAtMjEyLDE3ICsy MTIsNiBAQCBzdHJ1Y3QgZHJtX2ZiX2hlbHBlciB7Cj4gPj4gPj4gPiAgICAgICAgICAqIG5lZWRz IHRvIGJlIHJlcHJvYmUgd2hlbiBmYmRldiBpcyBpbiBjb250cm9sIGFnYWluLgo+ID4+ID4+ID4g ICAgICAgICAgKi8KPiA+PiA+PiA+ICAgICAgICAgYm9vbCBkZWxheWVkX2hvdHBsdWc7Cj4gPj4g Pj4gPiAtCj4gPj4gPj4gPiAtICAgICAgIC8qKgo+ID4+ID4+ID4gLSAgICAgICAgKiBAYXRvbWlj Ogo+ID4+ID4+ID4gLSAgICAgICAgKgo+ID4+ID4+ID4gLSAgICAgICAgKiBVc2UgYXRvbWljIHVw ZGF0ZXMgZm9yIHJlc3RvcmVfZmJkZXZfbW9kZSgpLCBldGMuICBUaGlzIGRlZmF1bHRzIHRvCj4g Pj4gPj4gPiAtICAgICAgICAqIHRydWUgaWYgZHJpdmVyIGhhcyBEUklWRVJfQVRPTUlDIGZlYXR1 cmUgZmxhZywgYnV0IGRyaXZlcnMgY2FuCj4gPj4gPj4gPiAtICAgICAgICAqIG92ZXJyaWRlIGl0 IHRvIHRydWUgYWZ0ZXIgZHJtX2ZiX2hlbHBlcl9pbml0KCkgaWYgdGhleSBzdXBwb3J0IGF0b21p Ywo+ID4+ID4+ID4gLSAgICAgICAgKiBtb2Rlc2V0IGJ1dCBkbyBub3QgeWV0IGFkdmVydGlzZSBE UklWRVJfQVRPTUlDIChub3RlIHRoYXQgZmItaGVscGVyCj4gPj4gPj4gPiAtICAgICAgICAqIGRv ZXMgbm90IHJlcXVpcmUgQVNZTkMgY29tbWl0cykuCj4gPj4gPj4gPiAtICAgICAgICAqLwo+ID4+ ID4+ID4gLSAgICAgICBib29sIGF0b21pYzsKPiA+PiA+PiA+ICB9Owo+ID4+ID4+ID4KPiA+PiA+ PiA+ICAjaWZkZWYgQ09ORklHX0RSTV9GQkRFVl9FTVVMQVRJT04KPiA+PiA+PiA+IC0tCj4gPj4g Pj4gPiAyLjguMQo+ID4+ID4+ID4KPiA+PiA+PiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gPj4gPj4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4g Pj4gPj4gPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPj4gPj4gPiBodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+ID4+ID4K PiA+PiA+IC0tCj4gPj4gPiBEYW5pZWwgVmV0dGVyCj4gPj4gPiBTb2Z0d2FyZSBFbmdpbmVlciwg SW50ZWwgQ29ycG9yYXRpb24KPiA+PiA+IGh0dHA6Ly9ibG9nLmZmd2xsLmNoCj4gPgo+ID4gLS0K PiA+IERhbmllbCBWZXR0ZXIKPiA+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlv bgo+ID4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVu Z2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK