From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: Re: [RFC] drm: Introduce max width and height properties for planes Date: Mon, 30 May 2016 14:09:17 +0530 Message-ID: <574BFC35.3070809@codeaurora.org> References: <1464158019-7040-1-git-send-email-architt@codeaurora.org> <20160525071028.GE27098@phenom.ffwll.local> <5745855C.40009@codeaurora.org> <20160525131245.GK27098@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.codeaurora.org (smtp.codeaurora.org [198.145.29.96]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2B5146E6E9 for ; Mon, 30 May 2016 08:39:23 +0000 (UTC) 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: Rob Clark , Daniel Vetter Cc: "airlied@redhat.com" , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org CgpPbiAwNS8yNS8yMDE2IDEwOjA2IFBNLCBSb2IgQ2xhcmsgd3JvdGU6Cj4gT24gV2VkLCBNYXkg MjUsIDIwMTYgYXQgOToxMiBBTSwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90 ZToKPj4gT24gV2VkLCBNYXkgMjUsIDIwMTYgYXQgMDQ6Mjg6MzZQTSArMDUzMCwgQXJjaGl0IFRh bmVqYSB3cm90ZToKPj4+IE9uIDA1LzI1LzIwMTYgMTI6NDAgUE0sIERhbmllbCBWZXR0ZXIgd3Jv dGU6Cj4+Pj4gLSBJcyB0aGUgc2l6ZS93aWR0aCByZWFsbHkgaW5kZXBlbmRlbnQgb2YgZS5nLiBy b3RhdGlvbi9waXhlbCBmb3JtYXQvLi4uCj4+Pj4gICAgU2hvdWxkIGl0IGJlIHRoZSBtYXhpbXVt IHRoYXQncyBwb3NzaWJsZSB1bmRlciBiZXN0IGNpcmN1bXN0YW5jZSAodGhpbmdzCj4+Pj4gICAg Y291bGQgc3RpbGwgZmFpbCksIG9yIHRoZSBtaW5pbXVtIHRoYXQncyBndWFyYW50ZWVkIHRvIHdv cmsgZXZlcndoZXJlLgo+Pj4+ICAgIFRoaXMgaXMgdGhlIGtpbmQgb2Ygc3R1ZmYgd2UgbmVlZCB0 aGUgdXNlcnNwYWNlIHBhcnQgZm9yLCB0b28uCj4+Pgo+Pj4gWWVhaCwgaXQgaXNuJ3QgaW5kZXBl bmRlbnQgb2YgdGhlc2UgcGFyYW1ldGVycy4gSSdtIG5vdCBlbnRpcmVseSBzdXJlCj4+PiBhYm91 dCB0aGlzIGVpdGhlci4KPj4+Cj4+PiBEb2VzIGl0IG1ha2Ugc2Vuc2UgdG8gaW1wb3NlIGEgcnVs ZSB0aGF0IHRoZSB1c2VyIGZpcnN0IHNldHMgdGhlCj4+PiByb3RhdGlvbi9mb3JtYXQgcGxhbmUg cHJvcGVydGllcywgYW5kIG9ubHkgdGhlbiByZWFkIHRoZSBtYXhpbXVtCj4+PiB3aWR0aD8gSSdt IGFzc3VtaW5nIHVzZXIgc3BhY2UgaGF0ZXMgc3VjaCBraW5kIG9mIHN0dWZmLgo+Pj4KPj4+IElm IHdlIHVzZSB0aGUgJ2Jlc3QgY2lyY3Vtc3RhbmNlJyBtYXhfd2lkdGgsIHdlIGNhbiBmaXJzdCBz dGFydAo+Pj4gd2l0aCBhIG1pbmltdW0gbnVtYmVyIG9mIHBsYW5lcyB0aGF0IG5lZWQgdG8gYmUg Z3JvdXBlZCB0byBhY2hpZXZlCj4+PiB0aGUgdGFyZ2V0IG1vZGUuIElmIHRoYXQgZmFpbHMgdGhl IGF0b21pYyB0ZXN0LCB0aGVuIHdlIGNhbiB0cnkgdG8KPj4+IGFkZCBvbmUgcGxhbmUgYXQgYSB0 aW1lLCBhbmQgcmVkdWNlIHRoZSB3aWR0aCBmb3IgZWFjaCBwbGFuZS4KPj4+Cj4+PiBJZiB3ZSB1 c2UgdGhlIG1pbmltdW0vJ2d1YXJhbnRlZWQgdG8gd29yaycgbWF4X3dpZHRoLCB3ZSdsbCBnZXQK Pj4+IGEgaGlnaGVyIG51bWJlciBvZiBwbGFuZXMgdGhhbiBuZWVkZWQgZm9yIHRoaXMgbW9kZS4g VGhpcyB3b3VsZCBwYXNzCj4+PiB0aGUgYXRvbWljIHRlc3QuIFdlIGNvdWxkIHRoZW4gcmVkdWNl IGEgcGxhbmUgYXQgYSB0aW1lIGFuZCBzZWUgd2hlbgo+Pj4gd2UgZmFpbCB0aGUgYXRvbWljIHRl c3QuCj4+Pgo+Pj4gSSBndWVzcyB3ZSBuZWVkIHRvIGNob3NlIHRoZSBvbmUgdGhhdCdzIG1vcmUg cHJvYmFibGUgdG8gZ2V0IHJpZ2h0Cj4+PiB0aGUgZmlyc3QgdGltZS4gQ29uc2lkZXJpbmcgb25s eSBwaXhlbCBmb3JtYXRzIGZvciBub3csIHRoZQo+Pj4gbWluaW11bS8nZ3VhcmFudGVlZCB0byB3 b3JrJyB3b3VsZCBtYXAgdG8gdGhlIFJHQiBmb3JtYXRzLiBUaGUgYmVzdAo+Pj4gY2lyY3Vtc3Rh bmNlIG9uZXMgd291bGQgcHJvYmFibHkgYmUgdGhlIHBsYW5hciB2aWRlbyBmb3JtYXRzLiBTaW5j ZQo+Pj4gd2UgdXNlIFJHQiBtb3JlIG9mdGVuLCB0aGUgbWluaW11bSBvbmUgbWlnaHQgbWFrZSBt b3JlIHNlbnNlLgo+Pj4KPj4+IFdlIGNvdWxkLCBvZiBjb3Vyc2UsIGdpdmUgdGhlIHByb3BlcnR5 IGEgcmFuZ2Ugb2YgbWF4IHdpZHRocyB0bwo+Pj4gY29uZnVzZSB1c2VyIHNwYWNlIGV2ZW4gbW9y ZS4KPj4KPj4gQW4gZW50aXJlbHkgZGlmZmVyZW50IGlkZWEgZm9yIGNhc2VzIHdoZXJlIGEgc2lt cGxlIGhpbnQgcHJvcGVydHkgZG9lc24ndAo+PiB3b3JrIChvdGhlciBpZGVhcyBmbG9hdGluZyBh cm91bmQgYXJlIGNhbl9zY2FsZSwgdG8gZ2l2ZSBhIGhpbnQgd2hldGhlciBhCj4+IHBsYW4gY2Fu IGF0IGxlYXN0IGluIHRoZW9yeSB1cC9kb3duc2NhbGUsIG9yIG5vdCBhdCBhbGwpLCBpcyB0aGF0 IHRoZQo+PiBrZXJuZWwgZ2l2ZXMgbW9yZSBzcGVjaWZpYyBoaW50cyBhYm91dCB3aGF0IGl0IHdv dWxkIGxpa2UgdG8gY2hhbmdlLgo+Pgo+PiBTbyBpZiB1c2Vyc3BhY2UgYXNrcyBmb3IgYSBwbGFu ZSwgYnV0IGZvciB0aGUgZ2l2ZW4gcGl4ZWwgZm9ybWF0IGl0J3MgdG9vCj4+IHdpZGUsIHRoZSBr ZXJuZWwgY291bGQgcmV0dXJuIGEgbmV3IHByb3Bvc2VkIHZhbHVlIGZvciB3aWR0aC4gVGhhdCB3 b3VsZAo+PiBiZSBzdXBlci1mbGV4aWJsZSBhbmQgY291bGQgY292ZXIgYWxsIGtpbmRzIG9mIHVz ZS1jYXNlIGxpa2Ugcm90YXRpb24KPj4gbmVlZGluZyBhIHNwZWNpZmljIHRpbGluZyAoZmJfbW9k aWZpZXIpIG9yIHNwZWNpZmljIHBpeGVsIGZvcm1hdCwgb3IKPj4gc3BlY2lmaWMgc3RyaWRlLgoK VGhpcyB3b3VsZCBiZSBncmVhdCB0byBoYXZlLCBidXQgaXQgc291bmRzIGxpa2UgYSBuZXcgY2xh c3Mgb2YgQUJJCmFsdG9nZXRoZXIsIHdoZXJlIHlvdSBzZXQgYSBjb25maWd1cmF0aW9uLCB0aGUg a2VybmVsIHJlamVjdHMgaXQsIGJ1dApnaXZlcyBhIGhpbnQgYWJvdXQgd2hhdCBpdCB3YW50cy4g RG8gd2UgYWxyZWFkeSBoYXZlIHNvbWV0aGluZyBpbiBEUkkKdGhhdCBmb2xsb3dzIHN1Y2ggYSBt ZWNoYW5pc20/Cgo+Pgo+PiBGb3IgdGhlIGNhc2UgYXQgaGFuZCB0aGVyZSdzIGV2ZW4gbW9yZSB3 b3JtczogV2hhdCBhYm91dCBzdHJpZGUKPj4gcmVxdWlyZW1lbnRzPyBBZmFpayBvbiBzb21lIGh3 IHlvdSBqdXN0IG5lZWQgdG8gc3BsaXQgdGhlIGJ1ZmZlcnMgaW50byAyCj4+IHBsYW5lcywgYnV0 IGNhbiBrZWVwIHRoZSB3aWRlIHN0cmlkZSAoc2luY2UgdGhlIGxpbWl0IGlzIHRoZSBzaXplIG9m IHRoZQo+PiBsaW5lYnVmZmVycyBpbiB0aGUgaHcpLiBPbiBvdGhlcnMgeW91IG5lZWQgdG8gc3Bs aXQgdGhlIGJ1ZmZlciBpdHNlbGYgaW50bwo+PiAyLCBiZWNhdXNlIHRoZSBwbGFuZSBodyBjYW4n dCBjb3BlIHdpdGggaHVnZSBzdHJpZGVzLiBBZ2FpbiBtaWdodCBkZXBlbmQKPj4gdXBvbiB0aGUg cGl4ZWwgZm9ybWF0LgoKSSBhc3N1bWVkIHRoYXQgaHcgYWx3YXlzIGJlbG9uZ2VkIHRvIHRoZSBm aXJzdCBjYXRlZ29yeS4gRm9yIHRoZQpsYXR0ZXIsIHRoZSB1c2Vyc3BhY2Ugc3RyYXRlZ3kgb2Yg YWxsb2NhdGluZyBidWZmZXJzIHdvdWxkIGhhdmUgdG8KY2hhbmdlIGl0c2VsZi4KCklmIHdlIGRv IGRlY2lkZSB0byBoaWRlIHBpcGUgdmlydHVhbGl6YXRpb24gaW4gdGhlIGtlcm5lbCBhcyB5b3UK bWVudGlvbmVkIGJlbG93LCBob3cgd291bGQgd2UgbWFuYWdlIHBsYW5lIGh3IHRoYXQgY2FuJ3Qg ZG8gaHVnZQpzdHJpZGVzLiBXb3VsZCB3ZSBuZWVkIHRvIGNvcHkgdGhlIHVzZXJzcGFjZSBwb3B1 bGF0ZWQgYnVmZmVyIGludG8KdHdvIHNlcGFyYXRlIGtlcm5lbCBidWZmZXJzIHRoYXQgZml0IHRo ZSBzdHJpZGUgcmVxdWlyZW1lbnRzPwoKPj4KPj4gU28gaW4gYSB3YXkgaGVpZ2h0L3dpZHRoIGlz IGJvdGggdG9vIG11Y2ggaW5mb3JtYXRpb24gYW5kIG5vdCBwcmVjaXNlCj4+IGVub3VnaC4gRW50 aXJlbHkgZGlmZmVyZW50IGFwcHJvY2hlczoKPj4gLSBXZSBqdXN0IGFkZCBhIG1pZ2h0X25lZWRf c3BsaXRfcGxhbmUgcHJvcCB0byBjcnRjcyB3aGVyZSB0aGlzIG1pZ2h0IGJlCj4+ICAgIG5lZWRl ZC4gVXNlcnNwYWNlIHRoZW4gZ2V0cyB0byByZXRyeSB3aXRoIHNwbGl0IGJ1ZmZlcnMgaWYgaXQg ZG9lc24ndAo+PiAgICB3b3JrIHdpdGggYSBodWdlIG9uZS4KPj4KPj4gLSBXaGVuIEkgZGlzY3Vz c2VkIHRoaXMgd2l0aCBxdWFsY29tIGZvbGtzIGZvciBtc20gd2UgY29uY2x1ZGVkIHRoYXQgdGhl Cj4+ICAgIHNpbXBsZXN0IGFwcHJvYWNoIHdvdWxkIGJlIHRvIGhpZGUgdGhpcyBpbiB0aGUga2Vy bmVsLiBTbyBpZiB5b3UgaGF2ZSBhCj4+ICAgIHRvbyB3aWRlIHBsYW5lLCBhbmQgbmVlZCAyIGh3 IHBsYW5lcyB0byBzY2FuIGl0IG91dCwgdGhlbiBkbyB0aGF0Cj4+ICAgIHRyYW5zcGFyZW50bHkg aW4gdGhlIGtlcm5lbC4gT2YgY291cnNlIHRoaXMgbWVhbnMgdGhhdCB0aGVyZSB3aWxsIGJlIDEK Pj4gICAgKG9yIDMgaWYgeW91IG5lZWQgYSAyeDIgc3BsaXQpIGZld2VyIHBsYW5lcyBhdmFpbGFi bGUsIGJ1dCB1c2Vyc3BhY2UKPj4gICAgbmVlZHMgdG8gaXRlcmF0aXZlbHkgYnVpbGQgdXAgdGhl IHBsYW5lIGNvbmZpZyB1c2luZyBBVE9NSUNfVEVTVCBhbnl3YXkuCj4KPiBKdXN0IGZ3aXcsIHRo ZXJlIGFyZSBhIGZldyB0aGluZ3MgdGhhdCB3ZSB3aWxsIHN0aWxsIGVuZCB1cAo+IGFic3RyYWN0 aW5nIGluIHRoZSBrZXJuZWwgYnkgdmlydHVhbGl6aW5nIHRoZSBtYXBwaW5nIGJldHdlZW4ga21z Cj4gcGxhbmVzIGFuZCBodyBwaXBlcy4gIEFuZCB0aGUgYXBwcm9hY2ggb2Ygd2VzdG9uIGF0b21p YyBvZgo+IGluY3JlbWVudGFsbHkgYWRkaW5nIG1vcmUgcGxhbmVzIHcvIFRFU1RPTkxZIGZsYWcg c2hvdWxkIHdvcmsgd2VsbCBmb3IKPiB0aGF0LiAgKExldCdzIGhvcGUgdGhlIHdlc3RvbiBiaXRz IGdldCB1cHN0cmVhbSBzb21lIGRheS4uKQo+Cj4gQnV0IGV4cG9zaW5nIHdpZHRoIGxpbWl0IGF2 b2lkcyB0aGUgb25lLXBsYW5lIHRvIG11bHRpcGxlLXBpcGVzIGNhc2UsCj4gY29uc2lkZXJhYmx5 IHNpbXBsaWZ5aW5nIHRoaW5ncy4gIEFuZCBzZWVtZWQgbGlrZSBhIGdlbmVyaWMgZW5vdWdoCj4g bGltaXQgKGlpcmMsIGl0IGFwcGxpZXMgdG8gb21hcGRzcyBhbmQgcHJvYmFibHkgb3RoZXJzKSwg dGhhdCBpdCB3b3VsZAo+IGJlIGNsZWFuZXIgdG8gZXhwb3NlIHRoZSBsaW1pdCB0byB1c2Vyc3Bh Y2UuICBTbyB0aGVyZSBzaG91bGQgYmUgYXQKPiBsZWFzdCBhIGNvdXBsZSBvdGhlciBkcml2ZXJz IHRoYXQgY291bGQgYXZvaWQgdmlydHVhbGl6aW5nIHBsYW5lcyB3aXRoCj4gc29tZSBoZWxwIGZy b20gdXNlcnNwYWNlIGZvciB0aGlzIGNhc2UuCj4KPiBSZWdhcmRpbmcgcm90YXRpb24sIEknbSBu b3QgMTAwJSBzdXJlLi4gc2VlbXMgbGlrZSB3ZSBjb3VsZCBqdXN0Cj4gZG9jdW1lbnQgdGhlc2Ug YXMgdGhlIHVuLXJvdGF0ZWQgbGltaXRzLiAgSWYgd2UgcmVhbGx5IGhhZCB0bywgd2UKPiBjb3Vs ZCBkbyBzb21lIHNvcnQgb2YgZGFuY2Ugd2hlcmUgdXNlcnNwYWNlIHNldHMgcm90YXRpb24gcHJv cGVydHkgb24KPiBhbiB1bi11c2VkIHBsYW5lLCBhbmQgdGhlbiByZWFkcy1iYWNrIHRoZSBjdXJy ZW50IHZhbHVlcyBvZiB0aGUKPiByZWFkLW9ubHkgcHJvcCdzLiAgQnV0IHRoYXQgc2VlbXMgYXdr d2FyZC4KPgo+IEJSLAo+IC1SCj4KPj4gSWYgcG9zc2libGUgZm9yIHlvdXIgaHcgSSdtIGhlYXZp bHkgbGVhbmluZyB0b3dhcmRzIHRoaXMgbGFzdCBhcHByb2FjaC4gSWYKPj4gZml0cyBlbnRpcmVs eSBpbnRvIHRoZSBjdXJyZW50IGF0b21pYyBkZXNpZ24sIGFuZCBhbGwgdGhlIGNvbXBsZXhpdHkg aXMKPj4gcmVzdHJpY3RlZCB0byB5b3VyIGRyaXZlciAoeW91IG5lZWQgdG8gaGF2ZSBzb21lIGFs bG9jYXRpb24gbWFwIGJldHdlZW4KPj4gZHJtIHBsYW5lcyBhbmQgcmVhbCBodyBwbGFuZXMsIGJ1 dCB0aGF0J3MgaXQpLgoKSSBndWVzcyB0aGUgbGFzdCBhcHByb2FjaCBzZWVtcyBtb3JlIGFwdCBm b3IgY29tcG9zaXRvcnMgdGhhdCBydW4gdGhlCnNhbWUgY29kZSBmb3IgYWxsIGh3ICh3ZXN0b24s IGV0YykuIEluIGFuZHJvaWQgdXNlcnNwYWNlLCBlYWNoIGRpc3BsYXkKaHcgaGFzIHRoZSBsdXh1 cnkgb2YgaGF2aW5nIGl0J3Mgb3duIG1pZGRsZXdhcmUgd2hlcmUgdGhleSBoYXZlIG1vcmUgCmZy ZWVkb20gb24gaG93IHRoZXkgbWFuYWdlIHBsYW5lcyBhbmQgaG93IHRoZXkgaW50ZXJwcmV0IHRo ZSBEUk0KaW9jdGxzLiBGb3Igc3VjaCBtaWRkbGV3YXJlLCBwcmV2ZW50aW5nIHZpcnR1YWxpemF0 aW9uIGhlbHBzIGluIG1vdmluZwp0aGUgYnVsayBvZiB0aGUgY29kZSBpbiB1c2Vyc3BhY2UuIEkg ZG9uJ3Qga25vdyBpZiBhbmRyb2lkIHdpbGwKY29udGludWUgdG8gaGF2ZSBzdWNoIG1pZGRsZXdh cmUgd2hlbiBhbGwgU29DcyBtb3ZlIHRvIGRybSBod2NvbXBvc2VyLAp0aG91Z2guCgpUaGlzIHBy b2JhYmx5IG5lZWRzIG1vcmUgZmVlZGJhY2sgUWNvbSBhbmQgb3RoZXIgU29DIHBlb3BsZS4gQWx0 aG91Z2gsCmFzIFJvYiBzYWlkLCBpZiBhIGxvdCBvZiBodyBoYXMgYSBsaW1pdGF0aW9uIG92ZXIg dGhlIGxpbmUgYnVmZmVyIHdpZHRoCnRoZXkgaGF2ZSBvbiBhIHBsYW5lLCBpdCBjb3VsZCBiZSBo YW5keSB0byBoYXZlIHN1Y2ggZXhwb3NlIHN1Y2ggYQpwcm9wZXJ0eSBmb3IgZHJpdmVycyB0aGF0 IGRvbid0IHdhbnQgdG8gdmlydHVhbGl6ZSB0aGVpciBwbGFuZSBodyBqdXN0CmZvciB0aGlzIG9u ZSB1c2VjYXNlLiBCdXQsIGFzIHlvdSBzYWlkLCBtYXhfd2lkdGggaXNuJ3QgcHJlY2lzZSBlbm91 Z2gKaW5mb3JtYXRpb24gZWl0aGVyLiBTbywgeWVhaCwgd2UnbGwgcHJvYmFibHkgbmVlZCB0byB0 aGluayBvdmVyIHRoaXMKYSBiaXQgbW9yZS4KCkFyY2hpdAoKPj4KPj4gVGhvdWdodHM/Cj4+IC1E YW5pZWwKPj4KPj4+Cj4+Cj4+PiBBcmNoaXQKPj4+Cj4+Pj4KPj4+PiBDaGVlcnMsIERhbmllbAo+ Pj4+Cj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9y YS5vcmc+Cj4+Pj4+IC0tLQo+Pj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgfCAg OSArKysrKysrKysKPj4+Pj4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyAgIHwgMzggKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4+Pj4gICBpbmNsdWRlL2RybS9k cm1fY3J0Yy5oICAgICAgIHwgIDYgKysrKysrCj4+Pj4+ICAgMyBmaWxlcyBjaGFuZ2VkLCA1MyBp bnNlcnRpb25zKCspCj4+Pj4+Cj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+Pj4+PiBpbmRleCA4ZWUx ZGI4Li5mZGVkMjJhIDEwMDY0NAo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Yy5jCj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPj4+Pj4gQEAgLTgz OSw2ICs4MzksMTUgQEAgc3RhdGljIGludCBkcm1fYXRvbWljX3BsYW5lX2NoZWNrKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAo+Pj4+PiAgICAgICAgICAgICByZXR1cm4gLUVSQU5HRTsKPj4+Pj4g ICAgIH0KPj4+Pj4KPj4+Pj4gKyAgIGlmIChwbGFuZS0+bWF4X3dpZHRoICYmIChzdGF0ZS0+c3Jj X3cgPj4gMTYpID4gcGxhbmUtPm1heF93aWR0aCB8fAo+Pj4+PiArICAgICAgIHBsYW5lLT5tYXhf aGVpZ2h0ICYmIChzdGF0ZS0+c3JjX2ggPj4gMTYpID4gcGxhbmUtPm1heF9oZWlnaHQpIHsKPj4+ Pj4gKyAgICAgICAgICAgRFJNX0RFQlVHX0FUT01JQygiSW52YWxpZCBzb3VyY2Ugd2lkdGgvaGVp Z2h0ICIKPj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXUuJTA2dXgldS4lMDZ1 XG4iLAo+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5zcmNfdyA+PiAx NiwgKChzdGF0ZS0+c3JjX3cgJiAweGZmZmYpICogMTU2MjUpID4+IDEwLAo+Pj4+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5zcmNfaCA+PiAxNiwgKChzdGF0ZS0+c3JjX2gg JiAweGZmZmYpICogMTU2MjUpID4+IDEwKTsKPj4+Pj4gKyAgICAgICAgICAgcmV0dXJuIC1FUkFO R0U7Cj4+Pj4+ICsgICB9Cj4+Pj4+ICsKPj4+Pj4gICAgIGZiX3dpZHRoID0gc3RhdGUtPmZiLT53 aWR0aCA8PCAxNjsKPj4+Pj4gICAgIGZiX2hlaWdodCA9IHN0YXRlLT5mYi0+aGVpZ2h0IDw8IDE2 Owo+Pj4+Pgo+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+Pj4+PiBpbmRleCBlMDhmOTYyLi5mMmQzYjkyIDEw MDY0NAo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+Pj4+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+Pj4+PiBAQCAtMTI2Nyw2ICsxMjY3LDkgQEAgaW50 IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKPj4+Pj4gICAgIHBsYW5lLT5wb3NzaWJsZV9jcnRjcyA9IHBvc3Np YmxlX2NydGNzOwo+Pj4+PiAgICAgcGxhbmUtPnR5cGUgPSB0eXBlOwo+Pj4+Pgo+Pj4+PiArICAg cGxhbmUtPm1heF93aWR0aCA9IDA7Cj4+Pj4+ICsgICBwbGFuZS0+bWF4X2hlaWdodCA9IDA7Cj4+ Pj4+ICsKPj4+Pj4gICAgIGxpc3RfYWRkX3RhaWwoJnBsYW5lLT5oZWFkLCAmY29uZmlnLT5wbGFu ZV9saXN0KTsKPj4+Pj4gICAgIGNvbmZpZy0+bnVtX3RvdGFsX3BsYW5lKys7Cj4+Pj4+ICAgICBp ZiAocGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSkKPj4+Pj4gQEAgLTQ5NTcs NiArNDk2MCw0MSBAQCBpbnQgZHJtX21vZGVfcGxhbmVfc2V0X29ial9wcm9wKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAo+Pj4+PiAgIH0KPj4+Pj4gICBFWFBPUlRfU1lNQk9MKGRybV9tb2RlX3Bs YW5lX3NldF9vYmpfcHJvcCk7Cj4+Pj4+Cj4+Pj4+ICtpbnQgZHJtX3BsYW5lX2NyZWF0ZV9tYXhf d2lkdGhfcHJvcChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgdWludDMyX3QgbWF4X3dpZHRoKQo+ Pj4+PiArewo+Pj4+PiArICAgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcDsKPj4+Pj4gKwo+Pj4+ PiArICAgcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfcmFuZ2UocGxhbmUtPmRldiwgRFJNX01P REVfUFJPUF9JTU1VVEFCTEUsCj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiTUFYX1ciLCBtYXhfd2lkdGgsIG1heF93aWR0aCk7Cj4+Pj4+ICsgICBpZiAoIXByb3Ap Cj4+Pj4+ICsgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+Pj4+PiArCj4+Pj4+ICsgICBkcm1f b2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmcGxhbmUtPmJhc2UsIHByb3AsIG1heF93aWR0aCk7Cj4+ Pj4+ICsKPj4+Pj4gKyAgIHBsYW5lLT5tYXhfd2lkdGggPSBtYXhfd2lkdGg7Cj4+Pj4+ICsKPj4+ Pj4gKyAgIHJldHVybiAwOwo+Pj4+PiArfQo+Pj4+PiArRVhQT1JUX1NZTUJPTChkcm1fcGxhbmVf Y3JlYXRlX21heF93aWR0aF9wcm9wKTsKPj4+Pj4gKwo+Pj4+PiAraW50IGRybV9wbGFuZV9jcmVh dGVfbWF4X2hlaWdodF9wcm9wKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+Pj4+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtYXhfaGVpZ2h0KQo+Pj4+PiArewo+ Pj4+PiArICAgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcDsKPj4+Pj4gKwo+Pj4+PiArICAgcHJv cCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfcmFuZ2UocGxhbmUtPmRldiwgRFJNX01PREVfUFJPUF9J TU1VVEFCTEUsCj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTUFY X0giLCBtYXhfaGVpZ2h0LCBtYXhfaGVpZ2h0KTsKPj4+Pj4gKyAgIGlmICghcHJvcCkKPj4+Pj4g KyAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Cj4+Pj4+ICsKPj4+Pj4gKyAgIGRybV9vYmplY3Rf YXR0YWNoX3Byb3BlcnR5KCZwbGFuZS0+YmFzZSwgcHJvcCwgbWF4X2hlaWdodCk7Cj4+Pj4+ICsK Pj4+Pj4gKyAgIHBsYW5lLT5tYXhfaGVpZ2h0ID0gbWF4X2hlaWdodDsKPj4+Pj4gKwo+Pj4+PiAr ICAgcmV0dXJuIDA7Cj4+Pj4+ICt9Cj4+Pj4+ICtFWFBPUlRfU1lNQk9MKGRybV9wbGFuZV9jcmVh dGVfbWF4X2hlaWdodF9wcm9wKTsKPj4+Pj4gKwo+Pj4+PiAgIC8qKgo+Pj4+PiAgICAqIGRybV9t b2RlX29ial9nZXRfcHJvcGVydGllc19pb2N0bCAtIGdldCB0aGUgY3VycmVudCB2YWx1ZSBvZiBh IG9iamVjdCdzIHByb3BlcnR5Cj4+Pj4+ICAgICogQGRldjogRFJNIGRldmljZQo+Pj4+PiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgK Pj4+Pj4gaW5kZXggZTAxNzBiZi4uNjEwNDUyNyAxMDA2NDQKPj4+Pj4gLS0tIGEvaW5jbHVkZS9k cm0vZHJtX2NydGMuaAo+Pj4+PiArKysgYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4+Pj4+IEBA IC0xNTMxLDYgKzE1MzEsOCBAQCBzdHJ1Y3QgZHJtX3BsYW5lIHsKPj4+Pj4gICAgIHVpbnQzMl90 ICpmb3JtYXRfdHlwZXM7Cj4+Pj4+ICAgICB1bnNpZ25lZCBpbnQgZm9ybWF0X2NvdW50Owo+Pj4+ PiAgICAgYm9vbCBmb3JtYXRfZGVmYXVsdDsKPj4+Pj4gKyAgIHVpbnQzMl90IG1heF93aWR0aDsK Pj4+Pj4gKyAgIHVpbnQzMl90IG1heF9oZWlnaHQ7Cj4+Pj4+Cj4+Pj4+ICAgICBzdHJ1Y3QgZHJt X2NydGMgKmNydGM7Cj4+Pj4+ICAgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsKPj4+Pj4g QEAgLTI1NTAsNiArMjU1MiwxMCBAQCBleHRlcm4gc3RydWN0IGRybV9wcm9wZXJ0eSAqZHJtX21v ZGVfY3JlYXRlX3JvdGF0aW9uX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlCj4+Pj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBpbnQgc3VwcG9ydGVkX3JvdGF0aW9ucyk7Cj4+Pj4+ICAgZXh0ZXJuIHVuc2lnbmVkIGlu dCBkcm1fcm90YXRpb25fc2ltcGxpZnkodW5zaWduZWQgaW50IHJvdGF0aW9uLAo+Pj4+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzdXBwb3J0ZWRf cm90YXRpb25zKTsKPj4+Pj4gK2V4dGVybiBpbnQgZHJtX3BsYW5lX2NyZWF0ZV9tYXhfd2lkdGhf cHJvcChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPj4+Pj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgbWF4X3dpZHRoKTsKPj4+Pj4gK2V4dGVybiBpbnQg ZHJtX3BsYW5lX2NyZWF0ZV9tYXhfaGVpZ2h0X3Byb3Aoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs Cj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBt YXhfaGVpZ2h0KTsKPj4+Pj4KPj4+Pj4gICAvKiBIZWxwZXJzICovCj4+Pj4+Cj4+Pj4+IC0tCj4+ Pj4+IFRoZSBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiB0 aGUgQ29kZSBBdXJvcmEgRm9ydW0sCj4+Pj4+IGhvc3RlZCBieSBUaGUgTGludXggRm91bmRhdGlv bgo+Pj4+Pgo+Pj4+Cj4+Pgo+Pj4gLS0KPj4+IFRoZSBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRl ciwgSW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29kZSBBdXJvcmEgRm9ydW0sCj4+PiBob3N0ZWQg YnkgVGhlIExpbnV4IEZvdW5kYXRpb24KPj4KPj4gLS0KPj4gRGFuaWVsIFZldHRlcgo+PiBTb2Z0 d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPj4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gK Ci0tIApUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2Yg dGhlIENvZGUgQXVyb3JhIApGb3J1bSwgaG9zdGVkIGJ5IFRoZSBMaW51eCBGb3VuZGF0aW9uCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=