From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [PATCH 1/2] drm/radeon: Add HD-audio component notifier support Date: Mon, 22 Jul 2019 17:47:18 +0200 Message-ID: References: <20190722143815.7339-1-tiwai@suse.de> <20190722143815.7339-2-tiwai@suse.de> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8333B89CA1 for ; Mon, 22 Jul 2019 15:47:21 +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: Alex Deucher Cc: Maxime Ripard , "dri-devel@lists.freedesktop.org" , Ben Skeggs , "Deucher, Alexander" , Sean Paul , "Koenig, Christian" List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCAyMiBKdWwgMjAxOSAxNzozNTowOSArMDIwMCwKQWxleCBEZXVjaGVyIHdyb3RlOgo+ IAo+IE9uIE1vbiwgSnVsIDIyLCAyMDE5IGF0IDExOjIxIEFNIFRha2FzaGkgSXdhaSA8dGl3YWlA c3VzZS5kZT4gd3JvdGU6Cj4gPgo+ID4gT24gTW9uLCAyMiBKdWwgMjAxOSAxNzowNzowOSArMDIw MCwKPiA+IEtvZW5pZywgQ2hyaXN0aWFuIHdyb3RlOgo+ID4gPgo+ID4gPiBBbSAyMi4wNy4xOSB1 bSAxNjo1MyBzY2hyaWViIFRha2FzaGkgSXdhaToKPiA+ID4gPiBPbiBNb24sIDIyIEp1bCAyMDE5 IDE2OjQ0OjA2ICswMjAwLAo+ID4gPiA+IEtvZW5pZywgQ2hyaXN0aWFuIHdyb3RlOgo+ID4gPiA+ PiBBbSAyMi4wNy4xOSB1bSAxNjozOCBzY2hyaWViIFRha2FzaGkgSXdhaToKPiA+ID4gPj4+IFRo aXMgcGF0Y2ggYWRkcyB0aGUgc3VwcG9ydCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBvZiBIRC1hdWRp byBob3RwbHVnCj4gPiA+ID4+PiB2aWEgdGhlIGFscmVhZHkgZXhpc3RpbmcgZHJtX2F1ZGlvX2Nv bXBvbmVudCBmcmFtZXdvcmsgdG8gcmFkZW9uCj4gPiA+ID4+PiBkcml2ZXIuICBUaGlzIGFsbG93 cyB1cyBtb3JlIHJlbGlhYmxlIGhvdHBsdWcgbm90aWZpY2F0aW9uIGFuZCBFTEQKPiA+ID4gPj4+ IHRyYW5zZmVyIHdpdGhvdXQgYWNjZXNzaW5nIEhELWF1ZGlvIGJ1czsgaXQncyBtb3JlIGVmZmlj aWVudCwgYW5kIG1vcmUKPiA+ID4gPj4+IGltcG9ydGFudGx5LCBpdCB3b3JrcyB3aXRob3V0IHdh a2luZyB1cCB0aGUgcnVudGltZSBQTS4KPiA+ID4gPj4+Cj4gPiA+ID4+PiBUaGUgaW1wbGVtZW50 YXRpb24gaXMgcmF0aGVyIHNpbXBsaXN0aWM6IHJhZGVvbiBkcml2ZXIgcHJvdmlkZXMgdGhlCj4g PiA+ID4+PiBnZXRfZWxkIG9wcyBmb3IgSEQtYXVkaW8sIGFuZCBpdCBub3RpZmllcyB0aGUgYXVk aW8gaG90cGx1ZyB2aWEKPiA+ID4gPj4+IHBpbl9lbGRfbm90aWZ5IGNhbGxiYWNrIHVwb24gZWFj aCByYWRlb25fYXVkaW9fZW5hYmxlKCkgY2FsbC4KPiA+ID4gPj4+IFRoZSBwaW4tPmlkIGlzIHJl ZmVycmVkIGFzIHRoZSBwb3J0IG51bWJlciBwYXNzZWQgdG8gdGhlIG5vdGlmaWVyCj4gPiA+ID4+ PiBjYWxsYmFjaywgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNvbm5lY3RvciBpcyBsb29rZWQgdGhy b3VnaCB0aGUKPiA+ID4gPj4+IGVuY29kZXIgbGlzdCBpbiB0aGUgZ2V0X2VsZCBjYWxsYmFjayBp biB0dXJuLgo+ID4gPiA+PiBPbiBtb3N0IG9sZGVyIFJhZGVvbiBwYXJ0cyB5b3Ugb25seSBnb3Qg b25lIGF1ZGlvIGNvZGVjIHdoaWNoIGNhbiBiZQo+ID4gPiA+PiByb3V0ZWQgdG8gbXVsdGlwbGUg Y29ubmVjdG9ycy4KPiA+ID4gPj4KPiA+ID4gPj4gQXMgZmFyIGFzIEkgY2FuIHNlZSB0aGlzIGlz IG5vdCBjb3JyZWN0bHkgc3VwcG9ydGVkIHdpdGggdGhpcyBmcmFtZXdvcmsKPiA+ID4gPj4gaGVy ZSBzaW5jZSB3ZSBvbmx5IGdyYWIgdGhlIGZpcnN0IEVMRC4gSXMgdGhhdCBjb3JyZWN0Pwo+ID4g PiA+IEhybSwgaG93IGRvZXMgaXQgd29yayBjdXJyZW50bHkgKHdpdGhvdXQgdGhlIHBhdGNoKSBp biB0aGUgaGFyZHdhcmUKPiA+ID4gPiBsZXZlbD8gIEkgbWVhbiwgdGhlIHVuc29saWNpdGVkIGV2 ZW50IGlzIHN0aWxsIHRyaWdnZXJlZCB2aWEgSEQtYXVkaW8KPiA+ID4gPiBidXMgYXMgd2VsbCBh cyB0aGUgcGFydGlhbCBFTEQgcGFzcy10aHJvdWdoIHZpYSBIRC1hdWRpby4gIElzbid0IHRoZQo+ ID4gPiA+IHJlcG9ydGVkIHBpbiBJRCBjb3JyZXNwb25kaW5nIHRvIHRoYXQgY29ubmVjdG9yPwo+ ID4gPgo+ID4gPiBUaGUgaGFyZHdhcmUgd2UgYXJlIHRhbGtpbmcgYWJvdXQgaGVyZSBkb2Vzbid0 IGhhdmUgRUxEIHN1cHBvcnQgYXQgYWxsLgo+ID4gPgo+ID4gPiBTbyBubyBFTEQgcGFzcy10aHJv dWdoIG9yIHVuc29saWNpdGVkIGV2ZW50IHdoZW4gc29tZXRoaW5nIGlzIGNvbm5lY3RlZC4KPiA+ ID4KPiA+ID4gWW91IGJhc2ljYWxseSBoYXZlIHRvIHNldHVwIHRoZSBjYXBhYmlsaXRpZXMgaW4g dGhlIGFwcGxpY2F0aW9ucyBtYW51YWxseS4KPiA+Cj4gPiBXZWxsLCBpZiBFTEQgaXNuJ3QgcGFz c2VkLCB0aGUgSERNSSBhdWRpbyBkb2Vzbid0IHdvcmsgYXQgYWxsIC0tIGV2ZW4KPiA+IGZvciB0 aGUgZHJpdmVyIGFzIG9mIHRvZGF5LiAgU28gd2UncmUgdGFsa2luZyBhYm91dCBhIHN0dWZmIHRo YXQgaXMKPiA+IGFscmVhZHkgYnJva2VuIG5vdywgaWYgYW55Lgo+ID4KPiA+ID4gPj4gQWRkaXRp b25hbCB0byB0aGF0IEknbSBub3Qgc3VyZSBpZiB0aGF0IGlzIHRoZSByaWdodCBkZXNpZ24gZm9y IEFNRAo+ID4gPiA+PiBoYXJkd2FyZSBpbiBnZW5lcmFsIHNpbmNlIHdlIGRvbid0IHJlYWxseSBz dXBwb3J0IEVMRCBpbiB0aGUgZmlyc3QgcGxhY2UuCj4gPiA+ID4gRUxEIGlzIGEga2luZCBvZiBt YW5kYXRvcnkgYW5kIHdlJ3ZlIGFzc2VtYmxlZCB0aGUgRUxEIGZyb20gdGhlCj4gPiA+ID4gcGFy dGlhbCBpbmZvcm1hdGlvbiB0YWtlbiB2aWEgSEQtYXVkaW8gYnVzIGxpa2Ugc3BlYWtlciBhbGxv Y2F0aW9uIGFuZAo+ID4gPiA+IG90aGVyIGJpdHMsIHNvIGZhci4gIEkgdGhvdWdodCB0aGUgdmVy eSBzYW1lIGluZm9ybWF0aW9uIGlzIGZvdW5kIGluCj4gPiA+ID4gY29ubmVjdG9yLT5lZGlkIHRo YXQgaXMgYWx3YXlzIHBhcnNlZCBhdCBFRElEIHBhcnNpbmcgdGltZS4KPiA+ID4gPgo+ID4gPiA+ IExldCBtZSBrbm93IGlmIEknbSBvYnZpb3VzbHkgb3Zlcmxvb2tpbmcgc29tZXRoaW5nLgo+ID4g Pgo+ID4gPiBUaGUgaGFyZHdhcmUgd2UgYXJlIHRhbGtpbmcgYWJvdXQgZXhpc3RlZCB3YXkgYmVm b3JlIHRoZSBFTEQgc3RhbmRhcmQuCj4gPiA+IFNvIG5vdGhpbmcgZnJvbSB0aGUgRUxEIHN0YW5k YXJkIGlzIHN1cHBvcnRlZCBoZXJlLgo+ID4gPgo+ID4gPiBJIG1lYW4gaXQgd291bGQgYmUgZ3Jl YXQgdG8gZ2V0IHRoaXMgY2xlYW5lZCB1cCwgYnV0IHlvdSBuZWVkIHRvIHRha2UKPiA+ID4gY2Fy ZSBhbGwgdGhvc2UgbmFzdHkgY29ybmVyIGNhc2VzIG5vdCBzdXBwb3J0ZWQgYnkgRUxELgo+ID4K PiA+IFRoYXQncyBub3QgY2xlYXIgdG8gbWU6IHRoZSBFTEQgaW5mb3JtYXRpb24gYml0cyBhcmUg ZmlsbGVkIGluCj4gPiBkcm1fZWRpZF90b19lbGQoKSBnZW5lcmljYWxseSBmb3IgdGhlIGdpdmVu IEVESUQuICBEbyB5b3UgbWVhbiB0aGF0Cj4gPiB0aGlzIGlzbid0IGFwcGxpZWQgdG8gdGhlIG9s ZCByYWRlb24gY2hpcD8gIElPVywgZG9lc24ndCBzdWNoIGEgY2hpcAo+ID4gcmVhZCBFRElEIGF0 IGFsbC4uLj8KPiAKPiBObyBBTUQgYXVkaW8gaHcgdXNlcyBFTEQuICBUaGUgb3JpZ2luYWwgaHcg ZGVzaWduIGZvciBkaXNwbGF5IGF1dG8KPiBwcmUtZGF0ZWQgRUxELiAgdGhlIGRpc3BsYXkgZHJp dmVyIHVwZGF0ZXMgdGhlIHRoZSBodyBzdGF0ZSBhbmQgdGhhdAo+IHN0YXRlIGlzIHVwZGF0ZWQg aW4gdGhlIGF1ZGlvIGh3IGFzIHdlbGwuICBTbyB0aGVyZSBpcyBhbiBpbnRlcm5hbCBodwo+IGlu dGVyZmFjZSBiZXR3ZWVuIHRoZSB0d28gZHJpdmVycy4gIFRoZSBkaXNwbGF5IGRyaXZlciB1cGRh dGVzIHZpYSBHUFUKPiBNTUlPLCBhbmQgdGhlIGF1ZGlvIGRyaXZlciBjYW4gaW50ZXJhY3Qgd2l0 aCB0aGF0IHN0YXRlIHZpYSBBTUQKPiBzcGVjaWZpYyBWRVJCcy4gIFNlZSB0aGlzIGRvY3VtZW50 Ogo+IGh0dHA6Ly9kZXZlbG9wZXIuYW1kLmNvbS93b3JkcHJlc3MvbWVkaWEvMjAxMy8xMC9BTURf SERBX3ZlcmJzX3YyLnBkZgoKWWVzLCB0aGF0J3Mgd2hhdCBJIG1lbnRpb25lZCBhcyAiYXNzZW1i bGluZyBFTEQgaW4gSEQtYXVkaW8gc2lkZSIuClRoZSBIRC1hdWRpbyBkcml2ZXIgaGFzIGFuIEFN RC1zcGVjaWZpYyBjb2RlIGZvciBidWlsZGluZyB1cCB0aGUgRUxECmZyb20gdGhlc2UgcGFydGlh bCBiaXRzLgoKQnV0IG15IHF1ZXN0aW9uIGlzIHdoZXRoZXIgdGhlc2UgQU1EIGNoaXBzIGRvIHJl YWQgRURJRCBhbmQgcHJvY2Vzcwp2aWEgdGhlIHN0YW5kYXJkIEVESUQgaGVscGVyIChkcm1fYWRk X2VkaWRfbW9kZXMoKSwgZXRjKS4gIElmIHllcywgdGhlCkVMRCBpcyBmaWxsZWQgdXAgdGhlcmUs IGFuZCB3ZSBjYW4gdXNlIHRoZSBzYW1lIGluZm9ybWF0aW9uIGZyb20gdGhlcmUKYXMgZG9uZSBp biBteSBwYXRjaC4KCj4gT24gb2xkZXIgQU1EIGNoaXBzIChldmVyeXRoaW5nIHByaW9yIHRvIFNJ IGNoaXBzIElJUkMpLCBoYWQgYSBzaW5nbGUKPiBhdWRpbyBlbmdpbmUgd2hpY2ggY291bGQgYmUg cm91dGVkIHRvIG9uZSBvciBtb3JlIGRpc3BsYXkgY29ubmVjdG9ycy4KCkFuZCBkb2VzIHJlYWxs eSBhcHBlYXIgYXMgbXVsdGlwbGUgSEQtYXVkaW8gcGlucz8gIFVubGVzcyB0aGF0CmhhcHBlbnMs IHRoZSBwaWNraW5nIHVwIG9uZSBjb25uZWN0b3Igc2hvdWxkIHdvcmsuCgoKPiA+IEkga25vdyB0 aGF0IHRoZSBvbGQgcmFkZW9uIGNoaXAgZG9lc24ndCBwYXNzIHRoZSBFTEQgaW5mb3JtYXRpb24g dmlhCj4gPiBIRC1hdWRpbyBidXMgdW5saWtlIG90aGVycy4gIEZvciBzdWNoIGNoaXBzLCB3ZSd2 ZSBhc3NlbWJsZWQgdGhlIEVMRAo+ID4gZnJvbSB0aGUgcGFydGlhbCBpbmZvcm1hdGlvbiwgYXMg SSBhbHJlYWR5IG1lbnRpb25lZC4KPiA+Cj4gPiA+IExpa2Ugb25lIGF1ZGlvIGNvZGVjIHJvdXRl ZCB0byBtdWx0aXBsZSBwaHlzaWNhbCBjb25uZWN0b3JzLiBJbiB0aGVvcnkKPiA+ID4geW91IGV2 ZW4gaGF2ZSB0aGUgYWJpbGl0eSB0byByb3V0ZSB0aGUgbGVmdCBhbmQgcmlnaHQgY2hhbm5lbCB0 bwo+ID4gPiBkaWZmZXJlbnQgY29ubmVjdG9ycy4KPiA+Cj4gPiBUaGF0J3MgYSBxdWVzdGlvbiBo b3cgY3VycmVudGx5IGl0J3MgZXhwb3NlZCBpbiB0aGUgaGFyZHdhcmUgbGV2ZWwgYXQKPiA+IGFs bCB0byBIRC1hdWRpbyBzaWRlLiAgQWdhaW4sIG15IHBhdGNoc2V0IHRyaWVzIHRvIHNpbXBsaWZ5 IHRoaXMKPiA+IGNvbW11bmljYXRpb24gLS0gYmV0d2VlbiBnZnggYW5kIEhELWF1ZGlvIGNvZGVj IGNoaXAuICBJZiB0aGUKPiA+IHRyYW5zbGF0aW9uIG9mIGNvbm5lY3RvciAvIHBpbiBjYW4ndCBi ZSBkb25lIGluIHRoZSB3YXkgSSBpbXBsZW1lbnRlZCwKPiA+IEknZCBsaWtlIHRvIGhlYXIgaG93 IHRoZSBoYXJkd2FyZSBhY3R1YWxseSBkZWNpZGVzIHRoZSBIRC1hdWRpbyBwaW4KPiA+IGluZGV4 IGZyb20gdGhlIGdpdmVuIGNvbmZpZ3VyYXRpb24uCj4gCj4gT24gQU1EIGh3IHRoZSBFTEQgaXMg dGVjaG5pY2FsbHkgbm90IHJlcXVpcmVkLiAgSWYgZXZlcnl0aGluZyBoYXMKPiBwb3dlciwgdGhl IGludGVybmFsIGludGVyZmFjZSB3b3JrcyBhcyBleHBlY3RlZC4gIFRoZSBvbmx5IGNhc2Ugd2hl cmUKPiB3ZSBoYXZlIGEgcHJvYmxlbSBpcyBydW50aW1lIHBtIG9uIEhHIHBsYXRmb3JtcyB3aGVy ZSBJIHRoaW5rIHdlIGVuZAo+IHVwIG1pc3NpbmcgdXBkYXRlcyBkdWUgdG8gdGltaW5nIG9mIHBv d2VyaW5nIHVwIHRoZSByZWxldmFudCBody4KClRvIGNsYXJpZnk6IHRoZSBFTEQgbWVhbnQgaW4g bXkgY29tbWVudHMgaXMgdGhlIEVMRCBpbmZvcm1hdGlvbgpleHBvc2VkIGZyb20gSEQtYXVkaW8g ZHJpdmVyLiAgVGhpcyBpcyBtYW5kYXRvcnkgZm9yIG1ha2luZyB0aGUgYXVkaW8Kd29ya2luZywg c28gZmFyLCBhbmQgY3VycmVudGx5IEhELWF1ZGlvIGRyaXZlciBldmVuIGRpc2FibGVzIGlmIEVM RAppc24ndCBhdmFpbGFibGUuICBBZ2FpbiwgZm9yIEFNRCwgdGhlIEVMRCBpcyBhc3NlbWJsZWQg ZnJvbSBvdGhlcgppbmZvcm1hdGlvbiBzb3VyY2VzLgoKSSBob3BlIHRoYXQsIHdpdGggbXkgcGF0 Y2gsIHRoYXQgY29tcGxleCBwYXRoIGNhbiBiZSBhdm9pZGVkIGFzIHdlbGwKYnkgcGFzc2luZyB0 aGUgYWxyZWFkeSBleGlzdGluZyBkYXRhIChhbHJlYWR5IHBhcnNlZCBmcm9tIEVESUQpLgoKCnRo YW5rcywKClRha2FzaGkKCj4gCj4gQWxleAo+IAo+ID4KPiA+ID4gSSB0aGluayBub3V2ZWF1IGhh cyBhbiBldmVuIG5hc3RpZXIgY2FzZSB3aGVyZSB5b3UgaGF2ZSBhbiBhdWRpbyBjb2RlYwo+ID4g PiB3aGljaCBjYW4gYmUgYXR0YWNoZWQgYm90aCB0byBhIG5vcm1hbCBhdWRpbyBwbHVnIGFzIHdl bGwgYXMgdG8gYQo+ID4gPiBkaXNwbGF5IGRldmljZSB0byByb3V0ZSBzdHVmZiBvdmVyIEhETUku Cj4gPgo+ID4gVGhlIG5vdXZlYXUgbG9va3MgZXZlbiBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCA6KQo+ ID4KPiA+ID4gWW91IHdvbid0IGZpbmQgYW55IG9mIHRoYXQgb24gbW9kZXJuIGhhcmR3YXJlLCBz byBJJ20gbm90IHN1cmUgaWYgaXQncwo+ID4gPiB3b3J0aCBwdXR0aW5nIHRvIG11Y2ggZWZmb3J0 IGludG8gaXQgOikKPiA+Cj4gPiBIZWgsIEknbSBmaW5lIHRvIGRyb3AgdGhlIHJhZGVvbiBwYXJ0 LCBhcyBpdCdzIGJlY29taW5nIGRlYWQKPiA+IG5vd2FkYXlzLCBpZiB5b3UgdGhpbmsgaXQgYmVp bmcgdG9vIHJpc2t5LiAgRm9yIEFNREdQVSwgeW91IGd1eXMgc2VlbQo+ID4gd29ya2luZyBvbiBp dCwgYW5kIEknZCBqdXN0IHdhaXQgZm9yIHRoZSBmaW5hbCBwYXRjaGVzLgo+ID4KPiA+IFRoZSBu b3V2ZWF1IGlzIHN0aWxsIGluIGFjdGl2ZSBkZXBsb3ltZW50IGFuZCBkZXZlbG9wbWVudCwgc28g SSdkIGxpa2UKPiA+IHRvIGhhdmUgaXQgZG9uZSB0aGVyZSwgdGhvdWdoLgo+ID4KPiA+Cj4gPiB0 aGFua3MsCj4gPgo+ID4gVGFrYXNoaQo+ID4KPiA+ID4KPiA+ID4gUmVnYXJkcywKPiA+ID4gQ2hy aXN0aWFuLgo+ID4gPgo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPiBUaGFua3MhCj4gPiA+ID4KPiA+ ID4gPiBUYWthc2hpCj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+PiBSZWdhcmRzLAo+ID4gPiA+PiBD aHJpc3RpYW4uCj4gPiA+ID4+Cj4gPiA+ID4+PiBUaGUgYmluZCBhbmQgdW5iaW5kIGNhbGxiYWNr cyBoYW5kbGUgdGhlIGRldmljZS1saW5rIHNvIHRoYXQgaXQKPiA+ID4gPj4+IGFzc3VyZXMgdGhl IFBNIGNhbGwgb3JkZXIuCj4gPiA+ID4+Pgo+ID4gPiA+Pj4gQWNrZWQtYnk6IEppbSBRdSA8Smlt LlF1QGFtZC5jb20+Cj4gPiA+ID4+PiBTaWduZWQtb2ZmLWJ5OiBUYWthc2hpIEl3YWkgPHRpd2Fp QHN1c2UuZGU+Cj4gPiA+ID4+PiAtLS0KPiA+ID4gPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9LY29u ZmlnICAgICAgICAgICAgICAgfCAgMSArCj4gPiA+ID4+PiAgICBkcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbi5oICAgICAgIHwgIDMgKysKPiA+ID4gPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uX2F1ZGlvLmMgfCA5MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwo+ID4gPiA+Pj4gICAgMyBmaWxlcyBjaGFuZ2VkLCA5NiBpbnNlcnRpb25zKCspCj4gPiA+ ID4+Pgo+ID4gPiA+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnIGIvZHJp dmVycy9ncHUvZHJtL0tjb25maWcKPiA+ID4gPj4+IGluZGV4IDFkODAyMjI1ODdhZC4uOGI0NGNj NDU4ODMwIDEwMDY0NAo+ID4gPiA+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL0tjb25maWcKPiA+ ID4gPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCj4gPiA+ID4+PiBAQCAtMjA5LDYg KzIwOSw3IEBAIGNvbmZpZyBEUk1fUkFERU9OCj4gPiA+ID4+PiAgICAgICAgICAgc2VsZWN0IEhX TU9OCj4gPiA+ID4+PiAgICAgICAgICAgc2VsZWN0IEJBQ0tMSUdIVF9DTEFTU19ERVZJQ0UKPiA+ ID4gPj4+ICAgICAgICAgICBzZWxlY3QgSU5URVJWQUxfVFJFRQo+ID4gPiA+Pj4gKyBzZWxlY3Qg U05EX0hEQV9DT01QT05FTlQgaWYgU05EX0hEQV9DT1JFCj4gPiA+ID4+PiAgICAgICAgICAgaGVs cAo+ID4gPiA+Pj4gICAgICAgICAgICAgQ2hvb3NlIHRoaXMgb3B0aW9uIGlmIHlvdSBoYXZlIGFu IEFUSSBSYWRlb24gZ3JhcGhpY3MgY2FyZC4gIFRoZXJlCj4gPiA+ID4+PiAgICAgICAgICAgICBh cmUgYm90aCBQQ0kgYW5kIEFHUCB2ZXJzaW9ucy4gIFlvdSBkb24ndCBuZWVkIHRvIGNob29zZSB0 aGlzIHRvCj4gPiA+ID4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b24uaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKPiA+ID4gPj4+IGluZGV4IDMy ODA4ZTUwYmUxMi4uMjk3MzI4NGI3OTYxIDEwMDY0NAo+ID4gPiA+Pj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb24uaAo+ID4gPiA+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb24uaAo+ID4gPiA+Pj4gQEAgLTc1LDYgKzc1LDcgQEAKPiA+ID4gPj4+ICAgICNp bmNsdWRlIDxkcm0vdHRtL3R0bV9leGVjYnVmX3V0aWwuaD4KPiA+ID4gPj4+Cj4gPiA+ID4+PiAg ICAjaW5jbHVkZSA8ZHJtL2RybV9nZW0uaD4KPiA+ID4gPj4+ICsjaW5jbHVkZSA8ZHJtL2RybV9h dWRpb19jb21wb25lbnQuaD4KPiA+ID4gPj4+Cj4gPiA+ID4+PiAgICAjaW5jbHVkZSAicmFkZW9u X2ZhbWlseS5oIgo+ID4gPiA+Pj4gICAgI2luY2x1ZGUgInJhZGVvbl9tb2RlLmgiCj4gPiA+ID4+ PiBAQCAtMTc2MSw2ICsxNzYyLDggQEAgc3RydWN0IHI2MDBfYXVkaW8gewo+ID4gPiA+Pj4gICAg ICAgICAgIHN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3MgKmhkbWlfZnVuY3M7Cj4gPiA+ID4+PiAg ICAgICAgICAgc3RydWN0IHJhZGVvbl9hdWRpb19mdW5jcyAqZHBfZnVuY3M7Cj4gPiA+ID4+PiAg ICAgICAgICAgc3RydWN0IHJhZGVvbl9hdWRpb19iYXNpY19mdW5jcyAqZnVuY3M7Cj4gPiA+ID4+ PiArIHN0cnVjdCBkcm1fYXVkaW9fY29tcG9uZW50ICpjb21wb25lbnQ7Cj4gPiA+ID4+PiArIGJv b2wgY29tcG9uZW50X3JlZ2lzdGVyZWQ7Cj4gPiA+ID4+PiAgICB9Owo+ID4gPiA+Pj4KPiA+ID4g Pj4+ICAgIC8qCj4gPiA+ID4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fYXVkaW8uYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMKPiA+ ID4gPj4+IGluZGV4IGI5YWVhNTc3NmQzZC4uOTc2NTAyZTMxYzQzIDEwMDY0NAo+ID4gPiA+Pj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYwo+ID4gPiA+Pj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYwo+ID4gPiA+Pj4gQEAgLTIz LDYgKzIzLDcgQEAKPiA+ID4gPj4+ICAgICAqLwo+ID4gPiA+Pj4KPiA+ID4gPj4+ICAgICNpbmNs dWRlIDxsaW51eC9nY2QuaD4KPiA+ID4gPj4+ICsjaW5jbHVkZSA8bGludXgvY29tcG9uZW50Lmg+ Cj4gPiA+ID4+Pgo+ID4gPiA+Pj4gICAgI2luY2x1ZGUgPGRybS9kcm1fY3J0Yy5oPgo+ID4gPiA+ Pj4gICAgI2luY2x1ZGUgInJhZGVvbi5oIgo+ID4gPiA+Pj4gQEAgLTI0Miw2ICsyNDMsMTQgQEAg c3RhdGljIHN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3MgZGNlNl9kcF9mdW5jcyA9IHsKPiA+ID4g Pj4+ICAgICAgICAgICAuZHBtcyA9IGV2ZXJncmVlbl9kcF9lbmFibGUsCj4gPiA+ID4+PiAgICB9 Owo+ID4gPiA+Pj4KPiA+ID4gPj4+ICtzdGF0aWMgdm9pZCByYWRlb25fYXVkaW9fY29tcG9uZW50 X25vdGlmeShzdHJ1Y3QgZHJtX2F1ZGlvX2NvbXBvbmVudCAqYWNvbXAsCj4gPiA+ID4+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcG9ydCkKPiA+ID4gPj4+ICt7Cj4g PiA+ID4+PiArIGlmIChhY29tcCAmJiBhY29tcC0+YXVkaW9fb3BzICYmIGFjb21wLT5hdWRpb19v cHMtPnBpbl9lbGRfbm90aWZ5KQo+ID4gPiA+Pj4gKyAgICAgICAgIGFjb21wLT5hdWRpb19vcHMt PnBpbl9lbGRfbm90aWZ5KGFjb21wLT5hdWRpb19vcHMtPmF1ZGlvX3B0ciwKPiA+ID4gPj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3J0LCAtMSk7Cj4gPiA+ ID4+PiArfQo+ID4gPiA+Pj4gKwo+ID4gPiA+Pj4gICAgc3RhdGljIHZvaWQgcmFkZW9uX2F1ZGlv X2VuYWJsZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKPiA+ID4gPj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcjYwMF9hdWRpb19waW4gKnBpbiwgdTggZW5h YmxlX21hc2spCj4gPiA+ID4+PiAgICB7Cj4gPiA+ID4+PiBAQCAtMjY5LDYgKzI3OCw4IEBAIHN0 YXRpYyB2b2lkIHJhZGVvbl9hdWRpb19lbmFibGUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYs Cj4gPiA+ID4+Pgo+ID4gPiA+Pj4gICAgICAgICAgIGlmIChyZGV2LT5hdWRpby5mdW5jcy0+ZW5h YmxlKQo+ID4gPiA+Pj4gICAgICAgICAgICAgICAgICAgcmRldi0+YXVkaW8uZnVuY3MtPmVuYWJs ZShyZGV2LCBwaW4sIGVuYWJsZV9tYXNrKTsKPiA+ID4gPj4+ICsKPiA+ID4gPj4+ICsgcmFkZW9u X2F1ZGlvX2NvbXBvbmVudF9ub3RpZnkocmRldi0+YXVkaW8uY29tcG9uZW50LCBwaW4tPmlkKTsK PiA+ID4gPj4+ICAgIH0KPiA+ID4gPj4+Cj4gPiA+ID4+PiAgICBzdGF0aWMgdm9pZCByYWRlb25f YXVkaW9faW50ZXJmYWNlX2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCj4gPiA+ID4+ PiBAQCAtMjkyLDYgKzMwMyw3OSBAQCBzdGF0aWMgdm9pZCByYWRlb25fYXVkaW9faW50ZXJmYWNl X2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCj4gPiA+ID4+PiAgICAgICAgICAgfQo+ ID4gPiA+Pj4gICAgfQo+ID4gPiA+Pj4KPiA+ID4gPj4+ICtzdGF0aWMgaW50IHJhZGVvbl9hdWRp b19jb21wb25lbnRfZ2V0X2VsZChzdHJ1Y3QgZGV2aWNlICprZGV2LCBpbnQgcG9ydCwKPiA+ID4g Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwaXBlLCBib29sICpl bmFibGVkLAo+ID4gPiA+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z aWduZWQgY2hhciAqYnVmLCBpbnQgbWF4X2J5dGVzKQo+ID4gPiA+Pj4gK3sKPiA+ID4gPj4+ICsg c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9nZXRfZHJ2ZGF0YShrZGV2KTsKPiA+ID4gPj4+ ICsgc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwo+ID4gPiA+Pj4gKyBzdHJ1Y3QgcmFkZW9u X2VuY29kZXIgKnJhZGVvbl9lbmNvZGVyOwo+ID4gPiA+Pj4gKyBzdHJ1Y3QgcmFkZW9uX2VuY29k ZXJfYXRvbV9kaWcgKmRpZzsKPiA+ID4gPj4+ICsgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcjsKPiA+ID4gPj4+ICsgaW50IHJldCA9IDA7Cj4gPiA+ID4+PiArCj4gPiA+ID4+PiArICpl bmFibGVkID0gZmFsc2U7Cj4gPiA+ID4+PiArIGxpc3RfZm9yX2VhY2hfZW50cnkoZW5jb2Rlciwg JmRldi0+bW9kZV9jb25maWcuZW5jb2Rlcl9saXN0LCBoZWFkKSB7Cj4gPiA+ID4+PiArICAgICAg ICAgaWYgKCFyYWRlb25fZW5jb2Rlcl9pc19kaWdpdGFsKGVuY29kZXIpKQo+ID4gPiA+Pj4gKyAg ICAgICAgICAgICAgICAgY29udGludWU7Cj4gPiA+ID4+PiArICAgICAgICAgcmFkZW9uX2VuY29k ZXIgPSB0b19yYWRlb25fZW5jb2RlcihlbmNvZGVyKTsKPiA+ID4gPj4+ICsgICAgICAgICBkaWcg PSByYWRlb25fZW5jb2Rlci0+ZW5jX3ByaXY7Cj4gPiA+ID4+PiArICAgICAgICAgaWYgKCFkaWct PnBpbiB8fCBkaWctPnBpbi0+aWQgIT0gcG9ydCkKPiA+ID4gPj4+ICsgICAgICAgICAgICAgICAg IGNvbnRpbnVlOwo+ID4gPiA+Pj4gKyAgICAgICAgIGNvbm5lY3RvciA9IHJhZGVvbl9nZXRfY29u bmVjdG9yX2Zvcl9lbmNvZGVyKGVuY29kZXIpOwo+ID4gPiA+Pj4gKyAgICAgICAgIGlmIChjb25u ZWN0b3IpIHsKPiA+ID4gPj4+ICsgICAgICAgICAgICAgICAgICplbmFibGVkID0gdHJ1ZTsKPiA+ ID4gPj4+ICsgICAgICAgICAgICAgICAgIHJldCA9IGRybV9lbGRfc2l6ZShjb25uZWN0b3ItPmVs ZCk7Cj4gPiA+ID4+PiArICAgICAgICAgICAgICAgICBtZW1jcHkoYnVmLCBjb25uZWN0b3ItPmVs ZCwgbWluKG1heF9ieXRlcywgcmV0KSk7Cj4gPiA+ID4+PiArICAgICAgICAgICAgICAgICBicmVh azsKPiA+ID4gPj4+ICsgICAgICAgICB9Cj4gPiA+ID4+PiArIH0KPiA+ID4gPj4+ICsKPiA+ID4g Pj4+ICsgcmV0dXJuIHJldDsKPiA+ID4gPj4+ICt9Cj4gPiA+ID4+PiArCj4gPiA+ID4+PiArc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fYXVkaW9fY29tcG9uZW50X29wcyByYWRlb25fYXVkaW9fY29t cG9uZW50X29wcyA9IHsKPiA+ID4gPj4+ICsgLmdldF9lbGQgPSByYWRlb25fYXVkaW9fY29tcG9u ZW50X2dldF9lbGQsCj4gPiA+ID4+PiArfTsKPiA+ID4gPj4+ICsKPiA+ID4gPj4+ICtzdGF0aWMg aW50IHJhZGVvbl9hdWRpb19jb21wb25lbnRfYmluZChzdHJ1Y3QgZGV2aWNlICprZGV2LAo+ID4g PiA+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRldmljZSAqaGRh X2tkZXYsIHZvaWQgKmRhdGEpCj4gPiA+ID4+PiArewo+ID4gPiA+Pj4gKyBzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gZGV2X2dldF9kcnZkYXRhKGtkZXYpOwo+ID4gPiA+Pj4gKyBzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPiA+ID4+PiArIHN0cnVjdCBk cm1fYXVkaW9fY29tcG9uZW50ICphY29tcCA9IGRhdGE7Cj4gPiA+ID4+PiArCj4gPiA+ID4+PiAr IGlmIChXQVJOX09OKCFkZXZpY2VfbGlua19hZGQoaGRhX2tkZXYsIGtkZXYsIERMX0ZMQUdfU1RB VEVMRVNTKSkpCj4gPiA+ID4+PiArICAgICAgICAgcmV0dXJuIC1FTk9NRU07Cj4gPiA+ID4+PiAr Cj4gPiA+ID4+PiArIGRybV9tb2Rlc2V0X2xvY2tfYWxsKGRldik7Cj4gPiA+ID4+PiArIGFjb21w LT5vcHMgPSAmcmFkZW9uX2F1ZGlvX2NvbXBvbmVudF9vcHM7Cj4gPiA+ID4+PiArIGFjb21wLT5k ZXYgPSBrZGV2Owo+ID4gPiA+Pj4gKyByZGV2LT5hdWRpby5jb21wb25lbnQgPSBhY29tcDsKPiA+ ID4gPj4+ICsgZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwo+ID4gPiA+Pj4gKwo+ID4gPiA+ Pj4gKyByZXR1cm4gMDsKPiA+ID4gPj4+ICt9Cj4gPiA+ID4+PiArCj4gPiA+ID4+PiArc3RhdGlj IHZvaWQgcmFkZW9uX2F1ZGlvX2NvbXBvbmVudF91bmJpbmQoc3RydWN0IGRldmljZSAqa2RldiwK PiA+ID4gPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkZXZp Y2UgKmhkYV9rZGV2LCB2b2lkICpkYXRhKQo+ID4gPiA+Pj4gK3sKPiA+ID4gPj4+ICsgc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGRldl9nZXRfZHJ2ZGF0YShrZGV2KTsKPiA+ID4gPj4+ICsgc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4gPiA+Pj4gKyBz dHJ1Y3QgZHJtX2F1ZGlvX2NvbXBvbmVudCAqYWNvbXAgPSBkYXRhOwo+ID4gPiA+Pj4gKwo+ID4g PiA+Pj4gKyBkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwo+ID4gPiA+Pj4gKyByZGV2LT5hdWRp by5jb21wb25lbnQgPSBOVUxMOwo+ID4gPiA+Pj4gKyBhY29tcC0+b3BzID0gTlVMTDsKPiA+ID4g Pj4+ICsgYWNvbXAtPmRldiA9IE5VTEw7Cj4gPiA+ID4+PiArIGRybV9tb2Rlc2V0X3VubG9ja19h bGwoZGV2KTsKPiA+ID4gPj4+ICt9Cj4gPiA+ID4+PiArCj4gPiA+ID4+PiArc3RhdGljIGNvbnN0 IHN0cnVjdCBjb21wb25lbnRfb3BzIHJhZGVvbl9hdWRpb19jb21wb25lbnRfYmluZF9vcHMgPSB7 Cj4gPiA+ID4+PiArIC5iaW5kICAgPSByYWRlb25fYXVkaW9fY29tcG9uZW50X2JpbmQsCj4gPiA+ ID4+PiArIC51bmJpbmQgPSByYWRlb25fYXVkaW9fY29tcG9uZW50X3VuYmluZCwKPiA+ID4gPj4+ ICt9Owo+ID4gPiA+Pj4gKwo+ID4gPiA+Pj4gICAgc3RhdGljIGludCByYWRlb25fYXVkaW9fY2hp cHNldF9zdXBwb3J0ZWQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCj4gPiA+ID4+PiAgICB7 Cj4gPiA+ID4+PiAgICAgICAgICAgcmV0dXJuIEFTSUNfSVNfRENFMihyZGV2KSAmJiAhQVNJQ19J U19OT0RDRShyZGV2KTsKPiA+ID4gPj4+IEBAIC0zMzgsNiArNDIyLDkgQEAgaW50IHJhZGVvbl9h dWRpb19pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQo+ID4gPiA+Pj4gICAgICAgICAg IGZvciAoaSA9IDA7IGkgPCByZGV2LT5hdWRpby5udW1fcGluczsgaSsrKQo+ID4gPiA+Pj4gICAg ICAgICAgICAgICAgICAgcmFkZW9uX2F1ZGlvX2VuYWJsZShyZGV2LCAmcmRldi0+YXVkaW8ucGlu W2ldLCAwKTsKPiA+ID4gPj4+Cj4gPiA+ID4+PiArIGlmICghY29tcG9uZW50X2FkZChyZGV2LT5k ZXYsICZyYWRlb25fYXVkaW9fY29tcG9uZW50X2JpbmRfb3BzKSkKPiA+ID4gPj4+ICsgICAgICAg ICByZGV2LT5hdWRpby5jb21wb25lbnRfcmVnaXN0ZXJlZCA9IHRydWU7Cj4gPiA+ID4+PiArCj4g PiA+ID4+PiAgICAgICAgICAgcmV0dXJuIDA7Cj4gPiA+ID4+PiAgICB9Cj4gPiA+ID4+Pgo+ID4g PiA+Pj4gQEAgLTQ5MCw2ICs1NzcsMTEgQEAgdm9pZCByYWRlb25fYXVkaW9fZmluaShzdHJ1Y3Qg cmFkZW9uX2RldmljZSAqcmRldikKPiA+ID4gPj4+ICAgICAgICAgICAgICAgICAgIHJhZGVvbl9h dWRpb19lbmFibGUocmRldiwgJnJkZXYtPmF1ZGlvLnBpbltpXSwgMCk7Cj4gPiA+ID4+Pgo+ID4g PiA+Pj4gICAgICAgICAgIHJkZXYtPmF1ZGlvLmVuYWJsZWQgPSBmYWxzZTsKPiA+ID4gPj4+ICsK PiA+ID4gPj4+ICsgaWYgKHJkZXYtPmF1ZGlvLmNvbXBvbmVudF9yZWdpc3RlcmVkKSB7Cj4gPiA+ ID4+PiArICAgICAgICAgY29tcG9uZW50X2RlbChyZGV2LT5kZXYsICZyYWRlb25fYXVkaW9fY29t cG9uZW50X2JpbmRfb3BzKTsKPiA+ID4gPj4+ICsgICAgICAgICByZGV2LT5hdWRpby5jb21wb25l bnRfcmVnaXN0ZXJlZCA9IGZhbHNlOwo+ID4gPiA+Pj4gKyB9Cj4gPiA+ID4+PiAgICB9Cj4gPiA+ ID4+Pgo+ID4gPiA+Pj4gICAgc3RhdGljIHZvaWQgcmFkZW9uX2F1ZGlvX3NldF9kdG8oc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyLCB1bnNpZ25lZCBpbnQgY2xvY2spCj4gPiA+Cj4gPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gZHJpLWRldmVs IG1haWxpbmcgbGlzdAo+ID4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKPiAK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs