From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: Re: [PATCH 13/14] drm/amd/display: Recalculate VCPI slots for new DSC connectors Date: Wed, 09 Oct 2019 18:59:40 -0400 Message-ID: <0f1954627bc8a87fcfc722ba451425ccdef4949f.camel@redhat.com> References: <20191001161721.13793-1-mikita.lipski@amd.com> <20191001161721.13793-2-mikita.lipski@amd.com> <20191001161721.13793-3-mikita.lipski@amd.com> <20191001161721.13793-4-mikita.lipski@amd.com> <20191001161721.13793-5-mikita.lipski@amd.com> <20191001161721.13793-6-mikita.lipski@amd.com> <20191001161721.13793-7-mikita.lipski@amd.com> <20191001161721.13793-8-mikita.lipski@amd.com> <20191001161721.13793-9-mikita.lipski@amd.com> <20191001161721.13793-10-mikita.lipski@amd.com> <20191001161721.13793-11-mikita.lipski@amd.com> <20191001161721.13793-12-mikita.lipski@amd.com> <20191001161721.13793-13-mikita.lipski@amd.com> <20191001161721.13793-14-mikita.lipski@amd.com> <7dbc168013be604ade84b374051a990175d8724e.camel@redhat.com> <033d162a18f61874c4489d1249fd618becb9cd60.camel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Mikita Lipski , "Lipski, Mikita" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: Dave Airlie , "Zuo, Jerry" , "Wentland, Harry" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCAyMDE5LTEwLTA4IGF0IDIxOjI2ICswMDAwLCBNaWtpdGEgTGlwc2tpIHdyb3RlOgo+ IAo+IE9uIDA4LjEwLjIwMTkgMTI6MjQsIEx5dWRlIFBhdWwgd3JvdGU6Cj4gPiAuLi4KPiA+IHlp a2VzCj4gPiBJIG5lZWQgdG8gYXBvbG9naXplIGJlY2F1c2UgSSB3YXMgZ29pbmcgdGhyb3VnaCBt eSBlbWFpbCBhbmQgSSByZWFsaXplZAo+ID4geW91Cj4gPiBfZGlkXyByZXNwb25kIHRvIG1lIGVh cmxpZXIgcmVnYXJkaW5nIHNvbWUgb2YgdGhlc2UgcXVlc3Rpb25zLCBpdCBqdXN0Cj4gPiBhcHBl YXJzCj4gPiB0aGUgcmVwbHkgZmVsbCB0aHJvdWdoIHRoZSBjcmFja3MgYW5kIHNvbWVob3cgSSBk aWRuJ3Qgbm90aWNlIGl0IHVudGlsCj4gPiBqdXN0Cj4gPiBub3cuIFNvcnJ5IGFib3V0IHRoYXQh Cj4gPiAKPiBObyB3b3JyaWVzLCB0aGUgcGF0Y2hlcyBnb3QgbWVzc3kgYW5kIGFyZSBlYXNpbHkg bG9zdCBpbiBoZXJlLiBJJ2xsIAo+IGNsZWFuIHVwIG9uIHRoZSBuZXh0IGJhdGNoIHNvIGl0IHdp bGwgYmUgY2xlYXJlciB3aGF0J3MgaGFwcGVuaW5nCj4gCj4gPiBJJ20gc3RpbGwgbm90IHN1cmUg SSB1bmRlcnN0YW5kIHdoeSB0aGlzIGlzIGEgZnV0dXJlIGVuaGFuY2VtZW50Pwo+ID4gRXZlcnl0 aGluZwo+ID4gd2UgbmVlZCB0byBpbXBsZW1lbnQgdGhlc2UgaGVscGVycyBzaG91bGQgYWxyZWFk eSBiZSBoZXJlLCBpdCdzIGp1c3QgYQo+ID4gbWF0dGVyCj4gPiBvZiBrZWVwaW5nIHRyYWNrIHdo byBoYXMgZHNjIGVuYWJsZWQgd2hlcmUgaW4gdGhlIG1zdCBhdG9taWMgc3RhdGUKPiAKPiBBcyBJ J3ZlIG1lbnRpb25lZCBlYXJsaWVyIG91ciBwb2xpY3kgZm9yIERTQyBpcyB0byBrZWVwIGl0IGRp c2FibGVkIGlmIAo+IG5vdCBuZWVkZWQsIGJlY2F1c2UgaXQgaXMgYSBsb3NzeSBjb21wcmVzc2lv bi4gQmVzaWRlIHRoZSBmYWN0IHRoYXQgd2UgCj4gZG9uJ3Qgd2FudCBpbXBlcmZlY3QgaW1hZ2Ug b24gdGhlIHNjcmVlbiwgZW5hYmxpbmcgRFNDIHdvdWxkIGFsc28gCj4gaW5jcmVhc2Ugb3VyIHBv d2VyIGNvbnN1bXB0aW9uLiBJZiB3ZSBuZWVkIGl0IC0gd2UgdXNlIHRoZSAgZ3JlZWR5IAo+IGFs Z29yaXRobSBpbnNpZGUgY29tcHV0ZV9tc3RfZHNjX2NvbmZpZ3NfZm9yX2xpbmsgdG8gb25seSBl bmFibGUgRFNDIG9uIAo+IHN0cmVhbXMgdGhhdCBjYW4ndCBmaXQgaW50byBhbGxvd2VkIGJhbmR3 aWR0aCB3aXRob3V0IGNvbXByZXNzaW9uLgo+IAo+IEknbSBub3QgZXhhY3RseSBzdXJlIGhvdyBp dCBjYW4gYmUgbW92ZWQgYXMgaGVscGVyIHRvIERSTS4KPiBXZSBrZWVwIHRyYWNrIG9uIHdoaWNo IHN0cmVhbSBoYXMgRFNDIGVuYWJsZWQgYnkgcmFpc2luZyBEU0MgZmxhZyBpbiAKPiBkY19zdHJl YW1fc3RhdGUgZmxhZ3Mgc3RydWN0dXJlLgo+IFRoYXQgaXQgd2h5IHBibiByZWNhbGN1bGF0aW9u IHdhcyBtb3ZlZCB0byBhIHNlcGFyYXRlIGZ1bmN0aW9uIHNvIG9ubHkgCj4gc3RyZWFtcyB0aGF0 IGhhdmUgRFNDIGZsYWcgcmFpc2VkIGdldCBWQ1BJIHJlY2FsY3VsYXRlZC4KPiAKPiBJIGd1ZXNz IGlmIHdlIHdvdWxkIGhhdmUgZHNjX2Rlc2lyZWQgZmxhZyBvbiBkcm1fY29ubm5lY3Rvcl9zdGF0 ZSBhbmQgaXQgCj4gd291bGQgdGhlbiBwZXJmb3JtIHJlY2FsY3VsYXRpb24gb2YgUEJOIGFuZCBW Q1BJIGZvciB0aGUgY29ubmVjdG9yLiAKPiBXb3VsZCB0aGF0IGJlIHNvbWV0aGluZyBhcHBsaWNh YmxlIGFzIGEgRFJNIGhlbHBlcj8KClRoaXMgd291bGQgcHJvYmFibHkgYmUgYSBiZXR0ZXIgZml0 IGZvciBkcm1fZHBfbXN0X3RvcG9sb2d5X21ncidzIGF0b21pYyBzdGF0ZQoodGFrZSBhIGxvb2sg YXQgdGhlIGF0b21pYyBWQ1BJIGhlbHBlcnMpLCBzcGVjaWZpY2FsbHkgaW4gc3RydWN0CmRybV9k cF9tc3RfdmNwaSAobWF5YmUgd2Ugc2hvdWxkIHJlbmFtZSBpdCB0byBzdHJ1Y3QgZHJtX2RwX21z dF9wb3J0X2J3IHdoaWxlCndlJ3JlIGF0IGl0KSBhbmQgc3RvcmUgRFNDIGVuYWJsZW1lbnQgaW5m b3JtYXRpb24gdGhlcmUuIFRoZW4gd2UgY2FuIHdyaXRlIGEKaGVscGVyIHRvIGdvIHRocm91Z2gg YWxsIG9mIHRoZSBlbmFibGVkIHBvcnRzIG9uIHRoZSB0b3BvbG9neSBhbmQgYWRkIHRoZQphZmZl Y3RlZCBvbmVzIGludG8gdGhlIGF0b21pYyBzdGF0ZSBhbmQgc2V0IC0+bW9kZV9jaGFuZ2VkIG9u IGFsbCBvZiB0aGVtLgo+IAo+IAo+ID4gT24gTW9uLCAyMDE5LTEwLTA3IGF0IDE3OjUyIC0wNDAw LCBMeXVkZSBQYXVsIHdyb3RlOgo+ID4gPiBPaywgbGV0J3Mgc3RvcCBhbmQgc2xvdyBkb3duIGZv ciBhIG1pbnV0ZSBoZXJlIHNpbmNlIEkndmUgcmVwZWF0ZWQKPiA+ID4gbXlzZWxmIGEKPiA+ID4g ZmV3IHRpbWVzLCBhbmQgSSdkIGxpa2UgdG8gZmlndXJlIG91dCB3aGF0J3MgYWN0dWFsbHkgaGFw cGVuaW5nIGhlcmUgYW5kCj4gPiA+IHdoZXRoZXIgSSdtIG5vdCBiZWluZyBjbGVhciBlbm91Z2gg d2l0aCBteSBleHBsYW5hdGlvbnMsIG9yIGlmIHRoZXJlJ3MKPiA+ID4ganVzdAo+ID4gPiBzb21l IG1pc3VuZGVyc3RhbmRpbmcgaGVyZS4KPiA+ID4gCj4gPiA+IEknbGwgc3RhcnQgb2YgYnkgdHJ5 aW5nIG15IGJlc3QgdG8gZXhwbGFpbiBteSBoZXNpc3RhbmNlIGluIGFjY2VwdGluZwo+ID4gPiB0 aGVzZQo+ID4gPiBwYXRjaGVzLiBUbyBiZSBjbGVhciwgTVNUIHdpdGggRFNDIGlzIGEgYmlnIHRo aW5nIGluIHRlcm1zIG9mIGltcGFjdC4KPiA+ID4gVGhlcmUncwo+ID4gPiBhIGxvdCBvZiB0aGlu Z3MgdG8gY29uc2lkZXI6Cj4gPiA+ICAgKiBXaGF0IHNob3VsZCB0aGUgZGVmYXVsdCBEU0MgcG9s aWN5IGZvciBNU1QgYmU/IFNob3VsZCB3ZSBrZWVwIGl0IG9uCj4gPiA+IGJ5Cj4gPiA+ICAgICBk ZWZhdWx0IHNvIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byB0cmlnZ2VyIGEgbGFyZ2UgbnVtYmVyIG9m IFBCTgo+ID4gPiAgICAgcmVjYWxjdWxhdGlvbnMgYW5kIGVuYWJsZSBEU0Mgb24gYSBwZXItY2Fz ZSBiYXNpcywgb3IgYXJlIHRoZXJlCj4gPiA+IGxlZ2l0aW1hdGUKPiA+ID4gICAgIHJlYXNvbnMg dG8ga2VlcCBEU0Mgb2ZmIGJ5IGRlZmF1bHQgKHN1Y2ggYXMgcG90ZW50aWFsIGlzc3VlcyB3aXRo Cj4gPiA+IGxvc3NpbmVzcwo+ID4gPiAgICAgZG93biB0aGUgbGluZSkuCj4gPiA+ICAgKiBXZSBo YXZlIG90aGVyIGRyaXZlcnMgaW4gdGhlIHRyZWUgdGhhdCBhcmUgcGxhbm5pbmcgb24gaW1wbGVt ZW50aW5nCj4gPiA+IE1TVAo+ID4gPiBEU0MKPiA+ID4gICAgIHF1aXRlIHNvb24uIENoYW5jZXMg YXJlIHRoZXknbGwgYmUgaW1wbGVtZW50aW5nIGhlbHBlcnMgdG8gZG8gdGhpcwo+ID4gPiBzbwo+ ID4gPiB0aGlzCj4gPiA+ICAgICBjYW4gYmUgc3VwcG9ydGVkIGFjcm9zcyB0aGUgRFJNIHRyZWUs IGFuZCBjaGFuY2VzIGFyZSB3ZSdsbCBqdXN0Cj4gPiA+IGhhdmUgdG8KPiA+ID4gICAgIHJld3Jp dGUgYW5kIHJlbW92ZSBtb3N0IG9mIHRoaXMgY29kZSBpbiB0aGF0IGNhc2Ugb25jZSB0aGV5IGRv Lgo+ID4gPiAgICogYW1kZ3B1IGFscmVhZHkgaGFzIGEgX2xvdF8gb2YgY29kZSB0aGF0IGRvZXNu J3QgbmVlZCB0bywgYW5kCj4gPiA+IHNob3VsZG4ndCBiZQo+ID4gPiAgICAgdGhlcmUuIFRoaXMg cmFuZ2VzIGZyb20gdmFyaW91cyBEQyBzcGVjaWZpYyBoZWxwZXJzIHRoYXQgYXJlCj4gPiA+IGVz c2VudGlhbGx5Cj4gPiA+ICAgICB0aGUgc2FtZSBhcyB0aGUgaGVscGVycyB0aGF0IHdlIGFscmVh ZHkgaW1wbGVtZW50IGluIHRoZSByZXN0IG9mCj4gPiA+IERSTSwgdG8KPiA+ID4gICAgIG1pc3Vz ZXMgb2YgdmFyaW91cyBrZXJuZWwgQVBJcywgYW5kIGEgY29tcGxldGUgbGFjayBvZiBhbnkga2lu ZCBvZgo+ID4gPiBjb2RlCj4gPiA+ICAgICBzdHlsZSAoYXQgbGVhc3QgdGhlIGxhc3QgdGltZSB0 aGF0IEkgY2hlY2tlZCkgaW4gb3Igb3V0IG9mIERDLiBUaGlzCj4gPiA+IG1ha2VzCj4gPiA+ICAg ICB0aGUgZHJpdmVyIG1vcmUgZGlmZmljdWx0IGZvciBwZW9wbGUgd2hvIGRvbid0IHdvcmsgYXQg QU1EIGJ1dCBhcmUKPiA+ID4gd2VsbAo+ID4gPiAgICAgYWNjdXN0b21lZCB0byB3b3JraW5nIG9u IHRoZSByZXN0IG9mIHRoZSBrZXJuZWwsIGUuZy4gbXlzZWxmIGFuZAo+ID4gPiBvdGhlcnMsCj4g PiA+ICAgICBhbmQgaXQncyBhIHByb2JsZW0gdGhhdCBzZXJpb3VzbHkgbmVlZHMgdG8gYmUgc29s dmVkLiBBZGRpbmcgbW9yZQo+ID4gPiByZWR1bmRhbnQKPiA+ID4gICAgIERQIGhlbHBlcnMgdGhh dCB3aWxsIGluZXZpdGFibHkgZ2V0IHJlbW92ZWQgaXMganVzdCBtYWtpbmcgdGhlCj4gPiA+IHBy b2JsZW0KPiA+ID4gICAgIHdvcnNlLgo+ID4gPiAKPiA+ID4gV2l0aCBhbGwgb2YgdGhpcyBiZWlu ZyBzYWlkOiBJJ3ZlIGJlZW4gYXNraW5nIHRoZSBzYW1lIHF1ZXN0aW9ucyBhYm91dAo+ID4gPiB0 aGlzCj4gPiA+IHBhdGNoIHRocm91Z2hvdXQgdGhlIHdob2xlIHBhdGNoIHNlcmllcyBzbyBmYXIg KHNpbmNlIGl0IGdvdCBwYXNzZWQgb2ZmCj4gPiA+IHRvCj4gPiA+IHlvdQo+ID4gPiBmcm9tIERh dmlkJ3MgaW50ZXJuc2hpcCBlbmRpbmcpOgo+ID4gPiAKPiA+ID4gICAqIENhbiB3ZSBrZWVwIERT QyBlbmFibGVkIGJ5IGRlZmF1bHQsIHNvIHRoYXQgdGhlc2UgcGF0Y2hlcyBhcmVuJ3QKPiA+ID4g bmVlZGVkPwo+ID4gPiAgICogSWYgd2UgY2FuJ3QsIGNhbiB3ZSBtb3ZlIHRoaXMgaW50byBjb21t b24gY29kZSBzbyB0aGF0IG90aGVyIGRyaXZlcnMKPiA+ID4gY2FuCj4gPiA+ICAgICB1c2UgaXQ/ Cj4gPiA+IFRoZSBwcm9ibGVtIGlzIEkgaGF2ZW4ndCByZWNlaXZlZCBhbnkgcmVzcG9uc2VzIHRv IHRoZXNlIHF1ZXN0aW9ucywKPiA+ID4gb3RoZXIKPiA+ID4gdGhlbgo+ID4gPiBiZWluZyB0b2xk IGJ5IERhdmlkIGEgbW9udGggb3IgdHdvIGFnbyB0aGF0IGl0IHdvdWxkIGJlIGV4cGVkaWVudCB0 bwo+ID4gPiBqdXN0Cj4gPiA+IGFjY2VwdCB0aGUgcGF0Y2hlcyBhbmQgbW92ZSBvbi4gSG9uZXN0 bHksIGlmIGRpc2N1c3Npb24gaGFkIGJlZW4gaGFkCj4gPiA+IGFib3V0Cj4gPiA+IHRoZQo+ID4g PiBjaGFuZ2VzIEkgcmVxdWVzdGVkLCBJIHdvdWxkIGhhdmUgZ2l2ZW4gbXkgci1iIGEgbG9uZyB0 aW1lIGFnby4gSW4gZmFjdC0KPiA+ID4gSQo+ID4gPiByZWFsbHkgd2FudCB0byBnaXZlIGl0IG5v dyEgVGhlcmUncyBtdWx0aXBsZSBwYXRjaGVzIGluIHRoaXMgc2VyaWVzIHRoYXQKPiA+ID4gd291 bGQKPiA+ID4gYmUgdmVyeSB1c2VmdWwgZm9yIG90aGVyIHRoaW5ncyB0aGF0IGFyZSBiZWluZyB3 b3JrZWQgb24gYXQgdGhlIG1vbWVudCwKPiA+ID4gc3VjaAo+ID4gPiBhcyB0aGUgY2hhbmdlcyB0 byBkcm1fZHBfZHBjZF9yZWFkL2RybV9kcF9kcGNkX3dyaXRlKCkuIEJ1dCBJIHJlYWxseQo+ID4g PiB0aGluawo+ID4gPiB0aGlzIG5lZWRzIHRvIGJlIGRpc2N1c3NlZCBmaXJzdCwgYW5kIEknbSB3 b3JyaWVkIHRoYXQganVzdCBnb2luZyBhaGVhZAo+ID4gPiBhbmQKPiA+ID4gZ2l2aW5nIG15IFIt QiBiZWZvcmUgdGhleSBoYXZlIGJlZW4gZGlzY3Vzc2VkIHdpbGwgZnVydGhlciBlbmNvdXJhZ2UK PiA+ID4gcnVzaGluZwo+ID4gPiBjaGFuZ2VzIGxpa2UgdGhpcyBpbiB0aGUgZnV0dXJlIGFuZCBj b250aW51YWxseSBidWlsZGluZyBtb3JlIHRlY2ggZGVidAo+ID4gPiBmb3IKPiA+ID4gb3Vyc2Vs dmVzLgo+ID4gPiAKPiA+ID4gUGxlYXNlIG5vdGUgYXMgd2VsbDogaWYgYW55dGhpbmcgSSd2ZSBh c2tlZCBmb3IgaXMgY29uZnVzaW5nLCBvciB5b3UKPiA+ID4gZG9uJ3QKPiA+ID4gdW5kZXJzdGFu ZCB3aGF0IEknbSBhc2tpbmcgb3IgbG9va2luZyBmb3IgSSBhbSBtb3JlIHRoZW4gd2lsbGluZyB0 byBoZWxwCj4gPiA+IGV4cGxhaW4gdGhpbmdzIGFuZCBoZWxwIG91dCBhcyBiZXN0IGFzIEkgY2Fu LiBJIHVuZGVyc3RhbmQgdGhhdCBhIGxvdCBvZgo+ID4gPiB0aGUKPiA+ID4gZGV2ZWxvcGVycyB3 b3JraW5nIG9uIERSTSBhdCBBTUQgbWF5IGhhdmUgbW9yZSBleHBlcmllbmNlIGluIFdpbmRvd3Mg YW5kCj4gPiA+IE1hYwo+ID4gPiBsYW5kIGFuZCBhcyBhIHJlc3VsdCwgdHJ5aW5nIHRvIGdldCB1 c2VkIHRvIHRoZSB3YXkgdGhhdCB3ZSBkbyB0aGluZ3MgaW4KPiA+ID4gdGhlCj4gPiA+IExpbnV4 IGtlcm5lbCBjYW4gYmUgYSBjb25mdXNpbmcgZW5kZWF2b3IuIEknbSBtb3JlIHRoZW4gaGFwcHkg dG8gaGVscAo+ID4gPiBvdXQKPiA+ID4gd2l0aAo+ID4gPiB0aGlzIHdoZXJldmVyIEkgY2FuLCBh bGwgeW91IG5lZWQgdG8gZG8gaXMgYXNrLiBBc2tpbmcgYSBmZXcgcXVlc3Rpb25zCj4gPiA+IGFi b3V0Cj4gPiA+IHNvbWV0aGluZyB5b3UgYXJlbid0IHN1cmUgeW91IHVuZGVyc3RhbmQgY2FuIHNh dmUgYm90aCBvZiB1cyBhIGxvdCBvZgo+ID4gPiB0aW1lLAo+ID4gPiBhbmQgYXZvaWQgaGF2aW5n IHRvIGdvIHRocm91Z2ggdGhpcyBtYW55IHBhdGNoIHJlc3BpbnMuCj4gPiA+IAo+ID4gPiBJbiB0 aGUgbWVhbiB0aW1lLCBJJ2QgYmUgd2lsbGluZyB0byBsb29rIGF0IHdoYXQgcGF0Y2hlcyBmcm9t IHRoaXMKPiA+ID4gc2VyaWVzCj4gPiA+IHRoYXQKPiA+ID4gaGF2ZSBhbHJlYWR5IGJlZW4gcmV2 aWV3ZWQgd2hpY2ggY291bGQgYmUgcHVzaGVkIHRvIGRybS1taXNjIG9yIGZyaWVuZHMKPiA+ID4g aW4KPiA+ID4gdGhlCj4gPiA+IG1lYW4gdGltZSB0byBzcGVlZCB0aGluZ3MgdXAgYSBiaXQuCj4g PiA+IAo+ID4gPiBPbiBUdWUsIDIwMTktMTAtMDEgYXQgMTI6MTcgLTA0MDAsIG1pa2l0YS5saXBz a2lAYW1kLmNvbSB3cm90ZToKPiA+ID4gPiBGcm9tOiBNaWtpdGEgTGlwc2tpIDxtaWtpdGEubGlw c2tpQGFtZC5jb20+Cj4gPiA+ID4gCj4gPiA+ID4gU2luY2UgZm9yIERTQyBNU1QgY29ubmVjdG9y J3MgUEJOIGlzIGNsYWN1bGF0ZWQgZGlmZmVyZW50bHkKPiA+ID4gPiBkdWUgdG8gY29tcHJlc3Np b24sIHdlIGhhdmUgdG8gcmVjYWxjdWxhdGUgYm90aCBQQk4gYW5kCj4gPiA+ID4gVkNQSSBzbG90 cyBmb3IgdGhhdCBjb25uZWN0b3IuCj4gPiA+ID4gCj4gPiA+ID4gVGhpcyBwYXRjaCBwcm9wb3Nl cyB0byB1c2Ugc2ltaWxhaXIgbG9naWMgYXMgaW4KPiA+ID4gPiBkbV9lbmNvZGVyX2hlbHBlcl9h dG9taWNfY2hlaywgYnV0IHNpbmNlIHdlIGRvIG5vdCBrbm93IHdoaWNoCj4gPiA+ID4gY29ubmVj dG9ycyB3aWxsIGhhdmUgRFNDIGVuYWJsZWQgd2UgaGF2ZSB0byByZWNhbGN1bGF0ZSBQQk4gb25s eQo+ID4gPiA+IGFmdGVyIHRoYXQncyBkZXRlcm1pbmVkLCB3aGljaCBpcyBkb25lIGluCj4gPiA+ ID4gY29tcHV0ZV9tc3RfZHNjX2NvbmZpZ3NfZm9yX3N0YXRlLgo+ID4gPiA+IAo+ID4gPiA+IENj OiBKZXJyeSBadW8gPEplcnJ5Llp1b0BhbWQuY29tPgo+ID4gPiA+IENjOiBIYXJyeSBXZW50bGFu ZCA8aGFycnkud2VudGxhbmRAYW1kLmNvbT4KPiA+ID4gPiBDYzogTHl1ZGUgUGF1bCA8bHl1ZGVA cmVkaGF0LmNvbT4KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBNaWtpdGEgTGlwc2tpIDxtaWtpdGEu bGlwc2tpQGFtZC5jb20+Cj4gPiA+ID4gLS0tCj4gPiA+ID4gICAuLi4vZ3B1L2RybS9hbWQvZGlz cGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMgfCA2NAo+ID4gPiA+ICsrKysrKysrKysrKysrKysr LS0KPiA+ID4gPiAgIC4uLi9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX2hlbHBlcnMu YyB8ICA2IC0tCj4gPiA+ID4gICAyIGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDEx IGRlbGV0aW9ucygtKQo+ID4gPiA+IAo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCj4gPiA+ID4gYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCj4gPiA+ID4gaW5kZXggODFl MzA5MThmOWVjLi43NTAxY2UyMjMzZWQgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYwo+ID4gPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMKPiA+ID4gPiBAQCAt NDU2OSw2ICs0NTY5LDI3IEBAIHN0YXRpYyB2b2lkIGRtX2VuY29kZXJfaGVscGVyX2Rpc2FibGUo c3RydWN0Cj4gPiA+ID4gZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gPiA+ID4gICAKPiA+ID4gPiAg IH0KPiA+ID4gPiAgIAo+ID4gPiA+ICtzdGF0aWMgaW50IGNvbnZlcnRfZGNfY29sb3JfZGVwdGhf aW50b19icGMgKGVudW0gZGNfY29sb3JfZGVwdGgKPiA+ID4gPiBkaXNwbGF5X2NvbG9yX2RlcHRo KQo+ID4gPiA+ICt7Cj4gPiA+ID4gKwlzd2l0Y2ggKGRpc3BsYXlfY29sb3JfZGVwdGgpIHsKPiA+ ID4gPiArCQljYXNlIENPTE9SX0RFUFRIXzY2NjoKPiA+ID4gPiArCQkJcmV0dXJuIDY7Cj4gPiA+ ID4gKwkJY2FzZSBDT0xPUl9ERVBUSF84ODg6Cj4gPiA+ID4gKwkJCXJldHVybiA4Owo+ID4gPiA+ ICsJCWNhc2UgQ09MT1JfREVQVEhfMTAxMDEwOgo+ID4gPiA+ICsJCQlyZXR1cm4gMTA7Cj4gPiA+ ID4gKwkJY2FzZSBDT0xPUl9ERVBUSF8xMjEyMTI6Cj4gPiA+ID4gKwkJCXJldHVybiAxMjsKPiA+ ID4gPiArCQljYXNlIENPTE9SX0RFUFRIXzE0MTQxNDoKPiA+ID4gPiArCQkJcmV0dXJuIDE0Owo+ ID4gPiA+ICsJCWNhc2UgQ09MT1JfREVQVEhfMTYxNjE2Ogo+ID4gPiA+ICsJCQlyZXR1cm4gMTY7 Cj4gPiA+ID4gKwkJZGVmYXVsdDoKPiA+ID4gPiArCQkJYnJlYWs7Cj4gPiA+ID4gKwkJfQo+ID4g PiA+ICsJcmV0dXJuIDA7Cj4gPiA+ID4gK30KPiA+ID4gPiArCj4gPiA+ID4gICBzdGF0aWMgaW50 IGRtX2VuY29kZXJfaGVscGVyX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2VuY29kZXIKPiA+ID4g PiAqZW5jb2RlciwKPiA+ID4gPiAgIAkJCQkJICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUKPiA+ID4g PiAqY3J0Y19zdGF0ZSwKPiA+ID4gPiAgIAkJCQkJICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZQo+ID4gPiA+ICpjb25uX3N0YXRlKQo+ID4gPiA+IEBAIC00NjE2LDYgKzQ2MzcsMzYgQEAgY29u c3Qgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcwo+ID4gPiA+IGFtZGdwdV9kbV9lbmNv ZGVyX2hlbHBlcl9mdW5jcyA9IHsKPiA+ID4gPiAgIAkuYXRvbWljX2NoZWNrID0gZG1fZW5jb2Rl cl9oZWxwZXJfYXRvbWljX2NoZWNrCj4gPiA+ID4gICB9Owo+ID4gPiA+ICAgCj4gPiA+ID4gKyNp ZmRlZiBDT05GSUdfRFJNX0FNRF9EQ19EU0NfU1VQUE9SVAo+ID4gPiA+ICtzdGF0aWMgaW50IGRt X3VwZGF0ZV9tc3RfdmNwaV9zbG90c19mb3JfZHNjKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlCj4g PiA+ID4gKnN0YXRlLAo+ID4gPiA+ICsJCQkJCSAgICBzdHJ1Y3QgZGNfc3RhdGUgKmRjX3N0YXRl KQo+ID4gPiA+ICt7Cj4gPiA+ID4gKwlzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW07Cj4g PiA+ID4gKwlzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3RvciAqYWNvbm5lY3RvcjsKPiA+ID4gPiAr CWludCBpLCBjbG9jayA9IDAsIGJwcCA9IDA7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJZm9yIChpID0g MDsgaSA8IGRjX3N0YXRlLT5zdHJlYW1fY291bnQ7IGkrKykgewo+ID4gPiA+ICsJCXN0cmVhbSA9 IGRjX3N0YXRlLT5zdHJlYW1zW2ldOwo+ID4gPiA+ICsJCWFjb25uZWN0b3IgPSAoc3RydWN0IGFt ZGdwdV9kbV9jb25uZWN0b3IgKilzdHJlYW0tCj4gPiA+ID4gPiBkbV9zdHJlYW1fY29udGV4dDsK PiA+ID4gPiArCj4gPiA+ID4gKwkJaWYgKHN0cmVhbSAmJiBzdHJlYW0tPnRpbWluZy5mbGFncy5E U0MgPT0gMSkgewo+ID4gPiA+ICsJCQlicHAgPSBjb252ZXJ0X2RjX2NvbG9yX2RlcHRoX2ludG9f YnBjKHN0cmVhbS0KPiA+ID4gPiA+IHRpbWluZy5kaXNwbGF5X2NvbG9yX2RlcHRoKSogMzsKPiA+ ID4gPiArCQkJY2xvY2sgPSBzdHJlYW0tPnRpbWluZy5waXhfY2xrXzEwMGh6IC8gMTA7Cj4gPiA+ ID4gKwo+ID4gPiA+ICsJCQlhY29ubmVjdG9yLT5wYm4gPSBkcm1fZHBfY2FsY19wYm5fbW9kZShj bG9jaywKPiA+ID4gPiBicHAsCj4gPiA+ID4gdHJ1ZSk7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJCQlh Y29ubmVjdG9yLT52Y3BpX3Nsb3RzID0KPiA+ID4gPiBkcm1fZHBfYXRvbWljX2ZpbmRfdmNwaV9z bG90cyhzdGF0ZSwKPiA+ID4gPiArCQkJCQkJCSAgJmFjb25uZWN0b3ItCj4gPiA+ID4gPiBtc3Rf cG9ydC0+bXN0X21nciwKPiA+ID4gPiArCQkJCQkJCSAgYWNvbm5lY3Rvci0KPiA+ID4gPiA+cG9y dCwKPiA+ID4gPiArCQkJCQkJCSAgYWNvbm5lY3Rvci0KPiA+ID4gPiA+cGJuKTsKPiA+ID4gPiAr CQkJaWYgKGFjb25uZWN0b3ItPnZjcGlfc2xvdHMgPCAwKQo+ID4gPiA+ICsJCQkJcmV0dXJuIGFj b25uZWN0b3ItPnZjcGlfc2xvdHM7Cj4gPiA+ID4gKwkJfQo+ID4gPiA+ICsJfQo+ID4gPiA+ICsJ cmV0dXJuIDA7Cj4gPiA+ID4gK30KPiA+ID4gPiArI2VuZGlmCj4gPiA+ID4gKwo+ID4gPiA+ICAg c3RhdGljIHZvaWQgZG1fZHJtX3BsYW5lX3Jlc2V0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+ ID4gPiA+ICAgewo+ID4gPiA+ICAgCXN0cnVjdCBkbV9wbGFuZV9zdGF0ZSAqYW1kZ3B1X3N0YXRl ID0gTlVMTDsKPiA+ID4gPiBAQCAtNzYyOSwxMSArNzY4MCw2IEBAIHN0YXRpYyBpbnQgYW1kZ3B1 X2RtX2F0b21pY19jaGVjayhzdHJ1Y3QKPiA+ID4gPiBkcm1fZGV2aWNlCj4gPiA+ID4gKmRldiwK PiA+ID4gPiAgIAlpZiAocmV0KQo+ID4gPiA+ICAgCQlnb3RvIGZhaWw7Cj4gPiA+ID4gICAKPiA+ ID4gPiAtCS8qIFBlcmZvcm0gdmFsaWRhdGlvbiBvZiBNU1QgdG9wb2xvZ3kgaW4gdGhlIHN0YXRl Ki8KPiA+ID4gPiAtCXJldCA9IGRybV9kcF9tc3RfYXRvbWljX2NoZWNrKHN0YXRlKTsKPiA+ID4g PiAtCWlmIChyZXQpCj4gPiA+ID4gLQkJZ290byBmYWlsOwo+ID4gPiA+IC0KPiA+ID4gPiAgIAlp ZiAoc3RhdGUtPmxlZ2FjeV9jdXJzb3JfdXBkYXRlKSB7Cj4gPiA+ID4gICAJCS8qCj4gPiA+ID4g ICAJCSAqIFRoaXMgaXMgYSBmYXN0IGN1cnNvciB1cGRhdGUgY29taW5nIGZyb20gdGhlIHBsYW5l Cj4gPiA+ID4gdXBkYXRlCj4gPiA+ID4gQEAgLTc3MDUsNiArNzc1MSwxMCBAQCBzdGF0aWMgaW50 IGFtZGdwdV9kbV9hdG9taWNfY2hlY2soc3RydWN0Cj4gPiA+ID4gZHJtX2RldmljZQo+ID4gPiA+ ICpkZXYsCj4gPiA+ID4gICAjaWZkZWYgQ09ORklHX0RSTV9BTURfRENfRFNDX1NVUFBPUlQKPiA+ ID4gPiAgIAkJaWYgKCFjb21wdXRlX21zdF9kc2NfY29uZmlnc19mb3Jfc3RhdGUoZG1fc3RhdGUt Cj4gPiA+ID4gPmNvbnRleHQpKQo+ID4gPiA+ICAgCQkJZ290byBmYWlsOwo+ID4gPiA+ICsKPiA+ ID4gPiArCQlyZXQgPSBkbV91cGRhdGVfbXN0X3ZjcGlfc2xvdHNfZm9yX2RzYyhzdGF0ZSwKPiA+ ID4gPiBkbV9zdGF0ZS0KPiA+ID4gPiA+IGNvbnRleHQpOwo+ID4gPiA+ICsJCWlmIChyZXQpCj4g PiA+ID4gKwkJCWdvdG8gZmFpbDsKPiA+ID4gPiAgICNlbmRpZgo+ID4gPiA+ICAgCQlpZiAoZGNf dmFsaWRhdGVfZ2xvYmFsX3N0YXRlKGRjLCBkbV9zdGF0ZS0+Y29udGV4dCwKPiA+ID4gPiBmYWxz ZSkgIT0KPiA+ID4gPiBEQ19PSykgewo+ID4gPiA+ICAgCQkJcmV0ID0gLUVJTlZBTDsKPiA+ID4g PiBAQCAtNzczNCw2ICs3Nzg0LDEwIEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2RtX2F0b21pY19jaGVj ayhzdHJ1Y3QKPiA+ID4gPiBkcm1fZGV2aWNlCj4gPiA+ID4gKmRldiwKPiA+ID4gPiAgIAkJCQlk Y19yZXRhaW5fc3RhdGUob2xkX2RtX3N0YXRlLQo+ID4gPiA+ID5jb250ZXh0KTsKPiA+ID4gPiAg IAkJfQo+ID4gPiA+ICAgCX0KPiA+ID4gPiArCS8qIFBlcmZvcm0gdmFsaWRhdGlvbiBvZiBNU1Qg dG9wb2xvZ3kgaW4gdGhlIHN0YXRlKi8KPiA+ID4gPiArCXJldCA9IGRybV9kcF9tc3RfYXRvbWlj X2NoZWNrKHN0YXRlKTsKPiA+ID4gPiArCWlmIChyZXQpCj4gPiA+ID4gKwkJZ290byBmYWlsOwo+ ID4gPiA+ICAgCj4gPiA+ID4gICAJLyogU3RvcmUgdGhlIG92ZXJhbGwgdXBkYXRlIHR5cGUgZm9y IHVzZSBsYXRlciBpbiBhdG9taWMKPiA+ID4gPiBjaGVjay4gKi8KPiA+ID4gPiAgIAlmb3JfZWFj aF9uZXdfY3J0Y19pbl9zdGF0ZSAoc3RhdGUsIGNydGMsIG5ld19jcnRjX3N0YXRlLCBpKSB7Cj4g PiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0v YW1kZ3B1X2RtX2hlbHBlcnMuYwo+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2FtZGdwdV9kbS9hbWRncHVfZG1faGVscGVycy5jCj4gPiA+ID4gaW5kZXggYmQ2OTQ0OTllM2Rl Li4zZTQ0ZTJkYTJkMGQgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1faGVscGVycy5jCj4gPiA+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1faGVscGVycy5jCj4gPiA+ ID4gQEAgLTIwMSwxMiArMjAxLDYgQEAgYm9vbAo+ID4gPiA+IGRtX2hlbHBlcnNfZHBfbXN0X3dy aXRlX3BheWxvYWRfYWxsb2NhdGlvbl90YWJsZSgKPiA+ID4gPiAgIAltc3RfcG9ydCA9IGFjb25u ZWN0b3ItPnBvcnQ7Cj4gPiA+ID4gICAKPiA+ID4gPiAgIAlpZiAoZW5hYmxlKSB7Cj4gPiA+ID4g LQo+ID4gPiA+IC0JCS8qIENvbnZlcnQga2lsb2JpdHMgcGVyIHNlY29uZCAvIDY0IChmb3IgNjQg dGltZXNsb3RzKQo+ID4gPiA+IHRvIHBibgo+ID4gPiA+ICg1NC82NCBtZWdhYnl0ZXMgcGVyIHNl Y29uZCkgKi8KPiA+ID4gPiAtCQlwYm5fcGVyX3RpbWVzbG90ID0gZGNfbGlua19iYW5kd2lkdGhf a2JwcygKPiA+ID4gPiAtCQkJCXN0cmVhbS0+bGluaywKPiA+ID4gPiBkY19saW5rX2dldF9saW5r X2NhcChzdHJlYW0tCj4gPiA+ID4gPiBsaW5rKSkgLyAoOCAqIDEwMDAgKiA1NCk7Cj4gPiA+ID4g LQkJYWNvbm5lY3Rvci0+dmNwaV9zbG90cyA9IERJVl9ST1VORF9VUChhY29ubmVjdG9yLT5wYm4s Cj4gPiA+ID4gcGJuX3Blcl90aW1lc2xvdCk7Cj4gPiA+ID4gLQo+ID4gPiA+ICAgCQlyZXQgPSBk cm1fZHBfbXN0X2FsbG9jYXRlX3ZjcGkobXN0X21nciwgbXN0X3BvcnQsCj4gPiA+ID4gICAJCQkJ CSAgICAgICBhY29ubmVjdG9yLT5wYm4sCj4gPiA+ID4gICAJCQkJCSAgICAgICBhY29ubmVjdG9y LQo+ID4gPiA+ID52Y3BpX3Nsb3RzKTsKPiAKPiAtLSAKPiBUaGFua3MsCj4gTWlraXRhIExpcHNr aQo+IFNvZnR3YXJlIEVuZ2luZWVyLCBBTUQKPiBtaWtpdGEubGlwc2tpQGFtZC5jb20KLS0gCkNo ZWVycywKCUx5dWRlIFBhdWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdm eA==