From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Armstrong Subject: Re: [PATCH 2/3] drm/meson: add RDMA module driver Date: Thu, 17 Oct 2019 11:37:28 +0200 Message-ID: <345e0035-c375-bcb4-8d1f-92f13e16fddb@baylibre.com> References: <20191015113317.8870-1-narmstrong@baylibre.com> <20191015113317.8870-3-narmstrong@baylibre.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm1-x343.google.com (mail-wm1-x343.google.com [IPv6:2a00:1450:4864:20::343]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7395D6EA1A for ; Thu, 17 Oct 2019 09:37:31 +0000 (UTC) Received: by mail-wm1-x343.google.com with SMTP id 3so1788674wmi.3 for ; Thu, 17 Oct 2019 02:37:31 -0700 (PDT) In-Reply-To: <20191015113317.8870-3-narmstrong@baylibre.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: khilman@baylibre.com, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org T24gMTUvMTAvMjAxOSAxMzozMywgTmVpbCBBcm1zdHJvbmcgd3JvdGU6Cj4gVGhlIFZQVSBlbWJl ZHMgYSAiUmVnaXN0ZXIgRE1BIiB0aGF0IGNhbiB3cml0ZSBhIHNlcXVlbmNlIG9mIHJlZ2lzdGVy cwo+IG9uIHRoZSBWUFUgQUhCIGJ1cywgZWl0aGVyIG1hbnVhbGx5IG9yIHRyaWdnZXJlZCBieSBh biBpbnRlcm5hbCBJUlEKPiBldmVudCBsaWtlIFZTWU5DIG9yIGEgbGluZSBpbnB1dCBjb3VudGVy Lgo+IAo+IFRoZSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGhhbmRsZXMgYSBzaW5nbGUgY2hhbm5l bCAob3ZlciA4KSwgdHJpZ2dlcmVkCj4gYnkgdGhlIFZTWU5DIGlycSBhbmQgZG9lcyBub3QgaGFu ZGxlIHRoZSBSRE1BIGlycS4KPiAKPiBUaGUgUkRNQSB3aWxsIGJlIHVzZWZ1bGwgdG8gcmVzZXQg YW5kIHByb2dyYW0gdGhlIEFGQkMgZGVjb2RlciB1bml0Cj4gb24gZWFjaCB2c3luYyB3aXRob3V0 IGludm9sdmluZyB0aGUgaW50ZXJydXB0IGhhbmRsZXIgdGhhdCBjYW4KPiBiZSBtYXNrZWQgZm9y IGEgbG9uZyBwZXJpb2Qgb2YgdGltZSwgcHJvZHVjaW5nIGRpc3BsYXkgZ2xpdGNoZXMuCj4gCj4g U2lnbmVkLW9mZi1ieTogTmVpbCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPgo+ IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVzb24vTWFrZWZpbGUgICAgIHwgICAyICstCj4gIGRy aXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9kcnYuYyAgfCAgMTQgKysrLQo+ICBkcml2ZXJzL2dw dS9kcm0vbWVzb24vbWVzb25fZHJ2LmggIHwgICA2ICsrCj4gIGRyaXZlcnMvZ3B1L2RybS9tZXNv bi9tZXNvbl9yZG1hLmMgfCAxMjMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgZHJp dmVycy9ncHUvZHJtL21lc29uL21lc29uX3JkbWEuaCB8ICAyMCArKysrKwo+ICA1IGZpbGVzIGNo YW5nZWQsIDE2MSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX3JkbWEuYwo+ICBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX3JkbWEuaAo+IAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24v TWFrZWZpbGUKPiBpbmRleCBiMWZhMDU1YWFlZDMuLjllMzZmMGM3YjgxNiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vTWFrZWZpbGUKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v bWVzb24vTWFrZWZpbGUKPiBAQCAtMSw3ICsxLDcgQEAKPiAgIyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vbmx5Cj4gIG1lc29uLWRybS15IDo9IG1lc29uX2Rydi5vIG1lc29uX3Bs YW5lLm8gbWVzb25fY3J0Yy5vIG1lc29uX3ZlbmNfY3Zicy5vCj4gIG1lc29uLWRybS15ICs9IG1l c29uX3ZpdS5vIG1lc29uX3ZwcC5vIG1lc29uX3ZlbmMubyBtZXNvbl92Y2xrLm8gbWVzb25fb3Zl cmxheS5vCj4gLW1lc29uLWRybS15ICs9IG1lc29uX29zZF9hZmJjZC5vCj4gK21lc29uLWRybS15 ICs9IG1lc29uX29zZF9hZmJjZC5vIG1lc29uX3JkbWEubwo+ICAKPiAgb2JqLSQoQ09ORklHX0RS TV9NRVNPTikgKz0gbWVzb24tZHJtLm8KPiAgb2JqLSQoQ09ORklHX0RSTV9NRVNPTl9EV19IRE1J KSArPSBtZXNvbl9kd19oZG1pLm8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lc29u L21lc29uX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX2Rydi5jCj4gaW5kZXgg MGYzMWU3MGJiOTRmLi4yMjAwZDhiNTI1MmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L21lc29uL21lc29uX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX2Ry di5jCj4gQEAgLTMzLDYgKzMzLDcgQEAKPiAgI2luY2x1ZGUgIm1lc29uX3ZlbmNfY3Zicy5oIgo+ ICAjaW5jbHVkZSAibWVzb25fdml1LmgiCj4gICNpbmNsdWRlICJtZXNvbl92cHAuaCIKPiArI2lu Y2x1ZGUgIm1lc29uX3JkbWEuaCIKPiAgCj4gICNkZWZpbmUgRFJJVkVSX05BTUUgIm1lc29uIgo+ ICAjZGVmaW5lIERSSVZFUl9ERVNDICJBbWxvZ2ljIE1lc29uIERSTSBkcml2ZXIiCj4gQEAgLTI5 NSw4ICsyOTYsMTEgQEAgc3RhdGljIGludCBtZXNvbl9kcnZfYmluZF9tYXN0ZXIoc3RydWN0IGRl dmljZSAqZGV2LCBib29sIGhhc19jb21wb25lbnRzKQo+ICAJbWVzb25fdmVuY19pbml0KHByaXYp Owo+ICAJbWVzb25fdnBwX2luaXQocHJpdik7Cj4gIAltZXNvbl92aXVfaW5pdChwcml2KTsKPiAt CWlmIChwcml2LT5hZmJjZC5vcHMpCj4gLQkJcHJpdi0+YWZiY2Qub3BzLT5pbml0KHByaXYpOwo+ ICsJaWYgKHByaXYtPmFmYmNkLm9wcykgewo+ICsJCXJldCA9IHByaXYtPmFmYmNkLm9wcy0+aW5p dChwcml2KTsKPiArCQlpZiAocmV0KQo+ICsJCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICAKPiAgCS8q IEVuY29kZXIgSW5pdGlhbGl6YXRpb24gKi8KPiAgCj4gQEAgLTM2NywxMiArMzcxLDE2IEBAIHN0 YXRpYyB2b2lkIG1lc29uX2Rydl91bmJpbmQoc3RydWN0IGRldmljZSAqZGV2KQo+ICAJCW1lc29u X2NhbnZhc19mcmVlKHByaXYtPmNhbnZhcywgcHJpdi0+Y2FudmFzX2lkX3ZkMV8yKTsKPiAgCX0K PiAgCj4gKwlpZiAocHJpdi0+YWZiY2Qub3BzKSB7Cj4gKwkJcHJpdi0+YWZiY2Qub3BzLT5yZXNl dChwcml2KTsKPiArCQltZXNvbl9yZG1hX2ZyZWUocHJpdik7Cj4gKwl9Cj4gKwo+ICAJZHJtX2Rl dl91bnJlZ2lzdGVyKGRybSk7Cj4gIAlkcm1faXJxX3VuaW5zdGFsbChkcm0pOwo+ICAJZHJtX2tt c19oZWxwZXJfcG9sbF9maW5pKGRybSk7Cj4gIAlkcm1fbW9kZV9jb25maWdfY2xlYW51cChkcm0p Owo+ICAJZHJtX2Rldl9wdXQoZHJtKTsKPiAtCj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgY29tcG9uZW50X21hc3Rlcl9vcHMgbWVzb25fZHJ2X21hc3Rlcl9vcHMgPSB7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9tZXNvbi9tZXNvbl9kcnYuaAo+IGluZGV4IGRlMjUzNDliZThhYS4uOTk5NWQ3NGM1ZGVkIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9kcnYuaAo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9kcnYuaAo+IEBAIC0xMzksNiArMTM5LDEyIEBAIHN0 cnVjdCBtZXNvbl9kcm0gewo+ICAJCXU2NCBtb2RpZmllcjsKPiAgCQl1MzIgZm9ybWF0Owo+ICAJ fSBhZmJjZDsKPiArCj4gKwlzdHJ1Y3Qgewo+ICsJCWRtYV9hZGRyX3QgYWRkcl9waHlzOwo+ICsJ CXVpbnQzMl90ICphZGRyOwo+ICsJCXVuc2lnbmVkIGludCBvZmZzZXQ7Cj4gKwl9IHJkbWE7Cj4g IH07Cj4gIAo+ICBzdGF0aWMgaW5saW5lIGludCBtZXNvbl92cHVfaXNfY29tcGF0aWJsZShzdHJ1 Y3QgbWVzb25fZHJtICpwcml2LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVzb24v bWVzb25fcmRtYS5jIGIvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX3JkbWEuYwo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi4xM2ZkOWIxNzM0MzkKPiAtLS0g L2Rldi9udWxsCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX3JkbWEuYwo+IEBA IC0wLDAgKzEsMTIzIEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ ICsvKgo+ICsgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQmF5TGlicmUsIFNBUwo+ICsgKiBBdXRob3I6 IE5laWwgQXJtc3Ryb25nIDxuYXJtc3Ryb25nQGJheWxpYnJlLmNvbT4KPiArICovCj4gKwo+ICsj aW5jbHVkZSA8bGludXgvYml0ZmllbGQuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5n Lmg+Cj4gKwo+ICsjaW5jbHVkZSAibWVzb25fZHJ2LmgiCj4gKyNpbmNsdWRlICJtZXNvbl9yZWdp c3RlcnMuaCIKPiArI2luY2x1ZGUgIm1lc29uX3JkbWEuaCIKPiArCj4gKy8qCj4gKyAqIFRoZSBW UFUgZW1iZWRzIGEgIlJlZ2lzdGVyIERNQSIgdGhhdCBjYW4gd3JpdGUgYSBzZXF1ZW5jZSBvZiBy ZWdpc3RlcnMKPiArICogb24gdGhlIFZQVSBBSEIgYnVzLCBlaXRoZXIgbWFudWFsbHkgb3IgdHJp Z2dlcmVkIGJ5IGFuIGludGVybmFsIElSUQo+ICsgKiBldmVudCBsaWtlIFZTWU5DIG9yIGEgbGlu ZSBpbnB1dCBjb3VudGVyLgo+ICsgKiBUaGUgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBoYW5kbGVz IGEgc2luZ2xlIGNoYW5uZWwgKG92ZXIgOCksIHRyaWdnZXJlZAo+ICsgKiBieSB0aGUgVlNZTkMg aXJxIGFuZCBkb2VzIG5vdCBoYW5kbGUgdGhlIFJETUEgaXJxLgo+ICsgKi8KPiArCj4gK2ludCBt ZXNvbl9yZG1hX2luaXQoc3RydWN0IG1lc29uX2RybSAqcHJpdikKPiArewo+ICsJLyogQWxsb2Nh dGUgYSBQQUdFIGJ1ZmZlciAqLwoKU2hvdWxkIGJlICJBbGxvY2F0ZSBhIDRLIGJ1ZmZlciIKCj4g Kwlwcml2LT5yZG1hLmFkZHIgPSBkbWFfYWxsb2NfY29oZXJlbnQocHJpdi0+ZGV2LCBTWl80SywK PiArCQkJCQkgICAgICZwcml2LT5yZG1hLmFkZHJfcGh5cywKPiArCQkJCQkgICAgIEdGUF9LRVJO RUwpOwo+ICsJaWYgKCFwcml2LT5yZG1hLmFkZHIpCj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gKwo+ ICsJcHJpdi0+cmRtYS5vZmZzZXQgPSAwOwo+ICsKPiArCXdyaXRlbF9yZWxheGVkKFJETUFfQ1RS TF9TV19SRVNFVCwKPiArCQkgICAgICAgcHJpdi0+aW9fYmFzZSArIF9SRUcoUkRNQV9DVFJMKSk7 Cj4gKwl3cml0ZWxfcmVsYXhlZChSRE1BX0RFRkFVTFRfQ09ORklHIHwKPiArCQkgICAgICAgRklF TERfUFJFUChSRE1BX0NUUkxfQUhCX1dSX0JVUlNULCAzKSB8Cj4gKwkJICAgICAgIEZJRUxEX1BS RVAoUkRNQV9DVFJMX0FIQl9SRF9CVVJTVCwgMCksCj4gKwkJICAgICAgIHByaXYtPmlvX2Jhc2Ug KyBfUkVHKFJETUFfQ1RSTCkpOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICt2b2lkIG1l c29uX3JkbWFfZnJlZShzdHJ1Y3QgbWVzb25fZHJtICpwcml2KQo+ICt7Cj4gKwlpZiAoIXByaXYt PnJkbWEuYWRkciAmJiAhcHJpdi0+cmRtYS5hZGRyX3BoeXMpCj4gKwkJcmV0dXJuOwo+ICsKPiAr CW1lc29uX3JkbWFfc3RvcChwcml2KTsKPiArCj4gKwlkbWFfZnJlZV9jb2hlcmVudChwcml2LT5k ZXYsIFNaXzRLLAo+ICsJCQkgIHByaXYtPnJkbWEuYWRkciwgcHJpdi0+cmRtYS5hZGRyX3BoeXMp Owo+ICsKPiArCXByaXYtPnJkbWEuYWRkciA9IE5VTEw7Cj4gKwlwcml2LT5yZG1hLmFkZHJfcGh5 cyA9IChkbWFfYWRkcl90KU5VTEw7Cj4gK30KPiArCj4gK3ZvaWQgbWVzb25fcmRtYV9zZXR1cChz dHJ1Y3QgbWVzb25fZHJtICpwcml2KQo+ICt7Cj4gKwkvKiBDaGFubmVsIDE6IFdyaXRlIEZsYWcs IE5vIEFkZHJlc3MgSW5jcmVtZW50ICovCj4gKwl3cml0ZWxfYml0c19yZWxheGVkKFJETUFfQUND RVNTX1JXX0ZMQUdfQ0hBTjEgfAo+ICsJCQkgICAgUkRNQV9BQ0NFU1NfQUREUl9JTkNfQ0hBTjEs Cj4gKwkJCSAgICBSRE1BX0FDQ0VTU19SV19GTEFHX0NIQU4xLAo+ICsJCQkgICAgcHJpdi0+aW9f YmFzZSArIF9SRUcoUkRNQV9BQ0NFU1NfQVVUTykpOwo+ICt9Cj4gKwo+ICt2b2lkIG1lc29uX3Jk bWFfc3RvcChzdHJ1Y3QgbWVzb25fZHJtICpwcml2KQo+ICt7Cj4gKwl3cml0ZWxfYml0c19yZWxh eGVkKFJETUFfSVJRX0NMRUFSX0NIQU4xLAo+ICsJCQkgICAgUkRNQV9JUlFfQ0xFQVJfQ0hBTjEs Cj4gKwkJCSAgICBwcml2LT5pb19iYXNlICsgX1JFRyhSRE1BX0NUUkwpKTsKPiArCj4gKwkvKiBT dG9wIENoYW5uZWwgMSAqLwo+ICsJd3JpdGVsX2JpdHNfcmVsYXhlZChSRE1BX0FDQ0VTU19UUklH R0VSX0NIQU4xLAo+ICsJCQkgICAgRklFTERfUFJFUChSRE1BX0FDQ0VTU19BRERSX0lOQ19DSEFO MSwKPiArCQkJCSAgICAgICBSRE1BX0FDQ0VTU19UUklHR0VSX1NUT1ApLAo+ICsJCQkgICAgcHJp di0+aW9fYmFzZSArIF9SRUcoUkRNQV9BQ0NFU1NfQVVUTykpOwo+ICt9CgpBIG1lc29uX3JkbWFf cmVzZXQoKSBjYWxsIGlzIG1pc3NpbmcgdG8gcmVzZXQgcHJpdi0+cmRtYS5vZmZzZXQKYW5kIHN0 b3AgdGhlIFJETUEgYW5kIHNob3VsZCBiZSBjYWxsZWQgYnkgYWZiY2RfcmVzZXQgaW5zdGVhZCBv ZiBzdG9wCm90aGVyIHdpc2UgdGhlIG1lc29uX3JkbWFfd3JpdGVsKCkgd2lsbCBvdmVyZmxvdyB3 aGVuIG5vdCB1c2luZyBBRkJDLgoKPiArCj4gK3N0YXRpYyB2b2lkIG1lc29uX3JkbWFfd3JpdGVs KHN0cnVjdCBtZXNvbl9kcm0gKnByaXYsIHVpbnQzMl90IHZhbCwKPiArCQkJICAgICAgdWludDMy X3QgcmVnKQo+ICt7Cj4gKwlpZiAocHJpdi0+cmRtYS5vZmZzZXQgPT0gU1pfNEspIHsKCkZvdW5k IGEgcmVncmVzc2lvbiBoZXJlLCBzaG91bGQgYmUgU1pfNEsvOAoKPiArCQlkZXZfd2Fybl9vbmNl KHByaXYtPmRldiwgIiVzOiBvdmVyZmxvd1xuIiwgX19mdW5jX18pOwo+ICsJCXJldHVybjsKPiAr CX0KPiArCj4gKwlwcml2LT5yZG1hLmFkZHJbcHJpdi0+cmRtYS5vZmZzZXQrK10gPSByZWc7Cj4g Kwlwcml2LT5yZG1hLmFkZHJbcHJpdi0+cmRtYS5vZmZzZXQrK10gPSB2YWw7Cj4gK30KPiArCj4g Ky8qCj4gKyAqIFRoaXMgd2lsbCBhZGQgdGhlIHJlZ2lzdGVyIHRvIHRoZSBSRE1BIGJ1ZmZlciBh bmQgd3JpdGUgaXQgdG8gdGhlCj4gKyAqIGhhcmR3YXJlIGF0IHRoZSBzYW1lIHRpbWUuCj4gKyAq IFdoZW4gbWVzb25fcmRtYV9mbHVzaCBpcyBjYWxsZWQsIHRoZSBSRE1BIHdpbGwgcmVwbGF5IHRo ZSByZWdpc3Rlcgo+ICsgKiB3cml0ZXMgaW4gb3JkZXIuCj4gKyAqLwo+ICt2b2lkIG1lc29uX3Jk bWFfd3JpdGVsX3N5bmMoc3RydWN0IG1lc29uX2RybSAqcHJpdiwgdWludDMyX3QgdmFsLCB1aW50 MzJfdCByZWcpCj4gK3sKPiArCW1lc29uX3JkbWFfd3JpdGVsKHByaXYsIHZhbCwgcmVnKTsKPiAr Cj4gKwl3cml0ZWxfcmVsYXhlZCh2YWwsIHByaXYtPmlvX2Jhc2UgKyBfUkVHKHJlZykpOwo+ICt9 Cj4gKwo+ICt2b2lkIG1lc29uX3JkbWFfZmx1c2goc3RydWN0IG1lc29uX2RybSAqcHJpdikKPiAr ewo+ICsJbWVzb25fcmRtYV9zdG9wKHByaXYpOwo+ICsKPiArCS8qIFN0YXJ0IG9mIENoYW5uZWwg MSByZWdpc3RlciB3cml0ZXMgYnVmZmVyICovCj4gKwl3cml0ZWwocHJpdi0+cmRtYS5hZGRyX3Bo eXMsCj4gKwkgICAgICAgcHJpdi0+aW9fYmFzZSArIF9SRUcoUkRNQV9BSEJfU1RBUlRfQUREUl8x KSk7Cj4gKwo+ICsJLyogTGFzdCBieXRlIG9uIENoYW5uZWwgMSByZWdpc3RlciB3cml0ZXMgYnVm ZmVyICovCj4gKwl3cml0ZWwocHJpdi0+cmRtYS5hZGRyX3BoeXMgKyAocHJpdi0+cmRtYS5vZmZz ZXQgKiA4KSAtIDEsCgo4IHNob3VsZCBoYXZlIGEgZGVmaW5lCgo+ICsJICAgICAgIHByaXYtPmlv X2Jhc2UgKyBfUkVHKFJETUFfQUhCX0VORF9BRERSXzEpKTsKPiArCj4gKwkvKiBUcmlnZ2VyIENo YW5uZWwgMSBvbiBWU1lOQyBldmVudCAqLwo+ICsJd3JpdGVsX2JpdHNfcmVsYXhlZChSRE1BX0FD Q0VTU19UUklHR0VSX0NIQU4xLAo+ICsJCQkgICAgRklFTERfUFJFUChSRE1BX0FDQ0VTU19UUklH R0VSX0NIQU4xLAo+ICsJCQkJICAgICAgIFJETUFfQUNDRVNTX1RSSUdHRVJfVlNZTkMpLAo+ICsJ CQkgICAgcHJpdi0+aW9fYmFzZSArIF9SRUcoUkRNQV9BQ0NFU1NfQVVUTykpOwo+ICsKPiArCXBy aXYtPnJkbWEub2Zmc2V0ID0gMDsKPiArfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bWVzb24vbWVzb25fcmRtYS5oIGIvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX3JkbWEuaAo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi44NGM4ODJmOTdkMjgK PiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX3JkbWEu aAo+IEBAIC0wLDAgKzEsMjAgQEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjArICovCj4gKy8qCj4gKyAqIENvcHlyaWdodCAoQykgMjAxOSBCYXlMaWJyZSwgU0FTCj4gKyAq IEF1dGhvcjogTmVpbCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPgo+ICsgKi8K PiArCj4gKyNpZm5kZWYgX19NRVNPTl9SRE1BX0gKPiArI2RlZmluZSBfX01FU09OX1JETUFfSAo+ ICsKPiArI2luY2x1ZGUgIm1lc29uX2Rydi5oIgo+ICsKPiAraW50IG1lc29uX3JkbWFfaW5pdChz dHJ1Y3QgbWVzb25fZHJtICpwcml2KTsKPiArdm9pZCBtZXNvbl9yZG1hX2ZyZWUoc3RydWN0IG1l c29uX2RybSAqcHJpdik7Cj4gK3ZvaWQgbWVzb25fcmRtYV9zZXR1cChzdHJ1Y3QgbWVzb25fZHJt ICpwcml2KTsKPiArdm9pZCBtZXNvbl9yZG1hX3N0b3Aoc3RydWN0IG1lc29uX2RybSAqcHJpdik7 Cj4gKwo+ICt2b2lkIG1lc29uX3JkbWFfd3JpdGVsX3N5bmMoc3RydWN0IG1lc29uX2RybSAqcHJp diwgdWludDMyX3QgdmFsLCB1aW50MzJfdCByZWcpOwo+ICt2b2lkIG1lc29uX3JkbWFfZmx1c2go c3RydWN0IG1lc29uX2RybSAqcHJpdik7Cj4gKwo+ICsjZW5kaWYgLyogX19NRVNPTl9SRE1BX0gg Ki8KPiAKCldpbGwgc2VuZCBhIFYyIHNob3J0bHkgd2l0aCB0aGVzZSBmaXhlcy4KCk5laWwKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs