From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: Re: [PATCH 10/10] drm/i915: Make all plane disables use 'update_plane' (v5) Date: Fri, 05 Dec 2014 10:15:07 +0200 Message-ID: <5481698B.8040102@gmail.com> References: <547EDDAE.3000907@gmail.com> <1417717662-12822-1-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 C59C16E09B for ; Fri, 5 Dec 2014 00:15:08 -0800 (PST) In-Reply-To: <1417717662-12822-1-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 UmV2aWV3ZWQtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSA8YW5kZXIuY29uc2VsdmFu LmRlLm9saXZlaXJhQGludGVsLmNvbT4KCk9uIDEyLzA0LzIwMTQgMDg6MjcgUE0sIE1hdHQgUm9w ZXIgd3JvdGU6Cj4gSWYgd2UgZXh0ZW5kIHRoZSBjb21taXRfcGxhbmUgaGFuZGxlcnMgZm9yIGVh Y2ggcGxhbmUgdHlwZSB0byBiZSBhYmxlIHRvCj4gaGFuZGxlIGZiPTAsIHRoZW4gd2UgY2FuIGVh c2lseSBpbXBsZW1lbnQgcGxhbmUgZGlzYWJsZSB2aWEgdGhlCj4gdXBkYXRlX3BsYW5lIGhhbmRs ZXIuICBUaGUgY3Vyc29yIHBsYW5lIGFscmVhZHkgd29ya3MgdGhpcyB3YXksIGFuZCB0aGlzCj4g aXMgdGhlIGRpcmVjdGlvbiB3ZSBuZWVkIHRvIGdvIHRvIGludGVncmF0ZSB3aXRoIHRoZSBhdG9t aWMgcGxhbmUKPiBoYW5kbGVyLiAgV2UgY2FuIG5vdyBraWxsIG9mZiB0aGUgdHlwZS1zcGVjaWZp YyBkaXNhYmxlIGZ1bmN0aW9ucywgYXMKPiB3ZWxsIGFzIHRoZSByZWR1bmRhbnQgaW50ZWxfcGxh bmVfZGlzYWJsZSgpIChub3QgdG8gYmUgY29uZnVzZWQgd2l0aAo+IGludGVsX2Rpc2FibGVfcGxh bmUoKSkuCj4gCj4gTm90ZSB0aGF0IHByZXBhcmVfcGxhbmVfZmIoKSBvbmx5IGdldHMgY2FsbGVk IGFzIHBhcnQgb2YgdXBkYXRlX3BsYW5lCj4gd2hlbiBmYiE9TlVMTCAoYnkgZGVzaWduLCB0byBt YXRjaCB0aGUgc2VtYW50aWNzIG9mIHRoZSBhdG9taWMgcGxhbmUKPiBoZWxwZXJzKTsgdGhpcyBt ZWFucyB0aGF0IG91ciBjb21taXRfcGxhbmUgaGFuZGxlcnMgbmVlZCB0byBoYW5kbGUgdGhlCj4g ZnJvbnRidWZmZXIgdHJhY2tpbmcgZm9yIHRoZSBkaXNhYmxlIGNhc2UsIGV2ZW4gdGhvdWdoIHRo ZXkgZG9uJ3QgaGFuZGxlCj4gaXQgZm9yIG5vcm1hbCB1cGRhdGVzLgo+IAo+IHYyOgo+ICAgLSBD aGFuZ2UgQlVHX09OIHRvIFdBUk5fT04gKEFuZGVyL0RhbmllbCkKPiAKPiB2MzoKPiAgIC0gRHJv cCB1bm5lY2Vzc2FyeSBwbGFuZS0+Y3J0YyBjaGVjayBzaW5jZSBhIHByZXZpb3VzIHBhdGNoIHRv IHBsYW5lCj4gICAgIHVwZGF0ZSBlbnN1cmVzIHRoYXQgcGxhbmUtPmNydGMgd2lsbCBhbHdheXMg YmUgbm9uLU5VTEwsIGV2ZW4gZm9yCj4gICAgIGRpc2FibGUgY2FsbHMgdGhhdCBtaWdodCBwYXNz IE5VTEwgZnJvbSB1c2Vyc3BhY2UuICAoQW5kZXIpCj4gICAtIERyb3AgYSBzL2NydGMvcGxhbmUt PmNydGMvIGh1bmsgdGhhdCB3YXMgdW5uZWNlc3NhcnkuICAoQW5kZXIpCj4gCj4gdjQ6Cj4gICAt IEZpeCBtaXNzaW5nIHdoaXRlc3BhY2UgKEFuZGVyKQo+IAo+IHY1Ogo+ICAgLSBVc2Ugc3RhdGUn cyBjcnRjIHJhdGhlciB0aGFuIHBsYW5lJ3MgY3J0YyBpbgo+ICAgICBpbnRlbF9jaGVja19wcmlt YXJ5X3BsYW5lKCkuICBwbGFuZS0+Y3J0YyBjb3VsZCBiZSBOVUxMLCBidXQgd2UndmUKPiAgICAg YWxyZWFkeSBmaXhlZCB1cCBzdGF0ZS0+Y3J0YyB0byBlbnN1cmUgaXQncyBub24tTlVMTCAoZXZl biBpZgo+ICAgICB1c2Vyc3BhY2UgcGFzc2VkIGl0IGFzIE5VTEwgZHVyaW5nIGEgZGlzYWJsZSBj YWxsKS4gIChBbmRlcikKPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQu cm9wZXJAaW50ZWwuY29tPgo+IFJldmlld2VkLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVp cmEgPGFuZGVyLmNvbnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA4OSArKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAg ICB8ICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCA3MSAr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gICAzIGZpbGVzIGNoYW5nZWQsIDU0IGluc2Vy dGlvbnMoKyksIDEwOCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4gaW5kZXggZDEzMDE1Yy4uN2U1Mzk5NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPiBAQCAtNDA2MCw3ICs0MDYwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxf ZGlzYWJsZV9wbGFuZXMoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAgCWRybV9mb3JfZWFjaF9s ZWdhY3lfcGxhbmUocGxhbmUsICZkZXYtPm1vZGVfY29uZmlnLnBsYW5lX2xpc3QpIHsKPiAgIAkJ aW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7Cj4gICAJCWlmIChpbnRlbF9wbGFu ZS0+cGlwZSA9PSBwaXBlKQo+IC0JCQlpbnRlbF9wbGFuZV9kaXNhYmxlKCZpbnRlbF9wbGFuZS0+ YmFzZSk7Cj4gKwkJCXBsYW5lLT5mdW5jcy0+ZGlzYWJsZV9wbGFuZShwbGFuZSk7Cj4gICAJfQo+ ICAgfQo+ICAgCj4gQEAgLTExNjA1LDQzICsxMTYwNSw2IEBAIHN0YXRpYyB2b2lkIGludGVsX3No YXJlZF9kcGxsX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAlCVUdfT04oZGV2X3By aXYtPm51bV9zaGFyZWRfZHBsbCA+IEk5MTVfTlVNX1BMTFMpOwo+ICAgfQo+ICAgCj4gLXN0YXRp YyBpbnQKPiAtaW50ZWxfcHJpbWFyeV9wbGFuZV9kaXNhYmxlKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lKQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsKPiAtCXN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjOwo+IC0KPiAtCWlmICghcGxhbmUtPmZiKQo+IC0J CXJldHVybiAwOwo+IC0KPiAtCUJVR19PTighcGxhbmUtPmNydGMpOwo+IC0KPiAtCWludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKHBsYW5lLT5jcnRjKTsKPiAtCj4gLQkvKgo+IC0JICogRXZlbiB0 aG91Z2ggd2UgY2hlY2tlZCBwbGFuZS0+ZmIgYWJvdmUsIGl0J3Mgc3RpbGwgcG9zc2libGUgdGhh dAo+IC0JICogdGhlIHByaW1hcnkgcGxhbmUgaGFzIGJlZW4gaW1wbGljaXRseSBkaXNhYmxlZCBi ZWNhdXNlIHRoZSBjcnRjCj4gLQkgKiBjb29yZGluYXRlcyBnaXZlbiB3ZXJlbid0IHZpc2libGUs IG9yIGJlY2F1c2Ugd2UgZGV0ZWN0ZWQKPiAtCSAqIHRoYXQgaXQgd2FzIDEwMCUgY292ZXJlZCBi eSBhIHNwcml0ZSBwbGFuZS4gIE9yLCB0aGUgQ1JUQyBtYXkgYmUKPiAtCSAqIG9mZiBhbmQgd2Un dmUgc2V0IGEgZmIsIGJ1dCBoYXZlbid0IGFjdHVhbGx5IHR1cm5lZCBvbiB0aGUgQ1JUQyB5ZXQu Cj4gLQkgKiBJbiBlaXRoZXIgY2FzZSwgd2UgbmVlZCB0byB1bnBpbiB0aGUgRkIgYW5kIGxldCB0 aGUgZmIgcG9pbnRlciBnZXQKPiAtCSAqIHVwZGF0ZWQsIGJ1dCBvdGhlcndpc2Ugd2UgZG9uJ3Qg bmVlZCB0byB0b3VjaCB0aGUgaGFyZHdhcmUuCj4gLQkgKi8KPiAtCWlmIChpbnRlbF9jcnRjLT5w cmltYXJ5X2VuYWJsZWQpIHsKPiAtCQlpbnRlbF9jcnRjX3dhaXRfZm9yX3BlbmRpbmdfZmxpcHMo cGxhbmUtPmNydGMpOwo+IC0JCWludGVsX2Rpc2FibGVfcHJpbWFyeV9od19wbGFuZShwbGFuZSwg cGxhbmUtPmNydGMpOwo+IC0JfQo+IC0KPiAtCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4 KTsKPiAtCWk5MTVfZ2VtX3RyYWNrX2ZiKGludGVsX2ZiX29iaihwbGFuZS0+ZmIpLCBOVUxMLAo+ IC0JCQkgIElOVEVMX0ZST05UQlVGRkVSX1BSSU1BUlkoaW50ZWxfY3J0Yy0+cGlwZSkpOwo+IC0J aW50ZWxfdW5waW5fZmJfb2JqKGludGVsX2ZiX29iaihwbGFuZS0+ZmIpKTsKPiAtCW11dGV4X3Vu bG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+IC0JcGxhbmUtPmZiID0gTlVMTDsKPiAtCj4gLQly ZXR1cm4gMDsKPiAtfQo+IC0KPiAgIC8qKgo+ICAgICogaW50ZWxfcHJlcGFyZV9wbGFuZV9mYiAt IFByZXBhcmUgZmIgZm9yIHVzYWdlIG9uIHBsYW5lCj4gICAgKiBAcGxhbmU6IGRybSBwbGFuZSB0 byBwcmVwYXJlIGZvcgo+IEBAIC0xMTc2MywxMiArMTE3MjYsMjMgQEAgaW50ZWxfY29tbWl0X3By aW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IHBsYW5lLT5kZXY7Cj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gLQllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMt PnBpcGU7Cj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiX29i aihmYik7Cj4gICAJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3Bs YW5lKHBsYW5lKTsKPiAgIAlzdHJ1Y3QgZHJtX3JlY3QgKnNyYyA9ICZzdGF0ZS0+c3JjOwo+ICsJ ZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9wbGFuZS0+cGlwZTsKPiAgIAo+IC0JY3J0Yy0+cHJpbWFy eS0+ZmIgPSBmYjsKPiArCWlmICghZmIpIHsKPiArCQkvKgo+ICsJCSAqICdwcmVwYXJlJyBpcyBu ZXZlciBjYWxsZWQgd2hlbiBwbGFuZSBpcyBiZWluZyBkaXNhYmxlZCwgc28KPiArCQkgKiB3ZSBu ZWVkIHRvIGhhbmRsZSBmcm9udGJ1ZmZlciB0cmFja2luZyBoZXJlCj4gKwkJICovCj4gKwkJbXV0 ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ICsJCWk5MTVfZ2VtX3RyYWNrX2ZiKGludGVs X2ZiX29iaihwbGFuZS0+ZmIpLCBOVUxMLAo+ICsJCQkJICBJTlRFTF9GUk9OVEJVRkZFUl9QUklN QVJZKHBpcGUpKTsKPiArCQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiArCX0K PiArCj4gKwlwbGFuZS0+ZmIgPSBmYjsKPiAgIAljcnRjLT54ID0gc3JjLT54MSA+PiAxNjsKPiAg IAljcnRjLT55ID0gc3JjLT55MSA+PiAxNjsKPiAgIAo+IEBAIC0xMTg5Nyw2ICsxMTg3MSwyNSBA QCBpbnRlbF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPiAgIAo+ICsvKioKPiArICogaW50ZWxf ZGlzYWJsZV9wbGFuZSAtIGRpc2FibGUgYSBwbGFuZQo+ICsgKiBAcGxhbmU6IHBsYW5lIHRvIGRp c2FibGUKPiArICoKPiArICogR2VuZXJhbCBkaXNhYmxlIGhhbmRsZXIgZm9yIGFsbCBwbGFuZSB0 eXBlcy4KPiArICovCj4gK2ludAo+ICtpbnRlbF9kaXNhYmxlX3BsYW5lKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lKQo+ICt7Cj4gKwlpZiAoIXBsYW5lLT5mYikKPiArCQlyZXR1cm4gMDsKPiArCj4g KwlpZiAoV0FSTl9PTighcGxhbmUtPmNydGMpKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiAr CXJldHVybiBwbGFuZS0+ZnVuY3MtPnVwZGF0ZV9wbGFuZShwbGFuZSwgcGxhbmUtPmNydGMsIE5V TEwsCj4gKwkJCQkJICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwKTsKPiArfQo+ICsKPiAgIC8qIENv bW1vbiBkZXN0cnVjdGlvbiBmdW5jdGlvbiBmb3IgYm90aCBwcmltYXJ5IGFuZCBjdXJzb3IgcGxh bmVzICovCj4gICBzdGF0aWMgdm9pZCBpbnRlbF9wbGFuZV9kZXN0cm95KHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lKQo+ICAgewo+IEBAIC0xMTkwNyw3ICsxMTkwMCw3IEBAIHN0YXRpYyB2b2lkIGlu dGVsX3BsYW5lX2Rlc3Ryb3koc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4gICAKPiAgIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIGludGVsX3ByaW1hcnlfcGxhbmVfZnVuY3Mg PSB7Cj4gICAJLnVwZGF0ZV9wbGFuZSA9IGludGVsX3VwZGF0ZV9wbGFuZSwKPiAtCS5kaXNhYmxl X3BsYW5lID0gaW50ZWxfcHJpbWFyeV9wbGFuZV9kaXNhYmxlLAo+ICsJLmRpc2FibGVfcGxhbmUg PSBpbnRlbF9kaXNhYmxlX3BsYW5lLAo+ICAgCS5kZXN0cm95ID0gaW50ZWxfcGxhbmVfZGVzdHJv eSwKPiAgIAkuc2V0X3Byb3BlcnR5ID0gaW50ZWxfcGxhbmVfc2V0X3Byb3BlcnR5Cj4gICB9Owo+ IEBAIC0xMTk2MiwxOCArMTE5NTUsNiBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqaW50ZWxf cHJpbWFyeV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIH0KPiAgIAo+ ICAgc3RhdGljIGludAo+IC1pbnRlbF9jdXJzb3JfcGxhbmVfZGlzYWJsZShzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSkKPiAtewo+IC0JaWYgKCFwbGFuZS0+ZmIpCj4gLQkJcmV0dXJuIDA7Cj4gLQo+ IC0JQlVHX09OKCFwbGFuZS0+Y3J0Yyk7Cj4gLQo+IC0JcmV0dXJuIHBsYW5lLT5mdW5jcy0+dXBk YXRlX3BsYW5lKHBsYW5lLCBwbGFuZS0+Y3J0YywgTlVMTCwKPiAtCQkJCQkgIDAsIDAsIDAsIDAs IDAsIDAsIDAsIDApOwo+IC19Cj4gLQo+IC1zdGF0aWMgaW50Cj4gICBpbnRlbF9jaGVja19jdXJz b3JfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJCQkgc3RydWN0IGludGVsX3Bs YW5lX3N0YXRlICpzdGF0ZSkKPiAgIHsKPiBAQCAtMTIwOTcsNyArMTIwNzgsNyBAQCB1cGRhdGU6 Cj4gICAKPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIGludGVsX2N1cnNv cl9wbGFuZV9mdW5jcyA9IHsKPiAgIAkudXBkYXRlX3BsYW5lID0gaW50ZWxfdXBkYXRlX3BsYW5l LAo+IC0JLmRpc2FibGVfcGxhbmUgPSBpbnRlbF9jdXJzb3JfcGxhbmVfZGlzYWJsZSwKPiArCS5k aXNhYmxlX3BsYW5lID0gaW50ZWxfZGlzYWJsZV9wbGFuZSwKPiAgIAkuZGVzdHJveSA9IGludGVs X3BsYW5lX2Rlc3Ryb3ksCj4gICAJLnNldF9wcm9wZXJ0eSA9IGludGVsX3BsYW5lX3NldF9wcm9w ZXJ0eSwKPiAgIH07Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCBmN2I2NjE5Li41 M2I2OTZlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMTAyMCw2ICsxMDIw LDcgQEAgaW50IGludGVsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3Ry dWN0IGRybV9jcnRjICpjcnRjLAo+ICAgCQkgICAgICAgdW5zaWduZWQgaW50IGNydGNfdywgdW5z aWduZWQgaW50IGNydGNfaCwKPiAgIAkJICAgICAgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBz cmNfeSwKPiAgIAkJICAgICAgIHVpbnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNfaCk7Cj4gK2lu dCBpbnRlbF9kaXNhYmxlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKTsKPiAgIAo+ICAg LyogaW50ZWxfZHBfbXN0LmMgKi8KPiAgIGludCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9pbml0KHN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LCBpbnQgY29ubl9pZCk7Cj4g QEAgLTEyMDEsNyArMTIwMiw2IEBAIGludCBpbnRlbF9wbGFuZV9zZXRfcHJvcGVydHkoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJCQkgICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3As Cj4gICAJCQkgICAgIHVpbnQ2NF90IHZhbCk7Cj4gICBpbnQgaW50ZWxfcGxhbmVfcmVzdG9yZShz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSk7Cj4gLXZvaWQgaW50ZWxfcGxhbmVfZGlzYWJsZShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSk7Cj4gICBpbnQgaW50ZWxfc3ByaXRlX3NldF9jb2xvcmtleShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgCQkJICAgICAgc3RydWN0IGRy bV9maWxlICpmaWxlX3ByaXYpOwo+ICAgaW50IGludGVsX3Nwcml0ZV9nZXRfY29sb3JrZXkoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z cHJpdGUuYwo+IGluZGV4IGJmZDUyNzAuLmJjNTgzNGIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zcHJpdGUuYwo+IEBAIC0xMTA5LDcgKzExMDksMTIgQEAgaW50ZWxfY2hlY2tfc3ByaXRl X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAgCWNvbnN0IHN0cnVjdCBkcm1fcmVj dCAqY2xpcCA9ICZzdGF0ZS0+Y2xpcDsKPiAgIAlpbnQgaHNjYWxlLCB2c2NhbGU7Cj4gICAJaW50 IG1heF9zY2FsZSwgbWluX3NjYWxlOwo+IC0JaW50IHBpeGVsX3NpemUgPSBkcm1fZm9ybWF0X3Bs YW5lX2NwcChmYi0+cGl4ZWxfZm9ybWF0LCAwKTsKPiArCWludCBwaXhlbF9zaXplOwo+ICsKPiAr CWlmICghZmIpIHsKPiArCQlzdGF0ZS0+dmlzaWJsZSA9IGZhbHNlOwo+ICsJCXJldHVybiAwOwo+ ICsJfQo+ICAgCj4gICAJLyogRG9uJ3QgbW9kaWZ5IGFub3RoZXIgcGlwZSdzIHBsYW5lICovCj4g ICAJaWYgKGludGVsX3BsYW5lLT5waXBlICE9IGludGVsX2NydGMtPnBpcGUpIHsKPiBAQCAtMTIz Miw2ICsxMjM3LDcgQEAgaW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lLAo+ICAgCQlpZiAoc3JjX3cgPCAzIHx8IHNyY19oIDwgMykKPiAgIAkJCXN0YXRlLT52 aXNpYmxlID0gZmFsc2U7Cj4gICAKPiArCQlwaXhlbF9zaXplID0gZHJtX2Zvcm1hdF9wbGFuZV9j cHAoZmItPnBpeGVsX2Zvcm1hdCwgMCk7Cj4gICAJCXdpZHRoX2J5dGVzID0gKChzcmNfeCAqIHBp eGVsX3NpemUpICYgNjMpICsKPiAgIAkJCQkJc3JjX3cgKiBwaXhlbF9zaXplOwo+ICAgCj4gQEAg LTEyNzYsNiArMTI4MiwxNyBAQCBpbnRlbF9jb21taXRfc3ByaXRlX3BsYW5lKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAo+ICAgCWJvb2wgcHJpbWFyeV9lbmFibGVkOwo+ICAgCj4gICAJLyoKPiAr CSAqICdwcmVwYXJlJyBpcyBuZXZlciBjYWxsZWQgd2hlbiBwbGFuZSBpcyBiZWluZyBkaXNhYmxl ZCwgc28gd2UgbmVlZAo+ICsJICogdG8gaGFuZGxlIGZyb250YnVmZmVyIHRyYWNraW5nIGhlcmUK PiArCSAqLwo+ICsJaWYgKCFmYikgewo+ICsJCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4 KTsKPiArCQlpOTE1X2dlbV90cmFja19mYihpbnRlbF9mYl9vYmoocGxhbmUtPmZiKSwgTlVMTCwK PiArCQkJCSAgSU5URUxfRlJPTlRCVUZGRVJfU1BSSVRFKHBpcGUpKTsKPiArCQltdXRleF91bmxv Y2soJmRldi0+c3RydWN0X211dGV4KTsKPiArCX0KPiArCj4gKwkvKgo+ICAgCSAqIElmIHRoZSBz cHJpdGUgaXMgY29tcGxldGVseSBjb3ZlcmluZyB0aGUgcHJpbWFyeSBwbGFuZSwKPiAgIAkgKiB3 ZSBjYW4gZGlzYWJsZSB0aGUgcHJpbWFyeSBhbmQgc2F2ZSBwb3dlci4KPiAgIAkgKi8KPiBAQCAt MTMyNyw1MCArMTM0NCw2IEBAIGludGVsX2NvbW1pdF9zcHJpdGVfcGxhbmUoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCj4gICAJfQo+ICAgfQo+ICAgCj4gLXN0YXRpYyBpbnQKPiAtaW50ZWxfZGlz YWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiAtewo+IC0Jc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IHBsYW5lLT5kZXY7Cj4gLQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3Bs YW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwo+IC0Jc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGM7Cj4gLQllbnVtIHBpcGUgcGlwZTsKPiAtCj4gLQlpZiAoIXBsYW5lLT5mYikKPiAtCQly ZXR1cm4gMDsKPiAtCj4gLQlpZiAoV0FSTl9PTighcGxhbmUtPmNydGMpKQo+IC0JCXJldHVybiAt RUlOVkFMOwo+IC0KPiAtCWludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKHBsYW5lLT5jcnRjKTsK PiAtCXBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+IC0KPiAtCWlmIChpbnRlbF9jcnRjLT5hY3Rp dmUpIHsKPiAtCQlib29sIHByaW1hcnlfd2FzX2VuYWJsZWQgPSBpbnRlbF9jcnRjLT5wcmltYXJ5 X2VuYWJsZWQ7Cj4gLQo+IC0JCWludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCA9IHRydWU7Cj4g LQo+IC0JCWludGVsX3BsYW5lLT5kaXNhYmxlX3BsYW5lKHBsYW5lLCBwbGFuZS0+Y3J0Yyk7Cj4g LQo+IC0JCWlmICghcHJpbWFyeV93YXNfZW5hYmxlZCAmJiBpbnRlbF9jcnRjLT5wcmltYXJ5X2Vu YWJsZWQpCj4gLQkJCWludGVsX3Bvc3RfZW5hYmxlX3ByaW1hcnkocGxhbmUtPmNydGMpOwo+IC0J fQo+IC0KPiAtCWlmIChpbnRlbF9wbGFuZS0+b2JqKSB7Cj4gLQkJaWYgKGludGVsX2NydGMtPmFj dGl2ZSkKPiAtCQkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldiwgaW50ZWxfcGxhbmUtPnBpcGUp Owo+IC0KPiAtCQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gLQkJaW50ZWxfdW5w aW5fZmJfb2JqKGludGVsX3BsYW5lLT5vYmopOwo+IC0JCWk5MTVfZ2VtX3RyYWNrX2ZiKGludGVs X3BsYW5lLT5vYmosIE5VTEwsCj4gLQkJCQkgIElOVEVMX0ZST05UQlVGRkVSX1NQUklURShwaXBl KSk7Cj4gLQkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gLQo+IC0JCWludGVs X3BsYW5lLT5vYmogPSBOVUxMOwo+IC0JfQo+IC0KPiAtCXJldHVybiAwOwo+IC19Cj4gLQo+ICAg c3RhdGljIHZvaWQgaW50ZWxfZGVzdHJveV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkK PiAgIHsKPiAgIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxh bmUocGxhbmUpOwo+IEBAIC0xNDc4LDE0ICsxNDUxLDYgQEAgaW50IGludGVsX3BsYW5lX3Jlc3Rv cmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4gICAJCQkJICBpbnRlbF9wbGFuZS0+c3JjX3cs IGludGVsX3BsYW5lLT5zcmNfaCk7Cj4gICB9Cj4gICAKPiAtdm9pZCBpbnRlbF9wbGFuZV9kaXNh YmxlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+IC17Cj4gLQlpZiAoIXBsYW5lLT5jcnRjIHx8 ICFwbGFuZS0+ZmIpCj4gLQkJcmV0dXJuOwo+IC0KPiAtCWludGVsX2Rpc2FibGVfcGxhbmUocGxh bmUpOwo+IC19Cj4gLQo+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgaW50 ZWxfcGxhbmVfZnVuY3MgPSB7Cj4gICAJLnVwZGF0ZV9wbGFuZSA9IGludGVsX3VwZGF0ZV9wbGFu ZSwKPiAgIAkuZGlzYWJsZV9wbGFuZSA9IGludGVsX2Rpc2FibGVfcGxhbmUsCj4gCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=