From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Hoath Subject: Re: [PATCH v6 3/7] drm/i915/guc: add enable_guc_loading parameter Date: Mon, 23 May 2016 14:17:20 +0100 Message-ID: <574302E0.9080803@intel.com> References: <1463425945-34047-1-git-send-email-david.s.gordon@intel.com> <1463740962-31187-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id DD05F6E193 for ; Mon, 23 May 2016 13:17:38 +0000 (UTC) In-Reply-To: <1463740962-31187-1-git-send-email-tvrtko.ursulin@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: Tvrtko Ursulin , "Intel-gfx@lists.freedesktop.org" , "Gordon, David S" List-Id: intel-gfx@lists.freedesktop.org T24gMjAvMDUvMjAxNiAxMTo0MiwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4gRnJvbTogRGF2ZSBH b3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4KPgo+IFNwbGl0IHRoZSBmdW5jdGlvbiBv ZiAiZW5hYmxlX2d1Y19zdWJtaXNzaW9uIiBpbnRvIHR3byBzZXBhcmF0ZQo+IG9wdGlvbnMuICBU aGUgbmV3IG9uZSAoImVuYWJsZV9ndWNfbG9hZGluZyIpIGNvbnRyb2xzIG9ubHkgdGhlCj4gKmZl dGNoaW5nIGFuZCBsb2FkaW5nKiBvZiB0aGUgR3VDIGZpcm13YXJlIGltYWdlLiBUaGUgZXhpc3Rp bmcKPiBvbmUgaXMgcmVkZWZpbmVkIHRvIGNvbnRyb2wgb25seSB0aGUgKnVzZSogb2YgdGhlIEd1 QyBmb3IgYmF0Y2gKPiBzdWJtaXNzaW9uIG9uY2UgdGhlIGZpcm13YXJlIGlzIGxvYWRlZC4KPgo+ IEluIGFkZGl0aW9uLCB0aGUgZGVncmVlIG9mIGNvbnRyb2wgaGFzIGJlZW4gcmVmaW5lZCBmcm9t IGEgc2ltcGxlCj4gYm9vbCB0byBhbiBpbnRlZ2VyIGtleSwgYWxsb3dpbmcgc2V2ZXJhbCBvcHRp b25zOgo+IC0xIChkZWZhdWx0KSAgICAgd2hhdGV2ZXIgdGhlIHBsYXRmb3JtIGRlZmF1bHQgaXMK PiAgIDAgIERJU0FCTEUgICAgICBkb24ndCBsb2FkL3VzZSB0aGUgR3VDCj4gICAxICBCRVNUIEVG Rk9SVCAgdHJ5IHRvIGxvYWQvdXNlIHRoZSBHdUMsIGZhbGxiYWNrIGlmIG5vdCBhdmFpbGFibGUK PiAgIDIgIFJFUVVJUkUgICAgICBtdXN0IGxvYWQvdXNlIHRoZSBHdUMsIGVsc2UgbGVhdmUgdGhl IEdQVSB3ZWRnZWQKPgo+IFRoZSBuZXcgcGxhdGZvcm0gZGVmYXVsdCAoYXMgY29kZWQgaGVyZSkg d2lsbCBiZSB0byBhdHRlbXB0IHRvCj4gbG9hZCB0aGUgR3VDIGlmZiB0aGUgZGV2aWNlIGhhcyBh IEd1QyB0aGF0IHJlcXVpcmVzIGZpcm13YXJlLAo+IGJ1dCBub3QgeWV0IHRvIHVzZSBpdCBmb3Ig c3VibWlzc2lvbi4gQSBsYXRlciBwYXRjaCB3aWxsIGNoYW5nZQo+IHRvIGVuYWJsZSBpdCBpZiBh cHByb3ByaWF0ZS4KPgo+IHY0Ogo+ICAgICAgQ2hhbmdlZCBzb21lIGVycm9yLW1lc3NhZ2UgbGV2 ZWxzLCBtb3N0bHkgRVJST1ItPklORk8sIHBlcgo+ICAgICAgcmV2aWV3IGNvbW1lbnRzIGJ5IFR2 cnRrbyBVcnN1bGluLgo+Cj4gdjU6Cj4gICAgICBEcm9wcGVkIG9uZSBtb3JlIGVycm9yIG1lc3Nh Z2UsIGRpc2FibGVkIEd1QyBzdWJtaXNzaW9uIG9uCj4gICAgICBoeXBvdGhldGljYWwgZmlybXdh cmUtZnJlZSBkZXZpY2VzIFtUdnJ0a28gVXJzdWxpbl0uCj4KPiB2NjoKPiAgICAgIExvZ2dpbmcg dGlkeSBieSBUdnJ0a28gVXJzdWxpbjoKPiAgICAgICAqIERvIG5vdCBsb2cgZmFsbGluZyBiYWNr IHRvIGV4ZWNsaXN0cyB3aGVuIHdlZGdpbmcgdGhlIEdQVS4KPiAgICAgICAqIERvIG5vdCBsb2cg ZncgbG9hZCBlcnJvcnMgd2hlbiBsb2FkIHdhcyBkaXNhYmxlZCBieSB1c2VyLgo+ICAgICAgICog UGFzcyBkb3duIHNvbWUgZXJyb3IgY29kZSBmcm9tIGZ3IGxvYWQgZm9yIGxvZyBtZXNzYWdlIHRv Cj4gICAgICAgICBtYWtlIG1vcmUgc2Vuc2UuCj4KPiBTaWduZWQtb2ZmLWJ5OiBEYXZlIEdvcmRv biA8ZGF2aWQucy5nb3Jkb25AaW50ZWwuY29tPgo+IENjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtv LnVyc3VsaW5AbGludXguaW50ZWwuY29tPgo+IFJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8 dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPiAodjUpCj4gU2lnbmVkLW9mZi1ieTogVHZydGtvIFVy c3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IE5pY2sgSG9hdGgg PG5pY2hvbGFzLmhvYXRoQGludGVsLmNvbT4gKHY2KQo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgIHwgICA1ICstCj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCAgIDQgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcGFyYW1zLmMgICAgICAgICB8ICAxNCArKystCj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3BhcmFtcy5oICAgICAgICAgfCAgIDMgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Y19sb2FkZXIuYyAgICB8IDEyMyArKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLQo+ICAgNSBmaWxlcyBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCspLCA2MCBkZWxldGlvbnMo LSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4IDg4ZGNlNTQ4MmYyZi4uMWEzYTA3 ZWNhMGQwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAgLTQ4NjgsMTEgKzQ4Njgs OCBAQCBpOTE1X2dlbV9pbml0X2h3KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAJLyogV2Ug Y2FuJ3QgZW5hYmxlIGNvbnRleHRzIHVudGlsIGFsbCBmaXJtd2FyZSBpcyBsb2FkZWQgKi8KPiAg IAlpZiAoSEFTX0dVQyhkZXYpKSB7Cj4gICAJCXJldCA9IGludGVsX2d1Y19zZXR1cChkZXYpOwo+ IC0JCWlmIChyZXQpIHsKPiAtCQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBHdUMs IGVycm9yICVkXG4iLCByZXQpOwo+IC0JCQlyZXQgPSAtRUlPOwo+ICsJCWlmIChyZXQpCj4gICAJ CQlnb3RvIG91dDsKPiAtCQl9Cj4gICAJfQo+Cj4gICAJLyoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gaW5kZXggMTY5MjQyYThhZGZmLi45MTZjZDY3Nzhj ZjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lv bi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4g QEAgLTk2OSw3ICs5NjksNyBAQCBpbnQgaW50ZWxfZ3VjX3N1c3BlbmQoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKPiAgIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4Owo+ICAgCXUzMiBkYXRhWzNd Owo+Cj4gLQlpZiAoIWk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uKQo+ICsJaWYgKGd1Yy0+Z3Vj X2Z3Lmd1Y19md19sb2FkX3N0YXR1cyAhPSBHVUNfRklSTVdBUkVfU1VDQ0VTUykKPiAgIAkJcmV0 dXJuIDA7Cj4KPiAgIAljdHggPSBkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQ7Cj4gQEAgLTk5NSw3 ICs5OTUsNyBAQCBpbnQgaW50ZWxfZ3VjX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICAgCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHg7Cj4gICAJdTMyIGRhdGFbM107Cj4KPiAtCWlm ICghaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24pCj4gKwlpZiAoZ3VjLT5ndWNfZncuZ3VjX2Z3 X2xvYWRfc3RhdHVzICE9IEdVQ19GSVJNV0FSRV9TVUNDRVNTKQo+ICAgCQlyZXR1cm4gMDsKPgo+ ICAgCWN0eCA9IGRldl9wcml2LT5rZXJuZWxfY29udGV4dDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cGFyYW1zLmMKPiBpbmRleCBjZDc0ZmI4ZTkzODcuLjIxYTMyM2MwMWNkYiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wYXJhbXMuYwo+IEBAIC01Myw3ICs1Myw4IEBAIHN0cnVjdCBpOTE1X3Bh cmFtcyBpOTE1IF9fcmVhZF9tb3N0bHkgPSB7Cj4gICAJLnZlcmJvc2Vfc3RhdGVfY2hlY2tzID0g MSwKPiAgIAkubnVjbGVhcl9wYWdlZmxpcCA9IDAsCj4gICAJLmVkcF92c3dpbmcgPSAwLAo+IC0J LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IGZhbHNlLAo+ICsJLmVuYWJsZV9ndWNfbG9hZGluZyA9 IC0xLAo+ICsJLmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IDAsCj4gICAJLmd1Y19sb2dfbGV2ZWwg PSAtMSwKPiAgIAkuZW5hYmxlX2RwX21zdCA9IHRydWUsCj4gICAJLmluamVjdF9sb2FkX2ZhaWx1 cmUgPSAwLAo+IEBAIC0xOTMsOCArMTk0LDE1IEBAIE1PRFVMRV9QQVJNX0RFU0MoZWRwX3Zzd2lu ZywKPiAgIAkJICIoMD11c2UgdmFsdWUgZnJvbSB2YnQgW2RlZmF1bHRdLCAxPWxvdyBwb3dlciBz d2luZygyMDBtViksIgo+ICAgCQkgIjI9ZGVmYXVsdCBzd2luZyg0MDBtVikpIik7Cj4KPiAtbW9k dWxlX3BhcmFtX25hbWVkX3Vuc2FmZShlbmFibGVfZ3VjX3N1Ym1pc3Npb24sIGk5MTUuZW5hYmxl X2d1Y19zdWJtaXNzaW9uLCBib29sLCAwNDAwKTsKPiAtTU9EVUxFX1BBUk1fREVTQyhlbmFibGVf Z3VjX3N1Ym1pc3Npb24sICJFbmFibGUgR3VDIHN1Ym1pc3Npb24gKGRlZmF1bHQ6ZmFsc2UpIik7 Cj4gK21vZHVsZV9wYXJhbV9uYW1lZF91bnNhZmUoZW5hYmxlX2d1Y19sb2FkaW5nLCBpOTE1LmVu YWJsZV9ndWNfbG9hZGluZywgaW50LCAwNDAwKTsKPiArTU9EVUxFX1BBUk1fREVTQyhlbmFibGVf Z3VjX2xvYWRpbmcsCj4gKwkJIkVuYWJsZSBHdUMgZmlybXdhcmUgbG9hZGluZyAiCj4gKwkJIigt MT1hdXRvIFtkZWZhdWx0XSwgMD1uZXZlciwgMT1pZiBhdmFpbGFibGUsIDI9cmVxdWlyZWQpIik7 Cj4gKwo+ICttb2R1bGVfcGFyYW1fbmFtZWRfdW5zYWZlKGVuYWJsZV9ndWNfc3VibWlzc2lvbiwg aTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24sIGludCwgMDQwMCk7Cj4gK01PRFVMRV9QQVJNX0RF U0MoZW5hYmxlX2d1Y19zdWJtaXNzaW9uLAo+ICsJCSJFbmFibGUgR3VDIHN1Ym1pc3Npb24gIgo+ ICsJCSIoLTE9YXV0bywgMD1uZXZlciBbZGVmYXVsdF0sIDE9aWYgYXZhaWxhYmxlLCAyPXJlcXVp cmVkKSIpOwo+Cj4gICBtb2R1bGVfcGFyYW1fbmFtZWQoZ3VjX2xvZ19sZXZlbCwgaTkxNS5ndWNf bG9nX2xldmVsLCBpbnQsIDA0MDApOwo+ICAgTU9EVUxFX1BBUk1fREVTQyhndWNfbG9nX2xldmVs LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAo+IGluZGV4IGRkMGQwYmJjYzA1Yi4uNjU4 Y2U3Mzc5NjcxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1z LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oCj4gQEAgLTQ1LDYg KzQ1LDggQEAgc3RydWN0IGk5MTVfcGFyYW1zIHsKPiAgIAlpbnQgZW5hYmxlX2lwczsKPiAgIAlp bnQgaW52ZXJ0X2JyaWdodG5lc3M7Cj4gICAJaW50IGVuYWJsZV9jbWRfcGFyc2VyOwo+ICsJaW50 IGVuYWJsZV9ndWNfbG9hZGluZzsKPiArCWludCBlbmFibGVfZ3VjX3N1Ym1pc3Npb247Cj4gICAJ aW50IGd1Y19sb2dfbGV2ZWw7Cj4gICAJaW50IG1taW9fZGVidWc7Cj4gICAJaW50IGVkcF92c3dp bmc7Cj4gQEAgLTU2LDcgKzU4LDYgQEAgc3RydWN0IGk5MTVfcGFyYW1zIHsKPiAgIAlib29sIGxv YWRfZGV0ZWN0X3Rlc3Q7Cj4gICAJYm9vbCByZXNldDsKPiAgIAlib29sIGRpc2FibGVfZGlzcGxh eTsKPiAtCWJvb2wgZW5hYmxlX2d1Y19zdWJtaXNzaW9uOwo+ICAgCWJvb2wgdmVyYm9zZV9zdGF0 ZV9jaGVja3M7Cj4gICAJYm9vbCBudWNsZWFyX3BhZ2VmbGlwOwo+ICAgCWJvb2wgZW5hYmxlX2Rw X21zdDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRl ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jCj4gaW5kZXggMzBl YzgyMDhkYmJjLi4yOTI3M2U1ZmVlMjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZ3VjX2xvYWRlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Z3VjX2xvYWRlci5jCj4gQEAgLTQwMiw1MCArNDAyLDQyIEBAIGludCBpbnRlbF9ndWNfc2V0dXAo c3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAgCXN0cnVjdCBpbnRlbF9ndWNfZncg Kmd1Y19mdyA9ICZkZXZfcHJpdi0+Z3VjLmd1Y19mdzsKPiAtCWludCByZXRyaWVzLCBlcnIgPSAw Owo+ICsJY29uc3QgY2hhciAqZndfcGF0aCA9IGd1Y19mdy0+Z3VjX2Z3X3BhdGg7Cj4gKwlpbnQg cmV0cmllcywgcmV0LCBlcnI7Cj4KPiAtCWlmICghaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24p Cj4gLQkJcmV0dXJuIDA7Cj4gLQo+IC0JRFJNX0RFQlVHX0RSSVZFUigiR3VDIGZ3IHN0YXR1czog ZmV0Y2ggJXMsIGxvYWQgJXNcbiIsCj4gKwlEUk1fREVCVUdfRFJJVkVSKCJHdUMgZncgc3RhdHVz OiBwYXRoICVzLCBmZXRjaCAlcywgbG9hZCAlc1xuIiwKPiArCQlmd19wYXRoLAo+ICAgCQlpbnRl bF9ndWNfZndfc3RhdHVzX3JlcHIoZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVzKSwKPiAgIAkJ aW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXByKGd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzKSk7Cj4K PiAtCWRpcmVjdF9pbnRlcnJ1cHRzX3RvX2hvc3QoZGV2X3ByaXYpOwo+IC0KPiAtCWlmIChndWNf ZnctPmd1Y19md19mZXRjaF9zdGF0dXMgPT0gR1VDX0ZJUk1XQVJFX05PTkUpCj4gLQkJcmV0dXJu IDA7Cj4gLQo+IC0JaWYgKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyA9PSBHVUNfRklSTVdB UkVfU1VDQ0VTUyAmJgo+IC0JICAgIGd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzID09IEdVQ19G SVJNV0FSRV9GQUlMKQo+IC0JCXJldHVybiAtRU5PRVhFQzsKPiAtCj4gLQlndWNfZnctPmd1Y19m d19sb2FkX3N0YXR1cyA9IEdVQ19GSVJNV0FSRV9QRU5ESU5HOwo+IC0KPiAtCURSTV9ERUJVR19E UklWRVIoIkd1QyBmdyBmZXRjaCBzdGF0dXMgJXNcbiIsCj4gLQkJaW50ZWxfZ3VjX2Z3X3N0YXR1 c19yZXByKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cykpOwo+ICsJLyogTG9hZGluZyBmb3Ji aWRkZW4sIG9yIG5vIGZpcm13YXJlIHRvIGxvYWQ/ICovCj4gKwlpZiAoIWk5MTUuZW5hYmxlX2d1 Y19sb2FkaW5nKSB7Cj4gKwkJZXJyID0gMDsKPiArCQlnb3RvIGZhaWw7Cj4gKwl9IGVsc2UgaWYg KGZ3X3BhdGggPT0gTlVMTCB8fCAqZndfcGF0aCA9PSAnXDAnKSB7Cj4gKwkJaWYgKCpmd19wYXRo ID09ICdcMCcpCj4gKwkJCURSTV9JTkZPKCJObyBHdUMgZmlybXdhcmUga25vd24gZm9yIHRoaXMg cGxhdGZvcm1cbiIpOwo+ICsJCWVyciA9IC1FTk9ERVY7Cj4gKwkJZ290byBmYWlsOwo+ICsJfQo+ Cj4gLQlzd2l0Y2ggKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cykgewo+IC0JY2FzZSBHVUNf RklSTVdBUkVfRkFJTDoKPiAtCQkvKiBzb21ldGhpbmcgd2VudCB3cm9uZyA6KCAqLwo+ICsJLyog RmV0Y2ggZmFpbGVkLCBvciBhbHJlYWR5IGZldGNoZWQgYnV0IGZhaWxlZCB0byBsb2FkPyAqLwo+ ICsJaWYgKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyAhPSBHVUNfRklSTVdBUkVfU1VDQ0VT Uykgewo+ICAgCQllcnIgPSAtRUlPOwo+ICAgCQlnb3RvIGZhaWw7Cj4gLQo+IC0JY2FzZSBHVUNf RklSTVdBUkVfTk9ORToKPiAtCWNhc2UgR1VDX0ZJUk1XQVJFX1BFTkRJTkc6Cj4gLQlkZWZhdWx0 Ogo+IC0JCS8qICJjYW4ndCBoYXBwZW4iICovCj4gLQkJV0FSTl9PTkNFKDEsICJHdUMgZncgJXMg aW52YWxpZCBndWNfZndfZmV0Y2hfc3RhdHVzICVzIFslZF1cbiIsCj4gLQkJCWd1Y19mdy0+Z3Vj X2Z3X3BhdGgsCj4gLQkJCWludGVsX2d1Y19md19zdGF0dXNfcmVwcihndWNfZnctPmd1Y19md19m ZXRjaF9zdGF0dXMpLAo+IC0JCQlndWNfZnctPmd1Y19md19mZXRjaF9zdGF0dXMpOwo+IC0JCWVy ciA9IC1FTlhJTzsKPiArCX0gZWxzZSBpZiAoZ3VjX2Z3LT5ndWNfZndfbG9hZF9zdGF0dXMgPT0g R1VDX0ZJUk1XQVJFX0ZBSUwpIHsKPiArCQllcnIgPSAtRU5PRVhFQzsKPiAgIAkJZ290byBmYWls Owo+IC0KPiAtCWNhc2UgR1VDX0ZJUk1XQVJFX1NVQ0NFU1M6Cj4gLQkJYnJlYWs7Cj4gICAJfQo+ Cj4gKwlkaXJlY3RfaW50ZXJydXB0c190b19ob3N0KGRldl9wcml2KTsKPiArCj4gKwlndWNfZnct Pmd1Y19md19sb2FkX3N0YXR1cyA9IEdVQ19GSVJNV0FSRV9QRU5ESU5HOwo+ICsKPiArCURSTV9E RUJVR19EUklWRVIoIkd1QyBmdyBzdGF0dXM6IGZldGNoICVzLCBsb2FkICVzXG4iLAo+ICsJCWlu dGVsX2d1Y19md19zdGF0dXNfcmVwcihndWNfZnctPmd1Y19md19mZXRjaF9zdGF0dXMpLAo+ICsJ CWludGVsX2d1Y19md19zdGF0dXNfcmVwcihndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cykpOwo+ ICsKPiAgIAllcnIgPSBpOTE1X2d1Y19zdWJtaXNzaW9uX2luaXQoZGV2KTsKPiAgIAlpZiAoZXJy KQo+ICAgCQlnb3RvIGZhaWw7Cj4gQEAgLTQ2Myw3ICs0NTUsNyBAQCBpbnQgaW50ZWxfZ3VjX3Nl dHVwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAJCSAqLwo+ICAgCQllcnIgPSBpOTE1X3Jl c2V0X2d1YyhkZXZfcHJpdik7Cj4gICAJCWlmIChlcnIpIHsKPiAtCQkJRFJNX0VSUk9SKCJHdUMg cmVzZXQgZmFpbGVkLCBlcnIgJWRcbiIsIGVycik7Cj4gKwkJCURSTV9FUlJPUigiR3VDIHJlc2V0 IGZhaWxlZDogJWRcbiIsIGVycik7Cj4gICAJCQlnb3RvIGZhaWw7Cj4gICAJCX0KPgo+IEBAIC00 NzQsOCArNDY2LDggQEAgaW50IGludGVsX2d1Y19zZXR1cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ICAgCQlpZiAoLS1yZXRyaWVzID09IDApCj4gICAJCQlnb3RvIGZhaWw7Cj4KPiAtCQlEUk1f SU5GTygiR3VDIGZ3IGxvYWQgZmFpbGVkLCBlcnIgJWQ7IHdpbGwgcmVzZXQgYW5kICIKPiAtCQkJ InJldHJ5ICVkIG1vcmUgdGltZShzKVxuIiwgZXJyLCByZXRyaWVzKTsKPiArCQlEUk1fSU5GTygi R3VDIGZ3IGxvYWQgZmFpbGVkOiAlZDsgd2lsbCByZXNldCBhbmQgIgo+ICsJCQkgInJldHJ5ICVk IG1vcmUgdGltZShzKVxuIiwgZXJyLCByZXRyaWVzKTsKPiAgIAl9Cj4KPiAgIAlndWNfZnctPmd1 Y19md19sb2FkX3N0YXR1cyA9IEdVQ19GSVJNV0FSRV9TVUNDRVNTOwo+IEBAIC00OTcsNyArNDg5 LDYgQEAgaW50IGludGVsX2d1Y19zZXR1cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCXJl dHVybiAwOwo+Cj4gICBmYWlsOgo+IC0JRFJNX0VSUk9SKCJHdUMgZmlybXdhcmUgbG9hZCBmYWls ZWQsIGVyciAlZFxuIiwgZXJyKTsKPiAgIAlpZiAoZ3VjX2Z3LT5ndWNfZndfbG9hZF9zdGF0dXMg PT0gR1VDX0ZJUk1XQVJFX1BFTkRJTkcpCj4gICAJCWd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVz ID0gR1VDX0ZJUk1XQVJFX0ZBSUw7Cj4KPiBAQCAtNTA1LDcgKzQ5Niw0MSBAQCBmYWlsOgo+ICAg CWk5MTVfZ3VjX3N1Ym1pc3Npb25fZGlzYWJsZShkZXYpOwo+ICAgCWk5MTVfZ3VjX3N1Ym1pc3Np b25fZmluaShkZXYpOwo+Cj4gLQlyZXR1cm4gZXJyOwo+ICsJLyoKPiArCSAqIFdlJ3ZlIGZhaWxl ZCB0byBsb2FkIHRoZSBmaXJtd2FyZSA6KAo+ICsJICoKPiArCSAqIERlY2lkZSB3aGV0aGVyIHRv IGRpc2FibGUgR3VDIHN1Ym1pc3Npb24gYW5kIGZhbGwgYmFjayB0bwo+ICsJICogZXhlY2xpc3Qg bW9kZSwgYW5kIHdoZXRoZXIgdG8gaGlkZSB0aGUgZXJyb3IgYnkgcmV0dXJuaW5nCj4gKwkgKiB6 ZXJvIG9yIHRvIHJldHVybiAtRUlPLCB3aGljaCB0aGUgY2FsbGVyIHdpbGwgdHJlYXQgYXMgYQo+ ICsJICogbm9uZmF0YWwgZXJyb3IgKGkuZS4gaXQgZG9lc24ndCBwcmV2ZW50IGRyaXZlciBsb2Fk LCBidXQKPiArCSAqIG1hcmtzIHRoZSBHUFUgYXMgd2VkZ2VkIHVudGlsIHJlc2V0KS4KPiArCSAq Lwo+ICsJaWYgKGk5MTUuZW5hYmxlX2d1Y19sb2FkaW5nID4gMSkgewo+ICsJCXJldCA9IC1FSU87 Cj4gKwl9IGVsc2UgaWYgKGk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID4gMSkgewo+ICsJCXJl dCA9IC1FSU87Cj4gKwl9IGVsc2Ugewo+ICsJCXJldCA9IDA7Cj4gKwl9Cj4gKwo+ICsJaWYgKGVy ciA9PSAwKQo+ICsJCURSTV9JTkZPKCJHdUMgZmlybXdhcmUgbG9hZCBza2lwcGVkXG4iKTsKPiAr CWVsc2UgaWYgKHJldCA9PSAtRUlPKQo+ICsJCURSTV9FUlJPUigiR3VDIGZpcm13YXJlIGxvYWQg ZmFpbGVkOiAlZFxuIiwgZXJyKTsKPiArCWVsc2UKPiArCQlEUk1fSU5GTygiR3VDIGZpcm13YXJl IGxvYWQgZmFpbGVkOiAlZFxuIiwgZXJyKTsKPiArCj4gKwlpZiAoaTkxNS5lbmFibGVfZ3VjX3N1 Ym1pc3Npb24pIHsKPiArCQlpZiAoZndfcGF0aCA9PSBOVUxMKQo+ICsJCQlEUk1fSU5GTygiR3VD IHN1Ym1pc3Npb24gd2l0aG91dCBmaXJtd2FyZSBub3Qgc3VwcG9ydGVkXG4iKTsKPiArCQlpZiAo cmV0ID09IDApCj4gKwkJCURSTV9JTkZPKCJGYWxsaW5nIGJhY2sgdG8gZXhlY2xpc3QgbW9kZVxu Iik7Cj4gKwkJZWxzZQo+ICsJCQlEUk1fRVJST1IoIkd1QyBpbml0IGZhaWxlZDogJWRcbiIsIHJl dCk7Cj4gKwl9Cj4gKwlpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IDA7Cj4gKwo+ICsJcmV0 dXJuIHJldDsKPiAgIH0KPgo+ICAgc3RhdGljIHZvaWQgZ3VjX2Z3X2ZldGNoKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHN0cnVjdCBpbnRlbF9ndWNfZncgKmd1Y19mdykKPiBAQCAtNjQ0LDggKzY2 OSwxMSBAQCB2b2lkIGludGVsX2d1Y19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAJ c3RydWN0IGludGVsX2d1Y19mdyAqZ3VjX2Z3ID0gJmRldl9wcml2LT5ndWMuZ3VjX2Z3Owo+ICAg CWNvbnN0IGNoYXIgKmZ3X3BhdGg7Cj4KPiAtCWlmICghSEFTX0dVQ19TQ0hFRChkZXYpKQo+IC0J CWk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID0gZmFsc2U7Cj4gKwkvKiBBIG5lZ2F0aXZlIHZh bHVlIG1lYW5zICJ1c2UgcGxhdGZvcm0gZGVmYXVsdCIgKi8KPiArCWlmIChpOTE1LmVuYWJsZV9n dWNfbG9hZGluZyA8IDApCj4gKwkJaTkxNS5lbmFibGVfZ3VjX2xvYWRpbmcgPSBIQVNfR1VDX1VD T0RFKGRldik7Cj4gKwlpZiAoaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPCAwKQo+ICsJCWk5 MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID0gSEFTX0dVQ19TQ0hFRChkZXYpOwo+Cj4gICAJaWYg KCFIQVNfR1VDX1VDT0RFKGRldikpIHsKPiAgIAkJZndfcGF0aCA9IE5VTEw7Cj4gQEAgLTY1OCwy NiArNjg2LDIxIEBAIHZvaWQgaW50ZWxfZ3VjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikK PiAgIAkJZ3VjX2Z3LT5ndWNfZndfbWFqb3Jfd2FudGVkID0gODsKPiAgIAkJZ3VjX2Z3LT5ndWNf ZndfbWlub3Jfd2FudGVkID0gNzsKPiAgIAl9IGVsc2Ugewo+IC0JCWk5MTUuZW5hYmxlX2d1Y19z dWJtaXNzaW9uID0gZmFsc2U7Cj4gICAJCWZ3X3BhdGggPSAiIjsJLyogdW5rbm93biBkZXZpY2Ug Ki8KPiAgIAl9Cj4KPiAtCWlmICghaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24pCj4gLQkJcmV0 dXJuOwo+IC0KPiAgIAlndWNfZnctPmd1Y19kZXYgPSBkZXY7Cj4gICAJZ3VjX2Z3LT5ndWNfZndf cGF0aCA9IGZ3X3BhdGg7Cj4gICAJZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVzID0gR1VDX0ZJ Uk1XQVJFX05PTkU7Cj4gICAJZ3VjX2Z3LT5ndWNfZndfbG9hZF9zdGF0dXMgPSBHVUNfRklSTVdB UkVfTk9ORTsKPgo+ICsJLyogRWFybHkgKGFuZCBzaWxlbnQpIHJldHVybiBpZiBHdUMgbG9hZGlu ZyBpcyBkaXNhYmxlZCAqLwo+ICsJaWYgKCFpOTE1LmVuYWJsZV9ndWNfbG9hZGluZykKPiArCQly ZXR1cm47Cj4gICAJaWYgKGZ3X3BhdGggPT0gTlVMTCkKPiAgIAkJcmV0dXJuOwo+IC0KPiAtCWlm ICgqZndfcGF0aCA9PSAnXDAnKSB7Cj4gLQkJRFJNX0VSUk9SKCJObyBHdUMgZmlybXdhcmUga25v d24gZm9yIHRoaXMgcGxhdGZvcm1cbiIpOwo+IC0JCWd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1 cyA9IEdVQ19GSVJNV0FSRV9GQUlMOwo+ICsJaWYgKCpmd19wYXRoID09ICdcMCcpCj4gICAJCXJl dHVybjsKPiAtCX0KPgo+ICAgCWd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyA9IEdVQ19GSVJN V0FSRV9QRU5ESU5HOwo+ICAgCURSTV9ERUJVR19EUklWRVIoIkd1QyBmaXJtd2FyZSBwZW5kaW5n LCBwYXRoICVzXG4iLCBmd19wYXRoKTsKPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==