From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 05/23] drm/i915: Complete sw/hw split Date: Tue, 24 Sep 2019 16:41:05 -0700 Message-ID: <20190924234105.GJ1869@mdroper-desk1.amr.corp.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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id A7DF86EB0F for ; Tue, 24 Sep 2019 23:40:57 +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 KCksIHJpZ2h0Cj4gYmVmb3JlIGNvbG9yIG1hbmFnZW1lbnQgaXMgY2hlY2tlZC4KPiAKPiBTaWdu ZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50 ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21p Yy5jICAgfCA0NCArKysrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfYXRvbWljLmggICB8ICAyICsKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5LmMgIHwgMzkgKysrKysrKysrKysrKy0tLQo+ICAuLi4vZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggICAgfCAgOCArKy0tCj4gIDQgZmlsZXMg Y2hhbmdlZCwgODUgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMKPiBpbmRleCBmNDQ0MGVkZTk1YzUu LmZiNTUwZDNjZWE3ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2F0b21pYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9hdG9taWMuYwo+IEBAIC0xOTUsNiArMTk1LDE0IEBAIGludGVsX2NydGNfZHVwbGljYXRlX3N0 YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCj4gIAlfX2RybV9hdG9taWNfaGVscGVyX2Ny dGNfZHVwbGljYXRlX3N0YXRlKGNydGMsICZjcnRjX3N0YXRlLT51YXBpKTsKPiAgCj4gKwkvKiBj b3B5IGNvbG9yIGJsb2JzICovCj4gKwlpZiAoY3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9sdXQpCj4g KwkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0KGNydGNfc3RhdGUtPmh3LmRlZ2FtbWFfbHV0KTsKPiAr CWlmIChjcnRjX3N0YXRlLT5ody5jdG0pCj4gKwkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0KGNydGNf c3RhdGUtPmh3LmN0bSk7Cj4gKwlpZiAoY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0KQo+ICsJCWRy bV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQpOwo+ICsKPiAgCWNy dGNfc3RhdGUtPnVwZGF0ZV9waXBlID0gZmFsc2U7Cj4gIAljcnRjX3N0YXRlLT5kaXNhYmxlX2xw X3dtID0gZmFsc2U7Cj4gIAljcnRjX3N0YXRlLT5kaXNhYmxlX2N4c3IgPSBmYWxzZTsKPiBAQCAt MjA5LDYgKzIxNyw0MSBAQCBpbnRlbF9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCj4gIAlyZXR1cm4gJmNydGNfc3RhdGUtPnVhcGk7Cj4gIH0KPiAgCj4gK3N0YXRp YyB2b2lkIGludGVsX2NydGNfcHV0X2NvbG9yX2Jsb2JzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQo+ICt7Cj4gKwlkcm1fcHJvcGVydHlfYmxvYl9wdXQoY3J0Y19zdGF0ZS0+ aHcuZGVnYW1tYV9sdXQpOwo+ICsJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0KGNydGNfc3RhdGUtPmh3 LmdhbW1hX2x1dCk7Cj4gKwlkcm1fcHJvcGVydHlfYmxvYl9wdXQoY3J0Y19zdGF0ZS0+aHcuY3Rt KTsKPiArfQo+ICsKPiArdm9pZCBpbnRlbF9jcnRjX2ZyZWVfaHdfc3RhdGUoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCWludGVsX2NydGNfcHV0X2NvbG9yX2Js b2JzKGNydGNfc3RhdGUpOwo+ICt9Cj4gKwo+ICt2b2lkIGludGVsX2NydGNfY29weV9jb2xvcl9i bG9icyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArewo+ICsJaW50ZWxf Y3J0Y19wdXRfY29sb3JfYmxvYnMoY3J0Y19zdGF0ZSk7Cj4gKwo+ICsJaWYgKGNydGNfc3RhdGUt PnVhcGkuZGVnYW1tYV9sdXQpCj4gKwkJY3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9sdXQgPQo+ICsJ CQlkcm1fcHJvcGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFwaS5kZWdhbW1hX2x1dCk7Cj4g KwllbHNlCj4gKwkJY3J0Y19zdGF0ZS0+aHcuZGVnYW1tYV9sdXQgPSBOVUxMOwo+ICsKPiArCWlm IChjcnRjX3N0YXRlLT51YXBpLmdhbW1hX2x1dCkKPiArCQljcnRjX3N0YXRlLT5ody5nYW1tYV9s dXQgPQo+ICsJCQlkcm1fcHJvcGVydHlfYmxvYl9nZXQoY3J0Y19zdGF0ZS0+dWFwaS5nYW1tYV9s dXQpOwo+ICsJZWxzZQo+ICsJCWNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dCA9IE5VTEw7Cj4gKwo+ ICsJaWYgKGNydGNfc3RhdGUtPnVhcGkuY3RtKQo+ICsJCWNydGNfc3RhdGUtPmh3LmN0bSA9Cj4g KwkJCWRybV9wcm9wZXJ0eV9ibG9iX2dldChjcnRjX3N0YXRlLT51YXBpLmN0bSk7Cj4gKwllbHNl Cj4gKwkJY3J0Y19zdGF0ZS0+aHcuY3RtID0gTlVMTDsKPiArfQo+ICsKPiAgLyoqCj4gICAqIGlu dGVsX2NydGNfZGVzdHJveV9zdGF0ZSAtIGRlc3Ryb3kgY3J0YyBzdGF0ZQo+ICAgKiBAY3J0Yzog ZHJtIGNydGMKPiBAQCAtMjI0LDYgKzI2Nyw3IEBAIGludGVsX2NydGNfZGVzdHJveV9zdGF0ZShz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoc3RhdGUpOwo+ICAKPiAgCV9fZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZjcnRjX3N0YXRlLT51YXBpKTsKPiArCWludGVsX2Ny dGNfZnJlZV9od19zdGF0ZShjcnRjX3N0YXRlKTsKPiAgCWtmcmVlKGNydGNfc3RhdGUpOwo+ICB9 Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0 b21pYy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuaAo+IGlu ZGV4IDU4MDY1ZDMxNjFhMy4uNDJiZTkxZTA3NzJhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5oCj4gQEAgLTM1LDYgKzM1LDggQEAgaW50ZWxfZGln aXRhbF9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpOwo+ICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmludGVsX2NydGNfZHVwbGljYXRlX3N0 YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gIHZvaWQgaW50ZWxfY3J0Y19kZXN0cm95X3N0 YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQkJICAgICAgIHN0cnVjdCBkcm1fY3J0Y19z dGF0ZSAqc3RhdGUpOwo+ICt2b2lkIGludGVsX2NydGNfZnJlZV9od19zdGF0ZShzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gK3ZvaWQgaW50ZWxfY3J0Y19jb3B5X2NvbG9y X2Jsb2JzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiAgc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKmludGVsX2F0b21pY19zdGF0ZV9hbGxvYyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KTsKPiAgdm9pZCBpbnRlbF9hdG9taWNfc3RhdGVfY2xlYXIoc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlKTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5LmMKPiBpbmRleCAzMmJiYjViZjQ4ZjMuLmU0MDQ4NWExZTUwMyAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTEx NCw2ICsxMTQsNyBAQCBzdGF0aWMgY29uc3QgdTY0IGN1cnNvcl9mb3JtYXRfbW9kaWZpZXJzW10g PSB7Cj4gIAlEUk1fRk9STUFUX01PRF9JTlZBTElECj4gIH07Cj4gIAo+ICtzdGF0aWMgdm9pZCBj b3B5X3VhcGlfdG9faHdfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp Owo+ICBzdGF0aWMgdm9pZCBpOXh4X2NydGNfY2xvY2tfZ2V0KHN0cnVjdCBpbnRlbF9jcnRjICpj cnRjLAo+ICAJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPiAgc3Rh dGljIHZvaWQgaXJvbmxha2VfcGNoX2Nsb2NrX2dldChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK PiBAQCAtNzA5Nyw2ICs3MDk4LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19kaXNhYmxlX25v YXRvbWljKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCWNydGMtPmVuYWJsZWQgPSBmYWxzZTsK PiAgCWNydGMtPnN0YXRlLT5jb25uZWN0b3JfbWFzayA9IDA7Cj4gIAljcnRjLT5zdGF0ZS0+ZW5j b2Rlcl9tYXNrID0gMDsKPiArCWNvcHlfdWFwaV90b19od19zdGF0ZSh0b19pbnRlbF9jcnRjX3N0 YXRlKGNydGMtPnN0YXRlKSk7Cj4gIAoKRG8gd2UgYWN0dWFsbHkgaGF2ZSBhbnkgdmFsaWQgdWFw aSBzdGF0ZSB0byBjb3B5IGF0IHRoaXMgcG9pbnQ/ICBJCnRob3VnaHQgaW50ZWxfY3J0Y19kaXNh YmxlX25vYXRvbWljIHdhcyBvbmx5IGNhbGxlZCBkdXJpbmcgaW5pdGlhbApoYXJkd2FyZSByZWFk b3V0ICh3aGljaCBvbmx5IHVwZGF0ZXMgaHcgc3RhdGUgYW5kIHRoZW4gZG9lcyBhIGh3LT51YXBp CmNvcHkgYXQgdGhlIGVuZCk/CgoKPiAgCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0YyhjcnRjLT5k ZXYsIGNydGMsIGVuY29kZXIpCj4gIAkJZW5jb2Rlci0+YmFzZS5jcnRjID0gTlVMTDsKPiBAQCAt MTE4MDQsNiArMTE4MDYsOSBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfYXRvbWljX2NoZWNrKHN0 cnVjdCBkcm1fY3J0YyAqX2NydGMsCj4gIAo+ICAJaWYgKG1vZGVfY2hhbmdlZCB8fCBjcnRjX3N0 YXRlLT51cGRhdGVfcGlwZSB8fAo+ICAJICAgIGNydGNfc3RhdGUtPnVhcGkuY29sb3JfbWdtdF9j aGFuZ2VkKSB7Cj4gKwkJLyogQ29weSBjb2xvciBibG9icyB0byBodyBzdGF0ZSAqLwo+ICsJCWlu dGVsX2NydGNfY29weV9jb2xvcl9ibG9icyhjcnRjX3N0YXRlKTsKClRoZSBjb3B5IG9ubHkgbWF0 dGVycyBpZiBjcnRjX3N0YXRlLT51YXBpLmNvbG9yX21nbXRfY2hhbmdlZCwgcmlnaHQ/ICBJCmd1 ZXNzIGl0IGRvZXNuJ3QgcmVhbGx5IG1hdHRlciBpZiB3ZSBjYWxsIHRoaXMgbW9yZSBvZnRlbiB0 aGFuIHdlIG5lZWQKdG8gc2luY2Ugd2UncmUgbm90IGFjdHVhbGx5IGNvcHlpbmcgdGhlIGJsb2Jz IHRoZW1zZWx2ZXMsIGp1c3QKZHJvcHBpbmcvdGFraW5nIGV4dHJhIHJlZmVyZW5jZXMuCgoKPiAr Cj4gIAkJcmV0ID0gaW50ZWxfY29sb3JfY2hlY2soY3J0Y19zdGF0ZSk7Cj4gIAkJaWYgKHJldCkK PiAgCQkJcmV0dXJuIHJldDsKPiBAQCAtMTIyNTEsNiArMTIyNTYsMjIgQEAgc3RhdGljIGJvb2wg Y2hlY2tfZGlnaXRhbF9wb3J0X2NvbmZsaWN0cyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpz dGF0ZSkKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIGNvcHlfdWFwaV90 b19od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArewo+ICsJ Y3J0Y19zdGF0ZS0+aHcuZW5hYmxlID0gY3J0Y19zdGF0ZS0+dWFwaS5lbmFibGU7Cj4gKwljcnRj X3N0YXRlLT5ody5hY3RpdmUgPSBjcnRjX3N0YXRlLT51YXBpLmFjdGl2ZTsKPiArCWNydGNfc3Rh dGUtPmh3Lm1vZGUgPSBjcnRjX3N0YXRlLT51YXBpLm1vZGU7Cj4gKwljcnRjX3N0YXRlLT5ody5h ZGp1c3RlZF9tb2RlID0gY3J0Y19zdGF0ZS0+dWFwaS5hZGp1c3RlZF9tb2RlOwo+ICt9Cj4gKwo+ ICtzdGF0aWMgdm9pZCBjb3B5X2h3X3RvX3VhcGlfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCWNydGNfc3RhdGUtPnVhcGkuZW5hYmxlID0gY3J0Y19z dGF0ZS0+aHcuZW5hYmxlOwo+ICsJY3J0Y19zdGF0ZS0+dWFwaS5hY3RpdmUgPSBjcnRjX3N0YXRl LT5ody5hY3RpdmU7Cj4gKwljcnRjX3N0YXRlLT51YXBpLm1vZGUgPSBjcnRjX3N0YXRlLT5ody5t b2RlOwo+ICsJY3J0Y19zdGF0ZS0+dWFwaS5hZGp1c3RlZF9tb2RlID0gY3J0Y19zdGF0ZS0+aHcu YWRqdXN0ZWRfbW9kZTsKPiArfQo+ICsKPiAgc3RhdGljIGludAo+ICBjbGVhcl9pbnRlbF9jcnRj X3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICB7Cj4gQEAgLTEy MjY3LDYgKzEyMjg4LDcgQEAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgCSAqIGZpeGVkLCBzbyB0aGF0IHRoZSBjcnRjX3N0YXRl IGNhbiBiZSBzYWZlbHkgZHVwbGljYXRlZC4gRm9yIG5vdywKPiAgCSAqIG9ubHkgZmllbGRzIHRo YXQgYXJlIGtub3cgdG8gbm90IGNhdXNlIHByb2JsZW1zIGFyZSBwcmVzZXJ2ZWQuICovCj4gIAo+ ICsJc2F2ZWRfc3RhdGUtPnVhcGkgPSBjcnRjX3N0YXRlLT51YXBpOwo+ICAJc2F2ZWRfc3RhdGUt PnNjYWxlcl9zdGF0ZSA9IGNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsKPiAgCXNhdmVkX3N0YXRl LT5zaGFyZWRfZHBsbCA9IGNydGNfc3RhdGUtPnNoYXJlZF9kcGxsOwo+ICAJc2F2ZWRfc3RhdGUt PmRwbGxfaHdfc3RhdGUgPSBjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlOwo+IEBAIC0xMjI3Nywx MSArMTIyOTksOSBAQCBjbGVhcl9pbnRlbF9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlKQo+ICAJICAgIElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NI RVJSWVZJRVcoZGV2X3ByaXYpKQo+ICAJCXNhdmVkX3N0YXRlLT53bSA9IGNydGNfc3RhdGUtPndt Owo+ICAKPiAtCS8qIEtlZXAgYmFzZSBkcm1fY3J0Y19zdGF0ZSBpbnRhY3QsIG9ubHkgY2xlYXIg b3VyIGV4dGVuZGVkIHN0cnVjdCAqLwo+IC0JQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlLCB1YXBpKSk7Cj4gLQlCVUlMRF9CVUdfT04ob2Zmc2V0b2Yoc3RydWN0 IGludGVsX2NydGNfc3RhdGUsIGh3KSk7Cj4gLQltZW1jcHkoJmNydGNfc3RhdGUtPnVhcGkgKyAx LCAmc2F2ZWRfc3RhdGUtPnVhcGkgKyAxLAo+IC0JICAgICAgIHNpemVvZigqY3J0Y19zdGF0ZSkg LSBzaXplb2YoY3J0Y19zdGF0ZS0+dWFwaSkpOwo+ICsJaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRl KGNydGNfc3RhdGUpOwo+ICsJbWVtY3B5KGNydGNfc3RhdGUsIHNhdmVkX3N0YXRlLCBzaXplb2Yo KmNydGNfc3RhdGUpKTsKPiArCWNvcHlfdWFwaV90b19od19zdGF0ZShjcnRjX3N0YXRlKTsKPiAg Cj4gIAlrZnJlZShzYXZlZF9zdGF0ZSk7Cj4gIAlyZXR1cm4gMDsKPiBAQCAtMTI0MjEsNiArMTI0 NDEsOSBAQCBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpwaXBlX2NvbmZpZykKPiAgCURSTV9ERUJVR19LTVMoImh3IG1heCBicHA6ICVpLCBwaXBlIGJw cDogJWksIGRpdGhlcmluZzogJWlcbiIsCj4gIAkJICAgICAgYmFzZV9icHAsIHBpcGVfY29uZmln LT5waXBlX2JwcCwgcGlwZV9jb25maWctPmRpdGhlcik7Cj4gIAo+ICsJLyogdWFwaSB3YW50cyBh IGNvcHkgb2YgdGhlIGFkanVzdGVkX21vZGUgZm9yIHZibGFuayBib29ra2VlcGluZyAqLwo+ICsJ cGlwZV9jb25maWctPnVhcGkuYWRqdXN0ZWRfbW9kZSA9IHBpcGVfY29uZmlnLT5ody5hZGp1c3Rl ZF9tb2RlOwo+ICsKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IEBAIC0xMzE0Miw2ICsxMzE2NSw4 IEBAIHZlcmlmeV9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICAKPiAgCXN0 YXRlID0gb2xkX2NydGNfc3RhdGUtPnVhcGkuc3RhdGU7Cj4gIAlfX2RybV9hdG9taWNfaGVscGVy X2NydGNfZGVzdHJveV9zdGF0ZSgmb2xkX2NydGNfc3RhdGUtPnVhcGkpOwo+ICsJaW50ZWxfY3J0 Y19mcmVlX2h3X3N0YXRlKG9sZF9jcnRjX3N0YXRlKTsKPiArCj4gIAlwaXBlX2NvbmZpZyA9IG9s ZF9jcnRjX3N0YXRlOwo+ICAJbWVtc2V0KHBpcGVfY29uZmlnLCAwLCBzaXplb2YoKnBpcGVfY29u ZmlnKSk7Cj4gIAlwaXBlX2NvbmZpZy0+dWFwaS5jcnRjID0gJmNydGMtPmJhc2U7Cj4gQEAgLTEz NTY4LDYgKzEzNTkzLDcgQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfY2hlY2soc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKPiAgCj4gIAkJaWYgKCFuZXdfY3J0Y19zdGF0ZS0+dWFwaS5lbmFibGUp IHsKPiAgCQkJYW55X21zID0gdHJ1ZTsKPiArCQkJY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShuZXdf Y3J0Y19zdGF0ZSk7CgpXaHkgZG8gd2UgbmVlZCB0aGlzIGNhbGw/ICB1YXBpIGlzIHByZXNlcnZl ZCBkdXJpbmcgdGhpcyBjYWxsIChhbmQgdGhlbgpyZS1jb3BpZWQgdG8gaHcpLCBzbyBpdCBkb2Vz bid0IHNlZW0gbGlrZSB0aGlzIGhhcyBhbnkgZWZmZWN0IG9uIHRoZQp1YXBpL2h3IHNwbGl0IHdl J3JlIGRlYWxpbmcgd2l0aCBpbiB0aGlzIHBhdGNoPwoKCk1hdHQKCj4gIAkJCWNvbnRpbnVlOwo+ ICAJCX0KPiAgCj4gQEAgLTE2Njg2LDYgKzE2NzEyLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9k ZXNldF9yZWFkb3V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJCXRvX2lu dGVsX2NydGNfc3RhdGUoY3J0Yy0+YmFzZS5zdGF0ZSk7Cj4gIAo+ICAJCV9fZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZjcnRjX3N0YXRlLT51YXBpKTsKPiArCQlpbnRlbF9j cnRjX2ZyZWVfaHdfc3RhdGUoY3J0Y19zdGF0ZSk7Cj4gIAkJbWVtc2V0KGNydGNfc3RhdGUsIDAs IHNpemVvZigqY3J0Y19zdGF0ZSkpOwo+ICAJCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNl dCgmY3J0Yy0+YmFzZSwgJmNydGNfc3RhdGUtPnVhcGkpOwo+ICAKPiBAQCAtMTY4MDIsNiArMTY4 MjksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiAgCQkJY3J0Yy0+YmFzZS5tb2RlLnZkaXNwbGF5ID0gY3J0Y19z dGF0ZS0+cGlwZV9zcmNfaDsKPiAgCQkJaW50ZWxfbW9kZV9mcm9tX3BpcGVfY29uZmlnKCZjcnRj X3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlLAo+ICAJCQkJCQkgICAgY3J0Y19zdGF0ZSk7Cj4gKwkJ CWNydGNfc3RhdGUtPmh3Lm1vZGUgPSBjcnRjLT5iYXNlLm1vZGU7Cj4gIAkJCVdBUk5fT04oZHJt X2F0b21pY19zZXRfbW9kZV9mb3JfY3J0YyhjcnRjLT5iYXNlLnN0YXRlLCAmY3J0Yy0+YmFzZS5t b2RlKSk7Cj4gIAo+ICAJCQkvKgo+IEBAIC0xNjg0Nyw2ICsxNjg3NSw3IEBAIHN0YXRpYyB2b2lk IGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICAKPiAgCQlpbnRlbF9id19jcnRjX3VwZGF0ZShid19zdGF0ZSwgY3J0Y19zdGF0ZSk7Cj4gIAo+ ICsJCWNvcHlfaHdfdG9fdWFwaV9zdGF0ZShjcnRjX3N0YXRlKTsKPiAgCQlpbnRlbF9waXBlX2Nv bmZpZ19zYW5pdHlfY2hlY2soZGV2X3ByaXYsIGNydGNfc3RhdGUpOwo+ICAJfQo+ICB9Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBl cy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgK PiBpbmRleCAyYzM1NjcwODFlMTYuLmU4MWI3ODVjYzhmMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oCj4gQEAgLTc0OSw3 ICs3NDksNiBAQCBlbnVtIGludGVsX291dHB1dF9mb3JtYXQgewo+ICB9Owo+ICAKPiAgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgewo+IC0JdW5pb24gewo+ICAJLyoKPiAgCSAqIHVhcGkgKGRybSkg c3RhdGUuIFRoaXMgaXMgdGhlIHNvZnR3YXJlIHN0YXRlIHNob3duIHRvIHVzZXJzcGFjZS4KPiAg CSAqIEluIHBhcnRpY3VsYXIsIHRoZSBmb2xsb3dpbmcgbWVtYmVycyBhcmUgdXNlZCBmb3IgYm9v a2tlZXBpbmc6Cj4gQEAgLTc3Miw4ICs3NzEsMTEgQEAgc3RydWN0IGludGVsX2NydGNfc3RhdGUg ewo+ICAJICoKPiAgCSAqIER1cmluZyBpbml0aWFsIGh3IHJlYWRvdXQsIHRoZXkgbmVlZCB0byBi ZSBjb3BpZWQgdG8gdWFwaS4KPiAgCSAqLwo+IC0Jc3RydWN0IGRybV9jcnRjX3N0YXRlIGh3Owo+ IC0JfTsKPiArCXN0cnVjdCB7Cj4gKwkJYm9vbCBhY3RpdmUsIGVuYWJsZTsKPiArCQlzdHJ1Y3Qg ZHJtX3Byb3BlcnR5X2Jsb2IgKmRlZ2FtbWFfbHV0LCAqZ2FtbWFfbHV0LCAqY3RtOwo+ICsJCXN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlIG1vZGUsIGFkanVzdGVkX21vZGU7Cj4gKwl9IGh3Owo+ICAK PiAgCS8qKgo+ICAJICogcXVpcmtzIC0gYml0ZmllbGQgd2l0aCBodyBzdGF0ZSByZWFkb3V0IHF1 aXJrcwo+IC0tIAo+IDIuMjAuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCk1hdHQgUm9wZXIKR3JhcGhpY3MgU29mdHdhcmUgRW5n aW5lZXIKVlRULU9TR0MgUGxhdGZvcm0gRW5hYmxlbWVudApJbnRlbCBDb3Jwb3JhdGlvbgooOTE2 KSAzNTYtMjc5NQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=