From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v5 5/8] drm: rcar-du: crtc: Control CMM operations Date: Tue, 15 Oct 2019 20:54:22 +0300 Message-ID: <20191015175422.GN4875@pendragon.ideasonboard.com> References: <20191015104621.62514-1-jacopo+renesas@jmondi.org> <20191015104621.62514-6-jacopo+renesas@jmondi.org> <42ae76b8-c65f-8c5e-e83a-fc6a422d2624@ideasonboard.com> <20191015133752.oyb3p6iyr3ekjxic@uno.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by gabe.freedesktop.org (Postfix) with ESMTPS id 182BE6E875 for ; Tue, 15 Oct 2019 17:54:28 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191015133752.oyb3p6iyr3ekjxic@uno.localdomain> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jacopo Mondi Cc: muroya@ksk.co.jp, horms@verge.net.au, VenkataRajesh.Kalakodima@in.bosch.com, airlied@linux.ie, koji.matsuoka.xm@renesas.com, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Kieran Bingham , geert@linux-m68k.org, seanpaul@chromium.org, Jacopo Mondi , Harsha.ManjulaMallikarjun@in.bosch.com, uli+renesas@fpond.eu, ezequiel@collabora.com List-Id: dri-devel@lists.freedesktop.org SGkgSmFjb3BvLAoKVGhhbmsgeW91IGZvciB0aGUgcGF0Y2guCgpPbiBUdWUsIE9jdCAxNSwgMjAx OSBhdCAwMzozNzo1MlBNICswMjAwLCBKYWNvcG8gTW9uZGkgd3JvdGU6Cj4gT24gVHVlLCBPY3Qg MTUsIDIwMTkgYXQgMDI6MTU6MzVQTSArMDEwMCwgS2llcmFuIEJpbmdoYW0gd3JvdGU6Cj4gPiBP biAxNS8xMC8yMDE5IDExOjQ2LCBKYWNvcG8gTW9uZGkgd3JvdGU6Cj4gPiA+IEltcGxlbWVudCBD TU0gaGFuZGxpbmcgaW4gdGhlIGNydGMgYmVnaW4gYW5kIGVuYWJsZSBhdG9taWMgY2FsbGJhY2tz LAo+ID4gPiBhbmQgZW5hYmxlIENNTSB1bml0IHRocm91Z2ggdGhlIERpc3BsYXkgRXh0ZW5zaW9u YWwgRnVuY3Rpb25zCj4gPgo+ID4gRXh0ZW5zaW9uYWwgPwo+ID4KPiA+IFBlcmhhcHMgdGhpcyBz aG91bGQganVzdCBiZSBEaXNwbGF5IEV4dGVuc2lvbiBGdW5jdGlvbnM/Cj4gPiBXb3cgLSB0aGF0 J3MgYWN0dWFsbHkgd2hhdCB0aGV5IGNhbGwgaXQgaW4gdGhlIGRhdGEtc2hlZXQuCj4gPgo+ID4g PiByZWdpc3RlciBhdCBncm91cCBzZXR1cCB0aW1lLgo+ID4KPiA+IE9ubHkgYSB0cml2aWFsIGV4 dHJhIGJsYW5rIGxpbmUgYmVsb3cgdGhhdCBJIGNhbiBmaW5kLi4uIHNvCj4gPgo+ID4gUmV2aWV3 ZWQtYnk6IEtpZXJhbiBCaW5naGFtIDxraWVyYW4uYmluZ2hhbStyZW5lc2FzQGlkZWFzb25ib2Fy ZC5jb20+Cj4gPgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBKYWNvcG8gTW9uZGkgPGphY29wbytyZW5l c2FzQGptb25kaS5vcmc+Cj4gPiA+IC0tLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL3JjYXItZHUv cmNhcl9kdV9jcnRjLmMgIHwgNzkgKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gPiAgZHJp dmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9ncm91cC5jIHwgIDUgKysKPiA+ID4gIGRyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfcmVncy5oICB8ICA1ICsrCj4gPiA+ICAzIGZpbGVz IGNoYW5nZWQsIDg5IGluc2VydGlvbnMoKykKPiA+ID4KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3JjYXIt ZHUvcmNhcl9kdV9jcnRjLmMKPiA+ID4gaW5kZXggMjNmMWQ2Y2MxNzE5Li40YmM1MGEzZjRhMDAg MTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5j Cj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jCj4gPiA+ IEBAIC0yMSw2ICsyMSw3IEBACj4gPiA+ICAjaW5jbHVkZSA8ZHJtL2RybV9wbGFuZV9oZWxwZXIu aD4KPiA+ID4gICNpbmNsdWRlIDxkcm0vZHJtX3ZibGFuay5oPgo+ID4gPgo+ID4gPiArI2luY2x1 ZGUgInJjYXJfY21tLmgiCj4gPiA+ICAjaW5jbHVkZSAicmNhcl9kdV9jcnRjLmgiCj4gPiA+ICAj aW5jbHVkZSAicmNhcl9kdV9kcnYuaCIKPiA+ID4gICNpbmNsdWRlICJyY2FyX2R1X2VuY29kZXIu aCIKPiA+ID4gQEAgLTQ3NCw2ICs0NzUsNzAgQEAgc3RhdGljIHZvaWQgcmNhcl9kdV9jcnRjX3dh aXRfcGFnZV9mbGlwKHN0cnVjdCByY2FyX2R1X2NydGMgKnJjcnRjKQo+ID4gPiAgCXJjYXJfZHVf Y3J0Y19maW5pc2hfcGFnZV9mbGlwKHJjcnRjKTsKPiA+ID4gIH0KPiA+ID4KPiA+ID4gKy8qIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+ICsgKiBDb2xvciBNYW5hZ2VtZW50IE1vZHVsZSAoQ01N KQo+ID4gPiArICovCgpNaXNzaW5nIGJsYW5rIGxpbmUuCgo+ID4gPiArc3RhdGljIGludCByY2Fy X2R1X2NtbV9lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4gPiArewo+ID4gPiArCXN0 cnVjdCByY2FyX2R1X2NydGMgKnJjcnRjID0gdG9fcmNhcl9jcnRjKGNydGMpOwo+ID4gPiArCj4g PiA+ICsJaWYgKCFyY3J0Yy0+Y21tKQo+ID4gPiArCQlyZXR1cm4gMDsKPiA+ID4gKwo+ID4gPiAr CXJldHVybiByY2FyX2NtbV9lbmFibGUocmNydGMtPmNtbSk7Cj4gPiA+ICt9Cj4gPiA+ICsKPiA+ ID4gK3N0YXRpYyB2b2lkIHJjYXJfZHVfY21tX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRj KQo+ID4gPiArewo+ID4gPiArCXN0cnVjdCByY2FyX2R1X2NydGMgKnJjcnRjID0gdG9fcmNhcl9j cnRjKGNydGMpOwo+ID4gPiArCj4gPiA+ICsJaWYgKCFyY3J0Yy0+Y21tKQo+ID4gPiArCQlyZXR1 cm47Cj4gPiA+ICsKPiA+ID4gKwlyY2FyX2NtbV9kaXNhYmxlKHJjcnRjLT5jbW0pOwo+ID4gPiAr fQoKSSB0aGluayBJIHdvdWxkIGhhdmUgaW5saW5lZCB0aG9zZSB0d28gZnVuY3Rpb25zIGluIHRo ZWlyIG9ubHkgY2FsbCBzaXRlCmFzCgoJaWYgKHJjcnRjLT5jbW0pCgkJcmNhcl9jbW1fZW5hYmxl KHJjcnRjLT5jbW0pOwoKYnV0IHRoYXQncyB1cCB0byB5b3UuCgo+ID4gPiArCj4gPiA+ICtzdGF0 aWMgaW50IHJjYXJfZHVfY21tX2NoZWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gKwkJ CSAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKPiA+ID4gK3sKPiA+ID4gKwlzdHJ1 Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmRybV9sdXQgPSBzdGF0ZS0+Z2FtbWFfbHV0Owo+ID4gPiAr CXN0cnVjdCByY2FyX2R1X2NydGMgKnJjcnRjID0gdG9fcmNhcl9jcnRjKGNydGMpOwo+ID4gPiAr CXN0cnVjdCBkZXZpY2UgKmRldiA9IHJjcnRjLT5kZXYtPmRldjsKPiA+ID4gKwo+ID4gPiArCWlm ICghcmNydGMtPmNtbSB8fCAhZHJtX2x1dCkKPiA+ID4gKwkJcmV0dXJuIDA7Cj4gPiA+ICsKPiA+ ID4gKwkvKiBXZSBvbmx5IGFjY2VwdCBmdWxseSBwb3B1bGF0ZWQgTFVUIHRhYmxlcy4gKi8KPiA+ ID4gKwlpZiAoQ00yX0xVVF9TSVpFICogc2l6ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KSAhPQo+ ID4gPiArCSAgICBkcm1fbHV0LT5sZW5ndGgpIHsKCkhvdyBhYm91dAoKCWlmIChkcm1fY29sb3Jf bHV0X3NpemUoZHJtX2x1dCkgIT0gQ00yX0xVVF9TSVpFKQoKPwoKPiA+ID4gKwkJZGV2X2Vycihk ZXYsICJpbnZhbGlkIGdhbW1hIGx1dCBzaXplOiAlbHUgYnl0ZXNcbiIsCj4gPiA+ICsJCQlkcm1f bHV0LT5sZW5ndGgpOwo+ID4gPiArCQlyZXR1cm4gLUVJTlZBTDsKPiA+ID4gKwl9Cj4gPiA+ICsK PiA+ID4gKwlyZXR1cm4gMDsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiArc3RhdGljIHZvaWQgcmNh cl9kdV9jbW1fc2V0dXAoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4gPiArewo+ID4gPiArCXN0 cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZHJtX2x1dCA9IGNydGMtPnN0YXRlLT5nYW1tYV9sdXQ7 Cj4gPiA+ICsJc3RydWN0IHJjYXJfZHVfY3J0YyAqcmNydGMgPSB0b19yY2FyX2NydGMoY3J0Yyk7 Cj4gPiA+ICsJc3RydWN0IHJjYXJfY21tX2NvbmZpZyBjbW1fY29uZmlnID0ge307Cj4gPiA+ICsK PiA+ID4gKwlpZiAoIXJjcnRjLT5jbW0pCj4gPiA+ICsJCXJldHVybjsKPiA+ID4gKwo+ID4gPiAr CWlmIChkcm1fbHV0KSB7Cj4gPiA+ICsJCWNtbV9jb25maWcubHV0LmVuYWJsZSA9IHRydWU7Cj4g PiA+ICsJCWNtbV9jb25maWcubHV0LnRhYmxlID0gKHN0cnVjdCBkcm1fY29sb3JfbHV0ICopZHJt X2x1dC0+ZGF0YTsKPiA+ID4gKwo+ID4gPiArCX0gZWxzZSB7Cj4gPiA+ICsJCWNtbV9jb25maWcu bHV0LmVuYWJsZSA9IGZhbHNlOwo+ID4gPiArCX0KClRoaXMgY291bGQgYmUgY2hhbmdlZCB0bwoK CWlmIChkcm1fbHV0KQoJCWNtbV9jb25maWcubHV0LnRhYmxlID0gKHN0cnVjdCBkcm1fY29sb3Jf bHV0ICopZHJtX2x1dC0+ZGF0YTsKCmlmIHdlIGRyb3BwZWQgdGhlIGVuYWJsZSBmaWVsZC4KCj4g PiA+ICsKPiA+ID4gKwlyY2FyX2NtbV9zZXR1cChyY3J0Yy0+Y21tLCAmY21tX2NvbmZpZyk7Cj4g PiA+ICt9Cj4gPiA+ICsKPiA+ID4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+ICAgKiBT dGFydC9TdG9wIGFuZCBTdXNwZW5kL1Jlc3VtZQo+ID4gPiAgICovCj4gPiA+IEBAIC02MTksNiAr Njg0LDggQEAgc3RhdGljIHZvaWQgcmNhcl9kdV9jcnRjX3N0b3Aoc3RydWN0IHJjYXJfZHVfY3J0 YyAqcmNydGMpCj4gPiA+ICAJaWYgKHJjYXJfZHVfaGFzKHJjcnRjLT5kZXYsIFJDQVJfRFVfRkVB VFVSRV9WU1AxX1NPVVJDRSkpCj4gPiA+ICAJCXJjYXJfZHVfdnNwX2Rpc2FibGUocmNydGMpOwo+ ID4gPgo+ID4gPiArCXJjYXJfZHVfY21tX2Rpc2FibGUoY3J0Yyk7Cj4gPiA+ICsKPiA+ID4gIAkv Kgo+ID4gPiAgCSAqIFNlbGVjdCBzd2l0Y2ggc3luYyBtb2RlLiBUaGlzIHN0b3BzIGRpc3BsYXkg b3BlcmF0aW9uIGFuZCBjb25maWd1cmVzCj4gPiA+ICAJICogdGhlIEhTWU5DIGFuZCBWU1lOQyBz aWduYWxzIGFzIGlucHV0cy4KPiA+ID4gQEAgLTYzMSw2ICs2OTgsNyBAQCBzdGF0aWMgdm9pZCBy Y2FyX2R1X2NydGNfc3RvcChzdHJ1Y3QgcmNhcl9kdV9jcnRjICpyY3J0YykKPiA+ID4gIAkJCQkJ ICAgRFNZU1JfVFZNX1NXSVRDSCk7Cj4gPiA+Cj4gPiA+ICAJcmNhcl9kdV9ncm91cF9zdGFydF9z dG9wKHJjcnRjLT5ncm91cCwgZmFsc2UpOwo+ID4gPiArCj4gPgo+ID4gRXh0cmEgYmxhbmsgbGlu ZS4uLgo+IAo+IFRoYW5rcyBmb3Igc3BvdHRpbmcgdGhpcy4gSSdtIHF1aXRlIHN1cmUgSSBydW4g Y2hlY2twYXRjaCAoSSBqdXN0Cj4gcmUtZGlkKSBhbmQgbm90IHdhcm5pbmdzIGZvciB0aGUgZXh0 cmEgd2hpdGUgc3BhY2UgaW4gdGhlIHByZXZpb3VzCj4gcGF0Y2gsIG9yIHRoaXMgZXh0cmEgYmxh bmsgbGluZSBvXzAKPiAKPiA+ID4gIH0KPiA+ID4KPiA+ID4gIC8qIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCj4gPiA+IEBAIC02NDIsNiArNzEwLDExIEBAIHN0YXRpYyBpbnQgcmNhcl9kdV9jcnRjX2F0 b21pY19jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiA+ICB7Cj4gPiA+ICAJc3RydWN0 IHJjYXJfZHVfY3J0Y19zdGF0ZSAqcnN0YXRlID0gdG9fcmNhcl9jcnRjX3N0YXRlKHN0YXRlKTsK PiA+ID4gIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7Cj4gPiA+ICsJaW50IHJldDsKPiA+ ID4gKwo+ID4gPiArCXJldCA9IHJjYXJfZHVfY21tX2NoZWNrKGNydGMsIHN0YXRlKTsKPiA+ID4g KwlpZiAocmV0KQo+ID4gPiArCQlyZXR1cm4gcmV0Owo+ID4gPgo+ID4gPiAgCS8qIFN0b3JlIHRo ZSByb3V0ZXMgZnJvbSB0aGUgQ1JUQyBvdXRwdXQgdG8gdGhlIERVIG91dHB1dHMuICovCj4gPiA+ ICAJcnN0YXRlLT5vdXRwdXRzID0gMDsKPiA+ID4gQEAgLTY2Nyw2ICs3NDAsNyBAQCBzdGF0aWMg dm9pZCByY2FyX2R1X2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4g PiA+ICAJc3RydWN0IHJjYXJfZHVfY3J0Y19zdGF0ZSAqcnN0YXRlID0gdG9fcmNhcl9jcnRjX3N0 YXRlKGNydGMtPnN0YXRlKTsKPiA+ID4gIAlzdHJ1Y3QgcmNhcl9kdV9kZXZpY2UgKnJjZHUgPSBy Y3J0Yy0+ZGV2Owo+ID4gPgo+ID4gPiArCXJjYXJfZHVfY21tX2VuYWJsZShjcnRjKTsKPiA+ID4g IAlyY2FyX2R1X2NydGNfZ2V0KHJjcnRjKTsKPiA+ID4KPiA+ID4gIAkvKgo+ID4gPiBAQCAtNjg2 LDYgKzc2MCw3IEBAIHN0YXRpYyB2b2lkIHJjYXJfZHVfY3J0Y19hdG9taWNfZW5hYmxlKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gIAl9Cj4gPiA+Cj4gPiA+ICAJcmNhcl9kdV9jcnRjX3N0 YXJ0KHJjcnRjKTsKPiA+ID4gKwlyY2FyX2R1X2NtbV9zZXR1cChjcnRjKTsKClRoaXMgaXMgdGhl IG9ubHkgcGFydCB0aGF0IHJlYWxseSBib3RoZXJzIG1lLCB3ZSBzZXR1cCB0aGUgTFVUIGFmdGVy CnN0YXJ0aW5nIHRoZSBDUlRDLCBzbyB0aGUgZmlyc3QgZnJhbWUgd2lsbCBiZSBvdXRwdXQgd2l0 aCBhIGRpc2FibGVkCkxVVCwgb3IgcG9zc2libHkgZXZlbiB3aXRoIHRoZSBMVVQgZW5hYmxlZCBp biB0aGUgbWlkZGxlIG9mIHRoZSBmcmFtZS4KRG8gSSByZWNhbGwgY29ycmVjdGx5IHRoYXQgbW92 aW5nIHNldHVwIGJlZm9yZSBzdGFydCBjYXVzZXMgaXNzdWVzID8KQ291bGQgeW91IGV4cGxhaW4g d2hhdCBoYXBwZW5zID8KCj4gPiA+ICB9Cj4gPiA+Cj4gPiA+ICBzdGF0aWMgdm9pZCByY2FyX2R1 X2NydGNfYXRvbWljX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gPiBAQCAtNzM5 LDYgKzgxNCwxMCBAQCBzdGF0aWMgdm9pZCByY2FyX2R1X2NydGNfYXRvbWljX2JlZ2luKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gIAkgKi8KPiA+ID4gIAlyY2FyX2R1X2NydGNfZ2V0KHJj cnRjKTsKPiA+ID4KPiA+ID4gKwkvKiBJZiB0aGUgYWN0aXZlIHN0YXRlIGNoYW5nZWQsIHdlIGxl dCAuYXRvbWljX2VuYWJsZSBoYW5kbGUgQ01NLiAqLwo+ID4gPiArCWlmIChjcnRjLT5zdGF0ZS0+ Y29sb3JfbWdtdF9jaGFuZ2VkICYmICFjcnRjLT5zdGF0ZS0+YWN0aXZlX2NoYW5nZWQpCj4gPiA+ ICsJCXJjYXJfZHVfY21tX3NldHVwKGNydGMpOwo+ID4KPiA+IEFoYSwgdGhpcyBpcyBxdWl0ZSBu ZWF0IGZvciBoYW5kbGluZyB0aGUgdGltaW5ncy4KPiAKPiBZZXMsIG11Y2ggbW9yZSBzdHJlYW1s aW5lZCB0aGFuIHdoYXQgd2UgaGFkLiBUaGFua3MgU2VhbiBhbmQgRXplcXVpZWwgOikKClllcywg aXQgZ3VhcmFudGVlcyB0aGF0IHRoZSBDUlRDIGlzIGVuYWJsZWQsIHNvIHdlIHNob3VsZCBiZSBz YWZlIHdpdGgKdGhlIGFzc3VtcHRpb24gZnJvbSBwYXRjaCAzLzggdGhhdCByY2FyX2R1X2NtbV9z ZXR1cCgpIGlzIGFsd2F5cyBjYWxsZWQKd2l0aCB0aGUgQ01NIGVuYWJsZWQuCgpJbnRlcmVzdGlu Z2x5IHRob3VnaCwgdGhpcyBkb2Vzbid0IGltcGxlbWVudCBhdG9taWNpdHkuIFRoYXQgd2lsbCBi ZSBhCnZlcnkgaW50ZXJlc3RpbmcgY2hhbGxlbmdlLiBXZSBzaG91bGQgdXNlIGRvdWJsZSBidWZm ZXJpbmcgb2YgdGhlIExVVCBpbgp0aGUgQ01NIHRvIGF2b2lkIGl0IGJlaW5nIG1vZGlmaWVkIGlu IHRoZSBtaWRkbGUgb2YgdGhlIGZyYW1lLCBidXQgaG93CnRvIHVwZGF0ZSBpdCBpbiBzeW5jIHdp dGggdGhlIGNvbW1pdCwgYW5kIHRodXMgdGhlIFZTUCwgcmVtYWlucyB0byBiZQpyZXNlYXJjaGVk LgoKQ291bGQgeW91IG1heWJlIGFkZCBhIFRPRE8gY29tbWVudCBpbiBwYXRjaCAzLzggdG8gbWVu dGlvbiB0aGF0IHdlCnNob3VsZCB1c2UgZG91YmxlIGJ1ZmZlcmluZyA/Cgo+ID4gPiArCj4gPiA+ ICAJaWYgKHJjYXJfZHVfaGFzKHJjcnRjLT5kZXYsIFJDQVJfRFVfRkVBVFVSRV9WU1AxX1NPVVJD RSkpCj4gPiA+ICAJCXJjYXJfZHVfdnNwX2F0b21pY19iZWdpbihyY3J0Yyk7Cj4gPiA+ICB9Cj4g PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2dyb3VwLmMg Yi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2dyb3VwLmMKPiA+ID4gaW5kZXggOWVl ZTQ3OTY5ZTc3Li41ODNkZTgwMGE2NmQgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yY2FyLWR1L3JjYXJfZHVfZ3JvdXAuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmNh ci1kdS9yY2FyX2R1X2dyb3VwLmMKPiA+ID4gQEAgLTEzNSw2ICsxMzUsNyBAQCBzdGF0aWMgdm9p ZCByY2FyX2R1X2dyb3VwX3NldHVwX2RpZHNyKHN0cnVjdCByY2FyX2R1X2dyb3VwICpyZ3JwKQo+ ID4gPiAgc3RhdGljIHZvaWQgcmNhcl9kdV9ncm91cF9zZXR1cChzdHJ1Y3QgcmNhcl9kdV9ncm91 cCAqcmdycCkKPiA+ID4gIHsKPiA+ID4gIAlzdHJ1Y3QgcmNhcl9kdV9kZXZpY2UgKnJjZHUgPSBy Z3JwLT5kZXY7Cj4gPiA+ICsJdTMyIGRlZnI3ID0gREVGUjdfQ09ERTsKPiA+ID4KPiA+ID4gIAkv KiBFbmFibGUgZXh0ZW5kZWQgZmVhdHVyZXMgKi8KPiA+ID4gIAlyY2FyX2R1X2dyb3VwX3dyaXRl KHJncnAsIERFRlIsIERFRlJfQ09ERSB8IERFRlJfREVGRSk7Cj4gPiA+IEBAIC0xNDcsNiArMTQ4 LDEwIEBAIHN0YXRpYyB2b2lkIHJjYXJfZHVfZ3JvdXBfc2V0dXAoc3RydWN0IHJjYXJfZHVfZ3Jv dXAgKnJncnApCj4gPiA+Cj4gPiA+ICAJcmNhcl9kdV9ncm91cF9zZXR1cF9waW5zKHJncnApOwo+ ID4gPgoKQ291bGQgeW91IHBsZWFzZSBhZGQgYSBjb21tZW50IGhlcmUgdG8gbWVudGlvbiB0aGF0 IHdlIHNob3VsZG4ndCByb3V0ZQp0aHJvdWdoIENNTSBpZiBubyBjb2xvciBtYW5hZ2VtZW50IGZl YXR1cmUgaXMgdXNlZCA/CgoJLyoKCSAqIFRPRE86IEhhbmRsaW5nIHJvdXRpbmcgdGhlIERVIG91 dHB1dCB0byBDTU0gZHluYW1pY2FsbHksIGFzIHdlIHNob3VsZAoJICogYnlwYXNzIENNTSBjb21w bGV0ZWx5IHdoZW4gbm8gY29sb3IgbWFuYWdlbWVudCBmZWF0dXJlIGlzIHVzZWQuCgkgKi8KCj4g PiA+ICsJZGVmcjcgfD0gKHJncnAtPmNtbXNfbWFzayAmIEJJVCgxKSA/IERFRlI3X0NNTUUxIDog MCkgfAo+ID4gPiArCQkgKHJncnAtPmNtbXNfbWFzayAmIEJJVCgwKSA/IERFRlI3X0NNTUUwIDog MCk7Cj4gPiA+ICsJcmNhcl9kdV9ncm91cF93cml0ZShyZ3JwLCBERUZSNywgZGVmcjcpOwo+ID4g PiArCj4gPiA+ICAJaWYgKHJjZHUtPmluZm8tPmdlbiA+PSAyKSB7Cj4gPiA+ICAJCXJjYXJfZHVf Z3JvdXBfc2V0dXBfZGVmcjgocmdycCk7Cj4gPiA+ICAJCXJjYXJfZHVfZ3JvdXBfc2V0dXBfZGlk c3IocmdycCk7Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2Fy X2R1X3JlZ3MuaCBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfcmVncy5oCj4gPiA+ IGluZGV4IGJjODdmMDgwYjE3MC4uZmI5OTY0OTQ5MzY4IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X3JlZ3MuaAo+ID4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vcmNhci1kdS9yY2FyX2R1X3JlZ3MuaAo+ID4gPiBAQCAtMTk3LDYgKzE5NywxMSBAQAo+ ID4gPiAgI2RlZmluZSBERUZSNl9NTE9TMQkJKDEgPDwgMikKPiA+ID4gICNkZWZpbmUgREVGUjZf REVGQVVMVAkJKERFRlI2X0NPREUgfCBERUZSNl9UQ05FMSkKPiA+ID4KPiA+ID4gKyNkZWZpbmUg REVGUjcJCQkweDAwMGVjCj4gPiA+ICsjZGVmaW5lIERFRlI3X0NPREUJCSgweDc3NzkgPDwgMTYp Cj4gPiA+ICsjZGVmaW5lIERFRlI3X0NNTUUxCQlCSVQoNikKPiA+ID4gKyNkZWZpbmUgREVGUjdf Q01NRTAJCUJJVCg0KQo+ID4gPiArCj4gPiA+ICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4g PiAgICogUjhBNzc5MC1vbmx5IENvbnRyb2wgUmVnaXN0ZXJzCj4gPiA+ICAgKi8KPiA+ID4KCi0t IApSZWdhcmRzLAoKTGF1cmVudCBQaW5jaGFydApfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWw=