From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH 1/8] drm/i915/icl: Check for fused-off VDBOX and VEBOX instances Date: Tue, 27 Mar 2018 16:39:36 -0700 Message-ID: <1522193976.2643.9.camel@intel.com> References: <20180316121456.11577-1-mika.kuoppala@linux.intel.com> <771b0d51-c765-4e39-d604-691bb41d6820@intel.com> <1522190547.2643.0.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id BEA676E151 for ; Tue, 27 Mar 2018 23:39:51 +0000 (UTC) In-Reply-To: <1522190547.2643.0.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lionel Landwerlin , Mika Kuoppala , intel-gfx@lists.freedesktop.org Cc: Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org RW0gVGVyLCAyMDE4LTAzLTI3IMOgcyAxNTo0MiAtMDcwMCwgUGF1bG8gWmFub25pIGVzY3JldmV1 Ogo+IEVtIFNleCwgMjAxOC0wMy0yMyDDoHMgMTY6MjggKzAwMDAsIExpb25lbCBMYW5kd2VybGlu IGVzY3JldmV1Ogo+ID4gSGkgTWlrYSwKPiA+IAo+ID4gRXZlbiBhZnRlciB0aGlzIHNlcmllcywg d2UncmUgc3RpbGwgbWlzc2luZyBzdXBwb3J0IGZvciByZWFkaW5nCj4gPiB0aGUgCj4gPiB0aW1l c3RhbXAgZnJlcXVlbmN5IChyZWFkX3RpbWVzdGFtcF9mcmVxdWVuY3kgaW4KPiA+IGludGVsX2Rl dmljZV9pbmZvLmMpLgo+ID4gSSdtIHByZXR0eSBzdXJlIHNvbWVvbmUgd3JvdGUgYSBwYXRjaCBm b3IgaXQuIERvIHlvdSBhbnkgaWRlYT8KPiA+IAo+ID4gSWYgbm90LCBJIGNhbiBzZW5kIHNvbWV0 aGluZy4KPiAKPiBZZXMsIHdlIGhhdmUgdGhlbS4gSSdsbCBzZWUgaWYgSSBtaXNzZWQgdGhlbSB3 aGlsZSB1cHN0cmVhbWluZyBhbmQKPiByZXNlbmQgaW4gdGhhdCBjYXNlLgoKaHR0cHM6Ly9wYXRj aHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoLzE5NjcxMC8KCkhleSBMaW9uZWwsIHRoZSBSZXZp ZXdlZC1ieSBzdGFtcCB5b3UgZ2F2ZSBvbiB0aGUgcGF0Y2ggd2FzIGJlZm9yZSB3ZQp1cHN0cmVh bWVkIGl0LCBzbyB3ZSBuZWVkIHlvdSAob3Igc29tZW9uZSBlbHNlKSB0byByZS1jaGVjayB0aGUg cGF0Y2gKYW5kIHJlLWlzc3VlIHRoZSByZXZpZXdlZC1ieSB0YWcuIFdlIGRvIHRoaXMgYmVjYXVz ZSBvZiB0aGUgcmViYXNpbmcKdGhhdCBoYXBwZW5lZCBiZXR3ZWVuIHRoZSBSLUIgdGFnIGFuZCB0 aGUgdXBzdHJlYW1pbmcsIHNpbmNlIGlzc3VlcyBjYW4KYmUgaW50cm9kdWNlZCBpbiBiZXR3ZWVu LiBJZiB5b3UgY2FuIGNoZWNrIHRoZSBwYXRjaCBhZ2FpbiBhbmQgdmFsaWRhdGUKdGhlIHItYiB0 YWcgKG9yIHBvaW50IHRoZSBpc3N1ZXMpIHRoZW4gd2UgY2FuIG1vdmUgZm9yd2FyZCBhbmQKaG9w ZWZ1bGx5IG1lcmdlIGl0LgoKVGhhbmtzLApQYXVsbwoKPiAKPiA+IAo+ID4gVGhhbmtzLAo+ID4g Cj4gPiAtCj4gPiBMaW9uZWwKPiA+IAo+ID4gT24gMTYvMDMvMTggMTI6MTQsIE1pa2EgS3VvcHBh bGEgd3JvdGU6Cj4gPiA+IEZyb206IE9zY2FyIE1hdGVvIDxvc2Nhci5tYXRlb0BpbnRlbC5jb20+ Cj4gPiA+IAo+ID4gPiBJbiBHZW4xMSwgdGhlIFZpZGVvIERlY29kZSBlbmdpbmVzIChha2EgVkRC T1gsIGFrYSBWQ1MsIGFrYSBCU0QpCj4gPiA+IGFuZCB0aGUKPiA+ID4gVmlkZW8gRW5oYW5jZW1l bnQgZW5naW5lcyAoYWthIFZFQk9YLCBha2EgVkVDUykgY291bGQgYmUgZnVzZWQKPiA+ID4gb2Zm Lgo+ID4gPiBBbHNvLAo+ID4gPiBlYWNoIFZEQk9YIGFuZCBWRUJPWCBoYXMgaXRzIG93biBwb3dl ciB3ZWxsLCB3aGljaCBvbmx5IGV4aXN0IGlmCj4gPiA+IHRoZSByZWxhdGVkCj4gPiA+IGVuZ2lu ZSBleGlzdHMgaW4gdGhlIEhXLgo+ID4gPiAKPiA+ID4gVW5mb3J0dW5hdGVseSwgd2UgaGF2ZSBh IENhdGNoLTIyIHNpdHVhdGlvbiBnb2luZyBvbjogd2UgbmVlZCB0aGUKPiA+ID4gYmxpdHRlcgo+ ID4gPiBmb3JjZXdha2UgdG8gcmVhZCB0aGUgcmVnaXN0ZXIgd2l0aCB0aGUgZnVzZSBpbmZvLCBi dXQgd2UgY2Fubm90Cj4gPiA+IGluaXRpYWxpemUKPiA+ID4gdGhlIGZvcmNld2FrZSBkb21haW5z IHdpdGhvdXQga25vd2luIGFib3V0IHRoZSBlbmdpbmVzIHByZXNlbnQgaW4KPiA+ID4gdGhlIEhX Lgo+ID4gPiBXZSB3b3JrYXJvdW5kIHRoaXMgcHJvYmxlbSBieSBhbGxvd2luZyB0aGUgaW5pdGlh bGl6YXRpb24gb2YgYWxsCj4gPiA+IGZvcmNld2FrZQo+ID4gPiBkb21haW5zIGFuZCB0aGVuIHBy dW5pbmcgdGhlIGZ1c2VkIG9mZiBvbmVzLCBhcyBwZXIgdGhlIGZ1c2UKPiA+ID4gaW5mb3JtYXRp b24uCj4gPiA+IAo+ID4gPiBCc3BlYzogMjA2ODAKPiA+ID4gCj4gPiA+IHYyOiBXZSB3ZXJlIHNo aWZ0aW5nIGluY29ycmVjdGx5IGZvciB2ZWJveCBkaXNhYmxlIChWaW5heSkKPiA+ID4gCj4gPiA+ IHYzOiBBc3NlcnQgbW1pbyBpcyByZWFkeSBhbmQgd2FybiBpZiB3ZSBoYXZlIGF0dGVtcHRlZCB0 bwo+ID4gPiBpbml0aWFsaXplCj4gPiA+ICAgICAgZm9yY2V3YWtlIGZvciBmdXNlZC1vZmYgZW5n aW5lcyAoUGF1bG8pCj4gPiA+IAo+ID4gPiB2NDoKPiA+ID4gICAgLSBVc2UgSU5URUxfR0VOIGlu IG5ldyBjb2RlIChUdnJ0a28pCj4gPiA+ICAgIC0gU2hvcnRlciBsb2NhbCB2YXJpYWJsZSAoVHZy dGtvLCBNaWNoYWwpCj4gPiA+ICAgIC0gS2VlcCAiaWYgKCEuLi4pIGNvbnRpbnVlIiBzdHlsZSAo VHZydGtvKQo+ID4gPiAgICAtIE5vIHVubmVjZXNzYXJ5IEJVR19PTiAoVHZydGtvKQo+ID4gPiAg ICAtIFdBUk5fT04gYW5kIGNsZWFudXAgaWYgd3JvbmcgbWFzayAoVHZydGtvLCBNaWNoYWwpCj4g PiA+ICAgIC0gVXNlIEk5MTVfUkVBRF9GVyAoTWljaGFsKQo+ID4gPiAgICAtIFVzZSBJOTE1X01B WF9WQ1MvVkVDUyBtYWNyb3MgKE1pY2hhbCkKPiA+ID4gCj4gPiA+IHY1OiBSZWJhc2VkIGJ5IFJv ZHJpZ28gZml4aW5nIGNvbmZsaWN0cyBvbiB0b3Agb2Y6Cj4gPiA+ICAgICAgY29tbWl0IDMzZGVm MWZmN2IwICgiZHJtL2k5MTU6IFNpbXBsaWZ5IGludGVsX2VuZ2luZXNfaW5pdCIpCj4gPiA+IAo+ ID4gPiB2NjogRml4IHY1LiBSZW1vdmUgaW5mby0+bnVtX3JpbmdzLiAoYnkgT3NjYXIpCj4gPiA+ IAo+ID4gPiB2NzogUmViYXNlIChSb2RyaWdvKS4KPiA+ID4gCj4gPiA+IHY4Ogo+ID4gPiAgICAt Cj4gPiA+IHMvaW50ZWxfZGV2aWNlX2luZm9fZnVzZWRfb2ZmX2VuZ2luZXMvaW50ZWxfZGV2aWNl X2luZm9faW5pdF9tbWlvCj4gPiA+IChDaHJpcykKPiA+ID4gICAgLSBNYWtlIHZkYm94X2Rpc2Fi bGUgJiB2ZWJveF9kaXNhYmxlIGxvY2FsIHZhcmlhYmxlcyAoQ2hyaXMpCj4gPiA+IAo+ID4gPiB2 OToKPiA+ID4gICAgLSBNb3ZlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIHRvIGludGVsX2RldmljZV9p bmZvLmggKE1pY2hhbCkKPiA+ID4gICAgLSBNaXNzaW5nIGluZGVudCBpbiBiaXQgZmllbGRzIGRl ZmluaXRpb25zIChNaWNoYWwpCj4gPiA+ICAgIC0gV2hlbiBSQzYgaXMgZW5hYmxlZCBieSBCSU9T LCB0aGUgZnVzZSByZWdpc3RlciBjYW5ub3QgYmUKPiA+ID4gcmVhZAo+ID4gPiB1bnRpbAo+ID4g PiAgICAgIHRoZSBibGl0dGVyIHBvd2Vyd2VsbCBpcyBhd2FrZS4gU2h1ZmZsZSB3aGVyZSB0aGUg ZnVzZSBpcwo+ID4gPiByZWFkLCBwcnVuZQo+ID4gPiAgICAgIHRoZSBmb3JjZXdha2UgZG9tYWlu cyBhZnRlciB0aGUgZmFjdCBhbmQgY2hhbmdlIHRoZSBjb21taXQKPiA+ID4gbWVzc2FnZQo+ID4g PiAgICAgIGFjY29yZGluZ2x5IChWaW5heSwgU2FnYXIsIENocmlzKS4KPiA+ID4gCj4gPiA+IHYx MDoKPiA+ID4gICAgLSBJbXByb3ZlZCBjb21taXQgbWVzc2FnZSAoU2FnYXIpCj4gPiA+ICAgIC0g TmV3IGxpbmUgaW4gaGVhZGVyIGZpbGUgKFNhZ2FyKQo+ID4gPiAgICAtIFNwZWNpZnkgdGhlIG1l c3NhZ2UgaW4gZndfZG9tYWluX3Jlc2V0IGFwcGxpZXMgdG8gSUNMKwo+ID4gPiAoU2FnYXIpCj4g PiA+IAo+ID4gPiBDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4g PiA+IENjOiBWaW5heSBCZWxnYXVta2FyIDx2aW5heS5iZWxnYXVta2FyQGludGVsLmNvbT4KPiA+ ID4gQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gPiA+IENj OiBNaWNoYWwgV2FqZGVjemtvIDxtaWNoYWwud2FqZGVjemtvQGludGVsLmNvbT4KPiA+ID4gQ2M6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+ID4gPiBDYzogRGFuaWVs ZSBDZXJhb2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KPiA+ID4g Q2M6IFNhZ2FyIEFydW4gS2FtYmxlIDxzYWdhci5hLmthbWJsZUBpbnRlbC5jb20+Cj4gPiA+IFNp Z25lZC1vZmYtYnk6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiA+ID4g U2lnbmVkLW9mZi1ieTogT3NjYXIgTWF0ZW8gPG9zY2FyLm1hdGVvQGludGVsLmNvbT4KPiA+ID4g LS0tCj4gPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgICB8ICA0 ICsrKwo+ID4gPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICAgICAgfCAg NSArKysKPiA+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jIHwg NDcKPiA+ID4gKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiA+ICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaCB8ICAyICsrCj4gPiA+ICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgICAgICB8IDU2Cj4gPiA+ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCj4gPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3Jl LmggICAgICB8ICAxICsKPiA+ID4gICA2IGZpbGVzIGNoYW5nZWQsIDExNSBpbnNlcnRpb25zKCsp Cj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu Ywo+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiA+ID4gaW5kZXggM2Rm NTE5MzQ4N2YzLi44M2RmOGUyMWNlYzAgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuYwo+ID4gPiBAQCAtMTAzMyw2ICsxMDMzLDEwIEBAIHN0YXRpYyBpbnQgaTkxNV9kcml2ZXJf aW5pdF9tbWlvKHN0cnVjdAo+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4g ICAKPiA+ID4gICAJaW50ZWxfdW5jb3JlX2luaXQoZGV2X3ByaXYpOwo+ID4gPiAgIAo+ID4gPiAr CWludGVsX2RldmljZV9pbmZvX2luaXRfbW1pbyhkZXZfcHJpdik7Cj4gPiA+ICsKPiA+ID4gKwlp bnRlbF91bmNvcmVfcHJ1bmUoZGV2X3ByaXYpOwo+ID4gPiArCj4gPiA+ICAgCWludGVsX3VjX2lu aXRfbW1pbyhkZXZfcHJpdik7Cj4gPiA+ICAgCj4gPiA+ICAgCXJldCA9IGludGVsX2VuZ2luZXNf aW5pdF9tbWlvKGRldl9wcml2KTsKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmgKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4g PiA+IGluZGV4IGNmN2M4MzdkNmEwOS4uOTgyZTcyZTczZTk5IDEwMDY0NAo+ID4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKPiA+ID4gQEAgLTI1NDUsNiArMjU0NSwxMSBAQCBlbnVtIGk5MTVf cG93ZXJfd2VsbF9pZCB7Cj4gPiA+ICAgI2RlZmluZSBHRU4xMF9FVV9ESVNBQkxFMwkJX01NSU8o MHg5MTQwKQo+ID4gPiAgICNkZWZpbmUgICBHRU4xMF9FVV9ESVNfU1NfTUFTSwkJMHhmZgo+ID4g PiAgIAo+ID4gPiArI2RlZmluZSBHRU4xMV9HVF9WRUJPWF9WREJPWF9ESVNBQkxFCV9NTUlPKDB4 OTE0MCkKPiA+ID4gKyNkZWZpbmUgICBHRU4xMV9HVF9WREJPWF9ESVNBQkxFX01BU0sJMHhmZgo+ ID4gPiArI2RlZmluZSAgIEdFTjExX0dUX1ZFQk9YX0RJU0FCTEVfU0hJRlQJMTYKPiA+ID4gKyNk ZWZpbmUgICBHRU4xMV9HVF9WRUJPWF9ESVNBQkxFX01BU0sJKDB4ZmYgPDwKPiA+ID4gR0VOMTFf R1RfVkVCT1hfRElTQUJMRV9TSElGVCkKPiA+ID4gKwo+ID4gPiAgICNkZWZpbmUgR0VONl9CU0Rf U0xFRVBfUFNNSV9DT05UUk9MCV9NTUlPKDB4MTIwNTApCj4gPiA+ICAgI2RlZmluZSAgIEdFTjZf QlNEX1NMRUVQX01TR19ESVNBQkxFCSgxIDw8IDApCj4gPiA+ICAgI2RlZmluZSAgIEdFTjZfQlNE X1NMRUVQX0ZMVVNIX0RJU0FCTEUJKDEgPDwgMikKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jCj4gPiA+IGluZGV4IDNkZDM1MGY3YjhlNi4uNGJhYmZj NmVlNDViIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZp Y2VfaW5mby5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9p bmZvLmMKPiA+ID4gQEAgLTc4MCwzICs3ODAsNTAgQEAgdm9pZCBpbnRlbF9kcml2ZXJfY2Fwc19w cmludChjb25zdCBzdHJ1Y3QKPiA+ID4gaW50ZWxfZHJpdmVyX2NhcHMgKmNhcHMsCj4gPiA+ICAg ewo+ID4gPiAgIAlkcm1fcHJpbnRmKHAsICJzY2hlZHVsZXI6ICV4XG4iLCBjYXBzLT5zY2hlZHVs ZXIpOwo+ID4gPiAgIH0KPiA+ID4gKwo+ID4gPiArLyoKPiA+ID4gKyAqIERldGVybWluZSB3aGlj aCBlbmdpbmVzIGFyZSBmdXNlZCBvZmYgaW4gb3VyIHBhcnRpY3VsYXIKPiA+ID4gaGFyZHdhcmUu IFNpbmNlIHRoZQo+ID4gPiArICogZnVzZSByZWdpc3RlciBpcyBpbiB0aGUgYmxpdHRlciBwb3dl cndlbGwsIHdlIG5lZWQgZm9yY2V3YWtlCj4gPiA+IHRvCj4gPiA+IGJlIHJlYWR5IGF0Cj4gPiA+ ICsgKiB0aGlzIHBvaW50IChidXQgbGF0ZXIgd2UgbmVlZCB0byBwcnVuZSB0aGUgZm9yY2V3YWtl IGRvbWFpbnMKPiA+ID4gZm9yIGVuZ2luZXMgdGhhdAo+ID4gPiArICogYXJlIGluZGVlZCBmdXNl ZCBvZmYpLgo+ID4gPiArICovCj4gPiA+ICt2b2lkIGludGVsX2RldmljZV9pbmZvX2luaXRfbW1p byhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+ID4gPiAqZGV2X3ByaXYpCj4gPiA+ICt7Cj4gPiA+ ICsJc3RydWN0IGludGVsX2RldmljZV9pbmZvICppbmZvID0KPiA+ID4gbWt3cml0ZV9kZXZpY2Vf aW5mbyhkZXZfcHJpdik7Cj4gPiA+ICsJdTggdmRib3hfZGlzYWJsZSwgdmVib3hfZGlzYWJsZTsK PiA+ID4gKwl1MzIgbWVkaWFfZnVzZTsKPiA+ID4gKwlpbnQgaTsKPiA+ID4gKwo+ID4gPiArCWlm IChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgMTEpCj4gPiA+ICsJCXJldHVybjsKPiA+ID4gKwo+ID4g PiArCW1lZGlhX2Z1c2UgPSBJOTE1X1JFQUQoR0VOMTFfR1RfVkVCT1hfVkRCT1hfRElTQUJMRSk7 Cj4gPiA+ICsKPiA+ID4gKwl2ZGJveF9kaXNhYmxlID0gbWVkaWFfZnVzZSAmCj4gPiA+IEdFTjEx X0dUX1ZEQk9YX0RJU0FCTEVfTUFTSzsKPiA+ID4gKwl2ZWJveF9kaXNhYmxlID0gKG1lZGlhX2Z1 c2UgJgo+ID4gPiBHRU4xMV9HVF9WRUJPWF9ESVNBQkxFX01BU0spCj4gPiA+ID4gPiAKPiA+ID4g Cj4gPiA+ICsJCQlHRU4xMV9HVF9WRUJPWF9ESVNBQkxFX1NISUZUOwo+ID4gPiArCj4gPiA+ICsJ RFJNX0RFQlVHX0RSSVZFUigidmRib3ggZGlzYWJsZTogJTA0eFxuIiwKPiA+ID4gdmRib3hfZGlz YWJsZSk7Cj4gPiA+ICsJZm9yIChpID0gMDsgaSA8IEk5MTVfTUFYX1ZDUzsgaSsrKSB7Cj4gPiA+ ICsJCWlmICghSEFTX0VOR0lORShkZXZfcHJpdiwgX1ZDUyhpKSkpCj4gPiA+ICsJCQljb250aW51 ZTsKPiA+ID4gKwo+ID4gPiArCQlpZiAoIShCSVQoaSkgJiB2ZGJveF9kaXNhYmxlKSkKPiA+ID4g KwkJCWNvbnRpbnVlOwo+ID4gPiArCj4gPiA+ICsJCWluZm8tPnJpbmdfbWFzayAmPSB+RU5HSU5F X01BU0soX1ZDUyhpKSk7Cj4gPiA+ICsJCURSTV9ERUJVR19EUklWRVIoInZjcyV1IGZ1c2VkIG9m ZlxuIiwgaSk7Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICsJRFJNX0RFQlVHX0RSSVZFUigidmVi b3ggZGlzYWJsZTogJTA0eFxuIiwKPiA+ID4gdmVib3hfZGlzYWJsZSk7Cj4gPiA+ICsJZm9yIChp ID0gMDsgaSA8IEk5MTVfTUFYX1ZFQ1M7IGkrKykgewo+ID4gPiArCQlpZiAoIUhBU19FTkdJTkUo ZGV2X3ByaXYsIF9WRUNTKGkpKSkKPiA+ID4gKwkJCWNvbnRpbnVlOwo+ID4gPiArCj4gPiA+ICsJ CWlmICghKEJJVChpKSAmIHZlYm94X2Rpc2FibGUpKQo+ID4gPiArCQkJY29udGludWU7Cj4gPiA+ ICsKPiA+ID4gKwkJaW5mby0+cmluZ19tYXNrICY9IH5FTkdJTkVfTUFTSyhfVkVDUyhpKSk7Cj4g PiA+ICsJCURSTV9ERUJVR19EUklWRVIoInZlY3MldSBmdXNlZCBvZmZcbiIsIGkpOwo+ID4gPiAr CX0KPiA+ID4gK30KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RldmljZV9pbmZvLmgKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2Vf aW5mby5oCj4gPiA+IGluZGV4IDA4MzU3NTJjOGIyMi4uMGNiYjkyMjIzMDEzIDEwMDY0NAo+ID4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oCj4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgKPiA+ID4gQEAgLTI0 Nyw2ICsyNDcsOCBAQCB2b2lkIGludGVsX2RldmljZV9pbmZvX2R1bXBfcnVudGltZShjb25zdAo+ ID4gPiBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKmluZm8sCj4gPiA+ICAgdm9pZCBpbnRlbF9k ZXZpY2VfaW5mb19kdW1wX3RvcG9sb2d5KGNvbnN0IHN0cnVjdCBzc2V1X2Rldl9pbmZvCj4gPiA+ ICpzc2V1LAo+ID4gPiAgIAkJCQkgICAgIHN0cnVjdCBkcm1fcHJpbnRlciAqcCk7Cj4gPiA+ICAg Cj4gPiA+ICt2b2lkIGludGVsX2RldmljZV9pbmZvX2luaXRfbW1pbyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZQo+ID4gPiAqZGV2X3ByaXYpOwo+ID4gPiArCj4gPiA+ICAgdm9pZCBpbnRlbF9kcml2 ZXJfY2Fwc19wcmludChjb25zdCBzdHJ1Y3QgaW50ZWxfZHJpdmVyX2NhcHMKPiA+ID4gKmNhcHMs Cj4gPiA+ICAgCQkJICAgICBzdHJ1Y3QgZHJtX3ByaW50ZXIgKnApOwo+ID4gPiAgIAo+ID4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKPiA+ID4gYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+ID4gPiBpbmRleCA0ZGY3YzJlZjg1 NzYuLjRjNjE2ZDA3NGE5NyAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfdW5jb3JlLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5j b3JlLmMKPiA+ID4gQEAgLTYyLDYgKzYyLDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZAo+ID4gPiAg IGZ3X2RvbWFpbl9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiA+ID4gICAJ CWNvbnN0IHN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZCkKPiA+ID4gICB7 Cj4gPiA+ICsJLyoKPiA+ID4gKwkgKiBXZSBkb24ndCByZWFsbHkga25vdyBpZiB0aGUgcG93ZXJ3 ZWxsIGZvciB0aGUKPiA+ID4gZm9yY2V3YWtlCj4gPiA+IGRvbWFpbiB3ZSBhcmUKPiA+ID4gKwkg KiB0cnlpbmcgdG8gcmVzZXQgaGVyZSBkb2VzIGV4aXN0IGF0IHRoaXMgcG9pbnQKPiA+ID4gKGVu Z2luZXMKPiA+ID4gY291bGQgYmUgZnVzZWQKPiA+ID4gKwkgKiBvZmYgaW4gSUNMKyksIHNvIG5v IHdhaXRpbmcgZm9yIGFja3MKPiA+ID4gKwkgKi8KPiA+ID4gICAJX19yYXdfaTkxNV93cml0ZTMy KGk5MTUsIGQtPnJlZ19zZXQsIGk5MTUtCj4gPiA+ID4gdW5jb3JlLmZ3X3Jlc2V0KTsKPiA+ID4g Cj4gPiA+ICAgfQo+ID4gPiAgIAo+ID4gPiBAQCAtMTM1Myw2ICsxMzU4LDIzIEBAIHN0YXRpYyB2 b2lkIGZ3X2RvbWFpbl9pbml0KHN0cnVjdAo+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiA+ID4gICAJZndfZG9tYWluX3Jlc2V0KGRldl9wcml2LCBkKTsKPiA+ID4gICB9Cj4gPiA+ ICAgCj4gPiA+ICtzdGF0aWMgdm9pZCBmd19kb21haW5fZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCj4gPiA+ICsJCQkgICBlbnVtIGZvcmNld2FrZV9kb21haW5faWQgZG9t YWluX2lkKQo+ID4gPiArewo+ID4gPiArCXN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2Rv bWFpbiAqZDsKPiA+ID4gKwo+ID4gPiArCWlmIChXQVJOX09OKGRvbWFpbl9pZCA+PSBGV19ET01B SU5fSURfQ09VTlQpKQo+ID4gPiArCQlyZXR1cm47Cj4gPiA+ICsKPiA+ID4gKwlkID0gJmRldl9w cml2LT51bmNvcmUuZndfZG9tYWluW2RvbWFpbl9pZF07Cj4gPiA+ICsKPiA+ID4gKwlXQVJOX09O KGQtPndha2VfY291bnQpOwo+ID4gPiArCVdBUk5fT04oaHJ0aW1lcl9jYW5jZWwoJmQtPnRpbWVy KSk7Cj4gPiA+ICsJbWVtc2V0KGQsIDAsIHNpemVvZigqZCkpOwo+ID4gPiArCj4gPiA+ICsJZGV2 X3ByaXYtPnVuY29yZS5md19kb21haW5zICY9IH5CSVQoZG9tYWluX2lkKTsKPiA+ID4gK30KPiA+ ID4gKwo+ID4gPiAgIHN0YXRpYyB2b2lkIGludGVsX3VuY29yZV9md19kb21haW5zX2luaXQoc3Ry dWN0Cj4gPiA+IGRybV9pOTE1X3ByaXZhdGUKPiA+ID4gKmRldl9wcml2KQo+ID4gPiAgIHsKPiA+ ID4gICAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPD0gNSB8fAo+ID4gPiBpbnRlbF92Z3B1X2Fj dGl2ZShkZXZfcHJpdikpCj4gPiA+IEBAIC0xNTY1LDYgKzE1ODcsNDAgQEAgdm9pZCBpbnRlbF91 bmNvcmVfaW5pdChzdHJ1Y3QKPiA+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+ ICAgCQkmZGV2X3ByaXYtPnVuY29yZS5wbWljX2J1c19hY2Nlc3NfbmIpOwo+ID4gPiAgIH0KPiA+ ID4gICAKPiA+ID4gKy8qCj4gPiA+ICsgKiBXZSBtaWdodCBoYXZlIGRldGVjdGVkIHRoYXQgc29t ZSBlbmdpbmVzIGFyZSBmdXNlZCBvZmYgYWZ0ZXIKPiA+ID4gd2UKPiA+ID4gaW5pdGlhbGl6ZWQK PiA+ID4gKyAqIHRoZSBmb3JjZXdha2UgZG9tYWlucy4gUHJ1bmUgdGhlbSwgdG8gbWFrZSBzdXJl IHRoZXkgb25seQo+ID4gPiByZWZlcmVuY2UgZXhpc3RpbmcKPiA+ID4gKyAqIGVuZ2luZXMuCj4g PiA+ICsgKi8KPiA+ID4gK3ZvaWQgaW50ZWxfdW5jb3JlX3BydW5lKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKPiA+ID4gK3sKPiA+ID4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA+PSAxMSkgewo+ID4gPiArCQllbnVtIGZvcmNld2FrZV9kb21haW5zIGZ3X2RvbWFpbnMgPSBk ZXZfcHJpdi0KPiA+ID4gPiB1bmNvcmUuZndfZG9tYWluczsKPiA+ID4gCj4gPiA+ICsJCWVudW0g Zm9yY2V3YWtlX2RvbWFpbl9pZCBkb21haW5faWQ7Cj4gPiA+ICsJCWludCBpOwo+ID4gPiArCj4g PiA+ICsJCWZvciAoaSA9IDA7IGkgPCBJOTE1X01BWF9WQ1M7IGkrKykgewo+ID4gPiArCQkJZG9t YWluX2lkID0gRldfRE9NQUlOX0lEX01FRElBX1ZEQk9YMCArCj4gPiA+IGk7Cj4gPiA+ICsKPiA+ ID4gKwkJCWlmIChIQVNfRU5HSU5FKGRldl9wcml2LCBfVkNTKGkpKSkKPiA+ID4gKwkJCQljb250 aW51ZTsKPiA+ID4gKwo+ID4gPiArCQkJaWYgKGZ3X2RvbWFpbnMgJiBCSVQoZG9tYWluX2lkKSkK PiA+ID4gKwkJCQlmd19kb21haW5fZmluaShkZXZfcHJpdiwKPiA+ID4gZG9tYWluX2lkKTsKPiA+ ID4gKwkJfQo+ID4gPiArCj4gPiA+ICsJCWZvciAoaSA9IDA7IGkgPCBJOTE1X01BWF9WRUNTOyBp KyspIHsKPiA+ID4gKwkJCWRvbWFpbl9pZCA9IEZXX0RPTUFJTl9JRF9NRURJQV9WRUJPWDAgKwo+ ID4gPiBpOwo+ID4gPiArCj4gPiA+ICsJCQlpZiAoSEFTX0VOR0lORShkZXZfcHJpdiwgX1ZFQ1Mo aSkpKQo+ID4gPiArCQkJCWNvbnRpbnVlOwo+ID4gPiArCj4gPiA+ICsJCQlpZiAoZndfZG9tYWlu cyAmIEJJVChkb21haW5faWQpKQo+ID4gPiArCQkJCWZ3X2RvbWFpbl9maW5pKGRldl9wcml2LAo+ ID4gPiBkb21haW5faWQpOwo+ID4gPiArCQl9Cj4gPiA+ICsJfQo+ID4gPiArfQo+ID4gPiArCj4g PiA+ICAgdm9pZCBpbnRlbF91bmNvcmVfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCj4gPiA+ICAgewo+ID4gPiAgIAkvKiBQYXJhbm9pYTogbWFrZSBzdXJlIHdlIGhhdmUg ZGlzYWJsZWQgZXZlcnl0aGluZwo+ID4gPiBiZWZvcmUKPiA+ID4gd2UgZXhpdC4gKi8KPiA+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5oCj4gPiA+IGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmgKPiA+ID4gaW5kZXggZGZkZjQ0NGU0 YmNjLi40NzQ3OGQ2MDk2MzAgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3VuY29yZS5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Vu Y29yZS5oCj4gPiA+IEBAIC0xNDAsNiArMTQwLDcgQEAgc3RydWN0IGludGVsX3VuY29yZSB7Cj4g PiA+ICAgCj4gPiA+ICAgdm9pZCBpbnRlbF91bmNvcmVfc2FuaXRpemUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKPiA+ID4gICB2b2lkIGludGVsX3VuY29yZV9pbml0KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gPiA+ICt2b2lkIGludGVsX3VuY29yZV9w cnVuZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4gPiAgIGJvb2wgaW50 ZWxfdW5jb3JlX3VuY2xhaW1lZF9tbWlvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiA+ICpk ZXZfcHJpdik7Cj4gPiA+ICAgYm9vbCBpbnRlbF91bmNvcmVfYXJtX3VuY2xhaW1lZF9tbWlvX2Rl dGVjdGlvbihzdHJ1Y3QKPiA+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4gPiAg IHZvaWQgaW50ZWxfdW5jb3JlX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KTsKPiA+IAo+ID4gCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=