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: Wed, 25 May 2016 16:28:36 +0530 Message-ID: <5745855C.40009@codeaurora.org> References: <1464158019-7040-1-git-send-email-architt@codeaurora.org> <20160525071028.GE27098@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 ECD7C6E91B for ; Wed, 25 May 2016 10:58:48 +0000 (UTC) In-Reply-To: <20160525071028.GE27098@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: airlied@redhat.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org CgpPbiAwNS8yNS8yMDE2IDEyOjQwIFBNLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+IE9uIFdlZCwg TWF5IDI1LCAyMDE2IGF0IDEyOjAzOjM5UE0gKzA1MzAsIEFyY2hpdCBUYW5lamEgd3JvdGU6Cj4+ IEhpZ2ggcmVzb3VsdGlvbiBtb2RlcyAoNEsvNUspIGFyZSBzdXBwb3J0ZWQgYnkgZW5jb2Rlci9j cnRjIGhhcmR3YXJlLCBidXQKPj4gdGhlIGJhY2tpbmcgaGFyZHdhcmUgcGxhbmVzIHRvIHNjYW5v dXQgdGhlc2UgYnVmZmVycyBnZW5lcmFsbHkgZG9uJ3QKPj4gc3VwcG9ydCBzdWNoIGxhcmdlIHdp ZHRocy4gVHdvIChvciBtb3JlKSBoYXJkd2FyZSBwbGFuZXMgYXJlIHVzZWQgaW4KPj4gY29uanVu Y3Rpb24gdG8gc2NhbiBvdXQgdGhlIGVudGlyZSB3aWR0aC4KPgo+ICJnZW5lcmFsbHkiIHNlZW1z IHRvIGJlIGEgYml0IGFuIG92ZXJzdGF0ZW1lbnQuIE1vc3Qgc2Vuc2libGUgaHcgaGFzIG5vCj4g cHJvYmxlbSBhdCBhbGwgc2Nhbm5pbmcgdGhhdCBraW5kIG9mIHN0dWZmIG91dCA7LSkKPgo+PiBP bmUgd2F5IHRvIHN1cHBvcnQgdGhpcyBpcyB0byB2aXJ0dWFsaXplIHRoZSBkcm1fcGxhbmUgb2Jq ZWN0cyB0aGF0IHdlCj4+IGV4cG9zZSB0byB1c2Vyc3BhY2UsIGFuZCBsZXQgdGhlIGttcyBkcml2 ZXIgaW50ZXJuYWxseSBmaWd1cmUgb3V0IHdoZXRoZXIKPj4gaXQgbmVlZHMgdG8gY2x1YiBtdWx0 aXBsZSBoYXJkd2FyZSBwaXBlcyB0byBydW4gYSBwYXJ0aWN1bGFyIG1vZGUuCj4+Cj4+IFRoZSBv dGhlciBvcHRpb24gaXMgdG8gcmVwcmVzZW50IGEgZHJtX3BsYW5lIGFzIGl0IGlzIGluIGhhcmR3 YXJlLCBhbmQKPj4gbGVhdmUgaXQgdG8gdXNlcnNwYWNlIHVzZSB0byBtYW5hZ2UgbXVsdGlwbGUg ZHJtX3BsYW5lcyBmb3Igc2Nhbm5pbmcKPj4gb3V0IHRoZXNlIG1vZGVzLgo+Pgo+PiBUaGUgYWR2 YW50YWdlIG9mIHRoZSBsYXR0ZXIgb3B0aW9uIGlzIHRoYXQgdGhlIGttcyBkcml2ZXIgZG9lc24n dCBnZXQKPj4gdG9vIGNvbXBsaWNhdGVkLiBJdCBkb2Vzbid0IG5lZWQgdG8gZG8gdGhlIGRlY2lz aW9uIG1ha2luZyBvbiBob3cgdG8KPj4gZGlzdGlidXRlIHRoZSBoYXJkd2FyZSByZXNvdXJjZXMg YW1vbmcgdGhlIGRybV9wbGFuZXMuIEl0IGFsc28gYWxsb3dzCj4+IHVzZXJzcGFjZSB0byBjb250 aW51ZSBkb2luZyBzb21lIG9mIHRoZSBoZWF2eSBsaWZ0aW5nIChmaWd1cmUgb3V0Cj4+IHRoZSBt b3N0IHBvd2VyIGVmZmljaWVudCBjb21iaW5hdGlvbiBvZiBwaXBlcywgZXN0aW1hdGUgYmFuZHdp ZHRoCj4+IGNvbnN1bXB0aW9uIGV0Yykgd2hpY2ggd291bGQgaGF2ZSB0byBiZSBtb3ZlZCB0byB0 aGUga2VybmVsIGlmIHdlCj4+IHZpcnR1YWxpemVkIHBsYW5lcy4KPj4KPj4gSW4gb3JkZXIgdG8g YWNoaWV2ZSB0aGUgbGF0dGVyLCBhIGRybV9wbGFuZSBzaG91bGQgZXhwb3NlIGFuIGltbXV0YWJs ZQo+PiBwcm9wZXJ0eSB0byB1c2Vyc3BhY2UgZGVzY3JpYmluZyB0aGUgbWF4aW11bSB3aWR0aCBh bmQgaGVpZ2h0IGl0IGNhbgo+PiBzdXBwb3J0LiBVc2Vyc3BhY2UgY2FuIHRoZW4gcHJlcGFyZSB0 aGUgZHJtX3BsYW5lcyBhY2NvcmRpbmdseSBhbmQKPj4gY29tbWl0IHRoZSBzdGF0ZS4gVGhpcyBw YXRjaCBpbnRyb2R1Y2VzIHRoZXNlIHByb3BlcnRpZXMuCj4+Cj4+IFRoZSBtYWluIGRpc2FkdmFu dGFnZSBpcyB0aGF0IGxlZ2FjeSB1c2Vyc3BhY2UgKGkuZS4gY2FsbGluZyBTZXRDcnRjCj4+IG9u IGEgaGlnaCByZXNvbHV0aW9uIGZyYW1lYnVmZmVyKSB3b3VsZG4ndCB3b3JrLiBUaGlzLCBvbiB0 aGUgb3RoZXIKPj4gaGFuZCwgd291bGRuJ3QgYmUgYSBwcm9ibGVtIGlmIHdlIHZpcnR1YWxpemVk IHRoZSBwbGFuZXMgYW5kIG1hbmlwdWxhdGVkCj4+IHRoZSBoYXJkd2FyZSBwaXBlcyBpbiB0aGUg a2VucmVsLiBPbmUgd2F5IGFyb3VuZCB0aGlzIGlzIHRvIGZhaWwgbGFyZ2UKPj4gcmVzb2x1dGlv biBtb2RlcyB3aGVuIHVzaW5nIGxlZ2FjeSBzZXRjcnRjLCBvciBpbnRyb2R1Y2Ugc29tZSBtaW5p bWFsCj4+IGhlbHBlcnMgaW4gdGhlIGtlcm5lbCB0aGF0IGF1dG9tYXRpY2FsbHkgdXNlIG11bHRp cGxlIGRybV9wbGFuZXMgd2hlbgo+PiB3ZSB0cnkgdG8gc2V0IHN1Y2ggYSBtb2RlLiBBIHNvbHV0 aW9uIHRvIHRoaXMgaXNzdWUgaXNuJ3QgYSBwYXJ0IG9mIHRoZQo+PiBSRkMgeWV0Lgo+Pgo+PiBX ZSdyZSBsb29raW5nIGZvciBmZWVkYmFjayBoZXJlIGFuZCB3b25kZXJpbmcgd2hldGhlciB0aGlz IGlzIHRoZSByaWdodAo+PiB3YXkgdG8gZ28gb3Igbm90Lgo+Cj4gU28ganVzdCB0aGlzIHdlZWsg dGhlcmUgd2FzIGEgYml0IGEgZGlzY3Vzc2lvbiBvbiBpcmMgKGFuZCBJIGhhdmVuJ3QKPiBnb3R0 ZW4gYXJvdW5kIHRvIHR5cGluZyB0aGUgd3JpdGV1cCBhbmQgYXNraW5nIGV2ZXJ5b25lIGZvciBm ZWVkYmFjayBvbgo+IGl0KSBvbiBuZXcgcHJvcGVydGllcy4gU3VwZXItc2hvcnQgc3VtbWFyeToK Pgo+IC0gbmV3IHByb3BlcnRpZXMgYXJlIG5ldyBhYmkgbGlrZSBhbnl0aGluZyBlbHNlCj4KPiAt IGRybSB3YW50cyBhIHVzZXJzcGFjZSBkZW1vbnN0cmF0aW9uIHZlaGljbGUgdG8gcHJvdmUgbmV3 IGFiaSB3aGljaCBpczoKPiAgICBvcGVuIHNvdXJjZSwgcGF0Y2hlcyByZXZpZXdlZCAmIHRlc3Rl ZCBieSByZXNwZWN0aXZlIGNhbm9uaWNhbCB1cHN0cmVhbQo+ICAgIChzbyBub3QgYSB2ZW5kb3Ig Zm9yayBvciBzb21ldGhpbmcgbGlrZSB0aGF0KS4gVGVzdGNhc2VzIGFyZSBleHBsaWNpdGx5Cj4g ICAgbm90IGVub3VnaCwgaXQgbmVlZHMgdG8gYmUgdGhlIHJlYWwgZGVhbC4KPgo+IC0gZm9yIHBy b3BzIHNwZWNpZmljYWxseSB3aGljaCBhcmUgbWVhbnQgdG8gYmUgdXNlZC9pbnRlcnByZXRlZCBi eQo+ICAgIGNvbXBvc2l0b3IgdGhpcyBtZWFucyBhIHBhdGNoIGZvciBkcm1faHdjb21wb3Nlciwg b25lIG9mIHRoZSBtYW55Cj4gICAgd2F5bGFuZCBjb21wb3NpdG9ycyB0aGVyZSBhcmUgKHdlc3Rv biwgb3pvbmUsIG11dHRlciksIG9yIGEgcGF0Y2ggZm9yCj4gICAgeGZyZWU4Ni12aWRlby1tb2Rl c2V0dGluZy4gT3RoZXIgdXNlcnNwYWNlIHRoaW5naWVzIGFyZSBwcm9iYWJseSBhIGJpdAo+ICAg IHRvbyBtdWNoIGZyaW5nZSB0byBjb3VudC4KPgo+IC0gdGhpcyBpc24ndCByZWFsbHkgbmV3LCBi dXQgdGh1cyBmYXIgYXJtIHNpbXBseSBzYWlsZWQgaW4gdGhlIHNoYWRvdyBvZgo+ICAgIGludGVs IGRvaW5nIGFsbCB0aGF0IGhhcmQgd29yay4gTm93IHNvbWUgYXJtIGRyaXZlcnMgc3RhcnQgdG8g cHVsbAo+ICAgIGFoZWFkLCBhZGRpbmcgbmV3IEFCSSB0aGF0J3Mgbm90IHlldCBwcm92ZW4gYnkg aTkxNSBmb2xrcywgYW5kIHdpdGgKPiAgICBzdWNjZXNzIGNvbWVzIGEgYml0IG1vcmUgcmVzcG9u c2liaWxpdHkuCgpUaGF0IHNvdW5kcyBmYWlyIGVub3VnaC4KCj4KPiBGb3IgdGhlIGludGVyZmFj ZSBpdHNlbGYganVzdCBhIGZldyBxdWVzdGlvbnM6Cj4gLSBXZSBzaG91bGQgbWFrZSB0aGUgY3Vy c29yIHNpemUgc3R1ZmYgb2JzZWxldGUgYnkgdGhpcywgYW5kIGluc3RlYWQgZmlyc3QKPiAgICBs b29rIHVwIHRoZSBzaXplIGxpbWl0cyBvZiB0aGUgY3Vyc29yIHBsYW5lLCBiZWZvcmUgY2hlY2tp bmcgdGhvc2UKPiAgICBsZWdhY3kgbGltaXRzLgoKWWVhaCwgSSBndWVzcyBxdWVyeWluZyB0aGUg RFJNX0NBUF9DVVJTT1JfV0lEVEgvSEVJR0hUIGNhcHMgd291bGQKYmVjb21lIG9ic29sZXRlLgoK PiAtIElzIHRoZSBzaXplL3dpZHRoIHJlYWxseSBpbmRlcGVuZGVudCBvZiBlLmcuIHJvdGF0aW9u L3BpeGVsIGZvcm1hdC8uLi4KPiAgICBTaG91bGQgaXQgYmUgdGhlIG1heGltdW0gdGhhdCdzIHBv c3NpYmxlIHVuZGVyIGJlc3QgY2lyY3Vtc3RhbmNlICh0aGluZ3MKPiAgICBjb3VsZCBzdGlsbCBm YWlsKSwgb3IgdGhlIG1pbmltdW0gdGhhdCdzIGd1YXJhbnRlZWQgdG8gd29yayBldmVyd2hlcmUu Cj4gICAgVGhpcyBpcyB0aGUga2luZCBvZiBzdHVmZiB3ZSBuZWVkIHRoZSB1c2Vyc3BhY2UgcGFy dCBmb3IsIHRvby4KClllYWgsIGl0IGlzbid0IGluZGVwZW5kZW50IG9mIHRoZXNlIHBhcmFtZXRl cnMuIEknbSBub3QgZW50aXJlbHkgc3VyZQphYm91dCB0aGlzIGVpdGhlci4KCkRvZXMgaXQgbWFr ZSBzZW5zZSB0byBpbXBvc2UgYSBydWxlIHRoYXQgdGhlIHVzZXIgZmlyc3Qgc2V0cyB0aGUKcm90 YXRpb24vZm9ybWF0IHBsYW5lIHByb3BlcnRpZXMsIGFuZCBvbmx5IHRoZW4gcmVhZCB0aGUgbWF4 aW11bQp3aWR0aD8gSSdtIGFzc3VtaW5nIHVzZXIgc3BhY2UgaGF0ZXMgc3VjaCBraW5kIG9mIHN0 dWZmLgoKSWYgd2UgdXNlIHRoZSAnYmVzdCBjaXJjdW1zdGFuY2UnIG1heF93aWR0aCwgd2UgY2Fu IGZpcnN0IHN0YXJ0CndpdGggYSBtaW5pbXVtIG51bWJlciBvZiBwbGFuZXMgdGhhdCBuZWVkIHRv IGJlIGdyb3VwZWQgdG8gYWNoaWV2ZQp0aGUgdGFyZ2V0IG1vZGUuIElmIHRoYXQgZmFpbHMgdGhl IGF0b21pYyB0ZXN0LCB0aGVuIHdlIGNhbiB0cnkgdG8KYWRkIG9uZSBwbGFuZSBhdCBhIHRpbWUs IGFuZCByZWR1Y2UgdGhlIHdpZHRoIGZvciBlYWNoIHBsYW5lLgoKSWYgd2UgdXNlIHRoZSBtaW5p bXVtLydndWFyYW50ZWVkIHRvIHdvcmsnIG1heF93aWR0aCwgd2UnbGwgZ2V0CmEgaGlnaGVyIG51 bWJlciBvZiBwbGFuZXMgdGhhbiBuZWVkZWQgZm9yIHRoaXMgbW9kZS4gVGhpcyB3b3VsZCBwYXNz CnRoZSBhdG9taWMgdGVzdC4gV2UgY291bGQgdGhlbiByZWR1Y2UgYSBwbGFuZSBhdCBhIHRpbWUg YW5kIHNlZSB3aGVuCndlIGZhaWwgdGhlIGF0b21pYyB0ZXN0LgoKSSBndWVzcyB3ZSBuZWVkIHRv IGNob3NlIHRoZSBvbmUgdGhhdCdzIG1vcmUgcHJvYmFibGUgdG8gZ2V0IHJpZ2h0CnRoZSBmaXJz dCB0aW1lLiBDb25zaWRlcmluZyBvbmx5IHBpeGVsIGZvcm1hdHMgZm9yIG5vdywgdGhlCm1pbmlt dW0vJ2d1YXJhbnRlZWQgdG8gd29yaycgd291bGQgbWFwIHRvIHRoZSBSR0IgZm9ybWF0cy4gVGhl IGJlc3QKY2lyY3Vtc3RhbmNlIG9uZXMgd291bGQgcHJvYmFibHkgYmUgdGhlIHBsYW5hciB2aWRl byBmb3JtYXRzLiBTaW5jZQp3ZSB1c2UgUkdCIG1vcmUgb2Z0ZW4sIHRoZSBtaW5pbXVtIG9uZSBt aWdodCBtYWtlIG1vcmUgc2Vuc2UuCgpXZSBjb3VsZCwgb2YgY291cnNlLCBnaXZlIHRoZSBwcm9w ZXJ0eSBhIHJhbmdlIG9mIG1heCB3aWR0aHMgdG8KY29uZnVzZSB1c2VyIHNwYWNlIGV2ZW4gbW9y ZS4KCkFyY2hpdAoKPgo+IENoZWVycywgRGFuaWVsCj4KPj4gU2lnbmVkLW9mZi1ieTogQXJjaGl0 IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KPj4gLS0tCj4+ICAgZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYyB8ICA5ICsrKysrKysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1f Y3J0Yy5jICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiAg IGluY2x1ZGUvZHJtL2RybV9jcnRjLmggICAgICAgfCAgNiArKysrKysKPj4gICAzIGZpbGVzIGNo YW5nZWQsIDUzIGluc2VydGlvbnMoKykKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4+IGluZGV4IDhl ZTFkYjguLmZkZWQyMmEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+PiBAQCAtODM5LDYgKzgz OSwxNSBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfcGxhbmVfY2hlY2soc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsCj4+ICAgCQlyZXR1cm4gLUVSQU5HRTsKPj4gICAJfQo+Pgo+PiArCWlmIChwbGFu ZS0+bWF4X3dpZHRoICYmIChzdGF0ZS0+c3JjX3cgPj4gMTYpID4gcGxhbmUtPm1heF93aWR0aCB8 fAo+PiArCSAgICBwbGFuZS0+bWF4X2hlaWdodCAmJiAoc3RhdGUtPnNyY19oID4+IDE2KSA+IHBs YW5lLT5tYXhfaGVpZ2h0KSB7Cj4+ICsJCURSTV9ERUJVR19BVE9NSUMoIkludmFsaWQgc291cmNl IHdpZHRoL2hlaWdodCAiCj4+ICsJCQkJICIldS4lMDZ1eCV1LiUwNnVcbiIsCj4+ICsJCQkJIHN0 YXRlLT5zcmNfdyA+PiAxNiwgKChzdGF0ZS0+c3JjX3cgJiAweGZmZmYpICogMTU2MjUpID4+IDEw LAo+PiArCQkJCSBzdGF0ZS0+c3JjX2ggPj4gMTYsICgoc3RhdGUtPnNyY19oICYgMHhmZmZmKSAq IDE1NjI1KSA+PiAxMCk7Cj4+ICsJCXJldHVybiAtRVJBTkdFOwo+PiArCX0KPj4gKwo+PiAgIAlm Yl93aWR0aCA9IHN0YXRlLT5mYi0+d2lkdGggPDwgMTY7Cj4+ICAgCWZiX2hlaWdodCA9IHN0YXRl LT5mYi0+aGVpZ2h0IDw8IDE2Owo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+PiBpbmRleCBlMDhmOTYyLi5m MmQzYjkyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+PiBAQCAtMTI2Nyw2ICsxMjY3LDkgQEAgaW50 IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKPj4gICAJcGxhbmUtPnBvc3NpYmxlX2NydGNzID0gcG9zc2libGVf Y3J0Y3M7Cj4+ICAgCXBsYW5lLT50eXBlID0gdHlwZTsKPj4KPj4gKwlwbGFuZS0+bWF4X3dpZHRo ID0gMDsKPj4gKwlwbGFuZS0+bWF4X2hlaWdodCA9IDA7Cj4+ICsKPj4gICAJbGlzdF9hZGRfdGFp bCgmcGxhbmUtPmhlYWQsICZjb25maWctPnBsYW5lX2xpc3QpOwo+PiAgIAljb25maWctPm51bV90 b3RhbF9wbGFuZSsrOwo+PiAgIAlpZiAocGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfT1ZF UkxBWSkKPj4gQEAgLTQ5NTcsNiArNDk2MCw0MSBAQCBpbnQgZHJtX21vZGVfcGxhbmVfc2V0X29i al9wcm9wKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+PiAgIH0KPj4gICBFWFBPUlRfU1lNQk9M KGRybV9tb2RlX3BsYW5lX3NldF9vYmpfcHJvcCk7Cj4+Cj4+ICtpbnQgZHJtX3BsYW5lX2NyZWF0 ZV9tYXhfd2lkdGhfcHJvcChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgdWludDMyX3QgbWF4X3dp ZHRoKQo+PiArewo+PiArCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3A7Cj4+ICsKPj4gKwlwcm9w ID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9yYW5nZShwbGFuZS0+ZGV2LCBEUk1fTU9ERV9QUk9QX0lN TVVUQUJMRSwKPj4gKwkJCQkJICJNQVhfVyIsIG1heF93aWR0aCwgbWF4X3dpZHRoKTsKPj4gKwlp ZiAoIXByb3ApCj4+ICsJCXJldHVybiAtRU5PTUVNOwo+PiArCj4+ICsJZHJtX29iamVjdF9hdHRh Y2hfcHJvcGVydHkoJnBsYW5lLT5iYXNlLCBwcm9wLCBtYXhfd2lkdGgpOwo+PiArCj4+ICsJcGxh bmUtPm1heF93aWR0aCA9IG1heF93aWR0aDsKPj4gKwo+PiArCXJldHVybiAwOwo+PiArfQo+PiAr RVhQT1JUX1NZTUJPTChkcm1fcGxhbmVfY3JlYXRlX21heF93aWR0aF9wcm9wKTsKPj4gKwo+PiAr aW50IGRybV9wbGFuZV9jcmVhdGVfbWF4X2hlaWdodF9wcm9wKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLAo+PiArCQkJCSAgICAgdWludDMyX3QgbWF4X2hlaWdodCkKPj4gK3sKPj4gKwlzdHJ1Y3Qg ZHJtX3Byb3BlcnR5ICpwcm9wOwo+PiArCj4+ICsJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVf cmFuZ2UocGxhbmUtPmRldiwgRFJNX01PREVfUFJPUF9JTU1VVEFCTEUsCj4+ICsJCQkJCSAiTUFY X0giLCBtYXhfaGVpZ2h0LCBtYXhfaGVpZ2h0KTsKPj4gKwlpZiAoIXByb3ApCj4+ICsJCXJldHVy biAtRU5PTUVNOwo+PiArCj4+ICsJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJnBsYW5lLT5i YXNlLCBwcm9wLCBtYXhfaGVpZ2h0KTsKPj4gKwo+PiArCXBsYW5lLT5tYXhfaGVpZ2h0ID0gbWF4 X2hlaWdodDsKPj4gKwo+PiArCXJldHVybiAwOwo+PiArfQo+PiArRVhQT1JUX1NZTUJPTChkcm1f cGxhbmVfY3JlYXRlX21heF9oZWlnaHRfcHJvcCk7Cj4+ICsKPj4gICAvKioKPj4gICAgKiBkcm1f bW9kZV9vYmpfZ2V0X3Byb3BlcnRpZXNfaW9jdGwgLSBnZXQgdGhlIGN1cnJlbnQgdmFsdWUgb2Yg YSBvYmplY3QncyBwcm9wZXJ0eQo+PiAgICAqIEBkZXY6IERSTSBkZXZpY2UKPj4gZGlmZiAtLWdp dCBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmggYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4+IGlu ZGV4IGUwMTcwYmYuLjYxMDQ1MjcgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRj LmgKPj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+PiBAQCAtMTUzMSw2ICsxNTMxLDgg QEAgc3RydWN0IGRybV9wbGFuZSB7Cj4+ICAgCXVpbnQzMl90ICpmb3JtYXRfdHlwZXM7Cj4+ICAg CXVuc2lnbmVkIGludCBmb3JtYXRfY291bnQ7Cj4+ICAgCWJvb2wgZm9ybWF0X2RlZmF1bHQ7Cj4+ ICsJdWludDMyX3QgbWF4X3dpZHRoOwo+PiArCXVpbnQzMl90IG1heF9oZWlnaHQ7Cj4+Cj4+ICAg CXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPj4gICAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmI7 Cj4+IEBAIC0yNTUwLDYgKzI1NTIsMTAgQEAgZXh0ZXJuIHN0cnVjdCBkcm1fcHJvcGVydHkgKmRy bV9tb2RlX2NyZWF0ZV9yb3RhdGlvbl9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZQo+PiAgIAkJ CQkJCQkgICAgICB1bnNpZ25lZCBpbnQgc3VwcG9ydGVkX3JvdGF0aW9ucyk7Cj4+ICAgZXh0ZXJu IHVuc2lnbmVkIGludCBkcm1fcm90YXRpb25fc2ltcGxpZnkodW5zaWduZWQgaW50IHJvdGF0aW9u LAo+PiAgIAkJCQkJICB1bnNpZ25lZCBpbnQgc3VwcG9ydGVkX3JvdGF0aW9ucyk7Cj4+ICtleHRl cm4gaW50IGRybV9wbGFuZV9jcmVhdGVfbWF4X3dpZHRoX3Byb3Aoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsCj4+ICsJCQkJCSAgIHVpbnQzMl90IG1heF93aWR0aCk7Cj4+ICtleHRlcm4gaW50IGRy bV9wbGFuZV9jcmVhdGVfbWF4X2hlaWdodF9wcm9wKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ PiArCQkJCQkgICAgdWludDMyX3QgbWF4X2hlaWdodCk7Cj4+Cj4+ICAgLyogSGVscGVycyAqLwo+ Pgo+PiAtLQo+PiBUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1i ZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVtLAo+PiBob3N0ZWQgYnkgVGhlIExpbnV4IEZvdW5k YXRpb24KPj4KPgoKLS0gClRoZSBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBh IG1lbWJlciBvZiB0aGUgQ29kZSBBdXJvcmEgCkZvcnVtLCBob3N0ZWQgYnkgVGhlIExpbnV4IEZv dW5kYXRpb24KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==