From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 08/14] drm/i915: Complete crtc hw/uapi split, v3. Date: Fri, 25 Oct 2019 13:13:41 +0300 Message-ID: <20191025101341.GE1208@intel.com> References: <20191024124805.26840-1-maarten.lankhorst@linux.intel.com> <20191024124805.26840-8-maarten.lankhorst@linux.intel.com> <20191024152150.GD1208@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id E12226E965 for ; Fri, 25 Oct 2019 10:13:44 +0000 (UTC) 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: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBPY3QgMjUsIDIwMTkgYXQgMTE6MDA6MDZBTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gT3AgMjQtMTAtMjAxOSBvbSAxNzoyMSBzY2hyZWVmIFZpbGxlIFN5cmrDpGzD pDoKPiA+IE9uIFRodSwgT2N0IDI0LCAyMDE5IGF0IDAyOjQ3OjU5UE0gKzAyMDAsIE1hYXJ0ZW4g TGFua2hvcnN0IHdyb3RlOgo+ID4+IE5vdyB0aGF0IHdlIHNlcGFyYXRlZCBldmVyeXRoaW5nIGlu dG8gdWFwaSBhbmQgaHcsIGl0J3MKPiA+PiB0aW1lIHRvIG1ha2UgdGhlIHNwbGl0IGRlZmluaXRp dmUuIFJlbW92ZSB0aGUgdW5pb24gYW5kCj4gPj4gbWFrZSBhIGNvcHkgb2YgdGhlIGh3IHN0YXRl IG9uIG1vZGVzZXQgYW5kIGZhc3RzZXQuCj4gPj4KPiA+PiBDb2xvciBibG9icyBhcmUgY29waWVk IGluIGNydGMgYXRvbWljX2NoZWNrKCksIHJpZ2h0Cj4gPj4gYmVmb3JlIGNvbG9yIG1hbmFnZW1l bnQgaXMgY2hlY2tlZC4KPiA+Pgo+ID4+IENoYW5nZXMgc2luY2UgdjE6Cj4gPj4gLSBDb3B5IGFs bCBibG9icyBpbW1lZGlhdGVseSBhZnRlciBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19tb2Rlc2V0 KCkuCj4gPj4gLSBDbGVhciBjcnRjX3N0YXRlLT5odyBvbiBkaXNhYmxlLCBpbnN0ZWFkIG9mIHVz aW5nIGNsZWFyX2ludGVsX2NydGNfc3RhdGUoKS4KPiA+PiBDaGFuZ2VzIHNpbmNlIHYyOgo+ID4+ IC0gVXNlIGludGVsX2NydGNfZnJlZV9od19zdGF0ZSArIGNsZWFyIGluIGludGVsX2NydGNfZGlz YWJsZV9ub2F0b21pYygpLgo+ID4+IC0gTWFrZSBhIGludGVsX2NydGNfcHJlcGFyZV9zdGF0ZSgp IGZ1bmN0aW9uIHRoYXQgY2xlYXJzIHRoZSBjcnRjX3N0YXRlCj4gPj4gICBhbmQgY29waWVzIGh3 IG1lbWJlcnMuCj4gPj4gLSBSZW1vdmUgc2V0dGluZyB1YXBpLmFkanVzdGVkX21vZGUsIHdlIG5v dyBoYXZlIGEgZGlyZWN0IGNhbGwgdG8KPiA+PiAgIGRybV9jYWxjX3RpbWVzdGFtcGluZ19jb25z dGFudHMoKS4KPiA+Pgo+ID4+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFy dGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gPj4gLS0tCj4gPj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMgICB8IDQ0ICsrKysrKysrKysrKysrKwo+ ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5oICAgfCAgMiAr Cj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jICB8IDU2 ICsrKysrKysrKysrKysrKy0tLS0KPiA+PiAgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlz cGxheV90eXBlcy5oICAgIHwgIDkgKy0tCj4gPj4gIDQgZmlsZXMgY2hhbmdlZCwgOTUgaW5zZXJ0 aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCj4gPj4KPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMKPiA+PiBpbmRleCA3Y2YxM2I5YzdkMzguLjI2NmQwY2U5 ZDAzZCAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2F0b21pYy5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9h dG9taWMuYwo+ID4+IEBAIC0xOTUsNiArMTk1LDE0IEBAIGludGVsX2NydGNfZHVwbGljYXRlX3N0 YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiA+PiAgCj4gPj4gIAlfX2RybV9hdG9taWNfaGVs cGVyX2NydGNfZHVwbGljYXRlX3N0YXRlKGNydGMsICZjcnRjX3N0YXRlLT51YXBpKTsKPiA+PiAg Cj4gPj4gKwkvKiBjb3B5IGNvbG9yIGJsb2JzICovCj4gPj4gKwlpZiAoY3J0Y19zdGF0ZS0+aHcu ZGVnYW1tYV9sdXQpCj4gPj4gKwkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPmh3 LmRlZ2FtbWFfbHV0KTsKPiA+PiArCWlmIChjcnRjX3N0YXRlLT5ody5jdG0pCj4gPj4gKwkJZHJt X3Byb3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPmh3LmN0bSk7Cj4gPj4gKwlpZiAoY3J0Y19z dGF0ZS0+aHcuZ2FtbWFfbHV0KQo+ID4+ICsJCWRybV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0 YXRlLT5ody5nYW1tYV9sdXQpOwo+ID4+ICsKPiA+PiAgCWNydGNfc3RhdGUtPnVwZGF0ZV9waXBl ID0gZmFsc2U7Cj4gPj4gIAljcnRjX3N0YXRlLT5kaXNhYmxlX2xwX3dtID0gZmFsc2U7Cj4gPj4g IAljcnRjX3N0YXRlLT5kaXNhYmxlX2N4c3IgPSBmYWxzZTsKPiA+PiBAQCAtMjA4LDYgKzIxNiw0 MSBAQCBpbnRlbF9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4g Pj4gIAlyZXR1cm4gJmNydGNfc3RhdGUtPnVhcGk7Cj4gPj4gIH0KPiA+PiAgCj4gPj4gK3N0YXRp YyB2b2lkIGludGVsX2NydGNfcHV0X2NvbG9yX2Jsb2JzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQo+ID4+ICt7Cj4gPj4gKwlkcm1fcHJvcGVydHlfYmxvYl9wdXQoY3J0Y19z dGF0ZS0+aHcuZGVnYW1tYV9sdXQpOwo+ID4+ICsJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0KGNydGNf c3RhdGUtPmh3LmdhbW1hX2x1dCk7Cj4gPj4gKwlkcm1fcHJvcGVydHlfYmxvYl9wdXQoY3J0Y19z dGF0ZS0+aHcuY3RtKTsKPiA+PiArfQo+ID4+ICsKPiA+PiArdm9pZCBpbnRlbF9jcnRjX2ZyZWVf aHdfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPj4gK3sKPiA+ PiArCWludGVsX2NydGNfcHV0X2NvbG9yX2Jsb2JzKGNydGNfc3RhdGUpOwo+ID4+ICt9Cj4gPj4g Kwo+ID4+ICt2b2lkIGludGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+IFRoaXMgaXMgb25seSB1c2VkIGluIGludGVsX2Rpc3Bs YXkuYyBzbyBzaG91bGQgcGVyaGFwcyBsaXZlIHRoZXJlPwo+ID4KPiA+PiArewo+ID4+ICsJaW50 ZWxfY3J0Y19wdXRfY29sb3JfYmxvYnMoY3J0Y19zdGF0ZSk7Cj4gPj4gKwo+ID4+ICsJaWYgKGNy dGNfc3RhdGUtPnVhcGkuZGVnYW1tYV9sdXQpCj4gPj4gKwkJY3J0Y19zdGF0ZS0+aHcuZGVnYW1t YV9sdXQgPQo+ID4+ICsJCQlkcm1fcHJvcGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFwaS5k ZWdhbW1hX2x1dCk7Cj4gPj4gKwllbHNlCj4gPj4gKwkJY3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9s dXQgPSBOVUxMOwo+ID4+ICsKPiA+PiArCWlmIChjcnRjX3N0YXRlLT51YXBpLmdhbW1hX2x1dCkK PiA+PiArCQljcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQgPQo+ID4+ICsJCQlkcm1fcHJvcGVydHlf YmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFwaS5nYW1tYV9sdXQpOwo+ID4+ICsJZWxzZQo+ID4+ICsJ CWNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCA9IE5VTEw7Cj4gPj4gKwo+ID4+ICsJaWYgKGNydGNf c3RhdGUtPnVhcGkuY3RtKQo+ID4+ICsJCWNydGNfc3RhdGUtPmh3LmN0bSA9Cj4gPj4gKwkJCWRy bV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT51YXBpLmN0bSk7Cj4gPj4gKwllbHNlCj4g Pj4gKwkJY3J0Y19zdGF0ZS0+aHcuY3RtID0gTlVMTDsKPiA+PiArfQo+ID4+ICsKPiA+PiAgLyoq Cj4gPj4gICAqIGludGVsX2NydGNfZGVzdHJveV9zdGF0ZSAtIGRlc3Ryb3kgY3J0YyBzdGF0ZQo+ ID4+ICAgKiBAY3J0YzogZHJtIGNydGMKPiA+PiBAQCAtMjIzLDYgKzI2Niw3IEBAIGludGVsX2Ny dGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPj4gIAlzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoc3RhdGUpOwo+ ID4+ICAKPiA+PiAgCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZjcnRj X3N0YXRlLT51YXBpKTsKPiA+PiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRl KTsKPiA+PiAgCWtmcmVlKGNydGNfc3RhdGUpOwo+ID4+ICB9Cj4gPj4gIAo+ID4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuaAo+ID4+IGluZGV4IDU4MDY1ZDMx NjFhMy4uNDJiZTkxZTA3NzJhIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2F0b21pYy5oCj4gPj4gQEAgLTM1LDYgKzM1LDggQEAgaW50ZWxfZGlnaXRh bF9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpOwo+ID4+ICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmludGVsX2NydGNfZHVwbGljYXRlX3N0 YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gPj4gIHZvaWQgaW50ZWxfY3J0Y19kZXN0cm95 X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+PiAgCQkJICAgICAgIHN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqc3RhdGUpOwo+ID4+ICt2b2lkIGludGVsX2NydGNfZnJlZV9od19zdGF0ZShz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gPj4gK3ZvaWQgaW50ZWxfY3J0 Y19jb3B5X2NvbG9yX2Jsb2JzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsK PiA+PiAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKmludGVsX2F0b21pY19zdGF0ZV9hbGxvYyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+PiAgdm9pZCBpbnRlbF9hdG9taWNfc3RhdGVfY2xl YXIoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiA+PiAgCj4gPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiA+PiBpbmRleCAxMWRkN2Ex ODI1NDMuLjJkYmMxZGY5NTA1YSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gPj4gQEAgLTcxMTAsNiArNzExMCw4IEBAIHN0YXRp YyB2b2lkIGludGVsX2NydGNfZGlzYWJsZV9ub2F0b21pYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMs Cj4gPj4gIAljcnRjLT5lbmFibGVkID0gZmFsc2U7Cj4gPj4gIAljcnRjLT5zdGF0ZS0+Y29ubmVj dG9yX21hc2sgPSAwOwo+ID4+ICAJY3J0Yy0+c3RhdGUtPmVuY29kZXJfbWFzayA9IDA7Cj4gPj4g KwlpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUoY3J0Y19zdGF0ZSk7Cj4gPj4gKwltZW1zZXQoJmNy dGNfc3RhdGUtPmh3LCAwLCBzaXplb2YoY3J0Y19zdGF0ZS0+aHcpKTsKPiA+PiAgCj4gPj4gIAlm b3JfZWFjaF9lbmNvZGVyX29uX2NydGMoY3J0Yy0+ZGV2LCBjcnRjLCBlbmNvZGVyKQo+ID4+ICAJ CWVuY29kZXItPmJhc2UuY3J0YyA9IE5VTEw7Cj4gPj4gQEAgLTEyNDgyLDIyICsxMjQ4NCw1MCBA QCBzdGF0aWMgYm9vbCBjaGVja19kaWdpdGFsX3BvcnRfY29uZmxpY3RzKHN0cnVjdCBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlKQo+ID4+ICAJcmV0dXJuIHJldDsKPiA+PiAgfQo+ID4+ICAKPiA+ PiArc3RhdGljIHZvaWQKPiA+PiAraW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGUoc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPj4gK3sKPiA+PiArCWNydGNfc3Rh dGUtPmh3LmVuYWJsZSA9IGNydGNfc3RhdGUtPnVhcGkuZW5hYmxlOwo+ID4+ICsJY3J0Y19zdGF0 ZS0+aHcuYWN0aXZlID0gY3J0Y19zdGF0ZS0+dWFwaS5hY3RpdmU7Cj4gPj4gKwljcnRjX3N0YXRl LT5ody5tb2RlID0gY3J0Y19zdGF0ZS0+dWFwaS5tb2RlOwo+ID4+ICsJY3J0Y19zdGF0ZS0+aHcu YWRqdXN0ZWRfbW9kZSA9IGNydGNfc3RhdGUtPnVhcGkuYWRqdXN0ZWRfbW9kZTsKPiA+PiArCWlu dGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhjcnRjX3N0YXRlKTsKPiA+PiArfQo+ID4+ICsKPiA+ PiArc3RhdGljIHZvaWQgY29weV9od190b191YXBpX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlKQo+ID4+ICt7Cj4gPj4gKwljcnRjX3N0YXRlLT51YXBpLmVuYWJsZSA9 IGNydGNfc3RhdGUtPmh3LmVuYWJsZTsKPiA+PiArCWNydGNfc3RhdGUtPnVhcGkuYWN0aXZlID0g Y3J0Y19zdGF0ZS0+aHcuYWN0aXZlOwo+ID4+ICsJY3J0Y19zdGF0ZS0+dWFwaS5tb2RlID0gY3J0 Y19zdGF0ZS0+aHcubW9kZTsKPiA+PiArCWNydGNfc3RhdGUtPnVhcGkuYWRqdXN0ZWRfbW9kZSA9 IGNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGU7Cj4gPiBXaHkgYXJlIHdlIG5vdCBjb3B5aW5n IHRoZSBjb2xvciBibG9icz8KPiAKPiBIbW0sIHdlIHByb2JhYmx5IHNob3VsZCBhdCBsZWFzdCBj b3B5IHRoZSBnYW1tYSBibG9iLCBidXQgcHJvYmFibHkgYWxsLiA6KQo+IAo+IE1pc3NlZCB0aGF0 IGJlY2F1c2UgdGhpcyBwYXRjaCBsaW5nZXJlZCBvbiB0aGUgbWwgZm9yIHNvIGxvbmcgd2UgYWRk ZWQgaHcgcmVhZG91dCBpbiB0aGUgbWVhbiB0aW1lLgo+IAo+ID4KPiA+PiArfQo+ID4+ICsKPiA+ PiAgc3RhdGljIGludAo+ID4+IC1jbGVhcl9pbnRlbF9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4+ICtpbnRlbF9jcnRjX3ByZXBhcmVfc3RhdGUoc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiBIbW0uIEkgd2FzIGhvcGluZyB3 ZSBjb3VsZCBtYWtlIHRoaXMgZXZlbiBzaW1wbGVyLCBidXQgbWF5YmUgSSdtIGEgYml0Cj4gPiBu YWl2ZS4gSSBndWVzcyB3ZSByZWFsbHkgZG8gbmVlZCB0byBjb25zaWRlciBuZWVkc19tb2Rlc2V0 KCkgc28gYXMgdG8KPiA+IG5vdCBjbG9iYmVyIHRoZSBhbHJlYWR5IGNvbXB1dGVkIGh3IHN0YXRl IHdoZW4gd2UncmUgbm90IGdvaW5nIHRvIHRha2UKPiA+IHRoZSBmdWxsIC5jb21wdXRlX2NvbmZp ZygpIHBhdGguCj4gPgo+ID4+ICB7Cj4gPj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPQo+ID4+ICAJCXRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwo+ID4+ ICAJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnNhdmVkX3N0YXRlOwo+ID4+ICAKPiA+PiArCWlm ICghbmVlZHNfbW9kZXNldChjcnRjX3N0YXRlKSkgewo+ID4+ICsJCS8qIE9ubHkgbmVlZCB0byB1 cGRhdGUgY3J0Y19zdGF0ZS0+aHcgY29sb3IgYmxvYnMgKi8KPiA+IFRoYXQgY29tbWVudCBpcyBs aWtlbHkgdG8gZ2V0IG91dCBvZiBkYXRlLiBOb3Qgc3VyZSBob3cgdG8gd29yZCBpdCBpbiBhCj4g PiBuaWNlIHdheSB0aG91Z2guIEVzc2VudGlhbGx5IHdlIGp1c3Qgd2FudCB0byBjb3B5IHRoZSBw YXJ0IG9mIHRoZSBzdGF0ZQo+ID4gdGhhdCBkb2Vzbid0IGNsb2JiZXIgYW55dGhpbmcgc2V0IHVw IGJ5IC5jb21wdXRlX2NvbmZpZygpICYgY28uCj4gPgo+ID4gSXQgd291bGQgYmUgbmljZSBpZiB3 ZSBoYWQgdGhlIHNhbWUgbGV2ZWwgb2YgYWJzdHJhY3Rpb24gZm9yIHRoaXMgY2FzZQo+ID4gYXMg Zm9yIHRoZSBmdWxsIG1vZGVzZXQgY2FzZS4gRWcuIGludGVsX2NydGNfY29weV9od19zdGF0ZV9u b25fbW9kZXNldCgpCj4gPiBvciBzb21ldGhpbmcuIEEgYml0IHVnbHkgdGhhdCBuYW1lIHRob3Vn aC4gTWlnaHQgaGF2ZSB0aGluayBvZiBzb21ldGhpbmcKPiA+IGJldHRlci4KPiA+Cj4gPiBBbm90 aGVyIHRoaW5nIHRoYXQncyBhIGJpdCBjb25mdXNpbmcgaXMgdGhhdCB3ZSBuZWVkIHRvIGRvIHRo ZQo+ID4gaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRlKCkgZm9yIHRoZSBmdWxsIG1vZGVzZXQgcGF0 aCwgYnV0IHdlIGRvbid0Cj4gPiBuZWVkIGl0IGZvciB0aGUgbm9uLW1vZGVzZXQgcGF0aC4gV291 bGQgYmUgbmljZSBpdCB0aGUgdHdvIHBhdGhzCj4gPiBiZWhhdmVkIG1vcmUgdW5pZm9ybWx5LiAK PiBXZSdkIGhhdmUgdG8gZ2V0IHJpZCBvZiB0aGUgY3J0Y19zdGF0ZSBjbGVhcmluZyBmb3IgdGhh dC4gOigKCkkgd2FzIGp1c3QgdGhpbmtpbmcgd2UnZCBoYXZlIHNvbWV0aGluZyBsaWtlOgpjcnRj X3N0YXRlX2ZyZWVfbGl0ZSgpICsgY3J0Y19zdGF0ZV9jb3B5X2xpdGUoKQphbmQKY3J0Y19zdGF0 ZV9mcmVlX2Z1bGwoKSArIGNydGNfc3RhdGVfY29weV9mdWxsKCkKCldpdGggYmV0dGVyIG5hbWVz IHByb2JhYmx5IDopCgpUaGVuIGJvdGggcGF0aHMgd291bGQgZG8gdGhlIHNhbWUga2luZCBvZiBm cmVlK2NvcHkgYW5kIHRoZSByZWFkZXIKd291bGRuJ3QgaGF2ZSB0byB3b25kZXIgd2h5IHRoZXkg bG9vayBzbyBkaWZmZXJlbnQuCgo+ID4+ICsJCWludGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhj cnRjX3N0YXRlKTsKPiA+PiArCQlyZXR1cm4gMDsKPiA+PiArCX0KPiA+PiArCj4gPj4gIAlzYXZl ZF9zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpzYXZlZF9zdGF0ZSksIEdGUF9LRVJORUwpOwo+ID4+ ICAJaWYgKCFzYXZlZF9zdGF0ZSkKPiA+PiAgCQlyZXR1cm4gLUVOT01FTTsKPiA+PiAgCj4gPj4g KwkvKiBmcmVlIHRoZSBvbGQgY3J0Y19zdGF0ZS0+aHcgbWVtYmVycyAqLwo+ID4+ICsJaW50ZWxf Y3J0Y19mcmVlX2h3X3N0YXRlKGNydGNfc3RhdGUpOwo+ID4+ICsKPiA+PiAgCS8qIEZJWE1FOiBi ZWZvcmUgdGhlIHN3aXRjaCB0byBhdG9taWMgc3RhcnRlZCwgYSBuZXcgcGlwZV9jb25maWcgd2Fz Cj4gPj4gIAkgKiBremFsbG9jJ2QuIENvZGUgdGhhdCBkZXBlbmRzIG9uIGFueSBmaWVsZCBiZWlu ZyB6ZXJvIHNob3VsZCBiZQo+ID4+ICAJICogZml4ZWQsIHNvIHRoYXQgdGhlIGNydGNfc3RhdGUg Y2FuIGJlIHNhZmVseSBkdXBsaWNhdGVkLiBGb3Igbm93LAo+ID4+ICAJICogb25seSBmaWVsZHMg dGhhdCBhcmUga25vdyB0byBub3QgY2F1c2UgcHJvYmxlbXMgYXJlIHByZXNlcnZlZC4gKi8KPiA+ PiAgCj4gPj4gKwlzYXZlZF9zdGF0ZS0+dWFwaSA9IGNydGNfc3RhdGUtPnVhcGk7Cj4gPj4gIAlz YXZlZF9zdGF0ZS0+c2NhbGVyX3N0YXRlID0gY3J0Y19zdGF0ZS0+c2NhbGVyX3N0YXRlOwo+ID4+ ICAJc2F2ZWRfc3RhdGUtPnNoYXJlZF9kcGxsID0gY3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGw7Cj4g Pj4gIAlzYXZlZF9zdGF0ZS0+ZHBsbF9od19zdGF0ZSA9IGNydGNfc3RhdGUtPmRwbGxfaHdfc3Rh dGU7Cj4gPj4gQEAgLTEyNTE1LDE0ICsxMjU0NSwxMSBAQCBjbGVhcl9pbnRlbF9jcnRjX3N0YXRl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4+ICAJCXNhdmVkX3N0YXRl LT5zeW5jX21vZGVfc2xhdmVzX21hc2sgPQo+ID4+ICAJCQljcnRjX3N0YXRlLT5zeW5jX21vZGVf c2xhdmVzX21hc2s7Cj4gPj4gIAo+ID4+IC0JLyogS2VlcCBiYXNlIGRybV9jcnRjX3N0YXRlIGlu dGFjdCwgb25seSBjbGVhciBvdXIgZXh0ZW5kZWQgc3RydWN0ICovCj4gPj4gLQlCVUlMRF9CVUdf T04ob2Zmc2V0b2Yoc3RydWN0IGludGVsX2NydGNfc3RhdGUsIGJhc2UpKTsKPiA+PiAtCUJVSUxE X0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSwgdWFwaSkpOwo+ID4+IC0J QlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlLCBodykpOwo+ID4+ IC0JbWVtY3B5KCZjcnRjX3N0YXRlLT51YXBpICsgMSwgJnNhdmVkX3N0YXRlLT51YXBpICsgMSwK PiA+PiAtCSAgICAgICBzaXplb2YoKmNydGNfc3RhdGUpIC0gc2l6ZW9mKGNydGNfc3RhdGUtPnVh cGkpKTsKPiA+PiAtCj4gPj4gKwltZW1jcHkoY3J0Y19zdGF0ZSwgc2F2ZWRfc3RhdGUsIHNpemVv ZigqY3J0Y19zdGF0ZSkpOwo+ID4+ICAJa2ZyZWUoc2F2ZWRfc3RhdGUpOwo+ID4+ICsKPiA+PiAr CWludGVsX2NydGNfY29weV91YXBpX3RvX2h3X3N0YXRlKGNydGNfc3RhdGUpOwo+ID4+ICsKPiA+ PiAgCXJldHVybiAwOwo+ID4+ICB9Cj4gPj4gIAo+ID4+IEBAIC0xMjUzOCwxMCArMTI1NjUsNiBA QCBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBl X2NvbmZpZykKPiA+PiAgCWludCBpOwo+ID4+ICAJYm9vbCByZXRyeSA9IHRydWU7Cj4gPj4gIAo+ ID4+IC0JcmV0ID0gY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShwaXBlX2NvbmZpZyk7Cj4gPj4gLQlp ZiAocmV0KQo+ID4+IC0JCXJldHVybiByZXQ7Cj4gPj4gLQo+ID4+ICAJcGlwZV9jb25maWctPmNw dV90cmFuc2NvZGVyID0KPiA+PiAgCQkoZW51bSB0cmFuc2NvZGVyKSB0b19pbnRlbF9jcnRjKGNy dGMpLT5waXBlOwo+ID4+ICAKPiA+PiBAQCAtMTMzNjEsNiArMTMzODQsOCBAQCB2ZXJpZnlfY3J0 Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiA+PiAgCj4gPj4gIAlzdGF0ZSA9IG9s ZF9jcnRjX3N0YXRlLT51YXBpLnN0YXRlOwo+ID4+ICAJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRj X2Rlc3Ryb3lfc3RhdGUoJm9sZF9jcnRjX3N0YXRlLT51YXBpKTsKPiA+PiArCWludGVsX2NydGNf ZnJlZV9od19zdGF0ZShvbGRfY3J0Y19zdGF0ZSk7Cj4gPj4gKwo+ID4+ICAJcGlwZV9jb25maWcg PSBvbGRfY3J0Y19zdGF0ZTsKPiA+PiAgCW1lbXNldChwaXBlX2NvbmZpZywgMCwgc2l6ZW9mKCpw aXBlX2NvbmZpZykpOwo+ID4+ICAJcGlwZV9jb25maWctPnVhcGkuY3J0YyA9ICZjcnRjLT5iYXNl Owo+ID4+IEBAIC0xMzgyMyw2ICsxMzg0OCwxMCBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19j aGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4+ICAKPiA+PiAgCWZvcl9lYWNoX29sZG5l d19pbnRlbF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwKPiA+PiAg CQkJCQkgICAgbmV3X2NydGNfc3RhdGUsIGkpIHsKPiA+PiArCQlyZXQgPSBpbnRlbF9jcnRjX3By ZXBhcmVfc3RhdGUobmV3X2NydGNfc3RhdGUpOwo+ID4+ICsJCWlmIChyZXQpCj4gPj4gKwkJCXJl dHVybiByZXQ7Cj4gPiBJIGhhdmUgYSBmZWVsaW5nIHRoaXMgc2hvdWxkIGJlIGl0cyBvd24gbG9v cCBpbiBjYXNlIHdlIG5lZWQKPiA+IHRvIGluc2VydCBnbG9iYWwgc3R1ZmYgYWZ0ZXIgdGhpcy4K PiA+Cj4gPiBGb3IgZXhhbXBsZSwgSSB0aGluayB0aGUgcG9ydCBzeW5jIHN0dWZmIHNob3VsZCBi ZSB0aGVyZSBidXQKPiA+IEkgY2FuJ3Qgc2VlIGl0IG5vdy4gQWgsIGZvciBzb21lIHJlYXNvbiBp dCdzIGJ1cmllZCBkZWVwIGluc2lkZQo+ID4gaW50ZWxfbW9kZXNldF9waXBlX2NvbmZpZygpIHdo aWNoIHNlZW1zIHdyb25nLiBJZiBhbnkgKG9yIGF0Cj4gPiBsZWFzdCB0aGUgbWFzdGVyKSBvZiB0 aGUgZ2VubG9ja2VkIHBpcGVzIGRvZXMgYSBmdWxsIG1vZGVzZXQKPiA+IHdlIG5lZWQgdG8gZG8g YSBmdWxsIG1vZGVzZXQgb24gYWxsIG9mIHRoZW0sIHdoaWNoIHNob3VsZCBhbHNvCj4gPiBtZWFu IGEgZnVsbCAuY29tcHV0ZV9jb25maWcoKSBvbiBldmVyeXRoaW5nLgo+ID4KPiA+IEhtbS4gQW5k IGlmIHdlIGRvIHRoYXQgdGhlbiBjb21iaW5pbmcgdGhlIHVhcGktPmh3IGNvcHkgYW5kCj4gPiBj bGVhcl9pbnRlbF9jcnRjX3N0YXRlKCkgbGlrZSB0aGlzIGlzIG5vdCBnb2luZyB0byB3b3JrLgo+ IEdlbmxvY2sgd291bGQgYmUgbWVzc3kgZWl0aGVyIHdheSwgd2l0aCBmYXN0c2V0IHZzIG1vZGVz ZXQuIEl0IHdvdWxkIG5lZWQgaXRzIG93biBzZWNvbmQgbG9vcCB0byBoYW5kbGUgY29ycmVjdGx5 LgoKSG1tLiBZZWFoLCB0aGlzIGZhc3RzZXQgdnMuIHBvcnQgc3luYyBpcyBwYXJ0aWN1bGFybHkg dHJvdWJsZXNvbWUKYmVjYXVzZSB3ZSBub3cgY29weSBzb21lIHN0YXRlIGJhY2sgZnJvbSB0aGUg b2xkIHN0YXRlLgoKTm90IHJlYWxseSBzdXJlIHdoYXQgdG8gZG8gYWJvdXQgdGhhdCBvdGhlciB0 aGFuOgphKSBkb24ndCBkbyBmYXN0c2V0IHdpdGggcG9ydCBzeW5jICh3b3VsZCBiZSBhIHNoYW1l KQpiKSByZWRvIC5jb21wdXRlX2NvbmZpZygpIGZvciBhbGwgdGlsZXMgaWYgYXQgbGVhc3Qgb25l IG9mCiAgIHRoZW0gc3RpbGwgaW5zaXN0cyBvbiBhIGZ1bGwgbW9kZXNldCBhZnRlciBhbGwgaGF2 ZSBnb25lCiAgIHRocm91Z2ggdGhlIGZhc3RzZXQgY2hlY2sgKGEgYml0IHl1Y2t5KQpjKSBjb3B5 IGV2ZW4gbW9yZSBzdGF0ZSB0byBtYWtlIHN1cmUgaXQncyBhbGwgdG90YWxseSBjb25zaXN0ZW50 CiAgIChzaG91bGQgcmVhbGx5IGRvIHRoaXMgYW55d2F5KSwgYW5kIHRoZW4ganVzdCBmb3JjZSBh IG1vZGVzZXQKICAgb24gYWxsIHRpbGVzIGlmIG9uZSBuZWVkcyBpdCBidXQgd2l0aG91dCByZWRv aW5nIGFueQogICAuY29tcHV0ZV9jb25maWcoKSBzdHVmZiAoaWUuIGRvIHRoZSBtb2Rlc2V0IHdp dGggdGhlIGZhc3RzZXQKICAgYWRqdXN0ZWQgc3RhdGUpCgpJIG1heWJlIGxpa2UgYykgYmVzdC4g Yikgd291bGQgcGVyaGFwcyBhbGxvdyB1cyB0byBub3QgZG8gYW55IHBvcnQgc3luYwp0aGluZ3Mg YmVmb3JlIHRoZSAuY29tcHV0ZV9jb25maWcoKSBsb29wIHNpbmNlIHdlJ2QgcmVkbyBpdCBhbnl3 YXkgaWYKYW55dGhpbmcgYWZmZWN0ZWQgbmVkcyBhIG1vZGVzZXQuIEJ1dCBoYXZpbmcgYSByZXRy eSBsb29wIHdvdWxkIGJlIGEKbGl0dGxlIGFubm95aW5nLiBBbHRob3VnaCB3ZSdyZSBnb2luZyB0 byBuZWVkIHNvbWUga2luZCBvZiByZXRyeSBsb29wCmZvciBlZy4gTVNUIGJhbmR3aWR0aCB2cy4g YnBjIHN0dWZmIGFueXdheS4KCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 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 6FBA4CA9EA0 for ; Fri, 25 Oct 2019 10:13:46 +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 4BFAB20578 for ; Fri, 25 Oct 2019 10:13:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4BFAB20578 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 D75006E965; Fri, 25 Oct 2019 10:13:45 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id E12226E965 for ; Fri, 25 Oct 2019 10:13:44 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Oct 2019 03:13:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,228,1569308400"; d="scan'208";a="197391550" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga008.fm.intel.com with SMTP; 25 Oct 2019 03:13:41 -0700 Received: by stinkbox (sSMTP sendmail emulation); Fri, 25 Oct 2019 13:13:41 +0300 Date: Fri, 25 Oct 2019 13:13:41 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Maarten Lankhorst Message-ID: <20191025101341.GE1208@intel.com> References: <20191024124805.26840-1-maarten.lankhorst@linux.intel.com> <20191024124805.26840-8-maarten.lankhorst@linux.intel.com> <20191024152150.GD1208@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [Intel-gfx] [PATCH 08/14] drm/i915: Complete crtc hw/uapi split, v3. 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: <20191025101341.R1bKiH-omymbEp94aqYT5L3xKlkgg-M4bHCHsEOmyew@z> T24gRnJpLCBPY3QgMjUsIDIwMTkgYXQgMTE6MDA6MDZBTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gT3AgMjQtMTAtMjAxOSBvbSAxNzoyMSBzY2hyZWVmIFZpbGxlIFN5cmrDpGzD pDoKPiA+IE9uIFRodSwgT2N0IDI0LCAyMDE5IGF0IDAyOjQ3OjU5UE0gKzAyMDAsIE1hYXJ0ZW4g TGFua2hvcnN0IHdyb3RlOgo+ID4+IE5vdyB0aGF0IHdlIHNlcGFyYXRlZCBldmVyeXRoaW5nIGlu dG8gdWFwaSBhbmQgaHcsIGl0J3MKPiA+PiB0aW1lIHRvIG1ha2UgdGhlIHNwbGl0IGRlZmluaXRp dmUuIFJlbW92ZSB0aGUgdW5pb24gYW5kCj4gPj4gbWFrZSBhIGNvcHkgb2YgdGhlIGh3IHN0YXRl IG9uIG1vZGVzZXQgYW5kIGZhc3RzZXQuCj4gPj4KPiA+PiBDb2xvciBibG9icyBhcmUgY29waWVk IGluIGNydGMgYXRvbWljX2NoZWNrKCksIHJpZ2h0Cj4gPj4gYmVmb3JlIGNvbG9yIG1hbmFnZW1l bnQgaXMgY2hlY2tlZC4KPiA+Pgo+ID4+IENoYW5nZXMgc2luY2UgdjE6Cj4gPj4gLSBDb3B5IGFs bCBibG9icyBpbW1lZGlhdGVseSBhZnRlciBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19tb2Rlc2V0 KCkuCj4gPj4gLSBDbGVhciBjcnRjX3N0YXRlLT5odyBvbiBkaXNhYmxlLCBpbnN0ZWFkIG9mIHVz aW5nIGNsZWFyX2ludGVsX2NydGNfc3RhdGUoKS4KPiA+PiBDaGFuZ2VzIHNpbmNlIHYyOgo+ID4+ IC0gVXNlIGludGVsX2NydGNfZnJlZV9od19zdGF0ZSArIGNsZWFyIGluIGludGVsX2NydGNfZGlz YWJsZV9ub2F0b21pYygpLgo+ID4+IC0gTWFrZSBhIGludGVsX2NydGNfcHJlcGFyZV9zdGF0ZSgp IGZ1bmN0aW9uIHRoYXQgY2xlYXJzIHRoZSBjcnRjX3N0YXRlCj4gPj4gICBhbmQgY29waWVzIGh3 IG1lbWJlcnMuCj4gPj4gLSBSZW1vdmUgc2V0dGluZyB1YXBpLmFkanVzdGVkX21vZGUsIHdlIG5v dyBoYXZlIGEgZGlyZWN0IGNhbGwgdG8KPiA+PiAgIGRybV9jYWxjX3RpbWVzdGFtcGluZ19jb25z dGFudHMoKS4KPiA+Pgo+ID4+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFy dGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gPj4gLS0tCj4gPj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMgICB8IDQ0ICsrKysrKysrKysrKysrKwo+ ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5oICAgfCAgMiAr Cj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jICB8IDU2 ICsrKysrKysrKysrKysrKy0tLS0KPiA+PiAgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlz cGxheV90eXBlcy5oICAgIHwgIDkgKy0tCj4gPj4gIDQgZmlsZXMgY2hhbmdlZCwgOTUgaW5zZXJ0 aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCj4gPj4KPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMKPiA+PiBpbmRleCA3Y2YxM2I5YzdkMzguLjI2NmQwY2U5 ZDAzZCAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2F0b21pYy5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9h dG9taWMuYwo+ID4+IEBAIC0xOTUsNiArMTk1LDE0IEBAIGludGVsX2NydGNfZHVwbGljYXRlX3N0 YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiA+PiAgCj4gPj4gIAlfX2RybV9hdG9taWNfaGVs cGVyX2NydGNfZHVwbGljYXRlX3N0YXRlKGNydGMsICZjcnRjX3N0YXRlLT51YXBpKTsKPiA+PiAg Cj4gPj4gKwkvKiBjb3B5IGNvbG9yIGJsb2JzICovCj4gPj4gKwlpZiAoY3J0Y19zdGF0ZS0+aHcu ZGVnYW1tYV9sdXQpCj4gPj4gKwkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPmh3 LmRlZ2FtbWFfbHV0KTsKPiA+PiArCWlmIChjcnRjX3N0YXRlLT5ody5jdG0pCj4gPj4gKwkJZHJt X3Byb3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPmh3LmN0bSk7Cj4gPj4gKwlpZiAoY3J0Y19z dGF0ZS0+aHcuZ2FtbWFfbHV0KQo+ID4+ICsJCWRybV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0 YXRlLT5ody5nYW1tYV9sdXQpOwo+ID4+ICsKPiA+PiAgCWNydGNfc3RhdGUtPnVwZGF0ZV9waXBl ID0gZmFsc2U7Cj4gPj4gIAljcnRjX3N0YXRlLT5kaXNhYmxlX2xwX3dtID0gZmFsc2U7Cj4gPj4g IAljcnRjX3N0YXRlLT5kaXNhYmxlX2N4c3IgPSBmYWxzZTsKPiA+PiBAQCAtMjA4LDYgKzIxNiw0 MSBAQCBpbnRlbF9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4g Pj4gIAlyZXR1cm4gJmNydGNfc3RhdGUtPnVhcGk7Cj4gPj4gIH0KPiA+PiAgCj4gPj4gK3N0YXRp YyB2b2lkIGludGVsX2NydGNfcHV0X2NvbG9yX2Jsb2JzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQo+ID4+ICt7Cj4gPj4gKwlkcm1fcHJvcGVydHlfYmxvYl9wdXQoY3J0Y19z dGF0ZS0+aHcuZGVnYW1tYV9sdXQpOwo+ID4+ICsJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0KGNydGNf c3RhdGUtPmh3LmdhbW1hX2x1dCk7Cj4gPj4gKwlkcm1fcHJvcGVydHlfYmxvYl9wdXQoY3J0Y19z dGF0ZS0+aHcuY3RtKTsKPiA+PiArfQo+ID4+ICsKPiA+PiArdm9pZCBpbnRlbF9jcnRjX2ZyZWVf aHdfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPj4gK3sKPiA+ PiArCWludGVsX2NydGNfcHV0X2NvbG9yX2Jsb2JzKGNydGNfc3RhdGUpOwo+ID4+ICt9Cj4gPj4g Kwo+ID4+ICt2b2lkIGludGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+IFRoaXMgaXMgb25seSB1c2VkIGluIGludGVsX2Rpc3Bs YXkuYyBzbyBzaG91bGQgcGVyaGFwcyBsaXZlIHRoZXJlPwo+ID4KPiA+PiArewo+ID4+ICsJaW50 ZWxfY3J0Y19wdXRfY29sb3JfYmxvYnMoY3J0Y19zdGF0ZSk7Cj4gPj4gKwo+ID4+ICsJaWYgKGNy dGNfc3RhdGUtPnVhcGkuZGVnYW1tYV9sdXQpCj4gPj4gKwkJY3J0Y19zdGF0ZS0+aHcuZGVnYW1t YV9sdXQgPQo+ID4+ICsJCQlkcm1fcHJvcGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFwaS5k ZWdhbW1hX2x1dCk7Cj4gPj4gKwllbHNlCj4gPj4gKwkJY3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9s dXQgPSBOVUxMOwo+ID4+ICsKPiA+PiArCWlmIChjcnRjX3N0YXRlLT51YXBpLmdhbW1hX2x1dCkK PiA+PiArCQljcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQgPQo+ID4+ICsJCQlkcm1fcHJvcGVydHlf YmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFwaS5nYW1tYV9sdXQpOwo+ID4+ICsJZWxzZQo+ID4+ICsJ CWNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCA9IE5VTEw7Cj4gPj4gKwo+ID4+ICsJaWYgKGNydGNf c3RhdGUtPnVhcGkuY3RtKQo+ID4+ICsJCWNydGNfc3RhdGUtPmh3LmN0bSA9Cj4gPj4gKwkJCWRy bV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT51YXBpLmN0bSk7Cj4gPj4gKwllbHNlCj4g Pj4gKwkJY3J0Y19zdGF0ZS0+aHcuY3RtID0gTlVMTDsKPiA+PiArfQo+ID4+ICsKPiA+PiAgLyoq Cj4gPj4gICAqIGludGVsX2NydGNfZGVzdHJveV9zdGF0ZSAtIGRlc3Ryb3kgY3J0YyBzdGF0ZQo+ ID4+ICAgKiBAY3J0YzogZHJtIGNydGMKPiA+PiBAQCAtMjIzLDYgKzI2Niw3IEBAIGludGVsX2Ny dGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPj4gIAlzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoc3RhdGUpOwo+ ID4+ICAKPiA+PiAgCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZjcnRj X3N0YXRlLT51YXBpKTsKPiA+PiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRl KTsKPiA+PiAgCWtmcmVlKGNydGNfc3RhdGUpOwo+ID4+ICB9Cj4gPj4gIAo+ID4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuaAo+ID4+IGluZGV4IDU4MDY1ZDMx NjFhMy4uNDJiZTkxZTA3NzJhIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2F0b21pYy5oCj4gPj4gQEAgLTM1LDYgKzM1LDggQEAgaW50ZWxfZGlnaXRh bF9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpOwo+ID4+ICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmludGVsX2NydGNfZHVwbGljYXRlX3N0 YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gPj4gIHZvaWQgaW50ZWxfY3J0Y19kZXN0cm95 X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+PiAgCQkJICAgICAgIHN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqc3RhdGUpOwo+ID4+ICt2b2lkIGludGVsX2NydGNfZnJlZV9od19zdGF0ZShz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gPj4gK3ZvaWQgaW50ZWxfY3J0 Y19jb3B5X2NvbG9yX2Jsb2JzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsK PiA+PiAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKmludGVsX2F0b21pY19zdGF0ZV9hbGxvYyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+PiAgdm9pZCBpbnRlbF9hdG9taWNfc3RhdGVfY2xl YXIoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiA+PiAgCj4gPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiA+PiBpbmRleCAxMWRkN2Ex ODI1NDMuLjJkYmMxZGY5NTA1YSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gPj4gQEAgLTcxMTAsNiArNzExMCw4IEBAIHN0YXRp YyB2b2lkIGludGVsX2NydGNfZGlzYWJsZV9ub2F0b21pYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMs Cj4gPj4gIAljcnRjLT5lbmFibGVkID0gZmFsc2U7Cj4gPj4gIAljcnRjLT5zdGF0ZS0+Y29ubmVj dG9yX21hc2sgPSAwOwo+ID4+ICAJY3J0Yy0+c3RhdGUtPmVuY29kZXJfbWFzayA9IDA7Cj4gPj4g KwlpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUoY3J0Y19zdGF0ZSk7Cj4gPj4gKwltZW1zZXQoJmNy dGNfc3RhdGUtPmh3LCAwLCBzaXplb2YoY3J0Y19zdGF0ZS0+aHcpKTsKPiA+PiAgCj4gPj4gIAlm b3JfZWFjaF9lbmNvZGVyX29uX2NydGMoY3J0Yy0+ZGV2LCBjcnRjLCBlbmNvZGVyKQo+ID4+ICAJ CWVuY29kZXItPmJhc2UuY3J0YyA9IE5VTEw7Cj4gPj4gQEAgLTEyNDgyLDIyICsxMjQ4NCw1MCBA QCBzdGF0aWMgYm9vbCBjaGVja19kaWdpdGFsX3BvcnRfY29uZmxpY3RzKHN0cnVjdCBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlKQo+ID4+ICAJcmV0dXJuIHJldDsKPiA+PiAgfQo+ID4+ICAKPiA+ PiArc3RhdGljIHZvaWQKPiA+PiAraW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGUoc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPj4gK3sKPiA+PiArCWNydGNfc3Rh dGUtPmh3LmVuYWJsZSA9IGNydGNfc3RhdGUtPnVhcGkuZW5hYmxlOwo+ID4+ICsJY3J0Y19zdGF0 ZS0+aHcuYWN0aXZlID0gY3J0Y19zdGF0ZS0+dWFwaS5hY3RpdmU7Cj4gPj4gKwljcnRjX3N0YXRl LT5ody5tb2RlID0gY3J0Y19zdGF0ZS0+dWFwaS5tb2RlOwo+ID4+ICsJY3J0Y19zdGF0ZS0+aHcu YWRqdXN0ZWRfbW9kZSA9IGNydGNfc3RhdGUtPnVhcGkuYWRqdXN0ZWRfbW9kZTsKPiA+PiArCWlu dGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhjcnRjX3N0YXRlKTsKPiA+PiArfQo+ID4+ICsKPiA+ PiArc3RhdGljIHZvaWQgY29weV9od190b191YXBpX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlKQo+ID4+ICt7Cj4gPj4gKwljcnRjX3N0YXRlLT51YXBpLmVuYWJsZSA9 IGNydGNfc3RhdGUtPmh3LmVuYWJsZTsKPiA+PiArCWNydGNfc3RhdGUtPnVhcGkuYWN0aXZlID0g Y3J0Y19zdGF0ZS0+aHcuYWN0aXZlOwo+ID4+ICsJY3J0Y19zdGF0ZS0+dWFwaS5tb2RlID0gY3J0 Y19zdGF0ZS0+aHcubW9kZTsKPiA+PiArCWNydGNfc3RhdGUtPnVhcGkuYWRqdXN0ZWRfbW9kZSA9 IGNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGU7Cj4gPiBXaHkgYXJlIHdlIG5vdCBjb3B5aW5n IHRoZSBjb2xvciBibG9icz8KPiAKPiBIbW0sIHdlIHByb2JhYmx5IHNob3VsZCBhdCBsZWFzdCBj b3B5IHRoZSBnYW1tYSBibG9iLCBidXQgcHJvYmFibHkgYWxsLiA6KQo+IAo+IE1pc3NlZCB0aGF0 IGJlY2F1c2UgdGhpcyBwYXRjaCBsaW5nZXJlZCBvbiB0aGUgbWwgZm9yIHNvIGxvbmcgd2UgYWRk ZWQgaHcgcmVhZG91dCBpbiB0aGUgbWVhbiB0aW1lLgo+IAo+ID4KPiA+PiArfQo+ID4+ICsKPiA+ PiAgc3RhdGljIGludAo+ID4+IC1jbGVhcl9pbnRlbF9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4+ICtpbnRlbF9jcnRjX3ByZXBhcmVfc3RhdGUoc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiBIbW0uIEkgd2FzIGhvcGluZyB3 ZSBjb3VsZCBtYWtlIHRoaXMgZXZlbiBzaW1wbGVyLCBidXQgbWF5YmUgSSdtIGEgYml0Cj4gPiBu YWl2ZS4gSSBndWVzcyB3ZSByZWFsbHkgZG8gbmVlZCB0byBjb25zaWRlciBuZWVkc19tb2Rlc2V0 KCkgc28gYXMgdG8KPiA+IG5vdCBjbG9iYmVyIHRoZSBhbHJlYWR5IGNvbXB1dGVkIGh3IHN0YXRl IHdoZW4gd2UncmUgbm90IGdvaW5nIHRvIHRha2UKPiA+IHRoZSBmdWxsIC5jb21wdXRlX2NvbmZp ZygpIHBhdGguCj4gPgo+ID4+ICB7Cj4gPj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPQo+ID4+ICAJCXRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwo+ID4+ ICAJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnNhdmVkX3N0YXRlOwo+ID4+ICAKPiA+PiArCWlm ICghbmVlZHNfbW9kZXNldChjcnRjX3N0YXRlKSkgewo+ID4+ICsJCS8qIE9ubHkgbmVlZCB0byB1 cGRhdGUgY3J0Y19zdGF0ZS0+aHcgY29sb3IgYmxvYnMgKi8KPiA+IFRoYXQgY29tbWVudCBpcyBs aWtlbHkgdG8gZ2V0IG91dCBvZiBkYXRlLiBOb3Qgc3VyZSBob3cgdG8gd29yZCBpdCBpbiBhCj4g PiBuaWNlIHdheSB0aG91Z2guIEVzc2VudGlhbGx5IHdlIGp1c3Qgd2FudCB0byBjb3B5IHRoZSBw YXJ0IG9mIHRoZSBzdGF0ZQo+ID4gdGhhdCBkb2Vzbid0IGNsb2JiZXIgYW55dGhpbmcgc2V0IHVw IGJ5IC5jb21wdXRlX2NvbmZpZygpICYgY28uCj4gPgo+ID4gSXQgd291bGQgYmUgbmljZSBpZiB3 ZSBoYWQgdGhlIHNhbWUgbGV2ZWwgb2YgYWJzdHJhY3Rpb24gZm9yIHRoaXMgY2FzZQo+ID4gYXMg Zm9yIHRoZSBmdWxsIG1vZGVzZXQgY2FzZS4gRWcuIGludGVsX2NydGNfY29weV9od19zdGF0ZV9u b25fbW9kZXNldCgpCj4gPiBvciBzb21ldGhpbmcuIEEgYml0IHVnbHkgdGhhdCBuYW1lIHRob3Vn aC4gTWlnaHQgaGF2ZSB0aGluayBvZiBzb21ldGhpbmcKPiA+IGJldHRlci4KPiA+Cj4gPiBBbm90 aGVyIHRoaW5nIHRoYXQncyBhIGJpdCBjb25mdXNpbmcgaXMgdGhhdCB3ZSBuZWVkIHRvIGRvIHRo ZQo+ID4gaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRlKCkgZm9yIHRoZSBmdWxsIG1vZGVzZXQgcGF0 aCwgYnV0IHdlIGRvbid0Cj4gPiBuZWVkIGl0IGZvciB0aGUgbm9uLW1vZGVzZXQgcGF0aC4gV291 bGQgYmUgbmljZSBpdCB0aGUgdHdvIHBhdGhzCj4gPiBiZWhhdmVkIG1vcmUgdW5pZm9ybWx5LiAK PiBXZSdkIGhhdmUgdG8gZ2V0IHJpZCBvZiB0aGUgY3J0Y19zdGF0ZSBjbGVhcmluZyBmb3IgdGhh dC4gOigKCkkgd2FzIGp1c3QgdGhpbmtpbmcgd2UnZCBoYXZlIHNvbWV0aGluZyBsaWtlOgpjcnRj X3N0YXRlX2ZyZWVfbGl0ZSgpICsgY3J0Y19zdGF0ZV9jb3B5X2xpdGUoKQphbmQKY3J0Y19zdGF0 ZV9mcmVlX2Z1bGwoKSArIGNydGNfc3RhdGVfY29weV9mdWxsKCkKCldpdGggYmV0dGVyIG5hbWVz IHByb2JhYmx5IDopCgpUaGVuIGJvdGggcGF0aHMgd291bGQgZG8gdGhlIHNhbWUga2luZCBvZiBm cmVlK2NvcHkgYW5kIHRoZSByZWFkZXIKd291bGRuJ3QgaGF2ZSB0byB3b25kZXIgd2h5IHRoZXkg bG9vayBzbyBkaWZmZXJlbnQuCgo+ID4+ICsJCWludGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhj cnRjX3N0YXRlKTsKPiA+PiArCQlyZXR1cm4gMDsKPiA+PiArCX0KPiA+PiArCj4gPj4gIAlzYXZl ZF9zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpzYXZlZF9zdGF0ZSksIEdGUF9LRVJORUwpOwo+ID4+ ICAJaWYgKCFzYXZlZF9zdGF0ZSkKPiA+PiAgCQlyZXR1cm4gLUVOT01FTTsKPiA+PiAgCj4gPj4g KwkvKiBmcmVlIHRoZSBvbGQgY3J0Y19zdGF0ZS0+aHcgbWVtYmVycyAqLwo+ID4+ICsJaW50ZWxf Y3J0Y19mcmVlX2h3X3N0YXRlKGNydGNfc3RhdGUpOwo+ID4+ICsKPiA+PiAgCS8qIEZJWE1FOiBi ZWZvcmUgdGhlIHN3aXRjaCB0byBhdG9taWMgc3RhcnRlZCwgYSBuZXcgcGlwZV9jb25maWcgd2Fz Cj4gPj4gIAkgKiBremFsbG9jJ2QuIENvZGUgdGhhdCBkZXBlbmRzIG9uIGFueSBmaWVsZCBiZWlu ZyB6ZXJvIHNob3VsZCBiZQo+ID4+ICAJICogZml4ZWQsIHNvIHRoYXQgdGhlIGNydGNfc3RhdGUg Y2FuIGJlIHNhZmVseSBkdXBsaWNhdGVkLiBGb3Igbm93LAo+ID4+ICAJICogb25seSBmaWVsZHMg dGhhdCBhcmUga25vdyB0byBub3QgY2F1c2UgcHJvYmxlbXMgYXJlIHByZXNlcnZlZC4gKi8KPiA+ PiAgCj4gPj4gKwlzYXZlZF9zdGF0ZS0+dWFwaSA9IGNydGNfc3RhdGUtPnVhcGk7Cj4gPj4gIAlz YXZlZF9zdGF0ZS0+c2NhbGVyX3N0YXRlID0gY3J0Y19zdGF0ZS0+c2NhbGVyX3N0YXRlOwo+ID4+ ICAJc2F2ZWRfc3RhdGUtPnNoYXJlZF9kcGxsID0gY3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGw7Cj4g Pj4gIAlzYXZlZF9zdGF0ZS0+ZHBsbF9od19zdGF0ZSA9IGNydGNfc3RhdGUtPmRwbGxfaHdfc3Rh dGU7Cj4gPj4gQEAgLTEyNTE1LDE0ICsxMjU0NSwxMSBAQCBjbGVhcl9pbnRlbF9jcnRjX3N0YXRl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4+ICAJCXNhdmVkX3N0YXRl LT5zeW5jX21vZGVfc2xhdmVzX21hc2sgPQo+ID4+ICAJCQljcnRjX3N0YXRlLT5zeW5jX21vZGVf c2xhdmVzX21hc2s7Cj4gPj4gIAo+ID4+IC0JLyogS2VlcCBiYXNlIGRybV9jcnRjX3N0YXRlIGlu dGFjdCwgb25seSBjbGVhciBvdXIgZXh0ZW5kZWQgc3RydWN0ICovCj4gPj4gLQlCVUlMRF9CVUdf T04ob2Zmc2V0b2Yoc3RydWN0IGludGVsX2NydGNfc3RhdGUsIGJhc2UpKTsKPiA+PiAtCUJVSUxE X0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSwgdWFwaSkpOwo+ID4+IC0J QlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlLCBodykpOwo+ID4+ IC0JbWVtY3B5KCZjcnRjX3N0YXRlLT51YXBpICsgMSwgJnNhdmVkX3N0YXRlLT51YXBpICsgMSwK PiA+PiAtCSAgICAgICBzaXplb2YoKmNydGNfc3RhdGUpIC0gc2l6ZW9mKGNydGNfc3RhdGUtPnVh cGkpKTsKPiA+PiAtCj4gPj4gKwltZW1jcHkoY3J0Y19zdGF0ZSwgc2F2ZWRfc3RhdGUsIHNpemVv ZigqY3J0Y19zdGF0ZSkpOwo+ID4+ICAJa2ZyZWUoc2F2ZWRfc3RhdGUpOwo+ID4+ICsKPiA+PiAr CWludGVsX2NydGNfY29weV91YXBpX3RvX2h3X3N0YXRlKGNydGNfc3RhdGUpOwo+ID4+ICsKPiA+ PiAgCXJldHVybiAwOwo+ID4+ICB9Cj4gPj4gIAo+ID4+IEBAIC0xMjUzOCwxMCArMTI1NjUsNiBA QCBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBl X2NvbmZpZykKPiA+PiAgCWludCBpOwo+ID4+ICAJYm9vbCByZXRyeSA9IHRydWU7Cj4gPj4gIAo+ ID4+IC0JcmV0ID0gY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShwaXBlX2NvbmZpZyk7Cj4gPj4gLQlp ZiAocmV0KQo+ID4+IC0JCXJldHVybiByZXQ7Cj4gPj4gLQo+ID4+ICAJcGlwZV9jb25maWctPmNw dV90cmFuc2NvZGVyID0KPiA+PiAgCQkoZW51bSB0cmFuc2NvZGVyKSB0b19pbnRlbF9jcnRjKGNy dGMpLT5waXBlOwo+ID4+ICAKPiA+PiBAQCAtMTMzNjEsNiArMTMzODQsOCBAQCB2ZXJpZnlfY3J0 Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiA+PiAgCj4gPj4gIAlzdGF0ZSA9IG9s ZF9jcnRjX3N0YXRlLT51YXBpLnN0YXRlOwo+ID4+ICAJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRj X2Rlc3Ryb3lfc3RhdGUoJm9sZF9jcnRjX3N0YXRlLT51YXBpKTsKPiA+PiArCWludGVsX2NydGNf ZnJlZV9od19zdGF0ZShvbGRfY3J0Y19zdGF0ZSk7Cj4gPj4gKwo+ID4+ICAJcGlwZV9jb25maWcg PSBvbGRfY3J0Y19zdGF0ZTsKPiA+PiAgCW1lbXNldChwaXBlX2NvbmZpZywgMCwgc2l6ZW9mKCpw aXBlX2NvbmZpZykpOwo+ID4+ICAJcGlwZV9jb25maWctPnVhcGkuY3J0YyA9ICZjcnRjLT5iYXNl Owo+ID4+IEBAIC0xMzgyMyw2ICsxMzg0OCwxMCBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19j aGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4+ICAKPiA+PiAgCWZvcl9lYWNoX29sZG5l d19pbnRlbF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwKPiA+PiAg CQkJCQkgICAgbmV3X2NydGNfc3RhdGUsIGkpIHsKPiA+PiArCQlyZXQgPSBpbnRlbF9jcnRjX3By ZXBhcmVfc3RhdGUobmV3X2NydGNfc3RhdGUpOwo+ID4+ICsJCWlmIChyZXQpCj4gPj4gKwkJCXJl dHVybiByZXQ7Cj4gPiBJIGhhdmUgYSBmZWVsaW5nIHRoaXMgc2hvdWxkIGJlIGl0cyBvd24gbG9v cCBpbiBjYXNlIHdlIG5lZWQKPiA+IHRvIGluc2VydCBnbG9iYWwgc3R1ZmYgYWZ0ZXIgdGhpcy4K PiA+Cj4gPiBGb3IgZXhhbXBsZSwgSSB0aGluayB0aGUgcG9ydCBzeW5jIHN0dWZmIHNob3VsZCBi ZSB0aGVyZSBidXQKPiA+IEkgY2FuJ3Qgc2VlIGl0IG5vdy4gQWgsIGZvciBzb21lIHJlYXNvbiBp dCdzIGJ1cmllZCBkZWVwIGluc2lkZQo+ID4gaW50ZWxfbW9kZXNldF9waXBlX2NvbmZpZygpIHdo aWNoIHNlZW1zIHdyb25nLiBJZiBhbnkgKG9yIGF0Cj4gPiBsZWFzdCB0aGUgbWFzdGVyKSBvZiB0 aGUgZ2VubG9ja2VkIHBpcGVzIGRvZXMgYSBmdWxsIG1vZGVzZXQKPiA+IHdlIG5lZWQgdG8gZG8g YSBmdWxsIG1vZGVzZXQgb24gYWxsIG9mIHRoZW0sIHdoaWNoIHNob3VsZCBhbHNvCj4gPiBtZWFu IGEgZnVsbCAuY29tcHV0ZV9jb25maWcoKSBvbiBldmVyeXRoaW5nLgo+ID4KPiA+IEhtbS4gQW5k IGlmIHdlIGRvIHRoYXQgdGhlbiBjb21iaW5pbmcgdGhlIHVhcGktPmh3IGNvcHkgYW5kCj4gPiBj bGVhcl9pbnRlbF9jcnRjX3N0YXRlKCkgbGlrZSB0aGlzIGlzIG5vdCBnb2luZyB0byB3b3JrLgo+ IEdlbmxvY2sgd291bGQgYmUgbWVzc3kgZWl0aGVyIHdheSwgd2l0aCBmYXN0c2V0IHZzIG1vZGVz ZXQuIEl0IHdvdWxkIG5lZWQgaXRzIG93biBzZWNvbmQgbG9vcCB0byBoYW5kbGUgY29ycmVjdGx5 LgoKSG1tLiBZZWFoLCB0aGlzIGZhc3RzZXQgdnMuIHBvcnQgc3luYyBpcyBwYXJ0aWN1bGFybHkg dHJvdWJsZXNvbWUKYmVjYXVzZSB3ZSBub3cgY29weSBzb21lIHN0YXRlIGJhY2sgZnJvbSB0aGUg b2xkIHN0YXRlLgoKTm90IHJlYWxseSBzdXJlIHdoYXQgdG8gZG8gYWJvdXQgdGhhdCBvdGhlciB0 aGFuOgphKSBkb24ndCBkbyBmYXN0c2V0IHdpdGggcG9ydCBzeW5jICh3b3VsZCBiZSBhIHNoYW1l KQpiKSByZWRvIC5jb21wdXRlX2NvbmZpZygpIGZvciBhbGwgdGlsZXMgaWYgYXQgbGVhc3Qgb25l IG9mCiAgIHRoZW0gc3RpbGwgaW5zaXN0cyBvbiBhIGZ1bGwgbW9kZXNldCBhZnRlciBhbGwgaGF2 ZSBnb25lCiAgIHRocm91Z2ggdGhlIGZhc3RzZXQgY2hlY2sgKGEgYml0IHl1Y2t5KQpjKSBjb3B5 IGV2ZW4gbW9yZSBzdGF0ZSB0byBtYWtlIHN1cmUgaXQncyBhbGwgdG90YWxseSBjb25zaXN0ZW50 CiAgIChzaG91bGQgcmVhbGx5IGRvIHRoaXMgYW55d2F5KSwgYW5kIHRoZW4ganVzdCBmb3JjZSBh IG1vZGVzZXQKICAgb24gYWxsIHRpbGVzIGlmIG9uZSBuZWVkcyBpdCBidXQgd2l0aG91dCByZWRv aW5nIGFueQogICAuY29tcHV0ZV9jb25maWcoKSBzdHVmZiAoaWUuIGRvIHRoZSBtb2Rlc2V0IHdp dGggdGhlIGZhc3RzZXQKICAgYWRqdXN0ZWQgc3RhdGUpCgpJIG1heWJlIGxpa2UgYykgYmVzdC4g Yikgd291bGQgcGVyaGFwcyBhbGxvdyB1cyB0byBub3QgZG8gYW55IHBvcnQgc3luYwp0aGluZ3Mg YmVmb3JlIHRoZSAuY29tcHV0ZV9jb25maWcoKSBsb29wIHNpbmNlIHdlJ2QgcmVkbyBpdCBhbnl3 YXkgaWYKYW55dGhpbmcgYWZmZWN0ZWQgbmVkcyBhIG1vZGVzZXQuIEJ1dCBoYXZpbmcgYSByZXRy eSBsb29wIHdvdWxkIGJlIGEKbGl0dGxlIGFubm95aW5nLiBBbHRob3VnaCB3ZSdyZSBnb2luZyB0 byBuZWVkIHNvbWUga2luZCBvZiByZXRyeSBsb29wCmZvciBlZy4gTVNUIGJhbmR3aWR0aCB2cy4g YnBjIHN0dWZmIGFueXdheS4KCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4