From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v3 04/10] drm: Convert connector_helper_funcs->atomic_check to accept drm_atomic_state Date: Mon, 13 May 2019 16:47:47 +0200 Message-ID: <20190513144747.GR17751@phenom.ffwll.local> References: <20190502194956.218441-1-sean@poorly.run> <20190502194956.218441-5-sean@poorly.run> <20190511191202.GL13043@pendragon.ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id 24A0489F0A for ; Mon, 13 May 2019 14:47:53 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id m4so17944251edd.8 for ; Mon, 13 May 2019 07:47:53 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20190511191202.GL13043@pendragon.ideasonboard.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Laurent Pinchart Cc: Maxime Ripard , nouveau@lists.freedesktop.org, David Airlie , linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Kieran Bingham , Sean Paul , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, Ben Skeggs List-Id: intel-gfx@lists.freedesktop.org T24gU2F0LCBNYXkgMTEsIDIwMTkgYXQgMTA6MTI6MDJQTSArMDMwMCwgTGF1cmVudCBQaW5jaGFy dCB3cm90ZToKPiBIaSBTZWFuLAo+IAo+IFRoYW5rIHlvdSBmb3IgdGhlIHBhdGNoLgo+IAo+IE9u IFRodSwgTWF5IDAyLCAyMDE5IGF0IDAzOjQ5OjQ2UE0gLTA0MDAsIFNlYW4gUGF1bCB3cm90ZToK PiA+IEZyb206IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+ID4gCj4gPiBFdmVy eW9uZSB3aG8gaW1wbGVtZW50cyBjb25uZWN0b3JfaGVscGVyX2Z1bmNzLT5hdG9taWNfY2hlY2sg cmVhY2hlcwo+ID4gaW50byB0aGUgY29ubmVjdG9yIHN0YXRlIHRvIGdldCB0aGUgYXRvbWljIHN0 YXRlLiBJbnN0ZWFkIG9mIGNvbnRpbnVpbmcKPiA+IHRoaXMgcGF0dGVybiwgY2hhbmdlIHRoZSBj YWxsYmFjayBzaWduYXR1cmUgdG8ganVzdCBnaXZlIGF0b21pYyBzdGF0ZQo+ID4gYW5kIGxldCB0 aGUgZHJpdmVyIGRldGVybWluZSB3aGF0IGl0IGRvZXMgYW5kIGRvZXMgbm90IG5lZWQgZnJvbSBp dC4KPiA+IAo+ID4gRXZlbnR1YWxseSBhbGwgYXRvbWljIGZ1bmN0aW9ucyBzaG91bGQgZG8gdGhp cywgYnV0IHRoYXQncyBqdXN0IHRvbyBtdWNoCj4gPiBidXN5IHdvcmsgZm9yIG1lLgo+IAo+IEdp dmVuIHRoYXQgZHJpdmVycyBhbHNvIGFjY2VzcyB0aGUgY29ubmVjdG9yIHN0YXRlLCBpc24ndCB0 aGlzIHNsaWdodGx5Cj4gbW9yZSBpbmVmZmljaWVudCA/CgpJdCdzIGF0b21pYyBjb2RlLCB3ZSdy ZSB0cnlpbmcgdG8gb3B0aW1pemUgZm9yIGNsZWFuIGNvZGUgYXQgdGhlIGV4cGVuc2UKb2YgYSBi aXQgb2YgcnVudGltZSBvdmVyaGVhZCBkdWUgdG8gbW9yZSBwb2ludGVyIGNoYXNpbmcuIEFuZCBJ IGFncmVlIHdpdGgKdGhlIGdlbmVyYWwgcHVzaCwgdGhlIHBpbGUgb2Ygb2xkL25ld19zdGF0ZSBw b2ludGVycyBvZiB2YXJpb3VzIG9iamVjdHMKd2UncmUgcGFzc2luZyBhcm91bmQgaXMgY29uZnVz aW5nLiBQYXNzaW5nIHRoZSBvdmVyYWxsIGRybV9hdG9taWNfc3RhdGUKc2VlbXMgbXVjaCBtb3Jl IHJlYXNvbmFibGUsIGFuZCB3aXRoIHRoYXQgd2UgY2FuIGdldCBldmVyeXRoaW5nIGVsc2UuIFBs dXMKaXQncyBtdWNoIG1vcmUgb2J2aW91cyB3aGV0aGVyIHlvdSBoYXZlIHRoZSBvbGQvbmV3IHN0 YXRlIChzaW5jZSB0aGF0J3MKZXhwbGljaXQgd2hlbiB5b3UgbG9vayBpdCB1cCBmcm9tIHRoZSBk cm1fYXRvbWljX3N0YXRlKS4KCklmIHdlIGV2ZXIgc2VlIHRoaXMgc2hvdyB1cCBpbiBwcm9maWxl LCBhbmQgaXQgc3RhcnRzIG1hdHRlcmluZywgZmlyc3QKdGhpbmcgd2UgbmVlZCBpcyBhIGhhc2h0 YWJsZSBJIHRoaW5rIChhdG0gaXQncyBsaXN0IHdhbGtpbmcsIHdoaWNoIGlzIGp1c3QKdGVycmli bGUpLiBCdXQgdGh1cyBmYXIgbm8gb25lIGNhcmVzLgotRGFuaWVsCgo+IAo+ID4gQ2hhbmdlcyBp biB2MzoKPiA+IC0gQWRkZWQgdG8gdGhlIHNldAo+ID4gCj4gPiBDYzogRGFuaWVsIFZldHRlciA8 ZGFuaWVsQGZmd2xsLmNoPgo+ID4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+Cj4gPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4Lmlu dGVsLmNvbT4KPiA+IENjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5p bnRlbC5jb20+Cj4gPiBDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+ ID4gQ2M6IEJlbiBTa2VnZ3MgPGJza2VnZ3NAcmVkaGF0LmNvbT4KPiA+IENjOiBMYXVyZW50IFBp bmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Cj4gPiBDYzogS2llcmFu IEJpbmdoYW0gPGtpZXJhbi5iaW5naGFtK3JlbmVzYXNAaWRlYXNvbmJvYXJkLmNvbT4KPiA+IENj OiBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0Pgo+ID4gU2lnbmVkLW9mZi1ieTogU2VhbiBQ YXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY19oZWxwZXIuYyAgICAgIHwgIDQgKystLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2F0b21pYy5jICAgICAgfCAgOCArKysrKy0tLQo+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwX21zdC5jICAgICAgfCAgNyArKysrLS0tCj4gPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgICB8ICAyICstCj4gPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc2R2by5jICAgICAgICB8ICA5ICsrKysrLS0tLQo+ID4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3R2LmMgICAgICAgICAgfCAgOCArKysrKy0tLQo+ID4gIGRyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2Rpc3AuYyAgfCAgNSArKystLQo+ID4gIGRyaXZlcnMv Z3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jICAgICAgfCAxMiArKysrKysrLS0tLS0KPiA+ICBk cml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF90eHAuYyAgICAgICAgICAgIHwgIDcgKysrKy0tLQo+ID4g IGluY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlcl92dGFibGVzLmggfCAgMiArLQo+ID4gIDEw IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQo+ID4gCj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ID4gaW5kZXggOWQ5ZTQ3Mjc2ODM5Li5m YTVhMzY3NTA3YzEgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19o ZWxwZXIuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiA+ IEBAIC02ODMsNyArNjgzLDcgQEAgZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gIAkJfQo+ID4gIAo+ID4gIAkJaWYgKGZ1bmNzLT5hdG9t aWNfY2hlY2spCj4gPiAtCQkJcmV0ID0gZnVuY3MtPmF0b21pY19jaGVjayhjb25uZWN0b3IsIG5l d19jb25uZWN0b3Jfc3RhdGUpOwo+ID4gKwkJCXJldCA9IGZ1bmNzLT5hdG9taWNfY2hlY2soY29u bmVjdG9yLCBzdGF0ZSk7Cj4gPiAgCQlpZiAocmV0KQo+ID4gIAkJCXJldHVybiByZXQ7Cj4gPiAg Cj4gPiBAQCAtNzI1LDcgKzcyNSw3IEBAIGRybV9hdG9taWNfaGVscGVyX2NoZWNrX21vZGVzZXQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ICAJCQljb250aW51ZTsKPiA+ICAKPiA+ICAJCWlm IChmdW5jcy0+YXRvbWljX2NoZWNrKQo+ID4gLQkJCXJldCA9IGZ1bmNzLT5hdG9taWNfY2hlY2so Y29ubmVjdG9yLCBuZXdfY29ubmVjdG9yX3N0YXRlKTsKPiA+ICsJCQlyZXQgPSBmdW5jcy0+YXRv bWljX2NoZWNrKGNvbm5lY3Rvciwgc3RhdGUpOwo+ID4gIAkJaWYgKHJldCkKPiA+ICAJCQlyZXR1 cm4gcmV0Owo+ID4gIAl9Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwo+ID4gaW5k ZXggYjg0NGU4ODQwYzZmLi5lOGE1YjgyZTkyNDIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfYXRvbWljLmMKPiA+IEBAIC0xMDMsMTIgKzEwMywxNCBAQCBpbnQgaW50ZWxfZGlnaXRh bF9jb25uZWN0b3JfYXRvbWljX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAo+ID4gIH0KPiA+ICAKPiA+ICBpbnQgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3JfYXRv bWljX2NoZWNrKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uLAo+ID4gLQkJCQkJIHN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlICpuZXdfc3RhdGUpCj4gPiArCQkJCQkgc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlKQo+ID4gIHsKPiA+ICsJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg Km5ld19zdGF0ZSA9Cj4gPiArCQlkcm1fYXRvbWljX2dldF9uZXdfY29ubmVjdG9yX3N0YXRlKHN0 YXRlLCBjb25uKTsKPiA+ICAJc3RydWN0IGludGVsX2RpZ2l0YWxfY29ubmVjdG9yX3N0YXRlICpu ZXdfY29ubl9zdGF0ZSA9Cj4gPiAgCQl0b19pbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9zdGF0ZShu ZXdfc3RhdGUpOwo+ID4gIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX3N0YXRlID0K PiA+IC0JCWRybV9hdG9taWNfZ2V0X29sZF9jb25uZWN0b3Jfc3RhdGUobmV3X3N0YXRlLT5zdGF0 ZSwgY29ubik7Cj4gPiArCQlkcm1fYXRvbWljX2dldF9vbGRfY29ubmVjdG9yX3N0YXRlKHN0YXRl LCBjb25uKTsKPiA+ICAJc3RydWN0IGludGVsX2RpZ2l0YWxfY29ubmVjdG9yX3N0YXRlICpvbGRf Y29ubl9zdGF0ZSA9Cj4gPiAgCQl0b19pbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9zdGF0ZShvbGRf c3RhdGUpOwo+ID4gIAlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7Cj4gPiBAQCAt MTE4LDcgKzEyMCw3IEBAIGludCBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9hdG9taWNfY2hlY2so c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm4sCj4gPiAgCWlmICghbmV3X3N0YXRlLT5jcnRjKQo+ ID4gIAkJcmV0dXJuIDA7Cj4gPiAgCj4gPiAtCWNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9u ZXdfY3J0Y19zdGF0ZShuZXdfc3RhdGUtPnN0YXRlLCBuZXdfc3RhdGUtPmNydGMpOwo+ID4gKwlj cnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIG5ld19zdGF0 ZS0+Y3J0Yyk7Cj4gPiAgCj4gPiAgCS8qCj4gPiAgCSAqIFRoZXNlIHByb3BlcnRpZXMgYXJlIGhh bmRsZWQgYnkgZmFzdHNldCwgYW5kIG1pZ2h0IG5vdCBlbmQKPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwX21zdC5jCj4gPiBpbmRleCAxOWQ4MWNlZjJhYjYuLjg5Y2ZlYzEyOGJhMCAxMDA2NDQK PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwo+ID4gQEAgLTE0Myw5ICsxNDMsMTAg QEAgc3RhdGljIGludCBpbnRlbF9kcF9tc3RfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCj4gPiAgCj4gPiAgc3RhdGljIGludAo+ID4gIGludGVsX2RwX21zdF9h dG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+IC0JCQkgIHN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpuZXdfY29ubl9zdGF0ZSkKPiA+ICsJCQkgIHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiA+ICB7Cj4gPiAtCXN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSA9IG5ld19jb25uX3N0YXRlLT5zdGF0ZTsKPiA+ICsJc3RydWN0IGRybV9j b25uZWN0b3Jfc3RhdGUgKm5ld19jb25uX3N0YXRlID0KPiA+ICsJCWRybV9hdG9taWNfZ2V0X25l d19jb25uZWN0b3Jfc3RhdGUoc3RhdGUsIGNvbm5lY3Rvcik7Cj4gPiAgCXN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZSA9Cj4gPiAgCQlkcm1fYXRvbWljX2dldF9vbGRf Y29ubmVjdG9yX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IpOwo+ID4gIAlzdHJ1Y3QgaW50ZWxfY29u bmVjdG9yICppbnRlbF9jb25uZWN0b3IgPQo+ID4gQEAgLTE1NSw3ICsxNTYsNyBAQCBpbnRlbF9k cF9tc3RfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiAg CXN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyOwo+ID4gIAlpbnQgcmV0Owo+ID4g IAo+ID4gLQlyZXQgPSBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9hdG9taWNfY2hlY2soY29ubmVj dG9yLCBuZXdfY29ubl9zdGF0ZSk7Cj4gPiArCXJldCA9IGludGVsX2RpZ2l0YWxfY29ubmVjdG9y X2F0b21pY19jaGVjayhjb25uZWN0b3IsIHN0YXRlKTsKPiA+ICAJaWYgKHJldCkKPiA+ICAJCXJl dHVybiByZXQ7Cj4gPiAgCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gaW5kZXggZjhj N2IyOTFmZGMzLi44ODU3MWI4ZThkNjIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiA+IEBAIC0yNDgxLDcgKzI0ODEsNyBAQCBpbnQgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jf YXRvbWljX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4g IAkJCQkJCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ID4gIAkJCQkJCXU2NCB2YWwp Owo+ID4gIGludCBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9hdG9taWNfY2hlY2soc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm4sCj4gPiAtCQkJCQkgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg Km5ld19zdGF0ZSk7Cj4gPiArCQkJCQkgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsK PiA+ICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqCj4gPiAgaW50ZWxfZGlnaXRhbF9jb25u ZWN0b3JfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ ID4gIAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+ID4gaW5kZXggNjhmNDk3NDkzZDQz Li43MmVhMTY0Yjk3MWMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9zZHZvLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+ID4g QEAgLTIzNDIsOSArMjM0MiwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jf ZnVuY3MgaW50ZWxfc2R2b19jb25uZWN0b3JfZnVuY3MgPSB7Cj4gPiAgfTsKPiA+ICAKPiA+ICBz dGF0aWMgaW50IGludGVsX3Nkdm9fYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uLAo+ID4gLQkJCQkgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqbmV3X2Nvbm5fc3Rh dGUpCj4gPiArCQkJCSAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiA+ICB7Cj4g PiAtCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9IG5ld19jb25uX3N0YXRlLT5zdGF0 ZTsKPiA+ICsJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm5ld19jb25uX3N0YXRlID0KPiA+ ICsJCWRybV9hdG9taWNfZ2V0X25ld19jb25uZWN0b3Jfc3RhdGUoc3RhdGUsIGNvbm4pOwo+ID4g IAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGUgPQo+ID4gIAkJZHJt X2F0b21pY19nZXRfb2xkX2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29ubik7Cj4gPiAgCXN0cnVj dCBpbnRlbF9zZHZvX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX3N0YXRlID0KPiA+IEBAIC0yMzU2LDEz ICsyMzU3LDEzIEBAIHN0YXRpYyBpbnQgaW50ZWxfc2R2b19hdG9taWNfY2hlY2soc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm4sCj4gPiAgCSAgICAobWVtY21wKCZvbGRfc3RhdGUtPnR2LCAmbmV3 X3N0YXRlLT50diwgc2l6ZW9mKG9sZF9zdGF0ZS0+dHYpKSB8fAo+ID4gIAkgICAgIG1lbWNtcCgm b2xkX2Nvbm5fc3RhdGUtPnR2LCAmbmV3X2Nvbm5fc3RhdGUtPnR2LCBzaXplb2Yob2xkX2Nvbm5f c3RhdGUtPnR2KSkpKSB7Cj4gPiAgCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUg PQo+ID4gLQkJCWRybV9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKG5ld19jb25uX3N0YXRlLT5z dGF0ZSwKPiA+ICsJCQlkcm1fYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwKPiA+ICAJ CQkJCQkgICAgICBuZXdfY29ubl9zdGF0ZS0+Y3J0Yyk7Cj4gPiAgCj4gPiAgCQljcnRjX3N0YXRl LT5jb25uZWN0b3JzX2NoYW5nZWQgPSB0cnVlOwo+ID4gIAl9Cj4gPiAgCj4gPiAtCXJldHVybiBp bnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9hdG9taWNfY2hlY2soY29ubiwgbmV3X2Nvbm5fc3RhdGUp Owo+ID4gKwlyZXR1cm4gaW50ZWxfZGlnaXRhbF9jb25uZWN0b3JfYXRvbWljX2NoZWNrKGNvbm4s IHN0YXRlKTsKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVj dG9yX2hlbHBlcl9mdW5jcyBpbnRlbF9zZHZvX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgPSB7Cj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3R2LmMKPiA+IGluZGV4IDM5MjRjNDk0NGUxZi4uYTQxYzViNDY3 YzE0IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYwo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYwo+ID4gQEAgLTE4MTcsMTYgKzE4 MTcsMTggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIGludGVsX3R2 X2Nvbm5lY3Rvcl9mdW5jcyA9IHsKPiA+ICB9Owo+ID4gIAo+ID4gIHN0YXRpYyBpbnQgaW50ZWxf dHZfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiAtCQkJ CSBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqbmV3X3N0YXRlKQo+ID4gKwkJCQkgc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gIHsKPiA+ICsJc3RydWN0IGRybV9jb25uZWN0 b3Jfc3RhdGUgKm5ld19zdGF0ZTsKPiA+ICAJc3RydWN0IGRybV9jcnRjX3N0YXRlICpuZXdfY3J0 Y19zdGF0ZTsKPiA+ICAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9zdGF0ZTsKPiA+ ICAKPiA+ICsJbmV3X3N0YXRlID0gZHJtX2F0b21pY19nZXRfbmV3X2Nvbm5lY3Rvcl9zdGF0ZShz dGF0ZSwgY29ubmVjdG9yKTsKPiA+ICAJaWYgKCFuZXdfc3RhdGUtPmNydGMpCj4gPiAgCQlyZXR1 cm4gMDsKPiA+ICAKPiA+IC0Jb2xkX3N0YXRlID0gZHJtX2F0b21pY19nZXRfb2xkX2Nvbm5lY3Rv cl9zdGF0ZShuZXdfc3RhdGUtPnN0YXRlLCBjb25uZWN0b3IpOwo+ID4gLQluZXdfY3J0Y19zdGF0 ZSA9IGRybV9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKG5ld19zdGF0ZS0+c3RhdGUsIG5ld19z dGF0ZS0+Y3J0Yyk7Cj4gPiArCW9sZF9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X29sZF9jb25uZWN0 b3Jfc3RhdGUoc3RhdGUsIGNvbm5lY3Rvcik7Cj4gPiArCW5ld19jcnRjX3N0YXRlID0gZHJtX2F0 b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIG5ld19zdGF0ZS0+Y3J0Yyk7Cj4gPiAgCj4g PiAgCWlmIChvbGRfc3RhdGUtPnR2Lm1vZGUgIT0gbmV3X3N0YXRlLT50di5tb2RlIHx8Cj4gPiAg CSAgICBvbGRfc3RhdGUtPnR2Lm1hcmdpbnMubGVmdCAhPSBuZXdfc3RhdGUtPnR2Lm1hcmdpbnMu bGVmdCB8fAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUw L2Rpc3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2Rpc3AuYwo+ID4gaW5k ZXggNGIxNjUwZjUxOTU1Li43YmEzNzNmNDkzYjIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vbm91dmVhdS9kaXNwbnY1MC9kaXNwLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L2Rpc3BudjUwL2Rpc3AuYwo+ID4gQEAgLTk0OCwxMSArOTQ4LDEyIEBAIG52NTBfbXN0 Y19nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ICAKPiA+ICBz dGF0aWMgaW50Cj4gPiAgbnY1MF9tc3RjX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAo+ID4gLQkJICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpu ZXdfY29ubl9zdGF0ZSkKPiA+ICsJCSAgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBuZXdfY29u bl9zdGF0ZS0+c3RhdGU7Cj4gPiAgCXN0cnVjdCBudjUwX21zdGMgKm1zdGMgPSBudjUwX21zdGMo Y29ubmVjdG9yKTsKPiA+ICAJc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IgPSAm bXN0Yy0+bXN0bS0+bWdyOwo+ID4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqbmV3X2Nv bm5fc3RhdGUgPQo+ID4gKwkJZHJtX2F0b21pY19nZXRfbmV3X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0 ZSwgY29ubmVjdG9yKTsKPiA+ICAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25u X3N0YXRlID0KPiA+ICAJCWRybV9hdG9taWNfZ2V0X29sZF9jb25uZWN0b3Jfc3RhdGUoc3RhdGUs IGNvbm5lY3Rvcik7Cj4gPiAgCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2x2ZHMuYyBiL2RyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jCj4gPiBpbmRleCA2MjBiNTFhYWIyOTEuLjVi ODFiYTJhN2YyNyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJf bHZkcy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2x2ZHMuYwo+ID4g QEAgLTkyLDEzICs5MiwxNSBAQCBzdGF0aWMgaW50IHJjYXJfbHZkc19jb25uZWN0b3JfZ2V0X21v ZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiAgfQo+ID4gIAo+ID4gIHN0 YXRpYyBpbnQgcmNhcl9sdmRzX2Nvbm5lY3Rvcl9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKPiA+IC0JCQkJCSAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqc3RhdGUpCj4gPiArCQkJCQkgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ ID4gIHsKPiA+ICAJc3RydWN0IHJjYXJfbHZkcyAqbHZkcyA9IGNvbm5lY3Rvcl90b19yY2FyX2x2 ZHMoY29ubmVjdG9yKTsKPiA+ICAJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKnBhbmVs X21vZGU7Cj4gPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlOwo+ID4g IAlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7Cj4gPiAgCj4gPiAtCWlmICghc3Rh dGUtPmNydGMpCj4gPiArCWNvbm5fc3RhdGUgPSBkcm1fYXRvbWljX2dldF9uZXdfY29ubmVjdG9y X3N0YXRlKHN0YXRlLCBjb25uZWN0b3IpOwo+ID4gKwlpZiAoIWNvbm5fc3RhdGUtPmNydGMpCj4g PiAgCQlyZXR1cm4gMDsKPiA+ICAKPiA+ICAJaWYgKGxpc3RfZW1wdHkoJmNvbm5lY3Rvci0+bW9k ZXMpKSB7Cj4gPiBAQCAtMTEwLDkgKzExMiw5IEBAIHN0YXRpYyBpbnQgcmNhcl9sdmRzX2Nvbm5l Y3Rvcl9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ICAJ CQkJICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUsIGhlYWQpOwo+ID4gIAo+ID4gIAkvKiBX ZSdyZSBub3QgYWxsb3dlZCB0byBtb2RpZnkgdGhlIHJlc29sdXRpb24uICovCj4gPiAtCWNydGNf c3RhdGUgPSBkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0YXRlLT5zdGF0ZSwgc3RhdGUtPmNy dGMpOwo+ID4gLQlpZiAoSVNfRVJSKGNydGNfc3RhdGUpKQo+ID4gLQkJcmV0dXJuIFBUUl9FUlIo Y3J0Y19zdGF0ZSk7Cj4gPiArCWNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRl KHN0YXRlLCBjb25uX3N0YXRlLT5jcnRjKTsKPiA+ICsJaWYgKCFjcnRjX3N0YXRlKQo+ID4gKwkJ cmV0dXJuIC1FSU5WQUw7Cj4gPiAgCj4gPiAgCWlmIChjcnRjX3N0YXRlLT5tb2RlLmhkaXNwbGF5 ICE9IHBhbmVsX21vZGUtPmhkaXNwbGF5IHx8Cj4gPiAgCSAgICBjcnRjX3N0YXRlLT5tb2RlLnZk aXNwbGF5ICE9IHBhbmVsX21vZGUtPnZkaXNwbGF5KQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS92YzQvdmM0X3R4cC5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfdHhwLmMKPiA+ IGluZGV4IGM4Yjg5YTc4ZjlmNC4uOTZmOTFjMWI0YjZlIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3ZjNC92YzRfdHhwLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0 X3R4cC5jCj4gPiBAQCAtMjIxLDE3ICsyMjEsMTggQEAgc3RhdGljIGNvbnN0IHUzMiB0eHBfZm10 c1tdID0gewo+ID4gIH07Cj4gPiAgCj4gPiAgc3RhdGljIGludCB2YzRfdHhwX2Nvbm5lY3Rvcl9h dG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm4sCj4gPiAtCQkJCQlzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPiA+ICsJCQkJCSAgc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gIHsKPiA+ICsJc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKmNvbm5fc3RhdGU7Cj4gPiAgCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsK PiA+ICAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmI7Cj4gPiAgCWludCBpOwo+ID4gIAo+ID4g Kwljb25uX3N0YXRlID0gZHJtX2F0b21pY19nZXRfbmV3X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwg Y29ubik7Cj4gPiAgCWlmICghY29ubl9zdGF0ZS0+d3JpdGViYWNrX2pvYiB8fCAhY29ubl9zdGF0 ZS0+d3JpdGViYWNrX2pvYi0+ZmIpCj4gPiAgCQlyZXR1cm4gMDsKPiA+ICAKPiA+IC0JY3J0Y19z dGF0ZSA9IGRybV9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKGNvbm5fc3RhdGUtPnN0YXRlLAo+ ID4gLQkJCQkJCSAgIGNvbm5fc3RhdGUtPmNydGMpOwo+ID4gKwljcnRjX3N0YXRlID0gZHJtX2F0 b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNvbm5fc3RhdGUtPmNydGMpOwo+ID4gIAo+ ID4gIAlmYiA9IGNvbm5fc3RhdGUtPndyaXRlYmFja19qb2ItPmZiOwo+ID4gIAlpZiAoZmItPndp ZHRoICE9IGNydGNfc3RhdGUtPm1vZGUuaGRpc3BsYXkgfHwKPiA+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1fbW9kZXNldF9oZWxwZXJfdnRhYmxlcy5oIGIvaW5jbHVkZS9kcm0vZHJtX21v ZGVzZXRfaGVscGVyX3Z0YWJsZXMuaAo+ID4gaW5kZXggZGU1N2ZiNDBjYjZlLi5hZGM4YjdjZjY0 YjUgMTAwNjQ0Cj4gPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9oZWxwZXJfdnRhYmxl cy5oCj4gPiArKysgYi9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9oZWxwZXJfdnRhYmxlcy5oCj4g PiBAQCAtMTAyMCw3ICsxMDIwLDcgQEAgc3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1bmNz IHsKPiA+ICAJICogZGVhZGxvY2suCj4gPiAgCSAqLwo+ID4gIAlpbnQgKCphdG9taWNfY2hlY2sp KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiAtCQkJICAgIHN0cnVjdCBkcm1f Y29ubmVjdG9yX3N0YXRlICpzdGF0ZSk7Cj4gPiArCQkJICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSk7Cj4gPiAgCj4gPiAgCS8qKgo+ID4gIAkgKiBAYXRvbWljX2NvbW1pdDoKPiAK PiAtLSAKPiBSZWdhcmRzLAo+IAo+IExhdXJlbnQgUGluY2hhcnQKCi0tIApEYW5pZWwgVmV0dGVy ClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5j aApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=