From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH 05/23] drm/i915: Complete sw/hw split Date: Wed, 25 Sep 2019 11:29:20 +0200 Message-ID: <74197171-059b-5a7b-eb13-74dffd402e14@linux.intel.com> References: <20190920114235.22411-1-maarten.lankhorst@linux.intel.com> <20190920114235.22411-5-maarten.lankhorst@linux.intel.com> <20190924234105.GJ1869@mdroper-desk1.amr.corp.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 200F16EB5E for ; Wed, 25 Sep 2019 09:29:25 +0000 (UTC) In-Reply-To: <20190924234105.GJ1869@mdroper-desk1.amr.corp.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: Matt Roper Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T3AgMjUtMDktMjAxOSBvbSAwMTo0MSBzY2hyZWVmIE1hdHQgUm9wZXI6Cj4gT24gRnJpLCBTZXAg MjAsIDIwMTkgYXQgMDE6NDI6MTdQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6Cj4+ IE5vdyB0aGF0IHdlIHNlcGFyYXRlZCBldmVyeXRoaW5nIGludG8gdWFwaSBhbmQgaHcsIGl0J3MK Pj4gdGltZSB0byBtYWtlIHRoZSBzcGxpdCBkZWZpbml0aXZlLiBSZW1vdmUgdGhlIHVuaW9uIGFu ZAo+PiBtYWtlIGEgY29weSBvZiB0aGUgaHcgc3RhdGUgb24gbW9kZXNldCBhbmQgZmFzdHNldC4K Pj4KPj4gQ29sb3IgYmxvYnMgYXJlIGNvcGllZCBpbiBjcnRjIGF0b21pY19jaGVjaygpLCByaWdo dAo+PiBiZWZvcmUgY29sb3IgbWFuYWdlbWVudCBpcyBjaGVja2VkLgo+Pgo+PiBTaWduZWQtb2Zm LWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29t Pgo+PiAtLS0KPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMg ICB8IDQ0ICsrKysrKysrKysrKysrKysrKysKPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfYXRvbWljLmggICB8ICAyICsKPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheS5jICB8IDM5ICsrKysrKysrKysrKystLS0KPj4gIC4uLi9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaCAgICB8ICA4ICsrLS0KPj4gIDQgZmlsZXMg Y2hhbmdlZCwgODUgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jCj4+IGluZGV4IGY0NDQwZWRlOTVj NS4uZmI1NTBkM2NlYTdmIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2F0b21pYy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfYXRvbWljLmMKPj4gQEAgLTE5NSw2ICsxOTUsMTQgQEAgaW50ZWxfY3J0Y19kdXBsaWNh dGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+PiAgCj4+ICAJX19kcm1fYXRvbWljX2hl bHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShjcnRjLCAmY3J0Y19zdGF0ZS0+dWFwaSk7Cj4+ICAK Pj4gKwkvKiBjb3B5IGNvbG9yIGJsb2JzICovCj4+ICsJaWYgKGNydGNfc3RhdGUtPmh3LmRlZ2Ft bWFfbHV0KQo+PiArCQlkcm1fcHJvcGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+aHcuZGVnYW1t YV9sdXQpOwo+PiArCWlmIChjcnRjX3N0YXRlLT5ody5jdG0pCj4+ICsJCWRybV9wcm9wZXJ0eV9i bG9iX2dldChjcnRjX3N0YXRlLT5ody5jdG0pOwo+PiArCWlmIChjcnRjX3N0YXRlLT5ody5nYW1t YV9sdXQpCj4+ICsJCWRybV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT5ody5nYW1tYV9s dXQpOwo+PiArCj4+ICAJY3J0Y19zdGF0ZS0+dXBkYXRlX3BpcGUgPSBmYWxzZTsKPj4gIAljcnRj X3N0YXRlLT5kaXNhYmxlX2xwX3dtID0gZmFsc2U7Cj4+ICAJY3J0Y19zdGF0ZS0+ZGlzYWJsZV9j eHNyID0gZmFsc2U7Cj4+IEBAIC0yMDksNiArMjE3LDQxIEBAIGludGVsX2NydGNfZHVwbGljYXRl X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPj4gIAlyZXR1cm4gJmNydGNfc3RhdGUtPnVh cGk7Cj4+ICB9Cj4+ICAKPj4gK3N0YXRpYyB2b2lkIGludGVsX2NydGNfcHV0X2NvbG9yX2Jsb2Jz KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+PiArewo+PiArCWRybV9wcm9w ZXJ0eV9ibG9iX3B1dChjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dCk7Cj4+ICsJZHJtX3Byb3Bl cnR5X2Jsb2JfcHV0KGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCk7Cj4+ICsJZHJtX3Byb3BlcnR5 X2Jsb2JfcHV0KGNydGNfc3RhdGUtPmh3LmN0bSk7Cj4+ICt9Cj4+ICsKPj4gK3ZvaWQgaW50ZWxf Y3J0Y19mcmVlX2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ PiArewo+PiArCWludGVsX2NydGNfcHV0X2NvbG9yX2Jsb2JzKGNydGNfc3RhdGUpOwo+PiArfQo+ PiArCj4+ICt2b2lkIGludGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPj4gK3sKPj4gKwlpbnRlbF9jcnRjX3B1dF9jb2xvcl9ibG9i cyhjcnRjX3N0YXRlKTsKPj4gKwo+PiArCWlmIChjcnRjX3N0YXRlLT51YXBpLmRlZ2FtbWFfbHV0 KQo+PiArCQljcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dCA9Cj4+ICsJCQlkcm1fcHJvcGVydHlf YmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFwaS5kZWdhbW1hX2x1dCk7Cj4+ICsJZWxzZQo+PiArCQlj cnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dCA9IE5VTEw7Cj4+ICsKPj4gKwlpZiAoY3J0Y19zdGF0 ZS0+dWFwaS5nYW1tYV9sdXQpCj4+ICsJCWNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCA9Cj4+ICsJ CQlkcm1fcHJvcGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFwaS5nYW1tYV9sdXQpOwo+PiAr CWVsc2UKPj4gKwkJY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0ID0gTlVMTDsKPj4gKwo+PiArCWlm IChjcnRjX3N0YXRlLT51YXBpLmN0bSkKPj4gKwkJY3J0Y19zdGF0ZS0+aHcuY3RtID0KPj4gKwkJ CWRybV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT51YXBpLmN0bSk7Cj4+ICsJZWxzZQo+ PiArCQljcnRjX3N0YXRlLT5ody5jdG0gPSBOVUxMOwo+PiArfQo+PiArCj4+ICAvKioKPj4gICAq IGludGVsX2NydGNfZGVzdHJveV9zdGF0ZSAtIGRlc3Ryb3kgY3J0YyBzdGF0ZQo+PiAgICogQGNy dGM6IGRybSBjcnRjCj4+IEBAIC0yMjQsNiArMjY3LDcgQEAgaW50ZWxfY3J0Y19kZXN0cm95X3N0 YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPj4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoc3RhdGUpOwo+PiAgCj4+ICAJX19kcm1f YXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUoJmNydGNfc3RhdGUtPnVhcGkpOwo+PiAr CWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRlKTsKPj4gIAlrZnJlZShjcnRjX3N0 YXRlKTsKPj4gIH0KPj4gIAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9hdG9taWMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf YXRvbWljLmgKPj4gaW5kZXggNTgwNjVkMzE2MWEzLi40MmJlOTFlMDc3MmEgMTAwNjQ0Cj4+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgKPj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuaAo+PiBAQCAtMzUsNiAr MzUsOCBAQCBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4+ICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmludGVs X2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4+ICB2b2lkIGlu dGVsX2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4+ICAJCQkgICAg ICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSk7Cj4+ICt2b2lkIGludGVsX2NydGNfZnJl ZV9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4+ICt2b2lk IGludGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSk7Cj4+ICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqaW50ZWxfYXRvbWljX3N0YXRl X2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+PiAgdm9pZCBpbnRlbF9hdG9taWNfc3Rh dGVfY2xlYXIoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPj4gIAo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+PiBpbmRleCAzMmJiYjVi ZjQ4ZjMuLmU0MDQ4NWExZTUwMyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5LmMKPj4gQEAgLTExNCw2ICsxMTQsNyBAQCBzdGF0aWMgY29uc3Qg dTY0IGN1cnNvcl9mb3JtYXRfbW9kaWZpZXJzW10gPSB7Cj4+ICAJRFJNX0ZPUk1BVF9NT0RfSU5W QUxJRAo+PiAgfTsKPj4gIAo+PiArc3RhdGljIHZvaWQgY29weV91YXBpX3RvX2h3X3N0YXRlKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPj4gIHN0YXRpYyB2b2lkIGk5eHhf Y3J0Y19jbG9ja19nZXQoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4+ICAJCQkJc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPj4gIHN0YXRpYyB2b2lkIGlyb25sYWtlX3Bj aF9jbG9ja19nZXQoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4+IEBAIC03MDk3LDYgKzcwOTgs NyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2Rpc2FibGVfbm9hdG9taWMoc3RydWN0IGRybV9j cnRjICpjcnRjLAo+PiAgCWNydGMtPmVuYWJsZWQgPSBmYWxzZTsKPj4gIAljcnRjLT5zdGF0ZS0+ Y29ubmVjdG9yX21hc2sgPSAwOwo+PiAgCWNydGMtPnN0YXRlLT5lbmNvZGVyX21hc2sgPSAwOwo+ PiArCWNvcHlfdWFwaV90b19od19zdGF0ZSh0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRl KSk7Cj4+ICAKPiBEbyB3ZSBhY3R1YWxseSBoYXZlIGFueSB2YWxpZCB1YXBpIHN0YXRlIHRvIGNv cHkgYXQgdGhpcyBwb2ludD8gIEkKPiB0aG91Z2h0IGludGVsX2NydGNfZGlzYWJsZV9ub2F0b21p YyB3YXMgb25seSBjYWxsZWQgZHVyaW5nIGluaXRpYWwKPiBoYXJkd2FyZSByZWFkb3V0ICh3aGlj aCBvbmx5IHVwZGF0ZXMgaHcgc3RhdGUgYW5kIHRoZW4gZG9lcyBhIGh3LT51YXBpCj4gY29weSBh dCB0aGUgZW5kKT8KPgo+Cj4+ICAJZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGNydGMtPmRldiwg Y3J0YywgZW5jb2RlcikKPj4gIAkJZW5jb2Rlci0+YmFzZS5jcnRjID0gTlVMTDsKPj4gQEAgLTEx ODA0LDYgKzExODA2LDkgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2F0b21pY19jaGVjayhzdHJ1 Y3QgZHJtX2NydGMgKl9jcnRjLAo+PiAgCj4+ICAJaWYgKG1vZGVfY2hhbmdlZCB8fCBjcnRjX3N0 YXRlLT51cGRhdGVub3VnaGVfcGlwZSB8fAo+PiAgCSAgICBjcnRjX3N0YXRlLT51YXBpLmNvbG9y X21nbXRfY2hhbmdlZCkgewo+PiArCQkvKiBDb3B5IGNvbG9yIGJsb2JzIHRvIGh3IHN0YXRlICov Cj4+ICsJCWludGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhjcnRjX3N0YXRlKTsKPiBUaGUgY29w eSBvbmx5IG1hdHRlcnMgaWYgY3J0Y19zdGF0ZS0+dWFwaS5jb2xvcl9tZ210X2NoYW5nZWQsIHJp Z2h0PyAgSQo+IGd1ZXNzIGl0IGRvZXNuJ3QgcmVhbGx5IG1hdHRlciBpZiB3ZSBjYWxsIHRoaXMg bW9yZSBvZnRlbiB0aGFuIHdlIG5lZWQKPiB0byBzaW5jZSB3ZSdyZSBub3QgYWN0dWFsbHkgY29w eWluZyB0aGUgYmxvYnMgdGhlbXNlbHZlcywganVzdAo+IGRyb3BwaW5nL3Rha2luZyBleHRyYSBy ZWZlcmVuY2VzLgoKWWVzLCBleGFjdGx5LiA6KQoKaW50ZWxfY29sb3JfY29tbWl0IGlzIG9ubHkg Y2FsbGVkIHdoZW4gY29sb3JfbWdtdF9jaGFuZ2VkIGlzIHNldCwgc28gdGhhdCdzIHN1ZmZpY2ll bnQuCgo+Cj4+ICsKPj4gIAkJcmV0ID0gaW50ZWxfY29sb3JfY2hlY2soY3J0Y19zdGF0ZSk7Cj4+ ICAJCWlmIChyZXQpCj4+ICAJCQlyZXR1cm4gcmV0Owo+PiBAQCAtMTIyNTEsNiArMTIyNTYsMjIg QEAgc3RhdGljIGJvb2wgY2hlY2tfZGlnaXRhbF9wb3J0X2NvbmZsaWN0cyhzdHJ1Y3QgaW50ZWxf YXRvbWljX3N0YXRlICpzdGF0ZSkKPj4gIAlyZXR1cm4gcmV0Owo+PiAgfQo+PiAgCj4+ICtzdGF0 aWMgdm9pZCBjb3B5X3VhcGlfdG9faHdfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCj4+ICt7Cj4+ICsJY3J0Y19zdGF0ZS0+aHcuZW5hYmxlID0gY3J0Y19zdGF0ZS0+ dWFwaS5lbmFibGU7Cj4+ICsJY3J0Y19zdGF0ZS0+aHcuYWN0aXZlID0gY3J0Y19zdGF0ZS0+dWFw aS5hY3RpdmU7Cj4+ICsJY3J0Y19zdGF0ZS0+aHcubW9kZSA9IGNydGNfc3RhdGUtPnVhcGkubW9k ZTsKPj4gKwljcnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlID0gY3J0Y19zdGF0ZS0+dWFwaS5h ZGp1c3RlZF9tb2RlOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgdm9pZCBjb3B5X2h3X3RvX3VhcGlf c3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+ICt7Cj4+ICsJY3J0 Y19zdGF0ZS0+dWFwaS5lbmFibGUgPSBjcnRjX3N0YXRlLT5ody5lbmFibGU7Cj4+ICsJY3J0Y19z dGF0ZS0+dWFwaS5hY3RpdmUgPSBjcnRjX3N0YXRlLT5ody5hY3RpdmU7Cj4+ICsJY3J0Y19zdGF0 ZS0+dWFwaS5tb2RlID0gY3J0Y19zdGF0ZS0+aHcubW9kZTsKPj4gKwljcnRjX3N0YXRlLT51YXBp LmFkanVzdGVkX21vZGUgPSBjcnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlOwo+PiArfQo+PiAr Cj4+ICBzdGF0aWMgaW50Cj4+ICBjbGVhcl9pbnRlbF9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+PiAgewo+PiBAQCAtMTIyNjcsNiArMTIyODgsNyBAQCBj bGVhcl9pbnRlbF9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQo+PiAgCSAqIGZpeGVkLCBzbyB0aGF0IHRoZSBjcnRjX3N0YXRlIGNhbiBiZSBzYWZlbHkgZHVw bGljYXRlZC4gRm9yIG5vdywKPj4gIAkgKiBvbmx5IGZpZWxkcyB0aGF0IGFyZSBrbm93IHRvIG5v dCBjYXVzZSBwcm9ibGVtcyBhcmUgcHJlc2VydmVkLiAqLwo+PiAgCj4+ICsJc2F2ZWRfc3RhdGUt PnVhcGkgPSBjcnRjX3N0YXRlLT51YXBpOwo+PiAgCXNhdmVkX3N0YXRlLT5zY2FsZXJfc3RhdGUg PSBjcnRjX3N0YXRlLT5zY2FsZXJfc3RhdGU7Cj4+ICAJc2F2ZWRfc3RhdGUtPnNoYXJlZF9kcGxs ID0gY3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGw7Cj4+ICAJc2F2ZWRfc3RhdGUtPmRwbGxfaHdfc3Rh dGUgPSBjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlOwo+PiBAQCAtMTIyNzcsMTEgKzEyMjk5LDkg QEAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKPj4gIAkgICAgSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhk ZXZfcHJpdikpCj4+ICAJCXNhdmVkX3N0YXRlLT53bSA9IGNydGNfc3RhdGUtPndtOwo+PiAgCj4+ IC0JLyogS2VlcCBiYXNlIGRybV9jcnRjX3N0YXRlIGludGFjdCwgb25seSBjbGVhciBvdXIgZXh0 ZW5kZWQgc3RydWN0ICovCj4+IC0JQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlLCB1YXBpKSk7Cj4+IC0JQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlLCBodykpOwo+PiAtCW1lbWNweSgmY3J0Y19zdGF0ZS0+dWFwaSArIDEsICZz YXZlZF9zdGF0ZS0+dWFwaSArIDEsCj4+IC0JICAgICAgIHNpemVvZigqY3J0Y19zdGF0ZSkgLSBz aXplb2YoY3J0Y19zdGF0ZS0+dWFwaSkpOwo+PiArCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShj cnRjX3N0YXRlKTsKPj4gKwltZW1jcHkoY3J0Y19zdGF0ZSwgc2F2ZWRfc3RhdGUsIHNpemVvZigq Y3J0Y19zdGF0ZSkpOwo+PiArCWNvcHlfdWFwaV90b19od19zdGF0ZShjcnRjX3N0YXRlKTsKPj4g IAo+PiAgCWtmcmVlKHNhdmVkX3N0YXRlKTsKPj4gIAlyZXR1cm4gMDsKPj4gQEAgLTEyNDIxLDYg KzEyNDQxLDkgQEAgaW50ZWxfbW9kZXNldF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqcGlwZV9jb25maWcpCj4+ICAJRFJNX0RFQlVHX0tNUygiaHcgbWF4IGJwcDogJWksIHBp cGUgYnBwOiAlaSwgZGl0aGVyaW5nOiAlaVxuIiwKPj4gIAkJICAgICAgYmFzZV9icHAsIHBpcGVf Y29uZmlnLT5waXBlX2JwcCwgcGlwZV9jb25maWctPmRpdGhlcik7Cj4+ICAKPj4gKwkvKiB1YXBp IHdhbnRzIGEgY29weSBvZiB0aGUgYWRqdXN0ZWRfbW9kZSBmb3IgdmJsYW5rIGJvb2trZWVwaW5n ICovCj4+ICsJcGlwZV9jb25maWctPnVhcGkuYWRqdXN0ZWRfbW9kZSA9IHBpcGVfY29uZmlnLT5o dy5hZGp1c3RlZF9tb2RlOwo+PiArCj4+ICAJcmV0dXJuIDA7Cj4+ICB9Cj4+ICAKPj4gQEAgLTEz MTQyLDYgKzEzMTY1LDggQEAgdmVyaWZ5X2NydGNfc3RhdGUoc3RydWN0IGludGVsX2NydGMgKmNy dGMsCj4+ICAKPj4gIAlzdGF0ZSA9IG9sZF9jcnRjX3N0YXRlLT51YXBpLnN0YXRlOwo+PiAgCV9f ZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZvbGRfY3J0Y19zdGF0ZS0+dWFw aSk7Cj4+ICsJaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRlKG9sZF9jcnRjX3N0YXRlKTsKPj4gKwo+ PiAgCXBpcGVfY29uZmlnID0gb2xkX2NydGNfc3RhdGU7Cj4+ICAJbWVtc2V0KHBpcGVfY29uZmln LCAwLCBzaXplb2YoKnBpcGVfY29uZmlnKSk7Cj4+ICAJcGlwZV9jb25maWctPnVhcGkuY3J0YyA9 ICZjcnRjLT5iYXNlOwo+PiBAQCAtMTM1NjgsNiArMTM1OTMsNyBAQCBzdGF0aWMgaW50IGludGVs X2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiAgCj4+ICAJCWlmICghbmV3 X2NydGNfc3RhdGUtPnVhcGkuZW5hYmxlKSB7Cj4+ICAJCQlhbnlfbXMgPSB0cnVlOwo+PiArCQkJ Y2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShuZXdfY3J0Y19zdGF0ZSk7Cj4gV2h5IGRvIHdlIG5lZWQg dGhpcyBjYWxsPyAgdWFwaSBpcyBwcmVzZXJ2ZWQgZHVyaW5nIHRoaXMgY2FsbCAoYW5kIHRoZW4K PiByZS1jb3BpZWQgdG8gaHcpLCBzbyBpdCBkb2Vzbid0IHNlZW0gbGlrZSB0aGlzIGhhcyBhbnkg ZWZmZWN0IG9uIHRoZQo+IHVhcGkvaHcgc3BsaXQgd2UncmUgZGVhbGluZyB3aXRoIGluIHRoaXMg cGF0Y2g/CgpXZSB3YW50IHRvIGNsZWFyIGNydGNfc3RhdGUtPmh3LCBpdCBjYW4gYmUgcmVwbGFj ZWQgd2l0aCBhIGludGVsX2NydGNfZnJlZV9od19zdGF0ZSgpICsgbWVtc2V0IG9uIGNydGNfc3Rh dGUtPmh3LgoKSSB3YW50ZWQgdG8gY2xlYXIgdGhlIGVudGlyZSBzdGF0ZSwgc28gd2hlbiBkdW1w aW5nIGNydGNfc3RhdGUgeW91IGRvbid0IHNlZSBhbnkgb2xkIHN0YXRlLgoKQWx0aG91Z2ggd2Un cmUgbWlzc2luZyBlcnJvciBjaGVja2luZyBoZXJlLCBzbyB0aGF0IG5lZWRzIGZpeGluZy4KCgo+ Cj4+ICAJCQljb250aW51ZTsKPj4gIAkJfQo+PiAgCj4+IEBAIC0xNjY4Niw2ICsxNjcxMiw3IEBA IHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQo+PiAgCQkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNlLnN0YXRlKTsK Pj4gIAo+PiAgCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSgmY3J0Y19z dGF0ZS0+dWFwaSk7Cj4+ICsJCWludGVsX2NydGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRlKTsK Pj4gIAkJbWVtc2V0KGNydGNfc3RhdGUsIDAsIHNpemVvZigqY3J0Y19zdGF0ZSkpOwo+PiAgCQlf X2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoJmNydGMtPmJhc2UsICZjcnRjX3N0YXRlLT51 YXBpKTsKPj4gIAo+PiBAQCAtMTY4MDIsNiArMTY4MjksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9t b2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPj4gIAkJCWNy dGMtPmJhc2UubW9kZS52ZGlzcGxheSA9IGNydGNfc3RhdGUtPnBpcGVfc3JjX2g7Cj4+ICAJCQlp bnRlbF9tb2RlX2Zyb21fcGlwZV9jb25maWcoJmNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGUs Cj4+ICAJCQkJCQkgICAgY3J0Y19zdGF0ZSk7Cj4+ICsJCQljcnRjX3N0YXRlLT5ody5tb2RlID0g Y3J0Yy0+YmFzZS5tb2RlOwo+PiAgCQkJV0FSTl9PTihkcm1fYXRvbWljX3NldF9tb2RlX2Zvcl9j cnRjKGNydGMtPmJhc2Uuc3RhdGUsICZjcnRjLT5iYXNlLm1vZGUpKTsKPj4gIAo+PiAgCQkJLyoK Pj4gQEAgLTE2ODQ3LDYgKzE2ODc1LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFk b3V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4+ICAKPj4gIAkJaW50ZWxfYndf Y3J0Y191cGRhdGUoYndfc3RhdGUsIGNydGNfc3RhdGUpOwo+PiAgCj4+ICsJCWNvcHlfaHdfdG9f dWFwaV9zdGF0ZShjcnRjX3N0YXRlKTsKPj4gIAkJaW50ZWxfcGlwZV9jb25maWdfc2FuaXR5X2No ZWNrKGRldl9wcml2LCBjcnRjX3N0YXRlKTsKPj4gIAl9Cj4+ICB9Cj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oCj4+IGluZGV4IDJj MzU2NzA4MWUxNi4uZTgxYjc4NWNjOGYyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+PiBAQCAtNzQ5LDcgKzc0OSw2 IEBAIGVudW0gaW50ZWxfb3V0cHV0X2Zvcm1hdCB7Cj4+ICB9Owo+PiAgCj4+ICBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSB7Cj4+IC0JdW5pb24gewo+PiAgCS8qCj4+ICAJICogdWFwaSAoZHJtKSBz dGF0ZS4gVGhpcyBpcyB0aGUgc29mdHdhcmUgc3RhdGUgc2hvd24gdG8gdXNlcnNwYWNlLgo+PiAg CSAqIEluIHBhcnRpY3VsYXIsIHRoZSBmb2xsb3dpbmcgbWVtYmVycyBhcmUgdXNlZCBmb3IgYm9v a2tlZXBpbmc6Cj4+IEBAIC03NzIsOCArNzcxLDExIEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl IHsKPj4gIAkgKgo+PiAgCSAqIER1cmluZyBpbml0aWFsIGh3IHJlYWRvdXQsIHRoZXkgbmVlZCB0 byBiZSBjb3BpZWQgdG8gdWFwaS4KPj4gIAkgKi8KPj4gLQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUg aHc7Cj4+IC0JfTsKPj4gKwlzdHJ1Y3Qgewo+PiArCQlib29sIGFjdGl2ZSwgZW5hYmxlOwo+PiAr CQlzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmRlZ2FtbWFfbHV0LCAqZ2FtbWFfbHV0LCAqY3Rt Owo+PiArCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBtb2RlLCBhZGp1c3RlZF9tb2RlOwo+PiAr CX0gaHc7Cj4+ICAKPj4gIAkvKioKPj4gIAkgKiBxdWlya3MgLSBiaXRmaWVsZCB3aXRoIGh3IHN0 YXRlIHJlYWRvdXQgcXVpcmtzCj4+IC0tIAo+PiAyLjIwLjEKPj4KPj4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dAo+PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IGh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4