From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915: Add debugfs file to clear FIFO underruns. Date: Wed, 28 Mar 2018 13:21:19 +0300 Message-ID: <877epwec0w.fsf@intel.com> References: <20180328100526.36467-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id E54E489DA2 for ; Wed, 28 Mar 2018 10:20:28 +0000 (UTC) In-Reply-To: <20180328100526.36467-1-maarten.lankhorst@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: Maarten Lankhorst , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyOCBNYXIgMjAxOCwgTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0 QGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4gQWRkaW5nIGEgaTkxNV9maWZvX3VuZGVycnVuX3Jl c2V0IGRlYnVnZnMgZmlsZSB3aWxsIG1ha2UgaXQgcG9zc2libGUKPiBmb3IgSUdUIHRlc3RzIHRv IGNsZWFyIEZJRk8gdW5kZXJydW4gZmFsbG91dCBhdCB0aGUgc3RhcnQgb2YgZWFjaAo+IHN1YnRl c3QsIGFuZCBtYWtlIHJlLWVuYWJsZSBGQkMgc28gdGVzdHMgYWx3YXlzIGhhdmUgbWF4aW11bSBl eHBvc3VyZQo+IHRvIGZlYXR1cmVzIHVzZWQgYnkgSUdULiBGSUZPIHVuZGVycnVucyBhbmQgRkJD IGJ1Z3Mgd2lsbCBubyBsb25nZXIKPiBoaWRlIHdoZW4gYW4gZWFybGllciBzdWJ0ZXN0cyBkaXNh YmxlcyBib3RoLgo+Cj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4u bGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiBCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVk ZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1Njg1Cj4gQnVnemlsbGE6IGh0dHBzOi8vYnVn cy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTY4MQoKRldJVywgYWNrIG9uIHRo ZSBpZGVhLCBkaWRuJ3QgbG9vayBhdCB0aGUgaW1wbGVtZW50YXRpb24uCgpCUiwKSmFuaS4KCj4g LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICB8IDYyICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgfCAzMCArKysrKysrKysrLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaCAgICAgfCAgMyArKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9m YmMuYyAgICAgfCAyNiArKysrKysrKysrKysrKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCAxMDkgaW5z ZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYwo+IGluZGV4IDc4MTZjZDUzMTAwYS4uMjcxODhkZTJjMzJiIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBAQCAtNDczMSw2ICs0NzMxLDY3IEBAIHN0YXRpYyBpbnQg aTkxNV9kcnJzX2N0bF9zZXQodm9pZCAqZGF0YSwgdTY0IHZhbCkKPiAgCj4gIERFRklORV9TSU1Q TEVfQVRUUklCVVRFKGk5MTVfZHJyc19jdGxfZm9wcywgTlVMTCwgaTkxNV9kcnJzX2N0bF9zZXQs ICIlbGx1XG4iKTsKPiAgCj4gK3N0YXRpYyBzc2l6ZV90Cj4gK2k5MTVfZmlmb191bmRlcnJ1bl9y ZXNldF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwKPiArCQkJICAgICAgIGNvbnN0IGNoYXIgX191 c2VyICp1YnVmLAo+ICsJCQkgICAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQo+ICt7Cj4g KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBmaWxwLT5wcml2YXRlX2RhdGE7 Cj4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsKPiArCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSAmZGV2X3ByaXYtPmRybTsKPiArCWludCByZXQ7Cj4gKwlib29sIHJlc2V0Owo+ICsK PiArCXJldCA9IGtzdHJ0b2Jvb2xfZnJvbV91c2VyKHVidWYsIGNudCwgJnJlc2V0KTsKPiArCWlm IChyZXQpCj4gKwkJcmV0dXJuIHJldDsKPiArCj4gKwlpZiAoIXJlc2V0KQo+ICsJCXJldHVybiBj bnQ7Cj4gKwo+ICsJZm9yX2VhY2hfaW50ZWxfY3J0YyhkZXYsIGludGVsX2NydGMpIHsKPiArCQlz dHJ1Y3QgZHJtX2NydGNfY29tbWl0ICpjb21taXQ7Cj4gKwkJc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGU7Cj4gKwo+ICsJCXJldCA9IGRybV9tb2Rlc2V0X2xvY2tfc2luZ2xlX2lu dGVycnVwdGlibGUoJmludGVsX2NydGMtPmJhc2UubXV0ZXgpOwo+ICsJCWlmIChyZXQpCj4gKwkJ CXJldHVybiByZXQ7Cj4gKwo+ICsJCWNydGNfc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGlu dGVsX2NydGMtPmJhc2Uuc3RhdGUpOwo+ICsJCWNvbW1pdCA9IGNydGNfc3RhdGUtPmJhc2UuY29t bWl0Owo+ICsJCWlmIChjb21taXQpIHsKPiArCQkJcmV0ID0gd2FpdF9mb3JfY29tcGxldGlvbl9p bnRlcnJ1cHRpYmxlKCZjb21taXQtPmh3X2RvbmUpOwo+ICsJCQlpZiAoIXJldCkKPiArCQkJCXJl dCA9IHdhaXRfZm9yX2NvbXBsZXRpb25faW50ZXJydXB0aWJsZSgmY29tbWl0LT5mbGlwX2RvbmUp Owo+ICsJCX0KPiArCj4gKwkJaWYgKCFyZXQgJiYgY3J0Y19zdGF0ZS0+YmFzZS5hY3RpdmUpIHsK PiArCQkJRFJNX0RFQlVHX0tNUygiUmUtYXJtaW5nIEZJRk8gdW5kZXJydW5zIG9uIHBpcGUgJWNc biIsCj4gKwkJCQkgICAgICBwaXBlX25hbWUoaW50ZWxfY3J0Yy0+cGlwZSkpOwo+ICsKPiArCQkJ aW50ZWxfY3J0Y19hcm1fZmlmb191bmRlcnJ1bihpbnRlbF9jcnRjLCBjcnRjX3N0YXRlKTsKPiAr CQl9Cj4gKwo+ICsJCWRybV9tb2Rlc2V0X3VubG9jaygmaW50ZWxfY3J0Yy0+YmFzZS5tdXRleCk7 Cj4gKwo+ICsJCWlmIChyZXQpCj4gKwkJCXJldHVybiByZXQ7Cj4gKwl9Cj4gKwo+ICsJcmV0ID0g aW50ZWxfZmJjX3Jlc2V0X3VuZGVycnVuKGRldl9wcml2KTsKPiArCWlmIChyZXQpCj4gKwkJcmV0 dXJuIHJldDsKPiArCj4gKwlyZXR1cm4gY250Owo+ICt9Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3Ry dWN0IGZpbGVfb3BlcmF0aW9ucyBpOTE1X2ZpZm9fdW5kZXJydW5fcmVzZXRfb3BzID0gewo+ICsJ Lm93bmVyID0gVEhJU19NT0RVTEUsCj4gKwkub3BlbiA9IHNpbXBsZV9vcGVuLAo+ICsJLndyaXRl ID0gaTkxNV9maWZvX3VuZGVycnVuX3Jlc2V0X3dyaXRlLAo+ICsJLmxsc2VlayA9IGRlZmF1bHRf bGxzZWVrLAo+ICt9Owo+ICsKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faW5mb19saXN0IGk5 MTVfZGVidWdmc19saXN0W10gPSB7Cj4gIAl7Imk5MTVfY2FwYWJpbGl0aWVzIiwgaTkxNV9jYXBh YmlsaXRpZXMsIDB9LAo+ICAJeyJpOTE1X2dlbV9vYmplY3RzIiwgaTkxNV9nZW1fb2JqZWN0X2lu Zm8sIDB9LAo+IEBAIC00Nzk4LDYgKzQ4NTksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVf ZGVidWdmc19maWxlcyB7Cj4gIAl7Imk5MTVfZXJyb3Jfc3RhdGUiLCAmaTkxNV9lcnJvcl9zdGF0 ZV9mb3BzfSwKPiAgCXsiaTkxNV9ncHVfaW5mbyIsICZpOTE1X2dwdV9pbmZvX2ZvcHN9LAo+ICAj ZW5kaWYKPiArCXsiaTkxNV9maWZvX3VuZGVycnVuX3Jlc2V0IiwgJmk5MTVfZmlmb191bmRlcnJ1 bl9yZXNldF9vcHN9LAo+ICAJeyJpOTE1X25leHRfc2Vxbm8iLCAmaTkxNV9uZXh0X3NlcW5vX2Zv cHN9LAo+ICAJeyJpOTE1X2Rpc3BsYXlfY3JjX2N0bCIsICZpOTE1X2Rpc3BsYXlfY3JjX2N0bF9m b3BzfSwKPiAgCXsiaTkxNV9wcmlfd21fbGF0ZW5jeSIsICZpOTE1X3ByaV93bV9sYXRlbmN5X2Zv cHN9LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCA0YzMwYzdjMDRm OWMuLjNkZjBlODE5M2I4MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiBAQCAtMTI5NjAsMTAgKzEyOTYwLDI1IEBAIHN0YXRpYyB2b2lkIGludGVsX2JlZ2luX2NydGNf Y29tbWl0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQkJCQkJCSAgIGludGVsX2NzdGF0ZSk7 Cj4gIH0KPiAgCj4gK3ZvaWQgaW50ZWxfY3J0Y19hcm1fZmlmb191bmRlcnJ1bihzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YywKPiArCQkJCSAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y3J0Yy0+YmFzZS5kZXYpOwo+ICsKPiArCWlmICghSVNfR0VOMihkZXZfcHJpdikpCj4gKwkJaW50 ZWxfc2V0X2NwdV9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwgY3J0Yy0+cGlwZSwg dHJ1ZSk7Cj4gKwo+ICsJaWYgKGNydGNfc3RhdGUtPmhhc19wY2hfZW5jb2Rlcikgewo+ICsJCWVu dW0gcGlwZSBwY2hfdHJhbnNjb2RlciA9Cj4gKwkJCWludGVsX2NydGNfcGNoX3RyYW5zY29kZXIo Y3J0Yyk7Cj4gKwo+ICsJCWludGVsX3NldF9wY2hfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2 X3ByaXYsIHBjaF90cmFuc2NvZGVyLCB0cnVlKTsKPiArCX0KPiArfQo+ICsKPiAgc3RhdGljIHZv aWQgaW50ZWxfZmluaXNoX2NydGNfY29tbWl0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQkJ CSAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSkKPiAgewo+IC0Jc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5kZXYpOwo+ICAJ c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ICAJ c3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqb2xkX2ludGVsX3N0YXRlID0KPiAgCQl0b19pbnRl bF9hdG9taWNfc3RhdGUob2xkX2NydGNfc3RhdGUtPnN0YXRlKTsKPiBAQCAtMTI5NzQsMTcgKzEy OTg5LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZmluaXNoX2NydGNfY29tbWl0KHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiAgCj4gIAlpZiAobmV3X2NydGNfc3RhdGUtPnVwZGF0ZV9waXBlICYmCj4g IAkgICAgIW5lZWRzX21vZGVzZXQoJm5ld19jcnRjX3N0YXRlLT5iYXNlKSAmJgo+IC0JICAgIG9s ZF9jcnRjX3N0YXRlLT5tb2RlLnByaXZhdGVfZmxhZ3MgJiBJOTE1X01PREVfRkxBR19JTkhFUklU RUQpIHsKPiAtCQlpZiAoIUlTX0dFTjIoZGV2X3ByaXYpKQo+IC0JCQlpbnRlbF9zZXRfY3B1X2Zp Zm9fdW5kZXJydW5fcmVwb3J0aW5nKGRldl9wcml2LCBpbnRlbF9jcnRjLT5waXBlLCB0cnVlKTsK PiAtCj4gLQkJaWYgKG5ld19jcnRjX3N0YXRlLT5oYXNfcGNoX2VuY29kZXIpIHsKPiAtCQkJZW51 bSBwaXBlIHBjaF90cmFuc2NvZGVyID0KPiAtCQkJCWludGVsX2NydGNfcGNoX3RyYW5zY29kZXIo aW50ZWxfY3J0Yyk7Cj4gLQo+IC0JCQlpbnRlbF9zZXRfcGNoX2ZpZm9fdW5kZXJydW5fcmVwb3J0 aW5nKGRldl9wcml2LCBwY2hfdHJhbnNjb2RlciwgdHJ1ZSk7Cj4gLQkJfQo+IC0JfQo+ICsJICAg IG9sZF9jcnRjX3N0YXRlLT5tb2RlLnByaXZhdGVfZmxhZ3MgJiBJOTE1X01PREVfRkxBR19JTkhF UklURUQpCj4gKwkJaW50ZWxfY3J0Y19hcm1fZmlmb191bmRlcnJ1bihpbnRlbF9jcnRjLCBuZXdf Y3J0Y19zdGF0ZSk7Cj4gIH0KPiAgCj4gIC8qKgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g aW5kZXggZDE0NTJmZDJhNThkLi5jYTAwNWM5ODllOWYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+IEBAIC0xNTkyLDYgKzE1OTIsOCBAQCB2b2lkIGhzd19kaXNhYmxlX2lwcyhjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gIGVudW0gaW50ZWxfZGlz cGxheV9wb3dlcl9kb21haW4gaW50ZWxfcG9ydF90b19wb3dlcl9kb21haW4oZW51bSBwb3J0IHBv cnQpOwo+ICB2b2lkIGludGVsX21vZGVfZnJvbV9waXBlX2NvbmZpZyhzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZSwKPiAgCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcpOwo+ICt2b2lkIGludGVsX2NydGNfYXJtX2ZpZm9fdW5kZXJydW4oc3RydWN0IGludGVsX2Ny dGMgKmNydGMsCj4gKwkJCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsK PiAgCj4gIGludCBza2xfdXBkYXRlX3NjYWxlcl9jcnRjKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKTsKPiAgaW50IHNrbF9tYXhfc2NhbGUoc3RydWN0IGludGVsX2NydGMgKmNy dGMsIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiBAQCAtMTc3Nyw2ICsx Nzc5LDcgQEAgdm9pZCBpbnRlbF9mYmNfZmx1c2goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAo+ICAJCSAgICAgdW5zaWduZWQgaW50IGZyb250YnVmZmVyX2JpdHMsIGVudW0gZmJf b3Bfb3JpZ2luIG9yaWdpbik7Cj4gIHZvaWQgaW50ZWxfZmJjX2NsZWFudXBfY2ZiKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gIHZvaWQgaW50ZWxfZmJjX2hhbmRsZV9maWZv X3VuZGVycnVuX2lycShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICtpbnQg aW50ZWxfZmJjX3Jlc2V0X3VuZGVycnVuKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dik7Cj4gIAo+ICAvKiBpbnRlbF9oZG1pLmMgKi8KPiAgdm9pZCBpbnRlbF9oZG1pX2luaXQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpOTE1X3JlZ190IGhkbWlfcmVnLAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2ZiYy5jCj4gaW5kZXggNzA3ZDQ5YzEyNjM4Li4zMDhiZGQxMzZkMzMg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYwo+IEBAIC0xMjcyLDYgKzEyNzIsMzIgQEAg c3RhdGljIHZvaWQgaW50ZWxfZmJjX3VuZGVycnVuX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0 ICp3b3JrKQo+ICAJbXV0ZXhfdW5sb2NrKCZmYmMtPmxvY2spOwo+ICB9Cj4gIAo+ICsvKgo+ICsg KiBpbnRlbF9mYmNfcmVzZXRfdW5kZXJydW4gLSByZXNldCBGQkMgZmlmbyB1bmRlcnJ1biBzdGF0 dXMuCj4gKyAqIEBkZXZfcHJpdjogaTkxNSBkZXZpY2UgaW5zdGFuY2UKPiArICoKPiArICogU2Vl IGludGVsX2ZiY19oYW5kbGVfZmlmb191bmRlcnJ1bl9pcnEoKS4gRm9yIGF1dG9tYXRlZCB0ZXN0 aW5nIHdlCj4gKyAqIHdhbnQgdG8gcmUtZW5hYmxlIEZCQyBhZnRlciBhbiB1bmRlcnJ1biB0byBp bmNyZWFzZSB0ZXN0IGNvdmVyYWdlLgo+ICsgKi8KPiAraW50IGludGVsX2ZiY19yZXNldF91bmRl cnJ1bihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiArCWludCByZXQ7 Cj4gKwo+ICsJY2FuY2VsX3dvcmtfc3luYygmZGV2X3ByaXYtPmZiYy51bmRlcnJ1bl93b3JrKTsK PiArCj4gKwlyZXQgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmRldl9wcml2LT5mYmMubG9j ayk7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4gKwo+ICsJaWYgKGRldl9wcml2LT5m YmMudW5kZXJydW5fZGV0ZWN0ZWQpCj4gKwkJRFJNX0RFQlVHX0tNUygiUmUtYWxsb3dpbmcgRkJD IGFmdGVyIGZpZm8gdW5kZXJydW5cbiIpOwo+ICsKPiArCWRldl9wcml2LT5mYmMudW5kZXJydW5f ZGV0ZWN0ZWQgPSBmYWxzZTsKPiArCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmZiYy5sb2NrKTsK PiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiAgLyoqCj4gICAqIGludGVsX2ZiY19oYW5kbGVf Zmlmb191bmRlcnJ1bl9pcnEgLSBkaXNhYmxlIEZCQyB3aGVuIHdlIGdldCBhIEZJRk8gdW5kZXJy dW4KPiAgICogQGRldl9wcml2OiBpOTE1IGRldmljZSBpbnN0YW5jZQoKLS0gCkphbmkgTmlrdWxh LCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK