From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v3 04/10] drm: Convert connector_helper_funcs->atomic_check to accept drm_atomic_state Date: Thu, 16 May 2019 15:00:01 +0300 Message-ID: <20190516120001.GH14820@pendragon.ideasonboard.com> 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: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Sean Paul Cc: Maxime Ripard , nouveau , David Airlie , LKML , linux-renesas-soc@vger.kernel.org, Kieran Bingham , Sean Paul , dri-devel , Intel Graphics Development , Ben Skeggs List-Id: intel-gfx@lists.freedesktop.org SGkgU2VhbiwKCk9uIE1vbiwgTWF5IDEzLCAyMDE5IGF0IDEwOjM4OjU4QU0gLTA0MDAsIFNlYW4g UGF1bCB3cm90ZToKPiBPbiBTYXQsIE1heSAxMSwgMjAxOSBhdCAzOjEyIFBNIExhdXJlbnQgUGlu Y2hhcnQgd3JvdGU6Cj4gPiBPbiBUaHUsIE1heSAwMiwgMjAxOSBhdCAwMzo0OTo0NlBNIC0wNDAw LCBTZWFuIFBhdWwgd3JvdGU6Cj4gPj4gRnJvbTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1 bS5vcmc+Cj4gPj4KPiA+PiBFdmVyeW9uZSB3aG8gaW1wbGVtZW50cyBjb25uZWN0b3JfaGVscGVy X2Z1bmNzLT5hdG9taWNfY2hlY2sgcmVhY2hlcwo+ID4+IGludG8gdGhlIGNvbm5lY3RvciBzdGF0 ZSB0byBnZXQgdGhlIGF0b21pYyBzdGF0ZS4gSW5zdGVhZCBvZiBjb250aW51aW5nCj4gPj4gdGhp cyBwYXR0ZXJuLCBjaGFuZ2UgdGhlIGNhbGxiYWNrIHNpZ25hdHVyZSB0byBqdXN0IGdpdmUgYXRv bWljIHN0YXRlCj4gPj4gYW5kIGxldCB0aGUgZHJpdmVyIGRldGVybWluZSB3aGF0IGl0IGRvZXMg YW5kIGRvZXMgbm90IG5lZWQgZnJvbSBpdC4KPiA+Pgo+ID4+IEV2ZW50dWFsbHkgYWxsIGF0b21p YyBmdW5jdGlvbnMgc2hvdWxkIGRvIHRoaXMsIGJ1dCB0aGF0J3MganVzdCB0b28gbXVjaAo+ID4+ IGJ1c3kgd29yayBmb3IgbWUuCj4gPgo+ID4gR2l2ZW4gdGhhdCBkcml2ZXJzIGFsc28gYWNjZXNz IHRoZSBjb25uZWN0b3Igc3RhdGUsIGlzbid0IHRoaXMgc2xpZ2h0bHkKPiA+IG1vcmUgaW5lZmZp Y2llbnQgPwo+IAo+IEluZWZmaWNpZW50IGluIHRlcm1zIG9mIHdoYXQ/CgpJbiB0ZXJtcyBvZiB0 aGUgb3BlcmF0aW9uIGhhdmluZyB0byBsb29rdXAgdGhlIGNvbm5lY3RvciBzdGF0ZSwgd2hlbiB0 aGUKY2FsbGVyIGhhcyBpdCBhbmQgY2FuIGVhc2lseSBwYXNzIGl0LiBBcyBEYW5pZWwgY29tbWVu dGVkLCB0aGlzIG1heSBiZQp0aGUgcHJpY2UgdG8gcGF5IGZvciBhIGNsZWFuZXIgQVBJLCBidXQg SSB3b25kZXIgaG93IG11Y2ggb3ZlcmhlYWQgYWxsCnRoZSBzdGF0ZSB0cmFja2luZyBpcyBjb3N0 aW5nLgoKPiBBZ3JlZSB0aGF0IGluIGlzb2xhdGlvbiB0aGlzIHBhdGNoIG1pZ2h0IHNlZW0gdW5u ZWNlc3NhcnksIGJ1dCBpdCB0aWVzCj4gaW4gd2l0aCB0aGUgZW5jb2RlciBhbmQgYnJpZGdlIENM cyB3aGljaCBhY2NlcHQgZHJtX2F0b21pY19zdGF0ZSBpbgoKQ0xzID8KCj4gdGhlaXIgaG9va3Mu IEluIGdlbmVyYWwgdGhlIGlkZWEgaXMgdG8gY29udmVydCBhbGwgYXRvbWljIGZ1bmN0aW9ucyB0 bwo+IHRha2Ugb3ZlcmFsbCBhdG9taWMgc3RhdGUgaW5zdGVhZCBvZiBqdXN0IHRoZWlyIG9iamVj dCBzdGF0ZS4gUmVhbGl0eQo+IGhhcyBwcm92ZW4gdG8gYmUgbW9yZSBjb21wbGljYXRlZCBhbmQg d2UgbmVlZCBtb3JlIGFjY2VzcyB0aGFuIHdoYXQKPiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlv biBwcm92aWRlcy4KPiAKPiBTZWFuCj4gCj4gPj4gQ2hhbmdlcyBpbiB2MzoKPiA+PiAtIEFkZGVk IHRvIHRoZSBzZXQKPiA+Pgo+ID4+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+ Cj4gPj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ Cj4gPj4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4gPj4g Q2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KPiA+ PiBDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+ID4+IENjOiBCZW4g U2tlZ2dzIDxic2tlZ2dzQHJlZGhhdC5jb20+Cj4gPj4gQ2M6IExhdXJlbnQgUGluY2hhcnQgPGxh dXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KPiA+PiBDYzogS2llcmFuIEJpbmdoYW0g PGtpZXJhbi5iaW5naGFtK3JlbmVzYXNAaWRlYXNvbmJvYXJkLmNvbT4KPiA+PiBDYzogRXJpYyBB bmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KPiA+PiBTaWduZWQtb2ZmLWJ5OiBTZWFuIFBhdWwgPHNl YW5wYXVsQGNocm9taXVtLm9yZz4KPiA+PiAtLS0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWNfaGVscGVyLmMgICAgICB8ICA0ICsrLS0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfYXRvbWljLmMgICAgICB8ICA4ICsrKysrLS0tCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwX21zdC5jICAgICAgfCAgNyArKysrLS0tCj4gPj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAgfCAgMiArLQo+ID4+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zZHZvLmMgICAgICAgIHwgIDkgKysrKystLS0tCj4gPj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3R2LmMgICAgICAgICAgfCAgOCArKysrKy0tLQo+ID4+ICBkcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9kaXNwLmMgIHwgIDUgKysrLS0KPiA+PiAgZHJpdmVy cy9ncHUvZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMgICAgICB8IDEyICsrKysrKystLS0tLQo+ID4+ ICBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF90eHAuYyAgICAgICAgICAgIHwgIDcgKysrKy0tLQo+ ID4+ICBpbmNsdWRlL2RybS9kcm1fbW9kZXNldF9oZWxwZXJfdnRhYmxlcy5oIHwgIDIgKy0KPiA+ PiAgMTAgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCj4g Pj4KPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ID4+IGluZGV4IDlkOWU0NzI3 NjgzOS4uZmE1YTM2NzUwN2MxIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX2hlbHBlci5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVs cGVyLmMKPiA+PiBAQCAtNjgzLDcgKzY4Myw3IEBAIGRybV9hdG9taWNfaGVscGVyX2NoZWNrX21v ZGVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+PiAgICAgICAgICAgICAgIH0KPiA+Pgo+ ID4+ICAgICAgICAgICAgICAgaWYgKGZ1bmNzLT5hdG9taWNfY2hlY2spCj4gPj4gLSAgICAgICAg ICAgICAgICAgICAgIHJldCA9IGZ1bmNzLT5hdG9taWNfY2hlY2soY29ubmVjdG9yLCBuZXdfY29u bmVjdG9yX3N0YXRlKTsKPiA+PiArICAgICAgICAgICAgICAgICAgICAgcmV0ID0gZnVuY3MtPmF0 b21pY19jaGVjayhjb25uZWN0b3IsIHN0YXRlKTsKPiA+PiAgICAgICAgICAgICAgIGlmIChyZXQp Cj4gPj4gICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gPj4KPiA+PiBAQCAtNzI1 LDcgKzcyNSw3IEBAIGRybV9hdG9taWNfaGVscGVyX2NoZWNrX21vZGVzZXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiA+PiAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cj4gPj4KPiA+ PiAgICAgICAgICAgICAgIGlmIChmdW5jcy0+YXRvbWljX2NoZWNrKQo+ID4+IC0gICAgICAgICAg ICAgICAgICAgICByZXQgPSBmdW5jcy0+YXRvbWljX2NoZWNrKGNvbm5lY3RvciwgbmV3X2Nvbm5l Y3Rvcl9zdGF0ZSk7Cj4gPj4gKyAgICAgICAgICAgICAgICAgICAgIHJldCA9IGZ1bmNzLT5hdG9t aWNfY2hlY2soY29ubmVjdG9yLCBzdGF0ZSk7Cj4gPj4gICAgICAgICAgICAgICBpZiAocmV0KQo+ ID4+ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4+ICAgICAgIH0KPiA+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwo+ID4+IGluZGV4IGI4NDRlODg0MGM2Zi4uZThh NWI4MmU5MjQyIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0 b21pYy5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKPiA+ PiBAQCAtMTAzLDEyICsxMDMsMTQgQEAgaW50IGludGVsX2RpZ2l0YWxfY29ubmVjdG9yX2F0b21p Y19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+PiAgfQo+ ID4+Cj4gPj4gIGludCBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9hdG9taWNfY2hlY2soc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm4sCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm5ld19zdGF0ZSkKPiA+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUpCj4gPj4gIHsKPiA+PiArICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAq bmV3X3N0YXRlID0KPiA+PiArICAgICAgICAgICAgIGRybV9hdG9taWNfZ2V0X25ld19jb25uZWN0 b3Jfc3RhdGUoc3RhdGUsIGNvbm4pOwo+ID4+ICAgICAgIHN0cnVjdCBpbnRlbF9kaWdpdGFsX2Nv bm5lY3Rvcl9zdGF0ZSAqbmV3X2Nvbm5fc3RhdGUgPQo+ID4+ICAgICAgICAgICAgICAgdG9faW50 ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUobmV3X3N0YXRlKTsKPiA+PiAgICAgICBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX3N0YXRlID0KPiA+PiAtICAgICAgICAgICAgIGRybV9h dG9taWNfZ2V0X29sZF9jb25uZWN0b3Jfc3RhdGUobmV3X3N0YXRlLT5zdGF0ZSwgY29ubik7Cj4g Pj4gKyAgICAgICAgICAgICBkcm1fYXRvbWljX2dldF9vbGRfY29ubmVjdG9yX3N0YXRlKHN0YXRl LCBjb25uKTsKPiA+PiAgICAgICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUg Km9sZF9jb25uX3N0YXRlID0KPiA+PiAgICAgICAgICAgICAgIHRvX2ludGVsX2RpZ2l0YWxfY29u bmVjdG9yX3N0YXRlKG9sZF9zdGF0ZSk7Cj4gPj4gICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlOwo+ID4+IEBAIC0xMTgsNyArMTIwLDcgQEAgaW50IGludGVsX2RpZ2l0YWxf Y29ubmVjdG9yX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubiwKPiA+PiAg ICAgICBpZiAoIW5ld19zdGF0ZS0+Y3J0YykKPiA+PiAgICAgICAgICAgICAgIHJldHVybiAwOwo+ ID4+Cj4gPj4gLSAgICAgY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRl KG5ld19zdGF0ZS0+c3RhdGUsIG5ld19zdGF0ZS0+Y3J0Yyk7Cj4gPj4gKyAgICAgY3J0Y19zdGF0 ZSA9IGRybV9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKHN0YXRlLCBuZXdfc3RhdGUtPmNydGMp Owo+ID4+Cj4gPj4gICAgICAgLyoKPiA+PiAgICAgICAgKiBUaGVzZSBwcm9wZXJ0aWVzIGFyZSBo YW5kbGVkIGJ5IGZhc3RzZXQsIGFuZCBtaWdodCBub3QgZW5kCj4gPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHBfbXN0LmMKPiA+PiBpbmRleCAxOWQ4MWNlZjJhYjYuLjg5Y2ZlYzEyOGJhMCAxMDA2 NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwo+ID4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gPj4gQEAgLTE0Myw5ICsx NDMsMTAgQEAgc3RhdGljIGludCBpbnRlbF9kcF9tc3RfY29tcHV0ZV9jb25maWcoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPj4KPiA+PiAgc3RhdGljIGludAo+ID4+ICBpbnRlbF9k cF9tc3RfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPj4g LSAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm5ld19j b25uX3N0YXRlKQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSkKPiA+PiAgewo+ID4+IC0gICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzdGF0ZSA9IG5ld19jb25uX3N0YXRlLT5zdGF0ZTsKPiA+PiArICAgICBzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9zdGF0ZSAqbmV3X2Nvbm5fc3RhdGUgPQo+ID4+ICsgICAgICAgICAgICAgZHJtX2F0 b21pY19nZXRfbmV3X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yKTsKPiA+PiAgICAg ICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGUgPQo+ID4+ICAgICAg ICAgICAgICAgZHJtX2F0b21pY19nZXRfb2xkX2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29ubmVj dG9yKTsKPiA+PiAgICAgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3Ig PQo+ID4+IEBAIC0xNTUsNyArMTU2LDcgQEAgaW50ZWxfZHBfbXN0X2F0b21pY19jaGVjayhzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4+ICAgICAgIHN0cnVjdCBkcm1fZHBfbXN0 X3RvcG9sb2d5X21nciAqbWdyOwo+ID4+ICAgICAgIGludCByZXQ7Cj4gPj4KPiA+PiAtICAgICBy ZXQgPSBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9hdG9taWNfY2hlY2soY29ubmVjdG9yLCBuZXdf Y29ubl9zdGF0ZSk7Cj4gPj4gKyAgICAgcmV0ID0gaW50ZWxfZGlnaXRhbF9jb25uZWN0b3JfYXRv bWljX2NoZWNrKGNvbm5lY3Rvciwgc3RhdGUpOwo+ID4+ICAgICAgIGlmIChyZXQpCj4gPj4gICAg ICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK PiA+PiBpbmRleCBmOGM3YjI5MWZkYzMuLjg4NTcxYjhlOGQ2MiAxMDA2NDQKPiA+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gPj4gQEAgLTI0ODEsNyArMjQ4MSw3IEBAIGludCBpbnRlbF9k aWdpdGFsX2Nvbm5lY3Rvcl9hdG9taWNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCj4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ID4+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1NjQgdmFsKTsKPiA+PiAgaW50IGludGVs X2RpZ2l0YWxfY29ubmVjdG9yX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u biwKPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9zdGF0ZSAqbmV3X3N0YXRlKTsKPiA+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ID4+ICBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqCj4gPj4gIGludGVsX2RpZ2l0YWxfY29ubmVjdG9y X2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiA+Pgo+ ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiA+PiBpbmRleCA2OGY0OTc0OTNkNDMuLjcy ZWExNjRiOTcxYyAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z ZHZvLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiA+PiBA QCAtMjM0Miw5ICsyMzQyLDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9m dW5jcyBpbnRlbF9zZHZvX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKPiA+PiAgfTsKPiA+Pgo+ID4+ICBz dGF0aWMgaW50IGludGVsX3Nkdm9fYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uLAo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlICpuZXdfY29ubl9zdGF0ZSkKPiA+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPj4gIHsKPiA+PiAt ICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBuZXdfY29ubl9zdGF0ZS0+c3Rh dGU7Cj4gPj4gKyAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm5ld19jb25uX3N0YXRl ID0KPiA+PiArICAgICAgICAgICAgIGRybV9hdG9taWNfZ2V0X25ld19jb25uZWN0b3Jfc3RhdGUo c3RhdGUsIGNvbm4pOwo+ID4+ICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRf Y29ubl9zdGF0ZSA9Cj4gPj4gICAgICAgICAgICAgICBkcm1fYXRvbWljX2dldF9vbGRfY29ubmVj dG9yX3N0YXRlKHN0YXRlLCBjb25uKTsKPiA+PiAgICAgICBzdHJ1Y3QgaW50ZWxfc2R2b19jb25u ZWN0b3Jfc3RhdGUgKm9sZF9zdGF0ZSA9Cj4gPj4gQEAgLTIzNTYsMTMgKzIzNTcsMTMgQEAgc3Rh dGljIGludCBpbnRlbF9zZHZvX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u biwKPiA+PiAgICAgICAgICAgKG1lbWNtcCgmb2xkX3N0YXRlLT50diwgJm5ld19zdGF0ZS0+dHYs IHNpemVvZihvbGRfc3RhdGUtPnR2KSkgfHwKPiA+PiAgICAgICAgICAgIG1lbWNtcCgmb2xkX2Nv bm5fc3RhdGUtPnR2LCAmbmV3X2Nvbm5fc3RhdGUtPnR2LCBzaXplb2Yob2xkX2Nvbm5fc3RhdGUt PnR2KSkpKSB7Cj4gPj4gICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNf c3RhdGUgPQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICBkcm1fYXRvbWljX2dldF9uZXdfY3J0 Y19zdGF0ZShuZXdfY29ubl9zdGF0ZS0+c3RhdGUsCj4gPj4gKyAgICAgICAgICAgICAgICAgICAg IGRybV9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKHN0YXRlLAo+ID4+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfY29ubl9zdGF0ZS0+Y3J0 Yyk7Cj4gPj4KPiA+PiAgICAgICAgICAgICAgIGNydGNfc3RhdGUtPmNvbm5lY3RvcnNfY2hhbmdl ZCA9IHRydWU7Cj4gPj4gICAgICAgfQo+ID4+Cj4gPj4gLSAgICAgcmV0dXJuIGludGVsX2RpZ2l0 YWxfY29ubmVjdG9yX2F0b21pY19jaGVjayhjb25uLCBuZXdfY29ubl9zdGF0ZSk7Cj4gPj4gKyAg ICAgcmV0dXJuIGludGVsX2RpZ2l0YWxfY29ubmVjdG9yX2F0b21pY19jaGVjayhjb25uLCBzdGF0 ZSk7Cj4gPj4gIH0KPiA+Pgo+ID4+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jf aGVscGVyX2Z1bmNzIGludGVsX3Nkdm9fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyA9IHsKPiA+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3R2LmMKPiA+PiBpbmRleCAzOTI0YzQ5NDRlMWYuLmE0MWM1YjQ2N2Mx NCAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90di5jCj4gPj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYwo+ID4+IEBAIC0xODE3LDE2ICsx ODE3LDE4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBpbnRlbF90 dl9jb25uZWN0b3JfZnVuY3MgPSB7Cj4gPj4gIH07Cj4gPj4KPiA+PiAgc3RhdGljIGludCBpbnRl bF90dl9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+PiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg Km5ld19zdGF0ZSkKPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4+ICB7Cj4gPj4gKyAgICAgc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgKm5ld19zdGF0ZTsKPiA+PiAgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUg Km5ld19jcnRjX3N0YXRlOwo+ID4+ICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpv bGRfc3RhdGU7Cj4gPj4KPiA+PiArICAgICBuZXdfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9uZXdf Y29ubmVjdG9yX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IpOwo+ID4+ICAgICAgIGlmICghbmV3X3N0 YXRlLT5jcnRjKQo+ID4+ICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4gPj4KPiA+PiAtICAgICBv bGRfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9vbGRfY29ubmVjdG9yX3N0YXRlKG5ld19zdGF0ZS0+ c3RhdGUsIGNvbm5lY3Rvcik7Cj4gPj4gLSAgICAgbmV3X2NydGNfc3RhdGUgPSBkcm1fYXRvbWlj X2dldF9uZXdfY3J0Y19zdGF0ZShuZXdfc3RhdGUtPnN0YXRlLCBuZXdfc3RhdGUtPmNydGMpOwo+ ID4+ICsgICAgIG9sZF9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X29sZF9jb25uZWN0b3Jfc3RhdGUo c3RhdGUsIGNvbm5lY3Rvcik7Cj4gPj4gKyAgICAgbmV3X2NydGNfc3RhdGUgPSBkcm1fYXRvbWlj X2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwgbmV3X3N0YXRlLT5jcnRjKTsKPiA+Pgo+ID4+ICAg ICAgIGlmIChvbGRfc3RhdGUtPnR2Lm1vZGUgIT0gbmV3X3N0YXRlLT50di5tb2RlIHx8Cj4gPj4g ICAgICAgICAgIG9sZF9zdGF0ZS0+dHYubWFyZ2lucy5sZWZ0ICE9IG5ld19zdGF0ZS0+dHYubWFy Z2lucy5sZWZ0IHx8Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rp c3BudjUwL2Rpc3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2Rpc3AuYwo+ ID4+IGluZGV4IDRiMTY1MGY1MTk1NS4uN2JhMzczZjQ5M2IyIDEwMDY0NAo+ID4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2Rpc3AuYwo+ID4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2Rpc3AuYwo+ID4+IEBAIC05NDgsMTEgKzk0OCwxMiBA QCBudjUwX21zdGNfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4g Pj4KPiA+PiAgc3RhdGljIGludAo+ID4+ICBudjUwX21zdGNfYXRvbWljX2NoZWNrKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgKm5ld19jb25uX3N0YXRlKQo+ID4+ICsgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiA+PiAgewo+ID4+IC0gICAg IHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9IG5ld19jb25uX3N0YXRlLT5zdGF0ZTsK PiA+PiAgICAgICBzdHJ1Y3QgbnY1MF9tc3RjICptc3RjID0gbnY1MF9tc3RjKGNvbm5lY3Rvcik7 Cj4gPj4gICAgICAgc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IgPSAmbXN0Yy0+ bXN0bS0+bWdyOwo+ID4+ICsgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpuZXdfY29u bl9zdGF0ZSA9Cj4gPj4gKyAgICAgICAgICAgICBkcm1fYXRvbWljX2dldF9uZXdfY29ubmVjdG9y X3N0YXRlKHN0YXRlLCBjb25uZWN0b3IpOwo+ID4+ICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9y X3N0YXRlICpvbGRfY29ubl9zdGF0ZSA9Cj4gPj4gICAgICAgICAgICAgICBkcm1fYXRvbWljX2dl dF9vbGRfY29ubmVjdG9yX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IpOwo+ID4+ICAgICAgIHN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2Fy X2x2ZHMuYwo+ID4+IGluZGV4IDYyMGI1MWFhYjI5MS4uNWI4MWJhMmE3ZjI3IDEwMDY0NAo+ID4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jCj4gPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMKPiA+PiBAQCAtOTIsMTMgKzkyLDE1IEBA IHN0YXRpYyBpbnQgcmNhcl9sdmRzX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKPiA+PiAgfQo+ID4+Cj4gPj4gIHN0YXRpYyBpbnQgcmNhcl9sdmRz X2Nvbm5lY3Rvcl9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK PiA+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9zdGF0ZSAqc3RhdGUpCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4+ICB7Cj4g Pj4gICAgICAgc3RydWN0IHJjYXJfbHZkcyAqbHZkcyA9IGNvbm5lY3Rvcl90b19yY2FyX2x2ZHMo Y29ubmVjdG9yKTsKPiA+PiAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqcGFu ZWxfbW9kZTsKPiA+PiArICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0 ZTsKPiA+PiAgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7Cj4gPj4KPiA+ PiAtICAgICBpZiAoIXN0YXRlLT5jcnRjKQo+ID4+ICsgICAgIGNvbm5fc3RhdGUgPSBkcm1fYXRv bWljX2dldF9uZXdfY29ubmVjdG9yX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IpOwo+ID4+ICsgICAg IGlmICghY29ubl9zdGF0ZS0+Y3J0YykKPiA+PiAgICAgICAgICAgICAgIHJldHVybiAwOwo+ID4+ Cj4gPj4gICAgICAgaWYgKGxpc3RfZW1wdHkoJmNvbm5lY3Rvci0+bW9kZXMpKSB7Cj4gPj4gQEAg LTExMCw5ICsxMTIsOSBAQCBzdGF0aWMgaW50IHJjYXJfbHZkc19jb25uZWN0b3JfYXRvbWljX2No ZWNrKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUsIGhlYWQpOwo+ID4+ Cj4gPj4gICAgICAgLyogV2UncmUgbm90IGFsbG93ZWQgdG8gbW9kaWZ5IHRoZSByZXNvbHV0aW9u LiAqLwo+ID4+IC0gICAgIGNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0 YXRlLT5zdGF0ZSwgc3RhdGUtPmNydGMpOwo+ID4+IC0gICAgIGlmIChJU19FUlIoY3J0Y19zdGF0 ZSkpCj4gPj4gLSAgICAgICAgICAgICByZXR1cm4gUFRSX0VSUihjcnRjX3N0YXRlKTsKPiA+PiAr ICAgICBjcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0ZSwgY29ubl9z dGF0ZS0+Y3J0Yyk7Cj4gPj4gKyAgICAgaWYgKCFjcnRjX3N0YXRlKQo+ID4+ICsgICAgICAgICAg ICAgcmV0dXJuIC1FSU5WQUw7Cj4gPj4KPiA+PiAgICAgICBpZiAoY3J0Y19zdGF0ZS0+bW9kZS5o ZGlzcGxheSAhPSBwYW5lbF9tb2RlLT5oZGlzcGxheSB8fAo+ID4+ICAgICAgICAgICBjcnRjX3N0 YXRlLT5tb2RlLnZkaXNwbGF5ICE9IHBhbmVsX21vZGUtPnZkaXNwbGF5KQo+ID4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF90eHAuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQv dmM0X3R4cC5jCj4gPj4gaW5kZXggYzhiODlhNzhmOWY0Li45NmY5MWMxYjRiNmUgMTAwNjQ0Cj4g Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfdHhwLmMKPiA+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vdmM0L3ZjNF90eHAuYwo+ID4+IEBAIC0yMjEsMTcgKzIyMSwxOCBAQCBzdGF0aWMg Y29uc3QgdTMyIHR4cF9mbXRzW10gPSB7Cj4gPj4gIH07Cj4gPj4KPiA+PiAgc3RhdGljIGludCB2 YzRfdHhwX2Nvbm5lY3Rvcl9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm4s Cj4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4+ICB7Cj4g Pj4gKyAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGU7Cj4gPj4gICAg ICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwo+ID4+ICAgICAgIHN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKmZiOwo+ID4+ICAgICAgIGludCBpOwo+ID4+Cj4gPj4gKyAgICAgY29u bl9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X25ld19jb25uZWN0b3Jfc3RhdGUoc3RhdGUsIGNvbm4p Owo+ID4+ICAgICAgIGlmICghY29ubl9zdGF0ZS0+d3JpdGViYWNrX2pvYiB8fCAhY29ubl9zdGF0 ZS0+d3JpdGViYWNrX2pvYi0+ZmIpCj4gPj4gICAgICAgICAgICAgICByZXR1cm4gMDsKPiA+Pgo+ ID4+IC0gICAgIGNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShjb25u X3N0YXRlLT5zdGF0ZSwKPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29ubl9zdGF0ZS0+Y3J0Yyk7Cj4gPj4gKyAgICAgY3J0Y19zdGF0ZSA9IGRy bV9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKHN0YXRlLCBjb25uX3N0YXRlLT5jcnRjKTsKPiA+ Pgo+ID4+ICAgICAgIGZiID0gY29ubl9zdGF0ZS0+d3JpdGViYWNrX2pvYi0+ZmI7Cj4gPj4gICAg ICAgaWYgKGZiLT53aWR0aCAhPSBjcnRjX3N0YXRlLT5tb2RlLmhkaXNwbGF5IHx8Cj4gPj4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlcl92dGFibGVzLmggYi9pbmNs dWRlL2RybS9kcm1fbW9kZXNldF9oZWxwZXJfdnRhYmxlcy5oCj4gPj4gaW5kZXggZGU1N2ZiNDBj YjZlLi5hZGM4YjdjZjY0YjUgMTAwNjQ0Cj4gPj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX21vZGVz ZXRfaGVscGVyX3Z0YWJsZXMuaAo+ID4+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2hl bHBlcl92dGFibGVzLmgKPiA+PiBAQCAtMTAyMCw3ICsxMDIwLDcgQEAgc3RydWN0IGRybV9jb25u ZWN0b3JfaGVscGVyX2Z1bmNzIHsKPiA+PiAgICAgICAgKiBkZWFkbG9jay4KPiA+PiAgICAgICAg Ki8KPiA+PiAgICAgICBpbnQgKCphdG9taWNfY2hlY2spKHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9zdGF0ZSAqc3RhdGUpOwo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiA+Pgo+ID4+ICAgICAgIC8qKgo+ID4+ICAgICAg ICAqIEBhdG9taWNfY29tbWl0OgoKLS0gClJlZ2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0Cl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==