From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 01/14] drm/i915: Track visible planes in a bitmask Date: Thu, 15 Dec 2016 17:02:45 +0200 Message-ID: <20161215150245.GG31595@intel.com> References: <1481574931-8658-1-git-send-email-ville.syrjala@linux.intel.com> <1481574931-8658-2-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 mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 66AD86E113 for ; Thu, 15 Dec 2016 15:02:48 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBEZWMgMTUsIDIwMTYgYXQgMDM6NTY6MDNQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gT3AgMTItMTItMTYgb20gMjE6MzUgc2NocmVlZiB2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbToKPiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+Cj4gPgo+ID4gSW4gYSBsb3Qgb2YgcGxhY2Ugd2Ugd2lzaCB0byBrbm93 IHdoaWNoIHBsYW5lcyBvbiB0aGUgY3J0YyBhcmUgYWN0dWFsbHkKPiA+IHZpc2libGUsIG9yIGhv dyBtYW55IG9mIHRoZW0gdGhlcmUgYXJlLiBMZXQncyBzdGFydCB0cmFja2luZyB0aGF0IGluIGEK PiA+IGJpdG1hc2sgaW4gdGhlIGNydGMgc3RhdGUuCj4gPgo+ID4gV2UgYWxyZWFkeSB0cmFjayBl bmFibGVkIHBsYW5lcyAoaWUuIG9uZXMgd2l0aCBhbiBmYiBhbmQgY3J0YyBzcGVjaWZpZWQgYnkK PiA+IHRoZSB1c2VyKSBidXQgdGhhdCdzIG5vdCBxdWl0ZSB0aGUgc2FtZSB0aGluZyBhcyBlbmFi bGVkIHBsYW5lcyBtYXkKPiA+IHN0aWxsIGVuZCB1cCBiZWluZyBpbnZpc2libGUgZHVlIHRvIGNs aXBwaW5nIGFuZCB3aGF0bm90Lgo+ID4KPiA+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzD pCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9hdG9taWNfcGxhbmUuYyB8ICA2ICsrKwo+ID4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICAgIHwgNzkgKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAg IHwgIDMgKysKPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDI0IGRlbGV0 aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9h dG9taWNfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pY19wbGFuZS5j Cj4gPiBpbmRleCBkYmU5ZmI0MWFlNTMuLjdlYzEyZWRkYTRkNCAxMDA2NDQKPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pY19wbGFuZS5jCj4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWNfcGxhbmUuYwo+ID4gQEAgLTE4MSw2ICsxODEsMTIg QEAgc3RhdGljIGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsCj4gPiAgCWlmIChyZXQpCj4gPiAgCQlyZXR1cm4gcmV0Owo+ID4gIAo+ID4gKwkvKiBG SVhNRSBwcmUtZzR4IGRvbid0IHdvcmsgbGlrZSB0aGlzICovCj4gPiArCWlmIChpbnRlbF9zdGF0 ZS0+YmFzZS52aXNpYmxlKQo+ID4gKwkJY3J0Y19zdGF0ZS0+YWN0aXZlX3BsYW5lcyB8PSBCSVQo aW50ZWxfcGxhbmUtPmlkKTsKPiA+ICsJZWxzZQo+ID4gKwkJY3J0Y19zdGF0ZS0+YWN0aXZlX3Bs YW5lcyAmPSB+QklUKGludGVsX3BsYW5lLT5pZCk7Cj4gPiArCj4gPiAgCXJldHVybiBpbnRlbF9w bGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzKCZjcnRjX3N0YXRlLT5iYXNlLCBzdGF0ZSk7Cj4gPiAg fQo+ID4gIAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gaW5kZXggYmMx YWY4Nzc4OWJjLi4zZjAyNzM0MWIwZjMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwo+ID4gQEAgLTI3NDEsNiArMjc0MSwyOSBAQCB1cGRhdGVfc3RhdGVfZmIoc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUpCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkCj4gPiAr aW50ZWxfc2V0X3BsYW5lX3Zpc2libGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsCj4gPiArCQkJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSwKPiA+ICsJ CQlib29sIHZpc2libGUpCj4gPiArewo+ID4gKwlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lID0g dG9faW50ZWxfcGxhbmUocGxhbmVfc3RhdGUtPmJhc2UucGxhbmUpOwo+ID4gKwo+ID4gKwlwbGFu ZV9zdGF0ZS0+YmFzZS52aXNpYmxlID0gdmlzaWJsZTsKPiA+ICsKPiA+ICsJLyogRklYTUUgcHJl LWc0eCBkb24ndCB3b3JrIGxpa2UgdGhpcyAqLwo+ID4gKwlpZiAodmlzaWJsZSkgewo+ID4gKwkJ Y3J0Y19zdGF0ZS0+YmFzZS5wbGFuZV9tYXNrIHw9IEJJVChkcm1fcGxhbmVfaW5kZXgoJnBsYW5l LT5iYXNlKSk7Cj4gPiArCQljcnRjX3N0YXRlLT5hY3RpdmVfcGxhbmVzIHw9IEJJVChwbGFuZS0+ aWQpOwo+ID4gKwl9IGVsc2Ugewo+ID4gKwkJY3J0Y19zdGF0ZS0+YmFzZS5wbGFuZV9tYXNrICY9 IH5CSVQoZHJtX3BsYW5lX2luZGV4KCZwbGFuZS0+YmFzZSkpOwo+ID4gKwkJY3J0Y19zdGF0ZS0+ YWN0aXZlX3BsYW5lcyAmPSB+QklUKHBsYW5lLT5pZCk7Cj4gPiArCX0KPiA+ICsKPiA+ICsJRFJN X0RFQlVHX0tNUygiJXMgYWN0aXZlIHBsYW5lcyAweCV4XG4iLAo+ID4gKwkJICAgICAgY3J0Y19z dGF0ZS0+YmFzZS5jcnRjLT5uYW1lLAo+ID4gKwkJICAgICAgY3J0Y19zdGF0ZS0+YWN0aXZlX3Bs YW5lcyk7Cj4gPiArfQo+ID4gKwo+ID4gK3N0YXRpYyB2b2lkCj4gPiAgaW50ZWxfZmluZF9pbml0 aWFsX3BsYW5lX29iaihzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiA+ICAJCQkgICAg IHN0cnVjdCBpbnRlbF9pbml0aWFsX3BsYW5lX2NvbmZpZyAqcGxhbmVfY29uZmlnKQo+ID4gIHsK PiA+IEBAIC0yNzk4LDggKzI4MjEsOSBAQCBpbnRlbF9maW5kX2luaXRpYWxfcGxhbmVfb2JqKHN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ID4gIAkgKiBzaW1wbGVzdCBzb2x1dGlvbiBp cyB0byBqdXN0IGRpc2FibGUgdGhlIHByaW1hcnkgcGxhbmUgbm93IGFuZAo+ID4gIAkgKiBwcmV0 ZW5kIHRoZSBCSU9TIG5ldmVyIGhhZCBpdCBlbmFibGVkLgo+ID4gIAkgKi8KPiA+IC0JdG9faW50 ZWxfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUpLT5iYXNlLnZpc2libGUgPSBmYWxzZTsKPiA+IC0J Y3J0Y19zdGF0ZS0+cGxhbmVfbWFzayAmPSB+KDEgPDwgZHJtX3BsYW5lX2luZGV4KHByaW1hcnkp KTsKPiA+ICsJaW50ZWxfc2V0X3BsYW5lX3Zpc2libGUodG9faW50ZWxfY3J0Y19zdGF0ZShjcnRj X3N0YXRlKSwKPiA+ICsJCQkJdG9faW50ZWxfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUpLAo+ID4g KwkJCQlmYWxzZSk7Cj4gPiAgCWludGVsX3ByZV9kaXNhYmxlX3ByaW1hcnlfbm9hdG9taWMoJmlu dGVsX2NydGMtPmJhc2UpOwo+ID4gIAlpbnRlbF9wbGFuZS0+ZGlzYWJsZV9wbGFuZShwcmltYXJ5 LCAmaW50ZWxfY3J0Yy0+YmFzZSk7Cj4gPiAgCj4gPiBAQCAtMjgyNiw3ICsyODUwLDExIEBAIGlu dGVsX2ZpbmRfaW5pdGlhbF9wbGFuZV9vYmooc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMs Cj4gPiAgCWRybV9mcmFtZWJ1ZmZlcl9yZWZlcmVuY2UoZmIpOwo+ID4gIAlwcmltYXJ5LT5mYiA9 IHByaW1hcnktPnN0YXRlLT5mYiA9IGZiOwo+ID4gIAlwcmltYXJ5LT5jcnRjID0gcHJpbWFyeS0+ c3RhdGUtPmNydGMgPSAmaW50ZWxfY3J0Yy0+YmFzZTsKPiA+IC0JaW50ZWxfY3J0Yy0+YmFzZS5z dGF0ZS0+cGxhbmVfbWFzayB8PSAoMSA8PCBkcm1fcGxhbmVfaW5kZXgocHJpbWFyeSkpOwo+ID4g Kwo+ID4gKwlpbnRlbF9zZXRfcGxhbmVfdmlzaWJsZSh0b19pbnRlbF9jcnRjX3N0YXRlKGludGVs X2NydGMtPmJhc2Uuc3RhdGUpLAo+ID4gKwkJCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShwcmltYXJ5 LT5zdGF0ZSksCj4gPiArCQkJCXRydWUpOwo+ID4gKwo+ID4gIAlhdG9taWNfb3IodG9faW50ZWxf cGxhbmUocHJpbWFyeSktPmZyb250YnVmZmVyX2JpdCwKPiA+ICAJCSAgJm9iai0+ZnJvbnRidWZm ZXJfYml0cyk7Cj4gPiAgfQo+ID4gQEAgLTEyNDQwLDExICsxMjQ2OCwxMSBAQCBpbnQgaW50ZWxf cGxhbmVfYXRvbWljX2NhbGNfY2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsCj4gPiAgCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyA9IHRvX2ludGVs X2NydGNfc3RhdGUoY3J0Y19zdGF0ZSk7Cj4gPiAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGNy dGNfc3RhdGUtPmNydGM7Cj4gPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjKTsKPiA+IC0Jc3RydWN0IGRybV9wbGFuZSAqcGxhbmUgPSBwbGFuZV9z dGF0ZS0+cGxhbmU7Cj4gPiArCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUgPSB0b19pbnRlbF9w bGFuZShwbGFuZV9zdGF0ZS0+cGxhbmUpOwo+ID4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g Y3J0Yy0+ZGV2Owo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGRldik7Cj4gPiAgCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqb2xkX3BsYW5lX3N0YXRl ID0KPiA+IC0JCXRvX2ludGVsX3BsYW5lX3N0YXRlKHBsYW5lLT5zdGF0ZSk7Cj4gPiArCQl0b19p bnRlbF9wbGFuZV9zdGF0ZShwbGFuZS0+YmFzZS5zdGF0ZSk7Cj4gPiAgCWJvb2wgbW9kZV9jaGFu Z2VkID0gbmVlZHNfbW9kZXNldChjcnRjX3N0YXRlKTsKPiA+ICAJYm9vbCB3YXNfY3J0Y19lbmFi bGVkID0gY3J0Yy0+c3RhdGUtPmFjdGl2ZTsKPiA+ICAJYm9vbCBpc19jcnRjX2VuYWJsZWQgPSBj cnRjX3N0YXRlLT5hY3RpdmU7Cj4gPiBAQCAtMTI0NTIsNyArMTI0ODAsNyBAQCBpbnQgaW50ZWxf cGxhbmVfYXRvbWljX2NhbGNfY2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsCj4gPiAgCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUtPmZiOwo+ ID4gIAlpbnQgcmV0Owo+ID4gIAo+ID4gLQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5ICYm IHBsYW5lLT50eXBlICE9IERSTV9QTEFORV9UWVBFX0NVUlNPUikgewo+ID4gKwlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA+PSA5ICYmIHBsYW5lLT5pZCAhPSBQTEFORV9DVVJTT1IpIHsKPiA+ICAJ CXJldCA9IHNrbF91cGRhdGVfc2NhbGVyX3BsYW5lKAo+ID4gIAkJCXRvX2ludGVsX2NydGNfc3Rh dGUoY3J0Y19zdGF0ZSksCj4gPiAgCQkJdG9faW50ZWxfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUp KTsKPiA+IEBAIC0xMjQ3Niw4ICsxMjUwNCwxMCBAQCBpbnQgaW50ZWxfcGxhbmVfYXRvbWljX2Nh bGNfY2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gPiAgCSAqIHBl ci1wbGFuZSB3bSBjb21wdXRhdGlvbiB0byB0aGUgLmNoZWNrX3BsYW5lKCkgaG9vaywgYW5kCj4g PiAgCSAqIG9ubHkgY29tYmluZSB0aGUgcmVzdWx0cyBmcm9tIGFsbCBwbGFuZXMgaW4gdGhlIGN1 cnJlbnQgcGxhY2U/Cj4gPiAgCSAqLwo+ID4gLQlpZiAoIWlzX2NydGNfZW5hYmxlZCkKPiA+ICsJ aWYgKCFpc19jcnRjX2VuYWJsZWQpIHsKPiA+ICAJCXRvX2ludGVsX3BsYW5lX3N0YXRlKHBsYW5l X3N0YXRlKS0+YmFzZS52aXNpYmxlID0gdmlzaWJsZSA9IGZhbHNlOwo+ID4gKwkJdG9faW50ZWxf Y3J0Y19zdGF0ZShjcnRjX3N0YXRlKS0+YWN0aXZlX3BsYW5lcyAmPSB+QklUKHBsYW5lLT5pZCk7 Cj4gPiArCX0KPiA+ICAKPiA+ICAJaWYgKCF3YXNfdmlzaWJsZSAmJiAhdmlzaWJsZSkKPiA+ICAJ CXJldHVybiAwOwo+ID4gQEAgLTEyNDg5LDEzICsxMjUxOSwxMiBAQCBpbnQgaW50ZWxfcGxhbmVf YXRvbWljX2NhbGNfY2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4g PiAgCXR1cm5fb24gPSB2aXNpYmxlICYmICghd2FzX3Zpc2libGUgfHwgbW9kZV9jaGFuZ2VkKTsK PiA+ICAKPiA+ICAJRFJNX0RFQlVHX0FUT01JQygiW0NSVEM6JWQ6JXNdIGhhcyBbUExBTkU6JWQ6 JXNdIHdpdGggZmIgJWlcbiIsCj4gPiAtCQkJIGludGVsX2NydGMtPmJhc2UuYmFzZS5pZCwKPiA+ IC0JCQkgaW50ZWxfY3J0Yy0+YmFzZS5uYW1lLAo+ID4gLQkJCSBwbGFuZS0+YmFzZS5pZCwgcGxh bmUtPm5hbWUsCj4gPiArCQkJIGludGVsX2NydGMtPmJhc2UuYmFzZS5pZCwgaW50ZWxfY3J0Yy0+ YmFzZS5uYW1lLAo+ID4gKwkJCSBwbGFuZS0+YmFzZS5iYXNlLmlkLCBwbGFuZS0+YmFzZS5uYW1l LAo+ID4gIAkJCSBmYiA/IGZiLT5iYXNlLmlkIDogLTEpOwo+ID4gIAo+ID4gIAlEUk1fREVCVUdf QVRPTUlDKCJbUExBTkU6JWQ6JXNdIHZpc2libGUgJWkgLT4gJWksIG9mZiAlaSwgb24gJWksIG1z ICVpXG4iLAo+ID4gLQkJCSBwbGFuZS0+YmFzZS5pZCwgcGxhbmUtPm5hbWUsCj4gPiArCQkJIHBs YW5lLT5iYXNlLmJhc2UuaWQsIHBsYW5lLT5iYXNlLm5hbWUsCj4gPiAgCQkJIHdhc192aXNpYmxl LCB2aXNpYmxlLAo+ID4gIAkJCSB0dXJuX29mZiwgdHVybl9vbiwgbW9kZV9jaGFuZ2VkKTsKPiA+ ICAKPiA+IEBAIC0xMjUwMywxNSArMTI1MzIsMTUgQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19j YWxjX2NoYW5nZXMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gIAkJcGlw ZV9jb25maWctPnVwZGF0ZV93bV9wcmUgPSB0cnVlOwo+ID4gIAo+ID4gIAkJLyogbXVzdCBkaXNh YmxlIGN4c3IgYXJvdW5kIHBsYW5lIGVuYWJsZS9kaXNhYmxlICovCj4gPiAtCQlpZiAocGxhbmUt PnR5cGUgIT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKQo+ID4gKwkJaWYgKHBsYW5lLT5pZCAhPSBQ TEFORV9DVVJTT1IpCj4gPiAgCQkJcGlwZV9jb25maWctPmRpc2FibGVfY3hzciA9IHRydWU7Cj4g PiAgCX0gZWxzZSBpZiAodHVybl9vZmYpIHsKPiA+ICAJCXBpcGVfY29uZmlnLT51cGRhdGVfd21f cG9zdCA9IHRydWU7Cj4gPiAgCj4gPiAgCQkvKiBtdXN0IGRpc2FibGUgY3hzciBhcm91bmQgcGxh bmUgZW5hYmxlL2Rpc2FibGUgKi8KPiA+IC0JCWlmIChwbGFuZS0+dHlwZSAhPSBEUk1fUExBTkVf VFlQRV9DVVJTT1IpCj4gPiArCQlpZiAocGxhbmUtPmlkICE9IFBMQU5FX0NVUlNPUikKPiA+ICAJ CQlwaXBlX2NvbmZpZy0+ZGlzYWJsZV9jeHNyID0gdHJ1ZTsKPiA+IC0JfSBlbHNlIGlmIChpbnRl bF93bV9uZWVkX3VwZGF0ZShwbGFuZSwgcGxhbmVfc3RhdGUpKSB7Cj4gPiArCX0gZWxzZSBpZiAo aW50ZWxfd21fbmVlZF91cGRhdGUoJnBsYW5lLT5iYXNlLCBwbGFuZV9zdGF0ZSkpIHsKPiA+ICAJ CS8qIEZJWE1FIGJvbGxvY2tzICovCj4gPiAgCQlwaXBlX2NvbmZpZy0+dXBkYXRlX3dtX3ByZSA9 IHRydWU7Cj4gPiAgCQlwaXBlX2NvbmZpZy0+dXBkYXRlX3dtX3Bvc3QgPSB0cnVlOwo+ID4gQEAg LTEyNTIzLDcgKzEyNTUyLDcgQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMo c3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gIAkJdG9faW50ZWxfY3J0Y19z dGF0ZShjcnRjX3N0YXRlKS0+d20ubmVlZF9wb3N0dmJsX3VwZGF0ZSA9IHRydWU7Cj4gPiAgCj4g PiAgCWlmICh2aXNpYmxlIHx8IHdhc192aXNpYmxlKQo+ID4gLQkJcGlwZV9jb25maWctPmZiX2Jp dHMgfD0gdG9faW50ZWxfcGxhbmUocGxhbmUpLT5mcm9udGJ1ZmZlcl9iaXQ7Cj4gPiArCQlwaXBl X2NvbmZpZy0+ZmJfYml0cyB8PSBwbGFuZS0+ZnJvbnRidWZmZXJfYml0Owo+ID4gIAo+ID4gIAkv Kgo+ID4gIAkgKiBXYUN4U1JEaXNhYmxlZEZvclNwcml0ZVNjYWxpbmc6aXZiCj4gPiBAQCAtMTI1 MzEsNyArMTI1NjAsNyBAQCBpbnQgaW50ZWxfcGxhbmVfYXRvbWljX2NhbGNfY2hhbmdlcyhzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gPiAgCSAqIGNzdGF0ZS0+dXBkYXRlX3dt IHdhcyBhbHJlYWR5IHNldCBhYm92ZSwgc28gdGhpcyBmbGFnIHdpbGwKPiA+ICAJICogdGFrZSBl ZmZlY3Qgd2hlbiB3ZSBjb21taXQgYW5kIHByb2dyYW0gd2F0ZXJtYXJrcy4KPiA+ICAJICovCj4g PiAtCWlmIChwbGFuZS0+dHlwZSA9PSBEUk1fUExBTkVfVFlQRV9PVkVSTEFZICYmIElTX0lWWUJS SURHRShkZXZfcHJpdikgJiYKPiA+ICsJaWYgKHBsYW5lLT5pZCA9PSBQTEFORV9TUFJJVEUwICYm IElTX0lWWUJSSURHRShkZXZfcHJpdikgJiYKPiA+ICAJICAgIG5lZWRzX3NjYWxpbmcodG9faW50 ZWxfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUpKSAmJgo+ID4gIAkgICAgIW5lZWRzX3NjYWxpbmco b2xkX3BsYW5lX3N0YXRlKSkKPiA+ICAJCXBpcGVfY29uZmlnLT5kaXNhYmxlX2xwX3dtID0gdHJ1 ZTsKPiA+IEBAIC0xNjg3NiwxNSArMTY5MDUsMTQgQEAgc3RhdGljIGJvb2wgcHJpbWFyeV9nZXRf aHdfc3RhdGUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSkKPiA+ICAvKiBGSVhNRSByZWFkIG91 dCBmdWxsIHBsYW5lIHN0YXRlIGZvciBhbGwgcGxhbmVzICovCj4gPiAgc3RhdGljIHZvaWQgcmVh ZG91dF9wbGFuZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiA+ICB7Cj4gPiAtCXN0 cnVjdCBkcm1fcGxhbmUgKnByaW1hcnkgPSBjcnRjLT5iYXNlLnByaW1hcnk7Cj4gPiAtCXN0cnVj dCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUgPQo+ID4gLQkJdG9faW50ZWxfcGxhbmVf c3RhdGUocHJpbWFyeS0+c3RhdGUpOwo+ID4gKwlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnByaW1hcnkg PSB0b19pbnRlbF9wbGFuZShjcnRjLT5iYXNlLnByaW1hcnkpOwo+ID4gKwlib29sIHZpc2libGU7 Cj4gPiAgCj4gPiAtCXBsYW5lX3N0YXRlLT5iYXNlLnZpc2libGUgPSBjcnRjLT5hY3RpdmUgJiYK PiA+IC0JCXByaW1hcnlfZ2V0X2h3X3N0YXRlKHRvX2ludGVsX3BsYW5lKHByaW1hcnkpKTsKPiA+ ICsJdmlzaWJsZSA9IGNydGMtPmFjdGl2ZSAmJiBwcmltYXJ5X2dldF9od19zdGF0ZShwcmltYXJ5 KTsKPiA+ICAKPiA+IC0JaWYgKHBsYW5lX3N0YXRlLT5iYXNlLnZpc2libGUpCj4gPiAtCQljcnRj LT5iYXNlLnN0YXRlLT5wbGFuZV9tYXNrIHw9IDEgPDwgZHJtX3BsYW5lX2luZGV4KHByaW1hcnkp Owo+ID4gKwlpbnRlbF9zZXRfcGxhbmVfdmlzaWJsZSh0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMt PmJhc2Uuc3RhdGUpLAo+ID4gKwkJCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShwcmltYXJ5LT5iYXNl LnN0YXRlKSwKPiA+ICsJCQkJdmlzaWJsZSk7Cj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lk IGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ID4gQEAgLTE3MTcxLDcgKzE3MTk5LDEwIEBAIHZvaWQgaW50ZWxfbW9kZXNldF9nZW1faW5pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gIAkJCWMtPnByaW1hcnktPmZiID0gTlVMTDsKPiA+ ICAJCQljLT5wcmltYXJ5LT5jcnRjID0gYy0+cHJpbWFyeS0+c3RhdGUtPmNydGMgPSBOVUxMOwo+ ID4gIAkJCXVwZGF0ZV9zdGF0ZV9mYihjLT5wcmltYXJ5KTsKPiA+IC0JCQljLT5zdGF0ZS0+cGxh bmVfbWFzayAmPSB+KDEgPDwgZHJtX3BsYW5lX2luZGV4KGMtPnByaW1hcnkpKTsKPiA+ICsKPiA+ ICsJCQlpbnRlbF9zZXRfcGxhbmVfdmlzaWJsZSh0b19pbnRlbF9jcnRjX3N0YXRlKGMtPnN0YXRl KSwKPiA+ICsJCQkJCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShjLT5wcmltYXJ5LT5zdGF0ZSksCj4g PiArCQkJCQkJZmFsc2UpOwo+ID4gIAkJfQo+ID4gIAl9Cj4gPiAgfQo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPiA+IGluZGV4IDhmNGRkY2EwZjUyMS4uMjBiYThmNDhiYzNiIDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiBAQCAtNjY5LDYgKzY2OSw5IEBAIHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlIHsKPiA+ICAKPiA+ICAJLyogR2FtbWEgbW9kZSBwcm9ncmFtbWVk IG9uIHRoZSBwaXBlICovCj4gPiAgCXVpbnQzMl90IGdhbW1hX21vZGU7Cj4gPiArCj4gPiArCS8q IGJpdG1hc2sgb2YgdmlzaWJsZSBwbGFuZXMgKGVudW0gcGxhbmVfaWQpICovCj4gPiArCXU4IGFj dGl2ZV9wbGFuZXM7Cj4gQ2FuIHdlIGNoYW5nZSB0aGlzIHRvIHVpbnQzMl90IDE8PGRybV9wbGFu ZV9pbmRleCBsaWtlIHRoZSBvdGhlciBtYXNrcz8KPiAKPiBwbGFuZV9tYXNrLCBjb25uZWN0b3Jf bWFzayBhbmQgZW5jb2Rlcl9tYXNrIHVzZSAxIDw8IGluZGV4Lgo+IFBlcmhhcHMgbmFtZSBpdCBh Y3RpdmVfcGxhbmVzX21hc2sgdG9vLgoKVGhlIHdheSBJIHVzZSBpdCB3b3VsZG4ndCBsZW5kIGl0 c2VsZiB3ZWxsIHRvIHRoYXQuIEkgZG9uJ3QgaGF2ZSBhbnkKcGxhbmUgc3RydWN0cyBhcm91bmQg aW4gYSBidW5jaCBvZiB0aGUgcGxhY2VzIHdoZXJlIHRoaXMgZ2V0cyB1c2VkLgoKLS0gClZpbGxl IFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==