From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: =?UTF-8?B?562U5aSNOg==?= [PATCH 4/4] drm/amdgpu: Add audio component support Date: Wed, 25 Jul 2018 07:46:00 +0200 Message-ID: References: <20180723145030.25133-1-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: 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: "Qu, Jim" Cc: "alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" List-Id: alsa-devel@alsa-project.org T24gV2VkLCAyNSBKdWwgMjAxOCAwNzozODozNyArMDIwMCwKUXUsIEppbSB3cm90ZToKPiAKPiBK aW06IEp1c3QgbGlrZSBBbGV4IHNhaWQsIHdlIHdhbnQgZHJpdmVyIGNhbiBnZXQgZWxkIGluZm8g d2hlbiBob3RwbHVnIGluIG5ldyBkZXZpY2UuIGFtZGdwdSBkcml2ZXIgaXMgYSBiaXQgZGlmZmVy ZW5jZSBmcm9tIHJhZGVvbiBkcml2ZXIsIGl0IGlzIG5vdCBhIHN1aXRhYmxlIHBsYWNlIHRvIGNh bGwgbm90aWZ5KCkgZnVuY3Rpb24gaW4gKl9hdWRpb19lbmFibGUoKSAsIHNpbmNlIHRoZXkgYXJl IG5vdCBpbiB0aGUgaG90cGx1ZyBwcm9jZXNzIGNvbnRleHQgbGlrZSB0aGVtIGluIHJhZGVvbiBk cml2ZXIsIGJ1dCB0aGUgbW9kZSBzZXR0aW5nLgo+IAo+IElNTywgdGhlIHJpZ2h0IHBsYWNlIHRv IGNhbGwgbm90aWZ5KCkgZnVuY3Rpb24gaXMgYWxzbyBpbiB0aGUgYW1kZ3B1X2Nvbm5lY3Rvcl94 eHh4X2RldGVjdCgpIGluIGFtZGdwdV9jb25uZWN0b3IuYy4KCkhtLCBidXQgYnkgdGhlIG1vZGVz ZXR0aW5nLCBpdCBhY3R1YWxseSBlbmFibGVzIC8gZGlzYWJsZXMgdGhlIGF1ZGlvCmFzIHdlbGws IG5vPyAgSWYgc28sIHRoZSBub3RpZmllciBpcyBleGFjdGx5IGZvciB0aGF0IHB1cnBvc2UuICBU aGUKYXVkaW8gZHJpdmVyIG5lZWRzIHRvIGtub3cgbm90IG9ubHkgYWJvdXQgdGhlIHBoeXNpY2Fs IGNvbm5lY3Rpb24gYnV0CndoZXRoZXIgdGhlIGF1ZGlvIGNhbiBiZSBhY3R1YWxseSBkcml2ZW4u CgpUaGF0IGlzLCBldmVuIGlmIHRoZSBtb25pdG9yIGlzIGNvbm5lY3RlZCwgdGhlIGF1ZGlvIHdv bid0IGNvbWUgb3V0IGlmCnRoZSBtb2RlIGlzIG9mZi4gIFRoYXQgaXMgZXF1aXZhbGVudCB3aXRo IHRoZSB1bnBsdWdnZWQgc3RhdGUgZm9yIHRoZQphdWRpbyBkcml2ZXIuCgpUaGUgaTkxNSBkcml2 ZXIgZGVhbHMgd2l0aCB0aGUgbm90aWZpZXIganVzdCBsaWtlIHRoZSBhYm92ZSwgc28gdGhlCmJl aGF2aW9yIGlzIGludGVudGlvbmFsLgoKCnRoYW5rcywKClRha2FzaGkKCj4gV2l0aCBOb25lLURD IGRyaXZlciwgdGhlIGRldGVjdCgpIG9mIGNvbm5lY3RvcnMgd2lsbCB0byBiZSBwcmVmb3JtZWQg aW4gZHJtX2hlbHBlcl9ocGRfaXJxX2V2ZW50KCkgd2hlbiB0aGVyZSBpcyBkZXZpY2UgaG90cGx1 Zy4gSG93ZXZlciwgYW1kZ3B1X2Nvbm5lY3Rvcl94eHh4X2RldGVjdCgpIG1heWJlIG5lZWQgdG8g YmUgbW9kaWZpZWQgdG8gZml0IHlvdXIgY2hhbmdlLgo+IAo+IFRoYW5rcwo+IEppbVF1Cj4gKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4gLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9LY29uZmlnICAgICAgICAgICAgICAgICAgIHwgIDEgKwo+ICBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9NYWtlZmlsZSAgICAgICB8ICAyICstCj4gIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oICAgICAgIHwgIDQgKwo+ICBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfYXVkaW8uYyB8IDk3ICsrKysrKysrKysrKysrKysrKysrKysr Cj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9tb2RlLmggIHwgIDMgKwo+ICBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYyAgICB8ICA2ICsrCj4gIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jICAgIHwgIDYgKysKPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y2XzAuYyAgICAgfCAgNiArKwo+ICBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jICAgICB8ICA2ICsrCj4gIDkgZmlsZXMgY2hhbmdlZCwg MTMwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hdWRpby5jCj4gCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnIGIvZHJpdmVycy9ncHUvZHJtL0tjb25maWcKPiBpbmRl eCAyYzcxMTJkZGZlZDQuLmZiZTcyMTZjNWM1NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vS2NvbmZpZwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCj4gQEAgLTE5Myw2ICsx OTMsNyBAQCBjb25maWcgRFJNX0FNREdQVQo+ICAgICAgICAgc2VsZWN0IEJBQ0tMSUdIVF9MQ0Rf U1VQUE9SVAo+ICAgICAgICAgc2VsZWN0IElOVEVSVkFMX1RSRUUKPiAgICAgICAgIHNlbGVjdCBD SEFTSAo+ICsgICAgICAgc2VsZWN0IFNORF9IREFfQ09NUE9ORU5UIGlmIFNORF9IREFfQ09SRQo+ ICAgICAgICAgaGVscAo+ICAgICAgICAgICBDaG9vc2UgdGhpcyBvcHRpb24gaWYgeW91IGhhdmUg YSByZWNlbnQgQU1EIFJhZGVvbiBncmFwaGljcyBjYXJkLgo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L01ha2VmaWxlCj4gaW5kZXggYmZkMzMyYzk1YjYxLi45YzI2ZmFjZGRiMTcgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvTWFrZWZpbGUKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9NYWtlZmlsZQo+IEBAIC01Miw3ICs1Miw3IEBAIGFtZGdwdS15 ICs9IGFtZGdwdV9kZXZpY2UubyBhbWRncHVfa21zLm8gXAo+ICAgICAgICAgYW1kZ3B1X3Vjb2Rl Lm8gYW1kZ3B1X2JvX2xpc3QubyBhbWRncHVfY3R4Lm8gYW1kZ3B1X3N5bmMubyBcCj4gICAgICAg ICBhbWRncHVfZ3R0X21nci5vIGFtZGdwdV92cmFtX21nci5vIGFtZGdwdV92aXJ0Lm8gYW1kZ3B1 X2F0b21maXJtd2FyZS5vIFwKPiAgICAgICAgIGFtZGdwdV9xdWV1ZV9tZ3IubyBhbWRncHVfdmZf ZXJyb3IubyBhbWRncHVfc2NoZWQubyBhbWRncHVfZGVidWdmcy5vIFwKPiAtICAgICAgIGFtZGdw dV9pZHMubwo+ICsgICAgICAgYW1kZ3B1X2lkcy5vIGFtZGdwdV9hdWRpby5vCj4gCj4gICMgYWRk IGFzaWMgc3BlY2lmaWMgYmxvY2sKPiAgYW1kZ3B1LSQoQ09ORklHX0RSTV9BTURHUFVfQ0lLKSs9 IGNpay5vIGNpa19paC5vIGt2X3NtYy5vIGt2X2RwbS5vIFwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHUuaAo+IGluZGV4IGE1OWMwNzU5MGNlZS4uMjAzZDI1ODRjOTg5IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPiBAQCAtMTk1Nyw1ICsxOTU3LDkgQEAgaW50IGFt ZGdwdV9kbV9kaXNwbGF5X3Jlc3VtZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiApOwo+ICBz dGF0aWMgaW5saW5lIGludCBhbWRncHVfZG1fZGlzcGxheV9yZXN1bWUoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYpIHsgcmV0dXJuIDA7IH0KPiAgI2VuZGlmCj4gCj4gK2ludCBhbWRncHVfYXVk aW9fY29tcG9uZW50X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwo+ICt2b2lkIGFt ZGdwdV9hdWRpb19jb21wb25lbnRfZmluaShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7Cj4g K3ZvaWQgYW1kZ3B1X2F1ZGlvX2VsZF9ub3RpZnkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs IGludCBwaW4pOwo+ICsKPiAgI2luY2x1ZGUgImFtZGdwdV9vYmplY3QuaCIKPiAgI2VuZGlmCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hdWRpby5jIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2F1ZGlvLmMKPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uMzkyNTZlMmY4NGIzCj4gLS0tIC9kZXYvbnVs bAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hdWRpby5jCj4gQEAg LTAsMCArMSw5NyBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCj4gKwo+ICsj aW5jbHVkZSA8bGludXgvY29tcG9uZW50Lmg+Cj4gKyNpbmNsdWRlICJhbWRncHUuaCIKPiArCj4g K3N0YXRpYyBpbnQgYW1kZ3B1X2F1ZGlvX2NvbXBvbmVudF9nZXRfZWxkKHN0cnVjdCBkZXZpY2Ug KmtkZXYsIGludCBwb3J0LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGludCBwaXBlLCBib29sICplbmFibGVkLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IG1heF9ieXRlcykKPiArewo+ ICsgICAgICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9nZXRfZHJ2ZGF0YShrZGV2KTsK PiArICAgICAgIHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKPiArICAgICAgIHN0cnVjdCBh bWRncHVfZW5jb2RlciAqYW1kZ3B1X2VuY29kZXI7Cj4gKyAgICAgICBzdHJ1Y3QgYW1kZ3B1X2Vu Y29kZXJfYXRvbV9kaWcgKmRpZzsKPiArICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3I7Cj4gKyAgICAgICBpbnQgcmV0ID0gMDsKPiArCj4gKyAgICAgICAqZW5hYmxlZCA9IDA7 Cj4gKyAgICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGVuY29kZXIsICZkZXYtPm1vZGVfY29uZmln LmVuY29kZXJfbGlzdCwgaGVhZCkgewo+ICsgICAgICAgICAgICAgICBhbWRncHVfZW5jb2RlciA9 IHRvX2FtZGdwdV9lbmNvZGVyKGVuY29kZXIpOwo+ICsgICAgICAgICAgICAgICBkaWcgPSBhbWRn cHVfZW5jb2Rlci0+ZW5jX3ByaXY7Cj4gKyAgICAgICAgICAgICAgIGlmICghZGlnIHx8ICFkaWct PmFmbXQgfHwgIWRpZy0+YWZtdC0+ZW5hYmxlZCkKPiArICAgICAgICAgICAgICAgICAgICAgICBj b250aW51ZTsKPiArICAgICAgICAgICAgICAgaWYgKCFkaWctPmFmbXQtPnBpbiB8fCBkaWctPmFm bXQtPnBpbi0+aWQgIT0gcG9ydCkKPiArICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK PiArICAgICAgICAgICAgICAgY29ubmVjdG9yID0gYW1kZ3B1X2dldF9jb25uZWN0b3JfZm9yX2Vu Y29kZXIoZW5jb2Rlcik7Cj4gKyAgICAgICAgICAgICAgICplbmFibGVkID0gISFjb25uZWN0b3I7 Cj4gKyAgICAgICAgICAgICAgIGlmIChjb25uZWN0b3IpIHsKPiArICAgICAgICAgICAgICAgICAg ICAgICByZXQgPSBkcm1fZWxkX3NpemUoY29ubmVjdG9yLT5lbGQpOwo+ICsgICAgICAgICAgICAg ICAgICAgICAgIG1lbWNweShidWYsIGNvbm5lY3Rvci0+ZWxkLCBtaW4obWF4X2J5dGVzLCByZXQp KTsKPiArICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgICAgICAgfQo+ ICsgICAgICAgfQo+ICsKPiArICAgICAgIHJldHVybiByZXQ7Cj4gK30KPiArCj4gK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX2F1ZGlvX2NvbXBvbmVudF9vcHMgYW1kZ3B1X2F1ZGlvX2NvbXBvbmVu dF9vcHMgPSB7Cj4gKyAgICAgICAuZ2V0X2VsZCA9IGFtZGdwdV9hdWRpb19jb21wb25lbnRfZ2V0 X2VsZCwKPiArfTsKPiArCj4gK3N0YXRpYyBpbnQgYW1kZ3B1X2F1ZGlvX2NvbXBvbmVudF9iaW5k KHN0cnVjdCBkZXZpY2UgKmtkZXYsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IGRldmljZSAqaGRhX2tkZXYsIHZvaWQgKmRhdGEpCj4gK3sKPiArICAgICAg IHN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfZ2V0X2RydmRhdGEoa2Rldik7Cj4gKyAgICAg ICBzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gKyAgICAg ICBzdHJ1Y3QgZHJtX2F1ZGlvX2NvbXBvbmVudCAqYWNvbXAgPSBkYXRhOwo+ICsKPiArICAgICAg IGFjb21wLT5vcHMgPSAmYW1kZ3B1X2F1ZGlvX2NvbXBvbmVudF9vcHM7Cj4gKyAgICAgICBhY29t cC0+ZGV2ID0ga2RldjsKPiArICAgICAgIGFkZXYtPm1vZGVfaW5mby5hdWRpby5jb21wb25lbnQg PSBhY29tcDsKPiArICAgICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBhbWRn cHVfYXVkaW9fY29tcG9uZW50X3VuYmluZChzdHJ1Y3QgZGV2aWNlICprZGV2LAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkZXZpY2UgKmhkYV9rZGV2 LCB2b2lkICpkYXRhKQo+ICt7Cj4gKyAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGV2 X2dldF9kcnZkYXRhKGtkZXYpOwo+ICsgICAgICAgc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYg PSBkZXYtPmRldl9wcml2YXRlOwo+ICsgICAgICAgc3RydWN0IGRybV9hdWRpb19jb21wb25lbnQg KmFjb21wID0gZGF0YTsKPiArCj4gKyAgICAgICBhY29tcC0+b3BzID0gTlVMTDsKPiArICAgICAg IGFjb21wLT5kZXYgPSBOVUxMOwo+ICsgICAgICAgYWRldi0+bW9kZV9pbmZvLmF1ZGlvLmNvbXBv bmVudCA9IE5VTEw7Cj4gK30KPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcG9uZW50X29w cyBhbWRncHVfYXVkaW9fY29tcG9uZW50X2JpbmRfb3BzID0gewo+ICsgICAgICAgLmJpbmQgICA9 IGFtZGdwdV9hdWRpb19jb21wb25lbnRfYmluZCwKPiArICAgICAgIC51bmJpbmQgPSBhbWRncHVf YXVkaW9fY29tcG9uZW50X3VuYmluZCwKPiArfTsKPiArCj4gK2ludCBhbWRncHVfYXVkaW9fY29t cG9uZW50X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gK3sKPiArICAgICAgIGlu dCBlcnI7Cj4gKwo+ICsgICAgICAgZXJyID0gY29tcG9uZW50X2FkZChhZGV2LT5kZXYsICZhbWRn cHVfYXVkaW9fY29tcG9uZW50X2JpbmRfb3BzKTsKPiArICAgICAgIGlmIChlcnIgPCAwKQo+ICsg ICAgICAgICAgICAgICByZXR1cm4gZXJyOwo+ICsgICAgICAgYWRldi0+bW9kZV9pbmZvLmF1ZGlv LmNvbXBvbmVudF9yZWdpc3RlcmVkID0gdHJ1ZTsKPiArICAgICAgIHJldHVybiAwOwo+ICt9Cj4g Kwo+ICt2b2lkIGFtZGdwdV9hdWRpb19jb21wb25lbnRfZmluaShzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldikKPiArewo+ICsgICAgICAgaWYgKGFkZXYtPm1vZGVfaW5mby5hdWRpby5jb21wb25l bnRfcmVnaXN0ZXJlZCkgewo+ICsgICAgICAgICAgICAgICBjb21wb25lbnRfZGVsKGFkZXYtPmRl diwgJmFtZGdwdV9hdWRpb19jb21wb25lbnRfYmluZF9vcHMpOwo+ICsgICAgICAgICAgICAgICBh ZGV2LT5tb2RlX2luZm8uYXVkaW8uY29tcG9uZW50X3JlZ2lzdGVyZWQgPSBmYWxzZTsKPiArICAg ICAgIH0KPiArfQo+ICsKPiArdm9pZCBhbWRncHVfYXVkaW9fZWxkX25vdGlmeShzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiwgaW50IHBpbikKPiArewo+ICsgICAgICAgc3RydWN0IGRybV9hdWRp b19jb21wb25lbnQgKmFjb21wID0gYWRldi0+bW9kZV9pbmZvLmF1ZGlvLmNvbXBvbmVudDsKPiAr Cj4gKyAgICAgICBpZiAoYWNvbXAgJiYgYWNvbXAtPmF1ZGlvX29wcyAmJiBhY29tcC0+YXVkaW9f b3BzLT5waW5fZWxkX25vdGlmeSkKPiArICAgICAgICAgICAgICAgYWNvbXAtPmF1ZGlvX29wcy0+ cGluX2VsZF9ub3RpZnkoYWNvbXAtPmF1ZGlvX29wcy0+YXVkaW9fcHRyLAo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaW4sIC0xKTsKPiArfQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW9kZS5oIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X21vZGUuaAo+IGluZGV4IGI5ZTllOGIwMmZi Ny4uN2NiMWFhOTdlNTIyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9tb2RlLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf bW9kZS5oCj4gQEAgLTM5LDYgKzM5LDcgQEAKPiAgI2luY2x1ZGUgPGRybS9kcm1fZmJfaGVscGVy Lmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX3BsYW5lX2hlbHBlci5oPgo+ICAjaW5jbHVkZSA8ZHJt L2RybV9mYl9oZWxwZXIuaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fYXVkaW9fY29tcG9uZW50Lmg+ Cj4gICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2kyYy1hbGdvLWJp dC5oPgo+ICAjaW5jbHVkZSA8bGludXgvaHJ0aW1lci5oPgo+IEBAIC0yNjAsNiArMjYxLDggQEAg c3RydWN0IGFtZGdwdV9hdWRpbyB7Cj4gICAgICAgICBib29sIGVuYWJsZWQ7Cj4gICAgICAgICBz dHJ1Y3QgYW1kZ3B1X2F1ZGlvX3BpbiBwaW5bQU1ER1BVX01BWF9BRk1UX0JMT0NLU107Cj4gICAg ICAgICBpbnQgbnVtX3BpbnM7Cj4gKyAgICAgICBib29sIGNvbXBvbmVudF9yZWdpc3RlcmVkOwo+ ICsgICAgICAgc3RydWN0IGRybV9hdWRpb19jb21wb25lbnQgKmNvbXBvbmVudDsKPiAgfTsKPiAK PiAgc3RydWN0IGFtZGdwdV9kaXNwbGF5X2Z1bmNzIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9kY2VfdjEwXzAuYwo+IGluZGV4IGFkYTI0MWJmZWVlOS4uYzg0NzFhNTk5MzBmIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMKPiBAQCAtMTM5Miw2ICsxMzkyLDgg QEAgc3RhdGljIHZvaWQgZGNlX3YxMF8wX2F1ZGlvX2VuYWJsZShzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwKPiAKPiAgICAgICAgIFdSRUczMl9BVURJT19FTkRQVChwaW4tPm9mZnNldCwgaXhB WkFMSUFfRjBfQ09ERUNfUElOX0NPTlRST0xfSE9UX1BMVUdfQ09OVFJPTCwKPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBlbmFibGUgPyBBWkFMSUFfRjBfQ09ERUNfUElOX0NPTlRST0xfSE9U X1BMVUdfQ09OVFJPTF9fQVVESU9fRU5BQkxFRF9NQVNLIDogMCk7Cj4gKwo+ICsgICAgICAgYW1k Z3B1X2F1ZGlvX2VsZF9ub3RpZnkoYWRldiwgcGluLT5pZCk7Cj4gIH0KPiAKPiAgc3RhdGljIGNv bnN0IHUzMiBwaW5fb2Zmc2V0c1tdID0KPiBAQCAtMTQzMCw2ICsxNDMyLDggQEAgc3RhdGljIGlu dCBkY2VfdjEwXzBfYXVkaW9faW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgICAg ICAgICAgICAgICAgZGNlX3YxMF8wX2F1ZGlvX2VuYWJsZShhZGV2LCAmYWRldi0+bW9kZV9pbmZv LmF1ZGlvLnBpbltpXSwgZmFsc2UpOwo+ICAgICAgICAgfQo+IAo+ICsgICAgICAgYW1kZ3B1X2F1 ZGlvX2NvbXBvbmVudF9pbml0KGFkZXYpOwo+ICsKPiAgICAgICAgIHJldHVybiAwOwo+ICB9Cj4g Cj4gQEAgLTE0NDMsNiArMTQ0Nyw4IEBAIHN0YXRpYyB2b2lkIGRjZV92MTBfMF9hdWRpb19maW5p KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICAgICAgICAgaWYgKCFhZGV2LT5tb2RlX2lu Zm8uYXVkaW8uZW5hYmxlZCkKPiAgICAgICAgICAgICAgICAgcmV0dXJuOwo+IAo+ICsgICAgICAg YW1kZ3B1X2F1ZGlvX2NvbXBvbmVudF9maW5pKGFkZXYpOwo+ICsKPiAgICAgICAgIGZvciAoaSA9 IDA7IGkgPCBhZGV2LT5tb2RlX2luZm8uYXVkaW8ubnVtX3BpbnM7IGkrKykKPiAgICAgICAgICAg ICAgICAgZGNlX3YxMF8wX2F1ZGlvX2VuYWJsZShhZGV2LCAmYWRldi0+bW9kZV9pbmZvLmF1ZGlv LnBpbltpXSwgZmFsc2UpOwo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9kY2VfdjExXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5j Cj4gaW5kZXggYTViOTZlYWMzMDMzLi40OWVkYjc0NzI1YTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9kY2VfdjExXzAuYwo+IEBAIC0xNDE4LDYgKzE0MTgsOCBAQCBzdGF0aWMgdm9p ZCBkY2VfdjExXzBfYXVkaW9fZW5hYmxlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+IAo+ ICAgICAgICAgV1JFRzMyX0FVRElPX0VORFBUKHBpbi0+b2Zmc2V0LCBpeEFaQUxJQV9GMF9DT0RF Q19QSU5fQ09OVFJPTF9IT1RfUExVR19DT05UUk9MLAo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGVuYWJsZSA/IEFaQUxJQV9GMF9DT0RFQ19QSU5fQ09OVFJPTF9IT1RfUExVR19DT05UUk9M X19BVURJT19FTkFCTEVEX01BU0sgOiAwKTsKPiArCj4gKyAgICAgICBhbWRncHVfYXVkaW9fZWxk X25vdGlmeShhZGV2LCBwaW4tPmlkKTsKPiAgfQo+IAo+ICBzdGF0aWMgY29uc3QgdTMyIHBpbl9v ZmZzZXRzW10gPQo+IEBAIC0xNDcyLDYgKzE0NzQsOCBAQCBzdGF0aWMgaW50IGRjZV92MTFfMF9h dWRpb19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICAgICAgICAgICAgICAgICBk Y2VfdjExXzBfYXVkaW9fZW5hYmxlKGFkZXYsICZhZGV2LT5tb2RlX2luZm8uYXVkaW8ucGluW2ld LCBmYWxzZSk7Cj4gICAgICAgICB9Cj4gCj4gKyAgICAgICBhbWRncHVfYXVkaW9fY29tcG9uZW50 X2luaXQoYWRldik7Cj4gKwo+ICAgICAgICAgcmV0dXJuIDA7Cj4gIH0KPiAKPiBAQCAtMTQ4NSw2 ICsxNDg5LDggQEAgc3RhdGljIHZvaWQgZGNlX3YxMV8wX2F1ZGlvX2Zpbmkoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYpCj4gICAgICAgICBpZiAoIWFkZXYtPm1vZGVfaW5mby5hdWRpby5lbmFi bGVkKQo+ICAgICAgICAgICAgICAgICByZXR1cm47Cj4gCj4gKyAgICAgICBhbWRncHVfYXVkaW9f Y29tcG9uZW50X2ZpbmkoYWRldik7Cj4gKwo+ICAgICAgICAgZm9yIChpID0gMDsgaSA8IGFkZXYt Pm1vZGVfaW5mby5hdWRpby5udW1fcGluczsgaSsrKQo+ICAgICAgICAgICAgICAgICBkY2VfdjEx XzBfYXVkaW9fZW5hYmxlKGFkZXYsICZhZGV2LT5tb2RlX2luZm8uYXVkaW8ucGluW2ldLCBmYWxz ZSk7Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92Nl8w LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjZfMC5jCj4gaW5kZXggMzk0Y2Mx ZThmZTIwLi4yYjc0NjhlYWFjY2EgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZGNlX3Y2XzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92 Nl8wLmMKPiBAQCAtMTI5Nyw2ICsxMjk3LDggQEAgc3RhdGljIHZvaWQgZGNlX3Y2XzBfYXVkaW9f ZW5hYmxlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+IAo+ICAgICAgICAgV1JFRzMyX0FV RElPX0VORFBUKHBpbi0+b2Zmc2V0LCBpeEFaQUxJQV9GMF9DT0RFQ19QSU5fQ09OVFJPTF9IT1Rf UExVR19DT05UUk9MLAo+ICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSA/IEFaQUxJQV9G MF9DT0RFQ19QSU5fQ09OVFJPTF9IT1RfUExVR19DT05UUk9MX19BVURJT19FTkFCTEVEX01BU0sg OiAwKTsKPiArCj4gKyAgICAgICBhbWRncHVfYXVkaW9fZWxkX25vdGlmeShhZGV2LCBwaW4tPmlk KTsKPiAgfQo+IAo+ICBzdGF0aWMgY29uc3QgdTMyIHBpbl9vZmZzZXRzWzddID0KPiBAQCAtMTM0 Myw2ICsxMzQ1LDggQEAgc3RhdGljIGludCBkY2VfdjZfMF9hdWRpb19pbml0KHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2KQo+ICAgICAgICAgICAgICAgICBkY2VfdjZfMF9hdWRpb19lbmFibGUo YWRldiwgJmFkZXYtPm1vZGVfaW5mby5hdWRpby5waW5baV0sIGZhbHNlKTsKPiAgICAgICAgIH0K PiAKPiArICAgICAgIGFtZGdwdV9hdWRpb19jb21wb25lbnRfaW5pdChhZGV2KTsKPiArCj4gICAg ICAgICByZXR1cm4gMDsKPiAgfQo+IAo+IEBAIC0xMzU2LDYgKzEzNjAsOCBAQCBzdGF0aWMgdm9p ZCBkY2VfdjZfMF9hdWRpb19maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICAgICAg ICAgaWYgKCFhZGV2LT5tb2RlX2luZm8uYXVkaW8uZW5hYmxlZCkKPiAgICAgICAgICAgICAgICAg cmV0dXJuOwo+IAo+ICsgICAgICAgYW1kZ3B1X2F1ZGlvX2NvbXBvbmVudF9maW5pKGFkZXYpOwo+ ICsKPiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhZGV2LT5tb2RlX2luZm8uYXVkaW8ubnVtX3Bp bnM7IGkrKykKPiAgICAgICAgICAgICAgICAgZGNlX3Y2XzBfYXVkaW9fZW5hYmxlKGFkZXYsICZh ZGV2LT5tb2RlX2luZm8uYXVkaW8ucGluW2ldLCBmYWxzZSk7Cj4gCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9kY2VfdjhfMC5jCj4gaW5kZXggYzliOWFiOGYxYjA1Li5jMjM3MGVhMWY2NGYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMKPiBAQCAtMTM0OCw2ICsxMzQ4 LDggQEAgc3RhdGljIHZvaWQgZGNlX3Y4XzBfYXVkaW9fZW5hYmxlKHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2LAo+IAo+ICAgICAgICAgV1JFRzMyX0FVRElPX0VORFBUKHBpbi0+b2Zmc2V0LCBp eEFaQUxJQV9GMF9DT0RFQ19QSU5fQ09OVFJPTF9IT1RfUExVR19DT05UUk9MLAo+ICAgICAgICAg ICAgICAgICBlbmFibGUgPyBBWkFMSUFfRjBfQ09ERUNfUElOX0NPTlRST0xfSE9UX1BMVUdfQ09O VFJPTF9fQVVESU9fRU5BQkxFRF9NQVNLIDogMCk7Cj4gKwo+ICsgICAgICAgYW1kZ3B1X2F1ZGlv X2VsZF9ub3RpZnkoYWRldiwgcGluLT5pZCk7Cj4gIH0KPiAKPiAgc3RhdGljIGNvbnN0IHUzMiBw aW5fb2Zmc2V0c1s3XSA9Cj4gQEAgLTEzOTUsNiArMTM5Nyw4IEBAIHN0YXRpYyBpbnQgZGNlX3Y4 XzBfYXVkaW9faW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgICAgICAgICAgICAg ICAgZGNlX3Y4XzBfYXVkaW9fZW5hYmxlKGFkZXYsICZhZGV2LT5tb2RlX2luZm8uYXVkaW8ucGlu W2ldLCBmYWxzZSk7Cj4gICAgICAgICB9Cj4gCj4gKyAgICAgICBhbWRncHVfYXVkaW9fY29tcG9u ZW50X2luaXQoYWRldik7Cj4gKwo+ICAgICAgICAgcmV0dXJuIDA7Cj4gIH0KPiAKPiBAQCAtMTQw OCw2ICsxNDEyLDggQEAgc3RhdGljIHZvaWQgZGNlX3Y4XzBfYXVkaW9fZmluaShzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldikKPiAgICAgICAgIGlmICghYWRldi0+bW9kZV9pbmZvLmF1ZGlvLmVu YWJsZWQpCj4gICAgICAgICAgICAgICAgIHJldHVybjsKPiAKPiArICAgICAgIGFtZGdwdV9hdWRp b19jb21wb25lbnRfZmluaShhZGV2KTsKPiArCj4gICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYWRl di0+bW9kZV9pbmZvLmF1ZGlvLm51bV9waW5zOyBpKyspCj4gICAgICAgICAgICAgICAgIGRjZV92 OF8wX2F1ZGlvX2VuYWJsZShhZGV2LCAmYWRldi0+bW9kZV9pbmZvLmF1ZGlvLnBpbltpXSwgZmFs c2UpOwo+IAo+IC0tCj4gMi4xOC4wCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+IGFtZC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9hbWQtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=