From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ying Liu Subject: Re: [PATCH 10/10] drm/imx: ipuv3-plane: use drm_plane_helper_check_state, clipped coordinates Date: Thu, 20 Oct 2016 16:51:30 +0800 Message-ID: References: <1476872477-29493-1-git-send-email-p.zabel@pengutronix.de> <1476872477-29493-10-git-send-email-p.zabel@pengutronix.de> <20161020084134.GO4329@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk0-x244.google.com (mail-qk0-x244.google.com [IPv6:2607:f8b0:400d:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 50E1A6EAC4 for ; Thu, 20 Oct 2016 08:51:32 +0000 (UTC) Received: by mail-qk0-x244.google.com with SMTP id v138so3881661qka.2 for ; Thu, 20 Oct 2016 01:51:32 -0700 (PDT) In-Reply-To: <20161020084134.GO4329@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: kernel@pengutronix.de, DRI Development List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBPY3QgMjAsIDIwMTYgYXQgNDo0MSBQTSwgVmlsbGUgU3lyasOkbMOkCjx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4gT24gVGh1LCBPY3QgMjAsIDIwMTYgYXQg MDM6NTM6NDZQTSArMDgwMCwgWWluZyBMaXUgd3JvdGU6Cj4+IE9uIFdlZCwgT2N0IDE5LCAyMDE2 IGF0IDY6MjEgUE0sIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+IHdyb3Rl Ogo+PiA+IFVzZSBkcm1fcGxhbmVfaGVscGVyX2NoZWNrX3N0YXRlIHRvIGNsaXAgcmF3IHVzZXIg Y29vcmRpbmF0ZXMgdG8gY3J0Ywo+PiA+IGJvdW5kcy4gVGhpcyBjaGVja3MgZm9yIGZ1bGwgcGxh bmUgY292ZXJhZ2UgYW5kIHNjYWxpbmcgYWxyZWFkeSwgc28KPj4gPiB3ZSBjYW4gZHJvcCBzb21l IGN1c3RvbSBjaGVja3MuIFVzZSB0aGUgY2xpcHBlZCBjb29yZGluYXRlcyBldmVyeXdoZXJlLgo+ PiA+Cj4+ID4gU3VnZ2VzdGVkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPgo+PiA+IFNpZ25lZC1vZmYtYnk6IFBoaWxpcHAgWmFiZWwgPHAuemFiZWxA cGVuZ3V0cm9uaXguZGU+Cj4+ID4gLS0tCj4+ID4gIGRyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMt cGxhbmUuYyB8IDc4ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiA+ ICAxIGZpbGUgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCj4+ID4K Pj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5jIGIvZHJp dmVycy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5jCj4+ID4gaW5kZXggNmE5N2UzOTYuLmYwY2U4 OTkgMTAwNjQ0Cj4+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5jCj4+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5jCj4+ID4gQEAgLTcwLDgg KzcwLDggQEAgZHJtX3BsYW5lX3N0YXRlX3RvX2ViYShzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpz dGF0ZSkKPj4gPiAgewo+PiA+ICAgICAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBz dGF0ZS0+ZmI7Cj4+ID4gICAgICAgICBzdHJ1Y3QgZHJtX2dlbV9jbWFfb2JqZWN0ICpjbWFfb2Jq Owo+PiA+IC0gICAgICAgaW50IHggPSBzdGF0ZS0+c3JjX3ggPj4gMTY7Cj4+ID4gLSAgICAgICBp bnQgeSA9IHN0YXRlLT5zcmNfeSA+PiAxNjsKPj4gPiArICAgICAgIGludCB4ID0gc3RhdGUtPnNy Yy54MSA+PiAxNjsKPj4gPiArICAgICAgIGludCB5ID0gc3RhdGUtPnNyYy55MSA+PiAxNjsKPj4g Pgo+PiA+ICAgICAgICAgY21hX29iaiA9IGRybV9mYl9jbWFfZ2V0X2dlbV9vYmooZmIsIDApOwo+ PiA+ICAgICAgICAgQlVHX09OKCFjbWFfb2JqKTsKPj4gPiBAQCAtODYsOCArODYsOCBAQCBkcm1f cGxhbmVfc3RhdGVfdG9fdWJvKHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQo+PiA+ICAg ICAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBzdGF0ZS0+ZmI7Cj4+ID4gICAgICAg ICBzdHJ1Y3QgZHJtX2dlbV9jbWFfb2JqZWN0ICpjbWFfb2JqOwo+PiA+ICAgICAgICAgdW5zaWdu ZWQgbG9uZyBlYmEgPSBkcm1fcGxhbmVfc3RhdGVfdG9fZWJhKHN0YXRlKTsKPj4gPiAtICAgICAg IGludCB4ID0gc3RhdGUtPnNyY194ID4+IDE2Owo+PiA+IC0gICAgICAgaW50IHkgPSBzdGF0ZS0+ c3JjX3kgPj4gMTY7Cj4+ID4gKyAgICAgICBpbnQgeCA9IHN0YXRlLT5zcmMueDEgPj4gMTY7Cj4+ ID4gKyAgICAgICBpbnQgeSA9IHN0YXRlLT5zcmMueTEgPj4gMTY7Cj4+ID4KPj4gPiAgICAgICAg IGNtYV9vYmogPSBkcm1fZmJfY21hX2dldF9nZW1fb2JqKGZiLCAxKTsKPj4gPiAgICAgICAgIEJV R19PTighY21hX29iaik7Cj4+ID4gQEAgLTEwNSw4ICsxMDUsOCBAQCBkcm1fcGxhbmVfc3RhdGVf dG9fdmJvKHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQo+PiA+ICAgICAgICAgc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBzdGF0ZS0+ZmI7Cj4+ID4gICAgICAgICBzdHJ1Y3QgZHJt X2dlbV9jbWFfb2JqZWN0ICpjbWFfb2JqOwo+PiA+ICAgICAgICAgdW5zaWduZWQgbG9uZyBlYmEg PSBkcm1fcGxhbmVfc3RhdGVfdG9fZWJhKHN0YXRlKTsKPj4gPiAtICAgICAgIGludCB4ID0gc3Rh dGUtPnNyY194ID4+IDE2Owo+PiA+IC0gICAgICAgaW50IHkgPSBzdGF0ZS0+c3JjX3kgPj4gMTY7 Cj4+ID4gKyAgICAgICBpbnQgeCA9IHN0YXRlLT5zcmMueDEgPj4gMTY7Cj4+ID4gKyAgICAgICBp bnQgeSA9IHN0YXRlLT5zcmMueTEgPj4gMTY7Cj4+ID4KPj4gPiAgICAgICAgIGNtYV9vYmogPSBk cm1fZmJfY21hX2dldF9nZW1fb2JqKGZiLCAyKTsKPj4gPiAgICAgICAgIEJVR19PTighY21hX29i aik7Cj4+ID4gQEAgLTIxOCw3ICsyMTgsMTAgQEAgc3RhdGljIGludCBpcHVfcGxhbmVfYXRvbWlj X2NoZWNrKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+PiA+ICAgICAgICAgc3RydWN0IGRybV9m cmFtZWJ1ZmZlciAqZmIgPSBzdGF0ZS0+ZmI7Cj4+ID4gICAgICAgICBzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpvbGRfZmIgPSBvbGRfc3RhdGUtPmZiOwo+PiA+ICAgICAgICAgdW5zaWduZWQgbG9u ZyBlYmEsIHVibywgdmJvLCBvbGRfdWJvLCBvbGRfdmJvOwo+PiA+ICsgICAgICAgYm9vbCBjYW5f cG9zaXRpb24gPSAocGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSk7Cj4+ID4g KyAgICAgICBzdHJ1Y3QgZHJtX3JlY3QgY2xpcDsKPj4gPiAgICAgICAgIGludCBoc3ViLCB2c3Vi Owo+PiA+ICsgICAgICAgaW50IHJldDsKPj4gPgo+PiA+ICAgICAgICAgLyogT2sgdG8gZGlzYWJs ZSAqLwo+PiA+ICAgICAgICAgaWYgKCFmYikKPj4gPiBAQCAtMjMyLDQ0ICsyMzUsMzUgQEAgc3Rh dGljIGludCBpcHVfcGxhbmVfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ PiA+ICAgICAgICAgaWYgKFdBUk5fT04oIWNydGNfc3RhdGUpKQo+PiA+ICAgICAgICAgICAgICAg ICByZXR1cm4gLUVJTlZBTDsKPj4gPgo+PiA+ICsgICAgICAgY2xpcC54MSA9IDA7Cj4+ID4gKyAg ICAgICBjbGlwLnkxID0gMDsKPj4gPiArICAgICAgIGNsaXAueDIgPSBjcnRjX3N0YXRlLT5hZGp1 c3RlZF9tb2RlLmhkaXNwbGF5Owo+PiA+ICsgICAgICAgY2xpcC55MiA9IGNydGNfc3RhdGUtPmFk anVzdGVkX21vZGUudmRpc3BsYXk7Cj4+ID4gKyAgICAgICByZXQgPSBkcm1fcGxhbmVfaGVscGVy X2NoZWNrX3N0YXRlKHN0YXRlLCAmY2xpcCwKPj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HLAo+PiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEUk1fUExBTkVfSEVMUEVSX05P X1NDQUxJTkcsCj4+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNhbl9wb3NpdGlvbiwgdHJ1ZSk7Cj4+ID4gKyAgICAgICBpZiAocmV0KQo+PiA+ICsgICAgICAg ICAgICAgICByZXR1cm4gcmV0Owo+Pgo+PiBEb2VzIHRoZSBjbGlwIHRoaW5nIHBvdGVudGlhbGx5 IGNoYW5nZSB0aGUgdXNlcidzIHJlcXVlc3QgYnkgZm9yY2U/Cj4+IEZvciBleGFtcGxlLCB0aGUg dXNlciByZXF1ZXN0IGFuIHVucmVhc29uYWJsZSBiaWcgcmVzb2x1dGlvbi4KPgo+IFRoZSB1c2Vy IGlzIGFsbG93ZWQgdG8gYXNrIGZvciBkZXN0aW5hdGlvbiBjb29yZGluYXRlcyBleHRlbmRpbmcg b3V0c2lkZQo+IHRoZSBjcnRjIGRpbWVuc2lvbnMuIFRoaXMgd2lsbCBjaG9wIG9mZiB0aGUgcGFy dHMgdGhhdCBhcmVuJ3QgdmlzaWJsZSwKPiBhbmQgaXQgd2lsbCBjaG9wIG9mZiB0aGUgY29ycmVz cG9uZGluZyBhcmVhcyBvZiB0aGUgc291cmNlIGFzIHdlbGwuCgpIb3cgYWJvdXQgcmV0dXJuaW5n IC1FSU5WQUwgaW4gdGhpcyBjYXNlIHdoaWNoIHN0YW5kcyBmb3IKYW4gYXRvbWljIGNoZWNrIGZh aWx1cmU/Cgo+Cj4+Cj4+ID4gKwo+PiA+ICAgICAgICAgLyogQ1JUQyBzaG91bGQgYmUgZW5hYmxl ZCAqLwo+PiA+ICAgICAgICAgaWYgKCFjcnRjX3N0YXRlLT5lbmFibGUpCj4+ID4gICAgICAgICAg ICAgICAgIHJldHVybiAtRUlOVkFMOwo+PiA+Cj4+ID4gLSAgICAgICAvKiBubyBzY2FsaW5nICov Cj4+ID4gLSAgICAgICBpZiAoc3RhdGUtPnNyY193ID4+IDE2ICE9IHN0YXRlLT5jcnRjX3cgfHwK Pj4gPiAtICAgICAgICAgICBzdGF0ZS0+c3JjX2ggPj4gMTYgIT0gc3RhdGUtPmNydGNfaCkKPj4g PiAtICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+ID4gLQo+PiA+ICAgICAgICAgc3dp dGNoIChwbGFuZS0+dHlwZSkgewo+PiA+ICAgICAgICAgY2FzZSBEUk1fUExBTkVfVFlQRV9QUklN QVJZOgo+PiA+IC0gICAgICAgICAgICAgICAvKiBmdWxsIHBsYW5lIGRvZXNuJ3Qgc3VwcG9ydCBw YXJ0aWFsIG9mZiBzY3JlZW4gKi8KPj4gPiAtICAgICAgICAgICAgICAgaWYgKHN0YXRlLT5jcnRj X3ggfHwgc3RhdGUtPmNydGNfeSB8fAo+PiA+IC0gICAgICAgICAgICAgICAgICAgc3RhdGUtPmNy dGNfdyAhPSBjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlLmhkaXNwbGF5IHx8Cj4+ID4gLSAgICAg ICAgICAgICAgICAgICBzdGF0ZS0+Y3J0Y19oICE9IGNydGNfc3RhdGUtPmFkanVzdGVkX21vZGUu dmRpc3BsYXkpCj4+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+ ID4gLQo+PiA+ICAgICAgICAgICAgICAgICAvKiBmdWxsIHBsYW5lIG1pbmltdW0gd2lkdGggaXMg MTMgcGl4ZWxzICovCj4+ID4gLSAgICAgICAgICAgICAgIGlmIChzdGF0ZS0+Y3J0Y193IDwgMTMp Cj4+ID4gKyAgICAgICAgICAgICAgIGlmIChkcm1fcmVjdF93aWR0aCgmc3RhdGUtPmRzdCkgPCAx MykKPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPj4gPiAgICAg ICAgICAgICAgICAgYnJlYWs7Cj4+ID4gICAgICAgICBjYXNlIERSTV9QTEFORV9UWVBFX09WRVJM QVk6Cj4+ID4gLSAgICAgICAgICAgICAgIGlmIChzdGF0ZS0+Y3J0Y194IDwgMCB8fCBzdGF0ZS0+ Y3J0Y195IDwgMCkKPj4gPiAtICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsK Pj4KPj4gSG93IGRvZXMgZHJtX3BsYW5lX2hlbHBlcl9jaGVja19zdGF0ZSgpIGNvdmVyIHRoaXMg Y2hlY2s/Cj4+Cj4+ID4gLQo+PiA+IC0gICAgICAgICAgICAgICBpZiAoc3RhdGUtPmNydGNfeCAr IHN0YXRlLT5jcnRjX3cgPgo+PiA+IC0gICAgICAgICAgICAgICAgICAgY3J0Y19zdGF0ZS0+YWRq dXN0ZWRfbW9kZS5oZGlzcGxheSkKPj4gPiAtICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g LUVJTlZBTDsKPj4gPiAtICAgICAgICAgICAgICAgaWYgKHN0YXRlLT5jcnRjX3kgKyBzdGF0ZS0+ Y3J0Y19oID4KPj4gPiAtICAgICAgICAgICAgICAgICAgIGNydGNfc3RhdGUtPmFkanVzdGVkX21v ZGUudmRpc3BsYXkpCj4+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 Cj4+Cj4+IEFuZCB0aGVzZT8KPj4KPj4gUmVnYXJkcywKPj4gTGl1IFlpbmcKPj4KPj4gPiAgICAg ICAgICAgICAgICAgYnJlYWs7Cj4+ID4gICAgICAgICBkZWZhdWx0Ogo+PiA+IC0gICAgICAgICAg ICAgICBkZXZfd2FybihkZXYsICJVbnN1cHBvcnRlZCBwbGFuZSB0eXBlXG4iKTsKPj4gPiArICAg ICAgICAgICAgICAgZGV2X3dhcm4oZGV2LCAiVW5zdXBwb3J0ZWQgcGxhbmUgdHlwZSAlZFxuIiwg cGxhbmUtPnR5cGUpOwo+PiA+ICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPj4gPiAg ICAgICAgIH0KPj4gPgo+PiA+IC0gICAgICAgaWYgKHN0YXRlLT5jcnRjX2ggPCAyKQo+PiA+ICsg ICAgICAgaWYgKGRybV9yZWN0X2hlaWdodCgmc3RhdGUtPmRzdCkgPCAyKQo+PiA+ICAgICAgICAg ICAgICAgICByZXR1cm4gLUVJTlZBTDsKPj4gPgo+PiA+ICAgICAgICAgLyoKPj4gPiBAQCAtMjc5 LDkgKzI3Myw4IEBAIHN0YXRpYyBpbnQgaXB1X3BsYW5lX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSwKPj4gPiAgICAgICAgICAqIGNhbGxiYWNrLiAgVGhlIHBsYW5lcyB3aWxs IGJlIHJlZW5hYmxlZCBpbiBwbGFuZSdzIC0+YXRvbWljX3VwZGF0ZQo+PiA+ICAgICAgICAgICog Y2FsbGJhY2suCj4+ID4gICAgICAgICAgKi8KPj4gPiAtICAgICAgIGlmIChvbGRfZmIgJiYgKHN0 YXRlLT5zcmNfdyAhPSBvbGRfc3RhdGUtPnNyY193IHx8Cj4+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RhdGUtPnNyY19oICE9IG9sZF9zdGF0ZS0+c3JjX2ggfHwKPj4gPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmYi0+cGl4ZWxfZm9ybWF0ICE9IG9sZF9mYi0+cGl4 ZWxfZm9ybWF0KSkKPj4gPiArICAgICAgIGlmIChvbGRfZmIgJiYgKCFkcm1fcmVjdF9lcXVhbHMo JnN0YXRlLT5kc3QsICZvbGRfc3RhdGUtPmRzdCkgfHwKPj4gPiArICAgICAgICAgICAgICAgICAg ICAgIGZiLT5waXhlbF9mb3JtYXQgIT0gb2xkX2ZiLT5waXhlbF9mb3JtYXQpKQo+PiA+ICAgICAg ICAgICAgICAgICBjcnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQgPSB0cnVlOwo+PiA+Cj4+ID4gICAg ICAgICBlYmEgPSBkcm1fcGxhbmVfc3RhdGVfdG9fZWJhKHN0YXRlKTsKPj4gPiBAQCAtMzUwLDgg KzM0Myw4IEBAIHN0YXRpYyBpbnQgaXB1X3BsYW5lX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKPj4gPiAgICAgICAgICAgICAgICAgICovCj4+ID4gICAgICAgICAgICAgICAg IGhzdWIgPSBkcm1fZm9ybWF0X2hvcnpfY2hyb21hX3N1YnNhbXBsaW5nKGZiLT5waXhlbF9mb3Jt YXQpOwo+PiA+ICAgICAgICAgICAgICAgICB2c3ViID0gZHJtX2Zvcm1hdF92ZXJ0X2Nocm9tYV9z dWJzYW1wbGluZyhmYi0+cGl4ZWxfZm9ybWF0KTsKPj4gPiAtICAgICAgICAgICAgICAgaWYgKCgo c3RhdGUtPnNyY194ID4+IDE2KSAmIChoc3ViIC0gMSkpIHx8Cj4+ID4gLSAgICAgICAgICAgICAg ICAgICAoKHN0YXRlLT5zcmNfeSA+PiAxNikgJiAodnN1YiAtIDEpKSkKPj4gPiArICAgICAgICAg ICAgICAgaWYgKCgoc3RhdGUtPnNyYy54MSA+PiAxNikgJiAoaHN1YiAtIDEpKSB8fAo+PiA+ICsg ICAgICAgICAgICAgICAgICAgKChzdGF0ZS0+c3JjLnkxID4+IDE2KSAmICh2c3ViIC0gMSkpKQo+ PiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+PiA+ICAgICAgICAg fQo+PiA+Cj4+ID4gQEAgLTM5NSw4ICszODgsOCBAQCBzdGF0aWMgdm9pZCBpcHVfcGxhbmVfYXRv bWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPj4gPiAgICAgICAgICAgICAgICAg aWNzID0gaXB1X2RybV9mb3VyY2NfdG9fY29sb3JzcGFjZShzdGF0ZS0+ZmItPnBpeGVsX2Zvcm1h dCk7Cj4+ID4gICAgICAgICAgICAgICAgIGlwdV9kcF9zZXR1cF9jaGFubmVsKGlwdV9wbGFuZS0+ ZHAsIGljcywKPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVBV VjNfQ09MT1JTUEFDRV9VTktOT1dOKTsKPj4gPiAtICAgICAgICAgICAgICAgaXB1X2RwX3NldF93 aW5kb3dfcG9zKGlwdV9wbGFuZS0+ZHAsIHN0YXRlLT5jcnRjX3gsCj4+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5jcnRjX3kpOwo+PiA+ICsgICAgICAg ICAgICAgICBpcHVfZHBfc2V0X3dpbmRvd19wb3MoaXB1X3BsYW5lLT5kcCwKPj4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5kc3QueDEsIHN0YXRlLT5kc3Qu eTEpOwo+PiA+ICAgICAgICAgICAgICAgICAvKiBFbmFibGUgbG9jYWwgYWxwaGEgb24gcGFydGlh bCBwbGFuZSAqLwo+PiA+ICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0YXRlLT5mYi0+cGl4ZWxf Zm9ybWF0KSB7Cj4+ID4gICAgICAgICAgICAgICAgIGNhc2UgRFJNX0ZPUk1BVF9BUkdCMTU1NToK Pj4gPiBAQCAtNDE2LDExICs0MDksMTIgQEAgc3RhdGljIHZvaWQgaXB1X3BsYW5lX2F0b21pY191 cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4+ID4gICAgICAgICAgICAgICAgIH0KPj4g PiAgICAgICAgIH0KPj4gPgo+PiA+IC0gICAgICAgaXB1X2RtZmNfY29uZmlnX3dhaXQ0ZW90KGlw dV9wbGFuZS0+ZG1mYywgc3RhdGUtPmNydGNfdyk7Cj4+ID4gKyAgICAgICBpcHVfZG1mY19jb25m aWdfd2FpdDRlb3QoaXB1X3BsYW5lLT5kbWZjLCBkcm1fcmVjdF93aWR0aCgmc3RhdGUtPmRzdCkp Owo+PiA+Cj4+ID4gICAgICAgICBpcHVfY3BtZW1femVybyhpcHVfcGxhbmUtPmlwdV9jaCk7Cj4+ ID4gLSAgICAgICBpcHVfY3BtZW1fc2V0X3Jlc29sdXRpb24oaXB1X3BsYW5lLT5pcHVfY2gsIHN0 YXRlLT5zcmNfdyA+PiAxNiwKPj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RhdGUtPnNyY19oID4+IDE2KTsKPj4gPiArICAgICAgIGlwdV9jcG1lbV9zZXRfcmVz b2x1dGlvbihpcHVfcGxhbmUtPmlwdV9jaCwKPj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkcm1fcmVjdF93aWR0aCgmc3RhdGUtPnNyYykgPj4gMTYsCj4+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZHJtX3JlY3RfaGVpZ2h0KCZzdGF0ZS0+c3JjKSA+PiAx Nik7Cj4+ID4gICAgICAgICBpcHVfY3BtZW1fc2V0X2ZtdChpcHVfcGxhbmUtPmlwdV9jaCwgc3Rh dGUtPmZiLT5waXhlbF9mb3JtYXQpOwo+PiA+ICAgICAgICAgaXB1X2NwbWVtX3NldF9oaWdoX3By aW9yaXR5KGlwdV9wbGFuZS0+aXB1X2NoKTsKPj4gPiAgICAgICAgIGlwdV9pZG1hY19zZXRfZG91 YmxlX2J1ZmZlcihpcHVfcGxhbmUtPmlwdV9jaCwgMSk7Cj4+ID4gQEAgLTQ0NCw3ICs0MzgsNyBA QCBzdGF0aWMgdm9pZCBpcHVfcGxhbmVfYXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKPj4gPgo+PiA+ICAgICAgICAgICAgICAgICBkZXZfZGJnKGlwdV9wbGFuZS0+YmFzZS5k ZXYtPmRldiwKPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAicGh5ID0gJWx1ICVsdSAlbHUs IHggPSAlZCwgeSA9ICVkIiwgZWJhLCB1Ym8sIHZibywKPj4gPiAtICAgICAgICAgICAgICAgICAg ICAgICBzdGF0ZS0+c3JjX3ggPj4gMTYsIHN0YXRlLT5zcmNfeSA+PiAxNik7Cj4+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgc3RhdGUtPnNyYy54MSA+PiAxNiwgc3RhdGUtPnNyYy55MSA+PiAx Nik7Cj4+ID4gICAgICAgICAgICAgICAgIGJyZWFrOwo+PiA+ICAgICAgICAgY2FzZSBEUk1fRk9S TUFUX05WMTI6Cj4+ID4gICAgICAgICBjYXNlIERSTV9GT1JNQVRfTlYxNjoKPj4gPiBAQCAtNDU1 LDExICs0NDksMTEgQEAgc3RhdGljIHZvaWQgaXB1X3BsYW5lX2F0b21pY191cGRhdGUoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCj4+ID4KPj4gPiAgICAgICAgICAgICAgICAgZGV2X2RiZyhpcHVf cGxhbmUtPmJhc2UuZGV2LT5kZXYsCj4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgInBoeSA9 ICVsdSAlbHUsIHggPSAlZCwgeSA9ICVkIiwgZWJhLCB1Ym8sCj4+ID4gLSAgICAgICAgICAgICAg ICAgICAgICAgc3RhdGUtPnNyY194ID4+IDE2LCBzdGF0ZS0+c3JjX3kgPj4gMTYpOwo+PiA+ICsg ICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5zcmMueDEgPj4gMTYsIHN0YXRlLT5zcmMueTEg Pj4gMTYpOwo+PiA+ICAgICAgICAgICAgICAgICBicmVhazsKPj4gPiAgICAgICAgIGRlZmF1bHQ6 Cj4+ID4gICAgICAgICAgICAgICAgIGRldl9kYmcoaXB1X3BsYW5lLT5iYXNlLmRldi0+ZGV2LCAi cGh5cyA9ICVsdSwgeCA9ICVkLCB5ID0gJWQiLAo+PiA+IC0gICAgICAgICAgICAgICAgICAgICAg IGViYSwgc3RhdGUtPnNyY194ID4+IDE2LCBzdGF0ZS0+c3JjX3kgPj4gMTYpOwo+PiA+ICsgICAg ICAgICAgICAgICAgICAgICAgIGViYSwgc3RhdGUtPnNyYy54MSA+PiAxNiwgc3RhdGUtPnNyYy55 MSA+PiAxNik7Cj4+ID4gICAgICAgICAgICAgICAgIGJyZWFrOwo+PiA+ICAgICAgICAgfQo+PiA+ ICAgICAgICAgaXB1X2NwbWVtX3NldF9idWZmZXIoaXB1X3BsYW5lLT5pcHVfY2gsIDAsIGViYSk7 Cj4+ID4gLS0KPj4gPiAyLjkuMwo+PiA+Cj4KPiAtLQo+IFZpbGxlIFN5cmrDpGzDpAo+IEludGVs IE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK