From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [CI 07/12] drm/i915: Complete crtc hw/uapi split, v4. Date: Tue, 29 Oct 2019 16:37:59 +0200 Message-ID: <20191029143759.GX1208@intel.com> References: <20191029072229.27092-1-maarten.lankhorst@linux.intel.com> <20191029072229.27092-7-maarten.lankhorst@linux.intel.com> <20191029143315.GW1208@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id EF3406EB8C for ; Tue, 29 Oct 2019 14:38:02 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191029143315.GW1208@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 T24gVHVlLCBPY3QgMjksIDIwMTkgYXQgMDQ6MzM6MTVQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFR1ZSwgT2N0IDI5LCAyMDE5IGF0IDA4OjIyOjI0QU0gKzAxMDAsIE1hYXJ0 ZW4gTGFua2hvcnN0IHdyb3RlOgo+ID4gTm93IHRoYXQgd2Ugc2VwYXJhdGVkIGV2ZXJ5dGhpbmcg aW50byB1YXBpIGFuZCBodywgaXQncwo+ID4gdGltZSB0byBtYWtlIHRoZSBzcGxpdCBkZWZpbml0 aXZlLiBSZW1vdmUgdGhlIHVuaW9uIGFuZAo+ID4gbWFrZSBhIGNvcHkgb2YgdGhlIGh3IHN0YXRl IG9uIG1vZGVzZXQgYW5kIGZhc3RzZXQuCj4gPiAKPiA+IENvbG9yIGJsb2JzIGFyZSBjb3BpZWQg aW4gY3J0YyBhdG9taWNfY2hlY2soKSwgcmlnaHQKPiA+IGJlZm9yZSBjb2xvciBtYW5hZ2VtZW50 IGlzIGNoZWNrZWQuCj4gPiAKPiA+IENoYW5nZXMgc2luY2UgdjE6Cj4gPiAtIENvcHkgYWxsIGJs b2JzIGltbWVkaWF0ZWx5IGFmdGVyIGRybV9hdG9taWNfaGVscGVyX2NoZWNrX21vZGVzZXQoKS4K PiA+IC0gQ2xlYXIgY3J0Y19zdGF0ZS0+aHcgb24gZGlzYWJsZSwgaW5zdGVhZCBvZiB1c2luZyBj bGVhcl9pbnRlbF9jcnRjX3N0YXRlKCkuCj4gPiBDaGFuZ2VzIHNpbmNlIHYyOgo+ID4gLSBVc2Ug aW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRlICsgY2xlYXIgaW4gaW50ZWxfY3J0Y19kaXNhYmxlX25v YXRvbWljKCkuCj4gPiAtIE1ha2UgYSBpbnRlbF9jcnRjX3ByZXBhcmVfc3RhdGUoKSBmdW5jdGlv biB0aGF0IGNsZWFycyB0aGUgY3J0Y19zdGF0ZQo+ID4gICBhbmQgY29waWVzIGh3IG1lbWJlcnMu Cj4gPiAtIFJlbW92ZSBzZXR0aW5nIHVhcGkuYWRqdXN0ZWRfbW9kZSwgd2Ugbm93IGhhdmUgYSBk aXJlY3QgY2FsbCB0bwo+ID4gICBkcm1fY2FsY190aW1lc3RhbXBpbmdfY29uc3RhbnRzKCkuCj4g PiBDaGFuZ2VzIHNpbmNlIHYzOgo+ID4gLSBSZW5hbWUgcHJlZml4IGNvcHlfaHdfdG9fdWFwaV9z dGF0ZSgpIHdpdGggaW50ZWxfY3J0Yy4KPiA+IC0gQ29weSBjb2xvciBibG9icyB0byB1YXBpIGFz IHdlbGwuCj4gPiAtIEFkZCBhIGludGVsX2NydGNfY29weV91YXBpX3RvX2h3X3N0YXRlX25vbW9k ZXNldCgpIGZ1bmN0aW9uIGZvciBjbGFyaXR5Lgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBNYWFy dGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+ID4gLS0t Cj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYyAgIHwgNDQg KysrKysrKysrKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWlj LmggICB8ICAyICsKPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXkuYyAgfCA4MCArKysrKysrKysrKysrKysrLS0tCj4gPiAgLi4uL2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheV90eXBlcy5oICAgIHwgIDkgKystCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAx MTggaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYwo+ID4gaW5kZXggMzY2Mjc1ZGMxMTNkLi41 NTcxNzg5MDZjY2YgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2F0b21pYy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2F0b21pYy5jCj4gPiBAQCAtMTk1LDYgKzE5NSwxNCBAQCBpbnRlbF9jcnRjX2R1cGxpY2F0 ZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gPiAgCj4gPiAgCV9fZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUoY3J0YywgJmNydGNfc3RhdGUtPnVhcGkpOwo+ID4g IAo+ID4gKwkvKiBjb3B5IGNvbG9yIGJsb2JzICovCj4gPiArCWlmIChjcnRjX3N0YXRlLT5ody5k ZWdhbW1hX2x1dCkKPiA+ICsJCWRybV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT5ody5k ZWdhbW1hX2x1dCk7Cj4gPiArCWlmIChjcnRjX3N0YXRlLT5ody5jdG0pCj4gPiArCQlkcm1fcHJv cGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+aHcuY3RtKTsKPiA+ICsJaWYgKGNydGNfc3RhdGUt Pmh3LmdhbW1hX2x1dCkKPiA+ICsJCWRybV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT5o dy5nYW1tYV9sdXQpOwo+ID4gKwo+ID4gIAljcnRjX3N0YXRlLT51cGRhdGVfcGlwZSA9IGZhbHNl Owo+ID4gIAljcnRjX3N0YXRlLT5kaXNhYmxlX2xwX3dtID0gZmFsc2U7Cj4gPiAgCWNydGNfc3Rh dGUtPmRpc2FibGVfY3hzciA9IGZhbHNlOwo+ID4gQEAgLTIwOCw2ICsyMTYsNDEgQEAgaW50ZWxf Y3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4gIAlyZXR1cm4g JmNydGNfc3RhdGUtPnVhcGk7Cj4gPiAgfQo+ID4gIAo+ID4gK3N0YXRpYyB2b2lkIGludGVsX2Ny dGNfcHV0X2NvbG9yX2Jsb2JzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ ID4gK3sKPiA+ICsJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0KGNydGNfc3RhdGUtPmh3LmRlZ2FtbWFf bHV0KTsKPiA+ICsJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0KGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1 dCk7Cj4gPiArCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChjcnRjX3N0YXRlLT5ody5jdG0pOwo+ID4g K30KPiA+ICsKPiA+ICt2b2lkIGludGVsX2NydGNfZnJlZV9od19zdGF0ZShzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ICt7Cj4gPiArCWludGVsX2NydGNfcHV0X2NvbG9y X2Jsb2JzKGNydGNfc3RhdGUpOwo+ID4gK30KPiA+ICsKPiA+ICt2b2lkIGludGVsX2NydGNfY29w eV9jb2xvcl9ibG9icyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ICt7 Cj4gPiArCWludGVsX2NydGNfcHV0X2NvbG9yX2Jsb2JzKGNydGNfc3RhdGUpOwo+ID4gKwo+ID4g KwlpZiAoY3J0Y19zdGF0ZS0+dWFwaS5kZWdhbW1hX2x1dCkKPiA+ICsJCWNydGNfc3RhdGUtPmh3 LmRlZ2FtbWFfbHV0ID0KPiA+ICsJCQlkcm1fcHJvcGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+ dWFwaS5kZWdhbW1hX2x1dCk7Cj4gPiArCWVsc2UKPiA+ICsJCWNydGNfc3RhdGUtPmh3LmRlZ2Ft bWFfbHV0ID0gTlVMTDsKPiA+ICsKPiA+ICsJaWYgKGNydGNfc3RhdGUtPnVhcGkuZ2FtbWFfbHV0 KQo+ID4gKwkJY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0ID0KPiA+ICsJCQlkcm1fcHJvcGVydHlf YmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFwaS5nYW1tYV9sdXQpOwo+ID4gKwllbHNlCj4gPiArCQlj cnRjX3N0YXRlLT5ody5nYW1tYV9sdXQgPSBOVUxMOwo+ID4gKwo+ID4gKwlpZiAoY3J0Y19zdGF0 ZS0+dWFwaS5jdG0pCj4gPiArCQljcnRjX3N0YXRlLT5ody5jdG0gPQo+ID4gKwkJCWRybV9wcm9w ZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT51YXBpLmN0bSk7Cj4gPiArCWVsc2UKPiA+ICsJCWNy dGNfc3RhdGUtPmh3LmN0bSA9IE5VTEw7Cj4gPiArfQo+ID4gKwo+ID4gIC8qKgo+ID4gICAqIGlu dGVsX2NydGNfZGVzdHJveV9zdGF0ZSAtIGRlc3Ryb3kgY3J0YyBzdGF0ZQo+ID4gICAqIEBjcnRj OiBkcm0gY3J0Ywo+ID4gQEAgLTIyMyw2ICsyNjYsNyBAQCBpbnRlbF9jcnRjX2Rlc3Ryb3lfc3Rh dGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoc3RhdGUpOwo+ID4gIAo+ID4gIAlfX2Ry bV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSgmY3J0Y19zdGF0ZS0+dWFwaSk7Cj4g PiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRlKTsKPiA+ICAJa2ZyZWUoY3J0 Y19zdGF0ZSk7Cj4gPiAgfQo+ID4gIAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2F0b21pYy5oCj4gPiBpbmRleCA0OWQ1Y2IxYjllMGEuLjdiNDk2MjM0MTliYSAxMDA2 NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgK PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgKPiA+ IEBAIC0zNiw2ICszNiw4IEBAIGludGVsX2RpZ2l0YWxfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0 ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiA+ICBzdHJ1Y3QgZHJtX2NydGNf c3RhdGUgKmludGVsX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7 Cj4gPiAgdm9pZCBpbnRlbF9jcnRjX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRj LAo+ID4gIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKTsKPiA+ICt2b2lk IGludGVsX2NydGNfZnJlZV9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSk7Cj4gPiArdm9pZCBpbnRlbF9jcnRjX2NvcHlfY29sb3JfYmxvYnMoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ID4gIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpp bnRlbF9hdG9taWNfc3RhdGVfYWxsb2Moc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPiAgdm9p ZCBpbnRlbF9hdG9taWNfc3RhdGVfY2xlYXIoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KTsKPiA+ICAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eS5jCj4gPiBpbmRleCAxYmMwMDhjMDk0ZTQuLmE3NjU3OTQ1OTdlZCAxMDA2NDQKPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4gQEAgLTcxODUs NiArNzE4NSw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfZGlzYWJsZV9ub2F0b21pYyhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAgCWNydGMtPmVuYWJsZWQgPSBmYWxzZTsKPiA+ICAJY3J0 Yy0+c3RhdGUtPmNvbm5lY3Rvcl9tYXNrID0gMDsKPiA+ICAJY3J0Yy0+c3RhdGUtPmVuY29kZXJf bWFzayA9IDA7Cj4gPiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRlKTsKPiA+ ICsJbWVtc2V0KCZjcnRjX3N0YXRlLT5odywgMCwgc2l6ZW9mKGNydGNfc3RhdGUtPmh3KSk7Cj4g PiAgCj4gPiAgCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0YyhjcnRjLT5kZXYsIGNydGMsIGVuY29k ZXIpCj4gPiAgCQllbmNvZGVyLT5iYXNlLmNydGMgPSBOVUxMOwo+ID4gQEAgLTEyNTYwLDggKzEy NTYyLDQ4IEBAIHN0YXRpYyBib29sIGNoZWNrX2RpZ2l0YWxfcG9ydF9jb25mbGljdHMoc3RydWN0 IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiAgCXJldHVybiByZXQ7Cj4gPiAgfQo+ID4g IAo+ID4gK3N0YXRpYyB2b2lkCj4gPiAraW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGVf bm9tb2Rlc2V0KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gK3sKPiA+ ICsJaW50ZWxfY3J0Y19jb3B5X2NvbG9yX2Jsb2JzKGNydGNfc3RhdGUpOwo+ID4gK30KPiA+ICsK PiA+ICtzdGF0aWMgdm9pZAo+ID4gK2ludGVsX2NydGNfY29weV91YXBpX3RvX2h3X3N0YXRlKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gK3sKPiA+ICsJY3J0Y19zdGF0 ZS0+aHcuZW5hYmxlID0gY3J0Y19zdGF0ZS0+dWFwaS5lbmFibGU7Cj4gPiArCWNydGNfc3RhdGUt Pmh3LmFjdGl2ZSA9IGNydGNfc3RhdGUtPnVhcGkuYWN0aXZlOwo+ID4gKwljcnRjX3N0YXRlLT5o dy5tb2RlID0gY3J0Y19zdGF0ZS0+dWFwaS5tb2RlOwo+ID4gKwljcnRjX3N0YXRlLT5ody5hZGp1 c3RlZF9tb2RlID0gY3J0Y19zdGF0ZS0+dWFwaS5hZGp1c3RlZF9tb2RlOwo+ID4gKwlpbnRlbF9j cnRjX2NvcHlfdWFwaV90b19od19zdGF0ZV9ub21vZGVzZXQoY3J0Y19zdGF0ZSk7Cj4gPiArfQo+ ID4gKwo+ID4gK3N0YXRpYyB2b2lkIGludGVsX2NydGNfY29weV9od190b191YXBpX3N0YXRlKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gK3sKPiA+ICsJY3J0Y19zdGF0 ZS0+dWFwaS5lbmFibGUgPSBjcnRjX3N0YXRlLT5ody5lbmFibGU7Cj4gPiArCWNydGNfc3RhdGUt PnVhcGkuYWN0aXZlID0gY3J0Y19zdGF0ZS0+aHcuYWN0aXZlOwo+ID4gKwljcnRjX3N0YXRlLT51 YXBpLm1vZGUgPSBjcnRjX3N0YXRlLT5ody5tb2RlOwo+ID4gKwljcnRjX3N0YXRlLT51YXBpLmFk anVzdGVkX21vZGUgPSBjcnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlOwo+ID4gKwo+ID4gKwkv KiBjb3B5IGNvbG9yIGJsb2JzIHRvIHVhcGkgKi8KPiA+ICsJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0 KGNydGNfc3RhdGUtPmh3LmRlZ2FtbWFfbHV0KTsKPiAKPiB1YXBpLmRlZ2FtbWFfbHV0Cj4gCj4g VGhlc2UgbG9vayBsaWtlIGlubGluZWQgdmVyc2lvbnMgb2YgZHJtX3Byb3BlcnR5X3JlcGxhY2Vf YmxvYigpIAo+IGFjdHVhbGx5LgoKQW5kIHNlZW1zIHRvIG1lIHRoYXQgeW91IHNob3VsZCBiZSBh YmxlIHRvIHVzZSB0aGF0IGZvciB0aGUKb3RoZXIgZGlyZWN0aW9uIGFzIHdlbGwuCgo+IAo+IE90 aGVyd2lzZSBsZ3RtCj4gUmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFs YUBsaW51eC5pbnRlbC5jb20+Cj4gCj4gPiArCWNydGNfc3RhdGUtPnVhcGkuZGVnYW1tYV9sdXQg PSBjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dDsKPiA+ICsJaWYgKGNydGNfc3RhdGUtPnVhcGku ZGVnYW1tYV9sdXQpCj4gPiArCQlkcm1fcHJvcGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFw aS5kZWdhbW1hX2x1dCk7Cj4gPiArCj4gPiArCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChjcnRjX3N0 YXRlLT51YXBpLmN0bSk7Cj4gPiArCWNydGNfc3RhdGUtPnVhcGkuY3RtID0gY3J0Y19zdGF0ZS0+ aHcuY3RtOwo+ID4gKwlpZiAoY3J0Y19zdGF0ZS0+dWFwaS5jdG0pCj4gPiArCQlkcm1fcHJvcGVy dHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFwaS5jdG0pOwo+ID4gKwo+ID4gKwlkcm1fcHJvcGVy dHlfYmxvYl9wdXQoY3J0Y19zdGF0ZS0+dWFwaS5nYW1tYV9sdXQpOwo+ID4gKwljcnRjX3N0YXRl LT51YXBpLmdhbW1hX2x1dCA9IGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dDsKPiA+ICsJaWYgKGNy dGNfc3RhdGUtPnVhcGkuZ2FtbWFfbHV0KQo+ID4gKwkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0KGNy dGNfc3RhdGUtPnVhcGkuZ2FtbWFfbHV0KTsKPiA+ICt9Cj4gPiArCj4gPiAgc3RhdGljIGludAo+ ID4gLWNsZWFyX2ludGVsX2NydGNfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4gPiAraW50ZWxfY3J0Y19wcmVwYXJlX2NsZWFyZWRfc3RhdGUoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPQo+ID4gIAkJdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRl dik7Cj4gPiBAQCAtMTI1NzEsMTEgKzEyNjEzLDE1IEBAIGNsZWFyX2ludGVsX2NydGNfc3RhdGUo c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiAgCWlmICghc2F2ZWRfc3Rh dGUpCj4gPiAgCQlyZXR1cm4gLUVOT01FTTsKPiA+ICAKPiA+ICsJLyogZnJlZSB0aGUgb2xkIGNy dGNfc3RhdGUtPmh3IG1lbWJlcnMgKi8KPiA+ICsJaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRlKGNy dGNfc3RhdGUpOwo+ID4gKwo+ID4gIAkvKiBGSVhNRTogYmVmb3JlIHRoZSBzd2l0Y2ggdG8gYXRv bWljIHN0YXJ0ZWQsIGEgbmV3IHBpcGVfY29uZmlnIHdhcwo+ID4gIAkgKiBremFsbG9jJ2QuIENv ZGUgdGhhdCBkZXBlbmRzIG9uIGFueSBmaWVsZCBiZWluZyB6ZXJvIHNob3VsZCBiZQo+ID4gIAkg KiBmaXhlZCwgc28gdGhhdCB0aGUgY3J0Y19zdGF0ZSBjYW4gYmUgc2FmZWx5IGR1cGxpY2F0ZWQu IEZvciBub3csCj4gPiAgCSAqIG9ubHkgZmllbGRzIHRoYXQgYXJlIGtub3cgdG8gbm90IGNhdXNl IHByb2JsZW1zIGFyZSBwcmVzZXJ2ZWQuICovCj4gPiAgCj4gPiArCXNhdmVkX3N0YXRlLT51YXBp ID0gY3J0Y19zdGF0ZS0+dWFwaTsKPiA+ICAJc2F2ZWRfc3RhdGUtPnNjYWxlcl9zdGF0ZSA9IGNy dGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsKPiA+ICAJc2F2ZWRfc3RhdGUtPnNoYXJlZF9kcGxsID0g Y3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGw7Cj4gPiAgCXNhdmVkX3N0YXRlLT5kcGxsX2h3X3N0YXRl ID0gY3J0Y19zdGF0ZS0+ZHBsbF9od19zdGF0ZTsKPiA+IEBAIC0xMjU5MywxNCArMTI2MzksMTEg QEAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKPiA+ICAJCXNhdmVkX3N0YXRlLT5zeW5jX21vZGVfc2xhdmVzX21hc2sgPQo+ID4gIAkJ CWNydGNfc3RhdGUtPnN5bmNfbW9kZV9zbGF2ZXNfbWFzazsKPiA+ICAKPiA+IC0JLyogS2VlcCBi YXNlIGRybV9jcnRjX3N0YXRlIGludGFjdCwgb25seSBjbGVhciBvdXIgZXh0ZW5kZWQgc3RydWN0 ICovCj4gPiAtCUJVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSwg YmFzZSkpOwo+ID4gLQlCVUlMRF9CVUdfT04ob2Zmc2V0b2Yoc3RydWN0IGludGVsX2NydGNfc3Rh dGUsIHVhcGkpKTsKPiA+IC0JQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlLCBodykpOwo+ID4gLQltZW1jcHkoJmNydGNfc3RhdGUtPnVhcGkgKyAxLCAmc2F2ZWRf c3RhdGUtPnVhcGkgKyAxLAo+ID4gLQkgICAgICAgc2l6ZW9mKCpjcnRjX3N0YXRlKSAtIHNpemVv ZihjcnRjX3N0YXRlLT51YXBpKSk7Cj4gPiAtCj4gPiArCW1lbWNweShjcnRjX3N0YXRlLCBzYXZl ZF9zdGF0ZSwgc2l6ZW9mKCpjcnRjX3N0YXRlKSk7Cj4gPiAgCWtmcmVlKHNhdmVkX3N0YXRlKTsK PiA+ICsKPiA+ICsJaW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGUoY3J0Y19zdGF0ZSk7 Cj4gPiArCj4gPiAgCXJldHVybiAwOwo+ID4gIH0KPiA+ICAKPiA+IEBAIC0xMjYxNiwxMCArMTI2 NTksNiBAQCBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpwaXBlX2NvbmZpZykKPiA+ICAJaW50IGk7Cj4gPiAgCWJvb2wgcmV0cnkgPSB0cnVlOwo+ID4g IAo+ID4gLQlyZXQgPSBjbGVhcl9pbnRlbF9jcnRjX3N0YXRlKHBpcGVfY29uZmlnKTsKPiA+IC0J aWYgKHJldCkKPiA+IC0JCXJldHVybiByZXQ7Cj4gPiAtCj4gPiAgCXBpcGVfY29uZmlnLT5jcHVf dHJhbnNjb2RlciA9Cj4gPiAgCQkoZW51bSB0cmFuc2NvZGVyKSB0b19pbnRlbF9jcnRjKGNydGMp LT5waXBlOwo+ID4gIAo+ID4gQEAgLTEzNDc2LDYgKzEzNTE1LDggQEAgdmVyaWZ5X2NydGNfc3Rh dGUoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gPiAgCj4gPiAgCXN0YXRlID0gb2xkX2NydGNf c3RhdGUtPnVhcGkuc3RhdGU7Cj4gPiAgCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95 X3N0YXRlKCZvbGRfY3J0Y19zdGF0ZS0+dWFwaSk7Cj4gPiArCWludGVsX2NydGNfZnJlZV9od19z dGF0ZShvbGRfY3J0Y19zdGF0ZSk7Cj4gPiArCj4gPiAgCXBpcGVfY29uZmlnID0gb2xkX2NydGNf c3RhdGU7Cj4gPiAgCW1lbXNldChwaXBlX2NvbmZpZywgMCwgc2l6ZW9mKCpwaXBlX2NvbmZpZykp Owo+ID4gIAlwaXBlX2NvbmZpZy0+dWFwaS5jcnRjID0gJmNydGMtPmJhc2U7Cj4gPiBAQCAtMTQw MTAsMTQgKzE0MDUxLDI0IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NoZWNrKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gPiAgCj4gPiAgCWZvcl9lYWNoX29sZG5ld19pbnRlbF9jcnRjX2lu X3N0YXRlKHN0YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwKPiA+ICAJCQkJCSAgICBuZXdfY3J0 Y19zdGF0ZSwgaSkgewo+ID4gLQkJaWYgKCFuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKSkK PiA+ICsJCWlmICghbmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSkpIHsKPiA+ICsJCQkvKiBM aWdodCBjb3B5ICovCj4gPiArCQkJaW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGVfbm9t b2Rlc2V0KG5ld19jcnRjX3N0YXRlKTsKPiA+ICsKPiA+ICAJCQljb250aW51ZTsKPiA+ICsJCX0K PiA+ICAKPiA+ICAJCWlmICghbmV3X2NydGNfc3RhdGUtPnVhcGkuZW5hYmxlKSB7Cj4gPiArCQkJ aW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGUobmV3X2NydGNfc3RhdGUpOwo+ID4gKwo+ ID4gIAkJCWFueV9tcyA9IHRydWU7Cj4gPiAgCQkJY29udGludWU7Cj4gPiAgCQl9Cj4gPiAgCj4g PiArCQlyZXQgPSBpbnRlbF9jcnRjX3ByZXBhcmVfY2xlYXJlZF9zdGF0ZShuZXdfY3J0Y19zdGF0 ZSk7Cj4gPiArCQlpZiAocmV0KQo+ID4gKwkJCWdvdG8gZmFpbDsKPiA+ICsKPiA+ICAJCXJldCA9 IGludGVsX21vZGVzZXRfcGlwZV9jb25maWcobmV3X2NydGNfc3RhdGUpOwo+ID4gIAkJaWYgKHJl dCkKPiA+ICAJCQlnb3RvIGZhaWw7Cj4gPiBAQCAtMTcyOTEsNiArMTczNDIsNyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiA+ICAJCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJhc2Uuc3RhdGUpOwo+ID4gIAo+ ID4gIAkJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUoJmNydGNfc3RhdGUt PnVhcGkpOwo+ID4gKwkJaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRlKGNydGNfc3RhdGUpOwo+ID4g IAkJbWVtc2V0KGNydGNfc3RhdGUsIDAsIHNpemVvZigqY3J0Y19zdGF0ZSkpOwo+ID4gIAkJX19k cm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KCZjcnRjLT5iYXNlLCAmY3J0Y19zdGF0ZS0+dWFw aSk7Cj4gPiAgCj4gPiBAQCAtMTc0MTksNiArMTc0NzEsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9t b2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICAJCQkg KiBzZXQgYSBmbGFnIHRvIGluZGljYXRlIHRoYXQgYSBmdWxsIHJlY2FsY3VsYXRpb24gaXMKPiA+ ICAJCQkgKiBuZWVkZWQgb24gdGhlIG5leHQgY29tbWl0Lgo+ID4gIAkJCSAqLwo+ID4gKwkJCWNy dGNfc3RhdGUtPmh3Lm1vZGUgPSBjcnRjLT5iYXNlLm1vZGU7Cj4gPiAgCQkJY3J0Y19zdGF0ZS0+ aHcubW9kZS5wcml2YXRlX2ZsYWdzID0gSTkxNV9NT0RFX0ZMQUdfSU5IRVJJVEVEOwo+ID4gIAo+ ID4gIAkJCWludGVsX2NydGNfY29tcHV0ZV9waXhlbF9yYXRlKGNydGNfc3RhdGUpOwo+ID4gQEAg LTE3NDY3LDYgKzE3NTIwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3 X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiAgCj4gPiAgCQlpbnRlbF9id19jcnRj X3VwZGF0ZShid19zdGF0ZSwgY3J0Y19zdGF0ZSk7Cj4gPiAgCj4gPiArCQlpbnRlbF9jcnRjX2Nv cHlfaHdfdG9fdWFwaV9zdGF0ZShjcnRjX3N0YXRlKTsKPiA+ICAJCWludGVsX3BpcGVfY29uZmln X3Nhbml0eV9jaGVjayhkZXZfcHJpdiwgY3J0Y19zdGF0ZSk7Cj4gPiAgCX0KPiA+ICB9Cj4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5 cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMu aAo+ID4gaW5kZXggNTczY2VkOWRjOTA5Li5iY2Y1Zjc2NDAzMDcgMTAwNjQ0Cj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPiA+ IEBAIC03NTcsOCArNzU3LDYgQEAgZW51bSBpbnRlbF9vdXRwdXRfZm9ybWF0IHsKPiA+ICB9Owo+ ID4gIAo+ID4gIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKPiA+IC0JdW5pb24gewo+ID4gLQlz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgYmFzZTsKPiA+ICAJLyoKPiA+ICAJICogdWFwaSAoZHJtKSBz dGF0ZS4gVGhpcyBpcyB0aGUgc29mdHdhcmUgc3RhdGUgc2hvd24gdG8gdXNlcnNwYWNlLgo+ID4g IAkgKiBJbiBwYXJ0aWN1bGFyLCB0aGUgZm9sbG93aW5nIG1lbWJlcnMgYXJlIHVzZWQgZm9yIGJv b2trZWVwaW5nOgo+ID4gQEAgLTc4MSw4ICs3NzksMTEgQEAgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgewo+ID4gIAkgKgo+ID4gIAkgKiBEdXJpbmcgaW5pdGlhbCBodyByZWFkb3V0LCB0aGV5IG5l ZWQgdG8gYmUgY29waWVkIHRvIHVhcGkuCj4gPiAgCSAqLwo+ID4gLQlzdHJ1Y3QgZHJtX2NydGNf c3RhdGUgaHc7Cj4gPiAtCX07Cj4gPiArCXN0cnVjdCB7Cj4gPiArCQlib29sIGFjdGl2ZSwgZW5h YmxlOwo+ID4gKwkJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpkZWdhbW1hX2x1dCwgKmdhbW1h X2x1dCwgKmN0bTsKPiA+ICsJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIG1vZGUsIGFkanVzdGVk X21vZGU7Cj4gPiArCX0gaHc7Cj4gPiAgCj4gPiAgCS8qKgo+ID4gIAkgKiBxdWlya3MgLSBiaXRm aWVsZCB3aXRoIGh3IHN0YXRlIHJlYWRvdXQgcXVpcmtzCj4gPiAtLSAKPiA+IDIuMjMuMAo+ID4g Cj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4g SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngKPiAKPiAtLSAKPiBWaWxsZSBTeXJqw6Rsw6QKPiBJbnRlbAoKLS0gClZpbGxlIFN5cmrD pGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CA925CA9EAE for ; Tue, 29 Oct 2019 14:38:04 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A51022087E for ; Tue, 29 Oct 2019 14:38:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A51022087E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4E8676EB8C; Tue, 29 Oct 2019 14:38:04 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id EF3406EB8C for ; Tue, 29 Oct 2019 14:38:02 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Oct 2019 07:38:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,244,1569308400"; d="scan'208";a="189963050" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by orsmga007.jf.intel.com with SMTP; 29 Oct 2019 07:38:00 -0700 Received: by stinkbox (sSMTP sendmail emulation); Tue, 29 Oct 2019 16:37:59 +0200 Date: Tue, 29 Oct 2019 16:37:59 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Maarten Lankhorst Message-ID: <20191029143759.GX1208@intel.com> References: <20191029072229.27092-1-maarten.lankhorst@linux.intel.com> <20191029072229.27092-7-maarten.lankhorst@linux.intel.com> <20191029143315.GW1208@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191029143315.GW1208@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [Intel-gfx] [CI 07/12] drm/i915: Complete crtc hw/uapi split, v4. X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191029143759._ssWin0ww5jpCu_Y2sFJDxkGf-BNC3911SyrycNFcaE@z> T24gVHVlLCBPY3QgMjksIDIwMTkgYXQgMDQ6MzM6MTVQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFR1ZSwgT2N0IDI5LCAyMDE5IGF0IDA4OjIyOjI0QU0gKzAxMDAsIE1hYXJ0 ZW4gTGFua2hvcnN0IHdyb3RlOgo+ID4gTm93IHRoYXQgd2Ugc2VwYXJhdGVkIGV2ZXJ5dGhpbmcg aW50byB1YXBpIGFuZCBodywgaXQncwo+ID4gdGltZSB0byBtYWtlIHRoZSBzcGxpdCBkZWZpbml0 aXZlLiBSZW1vdmUgdGhlIHVuaW9uIGFuZAo+ID4gbWFrZSBhIGNvcHkgb2YgdGhlIGh3IHN0YXRl IG9uIG1vZGVzZXQgYW5kIGZhc3RzZXQuCj4gPiAKPiA+IENvbG9yIGJsb2JzIGFyZSBjb3BpZWQg aW4gY3J0YyBhdG9taWNfY2hlY2soKSwgcmlnaHQKPiA+IGJlZm9yZSBjb2xvciBtYW5hZ2VtZW50 IGlzIGNoZWNrZWQuCj4gPiAKPiA+IENoYW5nZXMgc2luY2UgdjE6Cj4gPiAtIENvcHkgYWxsIGJs b2JzIGltbWVkaWF0ZWx5IGFmdGVyIGRybV9hdG9taWNfaGVscGVyX2NoZWNrX21vZGVzZXQoKS4K PiA+IC0gQ2xlYXIgY3J0Y19zdGF0ZS0+aHcgb24gZGlzYWJsZSwgaW5zdGVhZCBvZiB1c2luZyBj bGVhcl9pbnRlbF9jcnRjX3N0YXRlKCkuCj4gPiBDaGFuZ2VzIHNpbmNlIHYyOgo+ID4gLSBVc2Ug aW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRlICsgY2xlYXIgaW4gaW50ZWxfY3J0Y19kaXNhYmxlX25v YXRvbWljKCkuCj4gPiAtIE1ha2UgYSBpbnRlbF9jcnRjX3ByZXBhcmVfc3RhdGUoKSBmdW5jdGlv biB0aGF0IGNsZWFycyB0aGUgY3J0Y19zdGF0ZQo+ID4gICBhbmQgY29waWVzIGh3IG1lbWJlcnMu Cj4gPiAtIFJlbW92ZSBzZXR0aW5nIHVhcGkuYWRqdXN0ZWRfbW9kZSwgd2Ugbm93IGhhdmUgYSBk aXJlY3QgY2FsbCB0bwo+ID4gICBkcm1fY2FsY190aW1lc3RhbXBpbmdfY29uc3RhbnRzKCkuCj4g PiBDaGFuZ2VzIHNpbmNlIHYzOgo+ID4gLSBSZW5hbWUgcHJlZml4IGNvcHlfaHdfdG9fdWFwaV9z dGF0ZSgpIHdpdGggaW50ZWxfY3J0Yy4KPiA+IC0gQ29weSBjb2xvciBibG9icyB0byB1YXBpIGFz IHdlbGwuCj4gPiAtIEFkZCBhIGludGVsX2NydGNfY29weV91YXBpX3RvX2h3X3N0YXRlX25vbW9k ZXNldCgpIGZ1bmN0aW9uIGZvciBjbGFyaXR5Lgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBNYWFy dGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+ID4gLS0t Cj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYyAgIHwgNDQg KysrKysrKysrKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWlj LmggICB8ICAyICsKPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXkuYyAgfCA4MCArKysrKysrKysrKysrKysrLS0tCj4gPiAgLi4uL2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheV90eXBlcy5oICAgIHwgIDkgKystCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAx MTggaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYwo+ID4gaW5kZXggMzY2Mjc1ZGMxMTNkLi41 NTcxNzg5MDZjY2YgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2F0b21pYy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2F0b21pYy5jCj4gPiBAQCAtMTk1LDYgKzE5NSwxNCBAQCBpbnRlbF9jcnRjX2R1cGxpY2F0 ZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gPiAgCj4gPiAgCV9fZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUoY3J0YywgJmNydGNfc3RhdGUtPnVhcGkpOwo+ID4g IAo+ID4gKwkvKiBjb3B5IGNvbG9yIGJsb2JzICovCj4gPiArCWlmIChjcnRjX3N0YXRlLT5ody5k ZWdhbW1hX2x1dCkKPiA+ICsJCWRybV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT5ody5k ZWdhbW1hX2x1dCk7Cj4gPiArCWlmIChjcnRjX3N0YXRlLT5ody5jdG0pCj4gPiArCQlkcm1fcHJv cGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+aHcuY3RtKTsKPiA+ICsJaWYgKGNydGNfc3RhdGUt Pmh3LmdhbW1hX2x1dCkKPiA+ICsJCWRybV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT5o dy5nYW1tYV9sdXQpOwo+ID4gKwo+ID4gIAljcnRjX3N0YXRlLT51cGRhdGVfcGlwZSA9IGZhbHNl Owo+ID4gIAljcnRjX3N0YXRlLT5kaXNhYmxlX2xwX3dtID0gZmFsc2U7Cj4gPiAgCWNydGNfc3Rh dGUtPmRpc2FibGVfY3hzciA9IGZhbHNlOwo+ID4gQEAgLTIwOCw2ICsyMTYsNDEgQEAgaW50ZWxf Y3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4gIAlyZXR1cm4g JmNydGNfc3RhdGUtPnVhcGk7Cj4gPiAgfQo+ID4gIAo+ID4gK3N0YXRpYyB2b2lkIGludGVsX2Ny dGNfcHV0X2NvbG9yX2Jsb2JzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ ID4gK3sKPiA+ICsJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0KGNydGNfc3RhdGUtPmh3LmRlZ2FtbWFf bHV0KTsKPiA+ICsJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0KGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1 dCk7Cj4gPiArCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChjcnRjX3N0YXRlLT5ody5jdG0pOwo+ID4g K30KPiA+ICsKPiA+ICt2b2lkIGludGVsX2NydGNfZnJlZV9od19zdGF0ZShzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ICt7Cj4gPiArCWludGVsX2NydGNfcHV0X2NvbG9y X2Jsb2JzKGNydGNfc3RhdGUpOwo+ID4gK30KPiA+ICsKPiA+ICt2b2lkIGludGVsX2NydGNfY29w eV9jb2xvcl9ibG9icyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ICt7 Cj4gPiArCWludGVsX2NydGNfcHV0X2NvbG9yX2Jsb2JzKGNydGNfc3RhdGUpOwo+ID4gKwo+ID4g KwlpZiAoY3J0Y19zdGF0ZS0+dWFwaS5kZWdhbW1hX2x1dCkKPiA+ICsJCWNydGNfc3RhdGUtPmh3 LmRlZ2FtbWFfbHV0ID0KPiA+ICsJCQlkcm1fcHJvcGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+ dWFwaS5kZWdhbW1hX2x1dCk7Cj4gPiArCWVsc2UKPiA+ICsJCWNydGNfc3RhdGUtPmh3LmRlZ2Ft bWFfbHV0ID0gTlVMTDsKPiA+ICsKPiA+ICsJaWYgKGNydGNfc3RhdGUtPnVhcGkuZ2FtbWFfbHV0 KQo+ID4gKwkJY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0ID0KPiA+ICsJCQlkcm1fcHJvcGVydHlf YmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFwaS5nYW1tYV9sdXQpOwo+ID4gKwllbHNlCj4gPiArCQlj cnRjX3N0YXRlLT5ody5nYW1tYV9sdXQgPSBOVUxMOwo+ID4gKwo+ID4gKwlpZiAoY3J0Y19zdGF0 ZS0+dWFwaS5jdG0pCj4gPiArCQljcnRjX3N0YXRlLT5ody5jdG0gPQo+ID4gKwkJCWRybV9wcm9w ZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT51YXBpLmN0bSk7Cj4gPiArCWVsc2UKPiA+ICsJCWNy dGNfc3RhdGUtPmh3LmN0bSA9IE5VTEw7Cj4gPiArfQo+ID4gKwo+ID4gIC8qKgo+ID4gICAqIGlu dGVsX2NydGNfZGVzdHJveV9zdGF0ZSAtIGRlc3Ryb3kgY3J0YyBzdGF0ZQo+ID4gICAqIEBjcnRj OiBkcm0gY3J0Ywo+ID4gQEAgLTIyMyw2ICsyNjYsNyBAQCBpbnRlbF9jcnRjX2Rlc3Ryb3lfc3Rh dGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoc3RhdGUpOwo+ID4gIAo+ID4gIAlfX2Ry bV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSgmY3J0Y19zdGF0ZS0+dWFwaSk7Cj4g PiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRlKTsKPiA+ICAJa2ZyZWUoY3J0 Y19zdGF0ZSk7Cj4gPiAgfQo+ID4gIAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2F0b21pYy5oCj4gPiBpbmRleCA0OWQ1Y2IxYjllMGEuLjdiNDk2MjM0MTliYSAxMDA2 NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgK PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgKPiA+ IEBAIC0zNiw2ICszNiw4IEBAIGludGVsX2RpZ2l0YWxfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0 ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiA+ICBzdHJ1Y3QgZHJtX2NydGNf c3RhdGUgKmludGVsX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7 Cj4gPiAgdm9pZCBpbnRlbF9jcnRjX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRj LAo+ID4gIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKTsKPiA+ICt2b2lk IGludGVsX2NydGNfZnJlZV9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSk7Cj4gPiArdm9pZCBpbnRlbF9jcnRjX2NvcHlfY29sb3JfYmxvYnMoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ID4gIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpp bnRlbF9hdG9taWNfc3RhdGVfYWxsb2Moc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPiAgdm9p ZCBpbnRlbF9hdG9taWNfc3RhdGVfY2xlYXIoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KTsKPiA+ICAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eS5jCj4gPiBpbmRleCAxYmMwMDhjMDk0ZTQuLmE3NjU3OTQ1OTdlZCAxMDA2NDQKPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4gQEAgLTcxODUs NiArNzE4NSw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfZGlzYWJsZV9ub2F0b21pYyhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAgCWNydGMtPmVuYWJsZWQgPSBmYWxzZTsKPiA+ICAJY3J0 Yy0+c3RhdGUtPmNvbm5lY3Rvcl9tYXNrID0gMDsKPiA+ICAJY3J0Yy0+c3RhdGUtPmVuY29kZXJf bWFzayA9IDA7Cj4gPiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRlKTsKPiA+ ICsJbWVtc2V0KCZjcnRjX3N0YXRlLT5odywgMCwgc2l6ZW9mKGNydGNfc3RhdGUtPmh3KSk7Cj4g PiAgCj4gPiAgCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0YyhjcnRjLT5kZXYsIGNydGMsIGVuY29k ZXIpCj4gPiAgCQllbmNvZGVyLT5iYXNlLmNydGMgPSBOVUxMOwo+ID4gQEAgLTEyNTYwLDggKzEy NTYyLDQ4IEBAIHN0YXRpYyBib29sIGNoZWNrX2RpZ2l0YWxfcG9ydF9jb25mbGljdHMoc3RydWN0 IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiAgCXJldHVybiByZXQ7Cj4gPiAgfQo+ID4g IAo+ID4gK3N0YXRpYyB2b2lkCj4gPiAraW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGVf bm9tb2Rlc2V0KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gK3sKPiA+ ICsJaW50ZWxfY3J0Y19jb3B5X2NvbG9yX2Jsb2JzKGNydGNfc3RhdGUpOwo+ID4gK30KPiA+ICsK PiA+ICtzdGF0aWMgdm9pZAo+ID4gK2ludGVsX2NydGNfY29weV91YXBpX3RvX2h3X3N0YXRlKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gK3sKPiA+ICsJY3J0Y19zdGF0 ZS0+aHcuZW5hYmxlID0gY3J0Y19zdGF0ZS0+dWFwaS5lbmFibGU7Cj4gPiArCWNydGNfc3RhdGUt Pmh3LmFjdGl2ZSA9IGNydGNfc3RhdGUtPnVhcGkuYWN0aXZlOwo+ID4gKwljcnRjX3N0YXRlLT5o dy5tb2RlID0gY3J0Y19zdGF0ZS0+dWFwaS5tb2RlOwo+ID4gKwljcnRjX3N0YXRlLT5ody5hZGp1 c3RlZF9tb2RlID0gY3J0Y19zdGF0ZS0+dWFwaS5hZGp1c3RlZF9tb2RlOwo+ID4gKwlpbnRlbF9j cnRjX2NvcHlfdWFwaV90b19od19zdGF0ZV9ub21vZGVzZXQoY3J0Y19zdGF0ZSk7Cj4gPiArfQo+ ID4gKwo+ID4gK3N0YXRpYyB2b2lkIGludGVsX2NydGNfY29weV9od190b191YXBpX3N0YXRlKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gK3sKPiA+ICsJY3J0Y19zdGF0 ZS0+dWFwaS5lbmFibGUgPSBjcnRjX3N0YXRlLT5ody5lbmFibGU7Cj4gPiArCWNydGNfc3RhdGUt PnVhcGkuYWN0aXZlID0gY3J0Y19zdGF0ZS0+aHcuYWN0aXZlOwo+ID4gKwljcnRjX3N0YXRlLT51 YXBpLm1vZGUgPSBjcnRjX3N0YXRlLT5ody5tb2RlOwo+ID4gKwljcnRjX3N0YXRlLT51YXBpLmFk anVzdGVkX21vZGUgPSBjcnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlOwo+ID4gKwo+ID4gKwkv KiBjb3B5IGNvbG9yIGJsb2JzIHRvIHVhcGkgKi8KPiA+ICsJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0 KGNydGNfc3RhdGUtPmh3LmRlZ2FtbWFfbHV0KTsKPiAKPiB1YXBpLmRlZ2FtbWFfbHV0Cj4gCj4g VGhlc2UgbG9vayBsaWtlIGlubGluZWQgdmVyc2lvbnMgb2YgZHJtX3Byb3BlcnR5X3JlcGxhY2Vf YmxvYigpIAo+IGFjdHVhbGx5LgoKQW5kIHNlZW1zIHRvIG1lIHRoYXQgeW91IHNob3VsZCBiZSBh YmxlIHRvIHVzZSB0aGF0IGZvciB0aGUKb3RoZXIgZGlyZWN0aW9uIGFzIHdlbGwuCgo+IAo+IE90 aGVyd2lzZSBsZ3RtCj4gUmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFs YUBsaW51eC5pbnRlbC5jb20+Cj4gCj4gPiArCWNydGNfc3RhdGUtPnVhcGkuZGVnYW1tYV9sdXQg PSBjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dDsKPiA+ICsJaWYgKGNydGNfc3RhdGUtPnVhcGku ZGVnYW1tYV9sdXQpCj4gPiArCQlkcm1fcHJvcGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFw aS5kZWdhbW1hX2x1dCk7Cj4gPiArCj4gPiArCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChjcnRjX3N0 YXRlLT51YXBpLmN0bSk7Cj4gPiArCWNydGNfc3RhdGUtPnVhcGkuY3RtID0gY3J0Y19zdGF0ZS0+ aHcuY3RtOwo+ID4gKwlpZiAoY3J0Y19zdGF0ZS0+dWFwaS5jdG0pCj4gPiArCQlkcm1fcHJvcGVy dHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFwaS5jdG0pOwo+ID4gKwo+ID4gKwlkcm1fcHJvcGVy dHlfYmxvYl9wdXQoY3J0Y19zdGF0ZS0+dWFwaS5nYW1tYV9sdXQpOwo+ID4gKwljcnRjX3N0YXRl LT51YXBpLmdhbW1hX2x1dCA9IGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dDsKPiA+ICsJaWYgKGNy dGNfc3RhdGUtPnVhcGkuZ2FtbWFfbHV0KQo+ID4gKwkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0KGNy dGNfc3RhdGUtPnVhcGkuZ2FtbWFfbHV0KTsKPiA+ICt9Cj4gPiArCj4gPiAgc3RhdGljIGludAo+ ID4gLWNsZWFyX2ludGVsX2NydGNfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4gPiAraW50ZWxfY3J0Y19wcmVwYXJlX2NsZWFyZWRfc3RhdGUoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPQo+ID4gIAkJdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRl dik7Cj4gPiBAQCAtMTI1NzEsMTEgKzEyNjEzLDE1IEBAIGNsZWFyX2ludGVsX2NydGNfc3RhdGUo c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiAgCWlmICghc2F2ZWRfc3Rh dGUpCj4gPiAgCQlyZXR1cm4gLUVOT01FTTsKPiA+ICAKPiA+ICsJLyogZnJlZSB0aGUgb2xkIGNy dGNfc3RhdGUtPmh3IG1lbWJlcnMgKi8KPiA+ICsJaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRlKGNy dGNfc3RhdGUpOwo+ID4gKwo+ID4gIAkvKiBGSVhNRTogYmVmb3JlIHRoZSBzd2l0Y2ggdG8gYXRv bWljIHN0YXJ0ZWQsIGEgbmV3IHBpcGVfY29uZmlnIHdhcwo+ID4gIAkgKiBremFsbG9jJ2QuIENv ZGUgdGhhdCBkZXBlbmRzIG9uIGFueSBmaWVsZCBiZWluZyB6ZXJvIHNob3VsZCBiZQo+ID4gIAkg KiBmaXhlZCwgc28gdGhhdCB0aGUgY3J0Y19zdGF0ZSBjYW4gYmUgc2FmZWx5IGR1cGxpY2F0ZWQu IEZvciBub3csCj4gPiAgCSAqIG9ubHkgZmllbGRzIHRoYXQgYXJlIGtub3cgdG8gbm90IGNhdXNl IHByb2JsZW1zIGFyZSBwcmVzZXJ2ZWQuICovCj4gPiAgCj4gPiArCXNhdmVkX3N0YXRlLT51YXBp ID0gY3J0Y19zdGF0ZS0+dWFwaTsKPiA+ICAJc2F2ZWRfc3RhdGUtPnNjYWxlcl9zdGF0ZSA9IGNy dGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsKPiA+ICAJc2F2ZWRfc3RhdGUtPnNoYXJlZF9kcGxsID0g Y3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGw7Cj4gPiAgCXNhdmVkX3N0YXRlLT5kcGxsX2h3X3N0YXRl ID0gY3J0Y19zdGF0ZS0+ZHBsbF9od19zdGF0ZTsKPiA+IEBAIC0xMjU5MywxNCArMTI2MzksMTEg QEAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKPiA+ICAJCXNhdmVkX3N0YXRlLT5zeW5jX21vZGVfc2xhdmVzX21hc2sgPQo+ID4gIAkJ CWNydGNfc3RhdGUtPnN5bmNfbW9kZV9zbGF2ZXNfbWFzazsKPiA+ICAKPiA+IC0JLyogS2VlcCBi YXNlIGRybV9jcnRjX3N0YXRlIGludGFjdCwgb25seSBjbGVhciBvdXIgZXh0ZW5kZWQgc3RydWN0 ICovCj4gPiAtCUJVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSwg YmFzZSkpOwo+ID4gLQlCVUlMRF9CVUdfT04ob2Zmc2V0b2Yoc3RydWN0IGludGVsX2NydGNfc3Rh dGUsIHVhcGkpKTsKPiA+IC0JQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlLCBodykpOwo+ID4gLQltZW1jcHkoJmNydGNfc3RhdGUtPnVhcGkgKyAxLCAmc2F2ZWRf c3RhdGUtPnVhcGkgKyAxLAo+ID4gLQkgICAgICAgc2l6ZW9mKCpjcnRjX3N0YXRlKSAtIHNpemVv ZihjcnRjX3N0YXRlLT51YXBpKSk7Cj4gPiAtCj4gPiArCW1lbWNweShjcnRjX3N0YXRlLCBzYXZl ZF9zdGF0ZSwgc2l6ZW9mKCpjcnRjX3N0YXRlKSk7Cj4gPiAgCWtmcmVlKHNhdmVkX3N0YXRlKTsK PiA+ICsKPiA+ICsJaW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGUoY3J0Y19zdGF0ZSk7 Cj4gPiArCj4gPiAgCXJldHVybiAwOwo+ID4gIH0KPiA+ICAKPiA+IEBAIC0xMjYxNiwxMCArMTI2 NTksNiBAQCBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpwaXBlX2NvbmZpZykKPiA+ICAJaW50IGk7Cj4gPiAgCWJvb2wgcmV0cnkgPSB0cnVlOwo+ID4g IAo+ID4gLQlyZXQgPSBjbGVhcl9pbnRlbF9jcnRjX3N0YXRlKHBpcGVfY29uZmlnKTsKPiA+IC0J aWYgKHJldCkKPiA+IC0JCXJldHVybiByZXQ7Cj4gPiAtCj4gPiAgCXBpcGVfY29uZmlnLT5jcHVf dHJhbnNjb2RlciA9Cj4gPiAgCQkoZW51bSB0cmFuc2NvZGVyKSB0b19pbnRlbF9jcnRjKGNydGMp LT5waXBlOwo+ID4gIAo+ID4gQEAgLTEzNDc2LDYgKzEzNTE1LDggQEAgdmVyaWZ5X2NydGNfc3Rh dGUoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gPiAgCj4gPiAgCXN0YXRlID0gb2xkX2NydGNf c3RhdGUtPnVhcGkuc3RhdGU7Cj4gPiAgCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95 X3N0YXRlKCZvbGRfY3J0Y19zdGF0ZS0+dWFwaSk7Cj4gPiArCWludGVsX2NydGNfZnJlZV9od19z dGF0ZShvbGRfY3J0Y19zdGF0ZSk7Cj4gPiArCj4gPiAgCXBpcGVfY29uZmlnID0gb2xkX2NydGNf c3RhdGU7Cj4gPiAgCW1lbXNldChwaXBlX2NvbmZpZywgMCwgc2l6ZW9mKCpwaXBlX2NvbmZpZykp Owo+ID4gIAlwaXBlX2NvbmZpZy0+dWFwaS5jcnRjID0gJmNydGMtPmJhc2U7Cj4gPiBAQCAtMTQw MTAsMTQgKzE0MDUxLDI0IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NoZWNrKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gPiAgCj4gPiAgCWZvcl9lYWNoX29sZG5ld19pbnRlbF9jcnRjX2lu X3N0YXRlKHN0YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwKPiA+ICAJCQkJCSAgICBuZXdfY3J0 Y19zdGF0ZSwgaSkgewo+ID4gLQkJaWYgKCFuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKSkK PiA+ICsJCWlmICghbmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSkpIHsKPiA+ICsJCQkvKiBM aWdodCBjb3B5ICovCj4gPiArCQkJaW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGVfbm9t b2Rlc2V0KG5ld19jcnRjX3N0YXRlKTsKPiA+ICsKPiA+ICAJCQljb250aW51ZTsKPiA+ICsJCX0K PiA+ICAKPiA+ICAJCWlmICghbmV3X2NydGNfc3RhdGUtPnVhcGkuZW5hYmxlKSB7Cj4gPiArCQkJ aW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGUobmV3X2NydGNfc3RhdGUpOwo+ID4gKwo+ ID4gIAkJCWFueV9tcyA9IHRydWU7Cj4gPiAgCQkJY29udGludWU7Cj4gPiAgCQl9Cj4gPiAgCj4g PiArCQlyZXQgPSBpbnRlbF9jcnRjX3ByZXBhcmVfY2xlYXJlZF9zdGF0ZShuZXdfY3J0Y19zdGF0 ZSk7Cj4gPiArCQlpZiAocmV0KQo+ID4gKwkJCWdvdG8gZmFpbDsKPiA+ICsKPiA+ICAJCXJldCA9 IGludGVsX21vZGVzZXRfcGlwZV9jb25maWcobmV3X2NydGNfc3RhdGUpOwo+ID4gIAkJaWYgKHJl dCkKPiA+ICAJCQlnb3RvIGZhaWw7Cj4gPiBAQCAtMTcyOTEsNiArMTczNDIsNyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiA+ICAJCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJhc2Uuc3RhdGUpOwo+ID4gIAo+ ID4gIAkJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUoJmNydGNfc3RhdGUt PnVhcGkpOwo+ID4gKwkJaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRlKGNydGNfc3RhdGUpOwo+ID4g IAkJbWVtc2V0KGNydGNfc3RhdGUsIDAsIHNpemVvZigqY3J0Y19zdGF0ZSkpOwo+ID4gIAkJX19k cm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KCZjcnRjLT5iYXNlLCAmY3J0Y19zdGF0ZS0+dWFw aSk7Cj4gPiAgCj4gPiBAQCAtMTc0MTksNiArMTc0NzEsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9t b2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICAJCQkg KiBzZXQgYSBmbGFnIHRvIGluZGljYXRlIHRoYXQgYSBmdWxsIHJlY2FsY3VsYXRpb24gaXMKPiA+ ICAJCQkgKiBuZWVkZWQgb24gdGhlIG5leHQgY29tbWl0Lgo+ID4gIAkJCSAqLwo+ID4gKwkJCWNy dGNfc3RhdGUtPmh3Lm1vZGUgPSBjcnRjLT5iYXNlLm1vZGU7Cj4gPiAgCQkJY3J0Y19zdGF0ZS0+ aHcubW9kZS5wcml2YXRlX2ZsYWdzID0gSTkxNV9NT0RFX0ZMQUdfSU5IRVJJVEVEOwo+ID4gIAo+ ID4gIAkJCWludGVsX2NydGNfY29tcHV0ZV9waXhlbF9yYXRlKGNydGNfc3RhdGUpOwo+ID4gQEAg LTE3NDY3LDYgKzE3NTIwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3 X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiAgCj4gPiAgCQlpbnRlbF9id19jcnRj X3VwZGF0ZShid19zdGF0ZSwgY3J0Y19zdGF0ZSk7Cj4gPiAgCj4gPiArCQlpbnRlbF9jcnRjX2Nv cHlfaHdfdG9fdWFwaV9zdGF0ZShjcnRjX3N0YXRlKTsKPiA+ICAJCWludGVsX3BpcGVfY29uZmln X3Nhbml0eV9jaGVjayhkZXZfcHJpdiwgY3J0Y19zdGF0ZSk7Cj4gPiAgCX0KPiA+ICB9Cj4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5 cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMu aAo+ID4gaW5kZXggNTczY2VkOWRjOTA5Li5iY2Y1Zjc2NDAzMDcgMTAwNjQ0Cj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPiA+ IEBAIC03NTcsOCArNzU3LDYgQEAgZW51bSBpbnRlbF9vdXRwdXRfZm9ybWF0IHsKPiA+ICB9Owo+ ID4gIAo+ID4gIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKPiA+IC0JdW5pb24gewo+ID4gLQlz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgYmFzZTsKPiA+ICAJLyoKPiA+ICAJICogdWFwaSAoZHJtKSBz dGF0ZS4gVGhpcyBpcyB0aGUgc29mdHdhcmUgc3RhdGUgc2hvd24gdG8gdXNlcnNwYWNlLgo+ID4g IAkgKiBJbiBwYXJ0aWN1bGFyLCB0aGUgZm9sbG93aW5nIG1lbWJlcnMgYXJlIHVzZWQgZm9yIGJv b2trZWVwaW5nOgo+ID4gQEAgLTc4MSw4ICs3NzksMTEgQEAgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgewo+ID4gIAkgKgo+ID4gIAkgKiBEdXJpbmcgaW5pdGlhbCBodyByZWFkb3V0LCB0aGV5IG5l ZWQgdG8gYmUgY29waWVkIHRvIHVhcGkuCj4gPiAgCSAqLwo+ID4gLQlzdHJ1Y3QgZHJtX2NydGNf c3RhdGUgaHc7Cj4gPiAtCX07Cj4gPiArCXN0cnVjdCB7Cj4gPiArCQlib29sIGFjdGl2ZSwgZW5h YmxlOwo+ID4gKwkJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpkZWdhbW1hX2x1dCwgKmdhbW1h X2x1dCwgKmN0bTsKPiA+ICsJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIG1vZGUsIGFkanVzdGVk X21vZGU7Cj4gPiArCX0gaHc7Cj4gPiAgCj4gPiAgCS8qKgo+ID4gIAkgKiBxdWlya3MgLSBiaXRm aWVsZCB3aXRoIGh3IHN0YXRlIHJlYWRvdXQgcXVpcmtzCj4gPiAtLSAKPiA+IDIuMjMuMAo+ID4g Cj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4g SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngKPiAKPiAtLSAKPiBWaWxsZSBTeXJqw6Rsw6QKPiBJbnRlbAoKLS0gClZpbGxlIFN5cmrD pGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=