From mboxrd@z Thu Jan 1 00:00:00 1970 From: CK Hu Subject: Re: [PATCH 06/18] drm/mediatek: add mmsys private data for ddp path config Date: Wed, 26 Dec 2018 14:01:29 +0800 Message-ID: <1545804089.14496.30.camel@mtksdaap41> References: <1545638931-24938-1-git-send-email-yongqiang.niu@mediatek.com> <1545638931-24938-7-git-send-email-yongqiang.niu@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1545638931-24938-7-git-send-email-yongqiang.niu@mediatek.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Yongqiang Niu Cc: Mark Rutland , devicetree@vger.kernel.org, David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Rob Herring , linux-mediatek@lists.infradead.org, Matthias Brugger , linux-arm-kernel@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org SGksIFlvbmdxaWFuZzoKCk9uIE1vbiwgMjAxOC0xMi0yNCBhdCAxNjowOCArMDgwMCwgWW9uZ3Fp YW5nIE5pdSB3cm90ZToKPiBUaGlzIHBhdGNoIGFkZCBtbXN5cyBwcml2YXRlIGRhdGEgZm9yIGRk cCBwYXRoIGNvbmZpZwoKRGVzY3JpYmUgV0hZIGRvIHRoaXMuCgo+IAo+IFNpZ25lZC1vZmYtYnk6 IFlvbmdxaWFuZyBOaXUgPHlvbmdxaWFuZy5uaXVAbWVkaWF0ZWsuY29tPgo+IC0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMgfCAgIDQgKysKPiAgZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMgIHwgMTAyICsrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5oICB8 ICAxMCArKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jICB8ICAx MSArKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oICB8ICAgNCAr Kwo+ICA1IGZpbGVzIGNoYW5nZWQsIDExMiBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkK PiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5j IGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jCj4gaW5kZXggOTJlY2I5 Yi4uYTVhZjRiZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Ry bV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMK PiBAQCAtNTAsNiArNTAsNyBAQCBzdHJ1Y3QgbXRrX2RybV9jcnRjIHsKPiAgCWJvb2wJCQkJcGVu ZGluZ19wbGFuZXM7Cj4gIAo+ICAJdm9pZCBfX2lvbWVtCQkJKmNvbmZpZ19yZWdzOwo+ICsJY29u c3Qgc3RydWN0IG10a19tbXN5c19yZWdfZGF0YSAqbW1zeXNfcmVnX2RhdGE7Cj4gIAlzdHJ1Y3Qg bXRrX2Rpc3BfbXV0ZXgJCSptdXRleDsKPiAgCXVuc2lnbmVkIGludAkJCWRkcF9jb21wX25yOwo+ ICAJc3RydWN0IG10a19kZHBfY29tcAkJKipkZHBfY29tcDsKPiBAQCAtMjcxLDYgKzI3Miw3IEBA IHN0YXRpYyBpbnQgbXRrX2NydGNfZGRwX2h3X2luaXQoc3RydWN0IG10a19kcm1fY3J0YyAqbXRr X2NydGMpCj4gIAlEUk1fREVCVUdfRFJJVkVSKCJtZWRpYXRla19kZHBfZGRwX3BhdGhfc2V0dXBc biIpOwo+ICAJZm9yIChpID0gMDsgaSA8IG10a19jcnRjLT5kZHBfY29tcF9uciAtIDE7IGkrKykg ewo+ICAJCW10a19kZHBfYWRkX2NvbXBfdG9fcGF0aChtdGtfY3J0Yy0+Y29uZmlnX3JlZ3MsCj4g KwkJCQkJIG10a19jcnRjLT5tbXN5c19yZWdfZGF0YSwKPiAgCQkJCQkgbXRrX2NydGMtPmRkcF9j b21wW2ldLT5pZCwKPiAgCQkJCQkgbXRrX2NydGMtPmRkcF9jb21wW2kgKyAxXS0+aWQpOwo+ICAJ CW10a19kaXNwX211dGV4X2FkZF9jb21wKG10a19jcnRjLT5tdXRleCwKPiBAQCAtMzE5LDYgKzMy MSw3IEBAIHN0YXRpYyB2b2lkIG10a19jcnRjX2RkcF9od19maW5pKHN0cnVjdCBtdGtfZHJtX2Ny dGMgKm10a19jcnRjKQo+ICAJbXRrX2Rpc3BfbXV0ZXhfZGlzYWJsZShtdGtfY3J0Yy0+bXV0ZXgp Owo+ICAJZm9yIChpID0gMDsgaSA8IG10a19jcnRjLT5kZHBfY29tcF9uciAtIDE7IGkrKykgewo+ ICAJCW10a19kZHBfcmVtb3ZlX2NvbXBfZnJvbV9wYXRoKG10a19jcnRjLT5jb25maWdfcmVncywK PiArCQkJCQkgICAgICBtdGtfY3J0Yy0+bW1zeXNfcmVnX2RhdGEsCj4gIAkJCQkJICAgICAgbXRr X2NydGMtPmRkcF9jb21wW2ldLT5pZCwKPiAgCQkJCQkgICAgICBtdGtfY3J0Yy0+ZGRwX2NvbXBb aSArIDFdLT5pZCk7Cj4gIAkJbXRrX2Rpc3BfbXV0ZXhfcmVtb3ZlX2NvbXAobXRrX2NydGMtPm11 dGV4LAo+IEBAIC01NjEsNiArNTY0LDcgQEAgaW50IG10a19kcm1fY3J0Y19jcmVhdGUoc3RydWN0 IGRybV9kZXZpY2UgKmRybV9kZXYsCj4gIAkJcmV0dXJuIC1FTk9NRU07Cj4gIAo+ICAJbXRrX2Ny dGMtPmNvbmZpZ19yZWdzID0gcHJpdi0+Y29uZmlnX3JlZ3M7Cj4gKwltdGtfY3J0Yy0+bW1zeXNf cmVnX2RhdGEgPSBwcml2LT5yZWdfZGF0YTsKPiAgCW10a19jcnRjLT5kZHBfY29tcF9uciA9IHBh dGhfbGVuOwo+ICAJbXRrX2NydGMtPmRkcF9jb21wID0gZGV2bV9rbWFsbG9jX2FycmF5KGRldiwg bXRrX2NydGMtPmRkcF9jb21wX25yLAo+ICAJCQkJCQlzaXplb2YoKm10a19jcnRjLT5kZHBfY29t cCksCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5j IGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMKPiBpbmRleCA2MGNmZGU3 Li40YmUzYzExIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2RkcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMKPiBA QCAtMTQ1LDYgKzE0NSwxNyBAQAo+ICAjZGVmaW5lIERQSV9TRUxfSU5fQkxTCQkJMHgwCj4gICNk ZWZpbmUgRFNJX1NFTF9JTl9SRE1BCQkJMHgxCj4gIAo+ICsjZGVmaW5lIERJU1BfUkVHX09WTDBf TU9VVF9FTihkYXRhKQkJKChkYXRhKS0+b3ZsMF9tb3V0X2VuKQo+ICsjZGVmaW5lIERJU1BfUkVH X0RQSTBfU0VMX0lOKGRhdGEpCQkoKGRhdGEpLT5kcGkwX3NlbF9pbikKPiArI2RlZmluZSBESVNQ X1JFR19EUEkwX1NFTF9JTl9SRE1BMShkYXRhKQkoKGRhdGEpLT5kcGkwX3NlbF9pbl9yZG1hMSkK PiArI2RlZmluZSBESVNQX1JFR19EU0kwX1NFTF9JTihkYXRhKQkJKChkYXRhKS0+ZHNpMF9zZWxf aW4pCj4gKyNkZWZpbmUgRElTUF9SRUdfRFNJMF9TRUxfSU5fUkRNQTEoZGF0YSkJKChkYXRhKS0+ ZHNpMF9zZWxfaW5fcmRtYTEpCj4gKyNkZWZpbmUgRElTUF9SRUdfUkRNQTBfU09VVF9TRUxfSU4o ZGF0YSkJKChkYXRhKS0+cmRtYTBfc291dF9zZWxfaW4pCj4gKyNkZWZpbmUgRElTUF9SRUdfUkRN QTBfU09VVF9DT0xPUjAoZGF0YSkJKChkYXRhKS0+cmRtYTBfc291dF9jb2xvcjApCj4gKyNkZWZp bmUgRElTUF9SRUdfUkRNQTFfU09VVF9TRUxfSU4oZGF0YSkJKChkYXRhKS0+cmRtYTFfc291dF9z ZWxfaW4pCj4gKyNkZWZpbmUgRElTUF9SRUdfUkRNQTFfU09VVF9EUEkwKGRhdGEpCQkoKGRhdGEp LT5yZG1hMV9zb3V0X2RwaTApCj4gKyNkZWZpbmUgRElTUF9SRUdfUkRNQTFfU09VVF9EU0kwKGRh dGEpCQkoKGRhdGEpLT5yZG1hMV9zb3V0X2RzaTApCj4gKwo+ICBzdHJ1Y3QgbXRrX2Rpc3BfbXV0 ZXggewo+ICAJaW50IGlkOwo+ICAJYm9vbCBjbGFpbWVkOwo+IEBAIC0xNzYsNiArMTg3LDE5IEBA IHN0cnVjdCBtdGtfZGRwIHsKPiAgCWNvbnN0IHN0cnVjdCBtdGtfZGRwX2RhdGEJKmRhdGE7Cj4g IH07Cj4gIAo+ICtzdHJ1Y3QgbXRrX21tc3lzX3JlZ19kYXRhIHsKPiArCXVuc2lnbmVkIGludCBv dmwwX21vdXRfZW47Cj4gKwl1bnNpZ25lZCBpbnQgcmRtYTBfc291dF9zZWxfaW47Cj4gKwl1bnNp Z25lZCBpbnQgcmRtYTBfc291dF9jb2xvcjA7Cj4gKwl1bnNpZ25lZCBpbnQgcmRtYTFfc291dF9z ZWxfaW47Cj4gKwl1bnNpZ25lZCBpbnQgcmRtYTFfc291dF9kcGkwOwo+ICsJdW5zaWduZWQgaW50 IHJkbWExX3NvdXRfZHNpMDsKPiArCXVuc2lnbmVkIGludCBkcGkwX3NlbF9pbjsKPiArCXVuc2ln bmVkIGludCBkcGkwX3NlbF9pbl9yZG1hMTsKPiArCXVuc2lnbmVkIGludCBkc2kwX3NlbF9pbjsK PiArCXVuc2lnbmVkIGludCBkc2kwX3NlbF9pbl9yZG1hMTsKCkkgd291bGQgbGlrZSB1c2UgJ3Uz MicgZm9yIHRoZXNlIHZhcmlhYmxlcy4KCj4gK307Cj4gKwo+ICBzdGF0aWMgY29uc3QgdW5zaWdu ZWQgaW50IG10MjcwMV9tdXRleF9tb2RbRERQX0NPTVBPTkVOVF9JRF9NQVhdID0gewo+ICAJW0RE UF9DT01QT05FTlRfQkxTXSA9IE1UMjcwMV9NVVRFWF9NT0RfRElTUF9CTFMsCj4gIAlbRERQX0NP TVBPTkVOVF9DT0xPUjBdID0gTVQyNzAxX01VVEVYX01PRF9ESVNQX0NPTE9SLAo+IEBAIC0yNjgs MTcgKzI5MiwzNCBAQCBzdHJ1Y3QgbXRrX2RkcCB7Cj4gIAkubXV0ZXhfc29mX3JlZyA9IE1UMjcw MV9ESVNQX01VVEVYMF9TT0YwLAo+ICB9Owo+ICAKPiAtc3RhdGljIHVuc2lnbmVkIGludCBtdGtf ZGRwX21vdXRfZW4oZW51bSBtdGtfZGRwX2NvbXBfaWQgY3VyLAo+ICtjb25zdCBzdHJ1Y3QgbXRr X21tc3lzX3JlZ19kYXRhIG10MjcwMV9tbXN5c19yZWdfZGF0YSA9IHsKPiArCS5vdmwwX21vdXRf ZW4gPSBESVNQX1JFR19DT05GSUdfRElTUF9PVkxfTU9VVF9FTiwKPiArCS5kc2kwX3NlbF9pbiA9 IERJU1BfUkVHX0NPTkZJR19EU0lfU0VMLAo+ICsJLmRzaTBfc2VsX2luX3JkbWExID0gRFNJX1NF TF9JTl9SRE1BLAo+ICt9Owo+ICsKPiArY29uc3Qgc3RydWN0IG10a19tbXN5c19yZWdfZGF0YSBt dDgxNzNfbW1zeXNfcmVnX2RhdGEgPSB7Cj4gKwkub3ZsMF9tb3V0X2VuID0gRElTUF9SRUdfQ09O RklHX0RJU1BfT1ZMMF9NT1VUX0VOLAo+ICsJLnJkbWExX3NvdXRfc2VsX2luID0gRElTUF9SRUdf Q09ORklHX0RJU1BfUkRNQTFfU09VVF9FTiwKPiArCS5yZG1hMV9zb3V0X2RwaTAgPSBSRE1BMV9T T1VUX0RQSTAsCj4gKwkuZHBpMF9zZWxfaW4gPSBESVNQX1JFR19DT05GSUdfRFBJX1NFTF9JTiwK PiArCS5kcGkwX3NlbF9pbl9yZG1hMSA9IERQSTBfU0VMX0lOX1JETUExLAo+ICsJLmRzaTBfc2Vs X2luID0gRElTUF9SRUdfQ09ORklHX0RTSUVfU0VMX0lOLAo+ICsJLmRzaTBfc2VsX2luX3JkbWEx ID0gRFNJMF9TRUxfSU5fUkRNQTEsCj4gK307Cj4gKwo+ICtzdGF0aWMgdW5zaWduZWQgaW50IG10 a19kZHBfbW91dF9lbihjb25zdCBzdHJ1Y3QgbXRrX21tc3lzX3JlZ19kYXRhICpkYXRhLAo+ICsJ CQkJICAgIGVudW0gbXRrX2RkcF9jb21wX2lkIGN1ciwKPiAgCQkJCSAgICBlbnVtIG10a19kZHBf Y29tcF9pZCBuZXh0LAo+ICAJCQkJICAgIHVuc2lnbmVkIGludCAqYWRkcikKPiAgewo+ICAJdW5z aWduZWQgaW50IHZhbHVlOwo+ICAKPiAgCWlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9PVkwwICYm IG5leHQgPT0gRERQX0NPTVBPTkVOVF9DT0xPUjApIHsKPiAtCQkqYWRkciA9IERJU1BfUkVHX0NP TkZJR19ESVNQX09WTDBfTU9VVF9FTjsKPiArCQkqYWRkciA9IERJU1BfUkVHX09WTDBfTU9VVF9F TihkYXRhKTsKPiAgCQl2YWx1ZSA9IE9WTDBfTU9VVF9FTl9DT0xPUjA7Cj4gIAl9IGVsc2UgaWYg KGN1ciA9PSBERFBfQ09NUE9ORU5UX09WTDAgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX1JETUEw KSB7Cj4gLQkJKmFkZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9PVkxfTU9VVF9FTjsKPiArCQkq YWRkciA9IERJU1BfUkVHX09WTDBfTU9VVF9FTihkYXRhKTsKPiAgCQl2YWx1ZSA9IE9WTF9NT1VU X0VOX1JETUE7Cj4gIAl9IGVsc2UgaWYgKGN1ciA9PSBERFBfQ09NUE9ORU5UX09EMCAmJiBuZXh0 ID09IEREUF9DT01QT05FTlRfUkRNQTApIHsKPiAgCQkqYWRkciA9IERJU1BfUkVHX0NPTkZJR19E SVNQX09EX01PVVRfRU47Cj4gQEAgLTMwMiw3ICszNDMsOCBAQCBzdGF0aWMgdW5zaWduZWQgaW50 IG10a19kZHBfbW91dF9lbihlbnVtIG10a19kZHBfY29tcF9pZCBjdXIsCj4gIAlyZXR1cm4gdmFs dWU7Cj4gIH0KPiAgCj4gLXN0YXRpYyB1bnNpZ25lZCBpbnQgbXRrX2RkcF9zZWxfaW4oZW51bSBt dGtfZGRwX2NvbXBfaWQgY3VyLAo+ICtzdGF0aWMgdW5zaWduZWQgaW50IG10a19kZHBfc2VsX2lu KGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNfcmVnX2RhdGEgKmRhdGEsCj4gKwkJCQkgICBlbnVtIG10 a19kZHBfY29tcF9pZCBjdXIsCj4gIAkJCQkgICBlbnVtIG10a19kZHBfY29tcF9pZCBuZXh0LAo+ ICAJCQkJICAgdW5zaWduZWQgaW50ICphZGRyKQo+ICB7Cj4gQEAgLTMxMiwxNCArMzU0LDE0IEBA IHN0YXRpYyB1bnNpZ25lZCBpbnQgbXRrX2RkcF9zZWxfaW4oZW51bSBtdGtfZGRwX2NvbXBfaWQg Y3VyLAo+ICAJCSphZGRyID0gRElTUF9SRUdfQ09ORklHX0RJU1BfQ09MT1IwX1NFTF9JTjsKPiAg CQl2YWx1ZSA9IENPTE9SMF9TRUxfSU5fT1ZMMDsKPiAgCX0gZWxzZSBpZiAoY3VyID09IEREUF9D T01QT05FTlRfUkRNQTEgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RQSTApIHsKPiAtCQkqYWRk ciA9IERJU1BfUkVHX0NPTkZJR19EUElfU0VMX0lOOwo+IC0JCXZhbHVlID0gRFBJMF9TRUxfSU5f UkRNQTE7Cj4gKwkJKmFkZHIgPSBESVNQX1JFR19EUEkwX1NFTF9JTihkYXRhKTsKPiArCQl2YWx1 ZSA9IERJU1BfUkVHX0RQSTBfU0VMX0lOX1JETUExKGRhdGEpOwo+ICAJfSBlbHNlIGlmIChjdXIg PT0gRERQX0NPTVBPTkVOVF9SRE1BMSAmJiBuZXh0ID09IEREUF9DT01QT05FTlRfRFBJMSkgewo+ ICAJCSphZGRyID0gRElTUF9SRUdfQ09ORklHX0RQSV9TRUxfSU47Cj4gIAkJdmFsdWUgPSBEUEkx X1NFTF9JTl9SRE1BMTsKPiAgCX0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfUkRNQTEg JiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RTSTApIHsKPiAtCQkqYWRkciA9IERJU1BfUkVHX0NP TkZJR19EU0lFX1NFTF9JTjsKPiAtCQl2YWx1ZSA9IERTSTBfU0VMX0lOX1JETUExOwo+ICsJCSph ZGRyID0gRElTUF9SRUdfRFNJMF9TRUxfSU4oZGF0YSk7Cj4gKwkJdmFsdWUgPSBESVNQX1JFR19E U0kwX1NFTF9JTl9SRE1BMShkYXRhKTsKPiAgCX0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05F TlRfUkRNQTEgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RTSTEpIHsKPiAgCQkqYWRkciA9IERJ U1BfUkVHX0NPTkZJR19EU0lPX1NFTF9JTjsKPiAgCQl2YWx1ZSA9IERTSTFfU0VMX0lOX1JETUEx Owo+IEBAIC0zNjAsNyArNDAyLDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCBtdGtfZGRwX3NlbF9p bihlbnVtIG10a19kZHBfY29tcF9pZCBjdXIsCj4gIAlyZXR1cm4gdmFsdWU7Cj4gIH0KPiAgCj4g LXN0YXRpYyB1bnNpZ25lZCBpbnQgbXRrX2RkcF9zb3V0X3NlbCh2b2lkIF9faW9tZW0gKmNvbmZp Z19yZWdzLAo+ICtzdGF0aWMgdW5zaWduZWQgaW50IG10a19kZHBfc291dF9zZWwoY29uc3Qgc3Ry dWN0IG10a19tbXN5c19yZWdfZGF0YSAqZGF0YSwKPiAgCQkJCSAgICAgZW51bSBtdGtfZGRwX2Nv bXBfaWQgY3VyLAo+ICAJCQkJICAgICBlbnVtIG10a19kZHBfY29tcF9pZCBuZXh0LAo+ICAJCQkJ ICAgICB1bnNpZ25lZCBpbnQgKmFkZHIpCj4gQEAgLTM3Myw5ICs0MTUsNiBAQCBzdGF0aWMgdW5z aWduZWQgaW50IG10a19kZHBfc291dF9zZWwodm9pZCBfX2lvbWVtICpjb25maWdfcmVncywKPiAg CX0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfQkxTICYmIG5leHQgPT0gRERQX0NPTVBP TkVOVF9EUEkwKSB7Cj4gIAkJKmFkZHIgPSBESVNQX1JFR19DT05GSUdfT1VUX1NFTDsKPiAgCQl2 YWx1ZSA9IEJMU19UT19EUElfUkRNQTFfVE9fRFNJOwo+IC0JfSBlbHNlIGlmIChjdXIgPT0gRERQ X0NPTVBPTkVOVF9SRE1BMSAmJiBuZXh0ID09IEREUF9DT01QT05FTlRfRFNJMCkgewo+IC0JCSph ZGRyID0gRElTUF9SRUdfQ09ORklHX0RTSV9TRUw7Cj4gLQkJdmFsdWUgPSBEU0lfU0VMX0lOX1JE TUE7Cj4gIAl9IGVsc2UgaWYgKGN1ciA9PSBERFBfQ09NUE9ORU5UX1JETUEwICYmIG5leHQgPT0g RERQX0NPTVBPTkVOVF9EUEkwKSB7Cj4gIAkJKmFkZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9S RE1BMF9TT1VUX0VOOwo+ICAJCXZhbHVlID0gUkRNQTBfU09VVF9EUEkwOwo+IEBAIC00MDEsOCAr NDQwLDggQEAgc3RhdGljIHVuc2lnbmVkIGludCBtdGtfZGRwX3NvdXRfc2VsKHZvaWQgX19pb21l bSAqY29uZmlnX3JlZ3MsCj4gIAkJKmFkZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9SRE1BMV9T T1VUX0VOOwo+ICAJCXZhbHVlID0gUkRNQTFfU09VVF9EU0kzOwo+ICAJfSBlbHNlIGlmIChjdXIg PT0gRERQX0NPTVBPTkVOVF9SRE1BMSAmJiBuZXh0ID09IEREUF9DT01QT05FTlRfRFBJMCkgewo+ IC0JCSphZGRyID0gRElTUF9SRUdfQ09ORklHX0RJU1BfUkRNQTFfU09VVF9FTjsKPiAtCQl2YWx1 ZSA9IFJETUExX1NPVVRfRFBJMDsKPiArCQkqYWRkciA9IERJU1BfUkVHX1JETUExX1NPVVRfU0VM X0lOKGRhdGEpOwo+ICsJCXZhbHVlID0gRElTUF9SRUdfUkRNQTFfU09VVF9EUEkwKGRhdGEpOwo+ ICAJfSBlbHNlIGlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9SRE1BMSAmJiBuZXh0ID09IEREUF9D T01QT05FTlRfRFBJMSkgewo+ICAJCSphZGRyID0gRElTUF9SRUdfQ09ORklHX0RJU1BfUkRNQTFf U09VVF9FTjsKPiAgCQl2YWx1ZSA9IFJETUExX1NPVVRfRFBJMTsKPiBAQCAtNDI5LDIyICs0Njgs MjMgQEAgc3RhdGljIHVuc2lnbmVkIGludCBtdGtfZGRwX3NvdXRfc2VsKHZvaWQgX19pb21lbSAq Y29uZmlnX3JlZ3MsCj4gIH0KPiAgCj4gIHZvaWQgbXRrX2RkcF9hZGRfY29tcF90b19wYXRoKHZv aWQgX19pb21lbSAqY29uZmlnX3JlZ3MsCj4gKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBtdGtfbW1z eXNfcmVnX2RhdGEgKnJlZ19kYXRhLAo+ICAJCQkgICAgICBlbnVtIG10a19kZHBfY29tcF9pZCBj dXIsCj4gIAkJCSAgICAgIGVudW0gbXRrX2RkcF9jb21wX2lkIG5leHQpCj4gIHsKPiAgCXVuc2ln bmVkIGludCBhZGRyLCB2YWx1ZSwgcmVnOwo+ICAKPiAtCXZhbHVlID0gbXRrX2RkcF9tb3V0X2Vu KGN1ciwgbmV4dCwgJmFkZHIpOwo+ICsJdmFsdWUgPSBtdGtfZGRwX21vdXRfZW4ocmVnX2RhdGEs IGN1ciwgbmV4dCwgJmFkZHIpOwo+ICAJaWYgKHZhbHVlKSB7Cj4gIAkJcmVnID0gcmVhZGxfcmVs YXhlZChjb25maWdfcmVncyArIGFkZHIpIHwgdmFsdWU7Cj4gIAkJd3JpdGVsX3JlbGF4ZWQocmVn LCBjb25maWdfcmVncyArIGFkZHIpOwo+ICAJfQo+ICAKPiAtCXZhbHVlID0gbXRrX2RkcF9zb3V0 X3NlbChjdXIsIG5leHQsICZhZGRyKTsKPiArCXZhbHVlID0gbXRrX2RkcF9zb3V0X3NlbChyZWdf ZGF0YSwgY3VyLCBuZXh0LCAmYWRkcik7Cj4gIAlpZiAodmFsdWUpCj4gIAkJd3JpdGVsX3JlbGF4 ZWQodmFsdWUsIGNvbmZpZ19yZWdzICsgYWRkcik7Cj4gIAo+IC0JdmFsdWUgPSBtdGtfZGRwX3Nl bF9pbihjdXIsIG5leHQsICZhZGRyKTsKPiArCXZhbHVlID0gbXRrX2RkcF9zZWxfaW4ocmVnX2Rh dGEsIGN1ciwgbmV4dCwgJmFkZHIpOwo+ICAJaWYgKHZhbHVlKSB7Cj4gIAkJcmVnID0gcmVhZGxf cmVsYXhlZChjb25maWdfcmVncyArIGFkZHIpIHwgdmFsdWU7Cj4gIAkJd3JpdGVsX3JlbGF4ZWQo cmVnLCBjb25maWdfcmVncyArIGFkZHIpOwo+IEBAIC00NTIsMjQgKzQ5Miw0OCBAQCB2b2lkIG10 a19kZHBfYWRkX2NvbXBfdG9fcGF0aCh2b2lkIF9faW9tZW0gKmNvbmZpZ19yZWdzLAo+ICB9Cj4g IAo+ICB2b2lkIG10a19kZHBfcmVtb3ZlX2NvbXBfZnJvbV9wYXRoKHZvaWQgX19pb21lbSAqY29u ZmlnX3JlZ3MsCj4gKwkJCQkgICBjb25zdCBzdHJ1Y3QgbXRrX21tc3lzX3JlZ19kYXRhICpyZWdf ZGF0YSwKPiAgCQkJCSAgIGVudW0gbXRrX2RkcF9jb21wX2lkIGN1ciwKPiAgCQkJCSAgIGVudW0g bXRrX2RkcF9jb21wX2lkIG5leHQpCj4gIHsKPiAgCXVuc2lnbmVkIGludCBhZGRyLCB2YWx1ZSwg cmVnOwo+ICAKPiAtCXZhbHVlID0gbXRrX2RkcF9tb3V0X2VuKGN1ciwgbmV4dCwgJmFkZHIpOwo+ ICsJdmFsdWUgPSBtdGtfZGRwX21vdXRfZW4ocmVnX2RhdGEsIGN1ciwgbmV4dCwgJmFkZHIpOwo+ ICAJaWYgKHZhbHVlKSB7Cj4gIAkJcmVnID0gcmVhZGxfcmVsYXhlZChjb25maWdfcmVncyArIGFk ZHIpICYgfnZhbHVlOwo+ICAJCXdyaXRlbF9yZWxheGVkKHJlZywgY29uZmlnX3JlZ3MgKyBhZGRy KTsKPiAgCX0KPiAgCj4gLQl2YWx1ZSA9IG10a19kZHBfc2VsX2luKGN1ciwgbmV4dCwgJmFkZHIp Owo+ICsJdmFsdWUgPSBtdGtfZGRwX3NlbF9pbihyZWdfZGF0YSwgY3VyLCBuZXh0LCAmYWRkcik7 Cj4gIAlpZiAodmFsdWUpIHsKPiAgCQlyZWcgPSByZWFkbF9yZWxheGVkKGNvbmZpZ19yZWdzICsg YWRkcikgJiB+dmFsdWU7Cj4gIAkJd3JpdGVsX3JlbGF4ZWQocmVnLCBjb25maWdfcmVncyArIGFk ZHIpOwo+ICAJfQo+ICB9Cj4gIAo+ICtjb25zdCBzdHJ1Y3QgbXRrX21tc3lzX3JlZ19kYXRhICpt dGtfZGRwX2dldF9tbXN5c19kYXRhKGVudW0gbXRrX21tc3lzX2lkIGlkKQo+ICt7Cj4gKwljb25z dCBzdHJ1Y3QgbXRrX21tc3lzX3JlZ19kYXRhICpkYXRhID0gTlVMTDsKPiArCj4gKwlzd2l0Y2gg KGlkKSB7Cj4gKwljYXNlIE1NU1lTX01UMjcwMToKPiArCQlkYXRhID0gJm10MjcwMV9tbXN5c19y ZWdfZGF0YTsKPiArCQlicmVhazsKPiArCWNhc2UgTU1TWVNfTVQyNzEyOgo+ICsJCWRhdGEgPSAm bXQ4MTczX21tc3lzX3JlZ19kYXRhOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBNTVNZU19NVDgxNzM6 Cj4gKwkJZGF0YSA9ICZtdDgxNzNfbW1zeXNfcmVnX2RhdGE7Cj4gKwkJYnJlYWs7Cj4gKwlkZWZh dWx0Ogo+ICsJCXByX2luZm8oIm10ayBkcm0gbm90IHN1cHBvcnQgbW1zeXMgaWQgJWRcbiIsCj4g KwkJCWlkKTsKPiArCQlicmVhazsKPiArCX0KPiArCj4gKwlyZXR1cm4gZGF0YTsKPiArfQo+ICsK PiAgc3RydWN0IG10a19kaXNwX211dGV4ICptdGtfZGlzcF9tdXRleF9nZXQoc3RydWN0IGRldmlj ZSAqZGV2LCB1bnNpZ25lZCBpbnQgaWQpCj4gIHsKPiAgCXN0cnVjdCBtdGtfZGRwICpkZHAgPSBk ZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlh dGVrL210a19kcm1fZGRwLmggYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHAu aAo+IGluZGV4IGY5YTc5OTEuLmVkMmI3MDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kcm1fZGRwLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9kZHAuaAo+IEBAIC0xOSwxMSArMTksMjEgQEAKPiAgc3RydWN0IHJlZ21hcDsKPiAg c3RydWN0IGRldmljZTsKPiAgc3RydWN0IG10a19kaXNwX211dGV4Owo+ICtzdHJ1Y3QgbXRrX21t c3lzX3JlZ19kYXRhOwo+ICtlbnVtIG10a19tbXN5c19pZCB7Cj4gKwlNTVNZU19NVDI3MDEsCj4g KwlNTVNZU19NVDI3MTIsCj4gKwlNTVNZU19NVDgxNzMsCj4gKwlNTVNZU19NQVgsCj4gK307Cj4g IAo+ICtjb25zdCBzdHJ1Y3QgbXRrX21tc3lzX3JlZ19kYXRhICptdGtfZGRwX2dldF9tbXN5c19k YXRhKGVudW0gbXRrX21tc3lzX2lkIGlkKTsKPiAgdm9pZCBtdGtfZGRwX2FkZF9jb21wX3RvX3Bh dGgodm9pZCBfX2lvbWVtICpjb25maWdfcmVncywKPiArCQkJICAgICAgY29uc3Qgc3RydWN0IG10 a19tbXN5c19yZWdfZGF0YSAqcmVnX2RhdGEsCj4gIAkJCSAgICAgIGVudW0gbXRrX2RkcF9jb21w X2lkIGN1ciwKPiAgCQkJICAgICAgZW51bSBtdGtfZGRwX2NvbXBfaWQgbmV4dCk7Cj4gIHZvaWQg bXRrX2RkcF9yZW1vdmVfY29tcF9mcm9tX3BhdGgodm9pZCBfX2lvbWVtICpjb25maWdfcmVncywK PiArCQkJCSAgIGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNfcmVnX2RhdGEgKnJlZ19kYXRhLAo+ICAJ CQkJICAgZW51bSBtdGtfZGRwX2NvbXBfaWQgY3VyLAo+ICAJCQkJICAgZW51bSBtdGtfZGRwX2Nv bXBfaWQgbmV4dCk7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jCj4g aW5kZXggNjQyMmU5OS4uYmU2YjE0MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVk aWF0ZWsvbXRrX2RybV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2Rydi5jCj4gQEAgLTE5Niw2ICsxOTYsNyBAQCBzdGF0aWMgaW50IG10a19hdG9taWNfY29t bWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCj4gIAkubWFpbl9sZW4gPSBBUlJBWV9TSVpFKG10 MjcwMV9tdGtfZGRwX21haW4pLAo+ICAJLmV4dF9wYXRoID0gbXQyNzAxX210a19kZHBfZXh0LAo+ ICAJLmV4dF9sZW4gPSBBUlJBWV9TSVpFKG10MjcwMV9tdGtfZGRwX2V4dCksCj4gKwkubW1zeXNf aWQgPSBNTVNZU19NVDI3MDEsCj4gIAkuc2hhZG93X3JlZ2lzdGVyID0gdHJ1ZSwKPiAgfTsKPiAg Cj4gQEAgLTIwNiw2ICsyMDcsNyBAQCBzdGF0aWMgaW50IG10a19hdG9taWNfY29tbWl0KHN0cnVj dCBkcm1fZGV2aWNlICpkcm0sCj4gIAkuZXh0X2xlbiA9IEFSUkFZX1NJWkUobXQyNzEyX210a19k ZHBfZXh0KSwKPiAgCS50aGlyZF9wYXRoID0gbXQyNzEyX210a19kZHBfdGhpcmQsCj4gIAkudGhp cmRfbGVuID0gQVJSQVlfU0laRShtdDI3MTJfbXRrX2RkcF90aGlyZCksCj4gKwkubW1zeXNfaWQg PSBNTVNZU19NVDI3MTIsCj4gIH07Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19tbXN5 c19kcml2ZXJfZGF0YSBtdDgxNzNfbW1zeXNfZHJpdmVyX2RhdGEgPSB7Cj4gQEAgLTIxMyw2ICsy MTUsNyBAQCBzdGF0aWMgaW50IG10a19hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpk cm0sCj4gIAkubWFpbl9sZW4gPSBBUlJBWV9TSVpFKG10ODE3M19tdGtfZGRwX21haW4pLAo+ICAJ LmV4dF9wYXRoID0gbXQ4MTczX210a19kZHBfZXh0LAo+ICAJLmV4dF9sZW4gPSBBUlJBWV9TSVpF KG10ODE3M19tdGtfZGRwX2V4dCksCj4gKwkubW1zeXNfaWQgPSBNTVNZU19NVDgxNzMsCj4gIH07 Cj4gIAo+ICBzdGF0aWMgaW50IG10a19kcm1fa21zX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRy bSkKPiBAQCAtNDYxLDYgKzQ2NCwxNCBAQCBzdGF0aWMgaW50IG10a19kcm1fcHJvYmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCUlOSVRfV09SSygmcHJpdmF0ZS0+Y29tbWl0Lndv cmssIG10a19hdG9taWNfd29yayk7Cj4gIAlwcml2YXRlLT5kYXRhID0gb2ZfZGV2aWNlX2dldF9t YXRjaF9kYXRhKGRldik7Cj4gIAo+ICsJcHJpdmF0ZS0+cmVnX2RhdGEgPSBtdGtfZGRwX2dldF9t bXN5c19kYXRhKHByaXZhdGUtPmRhdGEtPm1tc3lzX2lkKTsKPiArCWlmIChJU19FUlIocHJpdmF0 ZS0+cmVnX2RhdGEpKSB7Cj4gKwkJcmV0ID0gUFRSX0VSUihwcml2YXRlLT5jb25maWdfcmVncyk7 Cj4gKwkJcHJfaW5mbygiRmFpbGVkIHRvIGdldCBtbXN5cyByZWdpc3RlciBkYXRhOiAlZFxuIiwK PiArCQkJcmV0KTsKPiArCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiAgCW1lbSA9IHBsYXRmb3Jt X2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7Cj4gIAlwcml2YXRlLT5jb25m aWdfcmVncyA9IGRldm1faW9yZW1hcF9yZXNvdXJjZShkZXYsIG1lbSk7Cj4gIAlpZiAoSVNfRVJS KHByaXZhdGUtPmNvbmZpZ19yZWdzKSkgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2RybV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2Rydi5oCj4gaW5kZXggZWNjMDBjYS4uMTFkZTdmOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2Rydi5oCj4gQEAgLTE1LDYgKzE1LDcgQEAKPiAgI2RlZmluZSBNVEtfRFJN X0RSVl9ICj4gIAo+ICAjaW5jbHVkZSA8bGludXgvaW8uaD4KPiArI2luY2x1ZGUgIm10a19kcm1f ZGRwLmgiCj4gICNpbmNsdWRlICJtdGtfZHJtX2RkcF9jb21wLmgiCj4gIAo+ICAjZGVmaW5lIE1B WF9DUlRDCTMKPiBAQCAtMzYsNiArMzcsOCBAQCBzdHJ1Y3QgbXRrX21tc3lzX2RyaXZlcl9kYXRh IHsKPiAgCWNvbnN0IGVudW0gbXRrX2RkcF9jb21wX2lkICp0aGlyZF9wYXRoOwo+ICAJdW5zaWdu ZWQgaW50IHRoaXJkX2xlbjsKPiAgCj4gKwllbnVtIG10a19tbXN5c19pZCBtbXN5c19pZDsKPiAr Cj4gIAlib29sIHNoYWRvd19yZWdpc3RlcjsKPiAgfTsKPiAgCj4gQEAgLTQ4LDYgKzUxLDcgQEAg c3RydWN0IG10a19kcm1fcHJpdmF0ZSB7Cj4gIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm11dGV4X25v ZGU7Cj4gIAlzdHJ1Y3QgZGV2aWNlICptdXRleF9kZXY7Cj4gIAl2b2lkIF9faW9tZW0gKmNvbmZp Z19yZWdzOwo+ICsJY29uc3Qgc3RydWN0IG10a19tbXN5c19yZWdfZGF0YSAqcmVnX2RhdGE7CgpX aHkgbm90IG1vdmUgcmVnX2RhdGEgaW50byBkYXRhPyBCb3RoIGNvdWxkIGJlIGdvdCBieQpvZl9k ZXZpY2VfZ2V0X21hdGNoX2RhdGEoKS4KClJlZ2FyZHMsCkNLCgo+ICAJc3RydWN0IGRldmljZV9u b2RlICpjb21wX25vZGVbRERQX0NPTVBPTkVOVF9JRF9NQVhdOwo+ICAJc3RydWN0IG10a19kZHBf Y29tcCAqZGRwX2NvbXBbRERQX0NPTVBPTkVOVF9JRF9NQVhdOwo+ICAJY29uc3Qgc3RydWN0IG10 a19tbXN5c19kcml2ZXJfZGF0YSAqZGF0YTsKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK