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:21:25 +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 CDDB289994 for ; Mon, 22 Jul 2019 15:21:27 +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: "Koenig, Christian" Cc: Maxime Ripard , "dri-devel@lists.freedesktop.org" , Ben Skeggs , "Deucher, Alexander" , Sean Paul List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCAyMiBKdWwgMjAxOSAxNzowNzowOSArMDIwMCwKS29lbmlnLCBDaHJpc3RpYW4gd3Jv dGU6Cj4gCj4gQW0gMjIuMDcuMTkgdW0gMTY6NTMgc2NocmllYiBUYWthc2hpIEl3YWk6Cj4gPiBP biBNb24sIDIyIEp1bCAyMDE5IDE2OjQ0OjA2ICswMjAwLAo+ID4gS29lbmlnLCBDaHJpc3RpYW4g d3JvdGU6Cj4gPj4gQW0gMjIuMDcuMTkgdW0gMTY6Mzggc2NocmllYiBUYWthc2hpIEl3YWk6Cj4g Pj4+IFRoaXMgcGF0Y2ggYWRkcyB0aGUgc3VwcG9ydCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBvZiBI RC1hdWRpbyBob3RwbHVnCj4gPj4+IHZpYSB0aGUgYWxyZWFkeSBleGlzdGluZyBkcm1fYXVkaW9f Y29tcG9uZW50IGZyYW1ld29yayB0byByYWRlb24KPiA+Pj4gZHJpdmVyLiAgVGhpcyBhbGxvd3Mg dXMgbW9yZSByZWxpYWJsZSBob3RwbHVnIG5vdGlmaWNhdGlvbiBhbmQgRUxECj4gPj4+IHRyYW5z ZmVyIHdpdGhvdXQgYWNjZXNzaW5nIEhELWF1ZGlvIGJ1czsgaXQncyBtb3JlIGVmZmljaWVudCwg YW5kIG1vcmUKPiA+Pj4gaW1wb3J0YW50bHksIGl0IHdvcmtzIHdpdGhvdXQgd2FraW5nIHVwIHRo ZSBydW50aW1lIFBNLgo+ID4+Pgo+ID4+PiBUaGUgaW1wbGVtZW50YXRpb24gaXMgcmF0aGVyIHNp bXBsaXN0aWM6IHJhZGVvbiBkcml2ZXIgcHJvdmlkZXMgdGhlCj4gPj4+IGdldF9lbGQgb3BzIGZv ciBIRC1hdWRpbywgYW5kIGl0IG5vdGlmaWVzIHRoZSBhdWRpbyBob3RwbHVnIHZpYQo+ID4+PiBw aW5fZWxkX25vdGlmeSBjYWxsYmFjayB1cG9uIGVhY2ggcmFkZW9uX2F1ZGlvX2VuYWJsZSgpIGNh bGwuCj4gPj4+IFRoZSBwaW4tPmlkIGlzIHJlZmVycmVkIGFzIHRoZSBwb3J0IG51bWJlciBwYXNz ZWQgdG8gdGhlIG5vdGlmaWVyCj4gPj4+IGNhbGxiYWNrLCBhbmQgdGhlIGNvcnJlc3BvbmRpbmcg Y29ubmVjdG9yIGlzIGxvb2tlZCB0aHJvdWdoIHRoZQo+ID4+PiBlbmNvZGVyIGxpc3QgaW4gdGhl IGdldF9lbGQgY2FsbGJhY2sgaW4gdHVybi4KPiA+PiBPbiBtb3N0IG9sZGVyIFJhZGVvbiBwYXJ0 cyB5b3Ugb25seSBnb3Qgb25lIGF1ZGlvIGNvZGVjIHdoaWNoIGNhbiBiZQo+ID4+IHJvdXRlZCB0 byBtdWx0aXBsZSBjb25uZWN0b3JzLgo+ID4+Cj4gPj4gQXMgZmFyIGFzIEkgY2FuIHNlZSB0aGlz IGlzIG5vdCBjb3JyZWN0bHkgc3VwcG9ydGVkIHdpdGggdGhpcyBmcmFtZXdvcmsKPiA+PiBoZXJl IHNpbmNlIHdlIG9ubHkgZ3JhYiB0aGUgZmlyc3QgRUxELiBJcyB0aGF0IGNvcnJlY3Q/Cj4gPiBI cm0sIGhvdyBkb2VzIGl0IHdvcmsgY3VycmVudGx5ICh3aXRob3V0IHRoZSBwYXRjaCkgaW4gdGhl IGhhcmR3YXJlCj4gPiBsZXZlbD8gIEkgbWVhbiwgdGhlIHVuc29saWNpdGVkIGV2ZW50IGlzIHN0 aWxsIHRyaWdnZXJlZCB2aWEgSEQtYXVkaW8KPiA+IGJ1cyBhcyB3ZWxsIGFzIHRoZSBwYXJ0aWFs IEVMRCBwYXNzLXRocm91Z2ggdmlhIEhELWF1ZGlvLiAgSXNuJ3QgdGhlCj4gPiByZXBvcnRlZCBw aW4gSUQgY29ycmVzcG9uZGluZyB0byB0aGF0IGNvbm5lY3Rvcj8KPiAKPiBUaGUgaGFyZHdhcmUg d2UgYXJlIHRhbGtpbmcgYWJvdXQgaGVyZSBkb2Vzbid0IGhhdmUgRUxEIHN1cHBvcnQgYXQgYWxs Lgo+IAo+IFNvIG5vIEVMRCBwYXNzLXRocm91Z2ggb3IgdW5zb2xpY2l0ZWQgZXZlbnQgd2hlbiBz b21ldGhpbmcgaXMgY29ubmVjdGVkLgo+IAo+IFlvdSBiYXNpY2FsbHkgaGF2ZSB0byBzZXR1cCB0 aGUgY2FwYWJpbGl0aWVzIGluIHRoZSBhcHBsaWNhdGlvbnMgbWFudWFsbHkuCgpXZWxsLCBpZiBF TEQgaXNuJ3QgcGFzc2VkLCB0aGUgSERNSSBhdWRpbyBkb2Vzbid0IHdvcmsgYXQgYWxsIC0tIGV2 ZW4KZm9yIHRoZSBkcml2ZXIgYXMgb2YgdG9kYXkuICBTbyB3ZSdyZSB0YWxraW5nIGFib3V0IGEg c3R1ZmYgdGhhdCBpcwphbHJlYWR5IGJyb2tlbiBub3csIGlmIGFueS4KCj4gPj4gQWRkaXRpb25h bCB0byB0aGF0IEknbSBub3Qgc3VyZSBpZiB0aGF0IGlzIHRoZSByaWdodCBkZXNpZ24gZm9yIEFN RAo+ID4+IGhhcmR3YXJlIGluIGdlbmVyYWwgc2luY2Ugd2UgZG9uJ3QgcmVhbGx5IHN1cHBvcnQg RUxEIGluIHRoZSBmaXJzdCBwbGFjZS4KPiA+IEVMRCBpcyBhIGtpbmQgb2YgbWFuZGF0b3J5IGFu ZCB3ZSd2ZSBhc3NlbWJsZWQgdGhlIEVMRCBmcm9tIHRoZQo+ID4gcGFydGlhbCBpbmZvcm1hdGlv biB0YWtlbiB2aWEgSEQtYXVkaW8gYnVzIGxpa2Ugc3BlYWtlciBhbGxvY2F0aW9uIGFuZAo+ID4g b3RoZXIgYml0cywgc28gZmFyLiAgSSB0aG91Z2h0IHRoZSB2ZXJ5IHNhbWUgaW5mb3JtYXRpb24g aXMgZm91bmQgaW4KPiA+IGNvbm5lY3Rvci0+ZWRpZCB0aGF0IGlzIGFsd2F5cyBwYXJzZWQgYXQg RURJRCBwYXJzaW5nIHRpbWUuCj4gPgo+ID4gTGV0IG1lIGtub3cgaWYgSSdtIG9idmlvdXNseSBv dmVybG9va2luZyBzb21ldGhpbmcuCj4gCj4gVGhlIGhhcmR3YXJlIHdlIGFyZSB0YWxraW5nIGFi b3V0IGV4aXN0ZWQgd2F5IGJlZm9yZSB0aGUgRUxEIHN0YW5kYXJkLiAKPiBTbyBub3RoaW5nIGZy b20gdGhlIEVMRCBzdGFuZGFyZCBpcyBzdXBwb3J0ZWQgaGVyZS4KPiAKPiBJIG1lYW4gaXQgd291 bGQgYmUgZ3JlYXQgdG8gZ2V0IHRoaXMgY2xlYW5lZCB1cCwgYnV0IHlvdSBuZWVkIHRvIHRha2Ug Cj4gY2FyZSBhbGwgdGhvc2UgbmFzdHkgY29ybmVyIGNhc2VzIG5vdCBzdXBwb3J0ZWQgYnkgRUxE LgoKVGhhdCdzIG5vdCBjbGVhciB0byBtZTogdGhlIEVMRCBpbmZvcm1hdGlvbiBiaXRzIGFyZSBm aWxsZWQgaW4KZHJtX2VkaWRfdG9fZWxkKCkgZ2VuZXJpY2FsbHkgZm9yIHRoZSBnaXZlbiBFRElE LiAgRG8geW91IG1lYW4gdGhhdAp0aGlzIGlzbid0IGFwcGxpZWQgdG8gdGhlIG9sZCByYWRlb24g Y2hpcD8gIElPVywgZG9lc24ndCBzdWNoIGEgY2hpcApyZWFkIEVESUQgYXQgYWxsLi4uPwoKSSBr bm93IHRoYXQgdGhlIG9sZCByYWRlb24gY2hpcCBkb2Vzbid0IHBhc3MgdGhlIEVMRCBpbmZvcm1h dGlvbiB2aWEKSEQtYXVkaW8gYnVzIHVubGlrZSBvdGhlcnMuICBGb3Igc3VjaCBjaGlwcywgd2Un dmUgYXNzZW1ibGVkIHRoZSBFTEQKZnJvbSB0aGUgcGFydGlhbCBpbmZvcm1hdGlvbiwgYXMgSSBh bHJlYWR5IG1lbnRpb25lZC4KCj4gTGlrZSBvbmUgYXVkaW8gY29kZWMgcm91dGVkIHRvIG11bHRp cGxlIHBoeXNpY2FsIGNvbm5lY3RvcnMuIEluIHRoZW9yeSAKPiB5b3UgZXZlbiBoYXZlIHRoZSBh YmlsaXR5IHRvIHJvdXRlIHRoZSBsZWZ0IGFuZCByaWdodCBjaGFubmVsIHRvIAo+IGRpZmZlcmVu dCBjb25uZWN0b3JzLgoKVGhhdCdzIGEgcXVlc3Rpb24gaG93IGN1cnJlbnRseSBpdCdzIGV4cG9z ZWQgaW4gdGhlIGhhcmR3YXJlIGxldmVsIGF0CmFsbCB0byBIRC1hdWRpbyBzaWRlLiAgQWdhaW4s IG15IHBhdGNoc2V0IHRyaWVzIHRvIHNpbXBsaWZ5IHRoaXMKY29tbXVuaWNhdGlvbiAtLSBiZXR3 ZWVuIGdmeCBhbmQgSEQtYXVkaW8gY29kZWMgY2hpcC4gIElmIHRoZQp0cmFuc2xhdGlvbiBvZiBj b25uZWN0b3IgLyBwaW4gY2FuJ3QgYmUgZG9uZSBpbiB0aGUgd2F5IEkgaW1wbGVtZW50ZWQsCkkn ZCBsaWtlIHRvIGhlYXIgaG93IHRoZSBoYXJkd2FyZSBhY3R1YWxseSBkZWNpZGVzIHRoZSBIRC1h dWRpbyBwaW4KaW5kZXggZnJvbSB0aGUgZ2l2ZW4gY29uZmlndXJhdGlvbi4KCj4gSSB0aGluayBu b3V2ZWF1IGhhcyBhbiBldmVuIG5hc3RpZXIgY2FzZSB3aGVyZSB5b3UgaGF2ZSBhbiBhdWRpbyBj b2RlYyAKPiB3aGljaCBjYW4gYmUgYXR0YWNoZWQgYm90aCB0byBhIG5vcm1hbCBhdWRpbyBwbHVn IGFzIHdlbGwgYXMgdG8gYSAKPiBkaXNwbGF5IGRldmljZSB0byByb3V0ZSBzdHVmZiBvdmVyIEhE TUkuCgpUaGUgbm91dmVhdSBsb29rcyBldmVuIG1vcmUgc3RyYWlnaHRmb3J3YXJkIDopCgo+IFlv dSB3b24ndCBmaW5kIGFueSBvZiB0aGF0IG9uIG1vZGVybiBoYXJkd2FyZSwgc28gSSdtIG5vdCBz dXJlIGlmIGl0J3MgCj4gd29ydGggcHV0dGluZyB0byBtdWNoIGVmZm9ydCBpbnRvIGl0IDopCgpI ZWgsIEknbSBmaW5lIHRvIGRyb3AgdGhlIHJhZGVvbiBwYXJ0LCBhcyBpdCdzIGJlY29taW5nIGRl YWQKbm93YWRheXMsIGlmIHlvdSB0aGluayBpdCBiZWluZyB0b28gcmlza3kuICBGb3IgQU1ER1BV LCB5b3UgZ3V5cyBzZWVtCndvcmtpbmcgb24gaXQsIGFuZCBJJ2QganVzdCB3YWl0IGZvciB0aGUg ZmluYWwgcGF0Y2hlcy4KClRoZSBub3V2ZWF1IGlzIHN0aWxsIGluIGFjdGl2ZSBkZXBsb3ltZW50 IGFuZCBkZXZlbG9wbWVudCwgc28gSSdkIGxpa2UKdG8gaGF2ZSBpdCBkb25lIHRoZXJlLCB0aG91 Z2guCgoKdGhhbmtzLAoKVGFrYXNoaQoKPiAKPiBSZWdhcmRzLAo+IENocmlzdGlhbi4KPiAKPiA+ Cj4gPgo+ID4gVGhhbmtzIQo+ID4KPiA+IFRha2FzaGkKPiA+Cj4gPgo+ID4+IFJlZ2FyZHMsCj4g Pj4gQ2hyaXN0aWFuLgo+ID4+Cj4gPj4+IFRoZSBiaW5kIGFuZCB1bmJpbmQgY2FsbGJhY2tzIGhh bmRsZSB0aGUgZGV2aWNlLWxpbmsgc28gdGhhdCBpdAo+ID4+PiBhc3N1cmVzIHRoZSBQTSBjYWxs IG9yZGVyLgo+ID4+Pgo+ID4+PiBBY2tlZC1ieTogSmltIFF1IDxKaW0uUXVAYW1kLmNvbT4KPiA+ Pj4gU2lnbmVkLW9mZi1ieTogVGFrYXNoaSBJd2FpIDx0aXdhaUBzdXNlLmRlPgo+ID4+PiAtLS0K PiA+Pj4gICAgZHJpdmVycy9ncHUvZHJtL0tjb25maWcgICAgICAgICAgICAgICB8ICAxICsKPiA+ Pj4gICAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCAgICAgICB8ICAzICsrCj4gPj4+ ICAgIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMgfCA5MiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4+PiAgICAzIGZpbGVzIGNoYW5nZWQsIDk2IGlu c2VydGlvbnMoKykKPiA+Pj4KPiA+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9LY29u ZmlnIGIvZHJpdmVycy9ncHUvZHJtL0tjb25maWcKPiA+Pj4gaW5kZXggMWQ4MDIyMjU4N2FkLi44 YjQ0Y2M0NTg4MzAgMTAwNjQ0Cj4gPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCj4g Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCj4gPj4+IEBAIC0yMDksNiArMjA5LDcg QEAgY29uZmlnIERSTV9SQURFT04KPiA+Pj4gICAgCXNlbGVjdCBIV01PTgo+ID4+PiAgICAJc2Vs ZWN0IEJBQ0tMSUdIVF9DTEFTU19ERVZJQ0UKPiA+Pj4gICAgCXNlbGVjdCBJTlRFUlZBTF9UUkVF Cj4gPj4+ICsJc2VsZWN0IFNORF9IREFfQ09NUE9ORU5UIGlmIFNORF9IREFfQ09SRQo+ID4+PiAg ICAJaGVscAo+ID4+PiAgICAJICBDaG9vc2UgdGhpcyBvcHRpb24gaWYgeW91IGhhdmUgYW4gQVRJ IFJhZGVvbiBncmFwaGljcyBjYXJkLiAgVGhlcmUKPiA+Pj4gICAgCSAgYXJlIGJvdGggUENJIGFu ZCBBR1AgdmVyc2lvbnMuICBZb3UgZG9uJ3QgbmVlZCB0byBjaG9vc2UgdGhpcyB0bwo+ID4+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uLmgKPiA+Pj4gaW5kZXggMzI4MDhlNTBiZTEyLi4yOTczMjg0Yjc5 NjEgMTAwNjQ0Cj4gPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKPiA+ Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaAo+ID4+PiBAQCAtNzUsNiAr NzUsNyBAQAo+ID4+PiAgICAjaW5jbHVkZSA8ZHJtL3R0bS90dG1fZXhlY2J1Zl91dGlsLmg+Cj4g Pj4+ICAgIAo+ID4+PiAgICAjaW5jbHVkZSA8ZHJtL2RybV9nZW0uaD4KPiA+Pj4gKyNpbmNsdWRl IDxkcm0vZHJtX2F1ZGlvX2NvbXBvbmVudC5oPgo+ID4+PiAgICAKPiA+Pj4gICAgI2luY2x1ZGUg InJhZGVvbl9mYW1pbHkuaCIKPiA+Pj4gICAgI2luY2x1ZGUgInJhZGVvbl9tb2RlLmgiCj4gPj4+ IEBAIC0xNzYxLDYgKzE3NjIsOCBAQCBzdHJ1Y3QgcjYwMF9hdWRpbyB7Cj4gPj4+ICAgIAlzdHJ1 Y3QgcmFkZW9uX2F1ZGlvX2Z1bmNzICpoZG1pX2Z1bmNzOwo+ID4+PiAgICAJc3RydWN0IHJhZGVv bl9hdWRpb19mdW5jcyAqZHBfZnVuY3M7Cj4gPj4+ICAgIAlzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Jh c2ljX2Z1bmNzICpmdW5jczsKPiA+Pj4gKwlzdHJ1Y3QgZHJtX2F1ZGlvX2NvbXBvbmVudCAqY29t cG9uZW50Owo+ID4+PiArCWJvb2wgY29tcG9uZW50X3JlZ2lzdGVyZWQ7Cj4gPj4+ICAgIH07Cj4g Pj4+ICAgIAo+ID4+PiAgICAvKgo+ID4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fYXVkaW8uYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlv LmMKPiA+Pj4gaW5kZXggYjlhZWE1Nzc2ZDNkLi45NzY1MDJlMzFjNDMgMTAwNjQ0Cj4gPj4+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMKPiA+Pj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYwo+ID4+PiBAQCAtMjMsNiArMjMsNyBA QAo+ID4+PiAgICAgKi8KPiA+Pj4gICAgCj4gPj4+ICAgICNpbmNsdWRlIDxsaW51eC9nY2QuaD4K PiA+Pj4gKyNpbmNsdWRlIDxsaW51eC9jb21wb25lbnQuaD4KPiA+Pj4gICAgCj4gPj4+ICAgICNp bmNsdWRlIDxkcm0vZHJtX2NydGMuaD4KPiA+Pj4gICAgI2luY2x1ZGUgInJhZGVvbi5oIgo+ID4+ PiBAQCAtMjQyLDYgKzI0MywxNCBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9hdWRpb19mdW5jcyBk Y2U2X2RwX2Z1bmNzID0gewo+ID4+PiAgICAJLmRwbXMgPSBldmVyZ3JlZW5fZHBfZW5hYmxlLAo+ ID4+PiAgICB9Owo+ID4+PiAgICAKPiA+Pj4gK3N0YXRpYyB2b2lkIHJhZGVvbl9hdWRpb19jb21w b25lbnRfbm90aWZ5KHN0cnVjdCBkcm1fYXVkaW9fY29tcG9uZW50ICphY29tcCwKPiA+Pj4gKwkJ CQkJICBpbnQgcG9ydCkKPiA+Pj4gK3sKPiA+Pj4gKwlpZiAoYWNvbXAgJiYgYWNvbXAtPmF1ZGlv X29wcyAmJiBhY29tcC0+YXVkaW9fb3BzLT5waW5fZWxkX25vdGlmeSkKPiA+Pj4gKwkJYWNvbXAt PmF1ZGlvX29wcy0+cGluX2VsZF9ub3RpZnkoYWNvbXAtPmF1ZGlvX29wcy0+YXVkaW9fcHRyLAo+ ID4+PiArCQkJCQkJIHBvcnQsIC0xKTsKPiA+Pj4gK30KPiA+Pj4gKwo+ID4+PiAgICBzdGF0aWMg dm9pZCByYWRlb25fYXVkaW9fZW5hYmxlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAo+ID4+ PiAgICAJCQkJc3RydWN0IHI2MDBfYXVkaW9fcGluICpwaW4sIHU4IGVuYWJsZV9tYXNrKQo+ID4+ PiAgICB7Cj4gPj4+IEBAIC0yNjksNiArMjc4LDggQEAgc3RhdGljIHZvaWQgcmFkZW9uX2F1ZGlv X2VuYWJsZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKPiA+Pj4gICAgCj4gPj4+ICAgIAlp ZiAocmRldi0+YXVkaW8uZnVuY3MtPmVuYWJsZSkKPiA+Pj4gICAgCQlyZGV2LT5hdWRpby5mdW5j cy0+ZW5hYmxlKHJkZXYsIHBpbiwgZW5hYmxlX21hc2spOwo+ID4+PiArCj4gPj4+ICsJcmFkZW9u X2F1ZGlvX2NvbXBvbmVudF9ub3RpZnkocmRldi0+YXVkaW8uY29tcG9uZW50LCBwaW4tPmlkKTsK PiA+Pj4gICAgfQo+ID4+PiAgICAKPiA+Pj4gICAgc3RhdGljIHZvaWQgcmFkZW9uX2F1ZGlvX2lu dGVyZmFjZV9pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQo+ID4+PiBAQCAtMjkyLDYg KzMwMyw3OSBAQCBzdGF0aWMgdm9pZCByYWRlb25fYXVkaW9faW50ZXJmYWNlX2luaXQoc3RydWN0 IHJhZGVvbl9kZXZpY2UgKnJkZXYpCj4gPj4+ICAgIAl9Cj4gPj4+ICAgIH0KPiA+Pj4gICAgCj4g Pj4+ICtzdGF0aWMgaW50IHJhZGVvbl9hdWRpb19jb21wb25lbnRfZ2V0X2VsZChzdHJ1Y3QgZGV2 aWNlICprZGV2LCBpbnQgcG9ydCwKPiA+Pj4gKwkJCQkJICBpbnQgcGlwZSwgYm9vbCAqZW5hYmxl ZCwKPiA+Pj4gKwkJCQkJICB1bnNpZ25lZCBjaGFyICpidWYsIGludCBtYXhfYnl0ZXMpCj4gPj4+ ICt7Cj4gPj4+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9nZXRfZHJ2ZGF0YShrZGV2 KTsKPiA+Pj4gKwlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7Cj4gPj4+ICsJc3RydWN0IHJh ZGVvbl9lbmNvZGVyICpyYWRlb25fZW5jb2RlcjsKPiA+Pj4gKwlzdHJ1Y3QgcmFkZW9uX2VuY29k ZXJfYXRvbV9kaWcgKmRpZzsKPiA+Pj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y Owo+ID4+PiArCWludCByZXQgPSAwOwo+ID4+PiArCj4gPj4+ICsJKmVuYWJsZWQgPSBmYWxzZTsK PiA+Pj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVuY29kZXIsICZkZXYtPm1vZGVfY29uZmlnLmVu Y29kZXJfbGlzdCwgaGVhZCkgewo+ID4+PiArCQlpZiAoIXJhZGVvbl9lbmNvZGVyX2lzX2RpZ2l0 YWwoZW5jb2RlcikpCj4gPj4+ICsJCQljb250aW51ZTsKPiA+Pj4gKwkJcmFkZW9uX2VuY29kZXIg PSB0b19yYWRlb25fZW5jb2RlcihlbmNvZGVyKTsKPiA+Pj4gKwkJZGlnID0gcmFkZW9uX2VuY29k ZXItPmVuY19wcml2Owo+ID4+PiArCQlpZiAoIWRpZy0+cGluIHx8IGRpZy0+cGluLT5pZCAhPSBw b3J0KQo+ID4+PiArCQkJY29udGludWU7Cj4gPj4+ICsJCWNvbm5lY3RvciA9IHJhZGVvbl9nZXRf Y29ubmVjdG9yX2Zvcl9lbmNvZGVyKGVuY29kZXIpOwo+ID4+PiArCQlpZiAoY29ubmVjdG9yKSB7 Cj4gPj4+ICsJCQkqZW5hYmxlZCA9IHRydWU7Cj4gPj4+ICsJCQlyZXQgPSBkcm1fZWxkX3NpemUo Y29ubmVjdG9yLT5lbGQpOwo+ID4+PiArCQkJbWVtY3B5KGJ1ZiwgY29ubmVjdG9yLT5lbGQsIG1p bihtYXhfYnl0ZXMsIHJldCkpOwo+ID4+PiArCQkJYnJlYWs7Cj4gPj4+ICsJCX0KPiA+Pj4gKwl9 Cj4gPj4+ICsKPiA+Pj4gKwlyZXR1cm4gcmV0Owo+ID4+PiArfQo+ID4+PiArCj4gPj4+ICtzdGF0 aWMgY29uc3Qgc3RydWN0IGRybV9hdWRpb19jb21wb25lbnRfb3BzIHJhZGVvbl9hdWRpb19jb21w b25lbnRfb3BzID0gewo+ID4+PiArCS5nZXRfZWxkID0gcmFkZW9uX2F1ZGlvX2NvbXBvbmVudF9n ZXRfZWxkLAo+ID4+PiArfTsKPiA+Pj4gKwo+ID4+PiArc3RhdGljIGludCByYWRlb25fYXVkaW9f Y29tcG9uZW50X2JpbmQoc3RydWN0IGRldmljZSAqa2RldiwKPiA+Pj4gKwkJCQkgICAgICAgc3Ry dWN0IGRldmljZSAqaGRhX2tkZXYsIHZvaWQgKmRhdGEpCj4gPj4+ICt7Cj4gPj4+ICsJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGRldl9nZXRfZHJ2ZGF0YShrZGV2KTsKPiA+Pj4gKwlzdHJ1Y3Qg cmFkZW9uX2RldmljZSAqcmRldiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPj4+ICsJc3RydWN0IGRy bV9hdWRpb19jb21wb25lbnQgKmFjb21wID0gZGF0YTsKPiA+Pj4gKwo+ID4+PiArCWlmIChXQVJO X09OKCFkZXZpY2VfbGlua19hZGQoaGRhX2tkZXYsIGtkZXYsIERMX0ZMQUdfU1RBVEVMRVNTKSkp Cj4gPj4+ICsJCXJldHVybiAtRU5PTUVNOwo+ID4+PiArCj4gPj4+ICsJZHJtX21vZGVzZXRfbG9j a19hbGwoZGV2KTsKPiA+Pj4gKwlhY29tcC0+b3BzID0gJnJhZGVvbl9hdWRpb19jb21wb25lbnRf b3BzOwo+ID4+PiArCWFjb21wLT5kZXYgPSBrZGV2Owo+ID4+PiArCXJkZXYtPmF1ZGlvLmNvbXBv bmVudCA9IGFjb21wOwo+ID4+PiArCWRybV9tb2Rlc2V0X3VubG9ja19hbGwoZGV2KTsKPiA+Pj4g Kwo+ID4+PiArCXJldHVybiAwOwo+ID4+PiArfQo+ID4+PiArCj4gPj4+ICtzdGF0aWMgdm9pZCBy YWRlb25fYXVkaW9fY29tcG9uZW50X3VuYmluZChzdHJ1Y3QgZGV2aWNlICprZGV2LAo+ID4+PiAr CQkJCQkgIHN0cnVjdCBkZXZpY2UgKmhkYV9rZGV2LCB2b2lkICpkYXRhKQo+ID4+PiArewo+ID4+ PiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfZ2V0X2RydmRhdGEoa2Rldik7Cj4gPj4+ ICsJc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4+PiAr CXN0cnVjdCBkcm1fYXVkaW9fY29tcG9uZW50ICphY29tcCA9IGRhdGE7Cj4gPj4+ICsKPiA+Pj4g Kwlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwo+ID4+PiArCXJkZXYtPmF1ZGlvLmNvbXBvbmVu dCA9IE5VTEw7Cj4gPj4+ICsJYWNvbXAtPm9wcyA9IE5VTEw7Cj4gPj4+ICsJYWNvbXAtPmRldiA9 IE5VTEw7Cj4gPj4+ICsJZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwo+ID4+PiArfQo+ID4+ PiArCj4gPj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGNvbXBvbmVudF9vcHMgcmFkZW9uX2F1ZGlv X2NvbXBvbmVudF9iaW5kX29wcyA9IHsKPiA+Pj4gKwkuYmluZAk9IHJhZGVvbl9hdWRpb19jb21w b25lbnRfYmluZCwKPiA+Pj4gKwkudW5iaW5kCT0gcmFkZW9uX2F1ZGlvX2NvbXBvbmVudF91bmJp bmQsCj4gPj4+ICt9Owo+ID4+PiArCj4gPj4+ICAgIHN0YXRpYyBpbnQgcmFkZW9uX2F1ZGlvX2No aXBzZXRfc3VwcG9ydGVkKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQo+ID4+PiAgICB7Cj4g Pj4+ICAgIAlyZXR1cm4gQVNJQ19JU19EQ0UyKHJkZXYpICYmICFBU0lDX0lTX05PRENFKHJkZXYp Owo+ID4+PiBAQCAtMzM4LDYgKzQyMiw5IEBAIGludCByYWRlb25fYXVkaW9faW5pdChzdHJ1Y3Qg cmFkZW9uX2RldmljZSAqcmRldikKPiA+Pj4gICAgCWZvciAoaSA9IDA7IGkgPCByZGV2LT5hdWRp by5udW1fcGluczsgaSsrKQo+ID4+PiAgICAJCXJhZGVvbl9hdWRpb19lbmFibGUocmRldiwgJnJk ZXYtPmF1ZGlvLnBpbltpXSwgMCk7Cj4gPj4+ICAgIAo+ID4+PiArCWlmICghY29tcG9uZW50X2Fk ZChyZGV2LT5kZXYsICZyYWRlb25fYXVkaW9fY29tcG9uZW50X2JpbmRfb3BzKSkKPiA+Pj4gKwkJ cmRldi0+YXVkaW8uY29tcG9uZW50X3JlZ2lzdGVyZWQgPSB0cnVlOwo+ID4+PiArCj4gPj4+ICAg IAlyZXR1cm4gMDsKPiA+Pj4gICAgfQo+ID4+PiAgICAKPiA+Pj4gQEAgLTQ5MCw2ICs1NzcsMTEg QEAgdm9pZCByYWRlb25fYXVkaW9fZmluaShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKPiA+ Pj4gICAgCQlyYWRlb25fYXVkaW9fZW5hYmxlKHJkZXYsICZyZGV2LT5hdWRpby5waW5baV0sIDAp Owo+ID4+PiAgICAKPiA+Pj4gICAgCXJkZXYtPmF1ZGlvLmVuYWJsZWQgPSBmYWxzZTsKPiA+Pj4g Kwo+ID4+PiArCWlmIChyZGV2LT5hdWRpby5jb21wb25lbnRfcmVnaXN0ZXJlZCkgewo+ID4+PiAr CQljb21wb25lbnRfZGVsKHJkZXYtPmRldiwgJnJhZGVvbl9hdWRpb19jb21wb25lbnRfYmluZF9v cHMpOwo+ID4+PiArCQlyZGV2LT5hdWRpby5jb21wb25lbnRfcmVnaXN0ZXJlZCA9IGZhbHNlOwo+ ID4+PiArCX0KPiA+Pj4gICAgfQo+ID4+PiAgICAKPiA+Pj4gICAgc3RhdGljIHZvaWQgcmFkZW9u X2F1ZGlvX3NldF9kdG8oc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCB1bnNpZ25lZCBpbnQg Y2xvY2spCj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==