From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH 08/14] drm/i915: Complete crtc hw/uapi split, v3. Date: Fri, 25 Oct 2019 11:00:06 +0200 Message-ID: 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 mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2110E6E92E for ; Fri, 25 Oct 2019 09:00:09 +0000 (UTC) In-Reply-To: <20191024152150.GD1208@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T3AgMjQtMTAtMjAxOSBvbSAxNzoyMSBzY2hyZWVmIFZpbGxlIFN5cmrDpGzDpDoKPiBPbiBUaHUs IE9jdCAyNCwgMjAxOSBhdCAwMjo0Nzo1OVBNICswMjAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90 ZToKPj4gTm93IHRoYXQgd2Ugc2VwYXJhdGVkIGV2ZXJ5dGhpbmcgaW50byB1YXBpIGFuZCBodywg aXQncwo+PiB0aW1lIHRvIG1ha2UgdGhlIHNwbGl0IGRlZmluaXRpdmUuIFJlbW92ZSB0aGUgdW5p b24gYW5kCj4+IG1ha2UgYSBjb3B5IG9mIHRoZSBodyBzdGF0ZSBvbiBtb2Rlc2V0IGFuZCBmYXN0 c2V0Lgo+Pgo+PiBDb2xvciBibG9icyBhcmUgY29waWVkIGluIGNydGMgYXRvbWljX2NoZWNrKCks IHJpZ2h0Cj4+IGJlZm9yZSBjb2xvciBtYW5hZ2VtZW50IGlzIGNoZWNrZWQuCj4+Cj4+IENoYW5n ZXMgc2luY2UgdjE6Cj4+IC0gQ29weSBhbGwgYmxvYnMgaW1tZWRpYXRlbHkgYWZ0ZXIgZHJtX2F0 b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldCgpLgo+PiAtIENsZWFyIGNydGNfc3RhdGUtPmh3IG9u IGRpc2FibGUsIGluc3RlYWQgb2YgdXNpbmcgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZSgpLgo+PiBD aGFuZ2VzIHNpbmNlIHYyOgo+PiAtIFVzZSBpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUgKyBjbGVh ciBpbiBpbnRlbF9jcnRjX2Rpc2FibGVfbm9hdG9taWMoKS4KPj4gLSBNYWtlIGEgaW50ZWxfY3J0 Y19wcmVwYXJlX3N0YXRlKCkgZnVuY3Rpb24gdGhhdCBjbGVhcnMgdGhlIGNydGNfc3RhdGUKPj4g ICBhbmQgY29waWVzIGh3IG1lbWJlcnMuCj4+IC0gUmVtb3ZlIHNldHRpbmcgdWFwaS5hZGp1c3Rl ZF9tb2RlLCB3ZSBub3cgaGF2ZSBhIGRpcmVjdCBjYWxsIHRvCj4+ICAgZHJtX2NhbGNfdGltZXN0 YW1waW5nX2NvbnN0YW50cygpLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3Jz dCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+PiAtLS0KPj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMgICB8IDQ0ICsrKysrKysrKysrKysr Kwo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuaCAgIHwgIDIg Kwo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgIHwgNTYg KysrKysrKysrKysrKysrLS0tLQo+PiAgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eV90eXBlcy5oICAgIHwgIDkgKy0tCj4+ICA0IGZpbGVzIGNoYW5nZWQsIDk1IGluc2VydGlvbnMo KyksIDE2IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfYXRvbWljLmMKPj4gaW5kZXggN2NmMTNiOWM3ZDM4Li4yNjZkMGNlOWQwM2QgMTAwNjQ0 Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMKPj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYwo+PiBAQCAt MTk1LDYgKzE5NSwxNCBAQCBpbnRlbF9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCj4+ICAKPj4gIAlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZHVwbGljYXRlX3N0 YXRlKGNydGMsICZjcnRjX3N0YXRlLT51YXBpKTsKPj4gIAo+PiArCS8qIGNvcHkgY29sb3IgYmxv YnMgKi8KPj4gKwlpZiAoY3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9sdXQpCj4+ICsJCWRybV9wcm9w ZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dCk7Cj4+ICsJaWYgKGNydGNf c3RhdGUtPmh3LmN0bSkKPj4gKwkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPmh3 LmN0bSk7Cj4+ICsJaWYgKGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCkKPj4gKwkJZHJtX3Byb3Bl cnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCk7Cj4+ICsKPj4gIAljcnRjX3N0 YXRlLT51cGRhdGVfcGlwZSA9IGZhbHNlOwo+PiAgCWNydGNfc3RhdGUtPmRpc2FibGVfbHBfd20g PSBmYWxzZTsKPj4gIAljcnRjX3N0YXRlLT5kaXNhYmxlX2N4c3IgPSBmYWxzZTsKPj4gQEAgLTIw OCw2ICsyMTYsNDEgQEAgaW50ZWxfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRj ICpjcnRjKQo+PiAgCXJldHVybiAmY3J0Y19zdGF0ZS0+dWFwaTsKPj4gIH0KPj4gIAo+PiArc3Rh dGljIHZvaWQgaW50ZWxfY3J0Y19wdXRfY29sb3JfYmxvYnMoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCj4+ICt7Cj4+ICsJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0KGNydGNfc3Rh dGUtPmh3LmRlZ2FtbWFfbHV0KTsKPj4gKwlkcm1fcHJvcGVydHlfYmxvYl9wdXQoY3J0Y19zdGF0 ZS0+aHcuZ2FtbWFfbHV0KTsKPj4gKwlkcm1fcHJvcGVydHlfYmxvYl9wdXQoY3J0Y19zdGF0ZS0+ aHcuY3RtKTsKPj4gK30KPj4gKwo+PiArdm9pZCBpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUoc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+ICt7Cj4+ICsJaW50ZWxfY3J0Y19w dXRfY29sb3JfYmxvYnMoY3J0Y19zdGF0ZSk7Cj4+ICt9Cj4+ICsKPj4gK3ZvaWQgaW50ZWxfY3J0 Y19jb3B5X2NvbG9yX2Jsb2JzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ IFRoaXMgaXMgb25seSB1c2VkIGluIGludGVsX2Rpc3BsYXkuYyBzbyBzaG91bGQgcGVyaGFwcyBs aXZlIHRoZXJlPwo+Cj4+ICt7Cj4+ICsJaW50ZWxfY3J0Y19wdXRfY29sb3JfYmxvYnMoY3J0Y19z dGF0ZSk7Cj4+ICsKPj4gKwlpZiAoY3J0Y19zdGF0ZS0+dWFwaS5kZWdhbW1hX2x1dCkKPj4gKwkJ Y3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9sdXQgPQo+PiArCQkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0 KGNydGNfc3RhdGUtPnVhcGkuZGVnYW1tYV9sdXQpOwo+PiArCWVsc2UKPj4gKwkJY3J0Y19zdGF0 ZS0+aHcuZGVnYW1tYV9sdXQgPSBOVUxMOwo+PiArCj4+ICsJaWYgKGNydGNfc3RhdGUtPnVhcGku Z2FtbWFfbHV0KQo+PiArCQljcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQgPQo+PiArCQkJZHJtX3By b3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPnVhcGkuZ2FtbWFfbHV0KTsKPj4gKwllbHNlCj4+ ICsJCWNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCA9IE5VTEw7Cj4+ICsKPj4gKwlpZiAoY3J0Y19z dGF0ZS0+dWFwaS5jdG0pCj4+ICsJCWNydGNfc3RhdGUtPmh3LmN0bSA9Cj4+ICsJCQlkcm1fcHJv cGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFwaS5jdG0pOwo+PiArCWVsc2UKPj4gKwkJY3J0 Y19zdGF0ZS0+aHcuY3RtID0gTlVMTDsKPj4gK30KPj4gKwo+PiAgLyoqCj4+ICAgKiBpbnRlbF9j cnRjX2Rlc3Ryb3lfc3RhdGUgLSBkZXN0cm95IGNydGMgc3RhdGUKPj4gICAqIEBjcnRjOiBkcm0g Y3J0Ywo+PiBAQCAtMjIzLDYgKzI2Niw3IEBAIGludGVsX2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCj4+ICAJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKHN0YXRlKTsKPj4gIAo+PiAgCV9fZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZjcnRjX3N0YXRlLT51YXBpKTsKPj4gKwlpbnRlbF9j cnRjX2ZyZWVfaHdfc3RhdGUoY3J0Y19zdGF0ZSk7Cj4+ICAJa2ZyZWUoY3J0Y19zdGF0ZSk7Cj4+ ICB9Cj4+ICAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfYXRvbWljLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5o Cj4+IGluZGV4IDU4MDY1ZDMxNjFhMy4uNDJiZTkxZTA3NzJhIDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5oCj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgKPj4gQEAgLTM1LDYgKzM1LDggQEAg aW50ZWxfZGlnaXRhbF9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpOwo+PiAgc3RydWN0IGRybV9jcnRjX3N0YXRlICppbnRlbF9jcnRjX2R1 cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+PiAgdm9pZCBpbnRlbF9jcnRj X2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+PiAgCQkJICAgICAgIHN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpOwo+PiArdm9pZCBpbnRlbF9jcnRjX2ZyZWVfaHdfc3Rh dGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+PiArdm9pZCBpbnRlbF9j cnRjX2NvcHlfY29sb3JfYmxvYnMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp Owo+PiAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKmludGVsX2F0b21pY19zdGF0ZV9hbGxvYyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPj4gIHZvaWQgaW50ZWxfYXRvbWljX3N0YXRlX2NsZWFy KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4+ICAKPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPj4gaW5kZXggMTFkZDdhMTgyNTQzLi4y ZGJjMWRmOTUwNWEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheS5jCj4+IEBAIC03MTEwLDYgKzcxMTAsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9j cnRjX2Rpc2FibGVfbm9hdG9taWMoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+PiAgCWNydGMtPmVu YWJsZWQgPSBmYWxzZTsKPj4gIAljcnRjLT5zdGF0ZS0+Y29ubmVjdG9yX21hc2sgPSAwOwo+PiAg CWNydGMtPnN0YXRlLT5lbmNvZGVyX21hc2sgPSAwOwo+PiArCWludGVsX2NydGNfZnJlZV9od19z dGF0ZShjcnRjX3N0YXRlKTsKPj4gKwltZW1zZXQoJmNydGNfc3RhdGUtPmh3LCAwLCBzaXplb2Yo Y3J0Y19zdGF0ZS0+aHcpKTsKPj4gIAo+PiAgCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0YyhjcnRj LT5kZXYsIGNydGMsIGVuY29kZXIpCj4+ICAJCWVuY29kZXItPmJhc2UuY3J0YyA9IE5VTEw7Cj4+ IEBAIC0xMjQ4MiwyMiArMTI0ODQsNTAgQEAgc3RhdGljIGJvb2wgY2hlY2tfZGlnaXRhbF9wb3J0 X2NvbmZsaWN0cyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKPj4gIAlyZXR1cm4g cmV0Owo+PiAgfQo+PiAgCj4+ICtzdGF0aWMgdm9pZAo+PiAraW50ZWxfY3J0Y19jb3B5X3VhcGlf dG9faHdfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+ICt7Cj4+ ICsJY3J0Y19zdGF0ZS0+aHcuZW5hYmxlID0gY3J0Y19zdGF0ZS0+dWFwaS5lbmFibGU7Cj4+ICsJ Y3J0Y19zdGF0ZS0+aHcuYWN0aXZlID0gY3J0Y19zdGF0ZS0+dWFwaS5hY3RpdmU7Cj4+ICsJY3J0 Y19zdGF0ZS0+aHcubW9kZSA9IGNydGNfc3RhdGUtPnVhcGkubW9kZTsKPj4gKwljcnRjX3N0YXRl LT5ody5hZGp1c3RlZF9tb2RlID0gY3J0Y19zdGF0ZS0+dWFwaS5hZGp1c3RlZF9tb2RlOwo+PiAr CWludGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhjcnRjX3N0YXRlKTsKPj4gK30KPj4gKwo+PiAr c3RhdGljIHZvaWQgY29weV9od190b191YXBpX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQo+PiArewo+PiArCWNydGNfc3RhdGUtPnVhcGkuZW5hYmxlID0gY3J0Y19z dGF0ZS0+aHcuZW5hYmxlOwo+PiArCWNydGNfc3RhdGUtPnVhcGkuYWN0aXZlID0gY3J0Y19zdGF0 ZS0+aHcuYWN0aXZlOwo+PiArCWNydGNfc3RhdGUtPnVhcGkubW9kZSA9IGNydGNfc3RhdGUtPmh3 Lm1vZGU7Cj4+ICsJY3J0Y19zdGF0ZS0+dWFwaS5hZGp1c3RlZF9tb2RlID0gY3J0Y19zdGF0ZS0+ aHcuYWRqdXN0ZWRfbW9kZTsKPiBXaHkgYXJlIHdlIG5vdCBjb3B5aW5nIHRoZSBjb2xvciBibG9i cz8KCkhtbSwgd2UgcHJvYmFibHkgc2hvdWxkIGF0IGxlYXN0IGNvcHkgdGhlIGdhbW1hIGJsb2Is IGJ1dCBwcm9iYWJseSBhbGwuIDopCgpNaXNzZWQgdGhhdCBiZWNhdXNlIHRoaXMgcGF0Y2ggbGlu Z2VyZWQgb24gdGhlIG1sIGZvciBzbyBsb25nIHdlIGFkZGVkIGh3IHJlYWRvdXQgaW4gdGhlIG1l YW4gdGltZS4KCj4KPj4gK30KPj4gKwo+PiAgc3RhdGljIGludAo+PiAtY2xlYXJfaW50ZWxfY3J0 Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPj4gK2ludGVsX2Ny dGNfcHJlcGFyZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiBI bW0uIEkgd2FzIGhvcGluZyB3ZSBjb3VsZCBtYWtlIHRoaXMgZXZlbiBzaW1wbGVyLCBidXQgbWF5 YmUgSSdtIGEgYml0Cj4gbmFpdmUuIEkgZ3Vlc3Mgd2UgcmVhbGx5IGRvIG5lZWQgdG8gY29uc2lk ZXIgbmVlZHNfbW9kZXNldCgpIHNvIGFzIHRvCj4gbm90IGNsb2JiZXIgdGhlIGFscmVhZHkgY29t cHV0ZWQgaHcgc3RhdGUgd2hlbiB3ZSdyZSBub3QgZ29pbmcgdG8gdGFrZQo+IHRoZSBmdWxsIC5j b21wdXRlX2NvbmZpZygpIHBhdGguCj4KPj4gIHsKPj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPQo+PiAgCQl0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsK Pj4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqc2F2ZWRfc3RhdGU7Cj4+ICAKPj4gKwlpZiAo IW5lZWRzX21vZGVzZXQoY3J0Y19zdGF0ZSkpIHsKPj4gKwkJLyogT25seSBuZWVkIHRvIHVwZGF0 ZSBjcnRjX3N0YXRlLT5odyBjb2xvciBibG9icyAqLwo+IFRoYXQgY29tbWVudCBpcyBsaWtlbHkg dG8gZ2V0IG91dCBvZiBkYXRlLiBOb3Qgc3VyZSBob3cgdG8gd29yZCBpdCBpbiBhCj4gbmljZSB3 YXkgdGhvdWdoLiBFc3NlbnRpYWxseSB3ZSBqdXN0IHdhbnQgdG8gY29weSB0aGUgcGFydCBvZiB0 aGUgc3RhdGUKPiB0aGF0IGRvZXNuJ3QgY2xvYmJlciBhbnl0aGluZyBzZXQgdXAgYnkgLmNvbXB1 dGVfY29uZmlnKCkgJiBjby4KPgo+IEl0IHdvdWxkIGJlIG5pY2UgaWYgd2UgaGFkIHRoZSBzYW1l IGxldmVsIG9mIGFic3RyYWN0aW9uIGZvciB0aGlzIGNhc2UKPiBhcyBmb3IgdGhlIGZ1bGwgbW9k ZXNldCBjYXNlLiBFZy4gaW50ZWxfY3J0Y19jb3B5X2h3X3N0YXRlX25vbl9tb2Rlc2V0KCkKPiBv ciBzb21ldGhpbmcuIEEgYml0IHVnbHkgdGhhdCBuYW1lIHRob3VnaC4gTWlnaHQgaGF2ZSB0aGlu ayBvZiBzb21ldGhpbmcKPiBiZXR0ZXIuCj4KPiBBbm90aGVyIHRoaW5nIHRoYXQncyBhIGJpdCBj b25mdXNpbmcgaXMgdGhhdCB3ZSBuZWVkIHRvIGRvIHRoZQo+IGludGVsX2NydGNfZnJlZV9od19z dGF0ZSgpIGZvciB0aGUgZnVsbCBtb2Rlc2V0IHBhdGgsIGJ1dCB3ZSBkb24ndAo+IG5lZWQgaXQg Zm9yIHRoZSBub24tbW9kZXNldCBwYXRoLiBXb3VsZCBiZSBuaWNlIGl0IHRoZSB0d28gcGF0aHMK PiBiZWhhdmVkIG1vcmUgdW5pZm9ybWx5LiAKV2UnZCBoYXZlIHRvIGdldCByaWQgb2YgdGhlIGNy dGNfc3RhdGUgY2xlYXJpbmcgZm9yIHRoYXQuIDooCj4+ICsJCWludGVsX2NydGNfY29weV9jb2xv cl9ibG9icyhjcnRjX3N0YXRlKTsKPj4gKwkJcmV0dXJuIDA7Cj4+ICsJfQo+PiArCj4+ICAJc2F2 ZWRfc3RhdGUgPSBremFsbG9jKHNpemVvZigqc2F2ZWRfc3RhdGUpLCBHRlBfS0VSTkVMKTsKPj4g IAlpZiAoIXNhdmVkX3N0YXRlKQo+PiAgCQlyZXR1cm4gLUVOT01FTTsKPj4gIAo+PiArCS8qIGZy ZWUgdGhlIG9sZCBjcnRjX3N0YXRlLT5odyBtZW1iZXJzICovCj4+ICsJaW50ZWxfY3J0Y19mcmVl X2h3X3N0YXRlKGNydGNfc3RhdGUpOwo+PiArCj4+ICAJLyogRklYTUU6IGJlZm9yZSB0aGUgc3dp dGNoIHRvIGF0b21pYyBzdGFydGVkLCBhIG5ldyBwaXBlX2NvbmZpZyB3YXMKPj4gIAkgKiBremFs bG9jJ2QuIENvZGUgdGhhdCBkZXBlbmRzIG9uIGFueSBmaWVsZCBiZWluZyB6ZXJvIHNob3VsZCBi ZQo+PiAgCSAqIGZpeGVkLCBzbyB0aGF0IHRoZSBjcnRjX3N0YXRlIGNhbiBiZSBzYWZlbHkgZHVw bGljYXRlZC4gRm9yIG5vdywKPj4gIAkgKiBvbmx5IGZpZWxkcyB0aGF0IGFyZSBrbm93IHRvIG5v dCBjYXVzZSBwcm9ibGVtcyBhcmUgcHJlc2VydmVkLiAqLwo+PiAgCj4+ICsJc2F2ZWRfc3RhdGUt PnVhcGkgPSBjcnRjX3N0YXRlLT51YXBpOwo+PiAgCXNhdmVkX3N0YXRlLT5zY2FsZXJfc3RhdGUg PSBjcnRjX3N0YXRlLT5zY2FsZXJfc3RhdGU7Cj4+ICAJc2F2ZWRfc3RhdGUtPnNoYXJlZF9kcGxs ID0gY3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGw7Cj4+ICAJc2F2ZWRfc3RhdGUtPmRwbGxfaHdfc3Rh dGUgPSBjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlOwo+PiBAQCAtMTI1MTUsMTQgKzEyNTQ1LDEx IEBAIGNsZWFyX2ludGVsX2NydGNfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4+ICAJCXNhdmVkX3N0YXRlLT5zeW5jX21vZGVfc2xhdmVzX21hc2sgPQo+PiAgCQkJ Y3J0Y19zdGF0ZS0+c3luY19tb2RlX3NsYXZlc19tYXNrOwo+PiAgCj4+IC0JLyogS2VlcCBiYXNl IGRybV9jcnRjX3N0YXRlIGludGFjdCwgb25seSBjbGVhciBvdXIgZXh0ZW5kZWQgc3RydWN0ICov Cj4+IC0JQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlLCBiYXNl KSk7Cj4+IC0JQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlLCB1 YXBpKSk7Cj4+IC0JQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl LCBodykpOwo+PiAtCW1lbWNweSgmY3J0Y19zdGF0ZS0+dWFwaSArIDEsICZzYXZlZF9zdGF0ZS0+ dWFwaSArIDEsCj4+IC0JICAgICAgIHNpemVvZigqY3J0Y19zdGF0ZSkgLSBzaXplb2YoY3J0Y19z dGF0ZS0+dWFwaSkpOwo+PiAtCj4+ICsJbWVtY3B5KGNydGNfc3RhdGUsIHNhdmVkX3N0YXRlLCBz aXplb2YoKmNydGNfc3RhdGUpKTsKPj4gIAlrZnJlZShzYXZlZF9zdGF0ZSk7Cj4+ICsKPj4gKwlp bnRlbF9jcnRjX2NvcHlfdWFwaV90b19od19zdGF0ZShjcnRjX3N0YXRlKTsKPj4gKwo+PiAgCXJl dHVybiAwOwo+PiAgfQo+PiAgCj4+IEBAIC0xMjUzOCwxMCArMTI1NjUsNiBAQCBpbnRlbF9tb2Rl c2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKPj4g IAlpbnQgaTsKPj4gIAlib29sIHJldHJ5ID0gdHJ1ZTsKPj4gIAo+PiAtCXJldCA9IGNsZWFyX2lu dGVsX2NydGNfc3RhdGUocGlwZV9jb25maWcpOwo+PiAtCWlmIChyZXQpCj4+IC0JCXJldHVybiBy ZXQ7Cj4+IC0KPj4gIAlwaXBlX2NvbmZpZy0+Y3B1X3RyYW5zY29kZXIgPQo+PiAgCQkoZW51bSB0 cmFuc2NvZGVyKSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOwo+PiAgCj4+IEBAIC0xMzM2MSw2 ICsxMzM4NCw4IEBAIHZlcmlmeV9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ PiAgCj4+ICAJc3RhdGUgPSBvbGRfY3J0Y19zdGF0ZS0+dWFwaS5zdGF0ZTsKPj4gIAlfX2RybV9h dG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSgmb2xkX2NydGNfc3RhdGUtPnVhcGkpOwo+ PiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShvbGRfY3J0Y19zdGF0ZSk7Cj4+ICsKPj4gIAlw aXBlX2NvbmZpZyA9IG9sZF9jcnRjX3N0YXRlOwo+PiAgCW1lbXNldChwaXBlX2NvbmZpZywgMCwg c2l6ZW9mKCpwaXBlX2NvbmZpZykpOwo+PiAgCXBpcGVfY29uZmlnLT51YXBpLmNydGMgPSAmY3J0 Yy0+YmFzZTsKPj4gQEAgLTEzODIzLDYgKzEzODQ4LDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRv bWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ICAKPj4gIAlmb3JfZWFjaF9vbGRu ZXdfaW50ZWxfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsCj4+ICAJ CQkJCSAgICBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+PiArCQlyZXQgPSBpbnRlbF9jcnRjX3ByZXBh cmVfc3RhdGUobmV3X2NydGNfc3RhdGUpOwo+PiArCQlpZiAocmV0KQo+PiArCQkJcmV0dXJuIHJl dDsKPiBJIGhhdmUgYSBmZWVsaW5nIHRoaXMgc2hvdWxkIGJlIGl0cyBvd24gbG9vcCBpbiBjYXNl IHdlIG5lZWQKPiB0byBpbnNlcnQgZ2xvYmFsIHN0dWZmIGFmdGVyIHRoaXMuCj4KPiBGb3IgZXhh bXBsZSwgSSB0aGluayB0aGUgcG9ydCBzeW5jIHN0dWZmIHNob3VsZCBiZSB0aGVyZSBidXQKPiBJ IGNhbid0IHNlZSBpdCBub3cuIEFoLCBmb3Igc29tZSByZWFzb24gaXQncyBidXJpZWQgZGVlcCBp bnNpZGUKPiBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKCkgd2hpY2ggc2VlbXMgd3JvbmcuIElm IGFueSAob3IgYXQKPiBsZWFzdCB0aGUgbWFzdGVyKSBvZiB0aGUgZ2VubG9ja2VkIHBpcGVzIGRv ZXMgYSBmdWxsIG1vZGVzZXQKPiB3ZSBuZWVkIHRvIGRvIGEgZnVsbCBtb2Rlc2V0IG9uIGFsbCBv ZiB0aGVtLCB3aGljaCBzaG91bGQgYWxzbwo+IG1lYW4gYSBmdWxsIC5jb21wdXRlX2NvbmZpZygp IG9uIGV2ZXJ5dGhpbmcuCj4KPiBIbW0uIEFuZCBpZiB3ZSBkbyB0aGF0IHRoZW4gY29tYmluaW5n IHRoZSB1YXBpLT5odyBjb3B5IGFuZAo+IGNsZWFyX2ludGVsX2NydGNfc3RhdGUoKSBsaWtlIHRo aXMgaXMgbm90IGdvaW5nIHRvIHdvcmsuCkdlbmxvY2sgd291bGQgYmUgbWVzc3kgZWl0aGVyIHdh eSwgd2l0aCBmYXN0c2V0IHZzIG1vZGVzZXQuIEl0IHdvdWxkIG5lZWQgaXRzIG93biBzZWNvbmQg bG9vcCB0byBoYW5kbGUgY29ycmVjdGx5Lgo+Cj4+ICsKPj4gIAkJaWYgKCFuZWVkc19tb2Rlc2V0 KG5ld19jcnRjX3N0YXRlKSkKPj4gIAkJCWNvbnRpbnVlOwo+PiAgCj4+IEBAIC0xNzA5OSw2ICsx NzEyOCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+PiAgCQkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNl LnN0YXRlKTsKPj4gIAo+PiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0 ZSgmY3J0Y19zdGF0ZS0+dWFwaSk7Cj4+ICsJCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRj X3N0YXRlKTsKPj4gIAkJbWVtc2V0KGNydGNfc3RhdGUsIDAsIHNpemVvZigqY3J0Y19zdGF0ZSkp Owo+PiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoJmNydGMtPmJhc2UsICZjcnRj X3N0YXRlLT51YXBpKTsKPj4gIAo+PiBAQCAtMTcyMjcsNiArMTcyNTcsNyBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikK Pj4gIAkJCSAqIHNldCBhIGZsYWcgdG8gaW5kaWNhdGUgdGhhdCBhIGZ1bGwgcmVjYWxjdWxhdGlv biBpcwo+PiAgCQkJICogbmVlZGVkIG9uIHRoZSBuZXh0IGNvbW1pdC4KPj4gIAkJCSAqLwo+PiAr CQkJY3J0Y19zdGF0ZS0+aHcubW9kZSA9IGNydGMtPmJhc2UubW9kZTsKPj4gIAkJCWNydGNfc3Rh dGUtPmh3Lm1vZGUucHJpdmF0ZV9mbGFncyA9IEk5MTVfTU9ERV9GTEFHX0lOSEVSSVRFRDsKPj4g IAo+PiAgCQkJaW50ZWxfY3J0Y19jb21wdXRlX3BpeGVsX3JhdGUoY3J0Y19zdGF0ZSk7Cj4+IEBA IC0xNzI1Nyw2ICsxNzI4OCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9o d19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiAgCj4+ICAJCWludGVsX2J3X2NydGNf dXBkYXRlKGJ3X3N0YXRlLCBjcnRjX3N0YXRlKTsKPj4gIAo+PiArCQljb3B5X2h3X3RvX3VhcGlf c3RhdGUoY3J0Y19zdGF0ZSk7Cj4+ICAJCWludGVsX3BpcGVfY29uZmlnX3Nhbml0eV9jaGVjayhk ZXZfcHJpdiwgY3J0Y19zdGF0ZSk7Cj4+ICAJfQo+PiAgfQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+PiBpbmRleCA0Njk3Zjcx OWIzYTguLjE3YzllYzMwMGYxOCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPj4gQEAgLTc0OSw4ICs3NDksNiBAQCBl bnVtIGludGVsX291dHB1dF9mb3JtYXQgewo+PiAgfTsKPj4gIAo+PiAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgewo+PiAtCXVuaW9uIHsKPj4gLQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgYmFzZTsK Pj4gIAkvKgo+PiAgCSAqIHVhcGkgKGRybSkgc3RhdGUuIFRoaXMgaXMgdGhlIHNvZnR3YXJlIHN0 YXRlIHNob3duIHRvIHVzZXJzcGFjZS4KPj4gIAkgKiBJbiBwYXJ0aWN1bGFyLCB0aGUgZm9sbG93 aW5nIG1lbWJlcnMgYXJlIHVzZWQgZm9yIGJvb2trZWVwaW5nOgo+PiBAQCAtNzczLDggKzc3MSwx MSBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7Cj4+ICAJICoKPj4gIAkgKiBEdXJpbmcgaW5p dGlhbCBodyByZWFkb3V0LCB0aGV5IG5lZWQgdG8gYmUgY29waWVkIHRvIHVhcGkuCj4+ICAJICov Cj4+IC0Jc3RydWN0IGRybV9jcnRjX3N0YXRlIGh3Owo+PiAtCX07Cj4+ICsJc3RydWN0IHsKPj4g KwkJYm9vbCBhY3RpdmUsIGVuYWJsZTsKPj4gKwkJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpk ZWdhbW1hX2x1dCwgKmdhbW1hX2x1dCwgKmN0bTsKPj4gKwkJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgbW9kZSwgYWRqdXN0ZWRfbW9kZTsKPj4gKwl9IGh3Owo+PiAgCj4+ICAJLyoqCj4+ICAJICog cXVpcmtzIC0gYml0ZmllbGQgd2l0aCBodyBzdGF0ZSByZWFkb3V0IHF1aXJrcwo+PiAtLSAKPj4g Mi4yMy4wCj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwo+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eA== 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 85FC2CA9EBD for ; Fri, 25 Oct 2019 09:00:10 +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 665B721D71 for ; Fri, 25 Oct 2019 09:00:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 665B721D71 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 061B16E929; Fri, 25 Oct 2019 09:00:10 +0000 (UTC) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2110E6E92E for ; Fri, 25 Oct 2019 09:00:09 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Oct 2019 02:00:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,228,1569308400"; d="scan'208";a="210337205" Received: from vslinko-mobl.ccr.corp.intel.com (HELO [10.252.56.7]) ([10.252.56.7]) by fmsmga001.fm.intel.com with ESMTP; 25 Oct 2019 02:00:07 -0700 To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= References: <20191024124805.26840-1-maarten.lankhorst@linux.intel.com> <20191024124805.26840-8-maarten.lankhorst@linux.intel.com> <20191024152150.GD1208@intel.com> From: Maarten Lankhorst Message-ID: Date: Fri, 25 Oct 2019 11:00:06 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <20191024152150.GD1208@intel.com> Content-Language: en-US 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: <20191025090006.AUkJAZXIrYeu14QUdY6xq7y-yS7g_LKHclvCwu4ZYxc@z> T3AgMjQtMTAtMjAxOSBvbSAxNzoyMSBzY2hyZWVmIFZpbGxlIFN5cmrDpGzDpDoKPiBPbiBUaHUs IE9jdCAyNCwgMjAxOSBhdCAwMjo0Nzo1OVBNICswMjAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90 ZToKPj4gTm93IHRoYXQgd2Ugc2VwYXJhdGVkIGV2ZXJ5dGhpbmcgaW50byB1YXBpIGFuZCBodywg aXQncwo+PiB0aW1lIHRvIG1ha2UgdGhlIHNwbGl0IGRlZmluaXRpdmUuIFJlbW92ZSB0aGUgdW5p b24gYW5kCj4+IG1ha2UgYSBjb3B5IG9mIHRoZSBodyBzdGF0ZSBvbiBtb2Rlc2V0IGFuZCBmYXN0 c2V0Lgo+Pgo+PiBDb2xvciBibG9icyBhcmUgY29waWVkIGluIGNydGMgYXRvbWljX2NoZWNrKCks IHJpZ2h0Cj4+IGJlZm9yZSBjb2xvciBtYW5hZ2VtZW50IGlzIGNoZWNrZWQuCj4+Cj4+IENoYW5n ZXMgc2luY2UgdjE6Cj4+IC0gQ29weSBhbGwgYmxvYnMgaW1tZWRpYXRlbHkgYWZ0ZXIgZHJtX2F0 b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldCgpLgo+PiAtIENsZWFyIGNydGNfc3RhdGUtPmh3IG9u IGRpc2FibGUsIGluc3RlYWQgb2YgdXNpbmcgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZSgpLgo+PiBD aGFuZ2VzIHNpbmNlIHYyOgo+PiAtIFVzZSBpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUgKyBjbGVh ciBpbiBpbnRlbF9jcnRjX2Rpc2FibGVfbm9hdG9taWMoKS4KPj4gLSBNYWtlIGEgaW50ZWxfY3J0 Y19wcmVwYXJlX3N0YXRlKCkgZnVuY3Rpb24gdGhhdCBjbGVhcnMgdGhlIGNydGNfc3RhdGUKPj4g ICBhbmQgY29waWVzIGh3IG1lbWJlcnMuCj4+IC0gUmVtb3ZlIHNldHRpbmcgdWFwaS5hZGp1c3Rl ZF9tb2RlLCB3ZSBub3cgaGF2ZSBhIGRpcmVjdCBjYWxsIHRvCj4+ICAgZHJtX2NhbGNfdGltZXN0 YW1waW5nX2NvbnN0YW50cygpLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3Jz dCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+PiAtLS0KPj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMgICB8IDQ0ICsrKysrKysrKysrKysr Kwo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuaCAgIHwgIDIg Kwo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgIHwgNTYg KysrKysrKysrKysrKysrLS0tLQo+PiAgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eV90eXBlcy5oICAgIHwgIDkgKy0tCj4+ICA0IGZpbGVzIGNoYW5nZWQsIDk1IGluc2VydGlvbnMo KyksIDE2IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfYXRvbWljLmMKPj4gaW5kZXggN2NmMTNiOWM3ZDM4Li4yNjZkMGNlOWQwM2QgMTAwNjQ0 Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMKPj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYwo+PiBAQCAt MTk1LDYgKzE5NSwxNCBAQCBpbnRlbF9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCj4+ICAKPj4gIAlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZHVwbGljYXRlX3N0 YXRlKGNydGMsICZjcnRjX3N0YXRlLT51YXBpKTsKPj4gIAo+PiArCS8qIGNvcHkgY29sb3IgYmxv YnMgKi8KPj4gKwlpZiAoY3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9sdXQpCj4+ICsJCWRybV9wcm9w ZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dCk7Cj4+ICsJaWYgKGNydGNf c3RhdGUtPmh3LmN0bSkKPj4gKwkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPmh3 LmN0bSk7Cj4+ICsJaWYgKGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCkKPj4gKwkJZHJtX3Byb3Bl cnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCk7Cj4+ICsKPj4gIAljcnRjX3N0 YXRlLT51cGRhdGVfcGlwZSA9IGZhbHNlOwo+PiAgCWNydGNfc3RhdGUtPmRpc2FibGVfbHBfd20g PSBmYWxzZTsKPj4gIAljcnRjX3N0YXRlLT5kaXNhYmxlX2N4c3IgPSBmYWxzZTsKPj4gQEAgLTIw OCw2ICsyMTYsNDEgQEAgaW50ZWxfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRj ICpjcnRjKQo+PiAgCXJldHVybiAmY3J0Y19zdGF0ZS0+dWFwaTsKPj4gIH0KPj4gIAo+PiArc3Rh dGljIHZvaWQgaW50ZWxfY3J0Y19wdXRfY29sb3JfYmxvYnMoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCj4+ICt7Cj4+ICsJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0KGNydGNfc3Rh dGUtPmh3LmRlZ2FtbWFfbHV0KTsKPj4gKwlkcm1fcHJvcGVydHlfYmxvYl9wdXQoY3J0Y19zdGF0 ZS0+aHcuZ2FtbWFfbHV0KTsKPj4gKwlkcm1fcHJvcGVydHlfYmxvYl9wdXQoY3J0Y19zdGF0ZS0+ aHcuY3RtKTsKPj4gK30KPj4gKwo+PiArdm9pZCBpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUoc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+ICt7Cj4+ICsJaW50ZWxfY3J0Y19w dXRfY29sb3JfYmxvYnMoY3J0Y19zdGF0ZSk7Cj4+ICt9Cj4+ICsKPj4gK3ZvaWQgaW50ZWxfY3J0 Y19jb3B5X2NvbG9yX2Jsb2JzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ IFRoaXMgaXMgb25seSB1c2VkIGluIGludGVsX2Rpc3BsYXkuYyBzbyBzaG91bGQgcGVyaGFwcyBs aXZlIHRoZXJlPwo+Cj4+ICt7Cj4+ICsJaW50ZWxfY3J0Y19wdXRfY29sb3JfYmxvYnMoY3J0Y19z dGF0ZSk7Cj4+ICsKPj4gKwlpZiAoY3J0Y19zdGF0ZS0+dWFwaS5kZWdhbW1hX2x1dCkKPj4gKwkJ Y3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9sdXQgPQo+PiArCQkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0 KGNydGNfc3RhdGUtPnVhcGkuZGVnYW1tYV9sdXQpOwo+PiArCWVsc2UKPj4gKwkJY3J0Y19zdGF0 ZS0+aHcuZGVnYW1tYV9sdXQgPSBOVUxMOwo+PiArCj4+ICsJaWYgKGNydGNfc3RhdGUtPnVhcGku Z2FtbWFfbHV0KQo+PiArCQljcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQgPQo+PiArCQkJZHJtX3By b3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPnVhcGkuZ2FtbWFfbHV0KTsKPj4gKwllbHNlCj4+ ICsJCWNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCA9IE5VTEw7Cj4+ICsKPj4gKwlpZiAoY3J0Y19z dGF0ZS0+dWFwaS5jdG0pCj4+ICsJCWNydGNfc3RhdGUtPmh3LmN0bSA9Cj4+ICsJCQlkcm1fcHJv cGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFwaS5jdG0pOwo+PiArCWVsc2UKPj4gKwkJY3J0 Y19zdGF0ZS0+aHcuY3RtID0gTlVMTDsKPj4gK30KPj4gKwo+PiAgLyoqCj4+ICAgKiBpbnRlbF9j cnRjX2Rlc3Ryb3lfc3RhdGUgLSBkZXN0cm95IGNydGMgc3RhdGUKPj4gICAqIEBjcnRjOiBkcm0g Y3J0Ywo+PiBAQCAtMjIzLDYgKzI2Niw3IEBAIGludGVsX2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCj4+ICAJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKHN0YXRlKTsKPj4gIAo+PiAgCV9fZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZjcnRjX3N0YXRlLT51YXBpKTsKPj4gKwlpbnRlbF9j cnRjX2ZyZWVfaHdfc3RhdGUoY3J0Y19zdGF0ZSk7Cj4+ICAJa2ZyZWUoY3J0Y19zdGF0ZSk7Cj4+ ICB9Cj4+ICAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfYXRvbWljLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5o Cj4+IGluZGV4IDU4MDY1ZDMxNjFhMy4uNDJiZTkxZTA3NzJhIDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5oCj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgKPj4gQEAgLTM1LDYgKzM1LDggQEAg aW50ZWxfZGlnaXRhbF9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpOwo+PiAgc3RydWN0IGRybV9jcnRjX3N0YXRlICppbnRlbF9jcnRjX2R1 cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+PiAgdm9pZCBpbnRlbF9jcnRj X2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+PiAgCQkJICAgICAgIHN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpOwo+PiArdm9pZCBpbnRlbF9jcnRjX2ZyZWVfaHdfc3Rh dGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+PiArdm9pZCBpbnRlbF9j cnRjX2NvcHlfY29sb3JfYmxvYnMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp Owo+PiAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKmludGVsX2F0b21pY19zdGF0ZV9hbGxvYyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPj4gIHZvaWQgaW50ZWxfYXRvbWljX3N0YXRlX2NsZWFy KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4+ICAKPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPj4gaW5kZXggMTFkZDdhMTgyNTQzLi4y ZGJjMWRmOTUwNWEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheS5jCj4+IEBAIC03MTEwLDYgKzcxMTAsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9j cnRjX2Rpc2FibGVfbm9hdG9taWMoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+PiAgCWNydGMtPmVu YWJsZWQgPSBmYWxzZTsKPj4gIAljcnRjLT5zdGF0ZS0+Y29ubmVjdG9yX21hc2sgPSAwOwo+PiAg CWNydGMtPnN0YXRlLT5lbmNvZGVyX21hc2sgPSAwOwo+PiArCWludGVsX2NydGNfZnJlZV9od19z dGF0ZShjcnRjX3N0YXRlKTsKPj4gKwltZW1zZXQoJmNydGNfc3RhdGUtPmh3LCAwLCBzaXplb2Yo Y3J0Y19zdGF0ZS0+aHcpKTsKPj4gIAo+PiAgCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0YyhjcnRj LT5kZXYsIGNydGMsIGVuY29kZXIpCj4+ICAJCWVuY29kZXItPmJhc2UuY3J0YyA9IE5VTEw7Cj4+ IEBAIC0xMjQ4MiwyMiArMTI0ODQsNTAgQEAgc3RhdGljIGJvb2wgY2hlY2tfZGlnaXRhbF9wb3J0 X2NvbmZsaWN0cyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKPj4gIAlyZXR1cm4g cmV0Owo+PiAgfQo+PiAgCj4+ICtzdGF0aWMgdm9pZAo+PiAraW50ZWxfY3J0Y19jb3B5X3VhcGlf dG9faHdfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+ICt7Cj4+ ICsJY3J0Y19zdGF0ZS0+aHcuZW5hYmxlID0gY3J0Y19zdGF0ZS0+dWFwaS5lbmFibGU7Cj4+ICsJ Y3J0Y19zdGF0ZS0+aHcuYWN0aXZlID0gY3J0Y19zdGF0ZS0+dWFwaS5hY3RpdmU7Cj4+ICsJY3J0 Y19zdGF0ZS0+aHcubW9kZSA9IGNydGNfc3RhdGUtPnVhcGkubW9kZTsKPj4gKwljcnRjX3N0YXRl LT5ody5hZGp1c3RlZF9tb2RlID0gY3J0Y19zdGF0ZS0+dWFwaS5hZGp1c3RlZF9tb2RlOwo+PiAr CWludGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhjcnRjX3N0YXRlKTsKPj4gK30KPj4gKwo+PiAr c3RhdGljIHZvaWQgY29weV9od190b191YXBpX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQo+PiArewo+PiArCWNydGNfc3RhdGUtPnVhcGkuZW5hYmxlID0gY3J0Y19z dGF0ZS0+aHcuZW5hYmxlOwo+PiArCWNydGNfc3RhdGUtPnVhcGkuYWN0aXZlID0gY3J0Y19zdGF0 ZS0+aHcuYWN0aXZlOwo+PiArCWNydGNfc3RhdGUtPnVhcGkubW9kZSA9IGNydGNfc3RhdGUtPmh3 Lm1vZGU7Cj4+ICsJY3J0Y19zdGF0ZS0+dWFwaS5hZGp1c3RlZF9tb2RlID0gY3J0Y19zdGF0ZS0+ aHcuYWRqdXN0ZWRfbW9kZTsKPiBXaHkgYXJlIHdlIG5vdCBjb3B5aW5nIHRoZSBjb2xvciBibG9i cz8KCkhtbSwgd2UgcHJvYmFibHkgc2hvdWxkIGF0IGxlYXN0IGNvcHkgdGhlIGdhbW1hIGJsb2Is IGJ1dCBwcm9iYWJseSBhbGwuIDopCgpNaXNzZWQgdGhhdCBiZWNhdXNlIHRoaXMgcGF0Y2ggbGlu Z2VyZWQgb24gdGhlIG1sIGZvciBzbyBsb25nIHdlIGFkZGVkIGh3IHJlYWRvdXQgaW4gdGhlIG1l YW4gdGltZS4KCj4KPj4gK30KPj4gKwo+PiAgc3RhdGljIGludAo+PiAtY2xlYXJfaW50ZWxfY3J0 Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPj4gK2ludGVsX2Ny dGNfcHJlcGFyZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiBI bW0uIEkgd2FzIGhvcGluZyB3ZSBjb3VsZCBtYWtlIHRoaXMgZXZlbiBzaW1wbGVyLCBidXQgbWF5 YmUgSSdtIGEgYml0Cj4gbmFpdmUuIEkgZ3Vlc3Mgd2UgcmVhbGx5IGRvIG5lZWQgdG8gY29uc2lk ZXIgbmVlZHNfbW9kZXNldCgpIHNvIGFzIHRvCj4gbm90IGNsb2JiZXIgdGhlIGFscmVhZHkgY29t cHV0ZWQgaHcgc3RhdGUgd2hlbiB3ZSdyZSBub3QgZ29pbmcgdG8gdGFrZQo+IHRoZSBmdWxsIC5j b21wdXRlX2NvbmZpZygpIHBhdGguCj4KPj4gIHsKPj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPQo+PiAgCQl0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsK Pj4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqc2F2ZWRfc3RhdGU7Cj4+ICAKPj4gKwlpZiAo IW5lZWRzX21vZGVzZXQoY3J0Y19zdGF0ZSkpIHsKPj4gKwkJLyogT25seSBuZWVkIHRvIHVwZGF0 ZSBjcnRjX3N0YXRlLT5odyBjb2xvciBibG9icyAqLwo+IFRoYXQgY29tbWVudCBpcyBsaWtlbHkg dG8gZ2V0IG91dCBvZiBkYXRlLiBOb3Qgc3VyZSBob3cgdG8gd29yZCBpdCBpbiBhCj4gbmljZSB3 YXkgdGhvdWdoLiBFc3NlbnRpYWxseSB3ZSBqdXN0IHdhbnQgdG8gY29weSB0aGUgcGFydCBvZiB0 aGUgc3RhdGUKPiB0aGF0IGRvZXNuJ3QgY2xvYmJlciBhbnl0aGluZyBzZXQgdXAgYnkgLmNvbXB1 dGVfY29uZmlnKCkgJiBjby4KPgo+IEl0IHdvdWxkIGJlIG5pY2UgaWYgd2UgaGFkIHRoZSBzYW1l IGxldmVsIG9mIGFic3RyYWN0aW9uIGZvciB0aGlzIGNhc2UKPiBhcyBmb3IgdGhlIGZ1bGwgbW9k ZXNldCBjYXNlLiBFZy4gaW50ZWxfY3J0Y19jb3B5X2h3X3N0YXRlX25vbl9tb2Rlc2V0KCkKPiBv ciBzb21ldGhpbmcuIEEgYml0IHVnbHkgdGhhdCBuYW1lIHRob3VnaC4gTWlnaHQgaGF2ZSB0aGlu ayBvZiBzb21ldGhpbmcKPiBiZXR0ZXIuCj4KPiBBbm90aGVyIHRoaW5nIHRoYXQncyBhIGJpdCBj b25mdXNpbmcgaXMgdGhhdCB3ZSBuZWVkIHRvIGRvIHRoZQo+IGludGVsX2NydGNfZnJlZV9od19z dGF0ZSgpIGZvciB0aGUgZnVsbCBtb2Rlc2V0IHBhdGgsIGJ1dCB3ZSBkb24ndAo+IG5lZWQgaXQg Zm9yIHRoZSBub24tbW9kZXNldCBwYXRoLiBXb3VsZCBiZSBuaWNlIGl0IHRoZSB0d28gcGF0aHMK PiBiZWhhdmVkIG1vcmUgdW5pZm9ybWx5LiAKV2UnZCBoYXZlIHRvIGdldCByaWQgb2YgdGhlIGNy dGNfc3RhdGUgY2xlYXJpbmcgZm9yIHRoYXQuIDooCj4+ICsJCWludGVsX2NydGNfY29weV9jb2xv cl9ibG9icyhjcnRjX3N0YXRlKTsKPj4gKwkJcmV0dXJuIDA7Cj4+ICsJfQo+PiArCj4+ICAJc2F2 ZWRfc3RhdGUgPSBremFsbG9jKHNpemVvZigqc2F2ZWRfc3RhdGUpLCBHRlBfS0VSTkVMKTsKPj4g IAlpZiAoIXNhdmVkX3N0YXRlKQo+PiAgCQlyZXR1cm4gLUVOT01FTTsKPj4gIAo+PiArCS8qIGZy ZWUgdGhlIG9sZCBjcnRjX3N0YXRlLT5odyBtZW1iZXJzICovCj4+ICsJaW50ZWxfY3J0Y19mcmVl X2h3X3N0YXRlKGNydGNfc3RhdGUpOwo+PiArCj4+ICAJLyogRklYTUU6IGJlZm9yZSB0aGUgc3dp dGNoIHRvIGF0b21pYyBzdGFydGVkLCBhIG5ldyBwaXBlX2NvbmZpZyB3YXMKPj4gIAkgKiBremFs bG9jJ2QuIENvZGUgdGhhdCBkZXBlbmRzIG9uIGFueSBmaWVsZCBiZWluZyB6ZXJvIHNob3VsZCBi ZQo+PiAgCSAqIGZpeGVkLCBzbyB0aGF0IHRoZSBjcnRjX3N0YXRlIGNhbiBiZSBzYWZlbHkgZHVw bGljYXRlZC4gRm9yIG5vdywKPj4gIAkgKiBvbmx5IGZpZWxkcyB0aGF0IGFyZSBrbm93IHRvIG5v dCBjYXVzZSBwcm9ibGVtcyBhcmUgcHJlc2VydmVkLiAqLwo+PiAgCj4+ICsJc2F2ZWRfc3RhdGUt PnVhcGkgPSBjcnRjX3N0YXRlLT51YXBpOwo+PiAgCXNhdmVkX3N0YXRlLT5zY2FsZXJfc3RhdGUg PSBjcnRjX3N0YXRlLT5zY2FsZXJfc3RhdGU7Cj4+ICAJc2F2ZWRfc3RhdGUtPnNoYXJlZF9kcGxs ID0gY3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGw7Cj4+ICAJc2F2ZWRfc3RhdGUtPmRwbGxfaHdfc3Rh dGUgPSBjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlOwo+PiBAQCAtMTI1MTUsMTQgKzEyNTQ1LDEx IEBAIGNsZWFyX2ludGVsX2NydGNfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4+ICAJCXNhdmVkX3N0YXRlLT5zeW5jX21vZGVfc2xhdmVzX21hc2sgPQo+PiAgCQkJ Y3J0Y19zdGF0ZS0+c3luY19tb2RlX3NsYXZlc19tYXNrOwo+PiAgCj4+IC0JLyogS2VlcCBiYXNl IGRybV9jcnRjX3N0YXRlIGludGFjdCwgb25seSBjbGVhciBvdXIgZXh0ZW5kZWQgc3RydWN0ICov Cj4+IC0JQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlLCBiYXNl KSk7Cj4+IC0JQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlLCB1 YXBpKSk7Cj4+IC0JQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl LCBodykpOwo+PiAtCW1lbWNweSgmY3J0Y19zdGF0ZS0+dWFwaSArIDEsICZzYXZlZF9zdGF0ZS0+ dWFwaSArIDEsCj4+IC0JICAgICAgIHNpemVvZigqY3J0Y19zdGF0ZSkgLSBzaXplb2YoY3J0Y19z dGF0ZS0+dWFwaSkpOwo+PiAtCj4+ICsJbWVtY3B5KGNydGNfc3RhdGUsIHNhdmVkX3N0YXRlLCBz aXplb2YoKmNydGNfc3RhdGUpKTsKPj4gIAlrZnJlZShzYXZlZF9zdGF0ZSk7Cj4+ICsKPj4gKwlp bnRlbF9jcnRjX2NvcHlfdWFwaV90b19od19zdGF0ZShjcnRjX3N0YXRlKTsKPj4gKwo+PiAgCXJl dHVybiAwOwo+PiAgfQo+PiAgCj4+IEBAIC0xMjUzOCwxMCArMTI1NjUsNiBAQCBpbnRlbF9tb2Rl c2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKPj4g IAlpbnQgaTsKPj4gIAlib29sIHJldHJ5ID0gdHJ1ZTsKPj4gIAo+PiAtCXJldCA9IGNsZWFyX2lu dGVsX2NydGNfc3RhdGUocGlwZV9jb25maWcpOwo+PiAtCWlmIChyZXQpCj4+IC0JCXJldHVybiBy ZXQ7Cj4+IC0KPj4gIAlwaXBlX2NvbmZpZy0+Y3B1X3RyYW5zY29kZXIgPQo+PiAgCQkoZW51bSB0 cmFuc2NvZGVyKSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOwo+PiAgCj4+IEBAIC0xMzM2MSw2 ICsxMzM4NCw4IEBAIHZlcmlmeV9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ PiAgCj4+ICAJc3RhdGUgPSBvbGRfY3J0Y19zdGF0ZS0+dWFwaS5zdGF0ZTsKPj4gIAlfX2RybV9h dG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSgmb2xkX2NydGNfc3RhdGUtPnVhcGkpOwo+ PiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShvbGRfY3J0Y19zdGF0ZSk7Cj4+ICsKPj4gIAlw aXBlX2NvbmZpZyA9IG9sZF9jcnRjX3N0YXRlOwo+PiAgCW1lbXNldChwaXBlX2NvbmZpZywgMCwg c2l6ZW9mKCpwaXBlX2NvbmZpZykpOwo+PiAgCXBpcGVfY29uZmlnLT51YXBpLmNydGMgPSAmY3J0 Yy0+YmFzZTsKPj4gQEAgLTEzODIzLDYgKzEzODQ4LDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRv bWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ICAKPj4gIAlmb3JfZWFjaF9vbGRu ZXdfaW50ZWxfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsCj4+ICAJ CQkJCSAgICBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+PiArCQlyZXQgPSBpbnRlbF9jcnRjX3ByZXBh cmVfc3RhdGUobmV3X2NydGNfc3RhdGUpOwo+PiArCQlpZiAocmV0KQo+PiArCQkJcmV0dXJuIHJl dDsKPiBJIGhhdmUgYSBmZWVsaW5nIHRoaXMgc2hvdWxkIGJlIGl0cyBvd24gbG9vcCBpbiBjYXNl IHdlIG5lZWQKPiB0byBpbnNlcnQgZ2xvYmFsIHN0dWZmIGFmdGVyIHRoaXMuCj4KPiBGb3IgZXhh bXBsZSwgSSB0aGluayB0aGUgcG9ydCBzeW5jIHN0dWZmIHNob3VsZCBiZSB0aGVyZSBidXQKPiBJ IGNhbid0IHNlZSBpdCBub3cuIEFoLCBmb3Igc29tZSByZWFzb24gaXQncyBidXJpZWQgZGVlcCBp bnNpZGUKPiBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKCkgd2hpY2ggc2VlbXMgd3JvbmcuIElm IGFueSAob3IgYXQKPiBsZWFzdCB0aGUgbWFzdGVyKSBvZiB0aGUgZ2VubG9ja2VkIHBpcGVzIGRv ZXMgYSBmdWxsIG1vZGVzZXQKPiB3ZSBuZWVkIHRvIGRvIGEgZnVsbCBtb2Rlc2V0IG9uIGFsbCBv ZiB0aGVtLCB3aGljaCBzaG91bGQgYWxzbwo+IG1lYW4gYSBmdWxsIC5jb21wdXRlX2NvbmZpZygp IG9uIGV2ZXJ5dGhpbmcuCj4KPiBIbW0uIEFuZCBpZiB3ZSBkbyB0aGF0IHRoZW4gY29tYmluaW5n IHRoZSB1YXBpLT5odyBjb3B5IGFuZAo+IGNsZWFyX2ludGVsX2NydGNfc3RhdGUoKSBsaWtlIHRo aXMgaXMgbm90IGdvaW5nIHRvIHdvcmsuCkdlbmxvY2sgd291bGQgYmUgbWVzc3kgZWl0aGVyIHdh eSwgd2l0aCBmYXN0c2V0IHZzIG1vZGVzZXQuIEl0IHdvdWxkIG5lZWQgaXRzIG93biBzZWNvbmQg bG9vcCB0byBoYW5kbGUgY29ycmVjdGx5Lgo+Cj4+ICsKPj4gIAkJaWYgKCFuZWVkc19tb2Rlc2V0 KG5ld19jcnRjX3N0YXRlKSkKPj4gIAkJCWNvbnRpbnVlOwo+PiAgCj4+IEBAIC0xNzA5OSw2ICsx NzEyOCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+PiAgCQkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNl LnN0YXRlKTsKPj4gIAo+PiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0 ZSgmY3J0Y19zdGF0ZS0+dWFwaSk7Cj4+ICsJCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRj X3N0YXRlKTsKPj4gIAkJbWVtc2V0KGNydGNfc3RhdGUsIDAsIHNpemVvZigqY3J0Y19zdGF0ZSkp Owo+PiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoJmNydGMtPmJhc2UsICZjcnRj X3N0YXRlLT51YXBpKTsKPj4gIAo+PiBAQCAtMTcyMjcsNiArMTcyNTcsNyBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikK Pj4gIAkJCSAqIHNldCBhIGZsYWcgdG8gaW5kaWNhdGUgdGhhdCBhIGZ1bGwgcmVjYWxjdWxhdGlv biBpcwo+PiAgCQkJICogbmVlZGVkIG9uIHRoZSBuZXh0IGNvbW1pdC4KPj4gIAkJCSAqLwo+PiAr CQkJY3J0Y19zdGF0ZS0+aHcubW9kZSA9IGNydGMtPmJhc2UubW9kZTsKPj4gIAkJCWNydGNfc3Rh dGUtPmh3Lm1vZGUucHJpdmF0ZV9mbGFncyA9IEk5MTVfTU9ERV9GTEFHX0lOSEVSSVRFRDsKPj4g IAo+PiAgCQkJaW50ZWxfY3J0Y19jb21wdXRlX3BpeGVsX3JhdGUoY3J0Y19zdGF0ZSk7Cj4+IEBA IC0xNzI1Nyw2ICsxNzI4OCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9o d19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiAgCj4+ICAJCWludGVsX2J3X2NydGNf dXBkYXRlKGJ3X3N0YXRlLCBjcnRjX3N0YXRlKTsKPj4gIAo+PiArCQljb3B5X2h3X3RvX3VhcGlf c3RhdGUoY3J0Y19zdGF0ZSk7Cj4+ICAJCWludGVsX3BpcGVfY29uZmlnX3Nhbml0eV9jaGVjayhk ZXZfcHJpdiwgY3J0Y19zdGF0ZSk7Cj4+ICAJfQo+PiAgfQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+PiBpbmRleCA0Njk3Zjcx OWIzYTguLjE3YzllYzMwMGYxOCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPj4gQEAgLTc0OSw4ICs3NDksNiBAQCBl bnVtIGludGVsX291dHB1dF9mb3JtYXQgewo+PiAgfTsKPj4gIAo+PiAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgewo+PiAtCXVuaW9uIHsKPj4gLQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgYmFzZTsK Pj4gIAkvKgo+PiAgCSAqIHVhcGkgKGRybSkgc3RhdGUuIFRoaXMgaXMgdGhlIHNvZnR3YXJlIHN0 YXRlIHNob3duIHRvIHVzZXJzcGFjZS4KPj4gIAkgKiBJbiBwYXJ0aWN1bGFyLCB0aGUgZm9sbG93 aW5nIG1lbWJlcnMgYXJlIHVzZWQgZm9yIGJvb2trZWVwaW5nOgo+PiBAQCAtNzczLDggKzc3MSwx MSBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7Cj4+ICAJICoKPj4gIAkgKiBEdXJpbmcgaW5p dGlhbCBodyByZWFkb3V0LCB0aGV5IG5lZWQgdG8gYmUgY29waWVkIHRvIHVhcGkuCj4+ICAJICov Cj4+IC0Jc3RydWN0IGRybV9jcnRjX3N0YXRlIGh3Owo+PiAtCX07Cj4+ICsJc3RydWN0IHsKPj4g KwkJYm9vbCBhY3RpdmUsIGVuYWJsZTsKPj4gKwkJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpk ZWdhbW1hX2x1dCwgKmdhbW1hX2x1dCwgKmN0bTsKPj4gKwkJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgbW9kZSwgYWRqdXN0ZWRfbW9kZTsKPj4gKwl9IGh3Owo+PiAgCj4+ICAJLyoqCj4+ICAJICog cXVpcmtzIC0gYml0ZmllbGQgd2l0aCBodyBzdGF0ZSByZWFkb3V0IHF1aXJrcwo+PiAtLSAKPj4g Mi4yMy4wCj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwo+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eA==