From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2] drm/atomic: Allow for holes in connector state, v2. Date: Wed, 17 Feb 2016 21:24:28 +0200 Message-ID: <20160217192428.GK23290@intel.com> References: <1455694325-24989-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 540F26E0E5 for ; Wed, 17 Feb 2016 19:24:32 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1455694325-24989-1-git-send-email-maarten.lankhorst@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: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBGZWIgMTcsIDIwMTYgYXQgMDg6MzI6MDVBTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gQmVjYXVzZSB3ZSByZWNvcmQgY29ubmVjdG9yX21hc2sgdXNpbmcgMSA8PCBk cm1fY29ubmVjdG9yX2luZGV4IG5vdwo+IHRoZSBjb25uZWN0b3JfbWFzayBzaG91bGQgc3RheSB0 aGUgc2FtZSBldmVuIHdoZW4gb3RoZXIgY29ubmVjdG9ycwo+IGFyZSByZW1vdmVkLiBUaGlzIHdh cyBub3QgdGhlIGNhc2Ugd2l0aCBNU1QsIGluIHRoYXQgY2FzZSB3aGVuIHJlbW92aW5nCj4gYSBj b25uZWN0b3IgYWxsIG90aGVyIGNvbm5lY3RvcnMgbWF5IGNoYW5nZSB0aGVpciBpbmRleC4KPiAK PiBUaGlzIGlzIGZpeGVkIGJ5IHdhaXRpbmcgdW50aWwgdGhlIGZpcnN0IGdldF9jb25uZWN0b3Jf c3RhdGUgdG8gYWxsb2NhdGUKPiBjb25uZWN0b3Jfc3RhdGUsIGFuZCBmb3JjZSByZWFsbG9jYXRp b24gd2hlbiBzdGF0ZSBpcyB0b28gc21hbGwuCj4gCj4gQXMgYSBzaWRlIGVmZmVjdCBjb25uZWN0 b3IgYXJyYXlzIG5vIGxvbmdlciBoYXZlIHRvIGJlIHByZWFsbG9jYXRlZCwKPiBhbmQgY2FuIGJl IGFsbG9jYXRlZCBvbiBmaXJzdCB1c2Ugd2hpY2ggbWVhbnMgYSBsZXNzIGFsbG9jYXRpb25zIGlu Cj4gdGhlIHBhZ2UgZmxpcCBvbmx5IHBhdGguCj4gCj4gQ2hhbmdlcyBzaW5jZSB2MToKPiAtIFdo aXRlc3BhY2UuIChWaWxsZSkKPiAtIENhbGwgaWRhX3JlbW92ZSB3aGVuIGRlc3Ryb3lpbmcgdGhl IGNvbm5lY3Rvci4gKFZpbGxlKQo+IC0gdTMyIGFsbG9jIC0+IGludC4gKFZpbGxlKQo+IAo+IEZp eGVzOiAxNGRlNmM0NGQxNDkgKCJkcm0vYXRvbWljOiBSZW1vdmUgZHJtX2F0b21pY19jb25uZWN0 b3JzX2Zvcl9jcnRjLiIpCj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0 ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWMuYyAgICAgICAgfCA0NCArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KPiAg ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgfCAgMiArLQo+ICBkcml2ZXJzL2dw dS9kcm0vZHJtX2NydGMuYyAgICAgICAgICB8IDQ5ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KPiAgaW5jbHVkZS9kcm0vZHJtX2NydGMuaCAgICAgICAgICAgICAgfCAgOCAr KysrKy0KPiAgNCBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCA1NSBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBpbmRleCA4ZmI0NjljNGU0YjguLjA5MjYyMGM2ZmYz MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IEBAIC02NSw4ICs2NSw2IEBAIGRybV9hdG9taWNf c3RhdGVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUpCj4gIAkgKi8KPiAgCXN0YXRlLT5hbGxvd19tb2Rlc2V0ID0gdHJ1ZTsKPiAgCj4g LQlzdGF0ZS0+bnVtX2Nvbm5lY3RvciA9IEFDQ0VTU19PTkNFKGRldi0+bW9kZV9jb25maWcubnVt X2Nvbm5lY3Rvcik7Cj4gLQo+ICAJc3RhdGUtPmNydGNzID0ga2NhbGxvYyhkZXYtPm1vZGVfY29u ZmlnLm51bV9jcnRjLAo+ICAJCQkgICAgICAgc2l6ZW9mKCpzdGF0ZS0+Y3J0Y3MpLCBHRlBfS0VS TkVMKTsKPiAgCWlmICghc3RhdGUtPmNydGNzKQo+IEBAIC04MywxNiArODEsNiBAQCBkcm1fYXRv bWljX3N0YXRlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlKQo+ICAJCQkJICAgICAgc2l6ZW9mKCpzdGF0ZS0+cGxhbmVfc3RhdGVzKSwg R0ZQX0tFUk5FTCk7Cj4gIAlpZiAoIXN0YXRlLT5wbGFuZV9zdGF0ZXMpCj4gIAkJZ290byBmYWls Owo+IC0Jc3RhdGUtPmNvbm5lY3RvcnMgPSBrY2FsbG9jKHN0YXRlLT5udW1fY29ubmVjdG9yLAo+ IC0JCQkJICAgIHNpemVvZigqc3RhdGUtPmNvbm5lY3RvcnMpLAo+IC0JCQkJICAgIEdGUF9LRVJO RUwpOwo+IC0JaWYgKCFzdGF0ZS0+Y29ubmVjdG9ycykKPiAtCQlnb3RvIGZhaWw7Cj4gLQlzdGF0 ZS0+Y29ubmVjdG9yX3N0YXRlcyA9IGtjYWxsb2Moc3RhdGUtPm51bV9jb25uZWN0b3IsCj4gLQkJ CQkJICBzaXplb2YoKnN0YXRlLT5jb25uZWN0b3Jfc3RhdGVzKSwKPiAtCQkJCQkgIEdGUF9LRVJO RUwpOwo+IC0JaWYgKCFzdGF0ZS0+Y29ubmVjdG9yX3N0YXRlcykKPiAtCQlnb3RvIGZhaWw7Cj4g IAo+ICAJc3RhdGUtPmRldiA9IGRldjsKPiAgCj4gQEAgLTgyMywxOSArODExLDI3IEBAIGRybV9h dG9taWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUs Cj4gIAo+ICAJaW5kZXggPSBkcm1fY29ubmVjdG9yX2luZGV4KGNvbm5lY3Rvcik7Cj4gIAo+IC0J LyoKPiAtCSAqIENvbnN0cnVjdGlvbiBvZiBhdG9taWMgc3RhdGUgdXBkYXRlcyBjYW4gcmFjZSB3 aXRoIGEgY29ubmVjdG9yCj4gLQkgKiBob3QtYWRkIHdoaWNoIG1pZ2h0IG92ZXJmbG93LiBJbiB0 aGlzIGNhc2UgZmxpcCB0aGUgdGFibGUgYW5kIGp1c3QKPiAtCSAqIHJlc3RhcnQgdGhlIGVudGly ZSBpb2N0bCAtIG5vIG9uZSBpcyBmYXN0IGVub3VnaCB0byBsaXZlbG9jayBhIGNwdQo+IC0JICog d2l0aCBwaHlzaWNhbCBob3RwbHVnIGV2ZW50cyBhbnl3YXkuCj4gLQkgKgo+IC0JICogTm90ZSB0 aGF0IHdlIG9ubHkgZ3JhYiB0aGUgaW5kZXhlcyBvbmNlIHdlIGhhdmUgdGhlIHJpZ2h0IGxvY2sg dG8KPiAtCSAqIHByZXZlbnQgaG90cGx1Zy91bnBsdWdnaW5nIG9mIGNvbm5lY3RvcnMuIFNvIHJl bW92YWwgaXMgbm8gcHJvYmxlbSwKPiAtCSAqIGF0IG1vc3QgdGhlIGFycmF5IGlzIGEgYml0IHRv byBsYXJnZS4KPiAtCSAqLwo+ICAJaWYgKGluZGV4ID49IHN0YXRlLT5udW1fY29ubmVjdG9yKSB7 Cj4gLQkJRFJNX0RFQlVHX0FUT01JQygiSG90LWFkZGVkIGNvbm5lY3RvciB3b3VsZCBvdmVyZmxv dyBzdGF0ZSBhcnJheSwgcmVzdGFydGluZ1xuIik7Cj4gLQkJcmV0dXJuIEVSUl9QVFIoLUVBR0FJ Tik7Cj4gKwkJc3RydWN0IGRybV9jb25uZWN0b3IgKipjOwo+ICsJCXN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlICoqY3M7Cj4gKwkJaW50IGFsbG9jID0gbWF4KGluZGV4ICsgMSwgY29uZmlnLT5u dW1fY29ubmVjdG9yKTsKPiArCj4gKwkJYyA9IGtyZWFsbG9jKHN0YXRlLT5jb25uZWN0b3JzLCBh bGxvYyAqIHNpemVvZigqc3RhdGUtPmNvbm5lY3RvcnMpLCBHRlBfS0VSTkVMKTsKPiArCQlpZiAo IWMpCj4gKwkJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwo+ICsKPiArCQlzdGF0ZS0+Y29ubmVj dG9ycyA9IGM7Cj4gKwkJbWVtc2V0KCZzdGF0ZS0+Y29ubmVjdG9yc1tzdGF0ZS0+bnVtX2Nvbm5l Y3Rvcl0sIDAsCj4gKwkJICAgICAgIHNpemVvZigqc3RhdGUtPmNvbm5lY3RvcnMpICogKGFsbG9j IC0gc3RhdGUtPm51bV9jb25uZWN0b3IpKTsKPiArCj4gKwkJY3MgPSBrcmVhbGxvYyhzdGF0ZS0+ Y29ubmVjdG9yX3N0YXRlcywgYWxsb2MgKiBzaXplb2YoKnN0YXRlLT5jb25uZWN0b3Jfc3RhdGVz KSwgR0ZQX0tFUk5FTCk7Cj4gKwkJaWYgKCFjcykKPiArCQkJcmV0dXJuIEVSUl9QVFIoLUVOT01F TSk7Cj4gKwo+ICsJCXN0YXRlLT5jb25uZWN0b3Jfc3RhdGVzID0gY3M7Cj4gKwkJbWVtc2V0KCZz dGF0ZS0+Y29ubmVjdG9yX3N0YXRlc1tzdGF0ZS0+bnVtX2Nvbm5lY3Rvcl0sIDAsCj4gKwkJICAg ICAgIHNpemVvZigqc3RhdGUtPmNvbm5lY3Rvcl9zdGF0ZXMpICogKGFsbG9jIC0gc3RhdGUtPm51 bV9jb25uZWN0b3IpKTsKPiArCQlzdGF0ZS0+bnVtX2Nvbm5lY3RvciA9IGFsbG9jOwo+ICAJfQo+ ICAKPiAgCWlmIChzdGF0ZS0+Y29ubmVjdG9yX3N0YXRlc1tpbmRleF0pCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWNfaGVscGVyLmMKPiBpbmRleCAyYjQzMGIwNWYzNWQuLjRkYTRmMmE0OTA3OCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gQEAgLTE1MzUsNyArMTUzNSw3IEBA IHZvaWQgZHJtX2F0b21pY19oZWxwZXJfc3dhcF9zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ICB7Cj4gIAlpbnQgaTsKPiAgCj4gLQlmb3IgKGkgPSAwOyBpIDwgZGV2LT5tb2RlX2NvbmZp Zy5udW1fY29ubmVjdG9yOyBpKyspIHsKPiArCWZvciAoaSA9IDA7IGkgPCBzdGF0ZS0+bnVtX2Nv bm5lY3RvcjsgaSsrKSB7Cj4gIAkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHN0 YXRlLT5jb25uZWN0b3JzW2ldOwo+ICAKPiAgCQlpZiAoIWNvbm5lY3RvcikKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMu Ywo+IGluZGV4IDY1MjU4YWNkZGI5MC4uODQ1MTQwMDFkY2VmIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMK PiBAQCAtOTE4LDEyICs5MTgsMTkgQEAgaW50IGRybV9jb25uZWN0b3JfaW5pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+ICAJY29ubmVjdG9yLT5iYXNlLnByb3BlcnRpZXMgPSAmY29ubmVjdG9y LT5wcm9wZXJ0aWVzOwo+ICAJY29ubmVjdG9yLT5kZXYgPSBkZXY7Cj4gIAljb25uZWN0b3ItPmZ1 bmNzID0gZnVuY3M7Cj4gKwo+ICsJY29ubmVjdG9yLT5jb25uZWN0b3JfaWQgPSBpZGFfc2ltcGxl X2dldCgmY29uZmlnLT5jb25uZWN0b3JfaWRhLCAwLCAwLCBHRlBfS0VSTkVMKTsKPiArCWlmIChj b25uZWN0b3ItPmNvbm5lY3Rvcl9pZCA8IDApIHsKPiArCQlyZXQgPSBjb25uZWN0b3ItPmNvbm5l Y3Rvcl9pZDsKPiArCQlnb3RvIG91dF9wdXQ7Cj4gKwl9Cj4gKwo+ICAJY29ubmVjdG9yLT5jb25u ZWN0b3JfdHlwZSA9IGNvbm5lY3Rvcl90eXBlOwo+ICAJY29ubmVjdG9yLT5jb25uZWN0b3JfdHlw ZV9pZCA9Cj4gIAkJaWRhX3NpbXBsZV9nZXQoY29ubmVjdG9yX2lkYSwgMSwgMCwgR0ZQX0tFUk5F TCk7Cj4gIAlpZiAoY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZV9pZCA8IDApIHsKPiAgCQlyZXQg PSBjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlX2lkOwo+IC0JCWdvdG8gb3V0X3B1dDsKPiArCQln b3RvIG91dF9wdXRfaWQ7Cj4gIAl9Cj4gIAljb25uZWN0b3ItPm5hbWUgPQo+ICAJCWthc3ByaW50 ZihHRlBfS0VSTkVMLCAiJXMtJWQiLAo+IEBAIC05MzEsNyArOTM4LDcgQEAgaW50IGRybV9jb25u ZWN0b3JfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCQkgIGNvbm5lY3Rvci0+Y29u bmVjdG9yX3R5cGVfaWQpOwo+ICAJaWYgKCFjb25uZWN0b3ItPm5hbWUpIHsKPiAgCQlyZXQgPSAt RU5PTUVNOwo+IC0JCWdvdG8gb3V0X3B1dDsKPiArCQlnb3RvIG91dF9wdXRfdHlwZV9pZDsKPiAg CX0KPiAgCj4gIAlJTklUX0xJU1RfSEVBRCgmY29ubmVjdG9yLT5wcm9iZWRfbW9kZXMpOwo+IEBA IC05NTksNyArOTY2LDEyIEBAIGludCBkcm1fY29ubmVjdG9yX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiAgCX0KPiAgCj4gIAljb25uZWN0b3ItPmRlYnVnZnNfZW50cnkgPSBOVUxMOwo+ IC0KPiArb3V0X3B1dF90eXBlX2lkOgo+ICsJaWYgKHJldCkKPiArCQlpZGFfcmVtb3ZlKGNvbm5l Y3Rvcl9pZGEsIGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGVfaWQpOwo+ICtvdXRfcHV0X2lkOgo+ ICsJaWYgKHJldCkKPiArCQlpZGFfcmVtb3ZlKCZjb25maWctPmNvbm5lY3Rvcl9pZGEsIGNvbm5l Y3Rvci0+Y29ubmVjdG9yX2lkKTsKPiAgb3V0X3B1dDoKPiAgCWlmIChyZXQpCj4gIAkJZHJtX21v ZGVfb2JqZWN0X3B1dChkZXYsICZjb25uZWN0b3ItPmJhc2UpOwoKVGhhdCBzZWVtcyB0byBmaXgg YSBwcmUtZXhpc3RpbmcgY29ubmVjdG9yX3R5cGVfaWQgbGVhayBhcyB3ZWxsLiBDb3VsZAptZW50 aW9uIGl0IGluIHRoZSBjb21taXQgbWVzc2FnZS4KCkFueXdheXMsIHRoaXMgc2VlbXMgT0sgdG8g bWUuIFRoZXJlJ3Mgc29tZSBwb3RlbnRpYWwgZm9yIGNvbmZ1c2lvbiB3aXRoCmNvbm5lY3Rvcl9p ZCwgY29ubmVjdG9yX3R5cGVfaWQgYW5kIGNvbm5lY3Rvci0+YmFzZS5pZCBwZXJoYXBzLCBidXQg SQpkb24ndCByZWFsbHkgY2FyZSBzbwoKUmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmls bGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cgo+IEBAIC05OTYsNiArMTAwOCw5IEBAIHZvaWQg ZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4g IAlpZGFfcmVtb3ZlKCZkcm1fY29ubmVjdG9yX2VudW1fbGlzdFtjb25uZWN0b3ItPmNvbm5lY3Rv cl90eXBlXS5pZGEsCj4gIAkJICAgY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZV9pZCk7Cj4gIAo+ ICsJaWRhX3JlbW92ZSgmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfaWRhLAo+ICsJCSAgIGNv bm5lY3Rvci0+Y29ubmVjdG9yX2lkKTsKPiArCj4gIAlrZnJlZShjb25uZWN0b3ItPmRpc3BsYXlf aW5mby5idXNfZm9ybWF0cyk7Cj4gIAlkcm1fbW9kZV9vYmplY3RfcHV0KGRldiwgJmNvbm5lY3Rv ci0+YmFzZSk7Cj4gIAlrZnJlZShjb25uZWN0b3ItPm5hbWUpOwo+IEBAIC0xMDEzLDMyICsxMDI4 LDYgQEAgdm9pZCBkcm1fY29ubmVjdG9yX2NsZWFudXAoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvcikKPiAgRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX2NsZWFudXApOwo+ICAKPiAg LyoqCj4gLSAqIGRybV9jb25uZWN0b3JfaW5kZXggLSBmaW5kIHRoZSBpbmRleCBvZiBhIHJlZ2lz dGVyZWQgY29ubmVjdG9yCj4gLSAqIEBjb25uZWN0b3I6IGNvbm5lY3RvciB0byBmaW5kIGluZGV4 IGZvcgo+IC0gKgo+IC0gKiBHaXZlbiBhIHJlZ2lzdGVyZWQgY29ubmVjdG9yLCByZXR1cm4gdGhl IGluZGV4IG9mIHRoYXQgY29ubmVjdG9yIHdpdGhpbiBhIERSTQo+IC0gKiBkZXZpY2UncyBsaXN0 IG9mIGNvbm5lY3RvcnMuCj4gLSAqLwo+IC11bnNpZ25lZCBpbnQgZHJtX2Nvbm5lY3Rvcl9pbmRl eChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+IC17Cj4gLQl1bnNpZ25lZCBpbnQg aW5kZXggPSAwOwo+IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgKnRtcDsKPiAtCXN0cnVjdCBkcm1f bW9kZV9jb25maWcgKmNvbmZpZyA9ICZjb25uZWN0b3ItPmRldi0+bW9kZV9jb25maWc7Cj4gLQo+ IC0JV0FSTl9PTighZHJtX21vZGVzZXRfaXNfbG9ja2VkKCZjb25maWctPmNvbm5lY3Rpb25fbXV0 ZXgpKTsKPiAtCj4gLQlkcm1fZm9yX2VhY2hfY29ubmVjdG9yKHRtcCwgY29ubmVjdG9yLT5kZXYp IHsKPiAtCQlpZiAodG1wID09IGNvbm5lY3RvcikKPiAtCQkJcmV0dXJuIGluZGV4Owo+IC0KPiAt CQlpbmRleCsrOwo+IC0JfQo+IC0KPiAtCUJVRygpOwo+IC19Cj4gLUVYUE9SVF9TWU1CT0woZHJt X2Nvbm5lY3Rvcl9pbmRleCk7Cj4gLQo+IC0vKioKPiAgICogZHJtX2Nvbm5lY3Rvcl9yZWdpc3Rl ciAtIHJlZ2lzdGVyIGEgY29ubmVjdG9yCj4gICAqIEBjb25uZWN0b3I6IHRoZSBjb25uZWN0b3Ig dG8gcmVnaXN0ZXIKPiAgICoKPiBAQCAtNTgzOCw2ICs1ODI3LDcgQEAgdm9pZCBkcm1fbW9kZV9j b25maWdfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJSU5JVF9MSVNUX0hFQUQoJmRl di0+bW9kZV9jb25maWcucGxhbmVfbGlzdCk7Cj4gIAlpZHJfaW5pdCgmZGV2LT5tb2RlX2NvbmZp Zy5jcnRjX2lkcik7Cj4gIAlpZHJfaW5pdCgmZGV2LT5tb2RlX2NvbmZpZy50aWxlX2lkcik7Cj4g KwlpZGFfaW5pdCgmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfaWRhKTsKPiAgCj4gIAlkcm1f bW9kZXNldF9sb2NrX2FsbChkZXYpOwo+ICAJZHJtX21vZGVfY3JlYXRlX3N0YW5kYXJkX3Byb3Bl cnRpZXMoZGV2KTsKPiBAQCAtNTkxOCw2ICs1OTA4LDcgQEAgdm9pZCBkcm1fbW9kZV9jb25maWdf Y2xlYW51cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCWNydGMtPmZ1bmNzLT5kZXN0cm95 KGNydGMpOwo+ICAJfQo+ICAKPiArCWlkYV9kZXN0cm95KCZkZXYtPm1vZGVfY29uZmlnLmNvbm5l Y3Rvcl9pZGEpOwo+ICAJaWRyX2Rlc3Ryb3koJmRldi0+bW9kZV9jb25maWcudGlsZV9pZHIpOwo+ ICAJaWRyX2Rlc3Ryb3koJmRldi0+bW9kZV9jb25maWcuY3J0Y19pZHIpOwo+ICAJZHJtX21vZGVz ZXRfbG9ja19maW5pKCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgpOwo+IGRpZmYg LS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+ IGluZGV4IDhjN2ZiM2QwZjlkMC4uN2ZhZDE5M2RjNjQ1IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUv ZHJtL2RybV9jcnRjLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gQEAgLTExNjgs NiArMTE2OCw3IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yIHsKPiAgCXN0cnVjdCBkcm1fbW9kZV9v YmplY3QgYmFzZTsKPiAgCj4gIAljaGFyICpuYW1lOwo+ICsJaW50IGNvbm5lY3Rvcl9pZDsKPiAg CWludCBjb25uZWN0b3JfdHlwZTsKPiAgCWludCBjb25uZWN0b3JfdHlwZV9pZDsKPiAgCWJvb2wg aW50ZXJsYWNlX2FsbG93ZWQ7Cj4gQEAgLTIwNDksNiArMjA1MCw3IEBAIHN0cnVjdCBkcm1fbW9k ZV9jb25maWcgewo+ICAJc3RydWN0IGxpc3RfaGVhZCBmYl9saXN0Owo+ICAKPiAgCWludCBudW1f Y29ubmVjdG9yOwo+ICsJc3RydWN0IGlkYSBjb25uZWN0b3JfaWRhOwo+ICAJc3RydWN0IGxpc3Rf aGVhZCBjb25uZWN0b3JfbGlzdDsKPiAgCWludCBudW1fZW5jb2RlcjsKPiAgCXN0cnVjdCBsaXN0 X2hlYWQgZW5jb2Rlcl9saXN0Owo+IEBAIC0yMjEzLDcgKzIyMTUsMTEgQEAgaW50IGRybV9jb25u ZWN0b3JfcmVnaXN0ZXIoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gIHZvaWQg ZHJtX2Nvbm5lY3Rvcl91bnJlZ2lzdGVyKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Ip Owo+ICAKPiAgZXh0ZXJuIHZvaWQgZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpOwo+IC1leHRlcm4gdW5zaWduZWQgaW50IGRybV9jb25uZWN0b3Jf aW5kZXgoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gK3N0YXRpYyBpbmxpbmUg dW5zaWduZWQgZHJtX2Nvbm5lY3Rvcl9pbmRleChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQo+ICt7Cj4gKwlyZXR1cm4gY29ubmVjdG9yLT5jb25uZWN0b3JfaWQ7Cj4gK30KPiArCj4g IC8qIGhlbHBlciB0byB1bnBsdWcgYWxsIGNvbm5lY3RvcnMgZnJvbSBzeXNmcyBmb3IgZGV2aWNl ICovCj4gIGV4dGVybiB2b2lkIGRybV9jb25uZWN0b3JfdW5wbHVnX2FsbChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KTsKPiAgCj4gLS0gCj4gMi4xLjAKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwg T1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=