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' (v4) Date: Wed, 03 Dec 2014 11:53:50 +0200 Message-ID: <547EDDAE.3000907@gmail.com> References: <1417535962-20744-1-git-send-email-matthew.d.roper@intel.com> <1417537562-20978-1-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 mail-la0-f44.google.com (mail-la0-f44.google.com [209.85.215.44]) by gabe.freedesktop.org (Postfix) with ESMTP id 6A74472DE8 for ; Wed, 3 Dec 2014 01:53:53 -0800 (PST) Received: by mail-la0-f44.google.com with SMTP id ge10so12177616lab.31 for ; Wed, 03 Dec 2014 01:53:52 -0800 (PST) In-Reply-To: <1417537562-20978-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 T24gMTIvMDIvMjAxNCAwNjoyNiBQTSwgTWF0dCBSb3BlciB3cm90ZToKPiBJZiB3ZSBleHRlbmQg dGhlIGNvbW1pdF9wbGFuZSBoYW5kbGVycyBmb3IgZWFjaCBwbGFuZSB0eXBlIHRvIGJlIGFibGUg dG8KPiBoYW5kbGUgZmI9MCwgdGhlbiB3ZSBjYW4gZWFzaWx5IGltcGxlbWVudCBwbGFuZSBkaXNh YmxlIHZpYSB0aGUKPiB1cGRhdGVfcGxhbmUgaGFuZGxlci4gIFRoZSBjdXJzb3IgcGxhbmUgYWxy ZWFkeSB3b3JrcyB0aGlzIHdheSwgYW5kIHRoaXMKPiBpcyB0aGUgZGlyZWN0aW9uIHdlIG5lZWQg dG8gZ28gdG8gaW50ZWdyYXRlIHdpdGggdGhlIGF0b21pYyBwbGFuZQo+IGhhbmRsZXIuICBXZSBj YW4gbm93IGtpbGwgb2ZmIHRoZSB0eXBlLXNwZWNpZmljIGRpc2FibGUgZnVuY3Rpb25zLCBhcwo+ IHdlbGwgYXMgdGhlIHJlZHVuZGFudCBpbnRlbF9wbGFuZV9kaXNhYmxlKCkgKG5vdCB0byBiZSBj b25mdXNlZCB3aXRoCj4gaW50ZWxfZGlzYWJsZV9wbGFuZSgpKS4KPgo+IE5vdGUgdGhhdCBwcmVw YXJlX3BsYW5lX2ZiKCkgb25seSBnZXRzIGNhbGxlZCBhcyBwYXJ0IG9mIHVwZGF0ZV9wbGFuZQo+ IHdoZW4gZmIhPU5VTEwgKGJ5IGRlc2lnbiwgdG8gbWF0Y2ggdGhlIHNlbWFudGljcyBvZiB0aGUg YXRvbWljIHBsYW5lCj4gaGVscGVycyk7IHRoaXMgbWVhbnMgdGhhdCBvdXIgY29tbWl0X3BsYW5l IGhhbmRsZXJzIG5lZWQgdG8gaGFuZGxlIHRoZQo+IGZyb250YnVmZmVyIHRyYWNraW5nIGZvciB0 aGUgZGlzYWJsZSBjYXNlLCBldmVuIHRob3VnaCB0aGV5IGRvbid0IGhhbmRsZQo+IGl0IGZvciBu b3JtYWwgdXBkYXRlcy4KPgo+IHYyOgo+ICAgLSBDaGFuZ2UgQlVHX09OIHRvIFdBUk5fT04gKEFu ZGVyL0RhbmllbCkKPgo+IHYzOgo+ICAgLSBEcm9wIHVubmVjZXNzYXJ5IHBsYW5lLT5jcnRjIGNo ZWNrIHNpbmNlIGEgcHJldmlvdXMgcGF0Y2ggdG8gcGxhbmUKPiAgICAgdXBkYXRlIGVuc3VyZXMg dGhhdCBwbGFuZS0+Y3J0YyB3aWxsIGFsd2F5cyBiZSBub24tTlVMTCwgZXZlbiBmb3IKPiAgICAg ZGlzYWJsZSBjYWxscyB0aGF0IG1pZ2h0IHBhc3MgTlVMTCBmcm9tIHVzZXJzcGFjZS4gIChBbmRl cikKPiAgIC0gRHJvcCBhIHMvY3J0Yy9wbGFuZS0+Y3J0Yy8gaHVuayB0aGF0IHdhcyB1bm5lY2Vz c2FyeS4gIChBbmRlcikKPgo+IHY0Ogo+ICAgLSBGaXggbWlzc2luZyB3aGl0ZXNwYWNlIChBbmRl cikKPgo+IFNpZ25lZC1vZmYtYnk6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRlbC5j b20+Cj4gUmV2aWV3ZWQtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSA8YW5kZXIuY29u c2VsdmFuLmRlLm9saXZlaXJhQGludGVsLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyB8IDkzICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDIgKy0KPiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jICB8IDcxICsrKysrKystLS0tLS0t LS0tLS0tLS0tLS0tLQo+ICAgMyBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCAxMTAg ZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXgg ZDEzMDE1Yy4uZWI0MjJiZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiBAQCAtNDA2MCw3ICs0MDYwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9wbGFuZXMo c3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAgCWRybV9mb3JfZWFjaF9sZWdhY3lfcGxhbmUocGxh bmUsICZkZXYtPm1vZGVfY29uZmlnLnBsYW5lX2xpc3QpIHsKPiAgIAkJaW50ZWxfcGxhbmUgPSB0 b19pbnRlbF9wbGFuZShwbGFuZSk7Cj4gICAJCWlmIChpbnRlbF9wbGFuZS0+cGlwZSA9PSBwaXBl KQo+IC0JCQlpbnRlbF9wbGFuZV9kaXNhYmxlKCZpbnRlbF9wbGFuZS0+YmFzZSk7Cj4gKwkJCXBs YW5lLT5mdW5jcy0+ZGlzYWJsZV9wbGFuZShwbGFuZSk7Cj4gICAJfQo+ICAgfQo+Cj4gQEAgLTEx NjA1LDQzICsxMTYwNSw2IEBAIHN0YXRpYyB2b2lkIGludGVsX3NoYXJlZF9kcGxsX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAlCVUdfT04oZGV2X3ByaXYtPm51bV9zaGFyZWRfZHBs bCA+IEk5MTVfTlVNX1BMTFMpOwo+ICAgfQo+Cj4gLXN0YXRpYyBpbnQKPiAtaW50ZWxfcHJpbWFy eV9wbGFuZV9kaXNhYmxlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+IC17Cj4gLQlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsKPiAtCXN0cnVjdCBpbnRlbF9jcnRjICppbnRl bF9jcnRjOwo+IC0KPiAtCWlmICghcGxhbmUtPmZiKQo+IC0JCXJldHVybiAwOwo+IC0KPiAtCUJV R19PTighcGxhbmUtPmNydGMpOwo+IC0KPiAtCWludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKHBs YW5lLT5jcnRjKTsKPiAtCj4gLQkvKgo+IC0JICogRXZlbiB0aG91Z2ggd2UgY2hlY2tlZCBwbGFu ZS0+ZmIgYWJvdmUsIGl0J3Mgc3RpbGwgcG9zc2libGUgdGhhdAo+IC0JICogdGhlIHByaW1hcnkg cGxhbmUgaGFzIGJlZW4gaW1wbGljaXRseSBkaXNhYmxlZCBiZWNhdXNlIHRoZSBjcnRjCj4gLQkg KiBjb29yZGluYXRlcyBnaXZlbiB3ZXJlbid0IHZpc2libGUsIG9yIGJlY2F1c2Ugd2UgZGV0ZWN0 ZWQKPiAtCSAqIHRoYXQgaXQgd2FzIDEwMCUgY292ZXJlZCBieSBhIHNwcml0ZSBwbGFuZS4gIE9y LCB0aGUgQ1JUQyBtYXkgYmUKPiAtCSAqIG9mZiBhbmQgd2UndmUgc2V0IGEgZmIsIGJ1dCBoYXZl bid0IGFjdHVhbGx5IHR1cm5lZCBvbiB0aGUgQ1JUQyB5ZXQuCj4gLQkgKiBJbiBlaXRoZXIgY2Fz ZSwgd2UgbmVlZCB0byB1bnBpbiB0aGUgRkIgYW5kIGxldCB0aGUgZmIgcG9pbnRlciBnZXQKPiAt CSAqIHVwZGF0ZWQsIGJ1dCBvdGhlcndpc2Ugd2UgZG9uJ3QgbmVlZCB0byB0b3VjaCB0aGUgaGFy ZHdhcmUuCj4gLQkgKi8KPiAtCWlmIChpbnRlbF9jcnRjLT5wcmltYXJ5X2VuYWJsZWQpIHsKPiAt CQlpbnRlbF9jcnRjX3dhaXRfZm9yX3BlbmRpbmdfZmxpcHMocGxhbmUtPmNydGMpOwo+IC0JCWlu dGVsX2Rpc2FibGVfcHJpbWFyeV9od19wbGFuZShwbGFuZSwgcGxhbmUtPmNydGMpOwo+IC0JfQo+ IC0KPiAtCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAtCWk5MTVfZ2VtX3RyYWNr X2ZiKGludGVsX2ZiX29iaihwbGFuZS0+ZmIpLCBOVUxMLAo+IC0JCQkgIElOVEVMX0ZST05UQlVG RkVSX1BSSU1BUlkoaW50ZWxfY3J0Yy0+cGlwZSkpOwo+IC0JaW50ZWxfdW5waW5fZmJfb2JqKGlu dGVsX2ZiX29iaihwbGFuZS0+ZmIpKTsKPiAtCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0 ZXgpOwo+IC0JcGxhbmUtPmZiID0gTlVMTDsKPiAtCj4gLQlyZXR1cm4gMDsKPiAtfQo+IC0KPiAg IC8qKgo+ICAgICogaW50ZWxfcHJlcGFyZV9wbGFuZV9mYiAtIFByZXBhcmUgZmIgZm9yIHVzYWdl IG9uIHBsYW5lCj4gICAgKiBAcGxhbmU6IGRybSBwbGFuZSB0byBwcmVwYXJlIGZvcgo+IEBAIC0x MTc0NSw4ICsxMTcwOCw4IEBAIGludGVsX2NoZWNrX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCj4gICAJaWYgKHJldCkKPiAgIAkJcmV0dXJuIHJldDsKPgo+IC0JaW50ZWxf Y3J0Y193YWl0X2Zvcl9wZW5kaW5nX2ZsaXBzKGNydGMpOwo+IC0JaWYgKGludGVsX2NydGNfaGFz X3BlbmRpbmdfZmxpcChjcnRjKSkgewo+ICsJaW50ZWxfY3J0Y193YWl0X2Zvcl9wZW5kaW5nX2Zs aXBzKHBsYW5lLT5jcnRjKTsKPiArCWlmIChpbnRlbF9jcnRjX2hhc19wZW5kaW5nX2ZsaXAocGxh bmUtPmNydGMpKSB7CgpTbyBpdCB0dXJucyBvdXQgcGxhbmUtPmNydGMgY2FuIGJlIE5VTEwgaGVy ZSwgd2hlbiB3ZSBlbmFibGUgdGhlIHBsYW5lIApmb3IgdGhlIGZpcnN0IHRpbWUuIEFmdGVyIGRy bV9tb2RlX3NldF9jb25maWdfaW50ZXJuYWwoKSBzdWNjZWVkcywgaXQgCnNldHMgcHJpbWFyeS0+ Y3J0YyBhbmQgbm90aGluZyBlbHNlIHJlc2V0cyBpdCB0byBOVUxMLiBOb3csIGluIHBhdGNoIDkg CnlvdSBtYWRlIHN1cmUgc3RhdGUtPmJhc2UuY3J0YyBpcyBhbHdheXMgdmFsaWQsIHNvIHdlIGNv dWxkIGp1c3QgbGVhdmUgCnRoaXMgaHVuayB1bmNoYW5nZWQsIG9yIHB1dCBiYWNrIHRoZSAnaWYg KHBsYW5lLT5jcnRjKScgY2hlY2suIFNvcnJ5IGZvciAKdGhlIGNvbmZ1c2lvbi4KCkNoZWVycywK QW5kZXIKCj4gICAJCURSTV9FUlJPUigicGlwZSBpcyBzdGlsbCBidXN5IHdpdGggYW4gb2xkIHBh Z2VmbGlwXG4iKTsKPiAgIAkJcmV0dXJuIC1FQlVTWTsKPiAgIAl9Cj4gQEAgLTExNzYzLDEyICsx MTcyNiwyMyBAQCBpbnRlbF9jb21taXRfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsKPiAgIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAgCXN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAtCWVu dW0gcGlwZSBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqID0gaW50ZWxfZmJfb2JqKGZiKTsKPiAgIAlzdHJ1Y3QgaW50ZWxfcGxhbmUg KmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwo+ICAgCXN0cnVjdCBkcm1fcmVj dCAqc3JjID0gJnN0YXRlLT5zcmM7Cj4gKwllbnVtIHBpcGUgcGlwZSA9IGludGVsX3BsYW5lLT5w aXBlOwo+Cj4gLQljcnRjLT5wcmltYXJ5LT5mYiA9IGZiOwo+ICsJaWYgKCFmYikgewo+ICsJCS8q Cj4gKwkJICogJ3ByZXBhcmUnIGlzIG5ldmVyIGNhbGxlZCB3aGVuIHBsYW5lIGlzIGJlaW5nIGRp c2FibGVkLCBzbwo+ICsJCSAqIHdlIG5lZWQgdG8gaGFuZGxlIGZyb250YnVmZmVyIHRyYWNraW5n IGhlcmUKPiArCQkgKi8KPiArCQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gKwkJ aTkxNV9nZW1fdHJhY2tfZmIoaW50ZWxfZmJfb2JqKHBsYW5lLT5mYiksIE5VTEwsCj4gKwkJCQkg IElOVEVMX0ZST05UQlVGRkVSX1BSSU1BUlkocGlwZSkpOwo+ICsJCW11dGV4X3VubG9jaygmZGV2 LT5zdHJ1Y3RfbXV0ZXgpOwo+ICsJfQo+ICsKPiArCXBsYW5lLT5mYiA9IGZiOwo+ICAgCWNydGMt PnggPSBzcmMtPngxID4+IDE2Owo+ICAgCWNydGMtPnkgPSBzcmMtPnkxID4+IDE2Owo+Cj4gQEAg LTExODk3LDYgKzExODcxLDI1IEBAIGludGVsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAgCXJldHVybiAwOwo+ICAgfQo+Cj4g Ky8qKgo+ICsgKiBpbnRlbF9kaXNhYmxlX3BsYW5lIC0gZGlzYWJsZSBhIHBsYW5lCj4gKyAqIEBw bGFuZTogcGxhbmUgdG8gZGlzYWJsZQo+ICsgKgo+ICsgKiBHZW5lcmFsIGRpc2FibGUgaGFuZGxl ciBmb3IgYWxsIHBsYW5lIHR5cGVzLgo+ICsgKi8KPiAraW50Cj4gK2ludGVsX2Rpc2FibGVfcGxh bmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4gK3sKPiArCWlmICghcGxhbmUtPmZiKQo+ICsJ CXJldHVybiAwOwo+ICsKPiArCWlmIChXQVJOX09OKCFwbGFuZS0+Y3J0YykpCj4gKwkJcmV0dXJu IC1FSU5WQUw7Cj4gKwo+ICsJcmV0dXJuIHBsYW5lLT5mdW5jcy0+dXBkYXRlX3BsYW5lKHBsYW5l LCBwbGFuZS0+Y3J0YywgTlVMTCwKPiArCQkJCQkgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDApOwo+ ICt9Cj4gKwo+ICAgLyogQ29tbW9uIGRlc3RydWN0aW9uIGZ1bmN0aW9uIGZvciBib3RoIHByaW1h cnkgYW5kIGN1cnNvciBwbGFuZXMgKi8KPiAgIHN0YXRpYyB2b2lkIGludGVsX3BsYW5lX2Rlc3Ry b3koc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4gICB7Cj4gQEAgLTExOTA3LDcgKzExOTAwLDcg QEAgc3RhdGljIHZvaWQgaW50ZWxfcGxhbmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSkKPgo+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgaW50ZWxfcHJpbWFy eV9wbGFuZV9mdW5jcyA9IHsKPiAgIAkudXBkYXRlX3BsYW5lID0gaW50ZWxfdXBkYXRlX3BsYW5l LAo+IC0JLmRpc2FibGVfcGxhbmUgPSBpbnRlbF9wcmltYXJ5X3BsYW5lX2Rpc2FibGUsCj4gKwku ZGlzYWJsZV9wbGFuZSA9IGludGVsX2Rpc2FibGVfcGxhbmUsCj4gICAJLmRlc3Ryb3kgPSBpbnRl bF9wbGFuZV9kZXN0cm95LAo+ICAgCS5zZXRfcHJvcGVydHkgPSBpbnRlbF9wbGFuZV9zZXRfcHJv cGVydHkKPiAgIH07Cj4gQEAgLTExOTYyLDE4ICsxMTk1NSw2IEBAIHN0YXRpYyBzdHJ1Y3QgZHJt X3BsYW5lICppbnRlbF9wcmltYXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ICAgfQo+Cj4gICBzdGF0aWMgaW50Cj4gLWludGVsX2N1cnNvcl9wbGFuZV9kaXNhYmxlKHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+IC17Cj4gLQlpZiAoIXBsYW5lLT5mYikKPiAtCQlyZXR1 cm4gMDsKPiAtCj4gLQlCVUdfT04oIXBsYW5lLT5jcnRjKTsKPiAtCj4gLQlyZXR1cm4gcGxhbmUt PmZ1bmNzLT51cGRhdGVfcGxhbmUocGxhbmUsIHBsYW5lLT5jcnRjLCBOVUxMLAo+IC0JCQkJCSAg MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCk7Cj4gLX0KPiAtCj4gLXN0YXRpYyBpbnQKPiAgIGludGVs X2NoZWNrX2N1cnNvcl9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgIAkJCSBzdHJ1 Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlKQo+ICAgewo+IEBAIC0xMjA5Nyw3ICsxMjA3OCw3 IEBAIHVwZGF0ZToKPgo+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgaW50 ZWxfY3Vyc29yX3BsYW5lX2Z1bmNzID0gewo+ICAgCS51cGRhdGVfcGxhbmUgPSBpbnRlbF91cGRh dGVfcGxhbmUsCj4gLQkuZGlzYWJsZV9wbGFuZSA9IGludGVsX2N1cnNvcl9wbGFuZV9kaXNhYmxl LAo+ICsJLmRpc2FibGVfcGxhbmUgPSBpbnRlbF9kaXNhYmxlX3BsYW5lLAo+ICAgCS5kZXN0cm95 ID0gaW50ZWxfcGxhbmVfZGVzdHJveSwKPiAgIAkuc2V0X3Byb3BlcnR5ID0gaW50ZWxfcGxhbmVf c2V0X3Byb3BlcnR5LAo+ICAgfTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IGY3 YjY2MTkuLjUzYjY5NmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xMDIw LDYgKzEwMjAsNyBAQCBpbnQgaW50ZWxfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gICAJCSAgICAgICB1bnNpZ25lZCBpbnQgY3J0 Y193LCB1bnNpZ25lZCBpbnQgY3J0Y19oLAo+ICAgCQkgICAgICAgdWludDMyX3Qgc3JjX3gsIHVp bnQzMl90IHNyY195LAo+ICAgCQkgICAgICAgdWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19o KTsKPiAraW50IGludGVsX2Rpc2FibGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwo+ Cj4gICAvKiBpbnRlbF9kcF9tc3QuYyAqLwo+ICAgaW50IGludGVsX2RwX21zdF9lbmNvZGVyX2lu aXQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsIGludCBjb25uX2lk KTsKPiBAQCAtMTIwMSw3ICsxMjAyLDYgQEAgaW50IGludGVsX3BsYW5lX3NldF9wcm9wZXJ0eShz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgIAkJCSAgICAgc3RydWN0IGRybV9wcm9wZXJ0eSAq cHJvcCwKPiAgIAkJCSAgICAgdWludDY0X3QgdmFsKTsKPiAgIGludCBpbnRlbF9wbGFuZV9yZXN0 b3JlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKTsKPiAtdm9pZCBpbnRlbF9wbGFuZV9kaXNhYmxl KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKTsKPiAgIGludCBpbnRlbF9zcHJpdGVfc2V0X2NvbG9y a2V5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJCQkgICAgICBzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7Cj4gICBpbnQgaW50ZWxfc3ByaXRlX2dldF9jb2xvcmtl eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3Nwcml0ZS5jCj4gaW5kZXggYmZkNTI3MC4uYmM1ODM0YiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Nwcml0ZS5jCj4gQEAgLTExMDksNyArMTEwOSwxMiBAQCBpbnRlbF9jaGVja19z cHJpdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJY29uc3Qgc3RydWN0IGRy bV9yZWN0ICpjbGlwID0gJnN0YXRlLT5jbGlwOwo+ICAgCWludCBoc2NhbGUsIHZzY2FsZTsKPiAg IAlpbnQgbWF4X3NjYWxlLCBtaW5fc2NhbGU7Cj4gLQlpbnQgcGl4ZWxfc2l6ZSA9IGRybV9mb3Jt YXRfcGxhbmVfY3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOwo+ICsJaW50IHBpeGVsX3NpemU7Cj4g Kwo+ICsJaWYgKCFmYikgewo+ICsJCXN0YXRlLT52aXNpYmxlID0gZmFsc2U7Cj4gKwkJcmV0dXJu IDA7Cj4gKwl9Cj4KPiAgIAkvKiBEb24ndCBtb2RpZnkgYW5vdGhlciBwaXBlJ3MgcGxhbmUgKi8K PiAgIAlpZiAoaW50ZWxfcGxhbmUtPnBpcGUgIT0gaW50ZWxfY3J0Yy0+cGlwZSkgewo+IEBAIC0x MjMyLDYgKzEyMzcsNyBAQCBpbnRlbF9jaGVja19zcHJpdGVfcGxhbmUoc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsCj4gICAJCWlmIChzcmNfdyA8IDMgfHwgc3JjX2ggPCAzKQo+ICAgCQkJc3RhdGUt PnZpc2libGUgPSBmYWxzZTsKPgo+ICsJCXBpeGVsX3NpemUgPSBkcm1fZm9ybWF0X3BsYW5lX2Nw cChmYi0+cGl4ZWxfZm9ybWF0LCAwKTsKPiAgIAkJd2lkdGhfYnl0ZXMgPSAoKHNyY194ICogcGl4 ZWxfc2l6ZSkgJiA2MykgKwo+ICAgCQkJCQlzcmNfdyAqIHBpeGVsX3NpemU7Cj4KPiBAQCAtMTI3 Niw2ICsxMjgyLDE3IEBAIGludGVsX2NvbW1pdF9zcHJpdGVfcGxhbmUoc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsCj4gICAJYm9vbCBwcmltYXJ5X2VuYWJsZWQ7Cj4KPiAgIAkvKgo+ICsJICogJ3By ZXBhcmUnIGlzIG5ldmVyIGNhbGxlZCB3aGVuIHBsYW5lIGlzIGJlaW5nIGRpc2FibGVkLCBzbyB3 ZSBuZWVkCj4gKwkgKiB0byBoYW5kbGUgZnJvbnRidWZmZXIgdHJhY2tpbmcgaGVyZQo+ICsJICov Cj4gKwlpZiAoIWZiKSB7Cj4gKwkJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ICsJ CWk5MTVfZ2VtX3RyYWNrX2ZiKGludGVsX2ZiX29iaihwbGFuZS0+ZmIpLCBOVUxMLAo+ICsJCQkJ ICBJTlRFTF9GUk9OVEJVRkZFUl9TUFJJVEUocGlwZSkpOwo+ICsJCW11dGV4X3VubG9jaygmZGV2 LT5zdHJ1Y3RfbXV0ZXgpOwo+ICsJfQo+ICsKPiArCS8qCj4gICAJICogSWYgdGhlIHNwcml0ZSBp cyBjb21wbGV0ZWx5IGNvdmVyaW5nIHRoZSBwcmltYXJ5IHBsYW5lLAo+ICAgCSAqIHdlIGNhbiBk aXNhYmxlIHRoZSBwcmltYXJ5IGFuZCBzYXZlIHBvd2VyLgo+ICAgCSAqLwo+IEBAIC0xMzI3LDUw ICsxMzQ0LDYgQEAgaW50ZWxfY29tbWl0X3Nwcml0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKPiAgIAl9Cj4gICB9Cj4KPiAtc3RhdGljIGludAo+IC1pbnRlbF9kaXNhYmxlX3BsYW5l KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gcGxhbmUtPmRldjsKPiAtCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19p bnRlbF9wbGFuZShwbGFuZSk7Cj4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsKPiAt CWVudW0gcGlwZSBwaXBlOwo+IC0KPiAtCWlmICghcGxhbmUtPmZiKQo+IC0JCXJldHVybiAwOwo+ IC0KPiAtCWlmIChXQVJOX09OKCFwbGFuZS0+Y3J0YykpCj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4g LQo+IC0JaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGxhbmUtPmNydGMpOwo+IC0JcGlwZSA9 IGludGVsX2NydGMtPnBpcGU7Cj4gLQo+IC0JaWYgKGludGVsX2NydGMtPmFjdGl2ZSkgewo+IC0J CWJvb2wgcHJpbWFyeV93YXNfZW5hYmxlZCA9IGludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZDsK PiAtCj4gLQkJaW50ZWxfY3J0Yy0+cHJpbWFyeV9lbmFibGVkID0gdHJ1ZTsKPiAtCj4gLQkJaW50 ZWxfcGxhbmUtPmRpc2FibGVfcGxhbmUocGxhbmUsIHBsYW5lLT5jcnRjKTsKPiAtCj4gLQkJaWYg KCFwcmltYXJ5X3dhc19lbmFibGVkICYmIGludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCkKPiAt CQkJaW50ZWxfcG9zdF9lbmFibGVfcHJpbWFyeShwbGFuZS0+Y3J0Yyk7Cj4gLQl9Cj4gLQo+IC0J aWYgKGludGVsX3BsYW5lLT5vYmopIHsKPiAtCQlpZiAoaW50ZWxfY3J0Yy0+YWN0aXZlKQo+IC0J CQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBpbnRlbF9wbGFuZS0+cGlwZSk7Cj4gLQo+IC0J CW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAtCQlpbnRlbF91bnBpbl9mYl9vYmoo aW50ZWxfcGxhbmUtPm9iaik7Cj4gLQkJaTkxNV9nZW1fdHJhY2tfZmIoaW50ZWxfcGxhbmUtPm9i aiwgTlVMTCwKPiAtCQkJCSAgSU5URUxfRlJPTlRCVUZGRVJfU1BSSVRFKHBpcGUpKTsKPiAtCQlt dXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAtCj4gLQkJaW50ZWxfcGxhbmUtPm9i aiA9IE5VTEw7Cj4gLQl9Cj4gLQo+IC0JcmV0dXJuIDA7Cj4gLX0KPiAtCj4gICBzdGF0aWMgdm9p ZCBpbnRlbF9kZXN0cm95X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+ICAgewo+ICAg CXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7 Cj4gQEAgLTE0NzgsMTQgKzE0NTEsNiBAQCBpbnQgaW50ZWxfcGxhbmVfcmVzdG9yZShzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSkKPiAgIAkJCQkgIGludGVsX3BsYW5lLT5zcmNfdywgaW50ZWxfcGxh bmUtPnNyY19oKTsKPiAgIH0KPgo+IC12b2lkIGludGVsX3BsYW5lX2Rpc2FibGUoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUpCj4gLXsKPiAtCWlmICghcGxhbmUtPmNydGMgfHwgIXBsYW5lLT5mYikK PiAtCQlyZXR1cm47Cj4gLQo+IC0JaW50ZWxfZGlzYWJsZV9wbGFuZShwbGFuZSk7Cj4gLX0KPiAt Cj4gICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcyBpbnRlbF9wbGFuZV9mdW5j cyA9IHsKPiAgIAkudXBkYXRlX3BsYW5lID0gaW50ZWxfdXBkYXRlX3BsYW5lLAo+ICAgCS5kaXNh YmxlX3BsYW5lID0gaW50ZWxfZGlzYWJsZV9wbGFuZSwKPgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK