From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 8/8] drm/i915: Expose RPCS (SSEU) configuration to userspace Date: Thu, 3 May 2018 17:30:05 +0100 Message-ID: References: <20180425114521.7524-1-lionel.g.landwerlin@intel.com> <20180425114521.7524-9-lionel.g.landwerlin@intel.com> <152473684184.4468.14087250623673332263@jlahtine-desk.ger.corp.intel.com> <152536347142.12754.6702843140025112167@jlahtine-desk.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 5D9B26E5D1 for ; Thu, 3 May 2018 16:30:10 +0000 (UTC) In-Reply-To: <152536347142.12754.6702843140025112167@jlahtine-desk.ger.corp.intel.com> Content-Language: en-GB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Joonas Lahtinen , Lionel Landwerlin , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDAzLzA1LzIwMTggMTc6MDQsIEpvb25hcyBMYWh0aW5lbiB3cm90ZToKPiBRdW90aW5nIExp b25lbCBMYW5kd2VybGluICgyMDE4LTA0LTI2IDEzOjIyOjMwKQo+PiBPbiAyNi8wNC8xOCAxMTow MCwgSm9vbmFzIExhaHRpbmVuIHdyb3RlOgo+Pj4gUXVvdGluZyBMaW9uZWwgTGFuZHdlcmxpbiAo MjAxOC0wNC0yNSAxNDo0NToyMSkKPj4+PiBGcm9tOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlz LXdpbHNvbi5jby51az4KPj4+Pgo+Pj4+IFdlIHdhbnQgdG8gYWxsb3cgdXNlcnNwYWNlIHRvIHJl Y29uZmlndXJlIHRoZSBzdWJzbGljZSBjb25maWd1cmF0aW9uIGZvcgo+Pj4+IGl0cyBvd24gdXNl IGNhc2UuIFRvIGRvIHNvLCB3ZSBleHBvc2UgYSBjb250ZXh0IHBhcmFtZXRlciB0byBhbGxvdwo+ Pj4+IGFkanVzdG1lbnQgb2YgdGhlIFJQQ1MgcmVnaXN0ZXIgc3RvcmVkIHdpdGhpbiB0aGUgY29u dGV4dCBpbWFnZSAoYW5kCj4+Pj4gY3VycmVudGx5IG5vdCBhY2Nlc3NpYmxlIHZpYSBMUkkpLiBJ ZiB0aGUgY29udGV4dCBpcyBhZGp1c3RlZCBiZWZvcmUKPj4+PiBmaXJzdCB1c2UsIHRoZSBhZGp1 c3RtZW50IGlzIGZvciAiZnJlZSI7IG90aGVyd2lzZSBpZiB0aGUgY29udGV4dCBpcwo+Pj4+IGFj dGl2ZSB3ZSBmbHVzaCB0aGUgY29udGV4dCBvZmYgdGhlIEdQVSAoc3RhbGxpbmcgYWxsIHVzZXJz KSBhbmQgZm9yY2luZwo+Pj4+IHRoZSBHUFUgdG8gc2F2ZSB0aGUgY29udGV4dCB0byBtZW1vcnkg d2hlcmUgd2UgY2FuIG1vZGlmeSBpdCBhbmQgc28KPj4+PiBlbnN1cmUgdGhhdCB0aGUgcmVnaXN0 ZXIgaXMgcmVsb2FkZWQgb24gbmV4dCBleGVjdXRpb24uCj4+Pj4KPj4+PiBUaGUgb3ZlcmhlYWQg b2YgbWFuYWdpbmcgYWRkaXRpb25hbCBFVSBzdWJzbGljZXMgY2FuIGJlIHNpZ25pZmljYW50LAo+ Pj4+IGVzcGVjaWFsbHkgaW4gbXVsdGktY29udGV4dCB3b3JrbG9hZHMuIE5vbi1HUEdQVSBjb250 ZXh0cyBzaG91bGQKPj4+PiBwcmVmZXJhYmx5IGRpc2FibGUgdGhlIHN1YnNsaWNlcyBpdCBpcyBu b3QgdXNpbmcsIGFuZCBvdGhlcnMgc2hvdWxkCj4+Pj4gZmluZS10dW5lIHRoZSBudW1iZXIgdG8g bWF0Y2ggdGhlaXIgd29ya2xvYWQuCj4+PiBUaGlzIGhpdCBhIGRlYWQgZW5kIGxhc3QgdGltZSBk dWUgdG8gdGhlIHN5c3RlbSB3aWRlIHBvbGljeSBuZWVkZWQgdG8KPj4+IGF2b2lkIHR3byBwYXJ0 aWVzIGZpZ2h0aW5nIG92ZXIgdGhlIHNsaWNlIGNvdW50IChhbmQgZ29pbmcgYmFjayBhbmQKPj4+ IGZvcnRoIGJldHdlZW4gdHdvIHNsaWNlIGNvdW50cyB3b3VsZCBjb3VudGVyIHRoZSBiZW5lZml0 cyByZWNlaXZlZCBmcm9tCj4+PiB0aGlzKS4KPj4+Cj4+PiBEbyB3ZSBub3cgaGF2ZSBhIHNvbHV0 aW9uIGZvciB0aGUgY29udGVudGlvbj8gSSBkb24ndCBzZWUgY29kZSB0bwo+Pj4gbmVnb3RpYXRl IGEgZ2xvYmFsIHZhbHVlLCBqdXN0IHJhdyBzZXR0ZXIuCj4+Pgo+Pj4gUmVnYXJkcywgSm9vbmFz Cj4+Cj4+IEkndmUgdHJpZWQgdG8gY29tZSB1cCB3aXRoIHNvbWUgbnVtYmVycyBhYm91dCB0aGUg Y29zdCBvZiB0aGUgYmFjayAmCj4+IGZvcnRoIChzZWUgaWd0IHNlcmllcykuCj4+Cj4+IE90aGVy IHRoYW4gdGhhdCwgSSBkb24ndCB0aGluayB3ZSBjYW4gZXhwZWN0IHRoZSBrZXJuZWwgdG8gd29y a2Fyb3VuZAo+PiB0aGUgaW5lZmZpY2llbnQgdXNlIG9mIHRoZSBoYXJkd2FyZSBieSB1c2Vyc3Bh Y2UuCj4gCj4gV2VsbCwgSSdtIHByZXR0eSBzdXJlIHdlIHNob3VsZCBub3QgdHJ5IHRvIG1ha2Ug dGhlIHNpdHVhdGlvbiB0b28KPiBtaXNlcmFibGUgZm9yIHRoZSBiYXNpYyB1c2VjYXNlcy4KPiAK PiBJZiB3ZSBhbGxvdyB0d28gY29udGV4dHMgdG8gZmlnaHQgb3ZlciB0aGUgc2xpY2UgY291bnQs IGNvdW50ZXJpbmcgYW55Cj4gcGVyY2VpdmVkIGJlbmVmaXQsIEkgZG9uJ3QgdGhpbmsgdGhhdCds bCBiZSBhIGdvb2QgZGVmYXVsdC4KPiAKPiBNeSByZWNvbGxlY3Rpb24gb2YgdGhlIGxhc3Qgcm91 bmQgb2YgZGlzY3Vzc2lvbiB3YXMgdGhhdCByZWFzb25hYmxlCj4gdGhpbmcgdG8gZG8gd291bGQg YmUgdG8gb25seSBkaXNhYmxlIHNsaWNlcyB3aGVuIGV2ZXJ5b25lIGlzIHdpbGxpbmcgdG8KPiBs ZXQgZ28gb2YuIFRoZW4gaXQgd291bGQgYmVjb21lIGEgc3lzdGVtIG1haW50YWluZXIgbGV2ZWwg ZGVjaXNpb24gdG8KPiBvbmx5IHJ1biBvbiB0d28gc2xpY2VzIGZvciB3aGVuIHRoZXkgc2VlIGZp dCAoY29uZmlndXJpbmcgdGhlIHVzZXJzcGFjZSkuCgpZZXMgdGhlcmUgd2FzIGRlZmluaXRlbHkg dGFsayBhYm91dCBjby1vcmRpbmF0aW9uIGJldHdlZW4gT3BlbkNMIGFuZCAKbWVkaWEgc3RhY2tz LgoKQnR3IHdlIG1lbnRpb25lZCBvbiBJUkMgYSBmZXcgZGF5cyBiYWNrIHRoYXQgYSBzeXNmcyBr bm9iIGxpa2UgCmFsbG93X21lZGlhX3ByaW9yaXR5LCBkZWZhdWx0aW5nIHRvIDAsIGNvdWxkIGJl IGEgZ29vZCBzdGFydC4KClRoYXQgd2F5IHVzZXJzcGFjZSBjb3VsZCB1c2UgdGhlIHVBUEksIGJ1 dCB1bmxlc3Mgc3lzYWRtaW4gYWxsb3dzIGl0IHRvLCAKdGhlcmUgd2lsbCBiZSBubyBmaWdodGlu ZyBvdmVyIHNsaWNlIGNvdW50cy4KClRoZW4gYXQgc29tZSBmdXR1cmUgdGltZSwgYXMgbG9uZyBh cyB0aGUgdUFQSSBpcyBzZW5zaWJsZSwgbW9yZSBhZHZhbmNlZCAKcG9saWNpZXMgY291bGQgYmUg ZXhwbG9yZWQuIFJlZ2FyZGxlc3MgaWYgaW4gdXNlcnNwYWNlIG9yIGk5MTUuCgpSZWdhcmRzLAoK VHZydGtvCgo+IE1vcmUgYWR2YW5jZWQgdGFjdGljcyB3b3VsZCBpbmNsdWRlIHNjaGVkdWxpbmcg d29yayBzbyB0aGF0IHdlIHRyeSB0bwo+IGF2b2lkIHRoZSBzbGljZSBjb3VudCBjaGFuZ2VzIGFu ZCBkZWR1Y3QgdGhlIHN3aXRjaGluZyB0aW1lIGZyb20gdGhlCj4gZXhlY3V0aW9uIGJ1ZGdldCBv ZiB0aGUgYXBwIHJlcXVlc3RpbmcgbGVzcyBzbGljZXMgKGlmIHdlIGhhZCBmYWlyCj4gdGltZSBz bGljaW5nKS4KPiAKPiBSZWdhcmRzLCBKb29uYXMKPiAKPj4KPj4+Cj4+Pj4gV2UgZXhwb3NlIGNv bXBsZXRlIGNvbnRyb2wgb3ZlciB0aGUgUlBDUyByZWdpc3RlciwgYWxsb3dpbmcKPj4+PiBjb25m aWd1cmF0aW9uIG9mIHNsaWNlL3N1YnNsaWNlLCB2aWEgbWFza3MgcGFja2VkIGludG8gYSB1NjQg Zm9yCj4+Pj4gc2ltcGxpY2l0eS4gRm9yIGV4YW1wbGUsCj4+Pj4KPj4+PiAgICAgICAgICAgc3Ry dWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIGFyZzsKPj4+PiAgICAgICAgICAgc3RydWN0 IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtX3NzZXUgc3NldSA9IHsgLmZsYWdzID0gSTkxNV9F WEVDX1JFTkRFUiB9Owo+Pj4+Cj4+Pj4gICAgICAgICAgIG1lbXNldCgmYXJnLCAwLCBzaXplb2Yo YXJnKSk7Cj4+Pj4gICAgICAgICAgIGFyZy5jdHhfaWQgPSBjdHg7Cj4+Pj4gICAgICAgICAgIGFy Zy5wYXJhbSA9IEk5MTVfQ09OVEVYVF9QQVJBTV9TU0VVOwo+Pj4+ICAgICAgICAgICBhcmcudmFs dWUgPSAodWludHB0cl90KSAmc3NldTsKPj4+PiAgICAgICAgICAgaWYgKGRybUlvY3RsKGZkLCBE Uk1fSU9DVExfSTkxNV9HRU1fQ09OVEVYVF9HRVRQQVJBTSwgJmFyZykgPT0gMCkgewo+Pj4+ICAg ICAgICAgICAgICAgICAgIHNzZXUucGFja2VkLnN1YnNsaWNlX21hc2sgPSAwOwo+Pj4+Cj4+Pj4g ICAgICAgICAgICAgICAgICAgZHJtSW9jdGwoZmQsIERSTV9JT0NUTF9JOTE1X0dFTV9DT05URVhU X1NFVFBBUkFNLCAmYXJnKTsKPj4+PiAgICAgICAgICAgfQo+Pj4+Cj4+Pj4gY291bGQgYmUgdXNl ZCB0byBkaXNhYmxlIGFsbCBzdWJzbGljZXMgd2hlcmUgc3VwcG9ydGVkLgo+Pj4+Cj4+Pj4gdjI6 IEZpeCBvZmZzZXQgb2YgQ1RYX1JfUFdSX0NMS19TVEFURSBpbiBpbnRlbF9scl9jb250ZXh0X3Nl dF9zc2V1KCkgKExpb25lbCkKPj4+Pgo+Pj4+IHYzOiBBZGQgYWJpbGl0eSB0byBwcm9ncmFtIHRo aXMgcGVyIGVuZ2luZSAoQ2hyaXMpCj4+Pj4KPj4+PiB2NDogTW92ZSBtb3N0IGdldF9zc2V1KCkg aW50byBpOTE1X2dlbV9jb250ZXh0LmMgKExpb25lbCkKPj4+Pgo+Pj4+IEJ1Z3ppbGxhOiBodHRw czovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA4OTkKPj4+PiBTaWdu ZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPj4+PiBT aWduZWQtb2ZmLWJ5OiBMaW9uZWwgTGFuZHdlcmxpbiA8bGlvbmVsLmcubGFuZHdlcmxpbkBpbnRl bC5jb20+Cj4+Pj4gYzogRG1pdHJ5IFJvZ296aGtpbiA8ZG1pdHJ5LnYucm9nb3poa2luQGludGVs LmNvbT4KPj4+PiBDQzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4K Pj4+PiBDQzogWmhpcGVuZyBHb25nIDx6aGlwZW5nLmdvbmdAaW50ZWwuY29tPgo+Pj4+IENDOiBK b29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Cj4+Pj4gLS0t Cj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIHwgODIgKysr KysrKysrKysrKysrKysrKysrKysrLQo+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jICAgICAgICB8IDU1ICsrKysrKysrKysrKysrKysrCj4+Pj4gICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmggICAgICAgIHwgIDQgKysKPj4+PiAgICBpbmNsdWRlL3VhcGkv ZHJtL2k5MTVfZHJtLmggICAgICAgICAgICAgfCAyOCArKysrKysrKysKPj4+PiAgICA0IGZpbGVz IGNoYW5nZWQsIDE2OCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4+Pj4KPj4+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4+Pj4gaW5kZXggYmRmMDUwYmVlYjk0 Li5iOTdkZGNmNDc1MTQgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fY29udGV4dC5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Y29udGV4dC5jCj4+Pj4gQEAgLTc0MCw2ICs3NDAsMjYgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRf ZGVzdHJveV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+Pj4+ICAg ICAgICAgICByZXR1cm4gMDsKPj4+PiAgICB9Cj4+Pj4gICAgCj4+Pj4gK3N0YXRpYyBzdHJ1Y3Qg aTkxNV9nZW1fY29udGV4dF9zc2V1Cj4+Pj4gK2k5MTVfZ2VtX2NvbnRleHRfc3NldV9mcm9tX3Vz ZXJfc3NldShjb25zdCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSwKPj4+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9jb250 ZXh0X3BhcmFtX3NzZXUgKnVzZXJfc3NldSkKPj4+PiArewo+Pj4+ICsgICAgICAgc3RydWN0IGk5 MTVfZ2VtX2NvbnRleHRfc3NldSB2YWx1ZSA9IHsKPj4+PiArICAgICAgICAgICAgICAgLnNsaWNl X21hc2sgPSB1c2VyX3NzZXUtPnBhY2tlZC5zbGljZV9tYXNrID09IDAgPwo+Pj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNzZXUtPnNsaWNlX21hc2sgOgo+Pj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICh1c2VyX3NzZXUtPnBhY2tlZC5zbGljZV9tYXNrICYgc3NldS0+ c2xpY2VfbWFzayksCj4+Pj4gKyAgICAgICAgICAgICAgIC5zdWJzbGljZV9tYXNrID0gdXNlcl9z c2V1LT5wYWNrZWQuc3Vic2xpY2VfbWFzayA9PSAwID8KPj4+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzc2V1LT5zdWJzbGljZV9tYXNrWzBdIDoKPj4+PiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAodXNlcl9zc2V1LT5wYWNrZWQuc3Vic2xpY2VfbWFzayAmIHNz ZXUtPnN1YnNsaWNlX21hc2tbMF0pLAo+Pj4+ICsgICAgICAgICAgICAgICAubWluX2V1c19wZXJf c3Vic2xpY2UgPSBtaW4odXNlcl9zc2V1LT5wYWNrZWQubWluX2V1c19wZXJfc3Vic2xpY2UsCj4+ Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2V1LT5tYXhf ZXVzX3Blcl9zdWJzbGljZSksCj4+Pj4gKyAgICAgICAgICAgICAgIC5tYXhfZXVzX3Blcl9zdWJz bGljZSA9IG1pbih1c2VyX3NzZXUtPnBhY2tlZC5tYXhfZXVzX3Blcl9zdWJzbGljZSwKPj4+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzZXUtPm1heF9ldXNf cGVyX3N1YnNsaWNlKSwKPj4+PiArICAgICAgIH07Cj4+Pj4gKwo+Pj4+ICsgICAgICAgcmV0dXJu IHZhbHVlOwo+Pj4+ICt9Cj4+Pj4gKwo+Pj4+ICAgIGludCBpOTE1X2dlbV9jb250ZXh0X2dldHBh cmFtX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4+Pj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCj4+ Pj4gICAgewo+Pj4+IEBAIC03NzcsNiArNzk3LDM3IEBAIGludCBpOTE1X2dlbV9jb250ZXh0X2dl dHBhcmFtX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4+Pj4gICAg ICAgICAgIGNhc2UgSTkxNV9DT05URVhUX1BBUkFNX1BSSU9SSVRZOgo+Pj4+ICAgICAgICAgICAg ICAgICAgIGFyZ3MtPnZhbHVlID0gY3R4LT5zY2hlZC5wcmlvcml0eTsKPj4+PiAgICAgICAgICAg ICAgICAgICBicmVhazsKPj4+PiArICAgICAgIGNhc2UgSTkxNV9DT05URVhUX1BBUkFNX1NTRVU6 IHsKPj4+PiArICAgICAgICAgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFt X3NzZXUgcGFyYW1fc3NldTsKPj4+PiArICAgICAgICAgICAgICAgc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lOwo+Pj4+ICsKPj4+PiArICAgICAgICAgICAgICAgaWYgKGNvcHlfZnJvbV91 c2VyKCZwYXJhbV9zc2V1LCB1NjRfdG9fdXNlcl9wdHIoYXJncy0+dmFsdWUpLAo+Pj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHBhcmFtX3NzZXUpKSkgewo+Pj4+ ICsgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IC1FRkFVTFQ7Cj4+Pj4gKyAgICAgICAgICAg ICAgICAgICAgICAgYnJlYWs7Cj4+Pj4gKyAgICAgICAgICAgICAgIH0KPj4+PiArCj4+Pj4gKyAg ICAgICAgICAgICAgIGVuZ2luZSA9IGk5MTVfZ2VtX2VuZ2luZV9mcm9tX2ZsYWdzKHRvX2k5MTUo ZGV2KSwgZmlsZSwKPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGFyYW1fc3NldS5mbGFncyk7Cj4+Pj4gKyAgICAgICAgICAgICAgIGlmICgh ZW5naW5lKSB7Cj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLUVJTlZBTDsKPj4+ PiArICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPj4+PiArICAgICAgICAgICAgICAgfQo+ Pj4+ICsKPj4+PiArICAgICAgICAgICAgICAgcGFyYW1fc3NldS5wYWNrZWQuc2xpY2VfbWFzayA9 Cj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgY3R4LT5lbmdpbmVbZW5naW5lLT5pZF0uc3Nl dS5zbGljZV9tYXNrOwo+Pj4+ICsgICAgICAgICAgICAgICBwYXJhbV9zc2V1LnBhY2tlZC5zdWJz bGljZV9tYXNrID0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgICBjdHgtPmVuZ2luZVtlbmdp bmUtPmlkXS5zc2V1LnN1YnNsaWNlX21hc2s7Cj4+Pj4gKyAgICAgICAgICAgICAgIHBhcmFtX3Nz ZXUucGFja2VkLm1pbl9ldXNfcGVyX3N1YnNsaWNlID0KPj4+PiArICAgICAgICAgICAgICAgICAg ICAgICBjdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5zc2V1Lm1pbl9ldXNfcGVyX3N1YnNsaWNlOwo+ Pj4+ICsgICAgICAgICAgICAgICBwYXJhbV9zc2V1LnBhY2tlZC5tYXhfZXVzX3Blcl9zdWJzbGlj ZSA9Cj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgY3R4LT5lbmdpbmVbZW5naW5lLT5pZF0u c3NldS5tYXhfZXVzX3Blcl9zdWJzbGljZTsKPj4+PiArCj4+Pj4gKyAgICAgICAgICAgICAgIGlm IChjb3B5X3RvX3VzZXIodTY0X3RvX3VzZXJfcHRyKGFyZ3MtPnZhbHVlKSwgJnBhcmFtX3NzZXUs Cj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHBhcmFtX3NzZXUp KSkKPj4+PiArICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtRUZBVUxUOwo+Pj4+ICsgICAg ICAgICAgICAgICBicmVhazsKPj4+PiArICAgICAgIH0KPj4+PiAgICAgICAgICAgZGVmYXVsdDoK Pj4+PiAgICAgICAgICAgICAgICAgICByZXQgPSAtRUlOVkFMOwo+Pj4+ICAgICAgICAgICAgICAg ICAgIGJyZWFrOwo+Pj4+IEBAIC04MzIsNyArODgzLDYgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRf c2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPj4+PiAg ICAgICAgICAgICAgICAgICBlbHNlCj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICBpOTE1 X2dlbV9jb250ZXh0X2NsZWFyX2Jhbm5hYmxlKGN0eCk7Cj4+Pj4gICAgICAgICAgICAgICAgICAg YnJlYWs7Cj4+Pj4gLQo+Pj4+ICAgICAgICAgICBjYXNlIEk5MTVfQ09OVEVYVF9QQVJBTV9QUklP UklUWToKPj4+PiAgICAgICAgICAgICAgICAgICB7Cj4+Pj4gICAgICAgICAgICAgICAgICAgICAg ICAgICBzNjQgcHJpb3JpdHkgPSBhcmdzLT52YWx1ZTsKPj4+PiBAQCAtODUxLDcgKzkwMSwzNyBA QCBpbnQgaTkxNV9nZW1fY29udGV4dF9zZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj dHgtPnNjaGVkLnByaW9yaXR5ID0gcHJpb3JpdHk7Cj4+Pj4gICAgICAgICAgICAgICAgICAgfQo+ Pj4+ICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+Pj4+ICsgICAgICAgY2FzZSBJOTE1X0NPTlRF WFRfUEFSQU1fU1NFVToKPj4+PiArICAgICAgICAgICAgICAgaWYgKGFyZ3MtPnNpemUpCj4+Pj4g KyAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLUVJTlZBTDsKPj4+PiArICAgICAgICAgICAg ICAgZWxzZSBpZiAoIUhBU19FWEVDTElTVFMoY3R4LT5pOTE1KSkKPj4+PiArICAgICAgICAgICAg ICAgICAgICAgICByZXQgPSAtRU5PREVWOwo+Pj4+ICsgICAgICAgICAgICAgICBlbHNlIHsKPj4+ PiArICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGRldik7Cj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRy bV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtX3NzZXUgdXNlcl9zc2V1Owo+Pj4+ICsgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0X3NzZXUgY3R4X3NzZXU7Cj4+Pj4g KyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwo+ Pj4+ICsKPj4+PiArICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29weV9mcm9tX3VzZXIoJnVz ZXJfc3NldSwgdTY0X3RvX3VzZXJfcHRyKGFyZ3MtPnZhbHVlKSwKPj4+PiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHVzZXJfc3NldSkpKSB7Cj4+Pj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtRUZBVUxUOwo+Pj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4+Pj4gKyAgICAgICAgICAgICAgICAg ICAgICAgfQo+Pj4+ICsKPj4+PiArICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmUgPSBpOTE1 X2dlbV9lbmdpbmVfZnJvbV9mbGFncyhkZXZfcHJpdiwgZmlsZSwKPj4+PiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyX3NzZXUu ZmxhZ3MpOwo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmICghZW5naW5lKSB7Cj4+Pj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtRUlOVkFMOwo+Pj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4+Pj4gKyAgICAgICAgICAgICAgICAg ICAgICAgfQo+Pj4+ICsKPj4+PiArICAgICAgICAgICAgICAgICAgICAgICBjdHhfc3NldSA9Cj4+ Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpOTE1X2dlbV9jb250ZXh0X3NzZXVf ZnJvbV91c2VyX3NzZXUoJklOVEVMX0lORk8oZGV2X3ByaXYpLT5zc2V1LAo+Pj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZ1c2VyX3NzZXUpOwo+Pj4+ICAgIAo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJl dCA9IGludGVsX2xyX2NvbnRleHRfc2V0X3NzZXUoY3R4LCBlbmdpbmUsICZjdHhfc3NldSk7Cj4+ Pj4gKyAgICAgICAgICAgICAgIH0KPj4+PiArICAgICAgICAgICAgICAgYnJlYWs7Cj4+Pj4gICAg ICAgICAgIGRlZmF1bHQ6Cj4+Pj4gICAgICAgICAgICAgICAgICAgcmV0ID0gLUVJTlZBTDsKPj4+ PiAgICAgICAgICAgICAgICAgICBicmVhazsKPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+ Pj4+IGluZGV4IGRjYTE3ZWYyNGRlNS4uOWNhZGRjYjFmMjM0IDEwMDY0NAo+Pj4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmMKPj4+PiBAQCAtMjcxMSw2ICsyNzExLDYxIEBAIHZvaWQgaW50ZWxf bHJfY29udGV4dF9yZXN1bWUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+Pj4+ ICAgICAgICAgICB9Cj4+Pj4gICAgfQo+Pj4+ICAgIAo+Pj4+ICtpbnQgaW50ZWxfbHJfY29udGV4 dF9zZXRfc3NldShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAo+Pj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPj4+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dF9zc2V1 ICpzc2V1KQo+Pj4+ICt7Cj4+Pj4gKyAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBjdHgtPmk5MTU7Cj4+Pj4gKyAgICAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2U7 Cj4+Pj4gKyAgICAgICBlbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKPj4+PiArICAgICAgIGludCBy ZXQ7Cj4+Pj4gKwo+Pj4+ICsgICAgICAgbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPmRy bS5zdHJ1Y3RfbXV0ZXgpOwo+Pj4+ICsKPj4+PiArICAgICAgIGlmIChtZW1jbXAoc3NldSwgJmN0 eC0+ZW5naW5lW2VuZ2luZS0+aWRdLnNzZXUsIHNpemVvZigqc3NldSkpID09IDApCj4+Pj4gKyAg ICAgICAgICAgICAgIHJldHVybiAwOwo+Pj4+ICsKPj4+PiArICAgICAgIC8qCj4+Pj4gKyAgICAg ICAgKiBXZSBjYW4gb25seSBwcm9ncmFtIHRoaXMgb24gcmVuZGVyIHJpbmcuCj4+Pj4gKyAgICAg ICAgKi8KPj4+PiArICAgICAgIGNlID0gJmN0eC0+ZW5naW5lW1JDU107Cj4+Pj4gKwo+Pj4+ICsg ICAgICAgaWYgKGNlLT5waW5fY291bnQpIHsgLyogQXNzdW1lIHRoYXQgdGhlIGNvbnRleHQgaXMg YWN0aXZlISAqLwo+Pj4+ICsgICAgICAgICAgICAgICByZXQgPSBpOTE1X2dlbV9zd2l0Y2hfdG9f a2VybmVsX2NvbnRleHQoZGV2X3ByaXYpOwo+Pj4+ICsgICAgICAgICAgICAgICBpZiAocmV0KQo+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4+Pj4gKwo+Pj4+ICsgICAg ICAgICAgICAgICByZXQgPSBpOTE1X2dlbV93YWl0X2Zvcl9pZGxlKGRldl9wcml2LAo+Pj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEk5MTVfV0FJVF9JTlRF UlJVUFRJQkxFIHwKPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJOTE1X1dBSVRfTE9DS0VEKTsKPj4+PiArICAgICAgICAgICAgICAgaWYgKHJldCkKPj4+ PiArICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+Pj4+ICsgICAgICAgfQo+Pj4+ ICsKPj4+PiArICAgICAgIGlmIChjZS0+c3RhdGUpIHsKPj4+PiArICAgICAgICAgICAgICAgdm9p ZCAqdmFkZHIgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChjZS0+c3RhdGUtPm9iaiwgSTkxNV9N QVBfV0IpOwo+Pj4+ICsgICAgICAgICAgICAgICB1MzIgKnJlZ3M7Cj4+Pj4gKwo+Pj4+ICsgICAg ICAgICAgICAgICBpZiAoSVNfRVJSKHZhZGRyKSkKPj4+PiArICAgICAgICAgICAgICAgICAgICAg ICByZXR1cm4gUFRSX0VSUih2YWRkcik7Cj4+Pj4gKwo+Pj4+ICsgICAgICAgICAgICAgICByZWdz ID0gdmFkZHIgKyBMUkNfU1RBVEVfUE4gKiBQQUdFX1NJWkU7Cj4+Pj4gKwo+Pj4+ICsgICAgICAg ICAgICAgICByZWdzW0NUWF9SX1BXUl9DTEtfU1RBVEUgKyAxXSA9Cj4+Pj4gKyAgICAgICAgICAg ICAgICAgICAgICAgbWFrZV9ycGNzKCZJTlRFTF9JTkZPKGRldl9wcml2KS0+c3NldSwgc3NldSk7 Cj4+Pj4gKyAgICAgICAgICAgICAgIGk5MTVfZ2VtX29iamVjdF91bnBpbl9tYXAoY2UtPnN0YXRl LT5vYmopOwo+Pj4+ICsgICAgICAgfQo+Pj4+ICsKPj4+PiArICAgICAgIC8qCj4+Pj4gKyAgICAg ICAgKiBBcHBseSB0aGUgY29uZmlndXJhdGlvbiB0byBhbGwgZW5naW5lLiBPdXIgaGFyZHdhcmUg ZG9lc24ndAo+Pj4+ICsgICAgICAgICogY3VycmVudGx5IHN1cHBvcnQgZGlmZmVyZW50IGNvbmZp Z3VyYXRpb25zIGZvciBlYWNoIGVuZ2luZS4KPj4+PiArICAgICAgICAqLwo+Pj4+ICsgICAgICAg Zm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgZGV2X3ByaXYsIGlkKQo+Pj4+ICsgICAgICAgICAgICAg ICBjdHgtPmVuZ2luZVtpZF0uc3NldSA9ICpzc2V1Owo+Pj4+ICsKPj4+PiArICAgICAgIHJldHVy biAwOwo+Pj4+ICt9Cj4+Pj4gKwo+Pj4+ICAgICNpZiBJU19FTkFCTEVEKENPTkZJR19EUk1fSTkx NV9TRUxGVEVTVCkKPj4+PiAgICAjaW5jbHVkZSAic2VsZnRlc3RzL2ludGVsX2xyYy5jIgo+Pj4+ ICAgICNlbmRpZgo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCj4+Pj4gaW5kZXggZDkxZDY5 YTE3MjA2Li40Yzg0MjY2ODE0ZmEgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmgKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu aAo+Pj4+IEBAIC0xMTIsNCArMTEyLDggQEAgaW50ZWxfbHJfY29udGV4dF9kZXNjcmlwdG9yKHN0 cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4+Pj4gICAgICAgICAgIHJldHVybiBjdHgtPmVu Z2luZVtlbmdpbmUtPmlkXS5scmNfZGVzYzsKPj4+PiAgICB9Cj4+Pj4gICAgCj4+Pj4gK2ludCBp bnRlbF9scl9jb250ZXh0X3NldF9zc2V1KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4+ Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lLAo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpOTE1X2dl bV9jb250ZXh0X3NzZXUgKnNzZXUpOwo+Pj4+ICsKPj4+PiAgICAjZW5kaWYgLyogX0lOVEVMX0xS Q19IXyAqLwo+Pj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggYi9p bmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKPj4+PiBpbmRleCA5NmVkYTgxNzYwMzAuLjc1NzQ5 Y2UxMWMwMyAxMDA2NDQKPj4+PiAtLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKPj4+ PiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKPj4+PiBAQCAtMTQ1Niw5ICsxNDU2 LDM3IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSB7Cj4+Pj4gICAgI2RlZmlu ZSAgIEk5MTVfQ09OVEVYVF9NQVhfVVNFUl9QUklPUklUWSAgICAgICAxMDIzIC8qIGluY2x1c2l2 ZSAqLwo+Pj4+ICAgICNkZWZpbmUgICBJOTE1X0NPTlRFWFRfREVGQVVMVF9QUklPUklUWSAgICAg ICAgICAgICAgICAwCj4+Pj4gICAgI2RlZmluZSAgIEk5MTVfQ09OVEVYVF9NSU5fVVNFUl9QUklP UklUWSAgICAgICAtMTAyMyAvKiBpbmNsdXNpdmUgKi8KPj4+PiArICAgICAgIC8qCj4+Pj4gKyAg ICAgICAgKiBXaGVuIHVzaW5nIHRoZSBmb2xsb3dpbmcgcGFyYW0sIHZhbHVlIHNob3VsZCBiZSBh IHBvaW50ZXIgdG8KPj4+PiArICAgICAgICAqIGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtX3Nz ZXUuCj4+Pj4gKyAgICAgICAgKi8KPj4+PiArI2RlZmluZSBJOTE1X0NPTlRFWFRfUEFSQU1fU1NF VSAgICAgICAgICAgICAgICAweDcKPj4+PiAgICAgICAgICAgX191NjQgdmFsdWU7Cj4+Pj4gICAg fTsKPj4+PiAgICAKPj4+PiArc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtX3NzZXUg ewo+Pj4+ICsgICAgICAgLyoKPj4+PiArICAgICAgICAqIEVuZ2luZSB0byBiZSBjb25maWd1cmVk IG9yIHF1ZXJpZWQuIFNhbWUgdmFsdWUgeW91IHdvdWxkIHVzZSB3aXRoCj4+Pj4gKyAgICAgICAg KiBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIuCj4+Pj4gKyAgICAgICAgKi8KPj4+PiArICAgICAg IF9fdTY0IGZsYWdzOwo+Pj4+ICsKPj4+PiArICAgICAgIC8qCj4+Pj4gKyAgICAgICAgKiBTZXR0 aW5nIHNsaWNlX21hc2sgb3Igc3Vic2xpY2VfbWFzayB0byAwIHdpbGwgbWFrZSB0aGUgY29udGV4 dCB1c2UKPj4+PiArICAgICAgICAqIG1hc2tzIHJlcG9ydGVkIHJlc3BlY3RpdmVseSBieSBJOTE1 X1BBUkFNX1NMSUNFX01BU0sgb3IKPj4+PiArICAgICAgICAqIEk5MTVfUEFSQU1fU1VCU0xJQ0Vf TUFTSy4KPj4+PiArICAgICAgICAqLwo+Pj4+ICsgICAgICAgdW5pb24gewo+Pj4+ICsgICAgICAg ICAgICAgICBzdHJ1Y3Qgewo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgIF9fdTggc2xpY2Vf bWFzazsKPj4+PiArICAgICAgICAgICAgICAgICAgICAgICBfX3U4IHN1YnNsaWNlX21hc2s7Cj4+ Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgX191OCBtaW5fZXVzX3Blcl9zdWJzbGljZTsKPj4+ PiArICAgICAgICAgICAgICAgICAgICAgICBfX3U4IG1heF9ldXNfcGVyX3N1YnNsaWNlOwo+Pj4+ ICsgICAgICAgICAgICAgICB9IHBhY2tlZDsKPj4+PiArICAgICAgICAgICAgICAgX191NjQgdmFs dWU7Cj4+Pj4gKyAgICAgICB9Owo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiAgICBlbnVtIGRybV9pOTE1 X29hX2Zvcm1hdCB7Cj4+Pj4gICAgICAgICAgIEk5MTVfT0FfRk9STUFUX0ExMyA9IDEsICAgICAv KiBIU1cgb25seSAqLwo+Pj4+ICAgICAgICAgICBJOTE1X09BX0ZPUk1BVF9BMjksICAgICAgICAg LyogSFNXIG9ubHkgKi8KPj4+PiAtLSAKPj4+PiAyLjE3LjAKPj4+Pgo+Pgo+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+IApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK