From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 05/23] drm/i915: Complete sw/hw split Date: Wed, 25 Sep 2019 16:01:11 +0300 Message-ID: <20190925130111.GY1208@intel.com> References: <20190920114235.22411-1-maarten.lankhorst@linux.intel.com> <20190920114235.22411-5-maarten.lankhorst@linux.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 2C80E6EBAE for ; Wed, 25 Sep 2019 13:01:15 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190920114235.22411-5-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 T24gRnJpLCBTZXAgMjAsIDIwMTkgYXQgMDE6NDI6MTdQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gTm93IHRoYXQgd2Ugc2VwYXJhdGVkIGV2ZXJ5dGhpbmcgaW50byB1YXBpIGFu ZCBodywgaXQncwo+IHRpbWUgdG8gbWFrZSB0aGUgc3BsaXQgZGVmaW5pdGl2ZS4gUmVtb3ZlIHRo ZSB1bmlvbiBhbmQKPiBtYWtlIGEgY29weSBvZiB0aGUgaHcgc3RhdGUgb24gbW9kZXNldCBhbmQg ZmFzdHNldC4KPiAKPiBDb2xvciBibG9icyBhcmUgY29waWVkIGluIGNydGMgYXRvbWljX2NoZWNr KCksIHJpZ2h0Cj4gYmVmb3JlIGNvbG9yIG1hbmFnZW1lbnQgaXMgY2hlY2tlZC4KCkRvbid0IGxp a2UuIElNTyB0aGVyZSBzaG91bGQgYmUgb25lIGFuZCBvbmx5IG9uZSBwbGFjZSB3aGVyZSBjb3B5 IG92ZXIKdGhlIHVhcGkgc3RhdGUgaW50byB0aGUgaHcgc3RhdGUuIE90aGVyd2lzZSBpdCdzIGEg bWVzcyBiZWNhdXNlIHlvdQpjb25zdGFudGx5IGhhdmUgdG8gcmVtaW5kIHlvdXJzZWxmIHdoaWNo IGJpdHMgb2Ygc3RhdGUgYWxyZWFkeSBnb3QKY29waWVkIGFuZCB3aGljaCBkaWRuJ3QuCgo+IAo+ IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51 eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf YXRvbWljLmMgICB8IDQ0ICsrKysrKysrKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuaCAgIHwgIDIgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyAgfCAzOSArKysrKysrKysrKysrLS0tCj4gIC4uLi9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaCAgICB8ICA4ICsrLS0KPiAgNCBm aWxlcyBjaGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYwo+IGluZGV4IGY0NDQwZWRl OTVjNS4uZmI1NTBkM2NlYTdmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfYXRvbWljLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2F0b21pYy5jCj4gQEAgLTE5NSw2ICsxOTUsMTQgQEAgaW50ZWxfY3J0Y19kdXBsaWNh dGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAKPiAgCV9fZHJtX2F0b21pY19oZWxw ZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUoY3J0YywgJmNydGNfc3RhdGUtPnVhcGkpOwo+ICAKPiAr CS8qIGNvcHkgY29sb3IgYmxvYnMgKi8KPiArCWlmIChjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1 dCkKPiArCQlkcm1fcHJvcGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9sdXQp Owo+ICsJaWYgKGNydGNfc3RhdGUtPmh3LmN0bSkKPiArCQlkcm1fcHJvcGVydHlfYmxvYl9nZXQo Y3J0Y19zdGF0ZS0+aHcuY3RtKTsKPiArCWlmIChjcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQpCj4g KwkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCk7Cj4gKwo+ ICAJY3J0Y19zdGF0ZS0+dXBkYXRlX3BpcGUgPSBmYWxzZTsKPiAgCWNydGNfc3RhdGUtPmRpc2Fi bGVfbHBfd20gPSBmYWxzZTsKPiAgCWNydGNfc3RhdGUtPmRpc2FibGVfY3hzciA9IGZhbHNlOwo+ IEBAIC0yMDksNiArMjE3LDQxIEBAIGludGVsX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBk cm1fY3J0YyAqY3J0YykKPiAgCXJldHVybiAmY3J0Y19zdGF0ZS0+dWFwaTsKPiAgfQo+ICAKPiAr c3RhdGljIHZvaWQgaW50ZWxfY3J0Y19wdXRfY29sb3JfYmxvYnMoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChjcnRjX3N0 YXRlLT5ody5kZWdhbW1hX2x1dCk7Cj4gKwlkcm1fcHJvcGVydHlfYmxvYl9wdXQoY3J0Y19zdGF0 ZS0+aHcuZ2FtbWFfbHV0KTsKPiArCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChjcnRjX3N0YXRlLT5o dy5jdG0pOwo+ICt9Cj4gKwo+ICt2b2lkIGludGVsX2NydGNfZnJlZV9od19zdGF0ZShzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArewo+ICsJaW50ZWxfY3J0Y19wdXRfY29s b3JfYmxvYnMoY3J0Y19zdGF0ZSk7Cj4gK30KPiArCj4gK3ZvaWQgaW50ZWxfY3J0Y19jb3B5X2Nv bG9yX2Jsb2JzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICt7Cj4gKwlp bnRlbF9jcnRjX3B1dF9jb2xvcl9ibG9icyhjcnRjX3N0YXRlKTsKPiArCj4gKwlpZiAoY3J0Y19z dGF0ZS0+dWFwaS5kZWdhbW1hX2x1dCkKPiArCQljcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dCA9 Cj4gKwkJCWRybV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT51YXBpLmRlZ2FtbWFfbHV0 KTsKPiArCWVsc2UKPiArCQljcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dCA9IE5VTEw7Cj4gKwo+ ICsJaWYgKGNydGNfc3RhdGUtPnVhcGkuZ2FtbWFfbHV0KQo+ICsJCWNydGNfc3RhdGUtPmh3Lmdh bW1hX2x1dCA9Cj4gKwkJCWRybV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT51YXBpLmdh bW1hX2x1dCk7Cj4gKwllbHNlCj4gKwkJY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0ID0gTlVMTDsK PiArCj4gKwlpZiAoY3J0Y19zdGF0ZS0+dWFwaS5jdG0pCj4gKwkJY3J0Y19zdGF0ZS0+aHcuY3Rt ID0KPiArCQkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPnVhcGkuY3RtKTsKPiAr CWVsc2UKPiArCQljcnRjX3N0YXRlLT5ody5jdG0gPSBOVUxMOwo+ICt9Cj4gKwo+ICAvKioKPiAg ICogaW50ZWxfY3J0Y19kZXN0cm95X3N0YXRlIC0gZGVzdHJveSBjcnRjIHN0YXRlCj4gICAqIEBj cnRjOiBkcm0gY3J0Ywo+IEBAIC0yMjQsNiArMjY3LDcgQEAgaW50ZWxfY3J0Y19kZXN0cm95X3N0 YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShzdGF0ZSk7Cj4gIAo+ICAJX19kcm1fYXRv bWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUoJmNydGNfc3RhdGUtPnVhcGkpOwo+ICsJaW50 ZWxfY3J0Y19mcmVlX2h3X3N0YXRlKGNydGNfc3RhdGUpOwo+ICAJa2ZyZWUoY3J0Y19zdGF0ZSk7 Cj4gIH0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfYXRvbWljLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5o Cj4gaW5kZXggNTgwNjVkMzE2MWEzLi40MmJlOTFlMDc3MmEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgKPiBAQCAtMzUsNiArMzUsOCBAQCBpbnRl bF9kaWdpdGFsX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3Rvcik7Cj4gIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqaW50ZWxfY3J0Y19kdXBsaWNh dGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKPiAgdm9pZCBpbnRlbF9jcnRjX2Rlc3Ry b3lfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCQkgICAgICAgc3RydWN0IGRybV9j cnRjX3N0YXRlICpzdGF0ZSk7Cj4gK3ZvaWQgaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRlKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiArdm9pZCBpbnRlbF9jcnRjX2NvcHlf Y29sb3JfYmxvYnMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ICBzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqaW50ZWxfYXRvbWljX3N0YXRlX2FsbG9jKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpOwo+ICB2b2lkIGludGVsX2F0b21pY19zdGF0ZV9jbGVhcihzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDMyYmJiNWJmNDhmMy4uZTQwNDg1YTFlNTAzIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiBA QCAtMTE0LDYgKzExNCw3IEBAIHN0YXRpYyBjb25zdCB1NjQgY3Vyc29yX2Zvcm1hdF9tb2RpZmll cnNbXSA9IHsKPiAgCURSTV9GT1JNQVRfTU9EX0lOVkFMSUQKPiAgfTsKPiAgCj4gK3N0YXRpYyB2 b2lkIGNvcHlfdWFwaV90b19od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSk7Cj4gIHN0YXRpYyB2b2lkIGk5eHhfY3J0Y19jbG9ja19nZXQoc3RydWN0IGludGVsX2Ny dGMgKmNydGMsCj4gIAkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwo+ ICBzdGF0aWMgdm9pZCBpcm9ubGFrZV9wY2hfY2xvY2tfZ2V0KHN0cnVjdCBpbnRlbF9jcnRjICpj cnRjLAo+IEBAIC03MDk3LDYgKzcwOTgsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2Rpc2Fi bGVfbm9hdG9taWMoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJY3J0Yy0+ZW5hYmxlZCA9IGZh bHNlOwo+ICAJY3J0Yy0+c3RhdGUtPmNvbm5lY3Rvcl9tYXNrID0gMDsKPiAgCWNydGMtPnN0YXRl LT5lbmNvZGVyX21hc2sgPSAwOwo+ICsJY29weV91YXBpX3RvX2h3X3N0YXRlKHRvX2ludGVsX2Ny dGNfc3RhdGUoY3J0Yy0+c3RhdGUpKTsKPiAgCj4gIAlmb3JfZWFjaF9lbmNvZGVyX29uX2NydGMo Y3J0Yy0+ZGV2LCBjcnRjLCBlbmNvZGVyKQo+ICAJCWVuY29kZXItPmJhc2UuY3J0YyA9IE5VTEw7 Cj4gQEAgLTExODA0LDYgKzExODA2LDkgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2F0b21pY19j aGVjayhzdHJ1Y3QgZHJtX2NydGMgKl9jcnRjLAo+ICAKPiAgCWlmIChtb2RlX2NoYW5nZWQgfHwg Y3J0Y19zdGF0ZS0+dXBkYXRlX3BpcGUgfHwKPiAgCSAgICBjcnRjX3N0YXRlLT51YXBpLmNvbG9y X21nbXRfY2hhbmdlZCkgewo+ICsJCS8qIENvcHkgY29sb3IgYmxvYnMgdG8gaHcgc3RhdGUgKi8K PiArCQlpbnRlbF9jcnRjX2NvcHlfY29sb3JfYmxvYnMoY3J0Y19zdGF0ZSk7Cj4gKwo+ICAJCXJl dCA9IGludGVsX2NvbG9yX2NoZWNrKGNydGNfc3RhdGUpOwo+ICAJCWlmIChyZXQpCj4gIAkJCXJl dHVybiByZXQ7Cj4gQEAgLTEyMjUxLDYgKzEyMjU2LDIyIEBAIHN0YXRpYyBib29sIGNoZWNrX2Rp Z2l0YWxfcG9ydF9jb25mbGljdHMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4g IAlyZXR1cm4gcmV0Owo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBjb3B5X3VhcGlfdG9faHdfc3Rh dGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCWNydGNfc3Rh dGUtPmh3LmVuYWJsZSA9IGNydGNfc3RhdGUtPnVhcGkuZW5hYmxlOwo+ICsJY3J0Y19zdGF0ZS0+ aHcuYWN0aXZlID0gY3J0Y19zdGF0ZS0+dWFwaS5hY3RpdmU7Cj4gKwljcnRjX3N0YXRlLT5ody5t b2RlID0gY3J0Y19zdGF0ZS0+dWFwaS5tb2RlOwo+ICsJY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRf bW9kZSA9IGNydGNfc3RhdGUtPnVhcGkuYWRqdXN0ZWRfbW9kZTsKPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgY29weV9od190b191YXBpX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQo+ICt7Cj4gKwljcnRjX3N0YXRlLT51YXBpLmVuYWJsZSA9IGNydGNfc3RhdGUtPmh3 LmVuYWJsZTsKPiArCWNydGNfc3RhdGUtPnVhcGkuYWN0aXZlID0gY3J0Y19zdGF0ZS0+aHcuYWN0 aXZlOwo+ICsJY3J0Y19zdGF0ZS0+dWFwaS5tb2RlID0gY3J0Y19zdGF0ZS0+aHcubW9kZTsKPiAr CWNydGNfc3RhdGUtPnVhcGkuYWRqdXN0ZWRfbW9kZSA9IGNydGNfc3RhdGUtPmh3LmFkanVzdGVk X21vZGU7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQKPiAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+IEBAIC0xMjI2Nyw2ICsx MjI4OCw3IEBAIGNsZWFyX2ludGVsX2NydGNfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpCj4gIAkgKiBmaXhlZCwgc28gdGhhdCB0aGUgY3J0Y19zdGF0ZSBjYW4gYmUg c2FmZWx5IGR1cGxpY2F0ZWQuIEZvciBub3csCj4gIAkgKiBvbmx5IGZpZWxkcyB0aGF0IGFyZSBr bm93IHRvIG5vdCBjYXVzZSBwcm9ibGVtcyBhcmUgcHJlc2VydmVkLiAqLwo+ICAKPiArCXNhdmVk X3N0YXRlLT51YXBpID0gY3J0Y19zdGF0ZS0+dWFwaTsKPiAgCXNhdmVkX3N0YXRlLT5zY2FsZXJf c3RhdGUgPSBjcnRjX3N0YXRlLT5zY2FsZXJfc3RhdGU7Cj4gIAlzYXZlZF9zdGF0ZS0+c2hhcmVk X2RwbGwgPSBjcnRjX3N0YXRlLT5zaGFyZWRfZHBsbDsKPiAgCXNhdmVkX3N0YXRlLT5kcGxsX2h3 X3N0YXRlID0gY3J0Y19zdGF0ZS0+ZHBsbF9od19zdGF0ZTsKPiBAQCAtMTIyNzcsMTEgKzEyMjk5 LDkgQEAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSkKPiAgCSAgICBJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVX KGRldl9wcml2KSkKPiAgCQlzYXZlZF9zdGF0ZS0+d20gPSBjcnRjX3N0YXRlLT53bTsKPiAgCj4g LQkvKiBLZWVwIGJhc2UgZHJtX2NydGNfc3RhdGUgaW50YWN0LCBvbmx5IGNsZWFyIG91ciBleHRl bmRlZCBzdHJ1Y3QgKi8KPiAtCUJVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSwgdWFwaSkpOwo+IC0JQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlLCBodykpOwo+IC0JbWVtY3B5KCZjcnRjX3N0YXRlLT51YXBpICsgMSwgJnNhdmVk X3N0YXRlLT51YXBpICsgMSwKPiAtCSAgICAgICBzaXplb2YoKmNydGNfc3RhdGUpIC0gc2l6ZW9m KGNydGNfc3RhdGUtPnVhcGkpKTsKPiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0 YXRlKTsKPiArCW1lbWNweShjcnRjX3N0YXRlLCBzYXZlZF9zdGF0ZSwgc2l6ZW9mKCpjcnRjX3N0 YXRlKSk7Cj4gKwljb3B5X3VhcGlfdG9faHdfc3RhdGUoY3J0Y19zdGF0ZSk7Cj4gIAo+ICAJa2Zy ZWUoc2F2ZWRfc3RhdGUpOwo+ICAJcmV0dXJuIDA7Cj4gQEAgLTEyNDIxLDYgKzEyNDQxLDkgQEAg aW50ZWxfbW9kZXNldF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWcpCj4gIAlEUk1fREVCVUdfS01TKCJodyBtYXggYnBwOiAlaSwgcGlwZSBicHA6ICVpLCBk aXRoZXJpbmc6ICVpXG4iLAo+ICAJCSAgICAgIGJhc2VfYnBwLCBwaXBlX2NvbmZpZy0+cGlwZV9i cHAsIHBpcGVfY29uZmlnLT5kaXRoZXIpOwo+ICAKPiArCS8qIHVhcGkgd2FudHMgYSBjb3B5IG9m IHRoZSBhZGp1c3RlZF9tb2RlIGZvciB2YmxhbmsgYm9va2tlZXBpbmcgKi8KPiArCXBpcGVfY29u ZmlnLT51YXBpLmFkanVzdGVkX21vZGUgPSBwaXBlX2NvbmZpZy0+aHcuYWRqdXN0ZWRfbW9kZTsK PiArCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiBAQCAtMTMxNDIsNiArMTMxNjUsOCBAQCB2ZXJp ZnlfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgCj4gIAlzdGF0ZSA9IG9s ZF9jcnRjX3N0YXRlLT51YXBpLnN0YXRlOwo+ICAJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rl c3Ryb3lfc3RhdGUoJm9sZF9jcnRjX3N0YXRlLT51YXBpKTsKPiArCWludGVsX2NydGNfZnJlZV9o d19zdGF0ZShvbGRfY3J0Y19zdGF0ZSk7Cj4gKwo+ICAJcGlwZV9jb25maWcgPSBvbGRfY3J0Y19z dGF0ZTsKPiAgCW1lbXNldChwaXBlX2NvbmZpZywgMCwgc2l6ZW9mKCpwaXBlX2NvbmZpZykpOwo+ ICAJcGlwZV9jb25maWctPnVhcGkuY3J0YyA9ICZjcnRjLT5iYXNlOwo+IEBAIC0xMzU2OCw2ICsx MzU5Myw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCj4gIAo+ICAJCWlmICghbmV3X2NydGNfc3RhdGUtPnVhcGkuZW5hYmxlKSB7Cj4gIAkJ CWFueV9tcyA9IHRydWU7Cj4gKwkJCWNsZWFyX2ludGVsX2NydGNfc3RhdGUobmV3X2NydGNfc3Rh dGUpOwo+ICAJCQljb250aW51ZTsKPiAgCQl9Cj4gIAo+IEBAIC0xNjY4Niw2ICsxNjcxMiw3IEBA IHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQo+ICAJCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJhc2Uuc3RhdGUpOwo+ ICAKPiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSgmY3J0Y19zdGF0 ZS0+dWFwaSk7Cj4gKwkJaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRlKGNydGNfc3RhdGUpOwo+ICAJ CW1lbXNldChjcnRjX3N0YXRlLCAwLCBzaXplb2YoKmNydGNfc3RhdGUpKTsKPiAgCQlfX2RybV9h dG9taWNfaGVscGVyX2NydGNfcmVzZXQoJmNydGMtPmJhc2UsICZjcnRjX3N0YXRlLT51YXBpKTsK PiAgCj4gQEAgLTE2ODAyLDYgKzE2ODI5LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9y ZWFkb3V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJCWNydGMtPmJhc2Uu bW9kZS52ZGlzcGxheSA9IGNydGNfc3RhdGUtPnBpcGVfc3JjX2g7Cj4gIAkJCWludGVsX21vZGVf ZnJvbV9waXBlX2NvbmZpZygmY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZSwKPiAgCQkJCQkJ ICAgIGNydGNfc3RhdGUpOwo+ICsJCQljcnRjX3N0YXRlLT5ody5tb2RlID0gY3J0Yy0+YmFzZS5t b2RlOwo+ICAJCQlXQVJOX09OKGRybV9hdG9taWNfc2V0X21vZGVfZm9yX2NydGMoY3J0Yy0+YmFz ZS5zdGF0ZSwgJmNydGMtPmJhc2UubW9kZSkpOwo+ICAKPiAgCQkJLyoKPiBAQCAtMTY4NDcsNiAr MTY4NzUsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiAgCj4gIAkJaW50ZWxfYndfY3J0Y191cGRhdGUoYndfc3Rh dGUsIGNydGNfc3RhdGUpOwo+ICAKPiArCQljb3B5X2h3X3RvX3VhcGlfc3RhdGUoY3J0Y19zdGF0 ZSk7Cj4gIAkJaW50ZWxfcGlwZV9jb25maWdfc2FuaXR5X2NoZWNrKGRldl9wcml2LCBjcnRjX3N0 YXRlKTsKPiAgCX0KPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheV90eXBlcy5oCj4gaW5kZXggMmMzNTY3MDgxZTE2Li5lODFiNzg1Y2M4ZjIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5 X3R5cGVzLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXlfdHlwZXMuaAo+IEBAIC03NDksNyArNzQ5LDYgQEAgZW51bSBpbnRlbF9vdXRwdXRfZm9ybWF0 IHsKPiAgfTsKPiAgCj4gIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKPiAtCXVuaW9uIHsKPiAg CS8qCj4gIAkgKiB1YXBpIChkcm0pIHN0YXRlLiBUaGlzIGlzIHRoZSBzb2Z0d2FyZSBzdGF0ZSBz aG93biB0byB1c2Vyc3BhY2UuCj4gIAkgKiBJbiBwYXJ0aWN1bGFyLCB0aGUgZm9sbG93aW5nIG1l bWJlcnMgYXJlIHVzZWQgZm9yIGJvb2trZWVwaW5nOgo+IEBAIC03NzIsOCArNzcxLDExIEBAIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKPiAgCSAqCj4gIAkgKiBEdXJpbmcgaW5pdGlhbCBodyBy ZWFkb3V0LCB0aGV5IG5lZWQgdG8gYmUgY29waWVkIHRvIHVhcGkuCj4gIAkgKi8KPiAtCXN0cnVj dCBkcm1fY3J0Y19zdGF0ZSBodzsKPiAtCX07Cj4gKwlzdHJ1Y3Qgewo+ICsJCWJvb2wgYWN0aXZl LCBlbmFibGU7Cj4gKwkJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpkZWdhbW1hX2x1dCwgKmdh bW1hX2x1dCwgKmN0bTsKPiArCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBtb2RlLCBhZGp1c3Rl ZF9tb2RlOwo+ICsJfSBodzsKPiAgCj4gIAkvKioKPiAgCSAqIHF1aXJrcyAtIGJpdGZpZWxkIHdp dGggaHcgc3RhdGUgcmVhZG91dCBxdWlya3MKPiAtLSAKPiAyLjIwLjEKPiAKPiBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5n IGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApWaWxsZSBTeXJq w6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4