From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 01/18] drm/i915: change no_fbc_reason from enum to string Date: Wed, 21 Oct 2015 08:52:46 +0200 Message-ID: <20151021065246.GI13786@phenom.ffwll.local> References: <1445349004-16409-1-git-send-email-paulo.r.zanoni@intel.com> <1445349004-16409-2-git-send-email-paulo.r.zanoni@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f169.google.com (mail-wi0-f169.google.com [209.85.212.169]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2CD016ED07 for ; Tue, 20 Oct 2015 23:52:50 -0700 (PDT) Received: by wikq8 with SMTP id q8so78346524wik.1 for ; Tue, 20 Oct 2015 23:52:48 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1445349004-16409-2-git-send-email-paulo.r.zanoni@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Paulo Zanoni Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMjAsIDIwMTUgYXQgMTE6NDk6NDdBTSAtMDIwMCwgUGF1bG8gWmFub25pIHdy b3RlOgo+IEkgd2FudGVkIHRvIGFkZCB5ZXQgYW5vdGhlciBjaGVjayB0byBpbnRlbF9mYmNfdXBk YXRlKCkgYW5kIHJlYWxpemVkCj4gSSB3b3VsZCBuZWVkIHRvIGNyZWF0ZSB5ZXQgYW5vdGhlciBl bnVtIG5vX2ZiY19yZWFzb24gY2FzZS4gU28gSQo+IHJlbWVtYmVyZWQgdGhpcyBwYXRjaCBzZXJp ZXMgdGhhdCBEYW1pZW4gd3JvdGUgYSBsb25nIHRpbWUgYWdvIGFuZAo+IG5vYm9keSBldmVyIHJl dmlld2VkLCBzbyBJIGRlY2lkZWQgdG8gcmVpbXBsZW1lbnQgaXQgc2luY2UgdGhlIGNvZGUKPiBj aGFuZ2VkIGEgbG90IHNpbmNlIHRoZW4uCj4gCj4gQ3JlZGl0cy10bzogRGFtaWVuIExlc3BpYXUg PGRhbWllbi5sZXNwaWF1QGludGVsLmNvbT4KPiBDYzogRGFtaWVuIExlc3BpYXUgPGRhbWllbi5s ZXNwaWF1QGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIu emFub25pQGludGVsLmNvbT4KClllYWggdGhhdCBlbnVtIGluZGlyZWN0aW9uIGlzIHBvaW50bGVz cy4KClJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgoK PiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgfCAgMiArLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICB8IDE5ICstLS0tLS0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICB8ICAxIC0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZmJjLmMgICAgfCA3NyArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCj4gIDQgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgNzkgZGVsZXRpb25z KC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBpbmRleCBhM2IyMmJkLi42 YWM0YmEzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBAQCAtMTY0MCw3 ICsxNjQwLDcgQEAgc3RhdGljIGludCBpOTE1X2ZiY19zdGF0dXMoc3RydWN0IHNlcV9maWxlICpt LCB2b2lkICp1bnVzZWQpCj4gIAkJc2VxX3B1dHMobSwgIkZCQyBlbmFibGVkXG4iKTsKPiAgCWVs c2UKPiAgCQlzZXFfcHJpbnRmKG0sICJGQkMgZGlzYWJsZWQ6ICVzXG4iLAo+IC0JCQkgIGludGVs X25vX2ZiY19yZWFzb25fc3RyKGRldl9wcml2LT5mYmMubm9fZmJjX3JlYXNvbikpOwo+ICsJCQkg ICBkZXZfcHJpdi0+ZmJjLm5vX2ZiY19yZWFzb24pOwo+ICAKPiAgCWlmIChJTlRFTF9JTkZPKGRl dl9wcml2KS0+Z2VuID49IDcpCj4gIAkJc2VxX3ByaW50ZihtLCAiQ29tcHJlc3Npbmc6ICVzXG4i LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDhhZmRhNDUuLmMzMzQ1MjUgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtOTI1LDI0ICs5MjUsNyBAQCBzdHJ1Y3QgaTkx NV9mYmMgewo+ICAJCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOwo+ICAJfSAqZmJjX3dvcms7 Cj4gIAo+IC0JZW51bSBub19mYmNfcmVhc29uIHsKPiAtCQlGQkNfT0ssIC8qIEZCQyBpcyBlbmFi bGVkICovCj4gLQkJRkJDX1VOU1VQUE9SVEVELCAvKiBGQkMgaXMgbm90IHN1cHBvcnRlZCBieSB0 aGlzIGNoaXBzZXQgKi8KPiAtCQlGQkNfTk9fT1VUUFVULCAvKiBubyBvdXRwdXRzIGVuYWJsZWQg dG8gY29tcHJlc3MgKi8KPiAtCQlGQkNfU1RPTEVOX1RPT19TTUFMTCwgLyogbm90IGVub3VnaCBz cGFjZSBmb3IgYnVmZmVycyAqLwo+IC0JCUZCQ19VTlNVUFBPUlRFRF9NT0RFLCAvKiBpbnRlcmxh Y2Ugb3IgZG91Ymxlc2Nhbm5lZCBtb2RlICovCj4gLQkJRkJDX01PREVfVE9PX0xBUkdFLCAvKiBt b2RlIHRvbyBsYXJnZSBmb3IgY29tcHJlc3Npb24gKi8KPiAtCQlGQkNfQkFEX1BMQU5FLCAvKiBm YmMgbm90IHN1cHBvcnRlZCBvbiBwbGFuZSAqLwo+IC0JCUZCQ19OT1RfVElMRUQsIC8qIGJ1ZmZl ciBub3QgdGlsZWQgKi8KPiAtCQlGQkNfTVVMVElQTEVfUElQRVMsIC8qIG1vcmUgdGhhbiBvbmUg cGlwZSBhY3RpdmUgKi8KPiAtCQlGQkNfTU9EVUxFX1BBUkFNLAo+IC0JCUZCQ19DSElQX0RFRkFV TFQsIC8qIGRpc2FibGVkIGJ5IGRlZmF1bHQgb24gdGhpcyBjaGlwICovCj4gLQkJRkJDX1JPVEFU SU9OLCAvKiByb3RhdGlvbiBpcyBub3Qgc3VwcG9ydGVkICovCj4gLQkJRkJDX0lOX0RCR19NQVNU RVIsIC8qIGtlcm5lbCBkZWJ1Z2dlciBpcyBhY3RpdmUgKi8KPiAtCQlGQkNfQkFEX1NUUklERSwg Lyogc3RyaWRlIGlzIG5vdCBzdXBwb3J0ZWQgKi8KPiAtCQlGQkNfUElYRUxfUkFURSwgLyogcGl4 ZWwgcmF0ZSBpcyB0b28gYmlnICovCj4gLQkJRkJDX1BJWEVMX0ZPUk1BVCAvKiBwaXhlbCBmb3Jt YXQgaXMgaW52YWxpZCAqLwo+IC0JfSBub19mYmNfcmVhc29uOwo+ICsJY29uc3QgY2hhciAqbm9f ZmJjX3JlYXNvbjsKPiAgCj4gIAlib29sICgqZmJjX2VuYWJsZWQpKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdik7Cj4gIAl2b2lkICgqZW5hYmxlX2ZiYykoc3RydWN0IGludGVsX2Ny dGMgKmNydGMpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggMjdkY2NmMy4uZGM1 NWU0YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTEyODcsNyArMTI4Nyw2 IEBAIHZvaWQgaW50ZWxfZmJjX2ludmFsaWRhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAo+ICAJCQkgIGVudW0gZmJfb3Bfb3JpZ2luIG9yaWdpbik7Cj4gIHZvaWQgaW50ZWxf ZmJjX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkgICAgIHVu c2lnbmVkIGludCBmcm9udGJ1ZmZlcl9iaXRzLCBlbnVtIGZiX29wX29yaWdpbiBvcmlnaW4pOwo+ IC1jb25zdCBjaGFyICppbnRlbF9ub19mYmNfcmVhc29uX3N0cihlbnVtIG5vX2ZiY19yZWFzb24g cmVhc29uKTsKPiAgdm9pZCBpbnRlbF9mYmNfY2xlYW51cF9jZmIoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KTsKPiAgCj4gIC8qIGludGVsX2hkbWkuYyAqLwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2ZiYy5jCj4gaW5kZXggY2Y0NzM1Mi4uZDlkN2U1NCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2ZiYy5jCj4gQEAgLTQ3MSw1NSArNDcxLDE0IEBAIHZvaWQgaW50ZWxfZmJjX2Rpc2Fi bGVfY3J0YyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCW11dGV4X3VubG9jaygmZGV2X3By aXYtPmZiYy5sb2NrKTsKPiAgfQo+ICAKPiAtY29uc3QgY2hhciAqaW50ZWxfbm9fZmJjX3JlYXNv bl9zdHIoZW51bSBub19mYmNfcmVhc29uIHJlYXNvbikKPiAtewo+IC0Jc3dpdGNoIChyZWFzb24p IHsKPiAtCWNhc2UgRkJDX09LOgo+IC0JCXJldHVybiAiRkJDIGVuYWJsZWQgYnV0IGN1cnJlbnRs eSBkaXNhYmxlZCBpbiBoYXJkd2FyZSI7Cj4gLQljYXNlIEZCQ19VTlNVUFBPUlRFRDoKPiAtCQly ZXR1cm4gInVuc3VwcG9ydGVkIGJ5IHRoaXMgY2hpcHNldCI7Cj4gLQljYXNlIEZCQ19OT19PVVRQ VVQ6Cj4gLQkJcmV0dXJuICJubyBvdXRwdXQiOwo+IC0JY2FzZSBGQkNfU1RPTEVOX1RPT19TTUFM TDoKPiAtCQlyZXR1cm4gIm5vdCBlbm91Z2ggc3RvbGVuIG1lbW9yeSI7Cj4gLQljYXNlIEZCQ19V TlNVUFBPUlRFRF9NT0RFOgo+IC0JCXJldHVybiAibW9kZSBpbmNvbXBhdGlibGUgd2l0aCBjb21w cmVzc2lvbiI7Cj4gLQljYXNlIEZCQ19NT0RFX1RPT19MQVJHRToKPiAtCQlyZXR1cm4gIm1vZGUg dG9vIGxhcmdlIGZvciBjb21wcmVzc2lvbiI7Cj4gLQljYXNlIEZCQ19CQURfUExBTkU6Cj4gLQkJ cmV0dXJuICJGQkMgdW5zdXBwb3J0ZWQgb24gcGxhbmUiOwo+IC0JY2FzZSBGQkNfTk9UX1RJTEVE Ogo+IC0JCXJldHVybiAiZnJhbWVidWZmZXIgbm90IHRpbGVkIG9yIGZlbmNlZCI7Cj4gLQljYXNl IEZCQ19NVUxUSVBMRV9QSVBFUzoKPiAtCQlyZXR1cm4gIm1vcmUgdGhhbiBvbmUgcGlwZSBhY3Rp dmUiOwo+IC0JY2FzZSBGQkNfTU9EVUxFX1BBUkFNOgo+IC0JCXJldHVybiAiZGlzYWJsZWQgcGVy IG1vZHVsZSBwYXJhbSI7Cj4gLQljYXNlIEZCQ19DSElQX0RFRkFVTFQ6Cj4gLQkJcmV0dXJuICJk aXNhYmxlZCBwZXIgY2hpcCBkZWZhdWx0IjsKPiAtCWNhc2UgRkJDX1JPVEFUSU9OOgo+IC0JCXJl dHVybiAicm90YXRpb24gdW5zdXBwb3J0ZWQiOwo+IC0JY2FzZSBGQkNfSU5fREJHX01BU1RFUjoK PiAtCQlyZXR1cm4gIktlcm5lbCBkZWJ1Z2dlciBpcyBhY3RpdmUiOwo+IC0JY2FzZSBGQkNfQkFE X1NUUklERToKPiAtCQlyZXR1cm4gImZyYW1lYnVmZmVyIHN0cmlkZSBub3Qgc3VwcG9ydGVkIjsK PiAtCWNhc2UgRkJDX1BJWEVMX1JBVEU6Cj4gLQkJcmV0dXJuICJwaXhlbCByYXRlIGlzIHRvbyBi aWciOwo+IC0JY2FzZSBGQkNfUElYRUxfRk9STUFUOgo+IC0JCXJldHVybiAicGl4ZWwgZm9ybWF0 IGlzIGludmFsaWQiOwo+IC0JZGVmYXVsdDoKPiAtCQlNSVNTSU5HX0NBU0UocmVhc29uKTsKPiAt CQlyZXR1cm4gInVua25vd24gcmVhc29uIjsKPiAtCX0KPiAtfQo+IC0KPiAgc3RhdGljIHZvaWQg c2V0X25vX2ZiY19yZWFzb24oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IC0J CQkgICAgICBlbnVtIG5vX2ZiY19yZWFzb24gcmVhc29uKQo+ICsJCQkgICAgICBjb25zdCBjaGFy ICpyZWFzb24pCj4gIHsKPiAgCWlmIChkZXZfcHJpdi0+ZmJjLm5vX2ZiY19yZWFzb24gPT0gcmVh c29uKQo+ICAJCXJldHVybjsKPiAgCj4gIAlkZXZfcHJpdi0+ZmJjLm5vX2ZiY19yZWFzb24gPSBy ZWFzb247Cj4gLQlEUk1fREVCVUdfS01TKCJEaXNhYmxpbmcgRkJDOiAlc1xuIiwgaW50ZWxfbm9f ZmJjX3JlYXNvbl9zdHIocmVhc29uKSk7Cj4gKwlEUk1fREVCVUdfS01TKCJEaXNhYmxpbmcgRkJD OiAlc1xuIiwgcmVhc29uKTsKPiAgfQo+ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1fY3J0YyAqaW50 ZWxfZmJjX2ZpbmRfY3J0YyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gQEAg LTg2MiwxMiArODIxLDEyIEBAIHN0YXRpYyB2b2lkIF9faW50ZWxfZmJjX3VwZGF0ZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkJaTkxNS5lbmFibGVfZmJjID0gMDsKPiAg Cj4gIAlpZiAoaTkxNS5lbmFibGVfZmJjIDwgMCkgewo+IC0JCXNldF9ub19mYmNfcmVhc29uKGRl dl9wcml2LCBGQkNfQ0hJUF9ERUZBVUxUKTsKPiArCQlzZXRfbm9fZmJjX3JlYXNvbihkZXZfcHJp diwgImRpc2FibGVkIHBlciBjaGlwIGRlZmF1bHQiKTsKPiAgCQlnb3RvIG91dF9kaXNhYmxlOwo+ ICAJfQo+ICAKPiAgCWlmICghaTkxNS5lbmFibGVfZmJjKSB7Cj4gLQkJc2V0X25vX2ZiY19yZWFz b24oZGV2X3ByaXYsIEZCQ19NT0RVTEVfUEFSQU0pOwo+ICsJCXNldF9ub19mYmNfcmVhc29uKGRl dl9wcml2LCAiZGlzYWJsZWQgcGVyIG1vZHVsZSBwYXJhbSIpOwo+ICAJCWdvdG8gb3V0X2Rpc2Fi bGU7Cj4gIAl9Cj4gIAo+IEBAIC04ODIsMTIgKzg0MSwxMiBAQCBzdGF0aWMgdm9pZCBfX2ludGVs X2ZiY191cGRhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJICovCj4g IAljcnRjID0gaW50ZWxfZmJjX2ZpbmRfY3J0YyhkZXZfcHJpdik7Cj4gIAlpZiAoIWNydGMpIHsK PiAtCQlzZXRfbm9fZmJjX3JlYXNvbihkZXZfcHJpdiwgRkJDX05PX09VVFBVVCk7Cj4gKwkJc2V0 X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsICJubyBvdXRwdXQiKTsKPiAgCQlnb3RvIG91dF9kaXNh YmxlOwo+ICAJfQo+ICAKPiAgCWlmICghbXVsdGlwbGVfcGlwZXNfb2soZGV2X3ByaXYpKSB7Cj4g LQkJc2V0X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsIEZCQ19NVUxUSVBMRV9QSVBFUyk7Cj4gKwkJ c2V0X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsICJtb3JlIHRoYW4gb25lIHBpcGUgYWN0aXZlIik7 Cj4gIAkJZ290byBvdXRfZGlzYWJsZTsKPiAgCX0KPiAgCj4gQEAgLTg5OCwxOCArODU3LDE4IEBA IHN0YXRpYyB2b2lkIF9faW50ZWxfZmJjX3VwZGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gIAo+ICAJaWYgKChhZGp1c3RlZF9tb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZM QUdfSU5URVJMQUNFKSB8fAo+ICAJICAgIChhZGp1c3RlZF9tb2RlLT5mbGFncyAmIERSTV9NT0RF X0ZMQUdfREJMU0NBTikpIHsKPiAtCQlzZXRfbm9fZmJjX3JlYXNvbihkZXZfcHJpdiwgRkJDX1VO U1VQUE9SVEVEX01PREUpOwo+ICsJCXNldF9ub19mYmNfcmVhc29uKGRldl9wcml2LCAiaW5jb21w YXRpYmxlIG1vZGUiKTsKPiAgCQlnb3RvIG91dF9kaXNhYmxlOwo+ICAJfQo+ICAKPiAgCWlmICgh aW50ZWxfZmJjX2h3X3RyYWNraW5nX2NvdmVyc19zY3JlZW4oaW50ZWxfY3J0YykpIHsKPiAtCQlz ZXRfbm9fZmJjX3JlYXNvbihkZXZfcHJpdiwgRkJDX01PREVfVE9PX0xBUkdFKTsKPiArCQlzZXRf bm9fZmJjX3JlYXNvbihkZXZfcHJpdiwgIm1vZGUgdG9vIGxhcmdlIGZvciBjb21wcmVzc2lvbiIp Owo+ICAJCWdvdG8gb3V0X2Rpc2FibGU7Cj4gIAl9Cj4gIAo+ICAJaWYgKChJTlRFTF9JTkZPKGRl dl9wcml2KS0+Z2VuIDwgNCB8fCBIQVNfRERJKGRldl9wcml2KSkgJiYKPiAgCSAgICBpbnRlbF9j cnRjLT5wbGFuZSAhPSBQTEFORV9BKSB7Cj4gLQkJc2V0X25vX2ZiY19yZWFzb24oZGV2X3ByaXYs IEZCQ19CQURfUExBTkUpOwo+ICsJCXNldF9ub19mYmNfcmVhc29uKGRldl9wcml2LCAiRkJDIHVu c3VwcG9ydGVkIG9uIHBsYW5lIik7Cj4gIAkJZ290byBvdXRfZGlzYWJsZTsKPiAgCX0KPiAgCj4g QEAgLTkxOCwyOCArODc3LDI4IEBAIHN0YXRpYyB2b2lkIF9faW50ZWxfZmJjX3VwZGF0ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkgKi8KPiAgCWlmIChvYmotPnRpbGlu Z19tb2RlICE9IEk5MTVfVElMSU5HX1ggfHwKPiAgCSAgICBvYmotPmZlbmNlX3JlZyA9PSBJOTE1 X0ZFTkNFX1JFR19OT05FKSB7Cj4gLQkJc2V0X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsIEZCQ19O T1RfVElMRUQpOwo+ICsJCXNldF9ub19mYmNfcmVhc29uKGRldl9wcml2LCAiZnJhbWVidWZmZXIg bm90IHRpbGVkIG9yIGZlbmNlZCIpOwo+ICAJCWdvdG8gb3V0X2Rpc2FibGU7Cj4gIAl9Cj4gIAlp ZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA8PSA0ICYmICFJU19HNFgoZGV2X3ByaXYpICYm Cj4gIAkgICAgY3J0Yy0+cHJpbWFyeS0+c3RhdGUtPnJvdGF0aW9uICE9IEJJVChEUk1fUk9UQVRF XzApKSB7Cj4gLQkJc2V0X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsIEZCQ19ST1RBVElPTik7Cj4g KwkJc2V0X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsICJyb3RhdGlvbiB1bnN1cHBvcnRlZCIpOwo+ ICAJCWdvdG8gb3V0X2Rpc2FibGU7Cj4gIAl9Cj4gIAo+ICAJaWYgKCFzdHJpZGVfaXNfdmFsaWQo ZGV2X3ByaXYsIGZiLT5waXRjaGVzWzBdKSkgewo+IC0JCXNldF9ub19mYmNfcmVhc29uKGRldl9w cml2LCBGQkNfQkFEX1NUUklERSk7Cj4gKwkJc2V0X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsICJm cmFtZWJ1ZmZlciBzdHJpZGUgbm90IHN1cHBvcnRlZCIpOwo+ICAJCWdvdG8gb3V0X2Rpc2FibGU7 Cj4gIAl9Cj4gIAo+ICAJaWYgKCFwaXhlbF9mb3JtYXRfaXNfdmFsaWQoZmIpKSB7Cj4gLQkJc2V0 X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsIEZCQ19QSVhFTF9GT1JNQVQpOwo+ICsJCXNldF9ub19m YmNfcmVhc29uKGRldl9wcml2LCAicGl4ZWwgZm9ybWF0IGlzIGludmFsaWQiKTsKPiAgCQlnb3Rv IG91dF9kaXNhYmxlOwo+ICAJfQo+ICAKPiAgCS8qIElmIHRoZSBrZXJuZWwgZGVidWdnZXIgaXMg YWN0aXZlLCBhbHdheXMgZGlzYWJsZSBjb21wcmVzc2lvbiAqLwo+ICAJaWYgKGluX2RiZ19tYXN0 ZXIoKSkgewo+IC0JCXNldF9ub19mYmNfcmVhc29uKGRldl9wcml2LCBGQkNfSU5fREJHX01BU1RF Uik7Cj4gKwkJc2V0X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsICJLZXJuZWwgZGVidWdnZXIgaXMg YWN0aXZlIik7Cj4gIAkJZ290byBvdXRfZGlzYWJsZTsKPiAgCX0KPiAgCj4gQEAgLTk0NywxMiAr OTA2LDEyIEBAIHN0YXRpYyB2b2lkIF9faW50ZWxfZmJjX3VwZGF0ZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAlpZiAoKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8IElTX0JS T0FEV0VMTChkZXZfcHJpdikpICYmCj4gIAkgICAgaWxrX3BpcGVfcGl4ZWxfcmF0ZShpbnRlbF9j cnRjLT5jb25maWcpID49Cj4gIAkgICAgZGV2X3ByaXYtPmNkY2xrX2ZyZXEgKiA5NSAvIDEwMCkg ewo+IC0JCXNldF9ub19mYmNfcmVhc29uKGRldl9wcml2LCBGQkNfUElYRUxfUkFURSk7Cj4gKwkJ c2V0X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsICJwaXhlbCByYXRlIGlzIHRvbyBiaWciKTsKPiAg CQlnb3RvIG91dF9kaXNhYmxlOwo+ICAJfQo+ICAKPiAgCWlmIChpbnRlbF9mYmNfc2V0dXBfY2Zi KGludGVsX2NydGMpKSB7Cj4gLQkJc2V0X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsIEZCQ19TVE9M RU5fVE9PX1NNQUxMKTsKPiArCQlzZXRfbm9fZmJjX3JlYXNvbihkZXZfcHJpdiwgIm5vdCBlbm91 Z2ggc3RvbGVuIG1lbW9yeSIpOwo+ICAJCWdvdG8gb3V0X2Rpc2FibGU7Cj4gIAl9Cj4gIAo+IEBA IC05OTUsNyArOTU0LDcgQEAgc3RhdGljIHZvaWQgX19pbnRlbF9mYmNfdXBkYXRlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCX0KPiAgCj4gIAlpbnRlbF9mYmNfc2NoZWR1 bGVfZW5hYmxlKGludGVsX2NydGMpOwo+IC0JZGV2X3ByaXYtPmZiYy5ub19mYmNfcmVhc29uID0g RkJDX09LOwo+ICsJZGV2X3ByaXYtPmZiYy5ub19mYmNfcmVhc29uID0gIkZCQyBlbmFibGVkIChu b3QgbmVjZXNzYXJpbHkgYWN0aXZlKVxuIjsKPiAgCXJldHVybjsKPiAgCj4gIG91dF9kaXNhYmxl Ogo+IEBAIC0xMDg4LDcgKzEwNDcsNyBAQCB2b2lkIGludGVsX2ZiY19pbml0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCj4gIAlpZiAoIUhBU19GQkMoZGV2X3ByaXYpKSB7 Cj4gIAkJZGV2X3ByaXYtPmZiYy5lbmFibGVkID0gZmFsc2U7Cj4gLQkJZGV2X3ByaXYtPmZiYy5u b19mYmNfcmVhc29uID0gRkJDX1VOU1VQUE9SVEVEOwo+ICsJCWRldl9wcml2LT5mYmMubm9fZmJj X3JlYXNvbiA9ICJ1bnN1cHBvcnRlZCBieSB0aGlzIGNoaXBzZXQiOwo+ICAJCXJldHVybjsKPiAg CX0KPiAgCj4gLS0gCj4gMi42LjEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIs IEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==