From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Subject: Re: [v2] drm/atomic: Allow for holes in connector state, v2. Date: Wed, 17 Feb 2016 10:33:32 -0500 Message-ID: <1455723212.9525.1.camel@redhat.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 mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id B05636E9FB for ; Wed, 17 Feb 2016 15:33:33 +0000 (UTC) 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 , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org V29ya3MgcGVyZmVjdGx5LCBmaXhlcyB0aGUgaXNzdWVzIHdpdGggTVNUIG92ZXIgaGVyZS4KClJl dmlld2VkLWJ5OiBMeXVkZSA8Y3BhdWxAcmVkaGF0LmNvbT4KCk9uIFdlZCwgMjAxNi0wMi0xNyBh dCAwODozMiArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6Cj4gQmVjYXVzZSB3ZSByZWNv cmQgY29ubmVjdG9yX21hc2sgdXNpbmcgMSA8PCBkcm1fY29ubmVjdG9yX2luZGV4IG5vdwo+IHRo ZSBjb25uZWN0b3JfbWFzayBzaG91bGQgc3RheSB0aGUgc2FtZSBldmVuIHdoZW4gb3RoZXIgY29u bmVjdG9ycwo+IGFyZSByZW1vdmVkLiBUaGlzIHdhcyBub3QgdGhlIGNhc2Ugd2l0aCBNU1QsIGlu IHRoYXQgY2FzZSB3aGVuIHJlbW92aW5nCj4gYSBjb25uZWN0b3IgYWxsIG90aGVyIGNvbm5lY3Rv cnMgbWF5IGNoYW5nZSB0aGVpciBpbmRleC4KPiAKPiBUaGlzIGlzIGZpeGVkIGJ5IHdhaXRpbmcg dW50aWwgdGhlIGZpcnN0IGdldF9jb25uZWN0b3Jfc3RhdGUgdG8gYWxsb2NhdGUKPiBjb25uZWN0 b3Jfc3RhdGUsIGFuZCBmb3JjZSByZWFsbG9jYXRpb24gd2hlbiBzdGF0ZSBpcyB0b28gc21hbGwu Cj4gCj4gQXMgYSBzaWRlIGVmZmVjdCBjb25uZWN0b3IgYXJyYXlzIG5vIGxvbmdlciBoYXZlIHRv IGJlIHByZWFsbG9jYXRlZCwKPiBhbmQgY2FuIGJlIGFsbG9jYXRlZCBvbiBmaXJzdCB1c2Ugd2hp Y2ggbWVhbnMgYSBsZXNzIGFsbG9jYXRpb25zIGluCj4gdGhlIHBhZ2UgZmxpcCBvbmx5IHBhdGgu Cj4gCj4gQ2hhbmdlcyBzaW5jZSB2MToKPiAtIFdoaXRlc3BhY2UuIChWaWxsZSkKPiAtIENhbGwg aWRhX3JlbW92ZSB3aGVuIGRlc3Ryb3lpbmcgdGhlIGNvbm5lY3Rvci4gKFZpbGxlKQo+IC0gdTMy IGFsbG9jIC0+IGludC4gKFZpbGxlKQo+IAo+IEZpeGVzOiAxNGRlNmM0NGQxNDkgKCJkcm0vYXRv bWljOiBSZW1vdmUgZHJtX2F0b21pY19jb25uZWN0b3JzX2Zvcl9jcnRjLiIpCj4gU2lnbmVkLW9m Zi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KPiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K PiAtLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmPCoMKgwqDCoMKgwqDCoMKgfCA0 NCArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jIHzCoMKgMiArLQo+IMKgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRj LmPCoMKgwqDCoMKgwqDCoMKgwqDCoHwgNDkgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tCj4gLQo+IMKgaW5jbHVkZS9kcm0vZHJtX2NydGMuaMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB8wqDCoDggKysrKystCj4gwqA0IGZpbGVzIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMo KyksIDU1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IGluZGV4IDhmYjQ2OWM0 ZTRiOC4uMDkyNjIwYzZmZjMyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gQEAgLTY1LDggKzY1 LDYgQEAgZHJtX2F0b21pY19zdGF0ZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVj dAo+IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+IMKgCcKgKi8KPiDCoAlzdGF0ZS0+YWxsb3df bW9kZXNldCA9IHRydWU7Cj4gwqAKPiAtCXN0YXRlLT5udW1fY29ubmVjdG9yID0gQUNDRVNTX09O Q0UoZGV2LT5tb2RlX2NvbmZpZy5udW1fY29ubmVjdG9yKTsKPiAtCj4gwqAJc3RhdGUtPmNydGNz ID0ga2NhbGxvYyhkZXYtPm1vZGVfY29uZmlnLm51bV9jcnRjLAo+IMKgCQkJwqDCoMKgwqDCoMKg wqBzaXplb2YoKnN0YXRlLT5jcnRjcyksIEdGUF9LRVJORUwpOwo+IMKgCWlmICghc3RhdGUtPmNy dGNzKQo+IEBAIC04MywxNiArODEsNiBAQCBkcm1fYXRvbWljX3N0YXRlX2luaXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgc3RydWN0Cj4gZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gwqAJCQkJ wqDCoMKgwqDCoMKgc2l6ZW9mKCpzdGF0ZS0+cGxhbmVfc3RhdGVzKSwKPiBHRlBfS0VSTkVMKTsK PiDCoAlpZiAoIXN0YXRlLT5wbGFuZV9zdGF0ZXMpCj4gwqAJCWdvdG8gZmFpbDsKPiAtCXN0YXRl LT5jb25uZWN0b3JzID0ga2NhbGxvYyhzdGF0ZS0+bnVtX2Nvbm5lY3RvciwKPiAtCQkJCcKgwqDC oMKgc2l6ZW9mKCpzdGF0ZS0+Y29ubmVjdG9ycyksCj4gLQkJCQnCoMKgwqDCoEdGUF9LRVJORUwp Owo+IC0JaWYgKCFzdGF0ZS0+Y29ubmVjdG9ycykKPiAtCQlnb3RvIGZhaWw7Cj4gLQlzdGF0ZS0+ Y29ubmVjdG9yX3N0YXRlcyA9IGtjYWxsb2Moc3RhdGUtPm51bV9jb25uZWN0b3IsCj4gLQkJCQkJ wqDCoHNpemVvZigqc3RhdGUtPmNvbm5lY3Rvcl9zdGF0ZXMpLAo+IC0JCQkJCcKgwqBHRlBfS0VS TkVMKTsKPiAtCWlmICghc3RhdGUtPmNvbm5lY3Rvcl9zdGF0ZXMpCj4gLQkJZ290byBmYWlsOwo+ IMKgCj4gwqAJc3RhdGUtPmRldiA9IGRldjsKPiDCoAo+IEBAIC04MjMsMTkgKzgxMSwyNyBAQCBk cm1fYXRvbWljX2dldF9jb25uZWN0b3Jfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUKPiAq c3RhdGUsCj4gwqAKPiDCoAlpbmRleCA9IGRybV9jb25uZWN0b3JfaW5kZXgoY29ubmVjdG9yKTsK PiDCoAo+IC0JLyoKPiAtCcKgKiBDb25zdHJ1Y3Rpb24gb2YgYXRvbWljIHN0YXRlIHVwZGF0ZXMg Y2FuIHJhY2Ugd2l0aCBhIGNvbm5lY3Rvcgo+IC0JwqAqIGhvdC1hZGQgd2hpY2ggbWlnaHQgb3Zl cmZsb3cuIEluIHRoaXMgY2FzZSBmbGlwIHRoZSB0YWJsZSBhbmQganVzdAo+IC0JwqAqIHJlc3Rh cnQgdGhlIGVudGlyZSBpb2N0bCAtIG5vIG9uZSBpcyBmYXN0IGVub3VnaCB0byBsaXZlbG9jayBh IGNwdQo+IC0JwqAqIHdpdGggcGh5c2ljYWwgaG90cGx1ZyBldmVudHMgYW55d2F5Lgo+IC0JwqAq Cj4gLQnCoCogTm90ZSB0aGF0IHdlIG9ubHkgZ3JhYiB0aGUgaW5kZXhlcyBvbmNlIHdlIGhhdmUg dGhlIHJpZ2h0IGxvY2sgdG8KPiAtCcKgKiBwcmV2ZW50IGhvdHBsdWcvdW5wbHVnZ2luZyBvZiBj b25uZWN0b3JzLiBTbyByZW1vdmFsIGlzIG5vCj4gcHJvYmxlbSwKPiAtCcKgKiBhdCBtb3N0IHRo ZSBhcnJheSBpcyBhIGJpdCB0b28gbGFyZ2UuCj4gLQnCoCovCj4gwqAJaWYgKGluZGV4ID49IHN0 YXRlLT5udW1fY29ubmVjdG9yKSB7Cj4gLQkJRFJNX0RFQlVHX0FUT01JQygiSG90LWFkZGVkIGNv bm5lY3RvciB3b3VsZCBvdmVyZmxvdyBzdGF0ZQo+IGFycmF5LCByZXN0YXJ0aW5nXG4iKTsKPiAt CQlyZXR1cm4gRVJSX1BUUigtRUFHQUlOKTsKPiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqKmM7 Cj4gKwkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKipjczsKPiArCQlpbnQgYWxsb2MgPSBt YXgoaW5kZXggKyAxLCBjb25maWctPm51bV9jb25uZWN0b3IpOwo+ICsKPiArCQljID0ga3JlYWxs b2Moc3RhdGUtPmNvbm5lY3RvcnMsIGFsbG9jICogc2l6ZW9mKCpzdGF0ZS0KPiA+Y29ubmVjdG9y cyksIEdGUF9LRVJORUwpOwo+ICsJCWlmICghYykKPiArCQkJcmV0dXJuIEVSUl9QVFIoLUVOT01F TSk7Cj4gKwo+ICsJCXN0YXRlLT5jb25uZWN0b3JzID0gYzsKPiArCQltZW1zZXQoJnN0YXRlLT5j b25uZWN0b3JzW3N0YXRlLT5udW1fY29ubmVjdG9yXSwgMCwKPiArCQnCoMKgwqDCoMKgwqDCoHNp emVvZigqc3RhdGUtPmNvbm5lY3RvcnMpICogKGFsbG9jIC0gc3RhdGUtCj4gPm51bV9jb25uZWN0 b3IpKTsKPiArCj4gKwkJY3MgPSBrcmVhbGxvYyhzdGF0ZS0+Y29ubmVjdG9yX3N0YXRlcywgYWxs b2MgKiBzaXplb2YoKnN0YXRlLQo+ID5jb25uZWN0b3Jfc3RhdGVzKSwgR0ZQX0tFUk5FTCk7Cj4g KwkJaWYgKCFjcykKPiArCQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gKwo+ICsJCXN0YXRl LT5jb25uZWN0b3Jfc3RhdGVzID0gY3M7Cj4gKwkJbWVtc2V0KCZzdGF0ZS0+Y29ubmVjdG9yX3N0 YXRlc1tzdGF0ZS0+bnVtX2Nvbm5lY3Rvcl0sIDAsCj4gKwkJwqDCoMKgwqDCoMKgwqBzaXplb2Yo KnN0YXRlLT5jb25uZWN0b3Jfc3RhdGVzKSAqIChhbGxvYyAtIHN0YXRlLQo+ID5udW1fY29ubmVj dG9yKSk7Cj4gKwkJc3RhdGUtPm51bV9jb25uZWN0b3IgPSBhbGxvYzsKPiDCoAl9Cj4gwqAKPiDC oAlpZiAoc3RhdGUtPmNvbm5lY3Rvcl9zdGF0ZXNbaW5kZXhdKQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWNfaGVscGVyLmMKPiBpbmRleCAyYjQzMGIwNWYzNWQuLjRkYTRmMmE0OTA3OCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gQEAgLTE1MzUsNyArMTUzNSw3IEBAIHZv aWQgZHJtX2F0b21pY19oZWxwZXJfc3dhcF9zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZQo+ICpkZXYs Cj4gwqB7Cj4gwqAJaW50IGk7Cj4gwqAKPiAtCWZvciAoaSA9IDA7IGkgPCBkZXYtPm1vZGVfY29u ZmlnLm51bV9jb25uZWN0b3I7IGkrKykgewo+ICsJZm9yIChpID0gMDsgaSA8IHN0YXRlLT5udW1f Y29ubmVjdG9yOyBpKyspIHsKPiDCoAkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9 IHN0YXRlLT5jb25uZWN0b3JzW2ldOwo+IMKgCj4gwqAJCWlmICghY29ubmVjdG9yKQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f Y3J0Yy5jCj4gaW5kZXggNjUyNThhY2RkYjkwLi44NDUxNDAwMWRjZWYgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Ny dGMuYwo+IEBAIC05MTgsMTIgKzkxOCwxOSBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCj4gwqAJY29ubmVjdG9yLT5iYXNlLnByb3BlcnRpZXMgPSAmY29u bmVjdG9yLT5wcm9wZXJ0aWVzOwo+IMKgCWNvbm5lY3Rvci0+ZGV2ID0gZGV2Owo+IMKgCWNvbm5l Y3Rvci0+ZnVuY3MgPSBmdW5jczsKPiArCj4gKwljb25uZWN0b3ItPmNvbm5lY3Rvcl9pZCA9IGlk YV9zaW1wbGVfZ2V0KCZjb25maWctPmNvbm5lY3Rvcl9pZGEsIDAsCj4gMCwgR0ZQX0tFUk5FTCk7 Cj4gKwlpZiAoY29ubmVjdG9yLT5jb25uZWN0b3JfaWQgPCAwKSB7Cj4gKwkJcmV0ID0gY29ubmVj dG9yLT5jb25uZWN0b3JfaWQ7Cj4gKwkJZ290byBvdXRfcHV0Owo+ICsJfQo+ICsKPiDCoAljb25u ZWN0b3ItPmNvbm5lY3Rvcl90eXBlID0gY29ubmVjdG9yX3R5cGU7Cj4gwqAJY29ubmVjdG9yLT5j b25uZWN0b3JfdHlwZV9pZCA9Cj4gwqAJCWlkYV9zaW1wbGVfZ2V0KGNvbm5lY3Rvcl9pZGEsIDEs IDAsIEdGUF9LRVJORUwpOwo+IMKgCWlmIChjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlX2lkIDwg MCkgewo+IMKgCQlyZXQgPSBjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlX2lkOwo+IC0JCWdvdG8g b3V0X3B1dDsKPiArCQlnb3RvIG91dF9wdXRfaWQ7Cj4gwqAJfQo+IMKgCWNvbm5lY3Rvci0+bmFt ZSA9Cj4gwqAJCWthc3ByaW50ZihHRlBfS0VSTkVMLCAiJXMtJWQiLAo+IEBAIC05MzEsNyArOTM4 LDcgQEAgaW50IGRybV9jb25uZWN0b3JfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IMKg CQkJwqDCoGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGVfaWQpOwo+IMKgCWlmICghY29ubmVjdG9y LT5uYW1lKSB7Cj4gwqAJCXJldCA9IC1FTk9NRU07Cj4gLQkJZ290byBvdXRfcHV0Owo+ICsJCWdv dG8gb3V0X3B1dF90eXBlX2lkOwo+IMKgCX0KPiDCoAo+IMKgCUlOSVRfTElTVF9IRUFEKCZjb25u ZWN0b3ItPnByb2JlZF9tb2Rlcyk7Cj4gQEAgLTk1OSw3ICs5NjYsMTIgQEAgaW50IGRybV9jb25u ZWN0b3JfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IMKgCX0KPiDCoAo+IMKgCWNvbm5l Y3Rvci0+ZGVidWdmc19lbnRyeSA9IE5VTEw7Cj4gLQo+ICtvdXRfcHV0X3R5cGVfaWQ6Cj4gKwlp ZiAocmV0KQo+ICsJCWlkYV9yZW1vdmUoY29ubmVjdG9yX2lkYSwgY29ubmVjdG9yLT5jb25uZWN0 b3JfdHlwZV9pZCk7Cj4gK291dF9wdXRfaWQ6Cj4gKwlpZiAocmV0KQo+ICsJCWlkYV9yZW1vdmUo JmNvbmZpZy0+Y29ubmVjdG9yX2lkYSwgY29ubmVjdG9yLT5jb25uZWN0b3JfaWQpOwo+IMKgb3V0 X3B1dDoKPiDCoAlpZiAocmV0KQo+IMKgCQlkcm1fbW9kZV9vYmplY3RfcHV0KGRldiwgJmNvbm5l Y3Rvci0+YmFzZSk7Cj4gQEAgLTk5Niw2ICsxMDA4LDkgQEAgdm9pZCBkcm1fY29ubmVjdG9yX2Ns ZWFudXAoc3RydWN0IGRybV9jb25uZWN0b3IKPiAqY29ubmVjdG9yKQo+IMKgCWlkYV9yZW1vdmUo JmRybV9jb25uZWN0b3JfZW51bV9saXN0W2Nvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGVdLmlkYSwK PiDCoAkJwqDCoMKgY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZV9pZCk7Cj4gwqAKPiArCWlkYV9y ZW1vdmUoJmRldi0+bW9kZV9jb25maWcuY29ubmVjdG9yX2lkYSwKPiArCQnCoMKgwqBjb25uZWN0 b3ItPmNvbm5lY3Rvcl9pZCk7Cj4gKwo+IMKgCWtmcmVlKGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZv LmJ1c19mb3JtYXRzKTsKPiDCoAlkcm1fbW9kZV9vYmplY3RfcHV0KGRldiwgJmNvbm5lY3Rvci0+ YmFzZSk7Cj4gwqAJa2ZyZWUoY29ubmVjdG9yLT5uYW1lKTsKPiBAQCAtMTAxMywzMiArMTAyOCw2 IEBAIHZvaWQgZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKHN0cnVjdCBkcm1fY29ubmVjdG9yCj4gKmNv bm5lY3RvcikKPiDCoEVYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKTsKPiDCoAo+ IMKgLyoqCj4gLSAqIGRybV9jb25uZWN0b3JfaW5kZXggLSBmaW5kIHRoZSBpbmRleCBvZiBhIHJl Z2lzdGVyZWQgY29ubmVjdG9yCj4gLSAqIEBjb25uZWN0b3I6IGNvbm5lY3RvciB0byBmaW5kIGlu ZGV4IGZvcgo+IC0gKgo+IC0gKiBHaXZlbiBhIHJlZ2lzdGVyZWQgY29ubmVjdG9yLCByZXR1cm4g dGhlIGluZGV4IG9mIHRoYXQgY29ubmVjdG9yIHdpdGhpbiBhCj4gRFJNCj4gLSAqIGRldmljZSdz IGxpc3Qgb2YgY29ubmVjdG9ycy4KPiAtICovCj4gLXVuc2lnbmVkIGludCBkcm1fY29ubmVjdG9y X2luZGV4KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gLXsKPiAtCXVuc2lnbmVk IGludCBpbmRleCA9IDA7Cj4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqdG1wOwo+IC0Jc3RydWN0 IGRybV9tb2RlX2NvbmZpZyAqY29uZmlnID0gJmNvbm5lY3Rvci0+ZGV2LT5tb2RlX2NvbmZpZzsK PiAtCj4gLQlXQVJOX09OKCFkcm1fbW9kZXNldF9pc19sb2NrZWQoJmNvbmZpZy0+Y29ubmVjdGlv bl9tdXRleCkpOwo+IC0KPiAtCWRybV9mb3JfZWFjaF9jb25uZWN0b3IodG1wLCBjb25uZWN0b3It PmRldikgewo+IC0JCWlmICh0bXAgPT0gY29ubmVjdG9yKQo+IC0JCQlyZXR1cm4gaW5kZXg7Cj4g LQo+IC0JCWluZGV4Kys7Cj4gLQl9Cj4gLQo+IC0JQlVHKCk7Cj4gLX0KPiAtRVhQT1JUX1NZTUJP TChkcm1fY29ubmVjdG9yX2luZGV4KTsKPiAtCj4gLS8qKgo+IMKgICogZHJtX2Nvbm5lY3Rvcl9y ZWdpc3RlciAtIHJlZ2lzdGVyIGEgY29ubmVjdG9yCj4gwqAgKiBAY29ubmVjdG9yOiB0aGUgY29u bmVjdG9yIHRvIHJlZ2lzdGVyCj4gwqAgKgo+IEBAIC01ODM4LDYgKzU4MjcsNyBAQCB2b2lkIGRy bV9tb2RlX2NvbmZpZ19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gwqAJSU5JVF9MSVNU X0hFQUQoJmRldi0+bW9kZV9jb25maWcucGxhbmVfbGlzdCk7Cj4gwqAJaWRyX2luaXQoJmRldi0+ bW9kZV9jb25maWcuY3J0Y19pZHIpOwo+IMKgCWlkcl9pbml0KCZkZXYtPm1vZGVfY29uZmlnLnRp bGVfaWRyKTsKPiArCWlkYV9pbml0KCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rvcl9pZGEpOwo+ IMKgCj4gwqAJZHJtX21vZGVzZXRfbG9ja19hbGwoZGV2KTsKPiDCoAlkcm1fbW9kZV9jcmVhdGVf c3RhbmRhcmRfcHJvcGVydGllcyhkZXYpOwo+IEBAIC01OTE4LDYgKzU5MDgsNyBAQCB2b2lkIGRy bV9tb2RlX2NvbmZpZ19jbGVhbnVwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gwqAJCWNydGMt PmZ1bmNzLT5kZXN0cm95KGNydGMpOwo+IMKgCX0KPiDCoAo+ICsJaWRhX2Rlc3Ryb3koJmRldi0+ bW9kZV9jb25maWcuY29ubmVjdG9yX2lkYSk7Cj4gwqAJaWRyX2Rlc3Ryb3koJmRldi0+bW9kZV9j b25maWcudGlsZV9pZHIpOwo+IMKgCWlkcl9kZXN0cm95KCZkZXYtPm1vZGVfY29uZmlnLmNydGNf aWRyKTsKPiDCoAlkcm1fbW9kZXNldF9sb2NrX2ZpbmkoJmRldi0+bW9kZV9jb25maWcuY29ubmVj dGlvbl9tdXRleCk7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmggYi9pbmNs dWRlL2RybS9kcm1fY3J0Yy5oCj4gaW5kZXggOGM3ZmIzZDBmOWQwLi43ZmFkMTkzZGM2NDUgMTAw NjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2Ry bV9jcnRjLmgKPiBAQCAtMTE2OCw2ICsxMTY4LDcgQEAgc3RydWN0IGRybV9jb25uZWN0b3Igewo+ IMKgCXN0cnVjdCBkcm1fbW9kZV9vYmplY3QgYmFzZTsKPiDCoAo+IMKgCWNoYXIgKm5hbWU7Cj4g KwlpbnQgY29ubmVjdG9yX2lkOwo+IMKgCWludCBjb25uZWN0b3JfdHlwZTsKPiDCoAlpbnQgY29u bmVjdG9yX3R5cGVfaWQ7Cj4gwqAJYm9vbCBpbnRlcmxhY2VfYWxsb3dlZDsKPiBAQCAtMjA0OSw2 ICsyMDUwLDcgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7Cj4gwqAJc3RydWN0IGxpc3RfaGVh ZCBmYl9saXN0Owo+IMKgCj4gwqAJaW50IG51bV9jb25uZWN0b3I7Cj4gKwlzdHJ1Y3QgaWRhIGNv bm5lY3Rvcl9pZGE7Cj4gwqAJc3RydWN0IGxpc3RfaGVhZCBjb25uZWN0b3JfbGlzdDsKPiDCoAlp bnQgbnVtX2VuY29kZXI7Cj4gwqAJc3RydWN0IGxpc3RfaGVhZCBlbmNvZGVyX2xpc3Q7Cj4gQEAg LTIyMTMsNyArMjIxNSwxMSBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9yZWdpc3RlcihzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcgo+ICpjb25uZWN0b3IpOwo+IMKgdm9pZCBkcm1fY29ubmVjdG9yX3VucmVnaXN0 ZXIoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gwqAKPiDCoGV4dGVybiB2b2lk IGRybV9jb25uZWN0b3JfY2xlYW51cChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsK PiAtZXh0ZXJuIHVuc2lnbmVkIGludCBkcm1fY29ubmVjdG9yX2luZGV4KHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpOwo+ICtzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGRybV9jb25uZWN0 b3JfaW5kZXgoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiArewo+ICsJcmV0dXJu IGNvbm5lY3Rvci0+Y29ubmVjdG9yX2lkOwo+ICt9Cj4gKwo+IMKgLyogaGVscGVyIHRvIHVucGx1 ZyBhbGwgY29ubmVjdG9ycyBmcm9tIHN5c2ZzIGZvciBkZXZpY2UgKi8KPiDCoGV4dGVybiB2b2lk IGRybV9jb25uZWN0b3JfdW5wbHVnX2FsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiDCoApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK