From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH 2/4 v2] drm/bridge: adv7511: Add Audio support. Date: Tue, 30 Aug 2016 12:21:56 +0300 Message-ID: <3891360.sBkMj3IaSD@avalon> References: <1472514096-10915-1-git-send-email-john.stultz@linaro.org> <1472514096-10915-3-git-send-email-john.stultz@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [IPv6:2001:4b98:dc2:45:216:3eff:febb:480d]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9E5366E377 for ; Tue, 30 Aug 2016 09:21:37 +0000 (UTC) In-Reply-To: <1472514096-10915-3-git-send-email-john.stultz@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: John Stultz Cc: Guodong Xu , dri-devel@lists.freedesktop.org, lkml , Jose Abreu , Wolfram Sang , Mark Brown , Srinivas Kandagatla , Dave Long , Andy Green , Zhangfei Gao List-Id: dri-devel@lists.freedesktop.org SGkgSm9obiwKClRoYW5rIHlvdSBmb3IgdGhlIHBhdGNoLgoKT24gTW9uZGF5IDI5IEF1ZyAyMDE2 IDE2OjQxOjM0IEpvaG4gU3R1bHR6IHdyb3RlOgo+IFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IHRv IEF1ZGlvIGZvciBib3RoIGFkdjc1MTEgYW5kIGFkdjc1MzMKPiBicmlkZ2UgY2hpcHMuCj4gCj4g VGhpcyBwYXRjaCB3YXMgb3JpZ2luYWxseSBmcm9tIFsxXSBieSBMYXJzLVBldGVyIENsYXVzZW4g PGxhcnNAbWV0YWZvby5kZT4KPiBhbmQgd2FzIGFkYXB0ZWQgYnkgQXJjaGl0IFRhbmVqYSA8YXJj aGl0dEBjb2RlYXVyb3JhLm9yZz4gYW5kCj4gU3Jpbml2YXMgS2FuZGFnYXRsYSA8c3Jpbml2YXMu a2FuZGFnYXRsYUBsaW5hcm8ub3JnPi4KPiAKPiBUaGVuIEkgaGVhdmlseSByZXdvcmtlZCBpdCB0 byB1c2UgdGhlIGhkbWktY29kZWMgZHJpdmVyLiBTbyBjcmVkaXQKPiB0byB0aGVtLCBidXQgYmxh bWUgdG8gbWUuCj4gCj4gWzFdCj4gaHR0cHM6Ly9naXRodWIuY29tL2FuYWxvZ2RldmljZXNpbmMv bGludXgvYmxvYi94Y29tbV96eW5xL2RyaXZlcnMvZ3B1L2RybS9pCj4gMmMvYWR2NzUxMV9hdWRp by5jCj4gCj4gQ2M6IERhdmlkIEFpcmxpZSA8YWlybGllZEBsaW51eC5pZT4KPiBDYzogQXJjaGl0 IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KPiBDYzogTGF1cmVudCBQaW5jaGFydCA8 bGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgo+IENjOiBXb2xmcmFtIFNhbmcgPHdz YStyZW5lc2FzQHNhbmctZW5naW5lZXJpbmcuY29tPgo+IENjOiBTcmluaXZhcyBLYW5kYWdhdGxh IDxzcmluaXZhcy5rYW5kYWdhdGxhQGxpbmFyby5vcmc+Cj4gQ2M6ICJWaWxsZSBTeXJqw6Rsw6Qi IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBDYzogQm9yaXMgQnJlemlsbG9uIDxi b3Jpcy5icmV6aWxsb25AZnJlZS1lbGVjdHJvbnMuY29tPgo+IENjOiBBbmR5IEdyZWVuIDxhbmR5 QHdhcm1jYXQuY29tPgo+IENjOiBEYXZlIExvbmcgPGRhdmUubG9uZ0BsaW5hcm8ub3JnPgo+IENj OiBHdW9kb25nIFh1IDxndW9kb25nLnh1QGxpbmFyby5vcmc+Cj4gQ2M6IFpoYW5nZmVpIEdhbyA8 emhhbmdmZWkuZ2FvQGxpbmFyby5vcmc+Cj4gQ2M6IE1hcmsgQnJvd24gPGJyb29uaWVAa2VybmVs Lm9yZz4KPiBDYzogTGFycy1QZXRlciBDbGF1c2VuIDxsYXJzQG1ldGFmb28uZGU+Cj4gQ2M6IEpv c2UgQWJyZXUgPGpvYWJyZXVAc3lub3BzeXMuY29tPgo+IENjOiBkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gU2lnbmVkLW9mZi1ieTogSm9obiBTdHVsdHogPGpvaG4uc3R1bHR6QGxp bmFyby5vcmc+Cj4gLS0tCj4gdjI6IEludGVncmF0ZWQgZmVlZGJhY2sgZnJvbSBTcmluaXZhcwo+ IAo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvS2NvbmZpZyAgICAgICAgIHwgICAx ICsKPiAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL01ha2VmaWxlICAgICAgICB8ICAg MiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMS5oICAgICAgIHwg ICA1ICsKPiAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfYXVkaW8uYyB8 IDE5OSArKysrKysrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2 NzUxMS9hZHY3NTExX2Rydi5jICAgfCAgIDUgKwo+ICA1IGZpbGVzIGNoYW5nZWQsIDIxMSBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dw dS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9hdWRpby5jCj4gCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9LY29uZmlnCj4gYi9kcml2ZXJzL2dwdS9kcm0v YnJpZGdlL2Fkdjc1MTEvS2NvbmZpZyBpbmRleCBkMmIwNDk5Li5lMzk3NWU5IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9LY29uZmlnCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL0tjb25maWcKPiBAQCAtMyw2ICszLDcgQEAgY29uZmln IERSTV9JMkNfQURWNzUxMQo+ICAJZGVwZW5kcyBvbiBPRgo+ICAJc2VsZWN0IERSTV9LTVNfSEVM UEVSCj4gIAlzZWxlY3QgUkVHTUFQX0kyQwo+ICsJc2VsZWN0IFNORF9TT0NfSERNSV9DT0RFQyBp ZiBTTkRfU09DCgpTaG91bGRuJ3Qgc291bmQgc3VwcG9ydCBiZSBvcHRpb25hbCA/IEkgY2FuIGlt YWdpbmUgYSBib2FyZCB0aGF0IGRvZXNuJ3Qgd2lyZSAKdXAgc291bmQgdG8gdGhlIEFEVjc1MTEg YnV0IHN0aWxsIHVzZXMgU05EX1NPQyBmb3Igb3RoZXIgcHVycG9zZXMuCgo+ICAJaGVscAo+ICAJ ICBTdXBwb3J0IGZvciB0aGUgQW5hbG9nIERldmljZSBBRFY3NTExKFcpIGFuZCBBRFY3NTEzIEhE TUkgZW5jb2RlcnMuCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2 NzUxMS9NYWtlZmlsZQo+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL01ha2VmaWxl IGluZGV4IDkwMTkzMjcuLmFkNzI0NWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS9hZHY3NTExL01ha2VmaWxlCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3 NTExL01ha2VmaWxlCj4gQEAgLTEsMyArMSwzIEBACj4gLWFkdjc1MTEteSA6PSBhZHY3NTExX2Ry di5vCj4gK2Fkdjc1MTEteSA6PSBhZHY3NTExX2Rydi5vIGFkdjc1MTFfYXVkaW8ubwoKQ291bGQg d2UgYXZvaWQgY29tcGlsaW5nIGFkdjc1MTFfYXVkaW8ubyBpZiBzb3VuZCBzdXBwb3J0IGlzbid0 IGRlc2lyZWQgdG8gCmF2b2lkIGJsb2F0aW5nIHRoZSBrZXJuZWwgPwoKPiAgYWR2NzUxMS0kKENP TkZJR19EUk1fSTJDX0FEVjc1MzMpICs9IGFkdjc1MzMubwo+ICBvYmotJChDT05GSUdfRFJNX0ky Q19BRFY3NTExKSArPSBhZHY3NTExLm8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS9hZHY3NTExL2Fkdjc1MTEuaAo+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTEx L2Fkdjc1MTEuaCBpbmRleCBjNzAwMmEwLi4yZTRkMzQwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v YnJpZGdlL2Fkdjc1MTEvYWR2NzUxMS5oCj4gQEAgLTIzLDYgKzIzLDggQEAgc3RydWN0IGFkdjc1 MTE7Cj4gCj4gIGludCBhZHY3NTExX3BhY2tldF9lbmFibGUoc3RydWN0IGFkdjc1MTEgKmFkdjc1 MTEsIHVuc2lnbmVkIGludCBwYWNrZXQpOwo+ICBpbnQgYWR2NzUxMV9wYWNrZXRfZGlzYWJsZShz dHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSwgdW5zaWduZWQgaW50IHBhY2tldCk7Cj4gK2ludCBhZHY3 NTExX2F1ZGlvX2luaXQoc3RydWN0IGRldmljZSAqZGV2KTsKPiArdm9pZCBhZHY3NTExX2F1ZGlv X2V4aXQoc3RydWN0IGRldmljZSAqZGV2KTsKPiAKPiAgI2RlZmluZSBBRFY3NTExX1JFR19DSElQ X1JFVklTSU9OCQkweDAwCj4gICNkZWZpbmUgQURWNzUxMV9SRUdfTjAJCQkJMHgwMQo+IEBAIC0z MTcsNiArMzE5LDggQEAgc3RydWN0IGFkdjc1MTEgewo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgY3Vycl9tb2RlOwo+IAo+ICAJdW5zaWduZWQgaW50IGZfdG1kczsKPiArCXVuc2lnbmVkIGlu dCBmX2F1ZGlvOwo+ICsJdW5zaWduZWQgaW50IGF1ZGlvX3NvdXJjZTsKPiAKPiAgCXVuc2lnbmVk IGludCBjdXJyZW50X2VkaWRfc2VnbWVudDsKPiAgCXVpbnQ4X3QgZWRpZF9idWZbMjU2XTsKPiBA QCAtMzQyLDYgKzM0Niw3IEBAIHN0cnVjdCBhZHY3NTExIHsKPiAgCWJvb2wgdXNlX3RpbWluZ19n ZW47Cj4gCj4gIAllbnVtIGFkdjc1MTFfdHlwZSB0eXBlOwo+ICsJc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqYXVkaW9fcGRldjsKPiAgfTsKPiAKPiAgI2lmZGVmIENPTkZJR19EUk1fSTJDX0FEVjc1 MzMKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFf YXVkaW8uYwo+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfYXVkaW8u YyBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjBlMGVhNmIKPiAtLS0gL2Rl di9udWxsCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfYXVk aW8uYwo+IEBAIC0wLDAgKzEsMTk5IEBACj4gKy8qCj4gKyAqIEFuYWxvZyBEZXZpY2VzIEFEVjc1 MTEgSERNSSB0cmFuc21pdHRlciBkcml2ZXIKPiArICoKPiArICogQ29weXJpZ2h0IDIwMTIgQW5h bG9nIERldmljZXMgSW5jLgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIExpbmFybyBMaW1pdGVk Cj4gKyAqCj4gKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBHUEwtMi4KPiArICovCj4gKwo+ICsjaW5j bHVkZSA8c291bmQvY29yZS5oPgo+ICsjaW5jbHVkZSA8c291bmQvaGRtaS1jb2RlYy5oPgo+ICsj aW5jbHVkZSA8c291bmQvcGNtLmg+Cj4gKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KPiArCj4gKyNp bmNsdWRlICJhZHY3NTExLmgiCj4gKwo+ICtzdGF0aWMgdm9pZCBhZHY3NTExX2NhbGNfY3RzX24o dW5zaWduZWQgaW50IGZfdG1kcywgdW5zaWduZWQgaW50IGZzLAo+ICsJCQkgICAgICAgdW5zaWdu ZWQgaW50ICpjdHMsIHVuc2lnbmVkIGludCAqbikKPiArewo+ICsJc3dpdGNoIChmcykgewo+ICsJ Y2FzZSAzMjAwMDoKPiArCQkqbiA9IDQwOTY7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIDQ0MTAwOgo+ ICsJCSpuID0gNjI3MjsKPiArCQlicmVhazsKPiArCWNhc2UgNDgwMDA6Cj4gKwkJKm4gPSA2MTQ0 Owo+ICsJCWJyZWFrOwo+ICsJfQo+ICsKPiArCSpjdHMgPSAoKGZfdG1kcyAqICpuKSAvICgxMjgg KiBmcykpICogMTAwMDsKPiArfQo+ICsKPiArc3RhdGljIGludCBhZHY3NTExX3VwZGF0ZV9jdHNf bihzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSkKPiArewo+ICsJdW5zaWduZWQgaW50IGN0cyA9IDA7 Cj4gKwl1bnNpZ25lZCBpbnQgbiA9IDA7Cj4gKwo+ICsJYWR2NzUxMV9jYWxjX2N0c19uKGFkdjc1 MTEtPmZfdG1kcywgYWR2NzUxMS0+Zl9hdWRpbywgJmN0cywgJm4pOwo+ICsKPiArCXJlZ21hcF93 cml0ZShhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX04wLCAobiA+PiAxNikgJiAweGYpOwo+ ICsJcmVnbWFwX3dyaXRlKGFkdjc1MTEtPnJlZ21hcCwgQURWNzUxMV9SRUdfTjEsIChuID4+IDgp ICYgMHhmZik7Cj4gKwlyZWdtYXBfd3JpdGUoYWR2NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JFR19O MiwgbiAmIDB4ZmYpOwo+ICsKPiArCXJlZ21hcF93cml0ZShhZHY3NTExLT5yZWdtYXAsIEFEVjc1 MTFfUkVHX0NUU19NQU5VQUwwLAo+ICsJCSAgICAgKGN0cyA+PiAxNikgJiAweGYpOwo+ICsJcmVn bWFwX3dyaXRlKGFkdjc1MTEtPnJlZ21hcCwgQURWNzUxMV9SRUdfQ1RTX01BTlVBTDEsCj4gKwkJ ICAgICAoY3RzID4+IDgpICYgMHhmZik7Cj4gKwlyZWdtYXBfd3JpdGUoYWR2NzUxMS0+cmVnbWFw LCBBRFY3NTExX1JFR19DVFNfTUFOVUFMMiwKPiArCQkgICAgIGN0cyAmIDB4ZmYpOwo+ICsKPiAr CXJldHVybiAwOwo+ICt9Cj4gKwo+ICtpbnQgYWR2NzUxMV9oZG1pX2h3X3BhcmFtcyhzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gKwkJCQlzdHJ1Y3QgaGRtaV9jb2RlY19kYWlmbXQg KmZtdCwKPiArCQkJCXN0cnVjdCBoZG1pX2NvZGVjX3BhcmFtcyAqaHBhcm1zKQo+ICt7Cj4gKwlz dHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+ICsJdW5zaWdu ZWQgaW50IGF1ZGlvX3NvdXJjZSwgaTJzX2Zvcm1hdCA9IDA7Cj4gKwl1bnNpZ25lZCBpbnQgaW52 ZXJ0X2Nsb2NrOwo+ICsJdW5zaWduZWQgaW50IHJhdGU7Cj4gKwl1bnNpZ25lZCBpbnQgbGVuOwo+ ICsKPiArCXN3aXRjaCAoaHBhcm1zLT5zYW1wbGVfcmF0ZSkgewo+ICsJY2FzZSAzMjAwMDoKPiAr CQlyYXRlID0gQURWNzUxMV9TQU1QTEVfRlJFUV8zMjAwMDsKPiArCQlicmVhazsKPiArCWNhc2Ug NDQxMDA6Cj4gKwkJcmF0ZSA9IEFEVjc1MTFfU0FNUExFX0ZSRVFfNDQxMDA7Cj4gKwkJYnJlYWs7 Cj4gKwljYXNlIDQ4MDAwOgo+ICsJCXJhdGUgPSBBRFY3NTExX1NBTVBMRV9GUkVRXzQ4MDAwOwo+ ICsJCWJyZWFrOwo+ICsJY2FzZSA4ODIwMDoKPiArCQlyYXRlID0gQURWNzUxMV9TQU1QTEVfRlJF UV84ODIwMDsKPiArCQlicmVhazsKPiArCWNhc2UgOTYwMDA6Cj4gKwkJcmF0ZSA9IEFEVjc1MTFf U0FNUExFX0ZSRVFfOTYwMDA7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIDE3NjQwMDoKPiArCQlyYXRl ID0gQURWNzUxMV9TQU1QTEVfRlJFUV8xNzY0MDA7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIDE5MjAw MDoKPiArCQlyYXRlID0gQURWNzUxMV9TQU1QTEVfRlJFUV8xOTIwMDA7Cj4gKwkJYnJlYWs7Cj4g KwlkZWZhdWx0Ogo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsJfQo+ICsKPiArCXN3aXRjaCAoaHBh cm1zLT5zYW1wbGVfd2lkdGgpIHsKPiArCWNhc2UgMTY6Cj4gKwkJbGVuID0gQURWNzUxMV9JMlNf U0FNUExFX0xFTl8xNjsKPiArCQlicmVhazsKPiArCWNhc2UgMTg6Cj4gKwkJbGVuID0gQURWNzUx MV9JMlNfU0FNUExFX0xFTl8xODsKPiArCQlicmVhazsKPiArCWNhc2UgMjA6Cj4gKwkJbGVuID0g QURWNzUxMV9JMlNfU0FNUExFX0xFTl8yMDsKPiArCQlicmVhazsKPiArCWNhc2UgMjQ6Cj4gKwkJ bGVuID0gQURWNzUxMV9JMlNfU0FNUExFX0xFTl8yNDsKPiArCQlicmVhazsKPiArCWRlZmF1bHQ6 Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJc3dpdGNoIChmbXQtPmZtdCkgewo+ ICsJY2FzZSBIRE1JX0kyUzoKPiArCQlhdWRpb19zb3VyY2UgPSBBRFY3NTExX0FVRElPX1NPVVJD RV9JMlM7Cj4gKwkJaTJzX2Zvcm1hdCA9IEFEVjc1MTFfSTJTX0ZPUk1BVF9JMlM7Cj4gKwkJYnJl YWs7Cj4gKwljYXNlIEhETUlfUklHSFRfSjoKPiArCQlhdWRpb19zb3VyY2UgPSBBRFY3NTExX0FV RElPX1NPVVJDRV9JMlM7Cj4gKwkJaTJzX2Zvcm1hdCA9IEFEVjc1MTFfSTJTX0ZPUk1BVF9SSUdI VF9KOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBIRE1JX0xFRlRfSjoKPiArCQlhdWRpb19zb3VyY2Ug PSBBRFY3NTExX0FVRElPX1NPVVJDRV9JMlM7Cj4gKwkJaTJzX2Zvcm1hdCA9IEFEVjc1MTFfSTJT X0ZPUk1BVF9MRUZUX0o7Cj4gKwkJYnJlYWs7Cj4gKy8vCWNhc2UgSERNSV9TUERJRjoKPiArLy8J CWF1ZGlvX3NvdXJjZSA9IEFEVjc1MTFfQVVESU9fU09VUkNFX1NQRElGOwo+ICsvLwkJYnJlYWs7 CgpObyBjb21tZW50ZWQgb3V0IGNvZGUgcGxlYXNlLgoKPiArCWRlZmF1bHQ6Cj4gKwkJcmV0dXJu IC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJaW52ZXJ0X2Nsb2NrID0gZm10LT5iaXRfY2xrX2ludjsK PiArCj4gKwlyZWdtYXBfdXBkYXRlX2JpdHMoYWR2NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JFR19B VURJT19TT1VSQ0UsIDB4NzAsCj4gKwkJCSAgIGF1ZGlvX3NvdXJjZSA8PCA0KTsKPiArCXJlZ21h cF91cGRhdGVfYml0cyhhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX0FVRElPX0NPTkZJRywg QklUKDYpLAo+ICsJCQkgICBpbnZlcnRfY2xvY2sgPDwgNik7Cj4gKwlyZWdtYXBfdXBkYXRlX2Jp dHMoYWR2NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JFR19JMlNfQ09ORklHLCAweDAzLAo+ICsJCQkg ICBpMnNfZm9ybWF0KTsKPiArCj4gKwlhZHY3NTExLT5hdWRpb19zb3VyY2UgPSBhdWRpb19zb3Vy Y2U7Cj4gKwo+ICsJYWR2NzUxMS0+Zl9hdWRpbyA9IGhwYXJtcy0+c2FtcGxlX3JhdGU7Cj4gKwo+ ICsJYWR2NzUxMV91cGRhdGVfY3RzX24oYWR2NzUxMSk7Cj4gKwo+ICsJcmVnbWFwX3VwZGF0ZV9i aXRzKGFkdjc1MTEtPnJlZ21hcCwgQURWNzUxMV9SRUdfQVVESU9fQ0ZHMywKPiArCQkJICAgQURW NzUxMV9BVURJT19DRkczX0xFTl9NQVNLLCBsZW4pOwo+ICsJcmVnbWFwX3VwZGF0ZV9iaXRzKGFk djc1MTEtPnJlZ21hcCwgQURWNzUxMV9SRUdfSTJDX0ZSRVFfSURfQ0ZHLAo+ICsJCQkgICBBRFY3 NTExX0kyQ19GUkVRX0lEX0NGR19SQVRFX01BU0ssIHJhdGUgPDwgNCk7Cj4gKwlyZWdtYXBfd3Jp dGUoYWR2NzUxMS0+cmVnbWFwLCAweDczLCAweDEpOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgaW50IGF1ZGlvX3N0YXJ0dXAoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpk YXRhKQo+ICt7Cj4gKwlzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSA9IGRldl9nZXRfZHJ2ZGF0YShk ZXYpOwo+ICsKPiArCXJlZ21hcF91cGRhdGVfYml0cyhhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFf UkVHX0FVRElPX0NPTkZJRywKPiArCQkJCUJJVCg3KSwgMCk7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ ICsKPiArc3RhdGljIHZvaWQgYXVkaW9fc2h1dGRvd24oc3RydWN0IGRldmljZSAqZGV2LCB2b2lk ICpkYXRhKQo+ICt7Cj4gKwoKTm8gbmVlZCBmb3IgYSBibGFuayBsaW5lLgoKPiArfQo+ICsKPiAr c3RhdGljIGNvbnN0IHN0cnVjdCBoZG1pX2NvZGVjX29wcyBhZHY3NTExX2NvZGVjX29wcyA9IHsK PiArCS5od19wYXJhbXMJPSBhZHY3NTExX2hkbWlfaHdfcGFyYW1zLAo+ICsJLmF1ZGlvX3NodXRk b3duID0gYXVkaW9fc2h1dGRvd24sCj4gKwkuYXVkaW9fc3RhcnR1cAk9IGF1ZGlvX3N0YXJ0dXAs Cj4gK307Cj4gKwo+ICtzdGF0aWMgc3RydWN0IGhkbWlfY29kZWNfcGRhdGEgY29kZWNfZGF0YSA9 IHsKPiArCS5vcHMgPSAmYWR2NzUxMV9jb2RlY19vcHMsCj4gKwkubWF4X2kyc19jaGFubmVscyA9 IDIsCj4gKwkuaTJzID0gMSwKPiArfTsKPiArCj4gK2ludCBhZHY3NTExX2F1ZGlvX2luaXQoc3Ry dWN0IGRldmljZSAqZGV2KQo+ICt7Cj4gKwlzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSA9IGRldl9n ZXRfZHJ2ZGF0YShkZXYpOwoKV2h5IGRvbid0IHlvdSBwYXNzIHRoZSBzdHJ1Y3QgYWR2NzUxMSBw b2ludGVyIGRpcmVjdGx5IHRvIHRoaXMgZnVuY3Rpb24gPwoKPiArCWFkdjc1MTEtPmF1ZGlvX3Bk ZXYgPSBwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXJfZGF0YShkZXYsCj4gKwkJCQkJSERNSV9DT0RF Q19EUlZfTkFNRSwKPiArCQkJCQlQTEFURk9STV9ERVZJRF9BVVRPLAo+ICsJCQkJCSZjb2RlY19k YXRhLAo+ICsJCQkJCXNpemVvZihjb2RlY19kYXRhKSk7Cj4gKwlyZXR1cm4gUFRSX0VSUl9PUl9a RVJPKGFkdjc1MTEtPmF1ZGlvX3BkZXYpOwo+ICt9Cj4gKwo+ICt2b2lkIGFkdjc1MTFfYXVkaW9f ZXhpdChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gK3sKPiArCXN0cnVjdCBhZHY3NTExICphZHY3NTEx ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CgpTYW1lIGhlcmUuCgo+ICsKPiArCWlmIChhZHY3NTEx LT5hdWRpb19wZGV2KSB7Cj4gKwkJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIoYWR2NzUxMS0+ YXVkaW9fcGRldik7Cj4gKwkJYWR2NzUxMS0+YXVkaW9fcGRldiA9IE5VTEw7Cj4gKwl9Cj4gK30K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2 LmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Rydi5jIGluZGV4 IGY4ZWI3ZjguLjM3NTY5OTQKPiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L2Fkdjc1MTEvYWR2NzUxMV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2 NzUxMS9hZHY3NTExX2Rydi5jCj4gQEAgLTEwMzcsNiArMTAzNyw5IEBAIHN0YXRpYyBpbnQgYWR2 NzUxMV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjLCBjb25zdAo+IHN0cnVjdCBpMmNfZGV2 aWNlX2lkICppZCkgZ290byBlcnJfdW5yZWdpc3Rlcl9jZWM7Cj4gIAl9Cj4gCj4gKwlkZXZfc2V0 X2RydmRhdGEoZGV2LCBhZHY3NTExKTsKClRoaXMgaXMgYWxyZWFkeSBoYW5kbGVkIGJ5IHRoZSBp MmNfc2V0X2NsaWVudGRhdGEoKSBjYWxsIGVhcmxpZXIgaW4gdGhpcyAKZnVuY3Rpb24uCgo+ICsJ YWR2NzUxMV9hdWRpb19pbml0KGRldik7Cj4gKwo+ICAJcmV0dXJuIDA7Cj4gCj4gIGVycl91bnJl Z2lzdGVyX2NlYzoKPiBAQCAtMTA1OCw2ICsxMDYxLDggQEAgc3RhdGljIGludCBhZHY3NTExX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+IAo+ICAJZHJtX2JyaWRnZV9yZW1vdmUoJmFk djc1MTEtPmJyaWRnZSk7Cj4gCj4gKwlhZHY3NTExX2F1ZGlvX2V4aXQoJmkyYy0+ZGV2KTsKPiAr Cj4gIAlpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoYWR2NzUxMS0+aTJjX2VkaWQpOwo+IAo+ICAJa2Zy ZWUoYWR2NzUxMS0+ZWRpZCk7CgotLSAKUmVnYXJkcywKCkxhdXJlbnQgUGluY2hhcnQKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=