From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: Re: [PATCH] drm/radeon: Adding UVD handle basis fps estimation v2 Date: Fri, 15 Aug 2014 11:30:14 -0400 Message-ID: References: <1407411210-1939-1-git-send-email-deathsimple@vodafone.de> <53E39C0A.6090109@vodafone.de> <53E88811.9030302@vodafone.de> <53E9E5A8.8010004@vodafone.de> <53EDC943.3020306@amd.com> <53EE151B.6050105@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qc0-f172.google.com (mail-qc0-f172.google.com [209.85.216.172]) by gabe.freedesktop.org (Postfix) with ESMTP id DBD116E1FA for ; Fri, 15 Aug 2014 08:30:15 -0700 (PDT) Received: by mail-qc0-f172.google.com with SMTP id i8so2471145qcq.31 for ; Fri, 15 Aug 2014 08:30:15 -0700 (PDT) In-Reply-To: <53EE151B.6050105@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?Q?Christian_K=C3=B6nig?= Cc: Maling list - DRI developers , "Peter.Fruehberger@gmail.com" List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBBdWcgMTUsIDIwMTQgYXQgMTA6MTEgQU0sIENocmlzdGlhbiBLw7ZuaWcKPGNocmlz dGlhbi5rb2VuaWdAYW1kLmNvbT4gd3JvdGU6Cj4gSGkgTWFyY28sCj4KPiB0aGUgcHJvYmxlbSB3 aXRoIGFuIENTIGlvY3RsIGZsYWcgaXMgdGhhdCB3ZSBzb21ldGltZXMgZG9uJ3Qga25vdyBob3cg bXVjaAo+IFNDTEsvTUNMSyBib29zdCBpcyBuZWVkZWQsIGZvciBleGFtcGxlIHdoZW4gd2UgZG8g cG9zdCBwcm9jZXNzaW5nIGluIHRoZQo+IHBsYXllciB1c2luZyBPcGVuR0wgYW5kIFVWRCBkZWNv ZGluZyB3aXRoIFZEUEFVLiBJbiB0aGlzIGNhc2UgVkRQQVUgZG9uJ3QKPiBoYXMgdGhlIHNsaWdo dGVzdCBpZGVhIGhvdyBoaWdoIFNDTEsvTUNMSyBtdXN0IGJlIGFuZCBzbyBjYW4ndCBnaXZlIHRo YXQKPiBpbmZvIHRvIHRoZSBrZXJuZWwgZWl0aGVyLgoKSXQgY291bGQgYmUgYXMgc2ltcGxlIGFz IGp1c3Qgc2V0dGluZyBhIGZsYWcgd2hlbiBhbnkga2luZCBvZiBwb3N0CnByb2Nlc3NpbmcgaXMg ZW5hYmxlZCBzbyB0aGF0IHRoZSBrZXJuZWwgc2VsZWN0cyB0aGUgaGlnaGVzdCBVVkQKcGVyZm9y bWFuY2Ugc3RhdGUsIG90aGVyd2lzZSwgbGV0IHRoZSBrZXJuZWwgZGVjaWRlIGJhc2VkIG9uIHN0 cmVhbXMuCgpBbGV4CgoKPgo+IFJlZ2FyZHMsCj4gQ2hyaXN0aWFuLgo+Cj4gQW0gMTUuMDguMjAx NCB1bSAxNToyMSBzY2hyaWViIE1hcmNvIEJlbmF0dG86Cj4KPiBIZXkgYWxsLAo+Cj4gSSBhbHNv IGhhZCBhIHRhbGsgd2l0aCBBbGV4IHllc3RlcmRheSBhYm91dCBwb3N0LXByb2Nlc3NpbmcgaXNz dWVzIHdoZW4KPiB1c2luZyBkeW5hbWljIFVWRCBwcm9maWxlcyBhbmQgYSBjaGFtZ2Ugb24gQ1Mg aW9jdGwKPiBpbmNsdWRpbmcgYSBmbGFnIHRvIGxldCB1c2VyIG1vZGUgZHJpdmVyIHRlbGwgdG8g dGhlIGtlcm5lbCB3aGljaAo+IHBlcmZvcm1hbmNlIHJlcXVpcmVtZW50IGl0IHdhbnRzIGZvciBw b3N0IHByb2Nlc3NpbmcuIEEgY29tbW9tCj4gcG9pbnQgZm9yIGJvdGggZGlzY3Vzc2lvbiBpcyB0 byBzdGFibGlzaCB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZXNlCj4gcHJvZmlsZXMsIGJ1dCBw cm9iYWJseSB0aGlzIGlvY3RsIGNoYW5nZSB3b3VsZCBiZSBtb3JlIGltcGFjdGluZy9jb21wbGV4 Cj4gdG8gaW1wbGVtZW50IHRoYW4gYSBzeXNmcyBlbnRyeS4KPgo+IElmIGEgc3lzZnMgZW50cnkg aXMgYW5vdWdoIGZvciBub3cgSSBjYW4gaGFuZGxlIHRoZSBjb2RlIHRvIGNyZWF0ZSBpdCBhbmQs Cj4gd2l0aCB5b3VyIGhlbHAsIHRoZSBjb2RlIHRvIHNldHVwIHRoZSBVVkQgcHJvZmlsZSByZXF1 ZXN0ZWQgdGhyb3VnaCBpdC4KPgo+IElzIHRoZXJlIGFueSBzdWdnZXN0aW9uPwo+Cj4gVGhhbmtz IGFsbCBmb3IgeW91ciBoZWxwLAo+Cj4KPiBPbiBGcmksIEF1ZyAxNSwgMjAxNCBhdCA1OjQ4IEFN LCBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4gd3JvdGU6Cj4+ Cj4+IEhpIGd1eXMsCj4+Cj4+IHRvIG1ha2UgYSBsb25nIHN0b3J5IHNob3J0IGV2ZXJ5IHRpbWUg SSB3YXRjaCBhIG1vdmllIG15IGxhcHRvcCBzdGFydCB0bwo+PiBoZWF0IHVwIGJlY2F1c2Ugd2Ug YWx3YXlzIHNlbGVjdCB0aGUgc3RhbmRhcmQgVVZEIHBvd2VyIHByb2ZpbGUgd2l0aG91dAo+PiBh Y3R1YWxseSBtZWFzdXJpbmcgaWYgdGhhdCBpcyBuZWNlc3NhcnkuCj4+Cj4+IE1hcmNvIGNhbWUg dXAgd2l0aCBhIHBhdGNoIHRoYXQgc2VlbXMgdG8gcmVsaWFibGUgbWVhc3VyZSB0aGUgZnBzIHNl bmQKPj4gZG93biB0byB0aGUga2VybmVsIGFuZCBzbyB0b2dldGhlciB3aXRoIGtub3dpbmcgdGhl IGZyYW1lIHNpemUgb2YgdGhlIHZpZGVvCj4+IHNob3VsZCBhbGxvdyB1cyB0byBzZWxlY3QgdGhl IHJpZ2h0IFVWRCBwb3dlciBwcm9maWxlLgo+Pgo+PiBUaGUgcHJvYmxlbSBpcyB0aGF0IEFsZXgg KHVubm90aWNlZCBieSBtZSkgY29tcGxldGVseSBkaXNhYmxlZCBzZWxlY3RpbmcKPj4gdGhlIFVW RCBwcm9maWxlcyBiZWNhdXNlIG9mIHNvbWUgaXNzdWVzIHdpdGggYWR2YW5jZWQgcG9zdCBwcm9j ZXNzaW5nCj4+IGRpc2N1c3NlZCBvbiBJUkMuIFRoZSBwcm9ibGVtIHNlZW1zIHRvIGJlIHRoYXQg dGhlIGxvd2VyIFVWRCBwcm9maWxlcyBoYXZlIGEKPj4gdG8gbG93IFNDTEsvTUNMSyB0byBoYW5k bGUgdGhlIDNEIGxvYWQgdGhhdCBjb21lcyB3aXRoIHNjYWxpbmcsCj4+IGRlaW50ZXJsYWNpbmcg ZXRjLi4uCj4+Cj4+IEkgdW5mb3J0dW5hdGVseSBkb24ndCBoYXZlIHRpbWUgZm9yIGl0LCBjYXVz ZSB0aGlzIG9ubHkgYWZmZWN0cyB0aGUKPj4gaGFyZHdhcmUgZ2VuZXJhdGlvbnMgUjYwMC1TSSBh bmQgbm90IHRoZSBuZXdlc3Qgb25lIENJSy4gU28gY291bGQgeW91IGd1eXMKPj4gc3RpY2sgdG9n ZXRoZXIgYW5kIGNvbWUgdXAgd2l0aCBhIHNvbHV0aW9uPyBTb21ldGhpbmcgbGlrZSBhIHN5c2Zz IGVudHJ5Cj4+IHRoYXQgbGV0J3MgdXMgc2VsZWN0IHRoZSBtaW5pbXVtIFVWRCBwb3dlciBsZXZl bCBhbGxvd2VkPwo+Pgo+PiBJIHRoaW5rIE1hcmNvIGlzIGhhcHB5IHRvIGNvbWUgdXAgd2l0aCBh IHBhdGNoLCB3ZSBqdXN0IG5lZWQgdG8ga25vdwo+PiB3aGF0J3MgcmVhbGx5IG5lZWRlZCBhbmQg d2hhdCBzaG91bGQgYmUgdGhlIGRlZmF1bHQgdmFsdWVzLiBJJ20gaGFwcHkgdG8KPj4gcmV2aWV3 IGV2ZXJ5dGhpbmcgdGhhdCBjb21lcyBvdXQgb2YgaXQsIGp1c3QgZG9uJ3QgaGF2ZSB0aW1lIHRv IGRvIGl0Cj4+IG15c2VsZi4KPj4KPj4gSGFwcHkgZGlzY3Vzc2lvbiBhbmQgdGhhbmtzIGluIGFk dmFuY2UsCj4+IENocmlzdGlhbi4KPj4KPj4gQW0gMTIuMDguMjAxNCB1bSAxNTowNSBzY2hyaWVi IEFsZXggRGV1Y2hlcjoKPj4KPj4+IE9uIFR1ZSwgQXVnIDEyLCAyMDE0IGF0IDY6MDAgQU0sIENo cmlzdGlhbiBLw7ZuaWcKPj4+IDxkZWF0aHNpbXBsZUB2b2RhZm9uZS5kZT4gd3JvdGU6Cj4+Pj4K Pj4+PiBBbSAxMS4wOC4yMDE0IHVtIDE2OjUyIHNjaHJpZWIgQWxleCBEZXVjaGVyOgo+Pj4+Cj4+ Pj4+IE9uIE1vbiwgQXVnIDExLCAyMDE0IGF0IDU6MDggQU0sIENocmlzdGlhbiBLw7ZuaWcKPj4+ Pj4gPGRlYXRoc2ltcGxlQHZvZGFmb25lLmRlPiB3cm90ZToKPj4+Pj4+Cj4+Pj4+PiBBbSAwNy4w OC4yMDE0IHVtIDIxOjQzIHNjaHJpZWIgQWxleCBEZXVjaGVyOgo+Pj4+Pj4KPj4+Pj4+PiBPbiBU aHUsIEF1ZyA3LCAyMDE0IGF0IDExOjMyIEFNLCBDaHJpc3RpYW4gS8O2bmlnCj4+Pj4+Pj4gPGRl YXRoc2ltcGxlQHZvZGFmb25lLmRlPiB3cm90ZToKPj4+Pj4+Pj4KPj4+Pj4+Pj4gQW0gMDcuMDgu MjAxNCB1bSAxNjozMiBzY2hyaWViIEFsZXggRGV1Y2hlcjoKPj4+Pj4+Pj4KPj4+Pj4+Pj4+IE9u IFRodSwgQXVnIDcsIDIwMTQgYXQgNzozMyBBTSwgQ2hyaXN0aWFuIEvDtm5pZwo+Pj4+Pj4+Pj4g PGRlYXRoc2ltcGxlQHZvZGFmb25lLmRlPgo+Pj4+Pj4+Pj4gd3JvdGU6Cj4+Pj4+Pj4+Pj4KPj4+ Pj4+Pj4+PiBGcm9tOiBNYXJjbyBBIEJlbmF0dG8gPG1hcmNvLmFudG9uaW8uNzgwQGdtYWlsLmNv bT4KPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+IEFkZGluZyBhIEZyYW1lcyBQZXIgU2Vjb25kIGVzdGlt YXRpb24gbG9naWMgb24gVVZEIGhhbmRsZXMKPj4+Pj4+Pj4+PiB3aGVuIGl0IGhhcyBiZWluZyB1 c2VkLiBUaGlzIGVzdGltYXRpb24gaXMgcGVyIGhhbmRsZSBiYXNpcwo+Pj4+Pj4+Pj4+IGFuZCB3 aWxsIGhlbHAgb24gRFBNIHByb2ZpbGUgY2FsY3VsYXRpb24uCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+ PiB2MiAoY2hrKTogZml4IHRpbWVzdGFtcCB0eXBlLCBtb3ZlIGZ1bmN0aW9ucyBhcm91bmQgYW5k Cj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgICBjbGVhbnVwIGNvZGUgYSBiaXQuCj4+Pj4+Pj4+Pgo+ Pj4+Pj4+Pj4gV2lsbCB0aGlzIHJlYWxseSBoZWxwIG11Y2g/ICBJIHRob3VnaHQgdGhlIHByb2Js ZW0gd2FzIG1haW5seSBkdWUKPj4+Pj4+Pj4+IHRvCj4+Pj4+Pj4+PiBzY2xrIGFuZCBtY2xrIGZv ciBwb3N0IHByb2Nlc3NpbmcuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+IEl0IHNob3VsZCBh dCBsZWFzdCBoYW5kbGUgdGhlIFVWRCBzaWRlIGZvciB1cGNsb2NraW5nIHdoZW4geW91IGdldCBh Cj4+Pj4+Pj4+IGxvdAo+Pj4+Pj4+PiBvZgo+Pj4+Pj4+PiBzdHJlYW1zIC8gZnBzLiBBbmQgYXQg b24gbXkgTkkgdGhlIHBhdGNoIHNlZW1zIHRvIGRvIGV4YWN0bHkgdGhhdC4KPj4+Pj4+Pj4KPj4+ Pj4+Pj4gU3dpdGNoaW5nIHNjbGsgYW5kIG1jbGsgZm9yIHBvc3QgcHJvY2Vzc2luZyBpcyBhIGRp ZmZlcmVudCB0YXNrLCBhbmQKPj4+Pj4+Pj4gSQo+Pj4+Pj4+PiBhY3R1YWxseSBoYXZlIG5vIGlk ZWEgd2hhdCB0byBkbyB3aXRoIHRoZW0uCj4+Pj4+Pj4KPj4+Pj4+PiBBdCB0aGlzIHBvaW50IHdl IGFsd2F5cyBjaG9vc2UgdGhlIHBsYWluIFVWRCBzdGF0ZSBhbnl3YXkgc28gdGhpcwo+Pj4+Pj4+ IHBhdGNoIHdvdWxkIG9ubHkgdGFrZSBlZmZlY3QgaWYgd2UgcmUtZW5hYmxlZCB0aGUgZHluYW1p YyBVVkQgc3RhdGUKPj4+Pj4+PiBzZWxlY3Rpb24uCj4+Pj4+Pgo+Pj4+Pj4KPj4+Pj4+IEh1aT8g SSB0aG91Z2h0IHdlIGFscmVhZHkgcmUtZW5hYmxlZCB0aGUgZHluYW1pYyBVVkQgc3RhdGUgc2Vs ZWN0aW9uLAo+Pj4+Pj4gYnV0Cj4+Pj4+PiBkb3VibGUgY2hlY2tpbmcgdGhpcyBJIGZvdW5kIGl0 IGRpc2FibGVkIGFnYWluLgo+Pj4+Pj4KPj4+Pj4+IFdoYXQgd2FzIHRoZSBwcm9ibGVtIHdpdGgg dGhhdD8gTG9va3MgbGlrZSBJIHNvbWVob3cgbWlzc2VkIHRoZQo+Pj4+Pj4gZGlzY3Vzc2lvbgo+ Pj4+Pj4gYXJvdW5kIGl0Lgo+Pj4+Pgo+Pj4+PiBXZSBkaWQsIGJ1dCBhZnRlciBkb2luZyBzbyBh IG51bWJlciBvZiBwZW9wbGUgY29tcGxhaW5lZCBhYm91dCBhCj4+Pj4+IHJlZ3Jlc3Npb24gb24g SVJDIGJlY2F1c2Ugd2hlbiBhcHBzIGxpa2UgeG1iYyBlbmFibGVkIHBvc3QgcHJvY2Vzc2luZywK Pj4+Pj4gcGVyZm9ybWFuY2Ugd2VudCBkb3duLgo+Pj4+Cj4+Pj4KPj4+PiBUaGF0J3Mgc3RyYW5n ZSwgZnJvbSBteSBleHBlcmllbmNlIHRoZSBkaWZmZXJlbnQgVVZEIHBlcmZvcm1hbmNlIHN0YXRl cwo+Pj4+IG9ubHkKPj4+PiBhZmZlY3QgVVZEcyBkY2xrL3ZjbGssIG5vdCBzY2xrL21jbGsuIEkg bmVlZCB0byBnZXQgdGhlIERQTSBkdW1wcyB0bwo+Pj4+IGNvbmZpcm1zIHRoaXMuCj4+Pj4KPj4+ IFRoZSBzY2xrcyBhbmQgbWNsa3MgYXJlIHVzdWFsbHkgZGlmZmVyZW50IGFzIHdlbGwsIGVzcGVj aWFsbHkgb24gQVBVcy4KPj4+IEkgY2FuIHNlbmQgeW91IHNvbWUgZXhhbXBsZXMuCj4+Pgo+Pj4+ IFlvdSBub3Qgb2ZmIGhhbmQgcmVtZW1iZXIgd2hvIGNvbXBsYWluZWQgb24gSVJDPyBGaW5kaW5n IHNvbWV0aGluZyBpbgo+Pj4+IHRoZQo+Pj4+IElSQyBsb2dzIGlzIGxpa2Ugc2VhcmNoaW5nIGZv ciBhIG5lZWRsZSBpbiBhIGhheXN0YWNrLgo+Pj4KPj4+IEkgZG9uJ3QgcmVtZW1iZXIgb2ZmIGhh bmQuICBJIHRoaW5rIHpncmVnIHdhcyBpbnZvbHZlZCBpbiBzb21lIG9mIHRoZQo+Pj4gZGlzY3Vz c2lvbnMuCj4+Pgo+Pj4gQWxleAo+Pj4KPj4+PiBUaGFua3MsCj4+Pj4gQ2hyaXN0aWFuLgo+Pj4+ Cj4+Pj4KPj4+Pj4gQWxleAo+Pj4+Pgo+Pj4+Pgo+Pj4+Pj4gQ2hyaXN0aWFuLgo+Pj4+Pj4KPj4+ Pj4+Cj4+Pj4+Pj4gRm9yIHRoZSBwb3N0IHByb2Nlc3NpbmcsIHdlIHByb2JhYmx5IG5lZWQgYSBo aW50IHdlIGNhbgo+Pj4+Pj4+IHBhc3MgdG8gdGhlIGRyaXZlciBpbiB0aGUgQ1MgaW9jdGwgdG8g ZGVub3RlIHdoYXQgc3RhdGUgd2UgbmVlZC4KPj4+Pj4+PiBBbHRob3VnaCBpZiB3ZSBkaWQgdGhh dCwgdGhpcyBjb3VsZCB3b3VsZCBsYXJnZWx5IGJlIG1vb3QuICBUaGF0Cj4+Pj4+Pj4gc2FpZCwK Pj4+Pj4+PiBuZXdlciBhc2ljcyBzdXBwb3J0IGR5bmFtaWMgVVZEIGNsb2NrcyBzbyB3ZSByZWFs bHkgb25seSBuZWVkCj4+Pj4+Pj4gc29tZXRoaW5nIGxpa2UgdGhhdCBmb3Igb2xkZXIgYXNpY3Mg YW5kIEkgZ3Vlc3MgVkNFLgo+Pj4+Pj4+Cj4+Pj4+Pj4gQWxleAo+Pj4+Pj4+Cj4+Pj4+Pj4+IENo cmlzdGlhbi4KPj4+Pj4+Pj4KPj4+Pj4+Pj4KPj4+Pj4+Pj4+IEFsZXgKPj4+Pj4+Pj4+Cj4+Pj4+ Pj4+Pj4gU2lnbmVkLW9mZi1ieTogTWFyY28gQSBCZW5hdHRvIDxtYXJjby5hbnRvbmlvLjc4MEBn bWFpbC5jb20+Cj4+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hy aXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+Pj4+Pj4+Pj4+IC0tLQo+Pj4+Pj4+Pj4+ICAgICAgZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCAgICAgfCAxMCArKysrKysKPj4+Pj4+Pj4+PiAg ICAgIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3V2ZC5jIHwgNjQKPj4+Pj4+Pj4+PiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCj4+Pj4+Pj4+Pj4gICAgICAyIGZp bGVzIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4+Pj4+Pj4+Pj4K Pj4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaAo+ Pj4+Pj4+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaAo+Pj4+Pj4+Pj4+IGlu ZGV4IDllMTczMmUuLmU5MmY2Y2IgMTAwNjQ0Cj4+Pj4+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb24uaAo+Pj4+Pj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uLmgKPj4+Pj4+Pj4+PiBAQCAtMTYxNyw2ICsxNjE3LDE1IEBAIGludCByYWRlb25f cG1fZ2V0X3R5cGVfaW5kZXgoc3RydWN0Cj4+Pj4+Pj4+Pj4gcmFkZW9uX2RldmljZQo+Pj4+Pj4+ Pj4+ICpyZGV2LAo+Pj4+Pj4+Pj4+ICAgICAgI2RlZmluZSBSQURFT05fVVZEX1NUQUNLX1NJWkUg ICgxMDI0KjEwMjQpCj4+Pj4+Pj4+Pj4gICAgICAjZGVmaW5lIFJBREVPTl9VVkRfSEVBUF9TSVpF ICAgKDEwMjQqMTAyNCkKPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+ICsjZGVmaW5lIFJBREVPTl9VVkRf RlBTX0VWRU5UU19NQVggOAo+Pj4+Pj4+Pj4+ICsjZGVmaW5lIFJBREVPTl9VVkRfREVGQVVMVF9G UFMgNjAKPj4+Pj4+Pj4+PiArCj4+Pj4+Pj4+Pj4gK3N0cnVjdCByYWRlb25fdXZkX2ZwcyB7Cj4+ Pj4+Pj4+Pj4gKyAgICAgICB1aW50NjRfdCAgICAgICAgdGltZXN0YW1wOwo+Pj4+Pj4+Pj4+ICsg ICAgICAgdWludDhfdCAgICAgICAgIGV2ZW50X2luZGV4Owo+Pj4+Pj4+Pj4+ICsgICAgICAgdWlu dDhfdCAgICAgICAgIGV2ZW50c1tSQURFT05fVVZEX0ZQU19FVkVOVFNfTUFYXTsKPj4+Pj4+Pj4+ PiArfTsKPj4+Pj4+Pj4+PiArCj4+Pj4+Pj4+Pj4gICAgICBzdHJ1Y3QgcmFkZW9uX3V2ZCB7Cj4+ Pj4+Pj4+Pj4gICAgICAgICAgICAgc3RydWN0IHJhZGVvbl9ibyAgICAgICAgKnZjcHVfYm87Cj4+ Pj4+Pj4+Pj4gICAgICAgICAgICAgdm9pZCAgICAgICAgICAgICAgICAgICAgKmNwdV9hZGRyOwo+ Pj4+Pj4+Pj4+IEBAIC0xNjI2LDYgKzE2MzUsNyBAQCBzdHJ1Y3QgcmFkZW9uX3V2ZCB7Cj4+Pj4+ Pj4+Pj4gICAgICAgICAgICAgc3RydWN0IGRybV9maWxlICAgICAgICAgKmZpbHBbUkFERU9OX01B WF9VVkRfSEFORExFU107Cj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgdW5zaWduZWQKPj4+Pj4+Pj4+ PiBpbWdfc2l6ZVtSQURFT05fTUFYX1VWRF9IQU5ETEVTXTsKPj4+Pj4+Pj4+PiAgICAgICAgICAg ICBzdHJ1Y3QgZGVsYXllZF93b3JrICAgICBpZGxlX3dvcms7Cj4+Pj4+Pj4+Pj4gKyAgICAgICBz dHJ1Y3QgcmFkZW9uX3V2ZF9mcHMgICBmcHNfaW5mb1tSQURFT05fTUFYX1VWRF9IQU5ETEVTXTsK Pj4+Pj4+Pj4+PiAgICAgIH07Cj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiAgICAgIGludCByYWRlb25f dXZkX2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwo+Pj4+Pj4+Pj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl91dmQuYwo+Pj4+Pj4+Pj4+IGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdXZkLmMKPj4+Pj4+Pj4+PiBpbmRleCA2YmY1NWVj Li5lZjU2NjdhIDEwMDY0NAo+Pj4+Pj4+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX3V2ZC5jCj4+Pj4+Pj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fdXZkLmMKPj4+Pj4+Pj4+PiBAQCAtMjM3LDYgKzIzNyw1MSBAQCB2b2lkIHJhZGVvbl91dmRf Zm9yY2VfaW50b191dmRfc2VnbWVudChzdHJ1Y3QKPj4+Pj4+Pj4+PiByYWRlb25fYm8gKnJibykK Pj4+Pj4+Pj4+PiAgICAgICAgICAgICByYm8tPnBsYWNlbWVudC5scGZuID0gKDI1NiAqIDEwMjQg KiAxMDI0KSA+Pgo+Pj4+Pj4+Pj4+IFBBR0VfU0hJRlQ7Cj4+Pj4+Pj4+Pj4gICAgICB9Cj4+Pj4+ Pj4+Pj4KPj4+Pj4+Pj4+PiArc3RhdGljIHZvaWQgcmFkZW9uX3V2ZF9mcHNfY2xlYXJfZXZlbnRz KHN0cnVjdCByYWRlb25fZGV2aWNlCj4+Pj4+Pj4+Pj4gKnJkZXYsCj4+Pj4+Pj4+Pj4gaW50Cj4+ Pj4+Pj4+Pj4gaWR4KQo+Pj4+Pj4+Pj4+ICt7Cj4+Pj4+Pj4+Pj4gKyAgICAgICBzdHJ1Y3QgcmFk ZW9uX3V2ZF9mcHMgKmZwcyA9ICZyZGV2LT51dmQuZnBzX2luZm9baWR4XTsKPj4+Pj4+Pj4+PiAr ICAgICAgIHVuc2lnbmVkIGk7Cj4+Pj4+Pj4+Pj4gKwo+Pj4+Pj4+Pj4+ICsgICAgICAgZnBzLT50 aW1lc3RhbXAgPSBqaWZmaWVzXzY0Owo+Pj4+Pj4+Pj4+ICsgICAgICAgZnBzLT5ldmVudF9pbmRl eCA9IDA7Cj4+Pj4+Pj4+Pj4gKyAgICAgICBmb3IgKGkgPSAwOyBpIDwgUkFERU9OX1VWRF9GUFNf RVZFTlRTX01BWDsgaSsrKQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICBmcHMtPmV2ZW50c1tp XSA9IDA7Cj4+Pj4+Pj4+Pj4gK30KPj4+Pj4+Pj4+PiArCj4+Pj4+Pj4+Pj4gK3N0YXRpYyB2b2lk IHJhZGVvbl91dmRfZnBzX25vdGVfZXZlbnQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCj4+ Pj4+Pj4+Pj4gaW50Cj4+Pj4+Pj4+Pj4gaWR4KQo+Pj4+Pj4+Pj4+ICt7Cj4+Pj4+Pj4+Pj4gKyAg ICAgICBzdHJ1Y3QgcmFkZW9uX3V2ZF9mcHMgKmZwcyA9ICZyZGV2LT51dmQuZnBzX2luZm9baWR4 XTsKPj4+Pj4+Pj4+PiArICAgICAgIHVpbnQ2NF90IHRpbWVzdGFtcCA9IGppZmZpZXNfNjQ7Cj4+ Pj4+Pj4+Pj4gKyAgICAgICB1bnNpZ25lZCByYXRlID0gMDsKPj4+Pj4+Pj4+PiArCj4+Pj4+Pj4+ Pj4gKyAgICAgICB1aW50OF90IGluZGV4ID0gZnBzLT5ldmVudF9pbmRleCsrOwo+Pj4+Pj4+Pj4+ ICsgICAgICAgZnBzLT5ldmVudF9pbmRleCAlPSBSQURFT05fVVZEX0ZQU19FVkVOVFNfTUFYOwo+ Pj4+Pj4+Pj4+ICsKPj4+Pj4+Pj4+PiArICAgICAgIHJhdGUgPSBkaXY2NF91NjQoSFosIG1heCh0 aW1lc3RhbXAgLSBmcHMtPnRpbWVzdGFtcCwKPj4+Pj4+Pj4+PiAxVUxMKSk7Cj4+Pj4+Pj4+Pj4g Kwo+Pj4+Pj4+Pj4+ICsgICAgICAgZnBzLT50aW1lc3RhbXAgPSB0aW1lc3RhbXA7Cj4+Pj4+Pj4+ Pj4gKyAgICAgICBmcHMtPmV2ZW50c1tpbmRleF0gPSBtaW4ocmF0ZSwgMTIwdSk7Cj4+Pj4+Pj4+ Pj4gK30KPj4+Pj4+Pj4+PiArCj4+Pj4+Pj4+Pj4gK3N0YXRpYyB1bnNpZ25lZCByYWRlb25fdXZk X2VzdGltYXRlX2ZwcyhzdHJ1Y3QgcmFkZW9uX2RldmljZQo+Pj4+Pj4+Pj4+ICpyZGV2LAo+Pj4+ Pj4+Pj4+IGludAo+Pj4+Pj4+Pj4+IGlkeCkKPj4+Pj4+Pj4+PiArewo+Pj4+Pj4+Pj4+ICsgICAg ICAgc3RydWN0IHJhZGVvbl91dmRfZnBzICpmcHMgPSAmcmRldi0+dXZkLmZwc19pbmZvW2lkeF07 Cj4+Pj4+Pj4+Pj4gKyAgICAgICB1bnNpZ25lZCBpLCB2YWxpZCA9IDAsIGNvdW50ID0gMDsKPj4+ Pj4+Pj4+PiArCj4+Pj4+Pj4+Pj4gKyAgICAgICBmb3IgKGkgPSAwOyBpIDwgUkFERU9OX1VWRF9G UFNfRVZFTlRTX01BWDsgaSsrKSB7Cj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgIC8qIFdlIHNo b3VsZCBpZ25vcmUgemVybyB2YWx1ZXMgKi8KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgaWYg KGZwcy0+ZXZlbnRzW2ldICE9IDApIHsKPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAg ICBjb3VudCArPSBmcHMtPmV2ZW50c1tpXTsKPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAg ICAgICB2YWxpZCsrOwo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICB9Cj4+Pj4+Pj4+Pj4gKyAg ICAgICB9Cj4+Pj4+Pj4+Pj4gKwo+Pj4+Pj4+Pj4+ICsgICAgICAgaWYgKHZhbGlkID4gMCkKPj4+ Pj4+Pj4+PiArICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50IC8gdmFsaWQ7Cj4+Pj4+Pj4+Pj4g KyAgICAgICBlbHNlCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgIHJldHVybiBSQURFT05fVVZE X0RFRkFVTFRfRlBTOwo+Pj4+Pj4+Pj4+ICt9Cj4+Pj4+Pj4+Pj4gKwo+Pj4+Pj4+Pj4+ICAgICAg dm9pZCByYWRlb25fdXZkX2ZyZWVfaGFuZGxlcyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwK Pj4+Pj4+Pj4+PiBzdHJ1Y3QKPj4+Pj4+Pj4+PiBkcm1fZmlsZSAqZmlscCkKPj4+Pj4+Pj4+PiAg ICAgIHsKPj4+Pj4+Pj4+PiAgICAgICAgICAgICBpbnQgaSwgcjsKPj4+Pj4+Pj4+PiBAQCAtNDE5 LDggKzQ2NCwxMCBAQCBzdGF0aWMgaW50IHJhZGVvbl91dmRfY3NfbXNnKHN0cnVjdAo+Pj4+Pj4+ Pj4+IHJhZGVvbl9jc19wYXJzZXIKPj4+Pj4+Pj4+PiAqcCwgc3RydWN0IHJhZGVvbl9ibyAqYm8s Cj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiAgICAgICAgICAgICAvKiBjcmVhdGUgb3IgZGVjb2RlLCB2 YWxpZGF0ZSB0aGUgaGFuZGxlICovCj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgZm9yIChpID0gMDsg aSA8IFJBREVPTl9NQVhfVVZEX0hBTkRMRVM7ICsraSkgewo+Pj4+Pj4+Pj4+IC0gICAgICAgICAg ICAgICBpZiAoYXRvbWljX3JlYWQoJnAtPnJkZXYtPnV2ZC5oYW5kbGVzW2ldKSA9PQo+Pj4+Pj4+ Pj4+IGhhbmRsZSkKPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgaWYgKGF0b21pY19yZWFkKCZw LT5yZGV2LT51dmQuaGFuZGxlc1tpXSkgPT0KPj4+Pj4+Pj4+PiBoYW5kbGUpCj4+Pj4+Pj4+Pj4g ewo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJhZGVvbl91dmRfZnBzX25vdGVf ZXZlbnQocC0+cmRldiwgaSk7Cj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJldHVybiAwOwo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICB9Cj4+Pj4+Pj4+Pj4gICAgICAg ICAgICAgfQo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgLyogaGFuZGxlIG5vdCBm b3VuZCB0cnkgdG8gYWxsb2MgYSBuZXcgb25lICovCj4+Pj4+Pj4+Pj4gQEAgLTQyOCw2ICs0NzUs NyBAQCBzdGF0aWMgaW50IHJhZGVvbl91dmRfY3NfbXNnKHN0cnVjdAo+Pj4+Pj4+Pj4+IHJhZGVv bl9jc19wYXJzZXIKPj4+Pj4+Pj4+PiAqcCwgc3RydWN0IHJhZGVvbl9ibyAqYm8sCj4+Pj4+Pj4+ Pj4gICAgICAgICAgICAgICAgICAgICBpZiAoIWF0b21pY19jbXB4Y2hnKCZwLT5yZGV2LT51dmQu aGFuZGxlc1tpXSwKPj4+Pj4+Pj4+PiAwLAo+Pj4+Pj4+Pj4+IGhhbmRsZSkpIHsKPj4+Pj4+Pj4+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+cmRldi0+dXZkLmZpbHBbaV0gPSBwLT5m aWxwOwo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwLT5yZGV2LT51dmQu aW1nX3NpemVbaV0gPSBpbWdfc2l6ZTsKPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAg ICByYWRlb25fdXZkX2Zwc19jbGVhcl9ldmVudHMocC0+cmRldiwgaSk7Cj4+Pj4+Pj4+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwo+Pj4+Pj4+Pj4+ICAgICAgICAgICAg ICAgICAgICAgfQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgIH0KPj4+Pj4+Pj4+PiBAQCAtNzYzLDcg KzgxMSw3IEBAIGludCByYWRlb25fdXZkX2dldF9kZXN0cm95X21zZyhzdHJ1Y3QKPj4+Pj4+Pj4+ PiByYWRlb25fZGV2aWNlCj4+Pj4+Pj4+Pj4gKnJkZXYsIGludCByaW5nLAo+Pj4+Pj4+Pj4+ICAg ICAgc3RhdGljIHZvaWQgcmFkZW9uX3V2ZF9jb3VudF9oYW5kbGVzKHN0cnVjdCByYWRlb25fZGV2 aWNlCj4+Pj4+Pj4+Pj4gKnJkZXYsCj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCAqc2QsIHVuc2lnbmVkCj4+Pj4+Pj4+Pj4gKmhkKQo+ Pj4+Pj4+Pj4+ICAgICAgewo+Pj4+Pj4+Pj4+IC0gICAgICAgdW5zaWduZWQgaTsKPj4+Pj4+Pj4+ PiArICAgICAgIHVuc2lnbmVkIGksIGZwc19yYXRlID0gMDsKPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+ ICAgICAgICAgICAgICpzZCA9IDA7Cj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgKmhkID0gMDsKPj4+ Pj4+Pj4+PiBAQCAtNzcyLDEwICs4MjAsMTMgQEAgc3RhdGljIHZvaWQgcmFkZW9uX3V2ZF9jb3Vu dF9oYW5kbGVzKHN0cnVjdAo+Pj4+Pj4+Pj4+IHJhZGVvbl9kZXZpY2UgKnJkZXYsCj4+Pj4+Pj4+ Pj4gICAgICAgICAgICAgICAgICAgICBpZiAoIWF0b21pY19yZWFkKCZyZGV2LT51dmQuaGFuZGxl c1tpXSkpCj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+ Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gLSAgICAgICAgICAgICAgIGlmIChyZGV2LT51dmQuaW1nX3Np emVbaV0gPj0gNzIwKjU3NikKPj4+Pj4+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAgICArKygq aGQpOwo+Pj4+Pj4+Pj4+IC0gICAgICAgICAgICAgICBlbHNlCj4+Pj4+Pj4+Pj4gLSAgICAgICAg ICAgICAgICAgICAgICAgKysoKnNkKTsKPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgZnBzX3Jh dGUgPSByYWRlb25fdXZkX2VzdGltYXRlX2ZwcyhyZGV2LCBpKTsKPj4+Pj4+Pj4+PiArCj4+Pj4+ Pj4+Pj4gKyAgICAgICAgICAgICAgIGlmIChyZGV2LT51dmQuaW1nX3NpemVbaV0gPj0gNzIwKjU3 Nikgewo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICgqaGQpICs9IGZwc19yYXRl ID4gMzAgPyAxIDogMjsKPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgfSBlbHNlIHsKPj4+Pj4+ Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAoKnNkKSArPSBmcHNfcmF0ZSA+IDMwID8gMSA6 IDI7Cj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgIH0KPj4+Pj4+Pj4+PiAgICAgICAgICAgICB9 Cj4+Pj4+Pj4+Pj4gICAgICB9Cj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiBAQCAtODA1LDYgKzg1Niw3 IEBAIHZvaWQgcmFkZW9uX3V2ZF9ub3RlX3VzYWdlKHN0cnVjdAo+Pj4+Pj4+Pj4+IHJhZGVvbl9k ZXZpY2UKPj4+Pj4+Pj4+PiAqcmRldikKPj4+Pj4+Pj4+PiAgICAgICAgICAgICBzZXRfY2xvY2tz ICY9Cj4+Pj4+Pj4+Pj4gc2NoZWR1bGVfZGVsYXllZF93b3JrKCZyZGV2LT51dmQuaWRsZV93b3Jr LAo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gbXNlY3NfdG9famlmZmllcyhVVkRfSURMRV9USU1FT1VU X01TKSk7Cj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiArCj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgaWYg KChyZGV2LT5wbS5wbV9tZXRob2QgPT0gUE1fTUVUSE9EX0RQTSkgJiYKPj4+Pj4+Pj4+PiByZGV2 LT5wbS5kcG1fZW5hYmxlZCkgewo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgaGQgPSAwLCBzZCA9IDA7Cj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICByYWRlb25f dXZkX2NvdW50X2hhbmRsZXMocmRldiwgJnNkLCAmaGQpOwo+Pj4+Pj4+Pj4+IC0tCj4+Pj4+Pj4+ Pj4gMS45LjEKPj4+Pj4+Pj4+Pgo+Pgo+Cj4KPgo+IC0tCj4gTWFyY28gQW50b25pbyBCZW5hdHRv Cj4gTGludXggdXNlciBJRDogIzUwNjIzNgo+Cj4KX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK