From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: Re: [PATCH 9/9] drm/i915: Make all plane disables use 'update_plane' Date: Mon, 01 Dec 2014 16:04:18 +0200 Message-ID: <547C7562.9010004@gmail.com> References: <1416858786-25376-1-git-send-email-matthew.d.roper@intel.com> <1416858786-25376-10-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 9F96D6E4FB for ; Mon, 1 Dec 2014 06:06:25 -0800 (PST) In-Reply-To: <1416858786-25376-10-git-send-email-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMTEvMjQvMjAxNCAwOTo1MyBQTSwgTWF0dCBSb3BlciB3cm90ZToKPiBJZiB3ZSBleHRlbmQg dGhlIGNvbW1pdF9wbGFuZSBoYW5kbGVycyBmb3IgZWFjaCBwbGFuZSB0eXBlIHRvIGJlIGFibGUg dG8KPiBoYW5kbGUgZmI9MCwgdGhlbiB3ZSBjYW4gZWFzaWx5IGltcGxlbWVudCBwbGFuZSBkaXNh YmxlIHZpYSB0aGUKPiB1cGRhdGVfcGxhbmUgaGFuZGxlci4gIFRoZSBjdXJzb3IgcGxhbmUgYWxy ZWFkeSB3b3JrcyB0aGlzIHdheSwgYW5kIHRoaXMKPiBpcyB0aGUgZGlyZWN0aW9uIHdlIG5lZWQg dG8gZ28gdG8gaW50ZWdyYXRlIHdpdGggdGhlIGF0b21pYyBwbGFuZQo+IGhhbmRsZXIuICBXZSBj YW4gbm93IGtpbGwgb2ZmIHRoZSB0eXBlLXNwZWNpZmljIGRpc2FibGUgZnVuY3Rpb25zLCBhcwo+ IHdlbGwgYXMgdGhlIHJlZHVuZGFudCBpbnRlbF9wbGFuZV9kaXNhYmxlKCkgKG5vdCB0byBiZSBj b25mdXNlZCB3aXRoCj4gaW50ZWxfZGlzYWJsZV9wbGFuZSgpKS4KPgo+IE5vdGUgdGhhdCBwcmVw YXJlX3BsYW5lX2ZiKCkgb25seSBnZXRzIGNhbGxlZCBhcyBwYXJ0IG9mIHVwZGF0ZV9wbGFuZQo+ IHdoZW4gZmIhPU5VTEwgKGJ5IGRlc2lnbiwgdG8gbWF0Y2ggdGhlIHNlbWFudGljcyBvZiB0aGUg YXRvbWljIHBsYW5lCj4gaGVscGVycyk7IHRoaXMgbWVhbnMgdGhhdCBvdXIgY29tbWl0X3BsYW5l IGhhbmRsZXJzIG5lZWQgdG8gaGFuZGxlIHRoZQo+IGZyb250YnVmZmVyIHRyYWNraW5nIGZvciB0 aGUgZGlzYWJsZSBjYXNlLCBldmVuIHRob3VnaCB0aGV5IGRvbid0IGhhbmRsZQo+IGl0IGZvciBu b3JtYWwgdXBkYXRlcy4KPgo+IFNpZ25lZC1vZmYtYnk6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5y b3BlckBpbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMgfCAxMDkgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAgMiArLQo+ICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgIDcxICsrKysrKy0tLS0tLS0tLS0tLS0tLS0tCj4g ICAzIGZpbGVzIGNoYW5nZWQsIDY3IGluc2VydGlvbnMoKyksIDExNSBkZWxldGlvbnMoLSkKPgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCBkZDEwZGM2Li5mZDFlYWY1 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0zOTk2LDcgKzM5 OTYsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX3BsYW5lcyhzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCj4gICAJZHJtX2Zvcl9lYWNoX2xlZ2FjeV9wbGFuZShwbGFuZSwgJmRldi0+bW9kZV9j b25maWcucGxhbmVfbGlzdCkgewo+ICAgCQlpbnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBs YW5lKTsKPiAgIAkJaWYgKGludGVsX3BsYW5lLT5waXBlID09IHBpcGUpCj4gLQkJCWludGVsX3Bs YW5lX2Rpc2FibGUoJmludGVsX3BsYW5lLT5iYXNlKTsKPiArCQkJcGxhbmUtPmZ1bmNzLT5kaXNh YmxlX3BsYW5lKHBsYW5lKTsKPiAgIAl9Cj4gICB9Cj4KPiBAQCAtMTE1MzUsNDUgKzExNTM1LDYg QEAgc3RhdGljIHZvaWQgaW50ZWxfc2hhcmVkX2RwbGxfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQo+ICAgCUJVR19PTihkZXZfcHJpdi0+bnVtX3NoYXJlZF9kcGxsID4gSTkxNV9OVU1fUExM Uyk7Cj4gICB9Cj4KPiAtc3RhdGljIGludAo+IC1pbnRlbF9wcmltYXJ5X3BsYW5lX2Rpc2FibGUo c3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4gLXsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBwbGFuZS0+ZGV2Owo+IC0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGM7Cj4gLQo+IC0J aWYgKCFwbGFuZS0+ZmIpCj4gLQkJcmV0dXJuIDA7Cj4gLQo+IC0JQlVHX09OKCFwbGFuZS0+Y3J0 Yyk7Cj4gLQo+IC0JaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGxhbmUtPmNydGMpOwo+IC0K PiAtCS8qCj4gLQkgKiBFdmVuIHRob3VnaCB3ZSBjaGVja2VkIHBsYW5lLT5mYiBhYm92ZSwgaXQn cyBzdGlsbCBwb3NzaWJsZSB0aGF0Cj4gLQkgKiB0aGUgcHJpbWFyeSBwbGFuZSBoYXMgYmVlbiBp bXBsaWNpdGx5IGRpc2FibGVkIGJlY2F1c2UgdGhlIGNydGMKPiAtCSAqIGNvb3JkaW5hdGVzIGdp dmVuIHdlcmVuJ3QgdmlzaWJsZSwgb3IgYmVjYXVzZSB3ZSBkZXRlY3RlZAo+IC0JICogdGhhdCBp dCB3YXMgMTAwJSBjb3ZlcmVkIGJ5IGEgc3ByaXRlIHBsYW5lLiAgT3IsIHRoZSBDUlRDIG1heSBi ZQo+IC0JICogb2ZmIGFuZCB3ZSd2ZSBzZXQgYSBmYiwgYnV0IGhhdmVuJ3QgYWN0dWFsbHkgdHVy bmVkIG9uIHRoZSBDUlRDIHlldC4KPiAtCSAqIEluIGVpdGhlciBjYXNlLCB3ZSBuZWVkIHRvIHVu cGluIHRoZSBGQiBhbmQgbGV0IHRoZSBmYiBwb2ludGVyIGdldAo+IC0JICogdXBkYXRlZCwgYnV0 IG90aGVyd2lzZSB3ZSBkb24ndCBuZWVkIHRvIHRvdWNoIHRoZSBoYXJkd2FyZS4KPiAtCSAqLwo+ IC0JaWYgKCFpbnRlbF9jcnRjLT5wcmltYXJ5X2VuYWJsZWQpCj4gLQkJZ290byBkaXNhYmxlX3Vu cGluOwo+IC0KPiAtCWludGVsX2NydGNfd2FpdF9mb3JfcGVuZGluZ19mbGlwcyhwbGFuZS0+Y3J0 Yyk7Cj4gLQlpbnRlbF9kaXNhYmxlX3ByaW1hcnlfaHdfcGxhbmUocGxhbmUsIHBsYW5lLT5jcnRj KTsKPiAtCj4gLWRpc2FibGVfdW5waW46Cj4gLQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRl eCk7Cj4gLQlpOTE1X2dlbV90cmFja19mYihpbnRlbF9mYl9vYmoocGxhbmUtPmZiKSwgTlVMTCwK PiAtCQkJICBJTlRFTF9GUk9OVEJVRkZFUl9QUklNQVJZKGludGVsX2NydGMtPnBpcGUpKTsKPiAt CWludGVsX3VucGluX2ZiX29iaihpbnRlbF9mYl9vYmoocGxhbmUtPmZiKSk7Cj4gLQltdXRleF91 bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAtCXBsYW5lLT5mYiA9IE5VTEw7Cj4gLQo+IC0J cmV0dXJuIDA7Cj4gLX0KPiAtCj4gICAvKioKPiAgICAqIGludGVsX3ByZXBhcmVfcGxhbmVfZmIg LSBQcmVwYXJlIGZiIGZvciB1c2FnZSBvbiBwbGFuZQo+ICAgICogQHBsYW5lOiBkcm0gcGxhbmUg dG8gcHJlcGFyZSBmb3IKPiBAQCAtMTE2NzgsMTAgKzExNjM5LDEyIEBAIGludGVsX2NoZWNrX3By aW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJaWYgKHJldCkKPiAgIAkJ cmV0dXJuIHJldDsKPgo+IC0JaW50ZWxfY3J0Y193YWl0X2Zvcl9wZW5kaW5nX2ZsaXBzKGNydGMp Owo+IC0JaWYgKGludGVsX2NydGNfaGFzX3BlbmRpbmdfZmxpcChjcnRjKSkgewo+IC0JCURSTV9F UlJPUigicGlwZSBpcyBzdGlsbCBidXN5IHdpdGggYW4gb2xkIHBhZ2VmbGlwXG4iKTsKPiAtCQly ZXR1cm4gLUVCVVNZOwo+ICsJaWYgKHBsYW5lLT5jcnRjKSB7Cj4gKwkJaW50ZWxfY3J0Y193YWl0 X2Zvcl9wZW5kaW5nX2ZsaXBzKHBsYW5lLT5jcnRjKTsKPiArCQlpZiAoaW50ZWxfY3J0Y19oYXNf cGVuZGluZ19mbGlwKHBsYW5lLT5jcnRjKSkgewo+ICsJCQlEUk1fRVJST1IoInBpcGUgaXMgc3Rp bGwgYnVzeSB3aXRoIGFuIG9sZCBwYWdlZmxpcFxuIik7Cj4gKwkJCXJldHVybiAtRUJVU1k7Cj4g KwkJfQo+ICAgCX0KPgo+ICAgCXJldHVybiAwOwo+IEBAIC0xMTY5NiwxMiArMTE2NTksMzAgQEAg aW50ZWxfY29tbWl0X3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5kZXY7Cj4gICAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgIAlzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gLQllbnVtIHBpcGUgcGlw ZSA9IGludGVsX2NydGMtPnBpcGU7Cj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aiA9IGludGVsX2ZiX29iaihmYik7Cj4gICAJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFu ZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lKTsKPiAgIAlzdHJ1Y3QgZHJtX3JlY3QgKnNyYyA9ICZz dGF0ZS0+c3JjOwo+ICsJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9wbGFuZS0+cGlwZTsKPgo+IC0J Y3J0Yy0+cHJpbWFyeS0+ZmIgPSBmYjsKPiArCWlmICghZmIpIHsKPiArCQkvKgo+ICsJCSAqICdw cmVwYXJlJyBpcyBuZXZlciBjYWxsZWQgd2hlbiBwbGFuZSBpcyBiZWluZyBkaXNhYmxlZCwgc28K PiArCQkgKiB3ZSBuZWVkIHRvIGhhbmRsZSBmcm9udGJ1ZmZlciB0cmFja2luZyBoZXJlCj4gKwkJ ICovCj4gKwkJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ICsJCWk5MTVfZ2VtX3Ry YWNrX2ZiKGludGVsX2ZiX29iaihwbGFuZS0+ZmIpLCBOVUxMLAo+ICsJCQkJICBJTlRFTF9GUk9O VEJVRkZFUl9QUklNQVJZKHBpcGUpKTsKPiArCQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211 dGV4KTsKPiArCj4gKwkJLyoKPiArCQkgKiBjcnRjIG1heSBiZSBwYXNzZWQgYXMgTlVMTCB3aGVu IGRpc2FibGluZywgc28gc2V0IGl0IHRvCj4gKwkJICogdGhlIHByb3BlciB2YWx1ZSBub3cKPiAr CQkgKi8KPiArCQljcnRjID0gcGxhbmUtPmNydGM7Cj4gKwkJaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Yyk7Cj4gKwl9Cj4gKwo+ICsJcGxhbmUtPmZiID0gZmI7Cj4gICAJY3J0Yy0+eCA9 IHNyYy0+eDEgPj4gMTY7Cj4gICAJY3J0Yy0+eSA9IHNyYy0+eTEgPj4gMTY7Cj4KPiBAQCAtMTE3 NTksNyArMTE3NDAsNyBAQCBpbnRlbF9jb21taXRfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKPiAgIAkJCSAqIGV4cGxpY2l0bHkgZGlzYWJsZXMgdGhlIHBsYW5lIGJ5IHBh c3NpbmcgZmI9MAo+ICAgCQkJICogYmVjYXVzZSBwbGFuZS0+ZmIgc3RpbGwgZ2V0cyBzZXQgYW5k IHBpbm5lZC4KPiAgIAkJCSAqLwo+IC0JCQlpbnRlbF9kaXNhYmxlX3ByaW1hcnlfaHdfcGxhbmUo cGxhbmUsIGNydGMpOwo+ICsJCQlpbnRlbF9kaXNhYmxlX3ByaW1hcnlfaHdfcGxhbmUocGxhbmUs IHBsYW5lLT5jcnRjKTsKCkkgY2FuJ3Qgc2VlIHdoeSB0aGlzIGh1bmsgaXMgbmVjZXNzYXJ5LCBz aW5jZSB5b3Ugc2V0IGNydGMgPSBwbGFuZS0+Y3J0YyAKYWJvdmUgZm9yIHRoZSAhZmIgY2FzZS4g T3IgYW0gSSBtaXNzaW5nIHNvbWV0aGluZz8KCj4gICAJCX0KPgo+ICAgCQlpbnRlbF9mcm9udGJ1 ZmZlcl9mbGlwKGRldiwgSU5URUxfRlJPTlRCVUZGRVJfUFJJTUFSWShwaXBlKSk7Cj4gQEAgLTEx ODMxLDYgKzExODEyLDI0IEBAIGludGVsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAgCXJldHVybiAwOwo+ICAgfQo+Cj4gKy8q Kgo+ICsgKiBpbnRlbF9kaXNhYmxlX3BsYW5lIC0gZGlzYWJsZSBhIHBsYW5lCj4gKyAqIEBwbGFu ZTogcGxhbmUgdG8gZGlzYWJsZQo+ICsgKgo+ICsgKiBHZW5lcmFsIGRpc2FibGUgaGFuZGxlciBm b3IgYWxsIHBsYW5lIHR5cGVzLgo+ICsgKi8KPiAraW50Cj4gK2ludGVsX2Rpc2FibGVfcGxhbmUo c3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4gK3sKPiArCWlmICghcGxhbmUtPmZiKQo+ICsJCXJl dHVybiAwOwo+ICsKPiArCUJVR19PTighcGxhbmUtPmNydGMpOwoKV0FSTl9PTj8gTWF5YmUgbm90 IHNpbmNlIGludGVsX3VwZGF0ZV9wbGFuZSB3aWxsIG9vcHMuIEknbSBub3Qgc3VyZSAKd2hhdCdz IHRoZSBndWlkZWxpbmUgaGVyZS4KCkFueXdheSwgdGhlIHNlcmllcyBsb29rIHByZXR0eSBnb29k IG92ZXJhbGwuCgpDaGVlcnMsCkFuZGVyCgo+ICsKPiArCXJldHVybiBwbGFuZS0+ZnVuY3MtPnVw ZGF0ZV9wbGFuZShwbGFuZSwgcGxhbmUtPmNydGMsIE5VTEwsCj4gKwkJCQkJICAwLCAwLCAwLCAw LCAwLCAwLCAwLCAwKTsKPiArfQo+ICsKPiAgIC8qIENvbW1vbiBkZXN0cnVjdGlvbiBmdW5jdGlv biBmb3IgYm90aCBwcmltYXJ5IGFuZCBjdXJzb3IgcGxhbmVzICovCj4gICBzdGF0aWMgdm9pZCBp bnRlbF9wbGFuZV9kZXN0cm95KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+ICAgewo+IEBAIC0x MTg0MSw3ICsxMTg0MCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3BsYW5lX2Rlc3Ryb3koc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUpCj4KPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1 bmNzIGludGVsX3ByaW1hcnlfcGxhbmVfZnVuY3MgPSB7Cj4gICAJLnVwZGF0ZV9wbGFuZSA9IGlu dGVsX3VwZGF0ZV9wbGFuZSwKPiAtCS5kaXNhYmxlX3BsYW5lID0gaW50ZWxfcHJpbWFyeV9wbGFu ZV9kaXNhYmxlLAo+ICsJLmRpc2FibGVfcGxhbmUgPSBpbnRlbF9kaXNhYmxlX3BsYW5lLAo+ICAg CS5kZXN0cm95ID0gaW50ZWxfcGxhbmVfZGVzdHJveSwKPiAgIAkuc2V0X3Byb3BlcnR5ID0gaW50 ZWxfcGxhbmVfc2V0X3Byb3BlcnR5Cj4gICB9Owo+IEBAIC0xMTg5NiwxOCArMTE4OTUsNiBAQCBz dGF0aWMgc3RydWN0IGRybV9wbGFuZSAqaW50ZWxfcHJpbWFyeV9wbGFuZV9jcmVhdGUoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiAgIH0KPgo+ICAgc3RhdGljIGludAo+IC1pbnRlbF9jdXJzb3Jf cGxhbmVfZGlzYWJsZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiAtewo+IC0JaWYgKCFwbGFu ZS0+ZmIpCj4gLQkJcmV0dXJuIDA7Cj4gLQo+IC0JQlVHX09OKCFwbGFuZS0+Y3J0Yyk7Cj4gLQo+ IC0JcmV0dXJuIHBsYW5lLT5mdW5jcy0+dXBkYXRlX3BsYW5lKHBsYW5lLCBwbGFuZS0+Y3J0Yywg TlVMTCwKPiAtCQkJCQkgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDApOwo+IC19Cj4gLQo+IC1zdGF0 aWMgaW50Cj4gICBpbnRlbF9jaGVja19jdXJzb3JfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCj4gICAJCQkgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSkKPiAgIHsKPiBAQCAt MTIwMzAsNyArMTIwMTcsNyBAQCB1cGRhdGU6Cj4KPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X3BsYW5lX2Z1bmNzIGludGVsX2N1cnNvcl9wbGFuZV9mdW5jcyA9IHsKPiAgIAkudXBkYXRlX3Bs YW5lID0gaW50ZWxfdXBkYXRlX3BsYW5lLAo+IC0JLmRpc2FibGVfcGxhbmUgPSBpbnRlbF9jdXJz b3JfcGxhbmVfZGlzYWJsZSwKPiArCS5kaXNhYmxlX3BsYW5lID0gaW50ZWxfZGlzYWJsZV9wbGFu ZSwKPiAgIAkuZGVzdHJveSA9IGludGVsX3BsYW5lX2Rlc3Ryb3ksCj4gICAJLnNldF9wcm9wZXJ0 eSA9IGludGVsX3BsYW5lX3NldF9wcm9wZXJ0eSwKPiAgIH07Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPiBpbmRleCA1ZjdhMDcxLi5kYTRkYTJjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPiBAQCAtMTAyMSw2ICsxMDIxLDcgQEAgaW50IGludGVsX3VwZGF0ZV9wbGFuZShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAgCQkgICAgICAg dW5zaWduZWQgaW50IGNydGNfdywgdW5zaWduZWQgaW50IGNydGNfaCwKPiAgIAkJICAgICAgIHVp bnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNfeSwKPiAgIAkJICAgICAgIHVpbnQzMl90IHNyY193 LCB1aW50MzJfdCBzcmNfaCk7Cj4gK2ludCBpbnRlbF9kaXNhYmxlX3BsYW5lKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lKTsKPgo+ICAgLyogaW50ZWxfZHBfbXN0LmMgKi8KPiAgIGludCBpbnRlbF9k cF9tc3RfZW5jb2Rlcl9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19w b3J0LCBpbnQgY29ubl9pZCk7Cj4gQEAgLTEyMDEsNyArMTIwMiw2IEBAIGludCBpbnRlbF9wbGFu ZV9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJCQkgICAgIHN0cnVj dCBkcm1fcHJvcGVydHkgKnByb3AsCj4gICAJCQkgICAgIHVpbnQ2NF90IHZhbCk7Cj4gICBpbnQg aW50ZWxfcGxhbmVfcmVzdG9yZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSk7Cj4gLXZvaWQgaW50 ZWxfcGxhbmVfZGlzYWJsZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSk7Cj4gICBpbnQgaW50ZWxf c3ByaXRlX3NldF9jb2xvcmtleShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ ICAgCQkJICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ICAgaW50IGludGVsX3Nw cml0ZV9nZXRfY29sb3JrZXkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+IGluZGV4IGJmZDUyNzAuLmJjNTgzNGIgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+IEBAIC0xMTA5LDcgKzExMDksMTIg QEAgaW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAg CWNvbnN0IHN0cnVjdCBkcm1fcmVjdCAqY2xpcCA9ICZzdGF0ZS0+Y2xpcDsKPiAgIAlpbnQgaHNj YWxlLCB2c2NhbGU7Cj4gICAJaW50IG1heF9zY2FsZSwgbWluX3NjYWxlOwo+IC0JaW50IHBpeGVs X3NpemUgPSBkcm1fZm9ybWF0X3BsYW5lX2NwcChmYi0+cGl4ZWxfZm9ybWF0LCAwKTsKPiArCWlu dCBwaXhlbF9zaXplOwo+ICsKPiArCWlmICghZmIpIHsKPiArCQlzdGF0ZS0+dmlzaWJsZSA9IGZh bHNlOwo+ICsJCXJldHVybiAwOwo+ICsJfQo+Cj4gICAJLyogRG9uJ3QgbW9kaWZ5IGFub3RoZXIg cGlwZSdzIHBsYW5lICovCj4gICAJaWYgKGludGVsX3BsYW5lLT5waXBlICE9IGludGVsX2NydGMt PnBpcGUpIHsKPiBAQCAtMTIzMiw2ICsxMjM3LDcgQEAgaW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5l KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAgCQlpZiAoc3JjX3cgPCAzIHx8IHNyY19oIDwg MykKPiAgIAkJCXN0YXRlLT52aXNpYmxlID0gZmFsc2U7Cj4KPiArCQlwaXhlbF9zaXplID0gZHJt X2Zvcm1hdF9wbGFuZV9jcHAoZmItPnBpeGVsX2Zvcm1hdCwgMCk7Cj4gICAJCXdpZHRoX2J5dGVz ID0gKChzcmNfeCAqIHBpeGVsX3NpemUpICYgNjMpICsKPiAgIAkJCQkJc3JjX3cgKiBwaXhlbF9z aXplOwo+Cj4gQEAgLTEyNzYsNiArMTI4MiwxNyBAQCBpbnRlbF9jb21taXRfc3ByaXRlX3BsYW5l KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAgCWJvb2wgcHJpbWFyeV9lbmFibGVkOwo+Cj4g ICAJLyoKPiArCSAqICdwcmVwYXJlJyBpcyBuZXZlciBjYWxsZWQgd2hlbiBwbGFuZSBpcyBiZWlu ZyBkaXNhYmxlZCwgc28gd2UgbmVlZAo+ICsJICogdG8gaGFuZGxlIGZyb250YnVmZmVyIHRyYWNr aW5nIGhlcmUKPiArCSAqLwo+ICsJaWYgKCFmYikgewo+ICsJCW11dGV4X2xvY2soJmRldi0+c3Ry dWN0X211dGV4KTsKPiArCQlpOTE1X2dlbV90cmFja19mYihpbnRlbF9mYl9vYmoocGxhbmUtPmZi KSwgTlVMTCwKPiArCQkJCSAgSU5URUxfRlJPTlRCVUZGRVJfU1BSSVRFKHBpcGUpKTsKPiArCQlt dXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiArCX0KPiArCj4gKwkvKgo+ICAgCSAq IElmIHRoZSBzcHJpdGUgaXMgY29tcGxldGVseSBjb3ZlcmluZyB0aGUgcHJpbWFyeSBwbGFuZSwK PiAgIAkgKiB3ZSBjYW4gZGlzYWJsZSB0aGUgcHJpbWFyeSBhbmQgc2F2ZSBwb3dlci4KPiAgIAkg Ki8KPiBAQCAtMTMyNyw1MCArMTM0NCw2IEBAIGludGVsX2NvbW1pdF9zcHJpdGVfcGxhbmUoc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJfQo+ICAgfQo+Cj4gLXN0YXRpYyBpbnQKPiAtaW50 ZWxfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiAtewo+IC0Jc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5kZXY7Cj4gLQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmlu dGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwo+IC0Jc3RydWN0IGludGVsX2NydGMg KmludGVsX2NydGM7Cj4gLQllbnVtIHBpcGUgcGlwZTsKPiAtCj4gLQlpZiAoIXBsYW5lLT5mYikK PiAtCQlyZXR1cm4gMDsKPiAtCj4gLQlpZiAoV0FSTl9PTighcGxhbmUtPmNydGMpKQo+IC0JCXJl dHVybiAtRUlOVkFMOwo+IC0KPiAtCWludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKHBsYW5lLT5j cnRjKTsKPiAtCXBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+IC0KPiAtCWlmIChpbnRlbF9jcnRj LT5hY3RpdmUpIHsKPiAtCQlib29sIHByaW1hcnlfd2FzX2VuYWJsZWQgPSBpbnRlbF9jcnRjLT5w cmltYXJ5X2VuYWJsZWQ7Cj4gLQo+IC0JCWludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCA9IHRy dWU7Cj4gLQo+IC0JCWludGVsX3BsYW5lLT5kaXNhYmxlX3BsYW5lKHBsYW5lLCBwbGFuZS0+Y3J0 Yyk7Cj4gLQo+IC0JCWlmICghcHJpbWFyeV93YXNfZW5hYmxlZCAmJiBpbnRlbF9jcnRjLT5wcmlt YXJ5X2VuYWJsZWQpCj4gLQkJCWludGVsX3Bvc3RfZW5hYmxlX3ByaW1hcnkocGxhbmUtPmNydGMp Owo+IC0JfQo+IC0KPiAtCWlmIChpbnRlbF9wbGFuZS0+b2JqKSB7Cj4gLQkJaWYgKGludGVsX2Ny dGMtPmFjdGl2ZSkKPiAtCQkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldiwgaW50ZWxfcGxhbmUt PnBpcGUpOwo+IC0KPiAtCQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gLQkJaW50 ZWxfdW5waW5fZmJfb2JqKGludGVsX3BsYW5lLT5vYmopOwo+IC0JCWk5MTVfZ2VtX3RyYWNrX2Zi KGludGVsX3BsYW5lLT5vYmosIE5VTEwsCj4gLQkJCQkgIElOVEVMX0ZST05UQlVGRkVSX1NQUklU RShwaXBlKSk7Cj4gLQkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gLQo+IC0J CWludGVsX3BsYW5lLT5vYmogPSBOVUxMOwo+IC0JfQo+IC0KPiAtCXJldHVybiAwOwo+IC19Cj4g LQo+ICAgc3RhdGljIHZvaWQgaW50ZWxfZGVzdHJveV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSkKPiAgIHsKPiAgIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50 ZWxfcGxhbmUocGxhbmUpOwo+IEBAIC0xNDc4LDE0ICsxNDUxLDYgQEAgaW50IGludGVsX3BsYW5l X3Jlc3RvcmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4gICAJCQkJICBpbnRlbF9wbGFuZS0+ c3JjX3csIGludGVsX3BsYW5lLT5zcmNfaCk7Cj4gICB9Cj4KPiAtdm9pZCBpbnRlbF9wbGFuZV9k aXNhYmxlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+IC17Cj4gLQlpZiAoIXBsYW5lLT5jcnRj IHx8ICFwbGFuZS0+ZmIpCj4gLQkJcmV0dXJuOwo+IC0KPiAtCWludGVsX2Rpc2FibGVfcGxhbmUo cGxhbmUpOwo+IC19Cj4gLQo+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3Mg aW50ZWxfcGxhbmVfZnVuY3MgPSB7Cj4gICAJLnVwZGF0ZV9wbGFuZSA9IGludGVsX3VwZGF0ZV9w bGFuZSwKPiAgIAkuZGlzYWJsZV9wbGFuZSA9IGludGVsX2Rpc2FibGVfcGxhbmUsCj4KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==