From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 10/10] drm/imx: ipuv3-plane: use drm_plane_helper_check_state, clipped coordinates Date: Thu, 20 Oct 2016 11:41:34 +0300 Message-ID: <20161020084134.GO4329@intel.com> References: <1476872477-29493-1-git-send-email-p.zabel@pengutronix.de> <1476872477-29493-10-git-send-email-p.zabel@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id CE1CE6E0F9 for ; Thu, 20 Oct 2016 08:41:38 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ying Liu Cc: kernel@pengutronix.de, DRI Development List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBPY3QgMjAsIDIwMTYgYXQgMDM6NTM6NDZQTSArMDgwMCwgWWluZyBMaXUgd3JvdGU6 Cj4gT24gV2VkLCBPY3QgMTksIDIwMTYgYXQgNjoyMSBQTSwgUGhpbGlwcCBaYWJlbCA8cC56YWJl bEBwZW5ndXRyb25peC5kZT4gd3JvdGU6Cj4gPiBVc2UgZHJtX3BsYW5lX2hlbHBlcl9jaGVja19z dGF0ZSB0byBjbGlwIHJhdyB1c2VyIGNvb3JkaW5hdGVzIHRvIGNydGMKPiA+IGJvdW5kcy4gVGhp cyBjaGVja3MgZm9yIGZ1bGwgcGxhbmUgY292ZXJhZ2UgYW5kIHNjYWxpbmcgYWxyZWFkeSwgc28K PiA+IHdlIGNhbiBkcm9wIHNvbWUgY3VzdG9tIGNoZWNrcy4gVXNlIHRoZSBjbGlwcGVkIGNvb3Jk aW5hdGVzIGV2ZXJ5d2hlcmUuCj4gPgo+ID4gU3VnZ2VzdGVkLWJ5OiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogUGhpbGlw cCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1 L2RybS9pbXgvaXB1djMtcGxhbmUuYyB8IDc4ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCA0MiBkZWxl dGlvbnMoLSkKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1w bGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5jCj4gPiBpbmRleCA2YTk3 ZTM5Ni4uZjBjZTg5OSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMt cGxhbmUuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5jCj4gPiBA QCAtNzAsOCArNzAsOCBAQCBkcm1fcGxhbmVfc3RhdGVfdG9fZWJhKHN0cnVjdCBkcm1fcGxhbmVf c3RhdGUgKnN0YXRlKQo+ID4gIHsKPiA+ICAgICAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAq ZmIgPSBzdGF0ZS0+ZmI7Cj4gPiAgICAgICAgIHN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3QgKmNt YV9vYmo7Cj4gPiAtICAgICAgIGludCB4ID0gc3RhdGUtPnNyY194ID4+IDE2Owo+ID4gLSAgICAg ICBpbnQgeSA9IHN0YXRlLT5zcmNfeSA+PiAxNjsKPiA+ICsgICAgICAgaW50IHggPSBzdGF0ZS0+ c3JjLngxID4+IDE2Owo+ID4gKyAgICAgICBpbnQgeSA9IHN0YXRlLT5zcmMueTEgPj4gMTY7Cj4g Pgo+ID4gICAgICAgICBjbWFfb2JqID0gZHJtX2ZiX2NtYV9nZXRfZ2VtX29iaihmYiwgMCk7Cj4g PiAgICAgICAgIEJVR19PTighY21hX29iaik7Cj4gPiBAQCAtODYsOCArODYsOCBAQCBkcm1fcGxh bmVfc3RhdGVfdG9fdWJvKHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQo+ID4gICAgICAg ICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHN0YXRlLT5mYjsKPiA+ICAgICAgICAgc3Ry dWN0IGRybV9nZW1fY21hX29iamVjdCAqY21hX29iajsKPiA+ICAgICAgICAgdW5zaWduZWQgbG9u ZyBlYmEgPSBkcm1fcGxhbmVfc3RhdGVfdG9fZWJhKHN0YXRlKTsKPiA+IC0gICAgICAgaW50IHgg PSBzdGF0ZS0+c3JjX3ggPj4gMTY7Cj4gPiAtICAgICAgIGludCB5ID0gc3RhdGUtPnNyY195ID4+ IDE2Owo+ID4gKyAgICAgICBpbnQgeCA9IHN0YXRlLT5zcmMueDEgPj4gMTY7Cj4gPiArICAgICAg IGludCB5ID0gc3RhdGUtPnNyYy55MSA+PiAxNjsKPiA+Cj4gPiAgICAgICAgIGNtYV9vYmogPSBk cm1fZmJfY21hX2dldF9nZW1fb2JqKGZiLCAxKTsKPiA+ICAgICAgICAgQlVHX09OKCFjbWFfb2Jq KTsKPiA+IEBAIC0xMDUsOCArMTA1LDggQEAgZHJtX3BsYW5lX3N0YXRlX3RvX3ZibyhzdHJ1Y3Qg ZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkKPiA+ICAgICAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZl ciAqZmIgPSBzdGF0ZS0+ZmI7Cj4gPiAgICAgICAgIHN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3Qg KmNtYV9vYmo7Cj4gPiAgICAgICAgIHVuc2lnbmVkIGxvbmcgZWJhID0gZHJtX3BsYW5lX3N0YXRl X3RvX2ViYShzdGF0ZSk7Cj4gPiAtICAgICAgIGludCB4ID0gc3RhdGUtPnNyY194ID4+IDE2Owo+ ID4gLSAgICAgICBpbnQgeSA9IHN0YXRlLT5zcmNfeSA+PiAxNjsKPiA+ICsgICAgICAgaW50IHgg PSBzdGF0ZS0+c3JjLngxID4+IDE2Owo+ID4gKyAgICAgICBpbnQgeSA9IHN0YXRlLT5zcmMueTEg Pj4gMTY7Cj4gPgo+ID4gICAgICAgICBjbWFfb2JqID0gZHJtX2ZiX2NtYV9nZXRfZ2VtX29iaihm YiwgMik7Cj4gPiAgICAgICAgIEJVR19PTighY21hX29iaik7Cj4gPiBAQCAtMjE4LDcgKzIxOCwx MCBAQCBzdGF0aWMgaW50IGlwdV9wbGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsCj4gPiAgICAgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gc3RhdGUtPmZi Owo+ID4gICAgICAgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbGRfZmIgPSBvbGRfc3RhdGUt PmZiOwo+ID4gICAgICAgICB1bnNpZ25lZCBsb25nIGViYSwgdWJvLCB2Ym8sIG9sZF91Ym8sIG9s ZF92Ym87Cj4gPiArICAgICAgIGJvb2wgY2FuX3Bvc2l0aW9uID0gKHBsYW5lLT50eXBlID09IERS TV9QTEFORV9UWVBFX09WRVJMQVkpOwo+ID4gKyAgICAgICBzdHJ1Y3QgZHJtX3JlY3QgY2xpcDsK PiA+ICAgICAgICAgaW50IGhzdWIsIHZzdWI7Cj4gPiArICAgICAgIGludCByZXQ7Cj4gPgo+ID4g ICAgICAgICAvKiBPayB0byBkaXNhYmxlICovCj4gPiAgICAgICAgIGlmICghZmIpCj4gPiBAQCAt MjMyLDQ0ICsyMzUsMzUgQEAgc3RhdGljIGludCBpcHVfcGxhbmVfYXRvbWljX2NoZWNrKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4gICAgICAgICBpZiAoV0FSTl9PTighY3J0Y19zdGF0ZSkp Cj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPgo+ID4gKyAgICAgICBjbGlw LngxID0gMDsKPiA+ICsgICAgICAgY2xpcC55MSA9IDA7Cj4gPiArICAgICAgIGNsaXAueDIgPSBj cnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlLmhkaXNwbGF5Owo+ID4gKyAgICAgICBjbGlwLnkyID0g Y3J0Y19zdGF0ZS0+YWRqdXN0ZWRfbW9kZS52ZGlzcGxheTsKPiA+ICsgICAgICAgcmV0ID0gZHJt X3BsYW5lX2hlbHBlcl9jaGVja19zdGF0ZShzdGF0ZSwgJmNsaXAsCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5H LAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERSTV9QTEFO RV9IRUxQRVJfTk9fU0NBTElORywKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjYW5fcG9zaXRpb24sIHRydWUpOwo+ID4gKyAgICAgICBpZiAocmV0KQo+ID4g KyAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gCj4gRG9lcyB0aGUgY2xpcCB0aGluZyBwb3Rl bnRpYWxseSBjaGFuZ2UgdGhlIHVzZXIncyByZXF1ZXN0IGJ5IGZvcmNlPwo+IEZvciBleGFtcGxl LCB0aGUgdXNlciByZXF1ZXN0IGFuIHVucmVhc29uYWJsZSBiaWcgcmVzb2x1dGlvbi4KClRoZSB1 c2VyIGlzIGFsbG93ZWQgdG8gYXNrIGZvciBkZXN0aW5hdGlvbiBjb29yZGluYXRlcyBleHRlbmRp bmcgb3V0c2lkZQp0aGUgY3J0YyBkaW1lbnNpb25zLiBUaGlzIHdpbGwgY2hvcCBvZmYgdGhlIHBh cnRzIHRoYXQgYXJlbid0IHZpc2libGUsCmFuZCBpdCB3aWxsIGNob3Agb2ZmIHRoZSBjb3JyZXNw b25kaW5nIGFyZWFzIG9mIHRoZSBzb3VyY2UgYXMgd2VsbC4KCj4gCj4gPiArCj4gPiAgICAgICAg IC8qIENSVEMgc2hvdWxkIGJlIGVuYWJsZWQgKi8KPiA+ICAgICAgICAgaWYgKCFjcnRjX3N0YXRl LT5lbmFibGUpCj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPgo+ID4gLSAg ICAgICAvKiBubyBzY2FsaW5nICovCj4gPiAtICAgICAgIGlmIChzdGF0ZS0+c3JjX3cgPj4gMTYg IT0gc3RhdGUtPmNydGNfdyB8fAo+ID4gLSAgICAgICAgICAgc3RhdGUtPnNyY19oID4+IDE2ICE9 IHN0YXRlLT5jcnRjX2gpCj4gPiAtICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPiAt Cj4gPiAgICAgICAgIHN3aXRjaCAocGxhbmUtPnR5cGUpIHsKPiA+ICAgICAgICAgY2FzZSBEUk1f UExBTkVfVFlQRV9QUklNQVJZOgo+ID4gLSAgICAgICAgICAgICAgIC8qIGZ1bGwgcGxhbmUgZG9l c24ndCBzdXBwb3J0IHBhcnRpYWwgb2ZmIHNjcmVlbiAqLwo+ID4gLSAgICAgICAgICAgICAgIGlm IChzdGF0ZS0+Y3J0Y194IHx8IHN0YXRlLT5jcnRjX3kgfHwKPiA+IC0gICAgICAgICAgICAgICAg ICAgc3RhdGUtPmNydGNfdyAhPSBjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlLmhkaXNwbGF5IHx8 Cj4gPiAtICAgICAgICAgICAgICAgICAgIHN0YXRlLT5jcnRjX2ggIT0gY3J0Y19zdGF0ZS0+YWRq dXN0ZWRfbW9kZS52ZGlzcGxheSkKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAt RUlOVkFMOwo+ID4gLQo+ID4gICAgICAgICAgICAgICAgIC8qIGZ1bGwgcGxhbmUgbWluaW11bSB3 aWR0aCBpcyAxMyBwaXhlbHMgKi8KPiA+IC0gICAgICAgICAgICAgICBpZiAoc3RhdGUtPmNydGNf dyA8IDEzKQo+ID4gKyAgICAgICAgICAgICAgIGlmIChkcm1fcmVjdF93aWR0aCgmc3RhdGUtPmRz dCkgPCAxMykKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ID4g ICAgICAgICAgICAgICAgIGJyZWFrOwo+ID4gICAgICAgICBjYXNlIERSTV9QTEFORV9UWVBFX09W RVJMQVk6Cj4gPiAtICAgICAgICAgICAgICAgaWYgKHN0YXRlLT5jcnRjX3ggPCAwIHx8IHN0YXRl LT5jcnRjX3kgPCAwKQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 Cj4gCj4gSG93IGRvZXMgZHJtX3BsYW5lX2hlbHBlcl9jaGVja19zdGF0ZSgpIGNvdmVyIHRoaXMg Y2hlY2s/Cj4gCj4gPiAtCj4gPiAtICAgICAgICAgICAgICAgaWYgKHN0YXRlLT5jcnRjX3ggKyBz dGF0ZS0+Y3J0Y193ID4KPiA+IC0gICAgICAgICAgICAgICAgICAgY3J0Y19zdGF0ZS0+YWRqdXN0 ZWRfbW9kZS5oZGlzcGxheSkKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlO VkFMOwo+ID4gLSAgICAgICAgICAgICAgIGlmIChzdGF0ZS0+Y3J0Y195ICsgc3RhdGUtPmNydGNf aCA+Cj4gPiAtICAgICAgICAgICAgICAgICAgIGNydGNfc3RhdGUtPmFkanVzdGVkX21vZGUudmRp c3BsYXkpCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiAKPiBB bmQgdGhlc2U/Cj4gCj4gUmVnYXJkcywKPiBMaXUgWWluZwo+IAo+ID4gICAgICAgICAgICAgICAg IGJyZWFrOwo+ID4gICAgICAgICBkZWZhdWx0Ogo+ID4gLSAgICAgICAgICAgICAgIGRldl93YXJu KGRldiwgIlVuc3VwcG9ydGVkIHBsYW5lIHR5cGVcbiIpOwo+ID4gKyAgICAgICAgICAgICAgIGRl dl93YXJuKGRldiwgIlVuc3VwcG9ydGVkIHBsYW5lIHR5cGUgJWRcbiIsIHBsYW5lLT50eXBlKTsK PiA+ICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiA+ICAgICAgICAgfQo+ID4KPiA+ IC0gICAgICAgaWYgKHN0YXRlLT5jcnRjX2ggPCAyKQo+ID4gKyAgICAgICBpZiAoZHJtX3JlY3Rf aGVpZ2h0KCZzdGF0ZS0+ZHN0KSA8IDIpCj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5W QUw7Cj4gPgo+ID4gICAgICAgICAvKgo+ID4gQEAgLTI3OSw5ICsyNzMsOCBAQCBzdGF0aWMgaW50 IGlwdV9wbGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiAgICAg ICAgICAqIGNhbGxiYWNrLiAgVGhlIHBsYW5lcyB3aWxsIGJlIHJlZW5hYmxlZCBpbiBwbGFuZSdz IC0+YXRvbWljX3VwZGF0ZQo+ID4gICAgICAgICAgKiBjYWxsYmFjay4KPiA+ICAgICAgICAgICov Cj4gPiAtICAgICAgIGlmIChvbGRfZmIgJiYgKHN0YXRlLT5zcmNfdyAhPSBvbGRfc3RhdGUtPnNy Y193IHx8Cj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+c3JjX2ggIT0g b2xkX3N0YXRlLT5zcmNfaCB8fAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmIt PnBpeGVsX2Zvcm1hdCAhPSBvbGRfZmItPnBpeGVsX2Zvcm1hdCkpCj4gPiArICAgICAgIGlmIChv bGRfZmIgJiYgKCFkcm1fcmVjdF9lcXVhbHMoJnN0YXRlLT5kc3QsICZvbGRfc3RhdGUtPmRzdCkg fHwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgZmItPnBpeGVsX2Zvcm1hdCAhPSBvbGRfZmIt PnBpeGVsX2Zvcm1hdCkpCj4gPiAgICAgICAgICAgICAgICAgY3J0Y19zdGF0ZS0+bW9kZV9jaGFu Z2VkID0gdHJ1ZTsKPiA+Cj4gPiAgICAgICAgIGViYSA9IGRybV9wbGFuZV9zdGF0ZV90b19lYmEo c3RhdGUpOwo+ID4gQEAgLTM1MCw4ICszNDMsOCBAQCBzdGF0aWMgaW50IGlwdV9wbGFuZV9hdG9t aWNfY2hlY2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiAgICAgICAgICAgICAgICAgICov Cj4gPiAgICAgICAgICAgICAgICAgaHN1YiA9IGRybV9mb3JtYXRfaG9yel9jaHJvbWFfc3Vic2Ft cGxpbmcoZmItPnBpeGVsX2Zvcm1hdCk7Cj4gPiAgICAgICAgICAgICAgICAgdnN1YiA9IGRybV9m b3JtYXRfdmVydF9jaHJvbWFfc3Vic2FtcGxpbmcoZmItPnBpeGVsX2Zvcm1hdCk7Cj4gPiAtICAg ICAgICAgICAgICAgaWYgKCgoc3RhdGUtPnNyY194ID4+IDE2KSAmIChoc3ViIC0gMSkpIHx8Cj4g PiAtICAgICAgICAgICAgICAgICAgICgoc3RhdGUtPnNyY195ID4+IDE2KSAmICh2c3ViIC0gMSkp KQo+ID4gKyAgICAgICAgICAgICAgIGlmICgoKHN0YXRlLT5zcmMueDEgPj4gMTYpICYgKGhzdWIg LSAxKSkgfHwKPiA+ICsgICAgICAgICAgICAgICAgICAgKChzdGF0ZS0+c3JjLnkxID4+IDE2KSAm ICh2c3ViIC0gMSkpKQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 Cj4gPiAgICAgICAgIH0KPiA+Cj4gPiBAQCAtMzk1LDggKzM4OCw4IEBAIHN0YXRpYyB2b2lkIGlw dV9wbGFuZV9hdG9taWNfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4gICAgICAg ICAgICAgICAgIGljcyA9IGlwdV9kcm1fZm91cmNjX3RvX2NvbG9yc3BhY2Uoc3RhdGUtPmZiLT5w aXhlbF9mb3JtYXQpOwo+ID4gICAgICAgICAgICAgICAgIGlwdV9kcF9zZXR1cF9jaGFubmVsKGlw dV9wbGFuZS0+ZHAsIGljcywKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJUFVWM19DT0xPUlNQQUNFX1VOS05PV04pOwo+ID4gLSAgICAgICAgICAgICAgIGlwdV9k cF9zZXRfd2luZG93X3BvcyhpcHVfcGxhbmUtPmRwLCBzdGF0ZS0+Y3J0Y194LAo+ID4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5jcnRjX3kpOwo+ID4gKyAg ICAgICAgICAgICAgIGlwdV9kcF9zZXRfd2luZG93X3BvcyhpcHVfcGxhbmUtPmRwLAo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+ZHN0LngxLCBzdGF0ZS0+ ZHN0LnkxKTsKPiA+ICAgICAgICAgICAgICAgICAvKiBFbmFibGUgbG9jYWwgYWxwaGEgb24gcGFy dGlhbCBwbGFuZSAqLwo+ID4gICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RhdGUtPmZiLT5waXhl bF9mb3JtYXQpIHsKPiA+ICAgICAgICAgICAgICAgICBjYXNlIERSTV9GT1JNQVRfQVJHQjE1NTU6 Cj4gPiBAQCAtNDE2LDExICs0MDksMTIgQEAgc3RhdGljIHZvaWQgaXB1X3BsYW5lX2F0b21pY191 cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiAgICAgICAgICAgICAgICAgfQo+ID4g ICAgICAgICB9Cj4gPgo+ID4gLSAgICAgICBpcHVfZG1mY19jb25maWdfd2FpdDRlb3QoaXB1X3Bs YW5lLT5kbWZjLCBzdGF0ZS0+Y3J0Y193KTsKPiA+ICsgICAgICAgaXB1X2RtZmNfY29uZmlnX3dh aXQ0ZW90KGlwdV9wbGFuZS0+ZG1mYywgZHJtX3JlY3Rfd2lkdGgoJnN0YXRlLT5kc3QpKTsKPiA+ Cj4gPiAgICAgICAgIGlwdV9jcG1lbV96ZXJvKGlwdV9wbGFuZS0+aXB1X2NoKTsKPiA+IC0gICAg ICAgaXB1X2NwbWVtX3NldF9yZXNvbHV0aW9uKGlwdV9wbGFuZS0+aXB1X2NoLCBzdGF0ZS0+c3Jj X3cgPj4gMTYsCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rh dGUtPnNyY19oID4+IDE2KTsKPiA+ICsgICAgICAgaXB1X2NwbWVtX3NldF9yZXNvbHV0aW9uKGlw dV9wbGFuZS0+aXB1X2NoLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJt X3JlY3Rfd2lkdGgoJnN0YXRlLT5zcmMpID4+IDE2LAo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZHJtX3JlY3RfaGVpZ2h0KCZzdGF0ZS0+c3JjKSA+PiAxNik7Cj4gPiAgICAg ICAgIGlwdV9jcG1lbV9zZXRfZm10KGlwdV9wbGFuZS0+aXB1X2NoLCBzdGF0ZS0+ZmItPnBpeGVs X2Zvcm1hdCk7Cj4gPiAgICAgICAgIGlwdV9jcG1lbV9zZXRfaGlnaF9wcmlvcml0eShpcHVfcGxh bmUtPmlwdV9jaCk7Cj4gPiAgICAgICAgIGlwdV9pZG1hY19zZXRfZG91YmxlX2J1ZmZlcihpcHVf cGxhbmUtPmlwdV9jaCwgMSk7Cj4gPiBAQCAtNDQ0LDcgKzQzOCw3IEBAIHN0YXRpYyB2b2lkIGlw dV9wbGFuZV9hdG9taWNfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4KPiA+ICAg ICAgICAgICAgICAgICBkZXZfZGJnKGlwdV9wbGFuZS0+YmFzZS5kZXYtPmRldiwKPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICJwaHkgPSAlbHUgJWx1ICVsdSwgeCA9ICVkLCB5ID0gJWQiLCBl YmEsIHVibywgdmJvLAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPnNyY194ID4+ IDE2LCBzdGF0ZS0+c3JjX3kgPj4gMTYpOwo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgc3Rh dGUtPnNyYy54MSA+PiAxNiwgc3RhdGUtPnNyYy55MSA+PiAxNik7Cj4gPiAgICAgICAgICAgICAg ICAgYnJlYWs7Cj4gPiAgICAgICAgIGNhc2UgRFJNX0ZPUk1BVF9OVjEyOgo+ID4gICAgICAgICBj YXNlIERSTV9GT1JNQVRfTlYxNjoKPiA+IEBAIC00NTUsMTEgKzQ0OSwxMSBAQCBzdGF0aWMgdm9p ZCBpcHVfcGxhbmVfYXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+Cj4g PiAgICAgICAgICAgICAgICAgZGV2X2RiZyhpcHVfcGxhbmUtPmJhc2UuZGV2LT5kZXYsCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAicGh5ID0gJWx1ICVsdSwgeCA9ICVkLCB5ID0gJWQiLCBl YmEsIHVibywKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5zcmNfeCA+PiAxNiwg c3RhdGUtPnNyY195ID4+IDE2KTsKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5z cmMueDEgPj4gMTYsIHN0YXRlLT5zcmMueTEgPj4gMTYpOwo+ID4gICAgICAgICAgICAgICAgIGJy ZWFrOwo+ID4gICAgICAgICBkZWZhdWx0Ogo+ID4gICAgICAgICAgICAgICAgIGRldl9kYmcoaXB1 X3BsYW5lLT5iYXNlLmRldi0+ZGV2LCAicGh5cyA9ICVsdSwgeCA9ICVkLCB5ID0gJWQiLAo+ID4g LSAgICAgICAgICAgICAgICAgICAgICAgZWJhLCBzdGF0ZS0+c3JjX3ggPj4gMTYsIHN0YXRlLT5z cmNfeSA+PiAxNik7Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICBlYmEsIHN0YXRlLT5zcmMu eDEgPj4gMTYsIHN0YXRlLT5zcmMueTEgPj4gMTYpOwo+ID4gICAgICAgICAgICAgICAgIGJyZWFr Owo+ID4gICAgICAgICB9Cj4gPiAgICAgICAgIGlwdV9jcG1lbV9zZXRfYnVmZmVyKGlwdV9wbGFu ZS0+aXB1X2NoLCAwLCBlYmEpOwo+ID4gLS0KPiA+IDIuOS4zCj4gPgoKLS0gClZpbGxlIFN5cmrD pGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==