From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v4 3/7] drm/i915/guc: add enable_guc_loading parameter Date: Fri, 13 May 2016 16:31:53 +0100 Message-ID: <5735F369.3010601@linux.intel.com> References: <1463150195-28805-1-git-send-email-david.s.gordon@intel.com> <1463150195-28805-4-git-send-email-david.s.gordon@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 782446E004 for ; Fri, 13 May 2016 15:32:11 +0000 (UTC) In-Reply-To: <1463150195-28805-4-git-send-email-david.s.gordon@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Dave Gordon , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDEzLzA1LzE2IDE1OjM2LCBEYXZlIEdvcmRvbiB3cm90ZToKPiBTcGxpdCB0aGUgZnVuY3Rp b24gb2YgImVuYWJsZV9ndWNfc3VibWlzc2lvbiIgaW50byB0d28gc2VwYXJhdGUKPiBvcHRpb25z LiAgVGhlIG5ldyBvbmUgKCJlbmFibGVfZ3VjX2xvYWRpbmciKSBjb250cm9scyBvbmx5IHRoZQo+ ICpmZXRjaGluZyBhbmQgbG9hZGluZyogb2YgdGhlIEd1QyBmaXJtd2FyZSBpbWFnZS4gVGhlIGV4 aXN0aW5nCj4gb25lIGlzIHJlZGVmaW5lZCB0byBjb250cm9sIG9ubHkgdGhlICp1c2UqIG9mIHRo ZSBHdUMgZm9yIGJhdGNoCj4gc3VibWlzc2lvbiBvbmNlIHRoZSBmaXJtd2FyZSBpcyBsb2FkZWQu Cj4KPiBJbiBhZGRpdGlvbiwgdGhlIGRlZ3JlZSBvZiBjb250cm9sIGhhcyBiZWVuIHJlZmluZWQg ZnJvbSBhIHNpbXBsZQo+IGJvb2wgdG8gYW4gaW50ZWdlciBrZXksIGFsbG93aW5nIHNldmVyYWwg b3B0aW9uczoKPiAtMSAoZGVmYXVsdCkgICAgIHdoYXRldmVyIHRoZSBwbGF0Zm9ybSBkZWZhdWx0 IGlzCj4gICAwICBESVNBQkxFICAgICAgZG9uJ3QgbG9hZC91c2UgdGhlIEd1Qwo+ICAgMSAgQkVT VCBFRkZPUlQgIHRyeSB0byBsb2FkL3VzZSB0aGUgR3VDLCBmYWxsYmFjayBpZiBub3QgYXZhaWxh YmxlCj4gICAyICBSRVFVSVJFICAgICAgbXVzdCBsb2FkL3VzZSB0aGUgR3VDLCBlbHNlIGxlYXZl IHRoZSBHUFUgd2VkZ2VkCj4KPiBUaGUgbmV3IHBsYXRmb3JtIGRlZmF1bHQgKGFzIGNvZGVkIGhl cmUpIHdpbGwgYmUgdG8gYXR0ZW1wdCB0bwo+IGxvYWQgdGhlIEd1QyBpZmYgdGhlIGRldmljZSBo YXMgYSBHdUMgdGhhdCByZXF1aXJlcyBmaXJtd2FyZSwKPiBidXQgbm90IHlldCB0byB1c2UgaXQg Zm9yIHN1Ym1pc3Npb24uIEEgbGF0ZXIgcGF0Y2ggd2lsbCBjaGFuZ2UKPiB0byBlbmFibGUgaXQg aWYgYXBwcm9wcmlhdGUuCj4KPiB2NDoKPiAgICAgIENoYW5nZWQgc29tZSBlcnJvci1tZXNzYWdl IGxldmVscywgbW9zdGx5IEVSUk9SLT5JTkZPLCBwZXIKPiAgICAgIHJldmlldyBjb21tZW50cyBi eSBUdnJ0a28gVXJzdWxpbi4KPgo+IFNpZ25lZC1vZmYtYnk6IERhdmUgR29yZG9uIDxkYXZpZC5z LmdvcmRvbkBpbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jICAgICAgICAgICAgfCAgIDEgLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNf c3VibWlzc2lvbi5jIHwgICA0ICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFt cy5jICAgICAgICAgfCAgMTQgKysrLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJh bXMuaCAgICAgICAgIHwgICAzICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNf bG9hZGVyLmMgICAgfCAxMDggKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KPiAgIDUgZmls ZXMgY2hhbmdlZCwgNzYgaW5zZXJ0aW9ucygrKSwgNTQgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMKPiBpbmRleCAyYTdiZTcxLi4yYmY4NzQzIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCj4gQEAgLTQ4NzAsNyArNDg3MCw2IEBAIGludCBpOTE1X2dlbV9pbml0X2Vu Z2luZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAkJcmV0ID0gaW50ZWxfZ3VjX3NldHVw KGRldik7Cj4gICAJCWlmIChyZXQpIHsKPiAgIAkJCURSTV9FUlJPUigiRmFpbGVkIHRvIGluaXRp YWxpemUgR3VDLCBlcnJvciAlZFxuIiwgcmV0KTsKClRoaXMgZXJyb3IgbXNnIHNob3VsZCBnbyBh cyB3ZWxsIEkgdGhpbmsuCgo+IC0JCQlyZXQgPSAtRUlPOwo+ICAgCQkJZ290byBvdXQ7Cj4gICAJ CX0KPiAgIAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1 Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+ IGluZGV4IDE2OTI0MmEuLjkxNmNkNjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9ndWNfc3VibWlzc2lvbi5jCj4gQEAgLTk2OSw3ICs5NjksNyBAQCBpbnQgaW50ZWxfZ3VjX3N1 c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAq Y3R4Owo+ICAgCXUzMiBkYXRhWzNdOwo+Cj4gLQlpZiAoIWk5MTUuZW5hYmxlX2d1Y19zdWJtaXNz aW9uKQo+ICsJaWYgKGd1Yy0+Z3VjX2Z3Lmd1Y19md19sb2FkX3N0YXR1cyAhPSBHVUNfRklSTVdB UkVfU1VDQ0VTUykKPiAgIAkJcmV0dXJuIDA7Cj4KPiAgIAljdHggPSBkZXZfcHJpdi0+a2VybmVs X2NvbnRleHQ7Cj4gQEAgLTk5NSw3ICs5OTUsNyBAQCBpbnQgaW50ZWxfZ3VjX3Jlc3VtZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHg7Cj4gICAJ dTMyIGRhdGFbM107Cj4KPiAtCWlmICghaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24pCj4gKwlp ZiAoZ3VjLT5ndWNfZncuZ3VjX2Z3X2xvYWRfc3RhdHVzICE9IEdVQ19GSVJNV0FSRV9TVUNDRVNT KQo+ICAgCQlyZXR1cm4gMDsKCldpbGwgdGhlIGFib3ZlIHR3byBkbyB0aGUgcmlnaHQgdGhpbmcg Zm9yIHRoZSBmd19wYXRoID09IE5VTEwgY2FzZT8gVGhhdCAKaXMgIUhBU19HVUNfVUNPREUgJiYg SEFTX0dVQ19TQ0hFRD8gTG9va3MgbGlrZSBsb2FkIHN0YXR1cyB3aWxsIGJ0IE5PTkUgCmluIHRo YXQgY2FzZSwgR3VDIHN1Ym1pc3Npb24gd2lsbCBiZSBlbmFibGVkIGFuZCBzdXNwZW5kIGFuZCBy ZXN1bWUgCmhvb2tzIHdpbGwgYmUgc2tpcHBlZD8KCk1heWJlIGZldGNoIGFuZCBsb2FkIHN0YXR1 cyBzaG91bGQgYmUgc2V0IHRvIHN1Y2Nlc3Mgb24gc3VjaCBwbGF0Zm9ybXM/Cgo+Cj4gICAJY3R4 ID0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BhcmFtcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMu Ywo+IGluZGV4IDM4M2MwNzYuLjZhNTU3OGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wYXJhbXMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFy YW1zLmMKPiBAQCAtNTQsNyArNTQsOCBAQCBzdHJ1Y3QgaTkxNV9wYXJhbXMgaTkxNSBfX3JlYWRf bW9zdGx5ID0gewo+ICAgCS52ZXJib3NlX3N0YXRlX2NoZWNrcyA9IDEsCj4gICAJLm51Y2xlYXJf cGFnZWZsaXAgPSAwLAo+ICAgCS5lZHBfdnN3aW5nID0gMCwKPiAtCS5lbmFibGVfZ3VjX3N1Ym1p c3Npb24gPSBmYWxzZSwKPiArCS5lbmFibGVfZ3VjX2xvYWRpbmcgPSAtMSwKPiArCS5lbmFibGVf Z3VjX3N1Ym1pc3Npb24gPSAwLAo+ICAgCS5ndWNfbG9nX2xldmVsID0gLTEsCj4gICAJLmVuYWJs ZV9kcF9tc3QgPSB0cnVlLAo+ICAgCS5pbmplY3RfbG9hZF9mYWlsdXJlID0gMCwKPiBAQCAtMTk4 LDggKzE5OSwxNSBAQCBzdHJ1Y3QgaTkxNV9wYXJhbXMgaTkxNSBfX3JlYWRfbW9zdGx5ID0gewo+ ICAgCQkgIigwPXVzZSB2YWx1ZSBmcm9tIHZidCBbZGVmYXVsdF0sIDE9bG93IHBvd2VyIHN3aW5n KDIwMG1WKSwiCj4gICAJCSAiMj1kZWZhdWx0IHN3aW5nKDQwMG1WKSkiKTsKPgo+IC1tb2R1bGVf cGFyYW1fbmFtZWRfdW5zYWZlKGVuYWJsZV9ndWNfc3VibWlzc2lvbiwgaTkxNS5lbmFibGVfZ3Vj X3N1Ym1pc3Npb24sIGJvb2wsIDA0MDApOwo+IC1NT0RVTEVfUEFSTV9ERVNDKGVuYWJsZV9ndWNf c3VibWlzc2lvbiwgIkVuYWJsZSBHdUMgc3VibWlzc2lvbiAoZGVmYXVsdDpmYWxzZSkiKTsKPiAr bW9kdWxlX3BhcmFtX25hbWVkX3Vuc2FmZShlbmFibGVfZ3VjX2xvYWRpbmcsIGk5MTUuZW5hYmxl X2d1Y19sb2FkaW5nLCBpbnQsIDA0MDApOwo+ICtNT0RVTEVfUEFSTV9ERVNDKGVuYWJsZV9ndWNf bG9hZGluZywKPiArCQkiRW5hYmxlIEd1QyBmaXJtd2FyZSBsb2FkaW5nICIKPiArCQkiKC0xPWF1 dG8gW2RlZmF1bHRdLCAwPW5ldmVyLCAxPWlmIGF2YWlsYWJsZSwgMj1yZXF1aXJlZCkiKTsKPiAr Cj4gK21vZHVsZV9wYXJhbV9uYW1lZF91bnNhZmUoZW5hYmxlX2d1Y19zdWJtaXNzaW9uLCBpOTE1 LmVuYWJsZV9ndWNfc3VibWlzc2lvbiwgaW50LCAwNDAwKTsKPiArTU9EVUxFX1BBUk1fREVTQyhl bmFibGVfZ3VjX3N1Ym1pc3Npb24sCj4gKwkJIkVuYWJsZSBHdUMgc3VibWlzc2lvbiAiCj4gKwkJ IigtMT1hdXRvLCAwPW5ldmVyIFtkZWZhdWx0XSwgMT1pZiBhdmFpbGFibGUsIDI9cmVxdWlyZWQp Iik7Cj4KPiAgIG1vZHVsZV9wYXJhbV9uYW1lZChndWNfbG9nX2xldmVsLCBpOTE1Lmd1Y19sb2df bGV2ZWwsIGludCwgMDQwMCk7Cj4gICBNT0RVTEVfUEFSTV9ERVNDKGd1Y19sb2dfbGV2ZWwsCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oCj4gaW5kZXggNjVlNzNkZC4uMTMyMzI2MSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAo+IEBAIC00NSw2ICs0NSw4IEBAIHN0cnVj dCBpOTE1X3BhcmFtcyB7Cj4gICAJaW50IGVuYWJsZV9pcHM7Cj4gICAJaW50IGludmVydF9icmln aHRuZXNzOwo+ICAgCWludCBlbmFibGVfY21kX3BhcnNlcjsKPiArCWludCBlbmFibGVfZ3VjX2xv YWRpbmc7Cj4gKwlpbnQgZW5hYmxlX2d1Y19zdWJtaXNzaW9uOwo+ICAgCWludCBndWNfbG9nX2xl dmVsOwo+ICAgCWludCB1c2VfbW1pb19mbGlwOwo+ICAgCWludCBtbWlvX2RlYnVnOwo+IEBAIC01 Nyw3ICs1OSw2IEBAIHN0cnVjdCBpOTE1X3BhcmFtcyB7Cj4gICAJYm9vbCBsb2FkX2RldGVjdF90 ZXN0Owo+ICAgCWJvb2wgcmVzZXQ7Cj4gICAJYm9vbCBkaXNhYmxlX2Rpc3BsYXk7Cj4gLQlib29s IGVuYWJsZV9ndWNfc3VibWlzc2lvbjsKPiAgIAlib29sIHZlcmJvc2Vfc3RhdGVfY2hlY2tzOwo+ ICAgCWJvb2wgbnVjbGVhcl9wYWdlZmxpcDsKPiAgIAlib29sIGVuYWJsZV9kcF9tc3Q7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwo+IGluZGV4IGIxNGEzYTMuLjNkMzM5 NDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jCj4gQEAgLTM5 MSw0OSArMzkxLDM3IEBAIGludCBpbnRlbF9ndWNfc2V0dXAoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRl dl9wcml2YXRlOwo+ICAgCXN0cnVjdCBpbnRlbF9ndWNfZncgKmd1Y19mdyA9ICZkZXZfcHJpdi0+ Z3VjLmd1Y19mdzsKPiAtCWludCByZXRyaWVzLCBlcnIgPSAwOwo+ICsJY29uc3QgY2hhciAqZndf cGF0aCA9IGd1Y19mdy0+Z3VjX2Z3X3BhdGg7Cj4gKwlpbnQgcmV0cmllcywgcmV0LCBlcnIgPSAw Owo+Cj4gLQlpZiAoIWk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uKQo+IC0JCXJldHVybiAwOwo+ IC0KPiAtCURSTV9ERUJVR19EUklWRVIoIkd1QyBmdyBzdGF0dXM6IGZldGNoICVzLCBsb2FkICVz XG4iLAo+ICsJRFJNX0RFQlVHX0RSSVZFUigiR3VDIGZ3IHN0YXR1czogcGF0aCAlcywgZmV0Y2gg JXMsIGxvYWQgJXNcbiIsCj4gKwkJZndfcGF0aCwKPiAgIAkJaW50ZWxfZ3VjX2Z3X3N0YXR1c19y ZXByKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyksCj4gICAJCWludGVsX2d1Y19md19zdGF0 dXNfcmVwcihndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cykpOwo+Cj4gLQlkaXJlY3RfaW50ZXJy dXB0c190b19ob3N0KGRldl9wcml2KTsKPiArCS8qIExvYWRpbmcgZm9yYmlkZGVuLCBvciBubyBm aXJtd2FyZSB0byBsb2FkPyAqLwo+ICsJaWYgKCFpOTE1LmVuYWJsZV9ndWNfbG9hZGluZykKPiAr CQlnb3RvIGZhaWw7Cj4gKwlpZiAoZndfcGF0aCA9PSBOVUxMKQo+ICsJCWdvdG8gZmFpbDsKPiAr CWlmICgqZndfcGF0aCA9PSAnXDAnKSB7Cj4gKwkJRFJNX0lORk8oIk5vIEd1QyBmaXJtd2FyZSBr bm93biBmb3IgdGhpcyBwbGF0Zm9ybVxuIik7Cj4gKwkJZ290byBmYWlsOwo+ICsJfQo+Cj4gLQlp ZiAoZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVzID09IEdVQ19GSVJNV0FSRV9OT05FKQo+IC0J CXJldHVybiAwOwo+ICsJLyogRmV0Y2ggZmFpbGVkLCBvciBhbHJlYWR5IGZldGNoZWQgYnV0IGZh aWxlZCB0byBsb2FkPyAqLwo+ICsJaWYgKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyAhPSBH VUNfRklSTVdBUkVfU1VDQ0VTUykKPiArCQlnb3RvIGZhaWw7Cj4gKwlpZiAoZ3VjX2Z3LT5ndWNf ZndfbG9hZF9zdGF0dXMgPT0gR1VDX0ZJUk1XQVJFX0ZBSUwpCj4gKwkJZ290byBmYWlsOwo+Cj4g LQlpZiAoZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVzID09IEdVQ19GSVJNV0FSRV9TVUNDRVNT ICYmCj4gLQkgICAgZ3VjX2Z3LT5ndWNfZndfbG9hZF9zdGF0dXMgPT0gR1VDX0ZJUk1XQVJFX0ZB SUwpCj4gLQkJcmV0dXJuIC1FTk9FWEVDOwo+ICsJZGlyZWN0X2ludGVycnVwdHNfdG9faG9zdChk ZXZfcHJpdik7Cj4KPiAgIAlndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cyA9IEdVQ19GSVJNV0FS RV9QRU5ESU5HOwo+Cj4gLQlEUk1fREVCVUdfRFJJVkVSKCJHdUMgZncgZmV0Y2ggc3RhdHVzICVz XG4iLAo+IC0JCWludGVsX2d1Y19md19zdGF0dXNfcmVwcihndWNfZnctPmd1Y19md19mZXRjaF9z dGF0dXMpKTsKPiAtCj4gLQlzd2l0Y2ggKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cykgewo+ IC0JY2FzZSBHVUNfRklSTVdBUkVfRkFJTDoKPiAtCQkvKiBzb21ldGhpbmcgd2VudCB3cm9uZyA6 KCAqLwo+IC0JCWVyciA9IC1FSU87Cj4gLQkJZ290byBmYWlsOwo+IC0KPiAtCWNhc2UgR1VDX0ZJ Uk1XQVJFX05PTkU6Cj4gLQljYXNlIEdVQ19GSVJNV0FSRV9QRU5ESU5HOgo+IC0JZGVmYXVsdDoK PiAtCQkvKiAiY2FuJ3QgaGFwcGVuIiAqLwo+IC0JCVdBUk5fT05DRSgxLCAiR3VDIGZ3ICVzIGlu dmFsaWQgZ3VjX2Z3X2ZldGNoX3N0YXR1cyAlcyBbJWRdXG4iLAo+IC0JCQlndWNfZnctPmd1Y19m d19wYXRoLAo+IC0JCQlpbnRlbF9ndWNfZndfc3RhdHVzX3JlcHIoZ3VjX2Z3LT5ndWNfZndfZmV0 Y2hfc3RhdHVzKSwKPiAtCQkJZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVzKTsKPiAtCQllcnIg PSAtRU5YSU87Cj4gLQkJZ290byBmYWlsOwo+IC0KPiAtCWNhc2UgR1VDX0ZJUk1XQVJFX1NVQ0NF U1M6Cj4gLQkJYnJlYWs7Cj4gLQl9Cj4gKwlEUk1fREVCVUdfRFJJVkVSKCJHdUMgZncgc3RhdHVz OiBmZXRjaCAlcywgbG9hZCAlc1xuIiwKPiArCQlpbnRlbF9ndWNfZndfc3RhdHVzX3JlcHIoZ3Vj X2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVzKSwKPiArCQlpbnRlbF9ndWNfZndfc3RhdHVzX3JlcHIo Z3VjX2Z3LT5ndWNfZndfbG9hZF9zdGF0dXMpKTsKPgo+ICAgCWVyciA9IGk5MTVfZ3VjX3N1Ym1p c3Npb25faW5pdChkZXYpOwo+ICAgCWlmIChlcnIpCj4gQEAgLTQ4Niw3ICs0NzQsNiBAQCBpbnQg aW50ZWxfZ3VjX3NldHVwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAJcmV0dXJuIDA7Cj4K PiAgIGZhaWw6Cj4gLQlEUk1fRVJST1IoIkd1QyBmaXJtd2FyZSBsb2FkIGZhaWxlZCwgZXJyICVk XG4iLCBlcnIpOwo+ICAgCWlmIChndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cyA9PSBHVUNfRklS TVdBUkVfUEVORElORykKPiAgIAkJZ3VjX2Z3LT5ndWNfZndfbG9hZF9zdGF0dXMgPSBHVUNfRklS TVdBUkVfRkFJTDsKPgo+IEBAIC00OTQsNyArNDgxLDM2IEBAIGludCBpbnRlbF9ndWNfc2V0dXAo c3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAlpOTE1X2d1Y19zdWJtaXNzaW9uX2Rpc2FibGUo ZGV2KTsKPiAgIAlpOTE1X2d1Y19zdWJtaXNzaW9uX2ZpbmkoZGV2KTsKPgo+IC0JcmV0dXJuIGVy cjsKPiArCS8qCj4gKwkgKiBXZSd2ZSBmYWlsZWQgdG8gbG9hZCB0aGUgZmlybXdhcmUgOigKPiAr CSAqCj4gKwkgKiBEZWNpZGUgd2hldGhlciB0byBkaXNhYmxlIEd1QyBzdWJtaXNzaW9uIGFuZCBm YWxsIGJhY2sgdG8KPiArCSAqIGV4ZWNsaXN0IG1vZGUsIGFuZCB3aGV0aGVyIHRvIGhpZGUgdGhl IGVycm9yIGJ5IHJldHVybmluZwo+ICsJICogemVybyBvciB0byByZXR1cm4gLUVJTywgd2hpY2gg dGhlIGNhbGxlciB3aWxsIHRyZWF0IGFzIGEKPiArCSAqIG5vbmZhdGFsIGVycm9yIChpLmUuIGl0 IGRvZXNuJ3QgcHJldmVudCBkcml2ZXIgbG9hZCwgYnV0Cj4gKwkgKiBtYXJrcyB0aGUgR1BVIGFz IHdlZGdlZCB1bnRpbCByZXNldCkuCj4gKwkgKi8KPiArCWlmIChpOTE1LmVuYWJsZV9ndWNfbG9h ZGluZyA+IDEpIHsKPiArCQlyZXQgPSAtRUlPOwo+ICsJfSBlbHNlIGlmIChIQVNfR1VDX1NDSEVE KGRldikgJiYgIUhBU19HVUNfVUNPREUoZGV2KSkgewo+ICsJCS8qIFRoaXMgR3VDIHdvcmtzIGV2 ZW4gd2l0aG91dCBmaXJtd2FyZSA6KSAqLwo+ICsJCXJldHVybiAwOwo+ICsJfSBlbHNlIGlmIChp OTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA+IDEpIHsKPiArCQlyZXQgPSAtRUlPOwo+ICsJfSBl bHNlIHsKPiArCQlyZXQgPSAwOwo+ICsJfQo+ICsKPiArCWlmIChyZXQgPT0gLUVJTykKPiArCQlE Uk1fRVJST1IoIkd1QyBmaXJtd2FyZSBsb2FkIGZhaWxlZCwgZXJyICVkXG4iLCBlcnIpOwo+ICsJ ZWxzZQo+ICsJCURSTV9JTkZPKCJHdUMgZmlybXdhcmUgbG9hZCBmYWlsZWQsIGVyciAlZFxuIiwg ZXJyKTsKPiArCj4gKwlpZiAoaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24pCj4gKwkJRFJNX0lO Rk8oImZhbGxpbmcgYmFjayB0byBleGVjbGlzdCBtb2RlLCByZXQgJWRcbiIsIHJldCk7CgpyZXQg aXMgYWx3YXlzIHplcm8gaW4gdGhpcyBtc2c/Cgo+ICsJaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Np b24gPSAwOwo+ICsKPiArCXJldHVybiByZXQ7Cj4gICB9Cj4KPiAgIHN0YXRpYyB2b2lkIGd1Y19m d19mZXRjaChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaW50ZWxfZ3VjX2Z3ICpndWNf ZncpCj4gQEAgLTYzNSw4ICs2NTEsMTEgQEAgdm9pZCBpbnRlbF9ndWNfaW5pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQo+ICAgCXN0cnVjdCBpbnRlbF9ndWNfZncgKmd1Y19mdyA9ICZkZXZfcHJp di0+Z3VjLmd1Y19mdzsKPiAgIAljb25zdCBjaGFyICpmd19wYXRoOwo+Cj4gLQlpZiAoIUhBU19H VUNfU0NIRUQoZGV2KSkKPiAtCQlpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IGZhbHNlOwo+ ICsJLyogQSBuZWdhdGl2ZSB2YWx1ZSBtZWFucyAidXNlIHBsYXRmb3JtIGRlZmF1bHQiICovCj4g KwlpZiAoaTkxNS5lbmFibGVfZ3VjX2xvYWRpbmcgPCAwKQo+ICsJCWk5MTUuZW5hYmxlX2d1Y19s b2FkaW5nID0gSEFTX0dVQ19VQ09ERShkZXYpOwo+ICsJaWYgKGk5MTUuZW5hYmxlX2d1Y19zdWJt aXNzaW9uIDwgMCkKPiArCQlpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IEhBU19HVUNfU0NI RUQoZGV2KTsKPgo+ICAgCWlmICghSEFTX0dVQ19VQ09ERShkZXYpKSB7Cj4gICAJCWZ3X3BhdGgg PSBOVUxMOwo+IEBAIC02NDksMjYgKzY2OCwyMSBAQCB2b2lkIGludGVsX2d1Y19pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gICAJCWd1Y19mdy0+Z3VjX2Z3X21ham9yX3dhbnRlZCA9IDg7 Cj4gICAJCWd1Y19mdy0+Z3VjX2Z3X21pbm9yX3dhbnRlZCA9IDc7Cj4gICAJfSBlbHNlIHsKPiAt CQlpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IGZhbHNlOwo+ICAgCQlmd19wYXRoID0gIiI7 CS8qIHVua25vd24gZGV2aWNlICovCj4gICAJfQo+Cj4gLQlpZiAoIWk5MTUuZW5hYmxlX2d1Y19z dWJtaXNzaW9uKQo+IC0JCXJldHVybjsKPiAtCj4gICAJZ3VjX2Z3LT5ndWNfZGV2ID0gZGV2Owo+ ICAgCWd1Y19mdy0+Z3VjX2Z3X3BhdGggPSBmd19wYXRoOwo+ICAgCWd1Y19mdy0+Z3VjX2Z3X2Zl dGNoX3N0YXR1cyA9IEdVQ19GSVJNV0FSRV9OT05FOwo+ICAgCWd1Y19mdy0+Z3VjX2Z3X2xvYWRf c3RhdHVzID0gR1VDX0ZJUk1XQVJFX05PTkU7Cj4KPiArCS8qIEVhcmx5IChhbmQgc2lsZW50KSBy ZXR1cm4gaWYgR3VDIGxvYWRpbmcgaXMgZGlzYWJsZWQgKi8KPiArCWlmICghaTkxNS5lbmFibGVf Z3VjX2xvYWRpbmcpCj4gKwkJcmV0dXJuOwo+ICAgCWlmIChmd19wYXRoID09IE5VTEwpCj4gICAJ CXJldHVybjsKPiAtCj4gLQlpZiAoKmZ3X3BhdGggPT0gJ1wwJykgewo+IC0JCURSTV9FUlJPUigi Tm8gR3VDIGZpcm13YXJlIGtub3duIGZvciB0aGlzIHBsYXRmb3JtXG4iKTsKPiAtCQlndWNfZnct Pmd1Y19md19mZXRjaF9zdGF0dXMgPSBHVUNfRklSTVdBUkVfRkFJTDsKPiArCWlmICgqZndfcGF0 aCA9PSAnXDAnKQo+ICAgCQlyZXR1cm47Cj4gLQl9Cj4KPiAgIAlndWNfZnctPmd1Y19md19mZXRj aF9zdGF0dXMgPSBHVUNfRklSTVdBUkVfUEVORElORzsKPiAgIAlEUk1fREVCVUdfRFJJVkVSKCJH dUMgZmlybXdhcmUgcGVuZGluZywgcGF0aCAlc1xuIiwgZndfcGF0aCk7Cj4KClJlZ2FyZHMsCgpU dnJ0a28KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==