From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH v2 5/5] drm: zte: add tvenc driver support Date: Thu, 26 Jan 2017 13:43:04 -0500 Message-ID: <20170126184304.GB8360@trickycodes.roam.corp.google.com> References: <1485444053-8331-1-git-send-email-shawnguo@kernel.org> <1485444053-8331-6-git-send-email-shawnguo@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qt0-x22a.google.com (mail-qt0-x22a.google.com [IPv6:2607:f8b0:400d:c0d::22a]) by gabe.freedesktop.org (Postfix) with ESMTPS id D013D6EBC9 for ; Thu, 26 Jan 2017 18:43:09 +0000 (UTC) Received: by mail-qt0-x22a.google.com with SMTP id w20so29625429qtb.1 for ; Thu, 26 Jan 2017 10:43:09 -0800 (PST) Content-Disposition: inline In-Reply-To: <1485444053-8331-6-git-send-email-shawnguo@kernel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Shawn Guo Cc: Daniel Vetter , Jun Nie , Baoyou Xie , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBKYW4gMjYsIDIwMTcgYXQgMTE6MjA6NTNQTSArMDgwMCwgU2hhd24gR3VvIHdyb3Rl Ogo+IEZyb206IFNoYXduIEd1byA8c2hhd24uZ3VvQGxpbmFyby5vcmc+Cj4gCj4gSXQgYWRkcyB0 aGUgVFYgRW5jb2RlciBkcml2ZXIgdG8gc3VwcG9ydCB2aWRlbyBvdXRwdXQgaW4gUEFMIGFuZCBO VFNDCj4gZm9ybWF0LiAgVGhlIGRyaXZlciB1c2VzIHN5c2Nvbi9yZWdtYXAgaW50ZXJmYWNlIHRv IGNvbmZpZ3VyZSByZWdpc3Rlcgo+IGJpdCBzaXR0aW5nIGluIFNZU0NUUkwgbW9kdWxlIGZvciBE QUMgcG93ZXIgY29udHJvbC4KPiAKClJldmlld2VkLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNo cm9taXVtLm9yZz4KCj4gU2lnbmVkLW9mZi1ieTogU2hhd24gR3VvIDxzaGF3bi5ndW9AbGluYXJv Lm9yZz4KPiAtLS0KPiBDaGFuZ2VzIGZvciB2MjoKPiAgLSBFbWJlZCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSBpbiB6eF90dmVuY19tb2RlIHRvIHNhdmUgZnVuY3Rpb24KPiAgICB6eF90dmVuY19t b2RlX3RvX2RybV9tb2RlKCkuCj4gIC0gVXNlIGRybV9tb2RlX2VxdWFsKCkgdG8gZmluZCB0aGUg bWF0Y2hpbmcgbW9kZS4KPiAgLSBVc2UgZHJtX21vZGVfc2V0X25hbWUoKSB0byBuYW1lIG1vZGUu Cj4gIC0gRml4IHR5cG9zIGluIGNsb2NrIG11bHRpcGxpZXIgY29tbWVudC4KPiAgLSBBZGQgYSBz YW5pdHkgY2hlY2sgaW4gLm1vZGVfdmFsaWQgaG9vayB0byBlbnN1cmUgdGhlIGdpdmVuIG1vZGUg aXMKPiAgICB2YWxpZC4KPiAgLSBSZW1vdmUgZGVzdHJveSgpIGNhbGxzIGZyb20gLnVuYmluZCBo b29rLCBhcyB0aG9zZSBhcmUgYWxyZWFkeSB0YWtlbgo+ICAgIGNhcmUgb2YgYnkgZHJtX21vZGVf Y29uZmlnX2NsZWFudXAoKS4KPiAKPiAgZHJpdmVycy9ncHUvZHJtL3p0ZS9NYWtlZmlsZSAgICAg ICAgfCAgIDEgKwo+ICBkcml2ZXJzL2dwdS9kcm0venRlL3p4X2RybV9kcnYuYyAgICB8ICAgMSAr Cj4gIGRyaXZlcnMvZ3B1L2RybS96dGUvenhfZHJtX2Rydi5oICAgIHwgICAxICsKPiAgZHJpdmVy cy9ncHUvZHJtL3p0ZS96eF90dmVuYy5jICAgICAgfCA0MDcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS96dGUvenhfdHZlbmNfcmVncy5oIHwg IDMxICsrKwo+ICBkcml2ZXJzL2dwdS9kcm0venRlL3p4X3ZvdS5jICAgICAgICB8ICAgNSArCj4g IDYgZmlsZXMgY2hhbmdlZCwgNDQ2IGluc2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZ3B1L2RybS96dGUvenhfdHZlbmMuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9ncHUvZHJtL3p0ZS96eF90dmVuY19yZWdzLmgKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3p0ZS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS96dGUvTWFrZWZpbGUKPiBp bmRleCA2OTkxODBiZmQ1N2MuLjAxMzUyYjU2YzQxOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0venRlL01ha2VmaWxlCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS9NYWtlZmlsZQo+ IEBAIC0yLDYgKzIsNyBAQCB6eGRybS15IDo9IFwKPiAgCXp4X2RybV9kcnYubyBcCj4gIAl6eF9o ZG1pLm8gXAo+ICAJenhfcGxhbmUubyBcCj4gKwl6eF90dmVuYy5vIFwKPiAgCXp4X3ZvdS5vCj4g IAo+ICBvYmotJChDT05GSUdfRFJNX1pURSkgKz0genhkcm0ubwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0venRlL3p4X2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfZHJt X2Rydi5jCj4gaW5kZXggM2U3NmY3MmM5MmZmLi4xMzA4MWZlZDkwMmQgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9kcm1fZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v enRlL3p4X2RybV9kcnYuYwo+IEBAIC0yNDcsNiArMjQ3LDcgQEAgc3RhdGljIGludCB6eF9kcm1f cmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIHN0YXRpYyBzdHJ1Y3QgcGxh dGZvcm1fZHJpdmVyICpkcml2ZXJzW10gPSB7Cj4gIAkmenhfY3J0Y19kcml2ZXIsCj4gIAkmenhf aGRtaV9kcml2ZXIsCj4gKwkmenhfdHZlbmNfZHJpdmVyLAo+ICAJJnp4X2RybV9wbGF0Zm9ybV9k cml2ZXIsCj4gIH07Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2Ry bV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfZHJtX2Rydi5oCj4gaW5kZXggZTY1Y2Qx OGE2Y2JhLi41Y2EwMzViMDc5YzcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3p0ZS96 eF9kcm1fZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2RybV9kcnYuaAo+IEBA IC0xMyw2ICsxMyw3IEBACj4gIAo+ICBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciB6eF9j cnRjX2RyaXZlcjsKPiAgZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgenhfaGRtaV9kcml2 ZXI7Cj4gK2V4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHp4X3R2ZW5jX2RyaXZlcjsKPiAg Cj4gIHN0YXRpYyBpbmxpbmUgdTMyIHp4X3JlYWRsKHZvaWQgX19pb21lbSAqcmVnKQo+ICB7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfdHZlbmMuYyBiL2RyaXZlcnMvZ3B1 L2RybS96dGUvenhfdHZlbmMuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAw MDAwMDAwLi5iNTZkYzY5ODQzZmMKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3p0ZS96eF90dmVuYy5jCj4gQEAgLTAsMCArMSw0MDcgQEAKPiArLyoKPiArICogQ29weXJp Z2h0IDIwMTcgTGluYXJvIEx0ZC4KPiArICogQ29weXJpZ2h0IDIwMTcgWlRFIENvcnBvcmF0aW9u Lgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+ICsgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwo+ICsgKiBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiArICoKPiArICovCj4gKwo+ICsjaW5j bHVkZSA8bGludXgvY2xrLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9jb21wb25lbnQuaD4KPiArI2lu Y2x1ZGUgPGxpbnV4L21mZC9zeXNjb24uaD4KPiArI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgo+ ICsKPiArI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBlci5oPgo+ICsjaW5jbHVkZSA8ZHJt L2RybV9jcnRjX2hlbHBlci5oPgo+ICsjaW5jbHVkZSA8ZHJtL2RybVAuaD4KPiArCj4gKyNpbmNs dWRlICJ6eF9kcm1fZHJ2LmgiCj4gKyNpbmNsdWRlICJ6eF90dmVuY19yZWdzLmgiCj4gKyNpbmNs dWRlICJ6eF92b3UuaCIKPiArCj4gK3N0cnVjdCB6eF90dmVuY19wd3JjdHJsIHsKPiArCXN0cnVj dCByZWdtYXAgKnJlZ21hcDsKPiArCXUzMiByZWc7Cj4gKwl1MzIgbWFzazsKPiArfTsKPiArCj4g K3N0cnVjdCB6eF90dmVuYyB7Cj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciBjb25uZWN0b3I7Cj4g KwlzdHJ1Y3QgZHJtX2VuY29kZXIgZW5jb2RlcjsKPiArCXN0cnVjdCBkZXZpY2UgKmRldjsKPiAr CXZvaWQgX19pb21lbSAqbW1pbzsKPiArCWNvbnN0IHN0cnVjdCB2b3VfaW5mICppbmY7Cj4gKwlz dHJ1Y3QgenhfdHZlbmNfcHdyY3RybCBwd3JjdHJsOwo+ICt9Owo+ICsKPiArI2RlZmluZSB0b196 eF90dmVuYyh4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IHp4X3R2ZW5jLCB4KQo+ICsKPiArc3Ry dWN0IHp4X3R2ZW5jX21vZGUgewo+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgbW9kZTsKPiAr CXUzMiB2aWRlb19pbmZvOwo+ICsJdTMyIHZpZGVvX3JlczsKPiArCXUzMiBmaWVsZDFfcGFyYW07 Cj4gKwl1MzIgZmllbGQyX3BhcmFtOwo+ICsJdTMyIGJ1cnN0X2xpbmVfb2RkMTsKPiArCXUzMiBi dXJzdF9saW5lX2V2ZW4xOwo+ICsJdTMyIGJ1cnN0X2xpbmVfb2RkMjsKPiArCXUzMiBidXJzdF9s aW5lX2V2ZW4yOwo+ICsJdTMyIGxpbmVfdGltaW5nX3BhcmFtOwo+ICsJdTMyIHdlaWdodF92YWx1 ZTsKPiArCXUzMiBibGFua19ibGFja19sZXZlbDsKPiArCXUzMiBidXJzdF9sZXZlbDsKPiArCXUz MiBjb250cm9sX3BhcmFtOwo+ICsJdTMyIHN1Yl9jYXJyaWVyX3BoYXNlMTsKPiArCXUzMiBwaGFz ZV9saW5lX2luY3JfY3ZiczsKPiArfTsKPiArCj4gKy8qCj4gKyAqIFRoZSBDUk0gY2Fubm90IGRp cmVjdGx5IHByb3ZpZGUgYSBzdWl0YWJsZSBmcmVxdWVuY3ksIGFuZCB3ZSBoYXZlIHRvCj4gKyAq IGFzayBhIG11bHRpcGxpZWQgcmF0ZSBmcm9tIENSTSBhbmQgdXNlIHRoZSBkaXZpZGVyIGluIFZP VSB0byBnZXQgdGhlCj4gKyAqIGRlc2lyZWQgb25lLgo+ICsgKi8KPiArI2RlZmluZSBUVkVOQ19D TE9DS19NVUxUSVBMSUVSCTQKPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgenhfdHZlbmNfbW9k ZSB0dmVuY19tb2RlX3BhbCA9IHsKPiArCS5tb2RlID0gewo+ICsJCS5jbG9jayA9IDEzNTAwICog VFZFTkNfQ0xPQ0tfTVVMVElQTElFUiwKPiArCQkuaGRpc3BsYXkgPSA3MjAsCj4gKwkJLmhzeW5j X3N0YXJ0ID0gNzIwICsgMTIsCj4gKwkJLmhzeW5jX2VuZCA9IDcyMCArIDEyICsgMiwKPiArCQku aHRvdGFsID0gNzIwICsgMTIgKyAyICsgMTMwLAo+ICsJCS52ZGlzcGxheSA9IDU3NiwKPiArCQku dnN5bmNfc3RhcnQgPSA1NzYgKyAyLAo+ICsJCS52c3luY19lbmQgPSA1NzYgKyAyICsgMiwKPiAr CQkudnRvdGFsID0gNTc2ICsgMiArIDIgKyAyMCwKPiArCQkuZmxhZ3MgPSBEUk1fTU9ERV9GTEFH X05IU1lOQyB8IERSTV9NT0RFX0ZMQUdfTlZTWU5DIHwKPiArCQkJIERSTV9NT0RFX0ZMQUdfSU5U RVJMQUNFLAo+ICsJfSwKPiArCS52aWRlb19pbmZvID0gMHgwMDA0MDA0MCwKPiArCS52aWRlb19y ZXMgPSAweDA1YTljNzYwLAo+ICsJLmZpZWxkMV9wYXJhbSA9IDB4MDAwNGQ0MTYsCj4gKwkuZmll bGQyX3BhcmFtID0gMHgwMDA5Yjk0ZiwKPiArCS5idXJzdF9saW5lX29kZDEgPSAweDAwMDRkNDA2 LAo+ICsJLmJ1cnN0X2xpbmVfZXZlbjEgPSAweDAwMDliNTNlLAo+ICsJLmJ1cnN0X2xpbmVfb2Rk MiA9IDB4MDAwNGQ4MDUsCj4gKwkuYnVyc3RfbGluZV9ldmVuMiA9IDB4MDAwOWI5M2YsCj4gKwku bGluZV90aW1pbmdfcGFyYW0gPSAweDA2YTk2ZmRmLAo+ICsJLndlaWdodF92YWx1ZSA9IDB4MDBj MTg4YTAsCj4gKwkuYmxhbmtfYmxhY2tfbGV2ZWwgPSAweDAwMDBmY2ZjLAo+ICsJLmJ1cnN0X2xl dmVsID0gMHgwMDAwMTU5NSwKPiArCS5jb250cm9sX3BhcmFtID0gMHgwMDAwMDAwMSwKPiArCS5z dWJfY2Fycmllcl9waGFzZTEgPSAweDE1MDRjNTY2LAo+ICsJLnBoYXNlX2xpbmVfaW5jcl9jdmJz ID0gMHhjMDY4ZGI4YywKPiArfTsKPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgenhfdHZlbmNf bW9kZSB0dmVuY19tb2RlX250c2MgPSB7Cj4gKwkubW9kZSA9IHsKPiArCQkuY2xvY2sgPSAxMzUw MCAqIFRWRU5DX0NMT0NLX01VTFRJUExJRVIsCj4gKwkJLmhkaXNwbGF5ID0gNzIwLAo+ICsJCS5o c3luY19zdGFydCA9IDcyMCArIDE2LAo+ICsJCS5oc3luY19lbmQgPSA3MjAgKyAxNiArIDIsCj4g KwkJLmh0b3RhbCA9IDcyMCArIDE2ICsgMiArIDEyMCwKPiArCQkudmRpc3BsYXkgPSA0ODAsCj4g KwkJLnZzeW5jX3N0YXJ0ID0gNDgwICsgMywKPiArCQkudnN5bmNfZW5kID0gNDgwICsgMyArIDIs Cj4gKwkJLnZ0b3RhbCA9IDQ4MCArIDMgKyAyICsgMTcsCj4gKwkJLmZsYWdzID0gRFJNX01PREVf RkxBR19OSFNZTkMgfCBEUk1fTU9ERV9GTEFHX05WU1lOQyB8Cj4gKwkJCSBEUk1fTU9ERV9GTEFH X0lOVEVSTEFDRSwKPiArCX0sCj4gKwkudmlkZW9faW5mbyA9IDB4MDAwNDAwODAsCj4gKwkudmlk ZW9fcmVzID0gMHgwNWE4Mzc1YSwKPiArCS5maWVsZDFfcGFyYW0gPSAweDAwMDQxODE3LAo+ICsJ LmZpZWxkMl9wYXJhbSA9IDB4MDAwODM1MWUsCj4gKwkuYnVyc3RfbGluZV9vZGQxID0gMHgwMDA0 MTAwNiwKPiArCS5idXJzdF9saW5lX2V2ZW4xID0gMHgwMDA4MjkwZCwKPiArCS5idXJzdF9saW5l X29kZDIgPSAweDAwMDAwMDAwLAo+ICsJLmJ1cnN0X2xpbmVfZXZlbjIgPSAweDAwMDAwMDAwLAo+ ICsJLmxpbmVfdGltaW5nX3BhcmFtID0gMHgwNmE4ZWY5ZSwKPiArCS53ZWlnaHRfdmFsdWUgPSAw eDAwYjY4MTk3LAo+ICsJLmJsYW5rX2JsYWNrX2xldmVsID0gMHgwMDAwZjBmMCwKPiArCS5idXJz dF9sZXZlbCA9IDB4MDAwMDAwOWMsCj4gKwkuY29udHJvbF9wYXJhbSA9IDB4MDAwMDAwMDEsCj4g Kwkuc3ViX2NhcnJpZXJfcGhhc2UxID0gMHgxMGY4M2UxMCwKPiArCS5waGFzZV9saW5lX2luY3Jf Y3ZicyA9IDB4ODAwMDAwMDAsCj4gK307Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHp4X3R2 ZW5jX21vZGUgKnR2ZW5jX21vZGVzW10gPSB7Cj4gKwkmdHZlbmNfbW9kZV9wYWwsCj4gKwkmdHZl bmNfbW9kZV9udHNjLAo+ICt9Owo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCB6eF90dmVuY19t b2RlICoKPiArenhfdHZlbmNfZmluZF96bW9kZShzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSkKPiArewo+ICsJaW50IGk7Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodHZl bmNfbW9kZXMpOyBpKyspIHsKPiArCQljb25zdCBzdHJ1Y3QgenhfdHZlbmNfbW9kZSAqem1vZGUg PSB0dmVuY19tb2Rlc1tpXTsKPiArCj4gKwkJaWYgKGRybV9tb2RlX2VxdWFsKG1vZGUsICZ6bW9k ZS0+bW9kZSkpCj4gKwkJCXJldHVybiB6bW9kZTsKPiArCX0KPiArCj4gKwlyZXR1cm4gTlVMTDsK PiArfQo+ICsKPiArc3RhdGljIHZvaWQgenhfdHZlbmNfZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gKwkJCQkgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSwKPiArCQkJCSAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGpfbW9kZSkK PiArewo+ICsJc3RydWN0IHp4X3R2ZW5jICp0dmVuYyA9IHRvX3p4X3R2ZW5jKGVuY29kZXIpOwo+ ICsJY29uc3Qgc3RydWN0IHp4X3R2ZW5jX21vZGUgKnptb2RlOwo+ICsJc3RydWN0IHZvdV9kaXZf Y29uZmlnIGNvbmZpZ3NbXSA9IHsKPiArCQl7IFZPVV9ESVZfSU5GLCAgIFZPVV9ESVZfNCB9LAo+ ICsJCXsgVk9VX0RJVl9UVkVOQywgVk9VX0RJVl8xIH0sCj4gKwkJeyBWT1VfRElWX0xBWUVSLCBW T1VfRElWXzIgfSwKPiArCX07Cj4gKwo+ICsJenhfdm91X2NvbmZpZ19kaXZpZGVycyhlbmNvZGVy LT5jcnRjLCBjb25maWdzLCBBUlJBWV9TSVpFKGNvbmZpZ3MpKTsKPiArCj4gKwl6bW9kZSA9IHp4 X3R2ZW5jX2ZpbmRfem1vZGUobW9kZSk7Cj4gKwlpZiAoIXptb2RlKSB7Cj4gKwkJRFJNX0RFVl9F UlJPUih0dmVuYy0+ZGV2LCAiZmFpbGVkIHRvIGZpbmQgem1vZGVcbiIpOwo+ICsJCXJldHVybjsK PiArCX0KPiArCj4gKwl6eF93cml0ZWwodHZlbmMtPm1taW8gKyBWRU5DX1ZJREVPX0lORk8sIHpt b2RlLT52aWRlb19pbmZvKTsKPiArCXp4X3dyaXRlbCh0dmVuYy0+bW1pbyArIFZFTkNfVklERU9f UkVTLCB6bW9kZS0+dmlkZW9fcmVzKTsKPiArCXp4X3dyaXRlbCh0dmVuYy0+bW1pbyArIFZFTkNf RklFTEQxX1BBUkFNLCB6bW9kZS0+ZmllbGQxX3BhcmFtKTsKPiArCXp4X3dyaXRlbCh0dmVuYy0+ bW1pbyArIFZFTkNfRklFTEQyX1BBUkFNLCB6bW9kZS0+ZmllbGQyX3BhcmFtKTsKPiArCXp4X3dy aXRlbCh0dmVuYy0+bW1pbyArIFZFTkNfTElORV9PXzEsIHptb2RlLT5idXJzdF9saW5lX29kZDEp Owo+ICsJenhfd3JpdGVsKHR2ZW5jLT5tbWlvICsgVkVOQ19MSU5FX0VfMSwgem1vZGUtPmJ1cnN0 X2xpbmVfZXZlbjEpOwo+ICsJenhfd3JpdGVsKHR2ZW5jLT5tbWlvICsgVkVOQ19MSU5FX09fMiwg em1vZGUtPmJ1cnN0X2xpbmVfb2RkMik7Cj4gKwl6eF93cml0ZWwodHZlbmMtPm1taW8gKyBWRU5D X0xJTkVfRV8yLCB6bW9kZS0+YnVyc3RfbGluZV9ldmVuMik7Cj4gKwl6eF93cml0ZWwodHZlbmMt Pm1taW8gKyBWRU5DX0xJTkVfVElNSU5HX1BBUkFNLAo+ICsJCSAgem1vZGUtPmxpbmVfdGltaW5n X3BhcmFtKTsKPiArCXp4X3dyaXRlbCh0dmVuYy0+bW1pbyArIFZFTkNfV0VJR0hUX1ZBTFVFLCB6 bW9kZS0+d2VpZ2h0X3ZhbHVlKTsKPiArCXp4X3dyaXRlbCh0dmVuYy0+bW1pbyArIFZFTkNfQkxB TktfQkxBQ0tfTEVWRUwsCj4gKwkJICB6bW9kZS0+YmxhbmtfYmxhY2tfbGV2ZWwpOwo+ICsJenhf d3JpdGVsKHR2ZW5jLT5tbWlvICsgVkVOQ19CVVJTVF9MRVZFTCwgem1vZGUtPmJ1cnN0X2xldmVs KTsKPiArCXp4X3dyaXRlbCh0dmVuYy0+bW1pbyArIFZFTkNfQ09OVFJPTF9QQVJBTSwgem1vZGUt PmNvbnRyb2xfcGFyYW0pOwo+ICsJenhfd3JpdGVsKHR2ZW5jLT5tbWlvICsgVkVOQ19TVUJfQ0FS UklFUl9QSEFTRTEsCj4gKwkJICB6bW9kZS0+c3ViX2NhcnJpZXJfcGhhc2UxKTsKPiArCXp4X3dy aXRlbCh0dmVuYy0+bW1pbyArIFZFTkNfUEhBU0VfTElORV9JTkNSX0NWQlMsCj4gKwkJICB6bW9k ZS0+cGhhc2VfbGluZV9pbmNyX2N2YnMpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCB6eF90dmVu Y19lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gK3sKPiArCXN0 cnVjdCB6eF90dmVuYyAqdHZlbmMgPSB0b196eF90dmVuYyhlbmNvZGVyKTsKPiArCXN0cnVjdCB6 eF90dmVuY19wd3JjdHJsICpwd3JjdHJsID0gJnR2ZW5jLT5wd3JjdHJsOwo+ICsKPiArCS8qIFNl dCBiaXQgdG8gcG93ZXIgdXAgVFZFTkMgREFDICovCj4gKwlyZWdtYXBfdXBkYXRlX2JpdHMocHdy Y3RybC0+cmVnbWFwLCBwd3JjdHJsLT5yZWcsIHB3cmN0cmwtPm1hc2ssCj4gKwkJCSAgIHB3cmN0 cmwtPm1hc2spOwo+ICsKPiArCXZvdV9pbmZfZW5hYmxlKFZPVV9UVl9FTkMsIGVuY29kZXItPmNy dGMpOwo+ICsKPiArCXp4X3dyaXRlbCh0dmVuYy0+bW1pbyArIFZFTkNfRU5BQkxFLCAxKTsKPiAr fQo+ICsKPiArc3RhdGljIHZvaWQgenhfdHZlbmNfZW5jb2Rlcl9kaXNhYmxlKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlcikKPiArewo+ICsJc3RydWN0IHp4X3R2ZW5jICp0dmVuYyA9IHRvX3p4 X3R2ZW5jKGVuY29kZXIpOwo+ICsJc3RydWN0IHp4X3R2ZW5jX3B3cmN0cmwgKnB3cmN0cmwgPSAm dHZlbmMtPnB3cmN0cmw7Cj4gKwo+ICsJenhfd3JpdGVsKHR2ZW5jLT5tbWlvICsgVkVOQ19FTkFC TEUsIDApOwo+ICsKPiArCXZvdV9pbmZfZGlzYWJsZShWT1VfVFZfRU5DLCBlbmNvZGVyLT5jcnRj KTsKPiArCj4gKwkvKiBDbGVhciBiaXQgdG8gcG93ZXIgZG93biBUVkVOQyBEQUMgKi8KPiArCXJl Z21hcF91cGRhdGVfYml0cyhwd3JjdHJsLT5yZWdtYXAsIHB3cmN0cmwtPnJlZywgcHdyY3RybC0+ bWFzaywgMCk7Cj4gK30KPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2VuY29kZXJfaGVs cGVyX2Z1bmNzIHp4X3R2ZW5jX2VuY29kZXJfaGVscGVyX2Z1bmNzID0gewo+ICsJLmVuYWJsZQk9 IHp4X3R2ZW5jX2VuY29kZXJfZW5hYmxlLAo+ICsJLmRpc2FibGUgPSB6eF90dmVuY19lbmNvZGVy X2Rpc2FibGUsCj4gKwkubW9kZV9zZXQgPSB6eF90dmVuY19lbmNvZGVyX21vZGVfc2V0LAo+ICt9 Owo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9mdW5jcyB6eF90dmVuY19l bmNvZGVyX2Z1bmNzID0gewo+ICsJLmRlc3Ryb3kgPSBkcm1fZW5jb2Rlcl9jbGVhbnVwLAo+ICt9 Owo+ICsKPiArc3RhdGljIGludCB6eF90dmVuY19jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gK3sKPiArCXN0cnVjdCB6eF90dmVuYyAqdHZlbmMg PSB0b196eF90dmVuYyhjb25uZWN0b3IpOwo+ICsJc3RydWN0IGRldmljZSAqZGV2ID0gdHZlbmMt PmRldjsKPiArCWludCBpOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHR2ZW5j X21vZGVzKTsgaSsrKSB7Cj4gKwkJY29uc3Qgc3RydWN0IHp4X3R2ZW5jX21vZGUgKnptb2RlID0g dHZlbmNfbW9kZXNbaV07Cj4gKwkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gKwo+ ICsJCW1vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUoY29ubmVjdG9yLT5kZXYsICZ6bW9kZS0+bW9k ZSk7Cj4gKwkJaWYgKCFtb2RlKSB7Cj4gKwkJCURSTV9ERVZfRVJST1IoZGV2LCAiZmFpbGVkIHRv IGR1cGxpY2F0ZSBkcm0gbW9kZVxuIik7Cj4gKwkJCWNvbnRpbnVlOwo+ICsJCX0KPiArCj4gKwkJ ZHJtX21vZGVfc2V0X25hbWUobW9kZSk7Cj4gKwkJZHJtX21vZGVfcHJvYmVkX2FkZChjb25uZWN0 b3IsIG1vZGUpOwo+ICsJfQo+ICsKPiArCXJldHVybiBpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgZW51 bSBkcm1fbW9kZV9zdGF0dXMKPiArenhfdHZlbmNfY29ubmVjdG9yX21vZGVfdmFsaWQoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiArCQkJICAgICAgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGUpCj4gK3sKPiArCXN0cnVjdCB6eF90dmVuYyAqdHZlbmMgPSB0b196eF90dmVu Yyhjb25uZWN0b3IpOwo+ICsJY29uc3Qgc3RydWN0IHp4X3R2ZW5jX21vZGUgKnptb2RlOwo+ICsK PiArCXptb2RlID0genhfdHZlbmNfZmluZF96bW9kZShtb2RlKTsKPiArCWlmICghem1vZGUpIHsK PiArCQlEUk1fREVWX0VSUk9SKHR2ZW5jLT5kZXYsICJ1bnN1cHBvcnRlZCBtb2RlOiAlc1xuIiwg bW9kZS0+bmFtZSk7Cj4gKwkJcmV0dXJuIE1PREVfTk9NT0RFOwo+ICsJfQo+ICsKPiArCXJldHVy biBNT0RFX09LOwo+ICt9Cj4gKwo+ICtzdGF0aWMgc3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVy X2Z1bmNzIHp4X3R2ZW5jX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgPSB7Cj4gKwkuZ2V0X21vZGVz ID0genhfdHZlbmNfY29ubmVjdG9yX2dldF9tb2RlcywKPiArCS5tb2RlX3ZhbGlkID0genhfdHZl bmNfY29ubmVjdG9yX21vZGVfdmFsaWQsCj4gK307Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9jb25uZWN0b3JfZnVuY3MgenhfdHZlbmNfY29ubmVjdG9yX2Z1bmNzID0gewo+ICsJLmRw bXMgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHBtcywKPiArCS5maWxsX21vZGVzID0g ZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzLAo+ICsJLmRlc3Ryb3kgPSBk cm1fY29ubmVjdG9yX2NsZWFudXAsCj4gKwkucmVzZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25u ZWN0b3JfcmVzZXQsCj4gKwkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVs cGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUsCj4gKwkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUg PSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0ZSwKPiArfTsKPiArCj4g K3N0YXRpYyBpbnQgenhfdHZlbmNfcmVnaXN0ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRybSwgc3Ry dWN0IHp4X3R2ZW5jICp0dmVuYykKPiArewo+ICsJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVy ID0gJnR2ZW5jLT5lbmNvZGVyOwo+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9 ICZ0dmVuYy0+Y29ubmVjdG9yOwo+ICsKPiArCS8qCj4gKwkgKiBUaGUgdHZlbmMgaXMgZGVzaWdu ZWQgdG8gdXNlIGF1eCBjaGFubmVsLCBhcyB0aGVyZSBpcyBhIGRlZmxpY2tlcgo+ICsJICogYmxv Y2sgZm9yIHRoZSBjaGFubmVsLgo+ICsJICovCj4gKwllbmNvZGVyLT5wb3NzaWJsZV9jcnRjcyA9 IEJJVCgxKTsKPiArCj4gKwlkcm1fZW5jb2Rlcl9pbml0KGRybSwgZW5jb2RlciwgJnp4X3R2ZW5j X2VuY29kZXJfZnVuY3MsCj4gKwkJCSBEUk1fTU9ERV9FTkNPREVSX1RWREFDLCBOVUxMKTsKPiAr CWRybV9lbmNvZGVyX2hlbHBlcl9hZGQoZW5jb2RlciwgJnp4X3R2ZW5jX2VuY29kZXJfaGVscGVy X2Z1bmNzKTsKPiArCj4gKwljb25uZWN0b3ItPmludGVybGFjZV9hbGxvd2VkID0gdHJ1ZTsKPiAr Cj4gKwlkcm1fY29ubmVjdG9yX2luaXQoZHJtLCBjb25uZWN0b3IsICZ6eF90dmVuY19jb25uZWN0 b3JfZnVuY3MsCj4gKwkJCSAgIERSTV9NT0RFX0NPTk5FQ1RPUl9Db21wb3NpdGUpOwo+ICsJZHJt X2Nvbm5lY3Rvcl9oZWxwZXJfYWRkKGNvbm5lY3RvciwgJnp4X3R2ZW5jX2Nvbm5lY3Rvcl9oZWxw ZXJfZnVuY3MpOwo+ICsKPiArCWRybV9tb2RlX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2Rlcihjb25u ZWN0b3IsIGVuY29kZXIpOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50 IHp4X3R2ZW5jX3B3cmN0cmxfaW5pdChzdHJ1Y3QgenhfdHZlbmMgKnR2ZW5jKQo+ICt7Cj4gKwlz dHJ1Y3QgenhfdHZlbmNfcHdyY3RybCAqcHdyY3RybCA9ICZ0dmVuYy0+cHdyY3RybDsKPiArCXN0 cnVjdCBkZXZpY2UgKmRldiA9IHR2ZW5jLT5kZXY7Cj4gKwlzdHJ1Y3Qgb2ZfcGhhbmRsZV9hcmdz IG91dF9hcmdzOwo+ICsJc3RydWN0IHJlZ21hcCAqcmVnbWFwOwo+ICsJaW50IHJldDsKPiArCj4g KwlyZXQgPSBvZl9wYXJzZV9waGFuZGxlX3dpdGhfZml4ZWRfYXJncyhkZXYtPm9mX25vZGUsCj4g KwkJCQkienRlLHR2ZW5jLXBvd2VyLWNvbnRyb2wiLCAyLCAwLCAmb3V0X2FyZ3MpOwo+ICsJaWYg KHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICsKPiArCXJlZ21hcCA9IHN5c2Nvbl9ub2RlX3RvX3Jl Z21hcChvdXRfYXJncy5ucCk7Cj4gKwlpZiAoSVNfRVJSKHJlZ21hcCkpIHsKPiArCQlyZXQgPSBQ VFJfRVJSKHJlZ21hcCk7Cj4gKwkJZ290byBvdXQ7Cj4gKwl9Cj4gKwo+ICsJcHdyY3RybC0+cmVn bWFwID0gcmVnbWFwOwo+ICsJcHdyY3RybC0+cmVnID0gb3V0X2FyZ3MuYXJnc1swXTsKPiArCXB3 cmN0cmwtPm1hc2sgPSBvdXRfYXJncy5hcmdzWzFdOwo+ICsKPiArb3V0Ogo+ICsJb2Zfbm9kZV9w dXQob3V0X2FyZ3MubnApOwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ICsKPiArc3RhdGljIGludCB6 eF90dmVuY19iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2 b2lkICpkYXRhKQo+ICt7Cj4gKwlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gdG9fcGxh dGZvcm1fZGV2aWNlKGRldik7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtID0gZGF0YTsKPiAr CXN0cnVjdCByZXNvdXJjZSAqcmVzOwo+ICsJc3RydWN0IHp4X3R2ZW5jICp0dmVuYzsKPiArCWlu dCByZXQ7Cj4gKwo+ICsJdHZlbmMgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKnR2ZW5jKSwg R0ZQX0tFUk5FTCk7Cj4gKwlpZiAoIXR2ZW5jKQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsKPiAr CXR2ZW5jLT5kZXYgPSBkZXY7Cj4gKwlkZXZfc2V0X2RydmRhdGEoZGV2LCB0dmVuYyk7Cj4gKwo+ ICsJcmVzID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsK PiArCXR2ZW5jLT5tbWlvID0gZGV2bV9pb3JlbWFwX3Jlc291cmNlKGRldiwgcmVzKTsKPiArCWlm IChJU19FUlIodHZlbmMtPm1taW8pKSB7Cj4gKwkJcmV0ID0gUFRSX0VSUih0dmVuYy0+bW1pbyk7 Cj4gKwkJRFJNX0RFVl9FUlJPUihkZXYsICJmYWlsZWQgdG8gcmVtYXAgdHZlbmMgcmVnaW9uOiAl ZFxuIiwgcmV0KTsKPiArCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiArCXJldCA9IHp4X3R2ZW5j X3B3cmN0cmxfaW5pdCh0dmVuYyk7Cj4gKwlpZiAocmV0KSB7Cj4gKwkJRFJNX0RFVl9FUlJPUihk ZXYsICJmYWlsZWQgdG8gaW5pdCBwb3dlciBjb250cm9sOiAlZFxuIiwgcmV0KTsKPiArCQlyZXR1 cm4gcmV0Owo+ICsJfQo+ICsKPiArCXJldCA9IHp4X3R2ZW5jX3JlZ2lzdGVyKGRybSwgdHZlbmMp Owo+ICsJaWYgKHJldCkgewo+ICsJCURSTV9ERVZfRVJST1IoZGV2LCAiZmFpbGVkIHRvIHJlZ2lz dGVyIHR2ZW5jOiAlZFxuIiwgcmV0KTsKPiArCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiArCXJl dHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCB6eF90dmVuY191bmJpbmQoc3RydWN0IGRl dmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsCj4gKwkJCSAgICB2b2lkICpkYXRhKQo+ ICt7Cj4gKwkvKiBOb3RoaW5nIHRvIGRvICovCj4gK30KPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgY29tcG9uZW50X29wcyB6eF90dmVuY19jb21wb25lbnRfb3BzID0gewo+ICsJLmJpbmQgPSB6 eF90dmVuY19iaW5kLAo+ICsJLnVuYmluZCA9IHp4X3R2ZW5jX3VuYmluZCwKPiArfTsKPiArCj4g K3N0YXRpYyBpbnQgenhfdHZlbmNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK PiArewo+ICsJcmV0dXJuIGNvbXBvbmVudF9hZGQoJnBkZXYtPmRldiwgJnp4X3R2ZW5jX2NvbXBv bmVudF9vcHMpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHp4X3R2ZW5jX3JlbW92ZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICt7Cj4gKwljb21wb25lbnRfZGVsKCZwZGV2LT5kZXYs ICZ6eF90dmVuY19jb21wb25lbnRfb3BzKTsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCB6eF90dmVuY19vZl9tYXRjaFtdID0gewo+ICsJ eyAuY29tcGF0aWJsZSA9ICJ6dGUsengyOTY3MTgtdHZlbmMiLCB9LAo+ICsJeyAvKiBlbmQgKi8g fSwKPiArfTsKPiArTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgenhfdHZlbmNfb2ZfbWF0Y2gpOwo+ ICsKPiArc3RydWN0IHBsYXRmb3JtX2RyaXZlciB6eF90dmVuY19kcml2ZXIgPSB7Cj4gKwkucHJv YmUgPSB6eF90dmVuY19wcm9iZSwKPiArCS5yZW1vdmUgPSB6eF90dmVuY19yZW1vdmUsCj4gKwku ZHJpdmVyCT0gewo+ICsJCS5uYW1lID0gInp4LXR2ZW5jIiwKPiArCQkub2ZfbWF0Y2hfdGFibGUJ PSB6eF90dmVuY19vZl9tYXRjaCwKPiArCX0sCj4gK307Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS96dGUvenhfdHZlbmNfcmVncy5oIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF90dmVu Y19yZWdzLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uYmQ5 MWY1ZGNjMWYzCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhf dHZlbmNfcmVncy5oCj4gQEAgLTAsMCArMSwzMSBAQAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgMjAx NyBMaW5hcm8gTHRkLgo+ICsgKiBDb3B5cmlnaHQgMjAxNyBaVEUgQ29ycG9yYXRpb24uCj4gKyAq Cj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCj4gKyAqIHB1Ymxpc2hlZCBieSB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+ICsgKgo+ICsgKi8KPiArCj4gKyNpZm5kZWYgX19a WF9UVkVOQ19SRUdTX0hfXwo+ICsjZGVmaW5lIF9fWlhfVFZFTkNfUkVHU19IX18KPiArCj4gKyNk ZWZpbmUgVkVOQ19WSURFT19JTkZPCQkJMHgwNAo+ICsjZGVmaW5lIFZFTkNfVklERU9fUkVTCQkJ MHgwOAo+ICsjZGVmaW5lIFZFTkNfRklFTEQxX1BBUkFNCQkweDEwCj4gKyNkZWZpbmUgVkVOQ19G SUVMRDJfUEFSQU0JCTB4MTQKPiArI2RlZmluZSBWRU5DX0xJTkVfT18xCQkJMHgxOAo+ICsjZGVm aW5lIFZFTkNfTElORV9FXzEJCQkweDFjCj4gKyNkZWZpbmUgVkVOQ19MSU5FX09fMgkJCTB4MjAK PiArI2RlZmluZSBWRU5DX0xJTkVfRV8yCQkJMHgyNAo+ICsjZGVmaW5lIFZFTkNfTElORV9USU1J TkdfUEFSQU0JCTB4MjgKPiArI2RlZmluZSBWRU5DX1dFSUdIVF9WQUxVRQkJMHgyYwo+ICsjZGVm aW5lIFZFTkNfQkxBTktfQkxBQ0tfTEVWRUwJCTB4MzAKPiArI2RlZmluZSBWRU5DX0JVUlNUX0xF VkVMCQkweDM0Cj4gKyNkZWZpbmUgVkVOQ19DT05UUk9MX1BBUkFNCQkweDNjCj4gKyNkZWZpbmUg VkVOQ19TVUJfQ0FSUklFUl9QSEFTRTEJCTB4NDAKPiArI2RlZmluZSBWRU5DX1BIQVNFX0xJTkVf SU5DUl9DVkJTCTB4NDgKPiArI2RlZmluZSBWRU5DX0VOQUJMRQkJCTB4YTgKPiArCj4gKyNlbmRp ZiAvKiBfX1pYX1RWRU5DX1JFR1NfSF9fICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS96dGUvenhfdm91LmMgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X3ZvdS5jCj4gaW5kZXggODIz Yjc0ZWE3NThhLi43MWFhZjhmMmIwNzEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3p0 ZS96eF92b3UuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfdm91LmMKPiBAQCAtMTky LDYgKzE5MiwxMSBAQCBzdHJ1Y3Qgdm91X2luZiB7Cj4gIAkJLmNsb2Nrc19lbl9iaXRzID0gQklU KDI0KSB8IEJJVCgxOCkgfCBCSVQoNiksCj4gIAkJLmNsb2Nrc19zZWxfYml0cyA9IEJJVCgxMykg fCBCSVQoMiksCj4gIAl9LAo+ICsJW1ZPVV9UVl9FTkNdID0gewo+ICsJCS5kYXRhX3NlbCA9IFZP VV9ZVVY0NDQsCj4gKwkJLmNsb2Nrc19lbl9iaXRzID0gQklUKDE1KSwKPiArCQkuY2xvY2tzX3Nl bF9iaXRzID0gQklUKDExKSB8IEJJVCgwKSwKPiArCX0sCj4gIH07Cj4gIAo+ICBzdGF0aWMgaW5s aW5lIHN0cnVjdCB6eF92b3VfaHcgKmNydGNfdG9fdm91KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykK PiAtLSAKPiAxLjkuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAoKLS0gClNlYW4gUGF1bCwgU29mdHdhcmUgRW5naW5lZXIsIEdvb2dsZSAv IENocm9taXVtIE9TCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=