From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v5 3/7] drm/i915/guc: add enable_guc_loading parameter Date: Tue, 17 May 2016 10:08:42 +0100 Message-ID: <573ADF9A.2030303@linux.intel.com> References: <5735F369.3010601@linux.intel.com> <1463425945-34047-1-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 DC5CD6E663 for ; Tue, 17 May 2016 09:08:57 +0000 (UTC) In-Reply-To: <1463425945-34047-1-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 Ck9uIDE2LzA1LzE2IDIwOjEyLCBEYXZlIEdvcmRvbiB3cm90ZToKPiBTcGxpdCB0aGUgZnVuY3Rp b24gb2YgImVuYWJsZV9ndWNfc3VibWlzc2lvbiIgaW50byB0d28gc2VwYXJhdGUKPiBvcHRpb25z LiAgVGhlIG5ldyBvbmUgKCJlbmFibGVfZ3VjX2xvYWRpbmciKSBjb250cm9scyBvbmx5IHRoZQo+ ICpmZXRjaGluZyBhbmQgbG9hZGluZyogb2YgdGhlIEd1QyBmaXJtd2FyZSBpbWFnZS4gVGhlIGV4 aXN0aW5nCj4gb25lIGlzIHJlZGVmaW5lZCB0byBjb250cm9sIG9ubHkgdGhlICp1c2UqIG9mIHRo ZSBHdUMgZm9yIGJhdGNoCj4gc3VibWlzc2lvbiBvbmNlIHRoZSBmaXJtd2FyZSBpcyBsb2FkZWQu Cj4KPiBJbiBhZGRpdGlvbiwgdGhlIGRlZ3JlZSBvZiBjb250cm9sIGhhcyBiZWVuIHJlZmluZWQg ZnJvbSBhIHNpbXBsZQo+IGJvb2wgdG8gYW4gaW50ZWdlciBrZXksIGFsbG93aW5nIHNldmVyYWwg b3B0aW9uczoKPiAtMSAoZGVmYXVsdCkgICAgIHdoYXRldmVyIHRoZSBwbGF0Zm9ybSBkZWZhdWx0 IGlzCj4gICAwICBESVNBQkxFICAgICAgZG9uJ3QgbG9hZC91c2UgdGhlIEd1Qwo+ICAgMSAgQkVT VCBFRkZPUlQgIHRyeSB0byBsb2FkL3VzZSB0aGUgR3VDLCBmYWxsYmFjayBpZiBub3QgYXZhaWxh YmxlCj4gICAyICBSRVFVSVJFICAgICAgbXVzdCBsb2FkL3VzZSB0aGUgR3VDLCBlbHNlIGxlYXZl IHRoZSBHUFUgd2VkZ2VkCj4KPiBUaGUgbmV3IHBsYXRmb3JtIGRlZmF1bHQgKGFzIGNvZGVkIGhl cmUpIHdpbGwgYmUgdG8gYXR0ZW1wdCB0bwo+IGxvYWQgdGhlIEd1QyBpZmYgdGhlIGRldmljZSBo YXMgYSBHdUMgdGhhdCByZXF1aXJlcyBmaXJtd2FyZSwKPiBidXQgbm90IHlldCB0byB1c2UgaXQg Zm9yIHN1Ym1pc3Npb24uIEEgbGF0ZXIgcGF0Y2ggd2lsbCBjaGFuZ2UKPiB0byBlbmFibGUgaXQg aWYgYXBwcm9wcmlhdGUuCj4KPiB2NDoKPiAgICAgIENoYW5nZWQgc29tZSBlcnJvci1tZXNzYWdl IGxldmVscywgbW9zdGx5IEVSUk9SLT5JTkZPLCBwZXIKPiAgICAgIHJldmlldyBjb21tZW50cyBi eSBUdnJ0a28gVXJzdWxpbi4KPgo+IHY1Ogo+ICAgICAgRHJvcHBlZCBvbmUgbW9yZSBlcnJvciBt ZXNzYWdlLCBkaXNhYmxlZCBHdUMgc3VibWlzc2lvbiBvbgo+ICAgICAgaHlwb3RoZXRpY2FsIGZp cm13YXJlLWZyZWUgZGV2aWNlcyBbVHZydGtvIFVyc3VsaW5dLgoKT2ssIGhvcGUgaXQgd29ya3Mu IDopCgpSZXZpZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNv bT4KCkhhcyBzb21lb25lIGF0IGxlYXN0IGRvbmUgc29tZSBtYW51YWwgdGVzdGluZyBvbiB0aGUg dmFyaW91cyBjb21iaW5hdGlvbiAKb2YgbmV3IG9wdGlvbiB2YWx1ZXM/IFBsZWFzZSBoYXZlIHRo ZW0gc3BsYXQgYSBUZXN0ZWQtYnkganVzdCBiZWNhdXNlIAp0aGUgbG9naWMgaXMgbm90IHN0cmFp Z2h0IGZvcndhcmQgZm9yIG1lLgoKUmVnYXJkcywKClR2cnRrbwoKPgo+IFNpZ25lZC1vZmYtYnk6 IERhdmUgR29yZG9uIDxkYXZpZC5zLmdvcmRvbkBpbnRlbC5jb20+Cj4gQ2M6IFR2cnRrbyBVcnN1 bGluIDx0dnJ0a28udXJzdWxpbkBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgICAgfCAgIDUgKy0KPiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyB8ICAgNCArLQo+ICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wYXJhbXMuYyAgICAgICAgIHwgIDE0ICsrKy0KPiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcGFyYW1zLmggICAgICAgICB8ICAgMyArLQo+ICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jICAgIHwgMTA4ICsrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tCj4gICA1IGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKyksIDU3IGRlbGV0 aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggMmNjOGMyNC4uMWU2Mzc0 NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IEBAIC00ODY4LDExICs0ODY4LDggQEAg aW50IGk5MTVfZ2VtX2luaXRfZW5naW5lcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCS8q IFdlIGNhbid0IGVuYWJsZSBjb250ZXh0cyB1bnRpbCBhbGwgZmlybXdhcmUgaXMgbG9hZGVkICov Cj4gICAJaWYgKEhBU19HVUMoZGV2KSkgewo+ICAgCQlyZXQgPSBpbnRlbF9ndWNfc2V0dXAoZGV2 KTsKPiAtCQlpZiAocmV0KSB7Cj4gLQkJCURSTV9FUlJPUigiRmFpbGVkIHRvIGluaXRpYWxpemUg R3VDLCBlcnJvciAlZFxuIiwgcmV0KTsKPiAtCQkJcmV0ID0gLUVJTzsKPiArCQlpZiAocmV0KQo+ ICAgCQkJZ290byBvdXQ7Cj4gLQkJfQo+ICAgCX0KPgo+ICAgCS8qCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+IGluZGV4IDE2OTI0MmEuLjkxNmNkNjcgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gQEAgLTk2 OSw3ICs5NjksNyBAQCBpbnQgaW50ZWxfZ3VjX3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiAgIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4Owo+ICAgCXUzMiBkYXRhWzNdOwo+Cj4g LQlpZiAoIWk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uKQo+ICsJaWYgKGd1Yy0+Z3VjX2Z3Lmd1 Y19md19sb2FkX3N0YXR1cyAhPSBHVUNfRklSTVdBUkVfU1VDQ0VTUykKPiAgIAkJcmV0dXJuIDA7 Cj4KPiAgIAljdHggPSBkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQ7Cj4gQEAgLTk5NSw3ICs5OTUs NyBAQCBpbnQgaW50ZWxfZ3VjX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCXN0 cnVjdCBpbnRlbF9jb250ZXh0ICpjdHg7Cj4gICAJdTMyIGRhdGFbM107Cj4KPiAtCWlmICghaTkx NS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24pCj4gKwlpZiAoZ3VjLT5ndWNfZncuZ3VjX2Z3X2xvYWRf c3RhdHVzICE9IEdVQ19GSVJNV0FSRV9TVUNDRVNTKQo+ICAgCQlyZXR1cm4gMDsKPgo+ICAgCWN0 eCA9IGRldl9wcml2LT5rZXJuZWxfY29udGV4dDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wYXJhbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1z LmMKPiBpbmRleCAzODNjMDc2Li42YTU1NzhjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGFyYW1zLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bh cmFtcy5jCj4gQEAgLTU0LDcgKzU0LDggQEAgc3RydWN0IGk5MTVfcGFyYW1zIGk5MTUgX19yZWFk X21vc3RseSA9IHsKPiAgIAkudmVyYm9zZV9zdGF0ZV9jaGVja3MgPSAxLAo+ICAgCS5udWNsZWFy X3BhZ2VmbGlwID0gMCwKPiAgIAkuZWRwX3Zzd2luZyA9IDAsCj4gLQkuZW5hYmxlX2d1Y19zdWJt aXNzaW9uID0gZmFsc2UsCj4gKwkuZW5hYmxlX2d1Y19sb2FkaW5nID0gLTEsCj4gKwkuZW5hYmxl X2d1Y19zdWJtaXNzaW9uID0gMCwKPiAgIAkuZ3VjX2xvZ19sZXZlbCA9IC0xLAo+ICAgCS5lbmFi bGVfZHBfbXN0ID0gdHJ1ZSwKPiAgIAkuaW5qZWN0X2xvYWRfZmFpbHVyZSA9IDAsCj4gQEAgLTE5 OCw4ICsxOTksMTUgQEAgc3RydWN0IGk5MTVfcGFyYW1zIGk5MTUgX19yZWFkX21vc3RseSA9IHsK PiAgIAkJICIoMD11c2UgdmFsdWUgZnJvbSB2YnQgW2RlZmF1bHRdLCAxPWxvdyBwb3dlciBzd2lu ZygyMDBtViksIgo+ICAgCQkgIjI9ZGVmYXVsdCBzd2luZyg0MDBtVikpIik7Cj4KPiAtbW9kdWxl X3BhcmFtX25hbWVkX3Vuc2FmZShlbmFibGVfZ3VjX3N1Ym1pc3Npb24sIGk5MTUuZW5hYmxlX2d1 Y19zdWJtaXNzaW9uLCBib29sLCAwNDAwKTsKPiAtTU9EVUxFX1BBUk1fREVTQyhlbmFibGVfZ3Vj X3N1Ym1pc3Npb24sICJFbmFibGUgR3VDIHN1Ym1pc3Npb24gKGRlZmF1bHQ6ZmFsc2UpIik7Cj4g K21vZHVsZV9wYXJhbV9uYW1lZF91bnNhZmUoZW5hYmxlX2d1Y19sb2FkaW5nLCBpOTE1LmVuYWJs ZV9ndWNfbG9hZGluZywgaW50LCAwNDAwKTsKPiArTU9EVUxFX1BBUk1fREVTQyhlbmFibGVfZ3Vj X2xvYWRpbmcsCj4gKwkJIkVuYWJsZSBHdUMgZmlybXdhcmUgbG9hZGluZyAiCj4gKwkJIigtMT1h dXRvIFtkZWZhdWx0XSwgMD1uZXZlciwgMT1pZiBhdmFpbGFibGUsIDI9cmVxdWlyZWQpIik7Cj4g Kwo+ICttb2R1bGVfcGFyYW1fbmFtZWRfdW5zYWZlKGVuYWJsZV9ndWNfc3VibWlzc2lvbiwgaTkx NS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24sIGludCwgMDQwMCk7Cj4gK01PRFVMRV9QQVJNX0RFU0Mo ZW5hYmxlX2d1Y19zdWJtaXNzaW9uLAo+ICsJCSJFbmFibGUgR3VDIHN1Ym1pc3Npb24gIgo+ICsJ CSIoLTE9YXV0bywgMD1uZXZlciBbZGVmYXVsdF0sIDE9aWYgYXZhaWxhYmxlLCAyPXJlcXVpcmVk KSIpOwo+Cj4gICBtb2R1bGVfcGFyYW1fbmFtZWQoZ3VjX2xvZ19sZXZlbCwgaTkxNS5ndWNfbG9n X2xldmVsLCBpbnQsIDA0MDApOwo+ICAgTU9EVUxFX1BBUk1fREVTQyhndWNfbG9nX2xldmVsLAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAo+IGluZGV4IDY1ZTczZGQuLjEzMjMyNjEgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmgKPiBAQCAtNDUsNiArNDUsOCBAQCBzdHJ1 Y3QgaTkxNV9wYXJhbXMgewo+ICAgCWludCBlbmFibGVfaXBzOwo+ICAgCWludCBpbnZlcnRfYnJp Z2h0bmVzczsKPiAgIAlpbnQgZW5hYmxlX2NtZF9wYXJzZXI7Cj4gKwlpbnQgZW5hYmxlX2d1Y19s b2FkaW5nOwo+ICsJaW50IGVuYWJsZV9ndWNfc3VibWlzc2lvbjsKPiAgIAlpbnQgZ3VjX2xvZ19s ZXZlbDsKPiAgIAlpbnQgdXNlX21taW9fZmxpcDsKPiAgIAlpbnQgbW1pb19kZWJ1ZzsKPiBAQCAt NTcsNyArNTksNiBAQCBzdHJ1Y3QgaTkxNV9wYXJhbXMgewo+ICAgCWJvb2wgbG9hZF9kZXRlY3Rf dGVzdDsKPiAgIAlib29sIHJlc2V0Owo+ICAgCWJvb2wgZGlzYWJsZV9kaXNwbGF5Owo+IC0JYm9v bCBlbmFibGVfZ3VjX3N1Ym1pc3Npb247Cj4gICAJYm9vbCB2ZXJib3NlX3N0YXRlX2NoZWNrczsK PiAgIAlib29sIG51Y2xlYXJfcGFnZWZsaXA7Cj4gICAJYm9vbCBlbmFibGVfZHBfbXN0Owo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKPiBpbmRleCBiMTRhM2EzLi43ZTY3 ZjczIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwo+IEBAIC0z OTEsNDkgKzM5MSwzNyBAQCBpbnQgaW50ZWxfZ3VjX3NldHVwKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gICB7Cj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKPiAgIAlzdHJ1Y3QgaW50ZWxfZ3VjX2Z3ICpndWNfZncgPSAmZGV2X3ByaXYt Pmd1Yy5ndWNfZnc7Cj4gLQlpbnQgcmV0cmllcywgZXJyID0gMDsKPiArCWNvbnN0IGNoYXIgKmZ3 X3BhdGggPSBndWNfZnctPmd1Y19md19wYXRoOwo+ICsJaW50IHJldHJpZXMsIHJldCwgZXJyID0g MDsKPgo+IC0JaWYgKCFpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbikKPiAtCQlyZXR1cm4gMDsK PiAtCj4gLQlEUk1fREVCVUdfRFJJVkVSKCJHdUMgZncgc3RhdHVzOiBmZXRjaCAlcywgbG9hZCAl c1xuIiwKPiArCURSTV9ERUJVR19EUklWRVIoIkd1QyBmdyBzdGF0dXM6IHBhdGggJXMsIGZldGNo ICVzLCBsb2FkICVzXG4iLAo+ICsJCWZ3X3BhdGgsCj4gICAJCWludGVsX2d1Y19md19zdGF0dXNf cmVwcihndWNfZnctPmd1Y19md19mZXRjaF9zdGF0dXMpLAo+ICAgCQlpbnRlbF9ndWNfZndfc3Rh dHVzX3JlcHIoZ3VjX2Z3LT5ndWNfZndfbG9hZF9zdGF0dXMpKTsKPgo+IC0JZGlyZWN0X2ludGVy cnVwdHNfdG9faG9zdChkZXZfcHJpdik7Cj4gKwkvKiBMb2FkaW5nIGZvcmJpZGRlbiwgb3Igbm8g ZmlybXdhcmUgdG8gbG9hZD8gKi8KPiArCWlmICghaTkxNS5lbmFibGVfZ3VjX2xvYWRpbmcpCj4g KwkJZ290byBmYWlsOwo+ICsJaWYgKGZ3X3BhdGggPT0gTlVMTCkKPiArCQlnb3RvIGZhaWw7Cj4g KwlpZiAoKmZ3X3BhdGggPT0gJ1wwJykgewo+ICsJCURSTV9JTkZPKCJObyBHdUMgZmlybXdhcmUg a25vd24gZm9yIHRoaXMgcGxhdGZvcm1cbiIpOwo+ICsJCWdvdG8gZmFpbDsKPiArCX0KPgo+IC0J aWYgKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyA9PSBHVUNfRklSTVdBUkVfTk9ORSkKPiAt CQlyZXR1cm4gMDsKPiArCS8qIEZldGNoIGZhaWxlZCwgb3IgYWxyZWFkeSBmZXRjaGVkIGJ1dCBm YWlsZWQgdG8gbG9hZD8gKi8KPiArCWlmIChndWNfZnctPmd1Y19md19mZXRjaF9zdGF0dXMgIT0g R1VDX0ZJUk1XQVJFX1NVQ0NFU1MpCj4gKwkJZ290byBmYWlsOwo+ICsJaWYgKGd1Y19mdy0+Z3Vj X2Z3X2xvYWRfc3RhdHVzID09IEdVQ19GSVJNV0FSRV9GQUlMKQo+ICsJCWdvdG8gZmFpbDsKPgo+ IC0JaWYgKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyA9PSBHVUNfRklSTVdBUkVfU1VDQ0VT UyAmJgo+IC0JICAgIGd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzID09IEdVQ19GSVJNV0FSRV9G QUlMKQo+IC0JCXJldHVybiAtRU5PRVhFQzsKPiArCWRpcmVjdF9pbnRlcnJ1cHRzX3RvX2hvc3Qo ZGV2X3ByaXYpOwo+Cj4gICAJZ3VjX2Z3LT5ndWNfZndfbG9hZF9zdGF0dXMgPSBHVUNfRklSTVdB UkVfUEVORElORzsKPgo+IC0JRFJNX0RFQlVHX0RSSVZFUigiR3VDIGZ3IGZldGNoIHN0YXR1cyAl c1xuIiwKPiAtCQlpbnRlbF9ndWNfZndfc3RhdHVzX3JlcHIoZ3VjX2Z3LT5ndWNfZndfZmV0Y2hf c3RhdHVzKSk7Cj4gLQo+IC0Jc3dpdGNoIChndWNfZnctPmd1Y19md19mZXRjaF9zdGF0dXMpIHsK PiAtCWNhc2UgR1VDX0ZJUk1XQVJFX0ZBSUw6Cj4gLQkJLyogc29tZXRoaW5nIHdlbnQgd3Jvbmcg OiggKi8KPiAtCQllcnIgPSAtRUlPOwo+IC0JCWdvdG8gZmFpbDsKPiAtCj4gLQljYXNlIEdVQ19G SVJNV0FSRV9OT05FOgo+IC0JY2FzZSBHVUNfRklSTVdBUkVfUEVORElORzoKPiAtCWRlZmF1bHQ6 Cj4gLQkJLyogImNhbid0IGhhcHBlbiIgKi8KPiAtCQlXQVJOX09OQ0UoMSwgIkd1QyBmdyAlcyBp bnZhbGlkIGd1Y19md19mZXRjaF9zdGF0dXMgJXMgWyVkXVxuIiwKPiAtCQkJZ3VjX2Z3LT5ndWNf ZndfcGF0aCwKPiAtCQkJaW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXByKGd1Y19mdy0+Z3VjX2Z3X2Zl dGNoX3N0YXR1cyksCj4gLQkJCWd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyk7Cj4gLQkJZXJy ID0gLUVOWElPOwo+IC0JCWdvdG8gZmFpbDsKPiAtCj4gLQljYXNlIEdVQ19GSVJNV0FSRV9TVUND RVNTOgo+IC0JCWJyZWFrOwo+IC0JfQo+ICsJRFJNX0RFQlVHX0RSSVZFUigiR3VDIGZ3IHN0YXR1 czogZmV0Y2ggJXMsIGxvYWQgJXNcbiIsCj4gKwkJaW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXByKGd1 Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyksCj4gKwkJaW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXBy KGd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzKSk7Cj4KPiAgIAllcnIgPSBpOTE1X2d1Y19zdWJt aXNzaW9uX2luaXQoZGV2KTsKPiAgIAlpZiAoZXJyKQo+IEBAIC00ODYsNyArNDc0LDYgQEAgaW50 IGludGVsX2d1Y19zZXR1cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCXJldHVybiAwOwo+ Cj4gICBmYWlsOgo+IC0JRFJNX0VSUk9SKCJHdUMgZmlybXdhcmUgbG9hZCBmYWlsZWQsIGVyciAl ZFxuIiwgZXJyKTsKPiAgIAlpZiAoZ3VjX2Z3LT5ndWNfZndfbG9hZF9zdGF0dXMgPT0gR1VDX0ZJ Uk1XQVJFX1BFTkRJTkcpCj4gICAJCWd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzID0gR1VDX0ZJ Uk1XQVJFX0ZBSUw7Cj4KPiBAQCAtNDk0LDcgKzQ4MSwzNiBAQCBpbnQgaW50ZWxfZ3VjX3NldHVw KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAJaTkxNV9ndWNfc3VibWlzc2lvbl9kaXNhYmxl KGRldik7Cj4gICAJaTkxNV9ndWNfc3VibWlzc2lvbl9maW5pKGRldik7Cj4KPiAtCXJldHVybiBl cnI7Cj4gKwkvKgo+ICsJICogV2UndmUgZmFpbGVkIHRvIGxvYWQgdGhlIGZpcm13YXJlIDooCj4g KwkgKgo+ICsJICogRGVjaWRlIHdoZXRoZXIgdG8gZGlzYWJsZSBHdUMgc3VibWlzc2lvbiBhbmQg ZmFsbCBiYWNrIHRvCj4gKwkgKiBleGVjbGlzdCBtb2RlLCBhbmQgd2hldGhlciB0byBoaWRlIHRo ZSBlcnJvciBieSByZXR1cm5pbmcKPiArCSAqIHplcm8gb3IgdG8gcmV0dXJuIC1FSU8sIHdoaWNo IHRoZSBjYWxsZXIgd2lsbCB0cmVhdCBhcyBhCj4gKwkgKiBub25mYXRhbCBlcnJvciAoaS5lLiBp dCBkb2Vzbid0IHByZXZlbnQgZHJpdmVyIGxvYWQsIGJ1dAo+ICsJICogbWFya3MgdGhlIEdQVSBh cyB3ZWRnZWQgdW50aWwgcmVzZXQpLgo+ICsJICovCj4gKwlpZiAoaTkxNS5lbmFibGVfZ3VjX2xv YWRpbmcgPiAxKSB7Cj4gKwkJcmV0ID0gLUVJTzsKPiArCX0gZWxzZSBpZiAoaTkxNS5lbmFibGVf Z3VjX3N1Ym1pc3Npb24gPiAxKSB7Cj4gKwkJcmV0ID0gLUVJTzsKPiArCX0gZWxzZSB7Cj4gKwkJ cmV0ID0gMDsKPiArCX0KPiArCj4gKwlpZiAocmV0ID09IC1FSU8pCj4gKwkJRFJNX0VSUk9SKCJH dUMgZmlybXdhcmUgbG9hZCBmYWlsZWQsIGVyciAlZFxuIiwgZXJyKTsKPiArCWVsc2UKPiArCQlE Uk1fSU5GTygiR3VDIGZpcm13YXJlIGxvYWQgZmFpbGVkLCBlcnIgJWRcbiIsIGVycik7Cj4gKwo+ ICsJaWYgKGk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uKSB7Cj4gKwkJaWYgKGZ3X3BhdGggPT0g TlVMTCkKPiArCQkJRFJNX0lORk8oIkd1QyBzdWJtaXNzaW9uIHdpdGhvdXQgZmlybXdhcmUgbm90 IHN1cHBvcnRlZFxuIik7Cj4gKwkJRFJNX0lORk8oImZhbGxpbmcgYmFjayB0byBleGVjbGlzdCBt b2RlLCByZXQgJWRcbiIsIHJldCk7Cj4gKwl9Cj4gKwlpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lv biA9IDA7Cj4gKwo+ICsJcmV0dXJuIHJldDsKPiAgIH0KPgo+ICAgc3RhdGljIHZvaWQgZ3VjX2Z3 X2ZldGNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpbnRlbF9ndWNfZncgKmd1Y19m dykKPiBAQCAtNjM1LDggKzY1MSwxMSBAQCB2b2lkIGludGVsX2d1Y19pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCj4gICAJc3RydWN0IGludGVsX2d1Y19mdyAqZ3VjX2Z3ID0gJmRldl9wcml2 LT5ndWMuZ3VjX2Z3Owo+ICAgCWNvbnN0IGNoYXIgKmZ3X3BhdGg7Cj4KPiAtCWlmICghSEFTX0dV Q19TQ0hFRChkZXYpKQo+IC0JCWk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID0gZmFsc2U7Cj4g KwkvKiBBIG5lZ2F0aXZlIHZhbHVlIG1lYW5zICJ1c2UgcGxhdGZvcm0gZGVmYXVsdCIgKi8KPiAr CWlmIChpOTE1LmVuYWJsZV9ndWNfbG9hZGluZyA8IDApCj4gKwkJaTkxNS5lbmFibGVfZ3VjX2xv YWRpbmcgPSBIQVNfR1VDX1VDT0RFKGRldik7Cj4gKwlpZiAoaTkxNS5lbmFibGVfZ3VjX3N1Ym1p c3Npb24gPCAwKQo+ICsJCWk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID0gSEFTX0dVQ19TQ0hF RChkZXYpOwo+Cj4gICAJaWYgKCFIQVNfR1VDX1VDT0RFKGRldikpIHsKPiAgIAkJZndfcGF0aCA9 IE5VTEw7Cj4gQEAgLTY0OSwyNiArNjY4LDIxIEBAIHZvaWQgaW50ZWxfZ3VjX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiAgIAkJZ3VjX2Z3LT5ndWNfZndfbWFqb3Jfd2FudGVkID0gODsK PiAgIAkJZ3VjX2Z3LT5ndWNfZndfbWlub3Jfd2FudGVkID0gNzsKPiAgIAl9IGVsc2Ugewo+IC0J CWk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID0gZmFsc2U7Cj4gICAJCWZ3X3BhdGggPSAiIjsJ LyogdW5rbm93biBkZXZpY2UgKi8KPiAgIAl9Cj4KPiAtCWlmICghaTkxNS5lbmFibGVfZ3VjX3N1 Ym1pc3Npb24pCj4gLQkJcmV0dXJuOwo+IC0KPiAgIAlndWNfZnctPmd1Y19kZXYgPSBkZXY7Cj4g ICAJZ3VjX2Z3LT5ndWNfZndfcGF0aCA9IGZ3X3BhdGg7Cj4gICAJZ3VjX2Z3LT5ndWNfZndfZmV0 Y2hfc3RhdHVzID0gR1VDX0ZJUk1XQVJFX05PTkU7Cj4gICAJZ3VjX2Z3LT5ndWNfZndfbG9hZF9z dGF0dXMgPSBHVUNfRklSTVdBUkVfTk9ORTsKPgo+ICsJLyogRWFybHkgKGFuZCBzaWxlbnQpIHJl dHVybiBpZiBHdUMgbG9hZGluZyBpcyBkaXNhYmxlZCAqLwo+ICsJaWYgKCFpOTE1LmVuYWJsZV9n dWNfbG9hZGluZykKPiArCQlyZXR1cm47Cj4gICAJaWYgKGZ3X3BhdGggPT0gTlVMTCkKPiAgIAkJ cmV0dXJuOwo+IC0KPiAtCWlmICgqZndfcGF0aCA9PSAnXDAnKSB7Cj4gLQkJRFJNX0VSUk9SKCJO byBHdUMgZmlybXdhcmUga25vd24gZm9yIHRoaXMgcGxhdGZvcm1cbiIpOwo+IC0JCWd1Y19mdy0+ Z3VjX2Z3X2ZldGNoX3N0YXR1cyA9IEdVQ19GSVJNV0FSRV9GQUlMOwo+ICsJaWYgKCpmd19wYXRo ID09ICdcMCcpCj4gICAJCXJldHVybjsKPiAtCX0KPgo+ICAgCWd1Y19mdy0+Z3VjX2Z3X2ZldGNo X3N0YXR1cyA9IEdVQ19GSVJNV0FSRV9QRU5ESU5HOwo+ICAgCURSTV9ERUJVR19EUklWRVIoIkd1 QyBmaXJtd2FyZSBwZW5kaW5nLCBwYXRoICVzXG4iLCBmd19wYXRoKTsKPgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK