From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [CI 06/12] drm/i915: Complete crtc hw/uapi split, v5. Date: Wed, 30 Oct 2019 18:51:22 +0200 Message-ID: <20191030165122.GP1208@intel.com> References: <20191030142657.22405-1-maarten.lankhorst@linux.intel.com> <20191030142657.22405-6-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 978756EAD0 for ; Wed, 30 Oct 2019 16:51:26 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191030142657.22405-6-maarten.lankhorst@linux.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 T24gV2VkLCBPY3QgMzAsIDIwMTkgYXQgMDM6MjY6NTFQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gTm93IHRoYXQgd2Ugc2VwYXJhdGVkIGV2ZXJ5dGhpbmcgaW50byB1YXBpIGFu ZCBodywgaXQncwo+IHRpbWUgdG8gbWFrZSB0aGUgc3BsaXQgZGVmaW5pdGl2ZS4gUmVtb3ZlIHRo ZSB1bmlvbiBhbmQKPiBtYWtlIGEgY29weSBvZiB0aGUgaHcgc3RhdGUgb24gbW9kZXNldCBhbmQg ZmFzdHNldC4KPiAKPiBDb2xvciBibG9icyBhcmUgY29waWVkIGluIGNydGMgYXRvbWljX2NoZWNr KCksIHJpZ2h0Cj4gYmVmb3JlIGNvbG9yIG1hbmFnZW1lbnQgaXMgY2hlY2tlZC4KPiAKPiBDaGFu Z2VzIHNpbmNlIHYxOgo+IC0gQ29weSBhbGwgYmxvYnMgaW1tZWRpYXRlbHkgYWZ0ZXIgZHJtX2F0 b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldCgpLgo+IC0gQ2xlYXIgY3J0Y19zdGF0ZS0+aHcgb24g ZGlzYWJsZSwgaW5zdGVhZCBvZiB1c2luZyBjbGVhcl9pbnRlbF9jcnRjX3N0YXRlKCkuCj4gQ2hh bmdlcyBzaW5jZSB2MjoKPiAtIFVzZSBpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUgKyBjbGVhciBp biBpbnRlbF9jcnRjX2Rpc2FibGVfbm9hdG9taWMoKS4KPiAtIE1ha2UgYSBpbnRlbF9jcnRjX3By ZXBhcmVfc3RhdGUoKSBmdW5jdGlvbiB0aGF0IGNsZWFycyB0aGUgY3J0Y19zdGF0ZQo+ICAgYW5k IGNvcGllcyBodyBtZW1iZXJzLgo+IC0gUmVtb3ZlIHNldHRpbmcgdWFwaS5hZGp1c3RlZF9tb2Rl LCB3ZSBub3cgaGF2ZSBhIGRpcmVjdCBjYWxsIHRvCj4gICBkcm1fY2FsY190aW1lc3RhbXBpbmdf Y29uc3RhbnRzKCkuCj4gQ2hhbmdlcyBzaW5jZSB2MzoKPiAtIFJlbmFtZSBwcmVmaXggY29weV9o d190b191YXBpX3N0YXRlKCkgd2l0aCBpbnRlbF9jcnRjLgo+IC0gQ29weSBjb2xvciBibG9icyB0 byB1YXBpIGFzIHdlbGwuCj4gLSBBZGQgYSBpbnRlbF9jcnRjX2NvcHlfdWFwaV90b19od19zdGF0 ZV9ub21vZGVzZXQoKSBmdW5jdGlvbiBmb3IgY2xhcml0eS4KPiBDaGFuZ2VzIHNpbmNlIHY0Ogo+ IC0gQ29weSBody5hZGp1c3RlZF9tb2RlIGJhY2sgdG8gdWFwaS5hZGp1c3RlZF9tb2RlLCB0byBz aHV0IHVwCj4gICB0aGUgY2FsbCB0byBkcm1fY2FsY190aW1lc3RhbXBpbmdfY29uc3RhbnRzKCkg aW4KPiAgIGRybV9hdG9taWNfaGVscGVyX3VwZGF0ZV9sZWdhY3lfbW9kZXNldF9zdGF0ZSgpLgo+ IC0gVXNlIGRybV9wcm9wZXJ0eV9yZXBsYWNlX2Jsb2IgKFZpbGxlKS4KPiAKPiBTaWduZWQtb2Zm LWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29t Pgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jICAg fCAzMSArKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21p Yy5oICAgfCAgMiArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eS5jICB8IDc4ICsrKysrKysrKysrKysrKy0tLS0KPiAgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheV90eXBlcy5oICAgIHwgIDkgKystCj4gIDQgZmlsZXMgY2hhbmdlZCwgMTAzIGlu c2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9hdG9taWMuYwo+IGluZGV4IDQ4OTY0ZjMzYzBjMS4uMzMwMWMxNzhkYTAz IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWlj LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jCj4g QEAgLTE5NSw2ICsxOTUsMTQgQEAgaW50ZWxfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRy bV9jcnRjICpjcnRjKQo+ICAKPiAgCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNhdGVf c3RhdGUoY3J0YywgJmNydGNfc3RhdGUtPnVhcGkpOwo+ICAKPiArCS8qIGNvcHkgY29sb3IgYmxv YnMgKi8KPiArCWlmIChjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dCkKPiArCQlkcm1fcHJvcGVy dHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9sdXQpOwo+ICsJaWYgKGNydGNfc3Rh dGUtPmh3LmN0bSkKPiArCQlkcm1fcHJvcGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+aHcuY3Rt KTsKPiArCWlmIChjcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQpCj4gKwkJZHJtX3Byb3BlcnR5X2Js b2JfZ2V0KGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCk7Cj4gKwo+ICAJY3J0Y19zdGF0ZS0+dXBk YXRlX3BpcGUgPSBmYWxzZTsKPiAgCWNydGNfc3RhdGUtPmRpc2FibGVfbHBfd20gPSBmYWxzZTsK PiAgCWNydGNfc3RhdGUtPmRpc2FibGVfY3hzciA9IGZhbHNlOwo+IEBAIC0yMDgsNiArMjE2LDI4 IEBAIGludGVsX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAg CXJldHVybiAmY3J0Y19zdGF0ZS0+dWFwaTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgaW50ZWxf Y3J0Y19wdXRfY29sb3JfYmxvYnMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp Cj4gK3sKPiArCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1 dCk7Cj4gKwlkcm1fcHJvcGVydHlfYmxvYl9wdXQoY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0KTsK PiArCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChjcnRjX3N0YXRlLT5ody5jdG0pOwo+ICt9Cj4gKwo+ ICt2b2lkIGludGVsX2NydGNfZnJlZV9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKPiArewo+ICsJaW50ZWxfY3J0Y19wdXRfY29sb3JfYmxvYnMoY3J0Y19zdGF0 ZSk7Cj4gK30KPiArCj4gK3ZvaWQgaW50ZWxfY3J0Y19jb3B5X2NvbG9yX2Jsb2JzKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICt7Cj4gKwlkcm1fcHJvcGVydHlfcmVwbGFj ZV9ibG9iKCZjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dCwKPiArCQkJCSAgY3J0Y19zdGF0ZS0+ dWFwaS5kZWdhbW1hX2x1dCk7Cj4gKwlkcm1fcHJvcGVydHlfcmVwbGFjZV9ibG9iKCZjcnRjX3N0 YXRlLT5ody5nYW1tYV9sdXQsCj4gKwkJCQkgIGNydGNfc3RhdGUtPnVhcGkuZ2FtbWFfbHV0KTsK PiArCWRybV9wcm9wZXJ0eV9yZXBsYWNlX2Jsb2IoJmNydGNfc3RhdGUtPmh3LmN0bSwKPiArCQkJ CSAgY3J0Y19zdGF0ZS0+dWFwaS5jdG0pOwo+ICt9Cj4gKwo+ICAvKioKPiAgICogaW50ZWxfY3J0 Y19kZXN0cm95X3N0YXRlIC0gZGVzdHJveSBjcnRjIHN0YXRlCj4gICAqIEBjcnRjOiBkcm0gY3J0 Ywo+IEBAIC0yMjMsNiArMjUzLDcgQEAgaW50ZWxfY3J0Y19kZXN0cm95X3N0YXRlKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKPiAgCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0g dG9faW50ZWxfY3J0Y19zdGF0ZShzdGF0ZSk7Cj4gIAo+ICAJX19kcm1fYXRvbWljX2hlbHBlcl9j cnRjX2Rlc3Ryb3lfc3RhdGUoJmNydGNfc3RhdGUtPnVhcGkpOwo+ICsJaW50ZWxfY3J0Y19mcmVl X2h3X3N0YXRlKGNydGNfc3RhdGUpOwo+ICAJa2ZyZWUoY3J0Y19zdGF0ZSk7Cj4gIH0KPiAgCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5oCj4gaW5kZXggNDlk NWNiMWI5ZTBhLi43YjQ5NjIzNDE5YmEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfYXRvbWljLmgKPiBAQCAtMzYsNiArMzYsOCBAQCBpbnRlbF9kaWdpdGFsX2Nv bm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7 Cj4gIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqaW50ZWxfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3Ry dWN0IGRybV9jcnRjICpjcnRjKTsKPiAgdm9pZCBpbnRlbF9jcnRjX2Rlc3Ryb3lfc3RhdGUoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCQkgICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpz dGF0ZSk7Cj4gK3ZvaWQgaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKTsKPiArdm9pZCBpbnRlbF9jcnRjX2NvcHlfY29sb3JfYmxvYnMo c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ICBzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqaW50ZWxfYXRvbWljX3N0YXRlX2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Owo+ICB2b2lkIGludGVsX2F0b21pY19zdGF0ZV9jbGVhcihzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rp c3BsYXkuYwo+IGluZGV4IDY2MjIzNzAxZWY3OC4uZTMwZjQ2N2VlYzY3IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtNzE4NSw2ICs3 MTg1LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19kaXNhYmxlX25vYXRvbWljKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKPiAgCWNydGMtPmVuYWJsZWQgPSBmYWxzZTsKPiAgCWNydGMtPnN0YXRl LT5jb25uZWN0b3JfbWFzayA9IDA7Cj4gIAljcnRjLT5zdGF0ZS0+ZW5jb2Rlcl9tYXNrID0gMDsK PiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRlKTsKPiArCW1lbXNldCgmY3J0 Y19zdGF0ZS0+aHcsIDAsIHNpemVvZihjcnRjX3N0YXRlLT5odykpOwo+ICAKPiAgCWZvcl9lYWNo X2VuY29kZXJfb25fY3J0YyhjcnRjLT5kZXYsIGNydGMsIGVuY29kZXIpCj4gIAkJZW5jb2Rlci0+ YmFzZS5jcnRjID0gTlVMTDsKPiBAQCAtMTI1NjAsOCArMTI1NjIsNDAgQEAgc3RhdGljIGJvb2wg Y2hlY2tfZGlnaXRhbF9wb3J0X2NvbmZsaWN0cyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpz dGF0ZSkKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkCj4gK2ludGVsX2Ny dGNfY29weV91YXBpX3RvX2h3X3N0YXRlX25vbW9kZXNldChzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKPiArewo+ICsJaW50ZWxfY3J0Y19jb3B5X2NvbG9yX2Jsb2JzKGNydGNf c3RhdGUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZAo+ICtpbnRlbF9jcnRjX2NvcHlfdWFwaV90 b19od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArewo+ICsJ Y3J0Y19zdGF0ZS0+aHcuZW5hYmxlID0gY3J0Y19zdGF0ZS0+dWFwaS5lbmFibGU7Cj4gKwljcnRj X3N0YXRlLT5ody5hY3RpdmUgPSBjcnRjX3N0YXRlLT51YXBpLmFjdGl2ZTsKPiArCWNydGNfc3Rh dGUtPmh3Lm1vZGUgPSBjcnRjX3N0YXRlLT51YXBpLm1vZGU7Cj4gKwljcnRjX3N0YXRlLT5ody5h ZGp1c3RlZF9tb2RlID0gY3J0Y19zdGF0ZS0+dWFwaS5hZGp1c3RlZF9tb2RlOwo+ICsJaW50ZWxf Y3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGVfbm9tb2Rlc2V0KGNydGNfc3RhdGUpOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2NvcHlfaHdfdG9fdWFwaV9zdGF0ZShzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArewo+ICsJY3J0Y19zdGF0ZS0+dWFwaS5l bmFibGUgPSBjcnRjX3N0YXRlLT5ody5lbmFibGU7Cj4gKwljcnRjX3N0YXRlLT51YXBpLmFjdGl2 ZSA9IGNydGNfc3RhdGUtPmh3LmFjdGl2ZTsKPiArCWNydGNfc3RhdGUtPnVhcGkubW9kZSA9IGNy dGNfc3RhdGUtPmh3Lm1vZGU7Cj4gKwljcnRjX3N0YXRlLT51YXBpLmFkanVzdGVkX21vZGUgPSBj cnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlOwo+ICsKPiArCS8qIGNvcHkgY29sb3IgYmxvYnMg dG8gdWFwaSAqLwo+ICsJZHJtX3Byb3BlcnR5X3JlcGxhY2VfYmxvYigmY3J0Y19zdGF0ZS0+dWFw aS5kZWdhbW1hX2x1dCwKPiArCQkJCSAgY3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9sdXQpOwo+ICsJ ZHJtX3Byb3BlcnR5X3JlcGxhY2VfYmxvYigmY3J0Y19zdGF0ZS0+dWFwaS5nYW1tYV9sdXQsCj4g KwkJCQkgIGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCk7Cj4gKwlkcm1fcHJvcGVydHlfcmVwbGFj ZV9ibG9iKCZjcnRjX3N0YXRlLT51YXBpLmN0bSwKPiArCQkJCSAgY3J0Y19zdGF0ZS0+aHcuY3Rt KTsKPiArfQo+ICsKPiAgc3RhdGljIGludAo+IC1jbGVhcl9pbnRlbF9jcnRjX3N0YXRlKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICtpbnRlbF9jcnRjX3ByZXBhcmVfY2xl YXJlZF9zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+ICAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0KPiAgCQl0b19pOTE1KGNydGNfc3Rh dGUtPnVhcGkuY3J0Yy0+ZGV2KTsKPiBAQCAtMTI1NzEsMTEgKzEyNjA1LDE1IEBAIGNsZWFyX2lu dGVsX2NydGNfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAlp ZiAoIXNhdmVkX3N0YXRlKQo+ICAJCXJldHVybiAtRU5PTUVNOwo+ICAKPiArCS8qIGZyZWUgdGhl IG9sZCBjcnRjX3N0YXRlLT5odyBtZW1iZXJzICovCj4gKwlpbnRlbF9jcnRjX2ZyZWVfaHdfc3Rh dGUoY3J0Y19zdGF0ZSk7Cj4gKwo+ICAJLyogRklYTUU6IGJlZm9yZSB0aGUgc3dpdGNoIHRvIGF0 b21pYyBzdGFydGVkLCBhIG5ldyBwaXBlX2NvbmZpZyB3YXMKPiAgCSAqIGt6YWxsb2MnZC4gQ29k ZSB0aGF0IGRlcGVuZHMgb24gYW55IGZpZWxkIGJlaW5nIHplcm8gc2hvdWxkIGJlCj4gIAkgKiBm aXhlZCwgc28gdGhhdCB0aGUgY3J0Y19zdGF0ZSBjYW4gYmUgc2FmZWx5IGR1cGxpY2F0ZWQuIEZv ciBub3csCj4gIAkgKiBvbmx5IGZpZWxkcyB0aGF0IGFyZSBrbm93IHRvIG5vdCBjYXVzZSBwcm9i bGVtcyBhcmUgcHJlc2VydmVkLiAqLwo+ICAKPiArCXNhdmVkX3N0YXRlLT51YXBpID0gY3J0Y19z dGF0ZS0+dWFwaTsKPiAgCXNhdmVkX3N0YXRlLT5zY2FsZXJfc3RhdGUgPSBjcnRjX3N0YXRlLT5z Y2FsZXJfc3RhdGU7Cj4gIAlzYXZlZF9zdGF0ZS0+c2hhcmVkX2RwbGwgPSBjcnRjX3N0YXRlLT5z aGFyZWRfZHBsbDsKPiAgCXNhdmVkX3N0YXRlLT5kcGxsX2h3X3N0YXRlID0gY3J0Y19zdGF0ZS0+ ZHBsbF9od19zdGF0ZTsKPiBAQCAtMTI1OTMsMTQgKzEyNjMxLDExIEBAIGNsZWFyX2ludGVsX2Ny dGNfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAkJc2F2ZWRf c3RhdGUtPnN5bmNfbW9kZV9zbGF2ZXNfbWFzayA9Cj4gIAkJCWNydGNfc3RhdGUtPnN5bmNfbW9k ZV9zbGF2ZXNfbWFzazsKPiAgCj4gLQkvKiBLZWVwIGJhc2UgZHJtX2NydGNfc3RhdGUgaW50YWN0 LCBvbmx5IGNsZWFyIG91ciBleHRlbmRlZCBzdHJ1Y3QgKi8KPiAtCUJVSUxEX0JVR19PTihvZmZz ZXRvZihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSwgYmFzZSkpOwo+IC0JQlVJTERfQlVHX09OKG9m ZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlLCB1YXBpKSk7Cj4gLQlCVUlMRF9CVUdfT04o b2Zmc2V0b2Yoc3RydWN0IGludGVsX2NydGNfc3RhdGUsIGh3KSk7Cj4gLQltZW1jcHkoJmNydGNf c3RhdGUtPnVhcGkgKyAxLCAmc2F2ZWRfc3RhdGUtPnVhcGkgKyAxLAo+IC0JICAgICAgIHNpemVv ZigqY3J0Y19zdGF0ZSkgLSBzaXplb2YoY3J0Y19zdGF0ZS0+dWFwaSkpOwo+IC0KPiArCW1lbWNw eShjcnRjX3N0YXRlLCBzYXZlZF9zdGF0ZSwgc2l6ZW9mKCpjcnRjX3N0YXRlKSk7Cj4gIAlrZnJl ZShzYXZlZF9zdGF0ZSk7Cj4gKwo+ICsJaW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGUo Y3J0Y19zdGF0ZSk7Cj4gKwo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gQEAgLTEyNjE2LDEwICsx MjY1MSw2IEBAIGludGVsX21vZGVzZXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnKQo+ICAJaW50IGk7Cj4gIAlib29sIHJldHJ5ID0gdHJ1ZTsKPiAgCj4g LQlyZXQgPSBjbGVhcl9pbnRlbF9jcnRjX3N0YXRlKHBpcGVfY29uZmlnKTsKPiAtCWlmIChyZXQp Cj4gLQkJcmV0dXJuIHJldDsKPiAtCj4gIAlwaXBlX2NvbmZpZy0+Y3B1X3RyYW5zY29kZXIgPQo+ ICAJCShlbnVtIHRyYW5zY29kZXIpIHRvX2ludGVsX2NydGMoY3J0YyktPnBpcGU7Cj4gIAo+IEBA IC0xMjc0Nyw2ICsxMjc3OCwxMiBAQCBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKPiAgCURSTV9ERUJVR19LTVMoImh3IG1heCBi cHA6ICVpLCBwaXBlIGJwcDogJWksIGRpdGhlcmluZzogJWlcbiIsCj4gIAkJICAgICAgYmFzZV9i cHAsIHBpcGVfY29uZmlnLT5waXBlX2JwcCwgcGlwZV9jb25maWctPmRpdGhlcik7Cj4gIAo+ICsJ LyoKPiArCSAqIE1ha2UgZHJtX2NhbGNfdGltZXN0YW1waW5nX2NvbnN0YW50cyBpbgo+ICsJICog ZHJtX2F0b21pY19oZWxwZXJfdXBkYXRlX2xlZ2FjeV9tb2Rlc2V0X3N0YXRlKCkgaGFwcHkKPiAr CSAqLwo+ICsJcGlwZV9jb25maWctPnVhcGkuYWRqdXN0ZWRfbW9kZSA9IHBpcGVfY29uZmlnLT5o dy5hZGp1c3RlZF9tb2RlOwo+ICsKClllYWgsIG5vIGNob2ljZSBidXQgZG8gdGhpcyBub3cuIEhv cGVmdWxseSB3ZSBjYW4gbnVrZSB0aGlzIHNvb24uCgo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4g QEAgLTEzNDc2LDYgKzEzNTEzLDggQEAgdmVyaWZ5X2NydGNfc3RhdGUoc3RydWN0IGludGVsX2Ny dGMgKmNydGMsCj4gIAo+ICAJc3RhdGUgPSBvbGRfY3J0Y19zdGF0ZS0+dWFwaS5zdGF0ZTsKPiAg CV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZvbGRfY3J0Y19zdGF0ZS0+ dWFwaSk7Cj4gKwlpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUob2xkX2NydGNfc3RhdGUpOwo+ICsK PiAgCXBpcGVfY29uZmlnID0gb2xkX2NydGNfc3RhdGU7Cj4gIAltZW1zZXQocGlwZV9jb25maWcs IDAsIHNpemVvZigqcGlwZV9jb25maWcpKTsKPiAgCXBpcGVfY29uZmlnLT51YXBpLmNydGMgPSAm Y3J0Yy0+YmFzZTsKPiBAQCAtMTQwMTAsMTQgKzE0MDQ5LDI0IEBAIHN0YXRpYyBpbnQgaW50ZWxf YXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAo+ICAJZm9yX2VhY2hfb2xk bmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLAo+ICAJ CQkJCSAgICBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+IC0JCWlmICghbmVlZHNfbW9kZXNldChuZXdf Y3J0Y19zdGF0ZSkpCj4gKwkJaWYgKCFuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKSkgewo+ ICsJCQkvKiBMaWdodCBjb3B5ICovCj4gKwkJCWludGVsX2NydGNfY29weV91YXBpX3RvX2h3X3N0 YXRlX25vbW9kZXNldChuZXdfY3J0Y19zdGF0ZSk7Cj4gKwo+ICAJCQljb250aW51ZTsKPiArCQl9 Cj4gIAo+ICAJCWlmICghbmV3X2NydGNfc3RhdGUtPnVhcGkuZW5hYmxlKSB7Cj4gKwkJCWludGVs X2NydGNfY29weV91YXBpX3RvX2h3X3N0YXRlKG5ld19jcnRjX3N0YXRlKTsKPiArCj4gIAkJCWFu eV9tcyA9IHRydWU7Cj4gIAkJCWNvbnRpbnVlOwo+ICAJCX0KPiAgCj4gKwkJcmV0ID0gaW50ZWxf Y3J0Y19wcmVwYXJlX2NsZWFyZWRfc3RhdGUobmV3X2NydGNfc3RhdGUpOwo+ICsJCWlmIChyZXQp Cj4gKwkJCWdvdG8gZmFpbDsKPiArCj4gIAkJcmV0ID0gaW50ZWxfbW9kZXNldF9waXBlX2NvbmZp ZyhuZXdfY3J0Y19zdGF0ZSk7Cj4gIAkJaWYgKHJldCkKPiAgCQkJZ290byBmYWlsOwo+IEBAIC0x NzI5MSw2ICsxNzM0MCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19z dGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNy dGMtPmJhc2Uuc3RhdGUpOwo+ICAKPiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJv eV9zdGF0ZSgmY3J0Y19zdGF0ZS0+dWFwaSk7Cj4gKwkJaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRl KGNydGNfc3RhdGUpOwo+ICAJCW1lbXNldChjcnRjX3N0YXRlLCAwLCBzaXplb2YoKmNydGNfc3Rh dGUpKTsKPiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoJmNydGMtPmJhc2UsICZj cnRjX3N0YXRlLT51YXBpKTsKPiAgCj4gQEAgLTE3NDE5LDYgKzE3NDY5LDcgQEAgc3RhdGljIHZv aWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4gIAkJCSAqIHNldCBhIGZsYWcgdG8gaW5kaWNhdGUgdGhhdCBhIGZ1bGwgcmVjYWxjdWxhdGlv biBpcwo+ICAJCQkgKiBuZWVkZWQgb24gdGhlIG5leHQgY29tbWl0Lgo+ICAJCQkgKi8KPiArCQkJ Y3J0Y19zdGF0ZS0+aHcubW9kZSA9IGNydGMtPmJhc2UubW9kZTsKPiAgCQkJY3J0Y19zdGF0ZS0+ aHcubW9kZS5wcml2YXRlX2ZsYWdzID0gSTkxNV9NT0RFX0ZMQUdfSU5IRVJJVEVEOwo+ICAKPiAg CQkJaW50ZWxfY3J0Y19jb21wdXRlX3BpeGVsX3JhdGUoY3J0Y19zdGF0ZSk7Cj4gQEAgLTE3NDY3 LDYgKzE3NTE4LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRl KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAo+ICAJCWludGVsX2J3X2NydGNfdXBkYXRlKGJ3 X3N0YXRlLCBjcnRjX3N0YXRlKTsKPiAgCj4gKwkJaW50ZWxfY3J0Y19jb3B5X2h3X3RvX3VhcGlf c3RhdGUoY3J0Y19zdGF0ZSk7CgpJIHB1c2hlZCB0aGUgY3J0Yy0+YmFzZS5tb2RlIG51a2luZywg c28gdGhlIHJlYWRvdXQgd2lsbCBuZWVkIGEgc2xpZ2h0CmFkanVzdG1lbnQuIEkgYmVsaXZlIGl0 IHNob3VsZCBqdXN0IGxvb2sgbGlrZToKCglwaXBlX2NvbmZpZ190b19tb2RlKGh3LmFkanVzdGVk X21vZGUpOwoKCWh3Lm1vZGUgPSBody5hZGp1c3RlZF9tb2RlOwoJaHcubW9kZS5oZGlzcGxheSA9 IC4uLjsKCWh3Lm1vZGUudmRpc3BsYXkgPSAuLi47Ci4uLgoJaW50ZWxfY3J0Y19jb3B5X2h3X3Rv X3VhcGlfc3RhdGUoKTsKCkFuZCB3ZSdsbCBuZWVkIHRvIG1ha2UgaW50ZWxfY3J0Y19jb3B5X2h3 X3RvX3VhcGlfc3RhdGUoKQp1c2UgZHJtX2F0b21pY19zZXRfbW9kZV9mb3JfY3J0YygpIGluc3Rl YWQgb2YgZG9pbmcgYQpzdHJhaWdodCBjb3B5LCBvdGhlcndpc2UgdGhlIG1vZGVfYmxvYiB3aWxs IGdldCBvdXQgb2Ygc3luYy4KCk90aGVyd2lzZSBsZ3RtLgoKPiAgCQlpbnRlbF9waXBlX2NvbmZp Z19zYW5pdHlfY2hlY2soZGV2X3ByaXYsIGNydGNfc3RhdGUpOwo+ICAJfQo+ICB9Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPiBp bmRleCBlODQzNDNkM2JmOGQuLjkzMTljYTY4MjEwNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oCj4gQEAgLTc1Nyw4ICs3 NTcsNiBAQCBlbnVtIGludGVsX291dHB1dF9mb3JtYXQgewo+ICB9Owo+ICAKPiAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgewo+IC0JdW5pb24gewo+IC0Jc3RydWN0IGRybV9jcnRjX3N0YXRlIGJh c2U7Cj4gIAkvKgo+ICAJICogdWFwaSAoZHJtKSBzdGF0ZS4gVGhpcyBpcyB0aGUgc29mdHdhcmUg c3RhdGUgc2hvd24gdG8gdXNlcnNwYWNlLgo+ICAJICogSW4gcGFydGljdWxhciwgdGhlIGZvbGxv d2luZyBtZW1iZXJzIGFyZSB1c2VkIGZvciBib29ra2VlcGluZzoKPiBAQCAtNzgxLDggKzc3OSwx MSBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7Cj4gIAkgKgo+ICAJICogRHVyaW5nIGluaXRp YWwgaHcgcmVhZG91dCwgdGhleSBuZWVkIHRvIGJlIGNvcGllZCB0byB1YXBpLgo+ICAJICovCj4g LQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgaHc7Cj4gLQl9Owo+ICsJc3RydWN0IHsKPiArCQlib29s IGFjdGl2ZSwgZW5hYmxlOwo+ICsJCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZGVnYW1tYV9s dXQsICpnYW1tYV9sdXQsICpjdG07Cj4gKwkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgbW9kZSwg YWRqdXN0ZWRfbW9kZTsKPiArCX0gaHc7Cj4gIAo+ICAJLyoqCj4gIAkgKiBxdWlya3MgLSBiaXRm aWVsZCB3aXRoIGh3IHN0YXRlIHJlYWRvdXQgcXVpcmtzCj4gLS0gCj4gMi4yMy4wCj4gCj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZngg bWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKVmls bGUgU3lyasOkbMOkCkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeA== 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, 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 D89B8CA9EC5 for ; Wed, 30 Oct 2019 16:51:28 +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 8290D2190F for ; Wed, 30 Oct 2019 16:51:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8290D2190F 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 0F9236EAD0; Wed, 30 Oct 2019 16:51:28 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 978756EAD0 for ; Wed, 30 Oct 2019 16:51:26 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Oct 2019 09:51:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,248,1569308400"; d="scan'208";a="211362816" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga001.fm.intel.com with SMTP; 30 Oct 2019 09:51:23 -0700 Received: by stinkbox (sSMTP sendmail emulation); Wed, 30 Oct 2019 18:51:22 +0200 Date: Wed, 30 Oct 2019 18:51:22 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Maarten Lankhorst Message-ID: <20191030165122.GP1208@intel.com> References: <20191030142657.22405-1-maarten.lankhorst@linux.intel.com> <20191030142657.22405-6-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191030142657.22405-6-maarten.lankhorst@linux.intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [Intel-gfx] [CI 06/12] drm/i915: Complete crtc hw/uapi split, v5. 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: <20191030165122.edSOQZm1j3d2d_LxjmBBHu8JX7k1xCXOC7_TWHDETbs@z> T24gV2VkLCBPY3QgMzAsIDIwMTkgYXQgMDM6MjY6NTFQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gTm93IHRoYXQgd2Ugc2VwYXJhdGVkIGV2ZXJ5dGhpbmcgaW50byB1YXBpIGFu ZCBodywgaXQncwo+IHRpbWUgdG8gbWFrZSB0aGUgc3BsaXQgZGVmaW5pdGl2ZS4gUmVtb3ZlIHRo ZSB1bmlvbiBhbmQKPiBtYWtlIGEgY29weSBvZiB0aGUgaHcgc3RhdGUgb24gbW9kZXNldCBhbmQg ZmFzdHNldC4KPiAKPiBDb2xvciBibG9icyBhcmUgY29waWVkIGluIGNydGMgYXRvbWljX2NoZWNr KCksIHJpZ2h0Cj4gYmVmb3JlIGNvbG9yIG1hbmFnZW1lbnQgaXMgY2hlY2tlZC4KPiAKPiBDaGFu Z2VzIHNpbmNlIHYxOgo+IC0gQ29weSBhbGwgYmxvYnMgaW1tZWRpYXRlbHkgYWZ0ZXIgZHJtX2F0 b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldCgpLgo+IC0gQ2xlYXIgY3J0Y19zdGF0ZS0+aHcgb24g ZGlzYWJsZSwgaW5zdGVhZCBvZiB1c2luZyBjbGVhcl9pbnRlbF9jcnRjX3N0YXRlKCkuCj4gQ2hh bmdlcyBzaW5jZSB2MjoKPiAtIFVzZSBpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUgKyBjbGVhciBp biBpbnRlbF9jcnRjX2Rpc2FibGVfbm9hdG9taWMoKS4KPiAtIE1ha2UgYSBpbnRlbF9jcnRjX3By ZXBhcmVfc3RhdGUoKSBmdW5jdGlvbiB0aGF0IGNsZWFycyB0aGUgY3J0Y19zdGF0ZQo+ICAgYW5k IGNvcGllcyBodyBtZW1iZXJzLgo+IC0gUmVtb3ZlIHNldHRpbmcgdWFwaS5hZGp1c3RlZF9tb2Rl LCB3ZSBub3cgaGF2ZSBhIGRpcmVjdCBjYWxsIHRvCj4gICBkcm1fY2FsY190aW1lc3RhbXBpbmdf Y29uc3RhbnRzKCkuCj4gQ2hhbmdlcyBzaW5jZSB2MzoKPiAtIFJlbmFtZSBwcmVmaXggY29weV9o d190b191YXBpX3N0YXRlKCkgd2l0aCBpbnRlbF9jcnRjLgo+IC0gQ29weSBjb2xvciBibG9icyB0 byB1YXBpIGFzIHdlbGwuCj4gLSBBZGQgYSBpbnRlbF9jcnRjX2NvcHlfdWFwaV90b19od19zdGF0 ZV9ub21vZGVzZXQoKSBmdW5jdGlvbiBmb3IgY2xhcml0eS4KPiBDaGFuZ2VzIHNpbmNlIHY0Ogo+ IC0gQ29weSBody5hZGp1c3RlZF9tb2RlIGJhY2sgdG8gdWFwaS5hZGp1c3RlZF9tb2RlLCB0byBz aHV0IHVwCj4gICB0aGUgY2FsbCB0byBkcm1fY2FsY190aW1lc3RhbXBpbmdfY29uc3RhbnRzKCkg aW4KPiAgIGRybV9hdG9taWNfaGVscGVyX3VwZGF0ZV9sZWdhY3lfbW9kZXNldF9zdGF0ZSgpLgo+ IC0gVXNlIGRybV9wcm9wZXJ0eV9yZXBsYWNlX2Jsb2IgKFZpbGxlKS4KPiAKPiBTaWduZWQtb2Zm LWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29t Pgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jICAg fCAzMSArKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21p Yy5oICAgfCAgMiArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eS5jICB8IDc4ICsrKysrKysrKysrKysrKy0tLS0KPiAgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheV90eXBlcy5oICAgIHwgIDkgKystCj4gIDQgZmlsZXMgY2hhbmdlZCwgMTAzIGlu c2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9hdG9taWMuYwo+IGluZGV4IDQ4OTY0ZjMzYzBjMS4uMzMwMWMxNzhkYTAz IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWlj LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jCj4g QEAgLTE5NSw2ICsxOTUsMTQgQEAgaW50ZWxfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRy bV9jcnRjICpjcnRjKQo+ICAKPiAgCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNhdGVf c3RhdGUoY3J0YywgJmNydGNfc3RhdGUtPnVhcGkpOwo+ICAKPiArCS8qIGNvcHkgY29sb3IgYmxv YnMgKi8KPiArCWlmIChjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dCkKPiArCQlkcm1fcHJvcGVy dHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9sdXQpOwo+ICsJaWYgKGNydGNfc3Rh dGUtPmh3LmN0bSkKPiArCQlkcm1fcHJvcGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+aHcuY3Rt KTsKPiArCWlmIChjcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQpCj4gKwkJZHJtX3Byb3BlcnR5X2Js b2JfZ2V0KGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCk7Cj4gKwo+ICAJY3J0Y19zdGF0ZS0+dXBk YXRlX3BpcGUgPSBmYWxzZTsKPiAgCWNydGNfc3RhdGUtPmRpc2FibGVfbHBfd20gPSBmYWxzZTsK PiAgCWNydGNfc3RhdGUtPmRpc2FibGVfY3hzciA9IGZhbHNlOwo+IEBAIC0yMDgsNiArMjE2LDI4 IEBAIGludGVsX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAg CXJldHVybiAmY3J0Y19zdGF0ZS0+dWFwaTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgaW50ZWxf Y3J0Y19wdXRfY29sb3JfYmxvYnMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp Cj4gK3sKPiArCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1 dCk7Cj4gKwlkcm1fcHJvcGVydHlfYmxvYl9wdXQoY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0KTsK PiArCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChjcnRjX3N0YXRlLT5ody5jdG0pOwo+ICt9Cj4gKwo+ ICt2b2lkIGludGVsX2NydGNfZnJlZV9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKPiArewo+ICsJaW50ZWxfY3J0Y19wdXRfY29sb3JfYmxvYnMoY3J0Y19zdGF0 ZSk7Cj4gK30KPiArCj4gK3ZvaWQgaW50ZWxfY3J0Y19jb3B5X2NvbG9yX2Jsb2JzKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICt7Cj4gKwlkcm1fcHJvcGVydHlfcmVwbGFj ZV9ibG9iKCZjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dCwKPiArCQkJCSAgY3J0Y19zdGF0ZS0+ dWFwaS5kZWdhbW1hX2x1dCk7Cj4gKwlkcm1fcHJvcGVydHlfcmVwbGFjZV9ibG9iKCZjcnRjX3N0 YXRlLT5ody5nYW1tYV9sdXQsCj4gKwkJCQkgIGNydGNfc3RhdGUtPnVhcGkuZ2FtbWFfbHV0KTsK PiArCWRybV9wcm9wZXJ0eV9yZXBsYWNlX2Jsb2IoJmNydGNfc3RhdGUtPmh3LmN0bSwKPiArCQkJ CSAgY3J0Y19zdGF0ZS0+dWFwaS5jdG0pOwo+ICt9Cj4gKwo+ICAvKioKPiAgICogaW50ZWxfY3J0 Y19kZXN0cm95X3N0YXRlIC0gZGVzdHJveSBjcnRjIHN0YXRlCj4gICAqIEBjcnRjOiBkcm0gY3J0 Ywo+IEBAIC0yMjMsNiArMjUzLDcgQEAgaW50ZWxfY3J0Y19kZXN0cm95X3N0YXRlKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKPiAgCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0g dG9faW50ZWxfY3J0Y19zdGF0ZShzdGF0ZSk7Cj4gIAo+ICAJX19kcm1fYXRvbWljX2hlbHBlcl9j cnRjX2Rlc3Ryb3lfc3RhdGUoJmNydGNfc3RhdGUtPnVhcGkpOwo+ICsJaW50ZWxfY3J0Y19mcmVl X2h3X3N0YXRlKGNydGNfc3RhdGUpOwo+ICAJa2ZyZWUoY3J0Y19zdGF0ZSk7Cj4gIH0KPiAgCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5oCj4gaW5kZXggNDlk NWNiMWI5ZTBhLi43YjQ5NjIzNDE5YmEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfYXRvbWljLmgKPiBAQCAtMzYsNiArMzYsOCBAQCBpbnRlbF9kaWdpdGFsX2Nv bm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7 Cj4gIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqaW50ZWxfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3Ry dWN0IGRybV9jcnRjICpjcnRjKTsKPiAgdm9pZCBpbnRlbF9jcnRjX2Rlc3Ryb3lfc3RhdGUoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCQkgICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpz dGF0ZSk7Cj4gK3ZvaWQgaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKTsKPiArdm9pZCBpbnRlbF9jcnRjX2NvcHlfY29sb3JfYmxvYnMo c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ICBzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqaW50ZWxfYXRvbWljX3N0YXRlX2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Owo+ICB2b2lkIGludGVsX2F0b21pY19zdGF0ZV9jbGVhcihzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rp c3BsYXkuYwo+IGluZGV4IDY2MjIzNzAxZWY3OC4uZTMwZjQ2N2VlYzY3IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtNzE4NSw2ICs3 MTg1LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19kaXNhYmxlX25vYXRvbWljKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKPiAgCWNydGMtPmVuYWJsZWQgPSBmYWxzZTsKPiAgCWNydGMtPnN0YXRl LT5jb25uZWN0b3JfbWFzayA9IDA7Cj4gIAljcnRjLT5zdGF0ZS0+ZW5jb2Rlcl9tYXNrID0gMDsK PiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRlKTsKPiArCW1lbXNldCgmY3J0 Y19zdGF0ZS0+aHcsIDAsIHNpemVvZihjcnRjX3N0YXRlLT5odykpOwo+ICAKPiAgCWZvcl9lYWNo X2VuY29kZXJfb25fY3J0YyhjcnRjLT5kZXYsIGNydGMsIGVuY29kZXIpCj4gIAkJZW5jb2Rlci0+ YmFzZS5jcnRjID0gTlVMTDsKPiBAQCAtMTI1NjAsOCArMTI1NjIsNDAgQEAgc3RhdGljIGJvb2wg Y2hlY2tfZGlnaXRhbF9wb3J0X2NvbmZsaWN0cyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpz dGF0ZSkKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkCj4gK2ludGVsX2Ny dGNfY29weV91YXBpX3RvX2h3X3N0YXRlX25vbW9kZXNldChzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKPiArewo+ICsJaW50ZWxfY3J0Y19jb3B5X2NvbG9yX2Jsb2JzKGNydGNf c3RhdGUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZAo+ICtpbnRlbF9jcnRjX2NvcHlfdWFwaV90 b19od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArewo+ICsJ Y3J0Y19zdGF0ZS0+aHcuZW5hYmxlID0gY3J0Y19zdGF0ZS0+dWFwaS5lbmFibGU7Cj4gKwljcnRj X3N0YXRlLT5ody5hY3RpdmUgPSBjcnRjX3N0YXRlLT51YXBpLmFjdGl2ZTsKPiArCWNydGNfc3Rh dGUtPmh3Lm1vZGUgPSBjcnRjX3N0YXRlLT51YXBpLm1vZGU7Cj4gKwljcnRjX3N0YXRlLT5ody5h ZGp1c3RlZF9tb2RlID0gY3J0Y19zdGF0ZS0+dWFwaS5hZGp1c3RlZF9tb2RlOwo+ICsJaW50ZWxf Y3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGVfbm9tb2Rlc2V0KGNydGNfc3RhdGUpOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2NvcHlfaHdfdG9fdWFwaV9zdGF0ZShzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArewo+ICsJY3J0Y19zdGF0ZS0+dWFwaS5l bmFibGUgPSBjcnRjX3N0YXRlLT5ody5lbmFibGU7Cj4gKwljcnRjX3N0YXRlLT51YXBpLmFjdGl2 ZSA9IGNydGNfc3RhdGUtPmh3LmFjdGl2ZTsKPiArCWNydGNfc3RhdGUtPnVhcGkubW9kZSA9IGNy dGNfc3RhdGUtPmh3Lm1vZGU7Cj4gKwljcnRjX3N0YXRlLT51YXBpLmFkanVzdGVkX21vZGUgPSBj cnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlOwo+ICsKPiArCS8qIGNvcHkgY29sb3IgYmxvYnMg dG8gdWFwaSAqLwo+ICsJZHJtX3Byb3BlcnR5X3JlcGxhY2VfYmxvYigmY3J0Y19zdGF0ZS0+dWFw aS5kZWdhbW1hX2x1dCwKPiArCQkJCSAgY3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9sdXQpOwo+ICsJ ZHJtX3Byb3BlcnR5X3JlcGxhY2VfYmxvYigmY3J0Y19zdGF0ZS0+dWFwaS5nYW1tYV9sdXQsCj4g KwkJCQkgIGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCk7Cj4gKwlkcm1fcHJvcGVydHlfcmVwbGFj ZV9ibG9iKCZjcnRjX3N0YXRlLT51YXBpLmN0bSwKPiArCQkJCSAgY3J0Y19zdGF0ZS0+aHcuY3Rt KTsKPiArfQo+ICsKPiAgc3RhdGljIGludAo+IC1jbGVhcl9pbnRlbF9jcnRjX3N0YXRlKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICtpbnRlbF9jcnRjX3ByZXBhcmVfY2xl YXJlZF9zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+ICAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0KPiAgCQl0b19pOTE1KGNydGNfc3Rh dGUtPnVhcGkuY3J0Yy0+ZGV2KTsKPiBAQCAtMTI1NzEsMTEgKzEyNjA1LDE1IEBAIGNsZWFyX2lu dGVsX2NydGNfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAlp ZiAoIXNhdmVkX3N0YXRlKQo+ICAJCXJldHVybiAtRU5PTUVNOwo+ICAKPiArCS8qIGZyZWUgdGhl IG9sZCBjcnRjX3N0YXRlLT5odyBtZW1iZXJzICovCj4gKwlpbnRlbF9jcnRjX2ZyZWVfaHdfc3Rh dGUoY3J0Y19zdGF0ZSk7Cj4gKwo+ICAJLyogRklYTUU6IGJlZm9yZSB0aGUgc3dpdGNoIHRvIGF0 b21pYyBzdGFydGVkLCBhIG5ldyBwaXBlX2NvbmZpZyB3YXMKPiAgCSAqIGt6YWxsb2MnZC4gQ29k ZSB0aGF0IGRlcGVuZHMgb24gYW55IGZpZWxkIGJlaW5nIHplcm8gc2hvdWxkIGJlCj4gIAkgKiBm aXhlZCwgc28gdGhhdCB0aGUgY3J0Y19zdGF0ZSBjYW4gYmUgc2FmZWx5IGR1cGxpY2F0ZWQuIEZv ciBub3csCj4gIAkgKiBvbmx5IGZpZWxkcyB0aGF0IGFyZSBrbm93IHRvIG5vdCBjYXVzZSBwcm9i bGVtcyBhcmUgcHJlc2VydmVkLiAqLwo+ICAKPiArCXNhdmVkX3N0YXRlLT51YXBpID0gY3J0Y19z dGF0ZS0+dWFwaTsKPiAgCXNhdmVkX3N0YXRlLT5zY2FsZXJfc3RhdGUgPSBjcnRjX3N0YXRlLT5z Y2FsZXJfc3RhdGU7Cj4gIAlzYXZlZF9zdGF0ZS0+c2hhcmVkX2RwbGwgPSBjcnRjX3N0YXRlLT5z aGFyZWRfZHBsbDsKPiAgCXNhdmVkX3N0YXRlLT5kcGxsX2h3X3N0YXRlID0gY3J0Y19zdGF0ZS0+ ZHBsbF9od19zdGF0ZTsKPiBAQCAtMTI1OTMsMTQgKzEyNjMxLDExIEBAIGNsZWFyX2ludGVsX2Ny dGNfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAkJc2F2ZWRf c3RhdGUtPnN5bmNfbW9kZV9zbGF2ZXNfbWFzayA9Cj4gIAkJCWNydGNfc3RhdGUtPnN5bmNfbW9k ZV9zbGF2ZXNfbWFzazsKPiAgCj4gLQkvKiBLZWVwIGJhc2UgZHJtX2NydGNfc3RhdGUgaW50YWN0 LCBvbmx5IGNsZWFyIG91ciBleHRlbmRlZCBzdHJ1Y3QgKi8KPiAtCUJVSUxEX0JVR19PTihvZmZz ZXRvZihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSwgYmFzZSkpOwo+IC0JQlVJTERfQlVHX09OKG9m ZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlLCB1YXBpKSk7Cj4gLQlCVUlMRF9CVUdfT04o b2Zmc2V0b2Yoc3RydWN0IGludGVsX2NydGNfc3RhdGUsIGh3KSk7Cj4gLQltZW1jcHkoJmNydGNf c3RhdGUtPnVhcGkgKyAxLCAmc2F2ZWRfc3RhdGUtPnVhcGkgKyAxLAo+IC0JICAgICAgIHNpemVv ZigqY3J0Y19zdGF0ZSkgLSBzaXplb2YoY3J0Y19zdGF0ZS0+dWFwaSkpOwo+IC0KPiArCW1lbWNw eShjcnRjX3N0YXRlLCBzYXZlZF9zdGF0ZSwgc2l6ZW9mKCpjcnRjX3N0YXRlKSk7Cj4gIAlrZnJl ZShzYXZlZF9zdGF0ZSk7Cj4gKwo+ICsJaW50ZWxfY3J0Y19jb3B5X3VhcGlfdG9faHdfc3RhdGUo Y3J0Y19zdGF0ZSk7Cj4gKwo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gQEAgLTEyNjE2LDEwICsx MjY1MSw2IEBAIGludGVsX21vZGVzZXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnKQo+ICAJaW50IGk7Cj4gIAlib29sIHJldHJ5ID0gdHJ1ZTsKPiAgCj4g LQlyZXQgPSBjbGVhcl9pbnRlbF9jcnRjX3N0YXRlKHBpcGVfY29uZmlnKTsKPiAtCWlmIChyZXQp Cj4gLQkJcmV0dXJuIHJldDsKPiAtCj4gIAlwaXBlX2NvbmZpZy0+Y3B1X3RyYW5zY29kZXIgPQo+ ICAJCShlbnVtIHRyYW5zY29kZXIpIHRvX2ludGVsX2NydGMoY3J0YyktPnBpcGU7Cj4gIAo+IEBA IC0xMjc0Nyw2ICsxMjc3OCwxMiBAQCBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKPiAgCURSTV9ERUJVR19LTVMoImh3IG1heCBi cHA6ICVpLCBwaXBlIGJwcDogJWksIGRpdGhlcmluZzogJWlcbiIsCj4gIAkJICAgICAgYmFzZV9i cHAsIHBpcGVfY29uZmlnLT5waXBlX2JwcCwgcGlwZV9jb25maWctPmRpdGhlcik7Cj4gIAo+ICsJ LyoKPiArCSAqIE1ha2UgZHJtX2NhbGNfdGltZXN0YW1waW5nX2NvbnN0YW50cyBpbgo+ICsJICog ZHJtX2F0b21pY19oZWxwZXJfdXBkYXRlX2xlZ2FjeV9tb2Rlc2V0X3N0YXRlKCkgaGFwcHkKPiAr CSAqLwo+ICsJcGlwZV9jb25maWctPnVhcGkuYWRqdXN0ZWRfbW9kZSA9IHBpcGVfY29uZmlnLT5o dy5hZGp1c3RlZF9tb2RlOwo+ICsKClllYWgsIG5vIGNob2ljZSBidXQgZG8gdGhpcyBub3cuIEhv cGVmdWxseSB3ZSBjYW4gbnVrZSB0aGlzIHNvb24uCgo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4g QEAgLTEzNDc2LDYgKzEzNTEzLDggQEAgdmVyaWZ5X2NydGNfc3RhdGUoc3RydWN0IGludGVsX2Ny dGMgKmNydGMsCj4gIAo+ICAJc3RhdGUgPSBvbGRfY3J0Y19zdGF0ZS0+dWFwaS5zdGF0ZTsKPiAg CV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZvbGRfY3J0Y19zdGF0ZS0+ dWFwaSk7Cj4gKwlpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUob2xkX2NydGNfc3RhdGUpOwo+ICsK PiAgCXBpcGVfY29uZmlnID0gb2xkX2NydGNfc3RhdGU7Cj4gIAltZW1zZXQocGlwZV9jb25maWcs IDAsIHNpemVvZigqcGlwZV9jb25maWcpKTsKPiAgCXBpcGVfY29uZmlnLT51YXBpLmNydGMgPSAm Y3J0Yy0+YmFzZTsKPiBAQCAtMTQwMTAsMTQgKzE0MDQ5LDI0IEBAIHN0YXRpYyBpbnQgaW50ZWxf YXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAo+ICAJZm9yX2VhY2hfb2xk bmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLAo+ICAJ CQkJCSAgICBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+IC0JCWlmICghbmVlZHNfbW9kZXNldChuZXdf Y3J0Y19zdGF0ZSkpCj4gKwkJaWYgKCFuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKSkgewo+ ICsJCQkvKiBMaWdodCBjb3B5ICovCj4gKwkJCWludGVsX2NydGNfY29weV91YXBpX3RvX2h3X3N0 YXRlX25vbW9kZXNldChuZXdfY3J0Y19zdGF0ZSk7Cj4gKwo+ICAJCQljb250aW51ZTsKPiArCQl9 Cj4gIAo+ICAJCWlmICghbmV3X2NydGNfc3RhdGUtPnVhcGkuZW5hYmxlKSB7Cj4gKwkJCWludGVs X2NydGNfY29weV91YXBpX3RvX2h3X3N0YXRlKG5ld19jcnRjX3N0YXRlKTsKPiArCj4gIAkJCWFu eV9tcyA9IHRydWU7Cj4gIAkJCWNvbnRpbnVlOwo+ICAJCX0KPiAgCj4gKwkJcmV0ID0gaW50ZWxf Y3J0Y19wcmVwYXJlX2NsZWFyZWRfc3RhdGUobmV3X2NydGNfc3RhdGUpOwo+ICsJCWlmIChyZXQp Cj4gKwkJCWdvdG8gZmFpbDsKPiArCj4gIAkJcmV0ID0gaW50ZWxfbW9kZXNldF9waXBlX2NvbmZp ZyhuZXdfY3J0Y19zdGF0ZSk7Cj4gIAkJaWYgKHJldCkKPiAgCQkJZ290byBmYWlsOwo+IEBAIC0x NzI5MSw2ICsxNzM0MCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19z dGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNy dGMtPmJhc2Uuc3RhdGUpOwo+ICAKPiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJv eV9zdGF0ZSgmY3J0Y19zdGF0ZS0+dWFwaSk7Cj4gKwkJaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRl KGNydGNfc3RhdGUpOwo+ICAJCW1lbXNldChjcnRjX3N0YXRlLCAwLCBzaXplb2YoKmNydGNfc3Rh dGUpKTsKPiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoJmNydGMtPmJhc2UsICZj cnRjX3N0YXRlLT51YXBpKTsKPiAgCj4gQEAgLTE3NDE5LDYgKzE3NDY5LDcgQEAgc3RhdGljIHZv aWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4gIAkJCSAqIHNldCBhIGZsYWcgdG8gaW5kaWNhdGUgdGhhdCBhIGZ1bGwgcmVjYWxjdWxhdGlv biBpcwo+ICAJCQkgKiBuZWVkZWQgb24gdGhlIG5leHQgY29tbWl0Lgo+ICAJCQkgKi8KPiArCQkJ Y3J0Y19zdGF0ZS0+aHcubW9kZSA9IGNydGMtPmJhc2UubW9kZTsKPiAgCQkJY3J0Y19zdGF0ZS0+ aHcubW9kZS5wcml2YXRlX2ZsYWdzID0gSTkxNV9NT0RFX0ZMQUdfSU5IRVJJVEVEOwo+ICAKPiAg CQkJaW50ZWxfY3J0Y19jb21wdXRlX3BpeGVsX3JhdGUoY3J0Y19zdGF0ZSk7Cj4gQEAgLTE3NDY3 LDYgKzE3NTE4LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRl KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAo+ICAJCWludGVsX2J3X2NydGNfdXBkYXRlKGJ3 X3N0YXRlLCBjcnRjX3N0YXRlKTsKPiAgCj4gKwkJaW50ZWxfY3J0Y19jb3B5X2h3X3RvX3VhcGlf c3RhdGUoY3J0Y19zdGF0ZSk7CgpJIHB1c2hlZCB0aGUgY3J0Yy0+YmFzZS5tb2RlIG51a2luZywg c28gdGhlIHJlYWRvdXQgd2lsbCBuZWVkIGEgc2xpZ2h0CmFkanVzdG1lbnQuIEkgYmVsaXZlIGl0 IHNob3VsZCBqdXN0IGxvb2sgbGlrZToKCglwaXBlX2NvbmZpZ190b19tb2RlKGh3LmFkanVzdGVk X21vZGUpOwoKCWh3Lm1vZGUgPSBody5hZGp1c3RlZF9tb2RlOwoJaHcubW9kZS5oZGlzcGxheSA9 IC4uLjsKCWh3Lm1vZGUudmRpc3BsYXkgPSAuLi47Ci4uLgoJaW50ZWxfY3J0Y19jb3B5X2h3X3Rv X3VhcGlfc3RhdGUoKTsKCkFuZCB3ZSdsbCBuZWVkIHRvIG1ha2UgaW50ZWxfY3J0Y19jb3B5X2h3 X3RvX3VhcGlfc3RhdGUoKQp1c2UgZHJtX2F0b21pY19zZXRfbW9kZV9mb3JfY3J0YygpIGluc3Rl YWQgb2YgZG9pbmcgYQpzdHJhaWdodCBjb3B5LCBvdGhlcndpc2UgdGhlIG1vZGVfYmxvYiB3aWxs IGdldCBvdXQgb2Ygc3luYy4KCk90aGVyd2lzZSBsZ3RtLgoKPiAgCQlpbnRlbF9waXBlX2NvbmZp Z19zYW5pdHlfY2hlY2soZGV2X3ByaXYsIGNydGNfc3RhdGUpOwo+ICAJfQo+ICB9Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPiBp bmRleCBlODQzNDNkM2JmOGQuLjkzMTljYTY4MjEwNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oCj4gQEAgLTc1Nyw4ICs3 NTcsNiBAQCBlbnVtIGludGVsX291dHB1dF9mb3JtYXQgewo+ICB9Owo+ICAKPiAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgewo+IC0JdW5pb24gewo+IC0Jc3RydWN0IGRybV9jcnRjX3N0YXRlIGJh c2U7Cj4gIAkvKgo+ICAJICogdWFwaSAoZHJtKSBzdGF0ZS4gVGhpcyBpcyB0aGUgc29mdHdhcmUg c3RhdGUgc2hvd24gdG8gdXNlcnNwYWNlLgo+ICAJICogSW4gcGFydGljdWxhciwgdGhlIGZvbGxv d2luZyBtZW1iZXJzIGFyZSB1c2VkIGZvciBib29ra2VlcGluZzoKPiBAQCAtNzgxLDggKzc3OSwx MSBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7Cj4gIAkgKgo+ICAJICogRHVyaW5nIGluaXRp YWwgaHcgcmVhZG91dCwgdGhleSBuZWVkIHRvIGJlIGNvcGllZCB0byB1YXBpLgo+ICAJICovCj4g LQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgaHc7Cj4gLQl9Owo+ICsJc3RydWN0IHsKPiArCQlib29s IGFjdGl2ZSwgZW5hYmxlOwo+ICsJCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZGVnYW1tYV9s dXQsICpnYW1tYV9sdXQsICpjdG07Cj4gKwkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgbW9kZSwg YWRqdXN0ZWRfbW9kZTsKPiArCX0gaHc7Cj4gIAo+ICAJLyoqCj4gIAkgKiBxdWlya3MgLSBiaXRm aWVsZCB3aXRoIGh3IHN0YXRlIHJlYWRvdXQgcXVpcmtzCj4gLS0gCj4gMi4yMy4wCj4gCj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZngg bWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKVmls bGUgU3lyasOkbMOkCkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeA==