From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH 5/9] drm/i915: Use enum plane_id in SKL plane code Date: Thu, 17 Nov 2016 17:32:26 -0200 Message-ID: <1479411146.2382.39.camel@intel.com> References: <1478616439-10150-1-git-send-email-ville.syrjala@linux.intel.com> <1478616439-10150-6-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 923906E85A for ; Thu, 17 Nov 2016 19:32:29 +0000 (UTC) In-Reply-To: <1478616439-10150-6-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RW0gVGVyLCAyMDE2LTExLTA4IMOgcyAxNjo0NyArMDIwMCwgdmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20KZXNjcmV2ZXU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4KPiAKPiBSZXBsYWNlIHRoZSBpbnRlbF9wbGFuZS0+cGxhbmUgYW5k IGhhcmRjb2RlZCAwIHVzYWdlIGluIHRoZSBTS0wgcGxhbmUKPiBjb2RlIHdpdGggaW50ZWxfcGxh bmUtPmlkLgo+IAo+IFRoaXMgc2hvdWxkIG1ha2UgdGhlIFNLTCAicHJpbWFyeSIgYW5kICJzcHJp dGUiIGNvZGUgdmlydHVhbGx5Cj4gaWRlbnRpY2FsLCBzbyB0aGUgbmV4dCBsb2dpY2FsIHN0ZXAg d291bGQgbGlrZWx5IGJlIGRyb3BwaW5nIG9uZQo+IG9mIHRoZSBjb3BpZXMuCgpTb21ldGhpbmcg c29tZXRoaW5nIDgwIGNvbHVtbnMgc29tZXRoaW5nIHNvbWV0aGluZy4gQWxzbywgdGhpcyB3aWxs Cm5lZWQgYSByZWJhc2UsIGJ1dCB0aGUgaWRlYSBpcyBzYW5lLCBzbyB3aXRoIGEgYnVnLWZyZWUg cmViYXNlOgoKUmV2aWV3ZWQtYnk6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwu Y29tPi4KCj4gCj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYyB8IDM0ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLQo+IMKgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc3ByaXRlLmPCoMKgfCA1MCArKysrKysrKysrKysrKysrKystLS0tLS0KPiAt LS0tLS0tLS0tLS0KPiDCoDIgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgNDEgZGVs ZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXgg ZTNlZDVkMWZjZjBkLi45NTY0NGM4Y2M1NjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCj4gQEAgLTMzODQsOSArMzM4NCwxMCBAQCBzdGF0aWMgdm9pZAo+IHNreWxha2Vf dXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gwqAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+IMKgCXN0cnVjdCBp bnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLQo+ID5iYXNl LmNydGMpOwo+IMKgCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUtPmJh c2UuZmI7Cj4gKwllbnVtIHBsYW5lX2lkIHBsYW5lX2lkID0gdG9faW50ZWxfcGxhbmUocGxhbmUp LT5pZDsKPiDCoAljb25zdCBzdHJ1Y3Qgc2tsX3dtX3ZhbHVlcyAqd20gPSAmZGV2X3ByaXYtPndt LnNrbF9yZXN1bHRzOwo+IMKgCWNvbnN0IHN0cnVjdCBza2xfcGxhbmVfd20gKnBfd20gPQo+IC0J CSZjcnRjX3N0YXRlLT53bS5za2wub3B0aW1hbC5wbGFuZXNbMF07Cj4gKwkJJmNydGNfc3RhdGUt PndtLnNrbC5vcHRpbWFsLnBsYW5lc1twbGFuZV9pZF07Cj4gwqAJaW50IHBpcGUgPSBpbnRlbF9j cnRjLT5waXBlOwo+IMKgCXUzMiBwbGFuZV9jdGw7Cj4gwqAJdW5zaWduZWQgaW50IHJvdGF0aW9u ID0gcGxhbmVfc3RhdGUtPmJhc2Uucm90YXRpb247Cj4gQEAgLTM0MjMsMzIgKzM0MjQsMzIgQEAg c3RhdGljIHZvaWQKPiBza3lsYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLAo+IMKgCWludGVsX2NydGMtPmFkanVzdGVkX3kgPSBzcmNfeTsKPiDCoAo+IMKg CWlmICh3bS0+ZGlydHlfcGlwZXMgJiBkcm1fY3J0Y19tYXNrKCZpbnRlbF9jcnRjLT5iYXNlKSkK PiAtCQlza2xfd3JpdGVfcGxhbmVfd20oaW50ZWxfY3J0YywgcF93bSwgJndtLT5kZGIsIDApOwo+ ICsJCXNrbF93cml0ZV9wbGFuZV93bShpbnRlbF9jcnRjLCBwX3dtLCAmd20tPmRkYiwKPiBwbGFu ZV9pZCk7Cj4gwqAKPiAtCUk5MTVfV1JJVEUoUExBTkVfQ1RMKHBpcGUsIDApLCBwbGFuZV9jdGwp Owo+IC0JSTkxNV9XUklURShQTEFORV9PRkZTRVQocGlwZSwgMCksIChzcmNfeSA8PCAxNikgfCBz cmNfeCk7Cj4gLQlJOTE1X1dSSVRFKFBMQU5FX1NUUklERShwaXBlLCAwKSwgc3RyaWRlKTsKPiAt CUk5MTVfV1JJVEUoUExBTkVfU0laRShwaXBlLCAwKSwgKHNyY19oIDw8IDE2KSB8IHNyY193KTsK PiArCUk5MTVfV1JJVEUoUExBTkVfQ1RMKHBpcGUsIHBsYW5lX2lkKSwgcGxhbmVfY3RsKTsKPiAr CUk5MTVfV1JJVEUoUExBTkVfT0ZGU0VUKHBpcGUsIHBsYW5lX2lkKSwgKHNyY195IDw8IDE2KSB8 Cj4gc3JjX3gpOwo+ICsJSTkxNV9XUklURShQTEFORV9TVFJJREUocGlwZSwgcGxhbmVfaWQpLCBz dHJpZGUpOwo+ICsJSTkxNV9XUklURShQTEFORV9TSVpFKHBpcGUsIHBsYW5lX2lkKSwgKHNyY19o IDw8IDE2KSB8Cj4gc3JjX3cpOwo+IMKgCj4gwqAJaWYgKHNjYWxlcl9pZCA+PSAwKSB7Cj4gwqAJ CXVpbnQzMl90IHBzX2N0cmwgPSAwOwo+IMKgCj4gwqAJCVdBUk5fT04oIWRzdF93IHx8ICFkc3Rf aCk7Cj4gLQkJcHNfY3RybCA9IFBTX1NDQUxFUl9FTiB8IFBTX1BMQU5FX1NFTCgwKSB8Cj4gKwkJ cHNfY3RybCA9IFBTX1NDQUxFUl9FTiB8IFBTX1BMQU5FX1NFTChwbGFuZV9pZCkgfAo+IMKgCQkJ Y3J0Y19zdGF0ZS0KPiA+c2NhbGVyX3N0YXRlLnNjYWxlcnNbc2NhbGVyX2lkXS5tb2RlOwo+IMKg CQlJOTE1X1dSSVRFKFNLTF9QU19DVFJMKHBpcGUsIHNjYWxlcl9pZCksIHBzX2N0cmwpOwo+IMKg CQlJOTE1X1dSSVRFKFNLTF9QU19QV1JfR0FURShwaXBlLCBzY2FsZXJfaWQpLCAwKTsKPiDCoAkJ STkxNV9XUklURShTS0xfUFNfV0lOX1BPUyhwaXBlLCBzY2FsZXJfaWQpLCAoZHN0X3gKPiA8PCAx NikgfCBkc3RfeSk7Cj4gwqAJCUk5MTVfV1JJVEUoU0tMX1BTX1dJTl9TWihwaXBlLCBzY2FsZXJf aWQpLCAoZHN0X3cgPDwKPiAxNikgfCBkc3RfaCk7Cj4gLQkJSTkxNV9XUklURShQTEFORV9QT1Mo cGlwZSwgMCksIDApOwo+ICsJCUk5MTVfV1JJVEUoUExBTkVfUE9TKHBpcGUsIHBsYW5lX2lkKSwg MCk7Cj4gwqAJfSBlbHNlIHsKPiAtCQlJOTE1X1dSSVRFKFBMQU5FX1BPUyhwaXBlLCAwKSwgKGRz dF95IDw8IDE2KSB8Cj4gZHN0X3gpOwo+ICsJCUk5MTVfV1JJVEUoUExBTkVfUE9TKHBpcGUsIHBs YW5lX2lkKSwgKGRzdF95IDw8IDE2KQo+IHwgZHN0X3gpOwo+IMKgCX0KPiDCoAo+IC0JSTkxNV9X UklURShQTEFORV9TVVJGKHBpcGUsIDApLAo+ICsJSTkxNV9XUklURShQTEFORV9TVVJGKHBpcGUs IHBsYW5lX2lkKSwKPiDCoAkJwqDCoMKgaW50ZWxfZmJfZ3R0X29mZnNldChmYiwgcm90YXRpb24p ICsgc3VyZl9hZGRyKTsKPiDCoAo+IC0JUE9TVElOR19SRUFEKFBMQU5FX1NVUkYocGlwZSwgMCkp Owo+ICsJUE9TVElOR19SRUFEKFBMQU5FX1NVUkYocGlwZSwgcGxhbmVfaWQpKTsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIHZvaWQgc2t5bGFrZV9kaXNhYmxlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRy bV9wbGFuZSAqcHJpbWFyeSwKPiBAQCAtMzQ1OCw3ICszNDU5LDggQEAgc3RhdGljIHZvaWQKPiBz a3lsYWtlX2Rpc2FibGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwcmltYXJ5LAo+ IMKgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiDC oAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4g wqAJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUo Y3J0Yy0KPiA+c3RhdGUpOwo+IC0JY29uc3Qgc3RydWN0IHNrbF9wbGFuZV93bSAqcF93bSA9ICZj c3RhdGUtCj4gPndtLnNrbC5vcHRpbWFsLnBsYW5lc1swXTsKPiArCWVudW0gcGxhbmVfaWQgcGxh bmVfaWQgPSB0b19pbnRlbF9wbGFuZShwcmltYXJ5KS0+aWQ7Cj4gKwljb25zdCBzdHJ1Y3Qgc2ts X3BsYW5lX3dtICpwX3dtID0gJmNzdGF0ZS0KPiA+d20uc2tsLm9wdGltYWwucGxhbmVzW3BsYW5l X2lkXTsKPiDCoAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4gwqAKPiDCoAkvKgo+IEBA IC0zNDY3LDExICszNDY5LDExIEBAIHN0YXRpYyB2b2lkCj4gc2t5bGFrZV9kaXNhYmxlX3ByaW1h cnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeSwKPiDCoAnCoCovCj4gwqAJaWYgKCFj cnRjLT5wcmltYXJ5LT5zdGF0ZS0+dmlzaWJsZSkKPiDCoAkJc2tsX3dyaXRlX3BsYW5lX3dtKGlu dGVsX2NydGMsIHBfd20sCj4gLQkJCQnCoMKgwqAmZGV2X3ByaXYtPndtLnNrbF9yZXN1bHRzLmRk YiwKPiAwKTsKPiArCQkJCcKgwqDCoCZkZXZfcHJpdi0+d20uc2tsX3Jlc3VsdHMuZGRiLAo+IHBs YW5lX2lkKTsKPiDCoAo+IC0JSTkxNV9XUklURShQTEFORV9DVEwocGlwZSwgMCksIDApOwo+IC0J STkxNV9XUklURShQTEFORV9TVVJGKHBpcGUsIDApLCAwKTsKPiAtCVBPU1RJTkdfUkVBRChQTEFO RV9TVVJGKHBpcGUsIDApKTsKPiArCUk5MTVfV1JJVEUoUExBTkVfQ1RMKHBpcGUsIHBsYW5lX2lk KSwgMCk7Cj4gKwlJOTE1X1dSSVRFKFBMQU5FX1NVUkYocGlwZSwgcGxhbmVfaWQpLCAwKTsKPiAr CVBPU1RJTkdfUkVBRChQTEFORV9TVVJGKHBpcGUsIHBsYW5lX2lkKSk7Cj4gwqB9Cj4gwqAKPiDC oC8qIEFzc3VtZSBmYiBvYmplY3QgaXMgcGlubmVkICYgaWRsZSAmIGZlbmNlZCBhbmQganVzdCB1 cGRhdGUgYmFzZQo+IHBvaW50ZXJzICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Nwcml0ZS5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUu Ywo+IGluZGV4IDRiNDQ4NjNhMDdjMi4uOTFkNDdkMTlmNGE5IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc3ByaXRlLmMKPiBAQCAtMjAzLDEzICsyMDMsMTMgQEAgc2tsX3VwZGF0ZV9wbGFu ZShzdHJ1Y3QgZHJtX3BsYW5lICpkcm1fcGxhbmUsCj4gwqAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+IMKgCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50 ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShkcm1fcGxhbmUpOwo+IMKgCXN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUtPmJhc2UuZmI7Cj4gKwllbnVtIHBsYW5lX2lkIHBs YW5lX2lkID0gaW50ZWxfcGxhbmUtPmlkOwo+IMKgCWNvbnN0IHN0cnVjdCBza2xfd21fdmFsdWVz ICp3bSA9ICZkZXZfcHJpdi0+d20uc2tsX3Jlc3VsdHM7Cj4gwqAJc3RydWN0IGRybV9jcnRjICpj cnRjID0gY3J0Y19zdGF0ZS0+YmFzZS5jcnRjOwo+IMKgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRl bF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAtCWNvbnN0IGludCBwaXBlID0gaW50ZWxf cGxhbmUtPnBpcGU7Cj4gLQljb25zdCBpbnQgcGxhbmUgPSBpbnRlbF9wbGFuZS0+cGxhbmUgKyAx Owo+ICsJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9wbGFuZS0+cGlwZTsKPiDCoAljb25zdCBzdHJ1 Y3Qgc2tsX3BsYW5lX3dtICpwX3dtID0KPiAtCQkmY3J0Y19zdGF0ZS0+d20uc2tsLm9wdGltYWwu cGxhbmVzW3BsYW5lXTsKPiArCQkmY3J0Y19zdGF0ZS0+d20uc2tsLm9wdGltYWwucGxhbmVzW3Bs YW5lX2lkXTsKPiDCoAl1MzIgcGxhbmVfY3RsOwo+IMKgCWNvbnN0IHN0cnVjdCBkcm1faW50ZWxf c3ByaXRlX2NvbG9ya2V5ICprZXkgPSAmcGxhbmVfc3RhdGUtCj4gPmNrZXk7Cj4gwqAJdTMyIHN1 cmZfYWRkciA9IHBsYW5lX3N0YXRlLT5tYWluLm9mZnNldDsKPiBAQCAtMjM0LDEyICsyMzQsMTIg QEAgc2tsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcm1fcGxhbmUsCj4gwqAJcGxh bmVfY3RsIHw9IHNrbF9wbGFuZV9jdGxfcm90YXRpb24ocm90YXRpb24pOwo+IMKgCj4gwqAJaWYg KHdtLT5kaXJ0eV9waXBlcyAmIGRybV9jcnRjX21hc2soY3J0YykpCj4gLQkJc2tsX3dyaXRlX3Bs YW5lX3dtKGludGVsX2NydGMsIHBfd20sICZ3bS0+ZGRiLAo+IHBsYW5lKTsKPiArCQlza2xfd3Jp dGVfcGxhbmVfd20oaW50ZWxfY3J0YywgcF93bSwgJndtLT5kZGIsCj4gcGxhbmVfaWQpOwo+IMKg Cj4gwqAJaWYgKGtleS0+ZmxhZ3MpIHsKPiAtCQlJOTE1X1dSSVRFKFBMQU5FX0tFWVZBTChwaXBl LCBwbGFuZSksIGtleS0KPiA+bWluX3ZhbHVlKTsKPiAtCQlJOTE1X1dSSVRFKFBMQU5FX0tFWU1B WChwaXBlLCBwbGFuZSksIGtleS0KPiA+bWF4X3ZhbHVlKTsKPiAtCQlJOTE1X1dSSVRFKFBMQU5F X0tFWU1TSyhwaXBlLCBwbGFuZSksIGtleS0KPiA+Y2hhbm5lbF9tYXNrKTsKPiArCQlJOTE1X1dS SVRFKFBMQU5FX0tFWVZBTChwaXBlLCBwbGFuZV9pZCksIGtleS0KPiA+bWluX3ZhbHVlKTsKPiAr CQlJOTE1X1dSSVRFKFBMQU5FX0tFWU1BWChwaXBlLCBwbGFuZV9pZCksIGtleS0KPiA+bWF4X3Zh bHVlKTsKPiArCQlJOTE1X1dSSVRFKFBMQU5FX0tFWU1TSyhwaXBlLCBwbGFuZV9pZCksIGtleS0K PiA+Y2hhbm5lbF9tYXNrKTsKPiDCoAl9Cj4gwqAKPiDCoAlpZiAoa2V5LT5mbGFncyAmIEk5MTVf U0VUX0NPTE9SS0VZX0RFU1RJTkFUSU9OKQo+IEBAIC0yNTMsMzYgKzI1MywzNiBAQCBza2xfdXBk YXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRybV9wbGFuZSwKPiDCoAljcnRjX3ctLTsKPiDC oAljcnRjX2gtLTsKPiDCoAo+IC0JSTkxNV9XUklURShQTEFORV9PRkZTRVQocGlwZSwgcGxhbmUp LCAoeSA8PCAxNikgfCB4KTsKPiAtCUk5MTVfV1JJVEUoUExBTkVfU1RSSURFKHBpcGUsIHBsYW5l KSwgc3RyaWRlKTsKPiAtCUk5MTVfV1JJVEUoUExBTkVfU0laRShwaXBlLCBwbGFuZSksIChzcmNf aCA8PCAxNikgfCBzcmNfdyk7Cj4gKwlJOTE1X1dSSVRFKFBMQU5FX09GRlNFVChwaXBlLCBwbGFu ZV9pZCksICh5IDw8IDE2KSB8IHgpOwo+ICsJSTkxNV9XUklURShQTEFORV9TVFJJREUocGlwZSwg cGxhbmVfaWQpLCBzdHJpZGUpOwo+ICsJSTkxNV9XUklURShQTEFORV9TSVpFKHBpcGUsIHBsYW5l X2lkKSwgKHNyY19oIDw8IDE2KSB8Cj4gc3JjX3cpOwo+IMKgCj4gwqAJLyogcHJvZ3JhbSBwbGFu ZSBzY2FsZXIgKi8KPiDCoAlpZiAocGxhbmVfc3RhdGUtPnNjYWxlcl9pZCA+PSAwKSB7Cj4gwqAJ CWludCBzY2FsZXJfaWQgPSBwbGFuZV9zdGF0ZS0+c2NhbGVyX2lkOwo+IMKgCQljb25zdCBzdHJ1 Y3QgaW50ZWxfc2NhbGVyICpzY2FsZXI7Cj4gwqAKPiAtCQlEUk1fREVCVUdfS01TKCJwbGFuZSA9 ICVkIFBTX1BMQU5FX1NFTChwbGFuZSkgPQo+IDB4JXhcbiIsIHBsYW5lLAo+IC0JCQlQU19QTEFO RV9TRUwocGxhbmUpKTsKPiArCQlEUk1fREVCVUdfS01TKCJwbGFuZSA9ICVkIFBTX1BMQU5FX1NF TChwbGFuZSkgPQo+IDB4JXhcbiIsIHBsYW5lX2lkLAo+ICsJCQnCoMKgwqDCoMKgwqBQU19QTEFO RV9TRUwocGxhbmVfaWQpKTsKPiDCoAo+IMKgCQlzY2FsZXIgPSAmY3J0Y19zdGF0ZS0KPiA+c2Nh bGVyX3N0YXRlLnNjYWxlcnNbc2NhbGVyX2lkXTsKPiDCoAo+IMKgCQlJOTE1X1dSSVRFKFNLTF9Q U19DVFJMKHBpcGUsIHNjYWxlcl9pZCksCj4gLQkJCcKgwqDCoFBTX1NDQUxFUl9FTiB8IFBTX1BM QU5FX1NFTChwbGFuZSkgfAo+IHNjYWxlci0+bW9kZSk7Cj4gKwkJCcKgwqDCoFBTX1NDQUxFUl9F TiB8IFBTX1BMQU5FX1NFTChwbGFuZV9pZCkgfAo+IHNjYWxlci0+bW9kZSk7Cj4gwqAJCUk5MTVf V1JJVEUoU0tMX1BTX1BXUl9HQVRFKHBpcGUsIHNjYWxlcl9pZCksIDApOwo+IMKgCQlJOTE1X1dS SVRFKFNLTF9QU19XSU5fUE9TKHBpcGUsIHNjYWxlcl9pZCksIChjcnRjX3gKPiA8PCAxNikgfCBj cnRjX3kpOwo+IMKgCQlJOTE1X1dSSVRFKFNLTF9QU19XSU5fU1oocGlwZSwgc2NhbGVyX2lkKSwK PiDCoAkJCSgoY3J0Y193ICsgMSkgPDwgMTYpfChjcnRjX2ggKyAxKSk7Cj4gwqAKPiAtCQlJOTE1 X1dSSVRFKFBMQU5FX1BPUyhwaXBlLCBwbGFuZSksIDApOwo+ICsJCUk5MTVfV1JJVEUoUExBTkVf UE9TKHBpcGUsIHBsYW5lX2lkKSwgMCk7Cj4gwqAJfSBlbHNlIHsKPiAtCQlJOTE1X1dSSVRFKFBM QU5FX1BPUyhwaXBlLCBwbGFuZSksIChjcnRjX3kgPDwgMTYpIHwKPiBjcnRjX3gpOwo+ICsJCUk5 MTVfV1JJVEUoUExBTkVfUE9TKHBpcGUsIHBsYW5lX2lkKSwgKGNydGNfeSA8PCAxNikKPiB8IGNy dGNfeCk7Cj4gwqAJfQo+IMKgCj4gLQlJOTE1X1dSSVRFKFBMQU5FX0NUTChwaXBlLCBwbGFuZSks IHBsYW5lX2N0bCk7Cj4gLQlJOTE1X1dSSVRFKFBMQU5FX1NVUkYocGlwZSwgcGxhbmUpLAo+ICsJ STkxNV9XUklURShQTEFORV9DVEwocGlwZSwgcGxhbmVfaWQpLCBwbGFuZV9jdGwpOwo+ICsJSTkx NV9XUklURShQTEFORV9TVVJGKHBpcGUsIHBsYW5lX2lkKSwKPiDCoAkJwqDCoMKgaW50ZWxfZmJf Z3R0X29mZnNldChmYiwgcm90YXRpb24pICsgc3VyZl9hZGRyKTsKPiAtCVBPU1RJTkdfUkVBRChQ TEFORV9TVVJGKHBpcGUsIHBsYW5lKSk7Cj4gKwlQT1NUSU5HX1JFQUQoUExBTkVfU1VSRihwaXBl LCBwbGFuZV9pZCkpOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgdm9pZAo+IEBAIC0yOTIsOCArMjky LDggQEAgc2tsX2Rpc2FibGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqZHBsYW5lLAo+IHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKPiDCoAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGRldik7Cj4gwqAJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRv X2ludGVsX3BsYW5lKGRwbGFuZSk7Cj4gwqAJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0 ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0KPiA+c3RhdGUpOwo+IC0JY29uc3QgaW50IHBp cGUgPSBpbnRlbF9wbGFuZS0+cGlwZTsKPiAtCWNvbnN0IGludCBwbGFuZSA9IGludGVsX3BsYW5l LT5wbGFuZSArIDE7Cj4gKwllbnVtIHBpcGUgcGlwZSA9IGludGVsX3BsYW5lLT5waXBlOwo+ICsJ ZW51bSBwbGFuZV9pZCBwbGFuZV9pZCA9IGludGVsX3BsYW5lLT5pZDsKPiDCoAo+IMKgCS8qCj4g wqAJwqAqIFdlIG9ubHkgcG9wdWxhdGUgc2tsX3Jlc3VsdHMgb24gd2F0ZXJtYXJrIHVwZGF0ZXMs IGFuZCBpZgo+IHRoZQo+IEBAIC0zMDEsMTMgKzMwMSwxMyBAQCBza2xfZGlzYWJsZV9wbGFuZShz dHJ1Y3QgZHJtX3BsYW5lICpkcGxhbmUsCj4gc3RydWN0IGRybV9jcnRjICpjcnRjKQo+IMKgCcKg Ki8KPiDCoAlpZiAoIWRwbGFuZS0+c3RhdGUtPnZpc2libGUpCj4gwqAJCXNrbF93cml0ZV9wbGFu ZV93bSh0b19pbnRlbF9jcnRjKGNydGMpLAo+IC0JCQkJwqDCoMKgJmNzdGF0ZS0KPiA+d20uc2ts Lm9wdGltYWwucGxhbmVzW3BsYW5lXSwKPiAtCQkJCcKgwqDCoCZkZXZfcHJpdi0+d20uc2tsX3Jl c3VsdHMuZGRiLAo+IHBsYW5lKTsKPiArCQkJCcKgwqDCoCZjc3RhdGUtCj4gPndtLnNrbC5vcHRp bWFsLnBsYW5lc1twbGFuZV9pZF0sCj4gKwkJCQnCoMKgwqAmZGV2X3ByaXYtPndtLnNrbF9yZXN1 bHRzLmRkYiwKPiBwbGFuZV9pZCk7Cj4gwqAKPiAtCUk5MTVfV1JJVEUoUExBTkVfQ1RMKHBpcGUs IHBsYW5lKSwgMCk7Cj4gKwlJOTE1X1dSSVRFKFBMQU5FX0NUTChwaXBlLCBwbGFuZV9pZCksIDAp Owo+IMKgCj4gLQlJOTE1X1dSSVRFKFBMQU5FX1NVUkYocGlwZSwgcGxhbmUpLCAwKTsKPiAtCVBP U1RJTkdfUkVBRChQTEFORV9TVVJGKHBpcGUsIHBsYW5lKSk7Cj4gKwlJOTE1X1dSSVRFKFBMQU5F X1NVUkYocGlwZSwgcGxhbmVfaWQpLCAwKTsKPiArCVBPU1RJTkdfUkVBRChQTEFORV9TVVJGKHBp cGUsIHBsYW5lX2lkKSk7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyB2b2lkCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=