From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/atomic: Allow for holes in connector state. Date: Tue, 16 Feb 2016 13:37:19 +0200 Message-ID: <20160216113719.GG23290@intel.com> References: <1455542221-4848-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: Content-Disposition: inline In-Reply-To: <1455542221-4848-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, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBGZWIgMTUsIDIwMTYgYXQgMDI6MTc6MDFQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gQmVjYXVzZSB3ZSByZWNvcmQgY29ubmVjdG9yX21hc2sgdXNpbmcgMSA8PCBk cm1fY29ubmVjdG9yX2luZGV4IG5vdwo+IHRoZSBjb25uZWN0b3JfbWFzayBzaG91bGQgc3RheSB0 aGUgc2FtZSBldmVuIHdoZW4gb3RoZXIgY29ubmVjdG9ycwo+IGFyZSByZW1vdmVkLiBUaGlzIHdh cyBub3QgdGhlIGNhc2Ugd2l0aCBNU1QsIGluIHRoYXQgY2FzZSB3aGVuIHJlbW92aW5nCj4gYSBj b25uZWN0b3IgYWxsIG90aGVyIGNvbm5lY3RvcnMgbWF5IGNoYW5nZSB0aGVpciBpbmRleC4KPiAK PiBUaGlzIGlzIGZpeGVkIGJ5IHdhaXRpbmcgdW50aWwgdGhlIGZpcnN0IGdldF9jb25uZWN0b3Jf c3RhdGUgdG8gYWxsb2NhdGUKPiBjb25uZWN0b3Jfc3RhdGUsIGFuZCBmb3JjZSByZWFsbG9jYXRp b24gd2hlbiBzdGF0ZSBpcyB0b28gc21hbGwuCj4gCj4gQXMgYSBzaWRlIGVmZmVjdCBjb25uZWN0 b3IgYXJyYXlzIG5vIGxvbmdlciBoYXZlIHRvIGJlIHByZWFsbG9jYXRlZCwKPiBhbmQgY2FuIGJl IGFsbG9jYXRlZCBvbiBmaXJzdCB1c2Ugd2hpY2ggbWVhbnMgYSBsZXNzIGFsbG9jYXRpb25zIGlu Cj4gdGhlIHBhZ2UgZmxpcCBvbmx5IHBhdGguCj4gCj4gRml4ZXM6IDE0ZGU2YzQ0ZDE0OSAoImRy bS9hdG9taWM6IFJlbW92ZSBkcm1fYXRvbWljX2Nvbm5lY3RvcnNfZm9yX2NydGMuIikKPiBTaWdu ZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50 ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgICB8IDQ1 ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfaGVscGVyLmMgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMu YyAgICAgICAgICB8IDQ1ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAg aW5jbHVkZS9kcm0vZHJtX2NydGMuaCAgICAgICAgICAgICAgfCAgOCArKysrKystCj4gIDQgZmls ZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgNTUgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pYy5jCj4gaW5kZXggOGZiNDY5YzRlNGI4Li41ZDQ3NzQ0NTA1NDAgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljLmMKPiBAQCAtNjUsOCArNjUsNiBAQCBkcm1fYXRvbWljX3N0YXRlX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICAJ ICovCj4gIAlzdGF0ZS0+YWxsb3dfbW9kZXNldCA9IHRydWU7Cj4gIAo+IC0Jc3RhdGUtPm51bV9j b25uZWN0b3IgPSBBQ0NFU1NfT05DRShkZXYtPm1vZGVfY29uZmlnLm51bV9jb25uZWN0b3IpOwo+ IC0KPiAgCXN0YXRlLT5jcnRjcyA9IGtjYWxsb2MoZGV2LT5tb2RlX2NvbmZpZy5udW1fY3J0YywK PiAgCQkJICAgICAgIHNpemVvZigqc3RhdGUtPmNydGNzKSwgR0ZQX0tFUk5FTCk7Cj4gIAlpZiAo IXN0YXRlLT5jcnRjcykKPiBAQCAtODMsMTYgKzgxLDYgQEAgZHJtX2F0b21pY19zdGF0ZV9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkK PiAgCQkJCSAgICAgIHNpemVvZigqc3RhdGUtPnBsYW5lX3N0YXRlcyksIEdGUF9LRVJORUwpOwo+ ICAJaWYgKCFzdGF0ZS0+cGxhbmVfc3RhdGVzKQo+ICAJCWdvdG8gZmFpbDsKPiAtCXN0YXRlLT5j b25uZWN0b3JzID0ga2NhbGxvYyhzdGF0ZS0+bnVtX2Nvbm5lY3RvciwKPiAtCQkJCSAgICBzaXpl b2YoKnN0YXRlLT5jb25uZWN0b3JzKSwKPiAtCQkJCSAgICBHRlBfS0VSTkVMKTsKPiAtCWlmICgh c3RhdGUtPmNvbm5lY3RvcnMpCj4gLQkJZ290byBmYWlsOwo+IC0Jc3RhdGUtPmNvbm5lY3Rvcl9z dGF0ZXMgPSBrY2FsbG9jKHN0YXRlLT5udW1fY29ubmVjdG9yLAo+IC0JCQkJCSAgc2l6ZW9mKCpz dGF0ZS0+Y29ubmVjdG9yX3N0YXRlcyksCj4gLQkJCQkJICBHRlBfS0VSTkVMKTsKPiAtCWlmICgh c3RhdGUtPmNvbm5lY3Rvcl9zdGF0ZXMpCj4gLQkJZ290byBmYWlsOwo+ICAKPiAgCXN0YXRlLT5k ZXYgPSBkZXY7Cj4gIAo+IEBAIC04MjMsMTkgKzgxMSwyOCBAQCBkcm1fYXRvbWljX2dldF9jb25u ZWN0b3Jfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAKPiAgCWluZGV4 ID0gZHJtX2Nvbm5lY3Rvcl9pbmRleChjb25uZWN0b3IpOwo+ICAKPiAtCS8qCj4gLQkgKiBDb25z dHJ1Y3Rpb24gb2YgYXRvbWljIHN0YXRlIHVwZGF0ZXMgY2FuIHJhY2Ugd2l0aCBhIGNvbm5lY3Rv cgo+IC0JICogaG90LWFkZCB3aGljaCBtaWdodCBvdmVyZmxvdy4gSW4gdGhpcyBjYXNlIGZsaXAg dGhlIHRhYmxlIGFuZCBqdXN0Cj4gLQkgKiByZXN0YXJ0IHRoZSBlbnRpcmUgaW9jdGwgLSBubyBv bmUgaXMgZmFzdCBlbm91Z2ggdG8gbGl2ZWxvY2sgYSBjcHUKPiAtCSAqIHdpdGggcGh5c2ljYWwg aG90cGx1ZyBldmVudHMgYW55d2F5Lgo+IC0JICoKPiAtCSAqIE5vdGUgdGhhdCB3ZSBvbmx5IGdy YWIgdGhlIGluZGV4ZXMgb25jZSB3ZSBoYXZlIHRoZSByaWdodCBsb2NrIHRvCj4gLQkgKiBwcmV2 ZW50IGhvdHBsdWcvdW5wbHVnZ2luZyBvZiBjb25uZWN0b3JzLiBTbyByZW1vdmFsIGlzIG5vIHBy b2JsZW0sCj4gLQkgKiBhdCBtb3N0IHRoZSBhcnJheSBpcyBhIGJpdCB0b28gbGFyZ2UuCj4gLQkg Ki8KPiAgCWlmIChpbmRleCA+PSBzdGF0ZS0+bnVtX2Nvbm5lY3Rvcikgewo+IC0JCURSTV9ERUJV R19BVE9NSUMoIkhvdC1hZGRlZCBjb25uZWN0b3Igd291bGQgb3ZlcmZsb3cgc3RhdGUgYXJyYXks IHJlc3RhcnRpbmdcbiIpOwo+IC0JCXJldHVybiBFUlJfUFRSKC1FQUdBSU4pOwo+ICsJCXN0cnVj dCBkcm1fY29ubmVjdG9yICoqYzsKPiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqKmNz Owo+ICsKPiArCQl1MzIgYWxsb2MgPSBtYXgoaW5kZXggKyAxLCBjb25maWctPm51bV9jb25uZWN0 b3IpOwoKV2h5IHUzMj8KCj4gKwo+ICsJCWMgPSBrcmVhbGxvYyhzdGF0ZS0+Y29ubmVjdG9ycywg YWxsb2MgKiBzaXplb2YoKnN0YXRlLT5jb25uZWN0b3JzKSwgR0ZQX0tFUk5FTCk7Cj4gKwkJaWYg KCFjKQo+ICsJCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKPiArCj4gKwkJc3RhdGUtPmNvbm5l Y3RvcnMgPSBjOwo+ICsJCW1lbXNldCgmc3RhdGUtPmNvbm5lY3RvcnNbc3RhdGUtPm51bV9jb25u ZWN0b3JdLCAwLAo+ICsJCSAgICAgICBzaXplb2YoKnN0YXRlLT5jb25uZWN0b3JzKSAqIChhbGxv YyAtIHN0YXRlLT5udW1fY29ubmVjdG9yKSk7Cj4gKwo+ICsJCWNzID0ga3JlYWxsb2Moc3RhdGUt PmNvbm5lY3Rvcl9zdGF0ZXMsIGFsbG9jICogc2l6ZW9mKCpzdGF0ZS0+Y29ubmVjdG9yX3N0YXRl cyksIEdGUF9LRVJORUwpOwo+ICsJCWlmICghY3MpCj4gKwkJCXJldHVybiBFUlJfUFRSKC1FTk9N RU0pOwo+ICsKPiArCQlzdGF0ZS0+Y29ubmVjdG9yX3N0YXRlcyA9IGNzOwo+ICsJCW1lbXNldCgm c3RhdGUtPmNvbm5lY3Rvcl9zdGF0ZXNbc3RhdGUtPm51bV9jb25uZWN0b3JdLCAwLAo+ICsJCSAg ICAgICBzaXplb2YoKnN0YXRlLT5jb25uZWN0b3Jfc3RhdGVzKSAqIChhbGxvYyAtIHN0YXRlLT5u dW1fY29ubmVjdG9yKSk7Cj4gKwkJc3RhdGUtPm51bV9jb25uZWN0b3IgPSBhbGxvYzsKPiAgCX0K PiAgCj4gIAlpZiAoc3RhdGUtPmNvbm5lY3Rvcl9zdGF0ZXNbaW5kZXhdKQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCj4gaW5kZXggMmI0MzBiMDVmMzVkLi40ZGE0ZjJhNDkwNzggMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IEBAIC0xNTM1LDcgKzE1MzUsNyBA QCB2b2lkIGRybV9hdG9taWNfaGVscGVyX3N3YXBfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiAgewo+ICAJaW50IGk7Cj4gIAo+IC0JZm9yIChpID0gMDsgaSA8IGRldi0+bW9kZV9jb25m aWcubnVtX2Nvbm5lY3RvcjsgaSsrKSB7Cj4gKwlmb3IgKGkgPSAwOyBpIDwgc3RhdGUtPm51bV9j b25uZWN0b3I7IGkrKykgewo+ICAJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBz dGF0ZS0+Y29ubmVjdG9yc1tpXTsKPiAgCj4gIAkJaWYgKCFjb25uZWN0b3IpCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRj LmMKPiBpbmRleCA2NTI1OGFjZGRiOTAuLmVhMDBhZWE4OGRlNyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5j Cj4gQEAgLTkxOCwxMiArOTE4LDE4IEBAIGludCBkcm1fY29ubmVjdG9yX2luaXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKPiAgCWNvbm5lY3Rvci0+YmFzZS5wcm9wZXJ0aWVzID0gJmNvbm5lY3Rv ci0+cHJvcGVydGllczsKPiAgCWNvbm5lY3Rvci0+ZGV2ID0gZGV2Owo+ICAJY29ubmVjdG9yLT5m dW5jcyA9IGZ1bmNzOwoKQ291bGQgdXNlIGFuIGVtcHR5IGxpbmUgaGVyZS4KCj4gKwljb25uZWN0 b3ItPmNvbm5lY3Rvcl9pZCA9IGlkYV9zaW1wbGVfZ2V0KCZjb25maWctPmNvbm5lY3Rvcl9pZGEs IDAsIDAsIEdGUF9LRVJORUwpOwo+ICsJaWYgKGNvbm5lY3Rvci0+Y29ubmVjdG9yX2lkIDwgMCkg ewo+ICsJCXJldCA9IGNvbm5lY3Rvci0+Y29ubmVjdG9yX2lkOwo+ICsJCWdvdG8gb3V0X3B1dDsK PiArCX0KPiArCj4gIAljb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlID0gY29ubmVjdG9yX3R5cGU7 Cj4gIAljb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlX2lkID0KPiAgCQlpZGFfc2ltcGxlX2dldChj b25uZWN0b3JfaWRhLCAxLCAwLCBHRlBfS0VSTkVMKTsKPiAgCWlmIChjb25uZWN0b3ItPmNvbm5l Y3Rvcl90eXBlX2lkIDwgMCkgewo+ICAJCXJldCA9IGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGVf aWQ7Cj4gLQkJZ290byBvdXRfcHV0Owo+ICsJCWdvdG8gb3V0X3B1dF9pZDsKPiAgCX0KPiAgCWNv bm5lY3Rvci0+bmFtZSA9Cj4gIAkJa2FzcHJpbnRmKEdGUF9LRVJORUwsICIlcy0lZCIsCj4gQEAg LTkzMSw3ICs5MzcsNyBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCj4gIAkJCSAgY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZV9pZCk7Cj4gIAlpZiAoIWNv bm5lY3Rvci0+bmFtZSkgewo+ICAJCXJldCA9IC1FTk9NRU07Cj4gLQkJZ290byBvdXRfcHV0Owo+ ICsJCWdvdG8gb3V0X3B1dF90eXBlX2lkOwo+ICAJfQo+ICAKPiAgCUlOSVRfTElTVF9IRUFEKCZj b25uZWN0b3ItPnByb2JlZF9tb2Rlcyk7Cj4gQEAgLTk1OSw3ICs5NjUsMTIgQEAgaW50IGRybV9j b25uZWN0b3JfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJfQo+ICAKPiAgCWNvbm5l Y3Rvci0+ZGVidWdmc19lbnRyeSA9IE5VTEw7Cj4gLQo+ICtvdXRfcHV0X3R5cGVfaWQ6Cj4gKwlp ZiAocmV0KQo+ICsJCWlkYV9yZW1vdmUoY29ubmVjdG9yX2lkYSwgY29ubmVjdG9yLT5jb25uZWN0 b3JfdHlwZV9pZCk7Cj4gK291dF9wdXRfaWQ6Cj4gKwlpZiAocmV0KQo+ICsJCWlkYV9yZW1vdmUo JmNvbmZpZy0+Y29ubmVjdG9yX2lkYSwgY29ubmVjdG9yLT5jb25uZWN0b3JfaWQpOwoKClNob3Vs ZCB0aGVyZSBiZSBhbiBpZGFfcmVtb3ZlKCkgY2FsbCBzb21ld2hlcmUgd2hlbgp1bnJlZ2lzdGVy aW5nIG9yIGRlc3Ryb3lpbmcgdGhlIGNvbm5lY3Rvcj8KCkJUVyBsb29raW5nIGF0IGludGVsX2Rw X2Rlc3Ryb3lfbXN0X2Nvbm5lY3RvcigpLCBzaG91bGRuJ3Qgd2UKdW5yZWdpc3Rlci9kbyBzb21l dGhpbmcgYmVmb3JlIHdlIGRvIHRoZSBtb2Rlc2V0PyBXaGF0J3MgdGhlcmUgdG8KcHJldmVudCB1 c2Vyc3BhYy9zb21lb25lIGZyb20gcmFjaW5nIHdpdGggdGhpcyBhbmQgcmUtZW5hYmxpbmcgdGhl CmNvbm5lY3RvciBiZWZvcmUgd2UgdW5yZWdpc3RlciBpdD8gT3IgbWF5YmUgdGhlIGNvbm5lY3Rv ciBpcyBhbHJlYWR5CmRlZnVuY3QgYnkgdGhpcyB0aW1lIGFuZCBzb21ldGhpbmcgZWxzZSB3aWxs IHByZXZlbnQgYW55IG1vZGVzZXQKdXNpbmcgdGhlIGNvbm5lY3RvciBmcm9tIHN1Y2NlZWRpbmc/ Cgo+ICBvdXRfcHV0Ogo+ICAJaWYgKHJldCkKPiAgCQlkcm1fbW9kZV9vYmplY3RfcHV0KGRldiwg JmNvbm5lY3Rvci0+YmFzZSk7Cj4gQEAgLTEwMTMsMzIgKzEwMjQsNiBAQCB2b2lkIGRybV9jb25u ZWN0b3JfY2xlYW51cChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICBFWFBPUlRf U1lNQk9MKGRybV9jb25uZWN0b3JfY2xlYW51cCk7Cj4gIAo+ICAvKioKPiAtICogZHJtX2Nvbm5l Y3Rvcl9pbmRleCAtIGZpbmQgdGhlIGluZGV4IG9mIGEgcmVnaXN0ZXJlZCBjb25uZWN0b3IKPiAt ICogQGNvbm5lY3RvcjogY29ubmVjdG9yIHRvIGZpbmQgaW5kZXggZm9yCj4gLSAqCj4gLSAqIEdp dmVuIGEgcmVnaXN0ZXJlZCBjb25uZWN0b3IsIHJldHVybiB0aGUgaW5kZXggb2YgdGhhdCBjb25u ZWN0b3Igd2l0aGluIGEgRFJNCj4gLSAqIGRldmljZSdzIGxpc3Qgb2YgY29ubmVjdG9ycy4KPiAt ICovCj4gLXVuc2lnbmVkIGludCBkcm1fY29ubmVjdG9yX2luZGV4KHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpCj4gLXsKPiAtCXVuc2lnbmVkIGludCBpbmRleCA9IDA7Cj4gLQlzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqdG1wOwo+IC0Jc3RydWN0IGRybV9tb2RlX2NvbmZpZyAqY29uZmln ID0gJmNvbm5lY3Rvci0+ZGV2LT5tb2RlX2NvbmZpZzsKPiAtCj4gLQlXQVJOX09OKCFkcm1fbW9k ZXNldF9pc19sb2NrZWQoJmNvbmZpZy0+Y29ubmVjdGlvbl9tdXRleCkpOwo+IC0KPiAtCWRybV9m b3JfZWFjaF9jb25uZWN0b3IodG1wLCBjb25uZWN0b3ItPmRldikgewo+IC0JCWlmICh0bXAgPT0g Y29ubmVjdG9yKQo+IC0JCQlyZXR1cm4gaW5kZXg7Cj4gLQo+IC0JCWluZGV4Kys7Cj4gLQl9Cj4g LQo+IC0JQlVHKCk7Cj4gLX0KPiAtRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX2luZGV4KTsK PiAtCj4gLS8qKgo+ICAgKiBkcm1fY29ubmVjdG9yX3JlZ2lzdGVyIC0gcmVnaXN0ZXIgYSBjb25u ZWN0b3IKPiAgICogQGNvbm5lY3RvcjogdGhlIGNvbm5lY3RvciB0byByZWdpc3Rlcgo+ICAgKgo+ IEBAIC01ODM4LDYgKzU4MjMsNyBAQCB2b2lkIGRybV9tb2RlX2NvbmZpZ19pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCj4gIAlJTklUX0xJU1RfSEVBRCgmZGV2LT5tb2RlX2NvbmZpZy5wbGFu ZV9saXN0KTsKPiAgCWlkcl9pbml0KCZkZXYtPm1vZGVfY29uZmlnLmNydGNfaWRyKTsKPiAgCWlk cl9pbml0KCZkZXYtPm1vZGVfY29uZmlnLnRpbGVfaWRyKTsKPiArCWlkYV9pbml0KCZkZXYtPm1v ZGVfY29uZmlnLmNvbm5lY3Rvcl9pZGEpOwo+ICAKPiAgCWRybV9tb2Rlc2V0X2xvY2tfYWxsKGRl dik7Cj4gIAlkcm1fbW9kZV9jcmVhdGVfc3RhbmRhcmRfcHJvcGVydGllcyhkZXYpOwo+IEBAIC01 OTE4LDYgKzU5MDQsNyBAQCB2b2lkIGRybV9tb2RlX2NvbmZpZ19jbGVhbnVwKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCj4gIAkJY3J0Yy0+ZnVuY3MtPmRlc3Ryb3koY3J0Yyk7Cj4gIAl9Cj4gIAo+ ICsJaWRhX2Rlc3Ryb3koJmRldi0+bW9kZV9jb25maWcuY29ubmVjdG9yX2lkYSk7Cj4gIAlpZHJf ZGVzdHJveSgmZGV2LT5tb2RlX2NvbmZpZy50aWxlX2lkcik7Cj4gIAlpZHJfZGVzdHJveSgmZGV2 LT5tb2RlX2NvbmZpZy5jcnRjX2lkcik7Cj4gIAlkcm1fbW9kZXNldF9sb2NrX2ZpbmkoJmRldi0+ bW9kZV9jb25maWcuY29ubmVjdGlvbl9tdXRleCk7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L2RybV9jcnRjLmggYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gaW5kZXggOGM3ZmIzZDBmOWQw Li43ZmFkMTkzZGM2NDUgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+ICsr KyBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiBAQCAtMTE2OCw2ICsxMTY4LDcgQEAgc3RydWN0 IGRybV9jb25uZWN0b3Igewo+ICAJc3RydWN0IGRybV9tb2RlX29iamVjdCBiYXNlOwo+ICAKPiAg CWNoYXIgKm5hbWU7Cj4gKwlpbnQgY29ubmVjdG9yX2lkOwo+ICAJaW50IGNvbm5lY3Rvcl90eXBl Owo+ICAJaW50IGNvbm5lY3Rvcl90eXBlX2lkOwo+ICAJYm9vbCBpbnRlcmxhY2VfYWxsb3dlZDsK PiBAQCAtMjA0OSw2ICsyMDUwLDcgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7Cj4gIAlzdHJ1 Y3QgbGlzdF9oZWFkIGZiX2xpc3Q7Cj4gIAo+ICAJaW50IG51bV9jb25uZWN0b3I7Cj4gKwlzdHJ1 Y3QgaWRhIGNvbm5lY3Rvcl9pZGE7Cj4gIAlzdHJ1Y3QgbGlzdF9oZWFkIGNvbm5lY3Rvcl9saXN0 Owo+ICAJaW50IG51bV9lbmNvZGVyOwo+ICAJc3RydWN0IGxpc3RfaGVhZCBlbmNvZGVyX2xpc3Q7 Cj4gQEAgLTIyMTMsNyArMjIxNSwxMSBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9yZWdpc3RlcihzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiAgdm9pZCBkcm1fY29ubmVjdG9yX3VucmVn aXN0ZXIoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gIAo+ICBleHRlcm4gdm9p ZCBkcm1fY29ubmVjdG9yX2NsZWFudXAoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7 Cj4gLWV4dGVybiB1bnNpZ25lZCBpbnQgZHJtX2Nvbm5lY3Rvcl9pbmRleChzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKTsKPiArc3RhdGljIGlubGluZSB1bnNpZ25lZCBkcm1fY29ubmVj dG9yX2luZGV4KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gK3sKPiArCXJldHVy biBjb25uZWN0b3ItPmNvbm5lY3Rvcl9pZDsKPiArfQo+ICsKPiAgLyogaGVscGVyIHRvIHVucGx1 ZyBhbGwgY29ubmVjdG9ycyBmcm9tIHN5c2ZzIGZvciBkZXZpY2UgKi8KPiAgZXh0ZXJuIHZvaWQg ZHJtX2Nvbm5lY3Rvcl91bnBsdWdfYWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICAKPiAt LSAKPiAyLjEuMAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==