From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v2] drm/i915/debugfs: Add i915_hpd_storm_ctl Date: Thu, 09 Feb 2017 13:59:25 +0200 Message-ID: <871sv7tw0y.fsf@intel.com> References: <20170209043933.11107-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170209043933.11107-1-lyude@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Lyude , David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAwOSBGZWIgMjAxNywgTHl1ZGUgPGx5dWRlQHJlZGhhdC5jb20+IHdyb3RlOgo+IFRo aXMgYWRkcyBhIGZpbGUgaW4gaTkxNSdzIGRlYnVnZnMgZGlyZWN0b3J5IHRoYXQgYWxsb3dzIHVz ZXJzcGFjZSB0bwo+IG1hbnVhbGx5IGNvbnRyb2wgSFBEIHN0b3JtIGRldGVjdGlvbi4gVGhpcyBp cyBtYWlubHkgZm9yIGhvdHBsdWdnaW5nCj4gdGVzdHMsIHdoZXJlIHdlIG1pZ2h0IHdhbnQgdG8g dGVzdCBIUEQgc3Rvcm0gZnVuY3Rpb25hbGl0eSBvciBkaXNhYmxlCj4gc3Rvcm0gZGV0ZWN0aW9u IHRvIHNwZWVkIHVwIGhvdHBsdWdnaW5nIHRlc3RzIHdpdGhvdXQgYnJlYWtpbmcgYW55dGhpbmcu Cj4KPiBDaGFuZ2VzIHNpbmNlIHYxOgo+IC0gTWFrZSBIUEQgc3Rvcm0gaW50ZXJ2YWwgY29uZmln dXJhYmxlCj4gLSBNaXNjIGNvZGUgY2xlYW51cAo+Cj4gU2lnbmVkLW9mZi1ieTogTHl1ZGUgPGx5 dWRlQHJlZGhhdC5jb20+Cj4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRl bC5jb20+Cj4gQ2M6IFRvbWV1IFZpem9zbyA8dG9tZXVAdG9tZXV2aXpvc28ubmV0PgoKQWNrZWQt Ynk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+CgoKPiAtLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgIHwgNzggKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICB8 ICAxICsKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgIDQgKysKPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgIHwgIDIgKwo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9ob3RwbHVnLmMgfCAxNSArKysrLS0tCj4gIDUgZmlsZXMgY2hhbmdl ZCwgOTQgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZGVidWdmcy5jCj4gaW5kZXggMWNjYzI5Ny4uYjU1NTQ3ZCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jCj4gQEAgLTQ2NDEsNiArNDY0MSw4MSBAQCBzdGF0aWMgaW50IGk5 MTVfZm9yY2V3YWtlX2NyZWF0ZShzdHJ1Y3QgZGVudHJ5ICpyb290LCBzdHJ1Y3QgZHJtX21pbm9y ICptaW5vcikKPiAgCXJldHVybiBkcm1fYWRkX2Zha2VfaW5mb19ub2RlKG1pbm9yLCBlbnQsICZp OTE1X2ZvcmNld2FrZV9mb3BzKTsKPiAgfQo+ICAKPiArc3RhdGljIGludCBpOTE1X2hwZF9zdG9y bV9jdGxfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4gK3sKPiArCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IG0tPnByaXZhdGU7Cj4gKwlzdHJ1Y3QgaTkx NV9ob3RwbHVnICpob3RwbHVnID0gJmRldl9wcml2LT5ob3RwbHVnOwo+ICsKPiArCXNlcV9wcmlu dGYobSwgIlRocmVzaG9sZDogJWRcbiIsIGhvdHBsdWctPmhwZF9zdG9ybV90aHJlc2hvbGQpOwo+ ICsJc2VxX3ByaW50ZihtLCAiRGV0ZWN0ZWQ6ICVzXG4iLAo+ICsJCSAgIHllc25vKGRlbGF5ZWRf d29ya19wZW5kaW5nKCZob3RwbHVnLT5yZWVuYWJsZV93b3JrKSkpOwo+ICsKPiArCXJldHVybiAw Owo+ICt9Cj4gKwo+ICtzdGF0aWMgc3NpemVfdCBpOTE1X2hwZF9zdG9ybV9jdGxfd3JpdGUoc3Ry dWN0IGZpbGUgKmZpbGUsCj4gKwkJCQkJY29uc3QgY2hhciBfX3VzZXIgKnVidWYsIHNpemVfdCBs ZW4sCj4gKwkJCQkJbG9mZl90ICpvZmZwKQo+ICt7Cj4gKwlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSBm aWxlLT5wcml2YXRlX2RhdGE7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBtLT5wcml2YXRlOwo+ICsJc3RydWN0IGk5MTVfaG90cGx1ZyAqaG90cGx1ZyA9ICZkZXZfcHJp di0+aG90cGx1ZzsKPiArCXVuc2lnbmVkIGludCBuZXdfdGhyZXNob2xkOwo+ICsJaW50IGk7Cj4g KwljaGFyICpuZXdsaW5lOwo+ICsJY2hhciB0bXBbMTZdOwo+ICsKPiArCWlmIChsZW4gPj0gc2l6 ZW9mKHRtcCkpCj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsJaWYgKGNvcHlfZnJvbV91c2Vy KHRtcCwgdWJ1ZiwgbGVuKSkKPiArCQlyZXR1cm4gLUVGQVVMVDsKPiArCj4gKwl0bXBbbGVuXSA9 ICdcMCc7Cj4gKwo+ICsJLyogU3RyaXAgbmV3bGluZSwgaWYgYW55ICovCj4gKwluZXdsaW5lID0g c3RyY2hyKHRtcCwgJ1xuJyk7Cj4gKwlpZiAobmV3bGluZSkKPiArCQkqbmV3bGluZSA9ICdcMCc7 Cj4gKwo+ICsJaWYgKHN0cmNtcCh0bXAsICJyZXNldCIpID09IDApCj4gKwkJbmV3X3RocmVzaG9s ZCA9IEhQRF9TVE9STV9ERUZBVUxUX1RIUkVTSE9MRDsKPiArCWVsc2UgaWYgKGtzdHJ0b3VpbnQo dG1wLCAxMCwgJm5ld190aHJlc2hvbGQpICE9IDApCj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ ICsJaWYgKG5ld190aHJlc2hvbGQgPiAwKQo+ICsJCURSTV9ERUJVR19LTVMoIlNldHRpbmcgSFBE IHN0b3JtIGRldGVjdGlvbiB0aHJlc2hvbGQgdG8gJWRcbiIsCj4gKwkJCSAgICAgIG5ld190aHJl c2hvbGQpOwo+ICsJZWxzZQo+ICsJCURSTV9ERUJVR19LTVMoIkRpc2FibGluZyBIUEQgc3Rvcm0g ZGV0ZWN0aW9uXG4iKTsKPiArCj4gKwlzcGluX2xvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2sp Owo+ICsJaG90cGx1Zy0+aHBkX3N0b3JtX3RocmVzaG9sZCA9IG5ld190aHJlc2hvbGQ7Cj4gKwkv KiBSZXNldCB0aGUgSFBEIHN0b3JtIHN0YXRzIHNvIHdlIGRvbid0IGFjY2lkZW50YWxseSB0cmln Z2VyIGEgc3Rvcm0gKi8KPiArCWZvcl9lYWNoX2hwZF9waW4oaSkKPiArCQlob3RwbHVnLT5zdGF0 c1tpXS5jb3VudCA9IDA7Cj4gKwlzcGluX3VubG9ja19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7 Cj4gKwo+ICsJLyogUmUtZW5hYmxlIGhwZCBpbW1lZGlhdGVseSBpZiB3ZSB3ZXJlIGluIGFuIGly cSBzdG9ybSAqLwo+ICsJZmx1c2hfZGVsYXllZF93b3JrKCZkZXZfcHJpdi0+aG90cGx1Zy5yZWVu YWJsZV93b3JrKTsKPiArCj4gKwlyZXR1cm4gbGVuOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGk5 MTVfaHBkX3N0b3JtX2N0bF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpm aWxlKQo+ICt7Cj4gKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgaTkxNV9ocGRfc3Rvcm1fY3Rs X3Nob3csIGlub2RlLT5pX3ByaXZhdGUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0 IGZpbGVfb3BlcmF0aW9ucyBpOTE1X2hwZF9zdG9ybV9jdGxfZm9wcyA9IHsKPiArCS5vd25lciA9 IFRISVNfTU9EVUxFLAo+ICsJLm9wZW4gPSBpOTE1X2hwZF9zdG9ybV9jdGxfb3BlbiwKPiArCS5y ZWFkID0gc2VxX3JlYWQsCj4gKwkubGxzZWVrID0gc2VxX2xzZWVrLAo+ICsJLnJlbGVhc2UgPSBz aW5nbGVfcmVsZWFzZSwKPiArCS53cml0ZSA9IGk5MTVfaHBkX3N0b3JtX2N0bF93cml0ZQo+ICt9 Owo+ICsKPiAgc3RhdGljIGludCBpOTE1X2RlYnVnZnNfY3JlYXRlKHN0cnVjdCBkZW50cnkgKnJv b3QsCj4gIAkJCSAgICAgICBzdHJ1Y3QgZHJtX21pbm9yICptaW5vciwKPiAgCQkJICAgICAgIGNv bnN0IGNoYXIgKm5hbWUsCj4gQEAgLTQ3MzQsNyArNDgwOSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaTkxNV9kZWJ1Z2ZzX2ZpbGVzIHsKPiAgCXsiaTkxNV9kcF90ZXN0X2RhdGEiLCAmaTkxNV9k aXNwbGF5cG9ydF90ZXN0X2RhdGFfZm9wc30sCj4gIAl7Imk5MTVfZHBfdGVzdF90eXBlIiwgJmk5 MTVfZGlzcGxheXBvcnRfdGVzdF90eXBlX2ZvcHN9LAo+ICAJeyJpOTE1X2RwX3Rlc3RfYWN0aXZl IiwgJmk5MTVfZGlzcGxheXBvcnRfdGVzdF9hY3RpdmVfZm9wc30sCj4gLQl7Imk5MTVfZ3VjX2xv Z19jb250cm9sIiwgJmk5MTVfZ3VjX2xvZ19jb250cm9sX2ZvcHN9Cj4gKwl7Imk5MTVfZ3VjX2xv Z19jb250cm9sIiwgJmk5MTVfZ3VjX2xvZ19jb250cm9sX2ZvcHN9LAo+ICsJeyJpOTE1X2hwZF9z dG9ybV9jdGwiLCAmaTkxNV9ocGRfc3Rvcm1fY3RsX2ZvcHN9Cj4gIH07Cj4gIAo+ICBpbnQgaTkx NV9kZWJ1Z2ZzX3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBpbmRleCBkNDhjMDJhNy4uZjIzYjU2OCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYwo+IEBAIC04MjcsNiArODI3LDcgQEAgc3RhdGljIGludCBpOTE1 X2RyaXZlcl9pbml0X2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAg CXNwaW5fbG9ja19pbml0KCZkZXZfcHJpdi0+Z3B1X2Vycm9yLmxvY2spOwo+ICAJbXV0ZXhfaW5p dCgmZGV2X3ByaXYtPmJhY2tsaWdodF9sb2NrKTsKPiAgCXNwaW5fbG9ja19pbml0KCZkZXZfcHJp di0+dW5jb3JlLmxvY2spOwo+ICsKPiAgCXNwaW5fbG9ja19pbml0KCZkZXZfcHJpdi0+bW0ub2Jq ZWN0X3N0YXRfbG9jayk7Cj4gIAlzcGluX2xvY2tfaW5pdCgmZGV2X3ByaXYtPm1taW9fZmxpcF9s b2NrKTsKPiAgCXNwaW5fbG9ja19pbml0KCZkZXZfcHJpdi0+d20uZHNwYXJiX2xvY2spOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDYwNGIyMGYuLjJiN2IzMTcgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMzg0LDYgKzM4NCw4IEBAIGVudW0gaHBkX3BpbiB7Cj4g ICNkZWZpbmUgZm9yX2VhY2hfaHBkX3BpbihfX3BpbikgXAo+ICAJZm9yICgoX19waW4pID0gKEhQ RF9OT05FICsgMSk7IChfX3BpbikgPCBIUERfTlVNX1BJTlM7IChfX3BpbikrKykKPiAgCj4gKyNk ZWZpbmUgSFBEX1NUT1JNX0RFRkFVTFRfVEhSRVNIT0xEIDUKPiArCj4gIHN0cnVjdCBpOTE1X2hv dHBsdWcgewo+ICAJc3RydWN0IHdvcmtfc3RydWN0IGhvdHBsdWdfd29yazsKPiAgCj4gQEAgLTQw Nyw2ICs0MDksOCBAQCBzdHJ1Y3QgaTkxNV9ob3RwbHVnIHsKPiAgCXN0cnVjdCB3b3JrX3N0cnVj dCBwb2xsX2luaXRfd29yazsKPiAgCWJvb2wgcG9sbF9lbmFibGVkOwo+ICAKPiArCXVuc2lnbmVk IGludCBocGRfc3Rvcm1fdGhyZXNob2xkOwo+ICsKPiAgCS8qCj4gIAkgKiBpZiB3ZSBnZXQgYSBI UEQgaXJxIGZyb20gRFAgYW5kIGEgSFBEIGlycSBmcm9tIG5vbi1EUAo+ICAJICogdGhlIG5vbi1E UCBIUEQgY291bGQgYmxvY2sgdGhlIHdvcmtxdWV1ZSBvbiBhIG1vZGUgY29uZmlnCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jCj4gaW5kZXggOWViNGM5Yy4uMjdjMTMxOTMgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfaXJxLmMKPiBAQCAtNDI3Nyw2ICs0Mjc3LDggQEAgdm9pZCBpbnRlbF9pcnFfaW5p dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAlpZiAoIUlTX0dFTjIoZGV2 X3ByaXYpKQo+ICAJCWRldi0+dmJsYW5rX2Rpc2FibGVfaW1tZWRpYXRlID0gdHJ1ZTsKPiAgCj4g KwlkZXZfcHJpdi0+aG90cGx1Zy5ocGRfc3Rvcm1fdGhyZXNob2xkID0gSFBEX1NUT1JNX0RFRkFV TFRfVEhSRVNIT0xEOwo+ICsKPiAgCWRldi0+ZHJpdmVyLT5nZXRfdmJsYW5rX3RpbWVzdGFtcCA9 IGk5MTVfZ2V0X3ZibGFua190aW1lc3RhbXA7Cj4gIAlkZXYtPmRyaXZlci0+Z2V0X3NjYW5vdXRf cG9zaXRpb24gPSBpOTE1X2dldF9jcnRjX3NjYW5vdXRwb3M7Cj4gIAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ob3RwbHVnLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ob3RwbHVnLmMKPiBpbmRleCBiNjJlM2Y4Li42YTljMTY1IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hvdHBsdWcuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2hvdHBsdWcuYwo+IEBAIC0xMDAsNyArMTAwLDYgQEAgYm9vbCBpbnRl bF9ocGRfcGluX3RvX3BvcnQoZW51bSBocGRfcGluIHBpbiwgZW51bSBwb3J0ICpwb3J0KQo+ICB9 Cj4gIAo+ICAjZGVmaW5lIEhQRF9TVE9STV9ERVRFQ1RfUEVSSU9ECQkxMDAwCj4gLSNkZWZpbmUg SFBEX1NUT1JNX1RIUkVTSE9MRAkJNQo+ICAjZGVmaW5lIEhQRF9TVE9STV9SRUVOQUJMRV9ERUxB WQkoMiAqIDYwICogMTAwMCkKPiAgCj4gIC8qKgo+IEBAIC0xMTIsOSArMTExLDEzIEBAIGJvb2wg aW50ZWxfaHBkX3Bpbl90b19wb3J0KGVudW0gaHBkX3BpbiBwaW4sIGVudW0gcG9ydCAqcG9ydCkK PiAgICogc3Rvcm1zLiBPbmx5IHRoZSBwaW4gc3BlY2lmaWMgc3RhdHMgYW5kIHN0YXRlIGFyZSBj aGFuZ2VkLCB0aGUgY2FsbGVyIGlzCj4gICAqIHJlc3BvbnNpYmxlIGZvciBmdXJ0aGVyIGFjdGlv bi4KPiAgICoKPiAtICogQEhQRF9TVE9STV9USFJFU0hPTEQgaXJxcyBhcmUgYWxsb3dlZCB3aXRo aW4gQEhQRF9TVE9STV9ERVRFQ1RfUEVSSU9EIG1zLAo+IC0gKiBvdGhlcndpc2UgaXQncyBjb25z aWRlcmVkIGFuIGlycSBzdG9ybSwgYW5kIHRoZSBpcnEgc3RhdGUgaXMgc2V0IHRvCj4gLSAqIEBI UERfTUFSS19ESVNBQkxFRC4KPiArICogVGhlIG51bWJlciBvZiBpcnFzIHRoYXQgYXJlIGFsbG93 ZWQgd2l0aGluIEBIUERfU1RPUk1fREVURUNUX1BFUklPRCBpcwo+ICsgKiBzdG9yZWQgaW4gQGRl dl9wcml2LT5ob3RwbHVnLmhwZF9zdG9ybV90aHJlc2hvbGQgd2hpY2ggZGVmYXVsdHMgdG8KPiAr ICogQEhQRF9TVE9STV9ERUZBVUxUX1RIUkVTSE9MRC4gSWYgdGhpcyB0aHJlc2hvbGQgaXMgZXhj ZWVkZWQsIGl0J3MKPiArICogY29uc2lkZXJlZCBhbiBpcnEgc3Rvcm0gYW5kIHRoZSBpcnEgc3Rh dGUgaXMgc2V0IHRvIEBIUERfTUFSS19ESVNBQkxFRC4KPiArICoKPiArICogVGhlIEhQRCB0aHJl c2hvbGQgY2FuIGJlIGNvbnRyb2xsZWQgdGhyb3VnaCBpOTE1X2hwZF9zdG9ybV9jdGwgaW4gZGVi dWdmcywKPiArICogYW5kIHNob3VsZCBvbmx5IGJlIGFkanVzdGVkIGZvciBhdXRvbWF0ZWQgaG90 cGx1ZyB0ZXN0aW5nLgo+ICAgKgo+ICAgKiBSZXR1cm4gdHJ1ZSBpZiBhbiBpcnEgc3Rvcm0gd2Fz IGRldGVjdGVkIG9uIEBwaW4uCj4gICAqLwo+IEBAIC0xMjMsMTMgKzEyNiwxNSBAQCBzdGF0aWMg Ym9vbCBpbnRlbF9ocGRfaXJxX3N0b3JtX2RldGVjdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gIHsKPiAgCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBkZXZfcHJpdi0+aG90cGx1 Zy5zdGF0c1twaW5dLmxhc3RfamlmZmllczsKPiAgCXVuc2lnbmVkIGxvbmcgZW5kID0gc3RhcnQg KyBtc2Vjc190b19qaWZmaWVzKEhQRF9TVE9STV9ERVRFQ1RfUEVSSU9EKTsKPiArCWNvbnN0IGlu dCB0aHJlc2hvbGQgPSBkZXZfcHJpdi0+aG90cGx1Zy5ocGRfc3Rvcm1fdGhyZXNob2xkOwo+ICAJ Ym9vbCBzdG9ybSA9IGZhbHNlOwo+ICAKPiAgCWlmICghdGltZV9pbl9yYW5nZShqaWZmaWVzLCBz dGFydCwgZW5kKSkgewo+ICAJCWRldl9wcml2LT5ob3RwbHVnLnN0YXRzW3Bpbl0ubGFzdF9qaWZm aWVzID0gamlmZmllczsKPiAgCQlkZXZfcHJpdi0+aG90cGx1Zy5zdGF0c1twaW5dLmNvdW50ID0g MDsKPiAgCQlEUk1fREVCVUdfS01TKCJSZWNlaXZlZCBIUEQgaW50ZXJydXB0IG9uIFBJTiAlZCAt IGNudDogMFxuIiwgcGluKTsKPiAtCX0gZWxzZSBpZiAoZGV2X3ByaXYtPmhvdHBsdWcuc3RhdHNb cGluXS5jb3VudCA+IEhQRF9TVE9STV9USFJFU0hPTEQpIHsKPiArCX0gZWxzZSBpZiAoZGV2X3By aXYtPmhvdHBsdWcuc3RhdHNbcGluXS5jb3VudCA+IHRocmVzaG9sZCAmJgo+ICsJCSAgIHRocmVz aG9sZCkgewo+ICAJCWRldl9wcml2LT5ob3RwbHVnLnN0YXRzW3Bpbl0uc3RhdGUgPSBIUERfTUFS S19ESVNBQkxFRDsKPiAgCQlEUk1fREVCVUdfS01TKCJIUEQgaW50ZXJydXB0IHN0b3JtIGRldGVj dGVkIG9uIFBJTiAlZFxuIiwgcGluKTsKPiAgCQlzdG9ybSA9IHRydWU7CgotLSAKSmFuaSBOaWt1 bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=