From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: Re: [PATCH 05/15] drm/i915/guc: Log runtime should consist of both mapping and relay Date: Mon, 5 Mar 2018 16:01:18 +0530 Message-ID: <24db9278-3016-d5d1-d23d-7973c5d612f1@intel.com> References: <20180227125230.13000-1-michal.winiarski@intel.com> <20180227125230.13000-5-michal.winiarski@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id DC44F6E06D for ; Mon, 5 Mar 2018 10:31:21 +0000 (UTC) In-Reply-To: <20180227125230.13000-5-michal.winiarski@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?Q?Micha=c5=82_Winiarski?= , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAyLzI3LzIwMTggNjoyMiBQTSwgTWljaGHFgiBXaW5pYXJza2kgd3JvdGU6Cj4gQ3VycmVu dGx5LCB3ZSdyZSB0cmVhdGluZyByZWxheSBhbmQgbWFwcGluZyBvZiBHdUMgbG9nIGFzIGEgc2Vw YXJhdGUKPiBjb25jZXB0cy4gV2UncmUgYWxzbyB1c2luZyBpbmNvbnNpc3RlbnQgbG9ja2luZywg c29tZXRpbWVzIHVzaW5nCj4gcmVsYXlfbG9jaywgc29tZXRpbWVzIHVzaW5nIHN0cnVjdCBtdXRl eC4KPiBMZXQncyBjb3JyZWN0IHRoYXQuIEFueXRoaW5nIHRvdWNoaW5nIHRoZSBydW50aW1lIGlz IG5vdyBzZXJpYWxpemVkCj4gdXNpbmcgcnVudGltZS5sb2NrLCB3aGlsZSB3ZSdyZSBzdGlsbCB1 c2luZyBzdHJ1Y3QgbXV0ZXggYXMgaW5uZXIgbG9jawo+IGZvciBtYXBwaW5nLgo+IFdlJ3JlIHN0 aWxsIHJhY3kgaW4gc2V0dGluZyB0aGUgbG9nIGxldmVsIC0gYnV0IHdlJ2xsIHRha2UgY2FyZSBv ZiB0aGF0Cj4gaW4gdGhlIGZvbGxvd2luZyBwYXRjaGVzLgo+Cj4gU2lnbmVkLW9mZi1ieTogTWlj aGHFgiBXaW5pYXJza2kgPG1pY2hhbC53aW5pYXJza2lAaW50ZWwuY29tPgo+IENjOiBDaHJpcyBX aWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBDYzogRGFuaWVsZSBDZXJhb2xvIFNw dXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KPiBDYzogU2FnYXIgQXJ1biBL YW1ibGUgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4KPiBDYzogTWljaGFsIFdhamRlY3prbyA8 bWljaGFsLndhamRlY3prb0BpbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ndWNfbG9nLmMgfCAxMTAgKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2cuaCB8ICAgMyArLQo+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYyAgICAgIHwgIDE0ICsrKy0tCj4gICAzIGZp bGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDg1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2cuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2d1Y19sb2cuYwo+IGluZGV4IDA5YmU3MzQwNjUyYi4uNTY3NjIwNDY0 ZjUyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2cuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2cuYwo+IEBAIC0xNTMsMTAg KzE1Myw3IEBAIHN0YXRpYyBpbnQgZ3VjX2xvZ19yZWxheV9maWxlX2NyZWF0ZShzdHJ1Y3QgaW50 ZWxfZ3VjICpndWMpCj4gICAJc3RydWN0IGRlbnRyeSAqbG9nX2RpcjsKPiAgIAlpbnQgcmV0Owo+ ICAgCj4gLQlpZiAoIWk5MTVfbW9kcGFyYW1zLmd1Y19sb2dfbGV2ZWwpCj4gLQkJcmV0dXJuIDA7 Cj4gLQo+IC0JbXV0ZXhfbG9jaygmZ3VjLT5sb2cucnVudGltZS5yZWxheV9sb2NrKTsKPiArCWxv Y2tkZXBfYXNzZXJ0X2hlbGQoJmd1Yy0+bG9nLnJ1bnRpbWUubG9jayk7Cj4gICAKPiAgIAkvKiBG b3Igbm93IGNyZWF0ZSB0aGUgbG9nIGZpbGUgaW4gL3N5cy9rZXJuZWwvZGVidWcvZHJpLzAgZGly ICovCj4gICAJbG9nX2RpciA9IGRldl9wcml2LT5kcm0ucHJpbWFyeS0+ZGVidWdmc19yb290Owo+ IEBAIC0xNzUsMjggKzE3MiwxNiBAQCBzdGF0aWMgaW50IGd1Y19sb2dfcmVsYXlfZmlsZV9jcmVh dGUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAgCSAqLwo+ICAgCWlmICghbG9nX2Rpcikgewo+ ICAgCQlEUk1fRVJST1IoIkRlYnVnZnMgZGlyIG5vdCBhdmFpbGFibGUgeWV0IGZvciBHdUMgbG9n IGZpbGVcbiIpOwo+IC0JCXJldCA9IC1FTk9ERVY7Cj4gLQkJZ290byBvdXRfdW5sb2NrOwo+ICsJ CXJldHVybiAtRU5PREVWOwo+ICAgCX0KPiAgIAo+ICAgCXJldCA9IHJlbGF5X2xhdGVfc2V0dXBf ZmlsZXMoZ3VjLT5sb2cucnVudGltZS5yZWxheV9jaGFuLCAiZ3VjX2xvZyIsIGxvZ19kaXIpOwo+ ICAgCWlmIChyZXQgPCAwICYmIHJldCAhPSAtRUVYSVNUKSB7Cj4gICAJCURSTV9FUlJPUigiQ291 bGRuJ3QgYXNzb2NpYXRlIHJlbGF5IGNoYW4gd2l0aCBmaWxlICVkXG4iLCByZXQpOwo+IC0JCWdv dG8gb3V0X3VubG9jazsKPiArCQlyZXR1cm4gcmV0Owo+ICAgCX0KPiAgIAo+IC0JcmV0ID0gMDsK PiAtCj4gLW91dF91bmxvY2s6Cj4gLQltdXRleF91bmxvY2soJmd1Yy0+bG9nLnJ1bnRpbWUucmVs YXlfbG9jayk7Cj4gLQlyZXR1cm4gcmV0Owo+IC19Cj4gLQo+IC1zdGF0aWMgYm9vbCBndWNfbG9n X2hhc19yZWxheShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4gLXsKPiAtCWxvY2tkZXBfYXNzZXJ0 X2hlbGQoJmd1Yy0+bG9nLnJ1bnRpbWUucmVsYXlfbG9jayk7Cj4gLQo+IC0JcmV0dXJuIGd1Yy0+ bG9nLnJ1bnRpbWUucmVsYXlfY2hhbiAhPSBOVUxMOwo+ICsJcmV0dXJuIDA7Cj4gICB9Cj4gICAK PiAgIHN0YXRpYyB2b2lkIGd1Y19tb3ZlX3RvX25leHRfYnVmKHN0cnVjdCBpbnRlbF9ndWMgKmd1 YykKPiBAQCAtMjA3LDkgKzE5Miw2IEBAIHN0YXRpYyB2b2lkIGd1Y19tb3ZlX3RvX25leHRfYnVm KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAgIAkgKi8KPiAgIAlzbXBfd21iKCk7Cj4gICAKPiAt CWlmICghZ3VjX2xvZ19oYXNfcmVsYXkoZ3VjKSkKPiAtCQlyZXR1cm47Cj4gLQo+ICAgCS8qIEFs bCBkYXRhIGhhcyBiZWVuIHdyaXR0ZW4sIHNvIG5vdyBtb3ZlIHRoZSBvZmZzZXQgb2Ygc3ViIGJ1 ZmZlci4gKi8KPiAgIAlyZWxheV9yZXNlcnZlKGd1Yy0+bG9nLnJ1bnRpbWUucmVsYXlfY2hhbiwg Z3VjLT5sb2cudm1hLT5vYmotPmJhc2Uuc2l6ZSk7Cj4gICAKPiBAQCAtMjE5LDkgKzIwMSw2IEBA IHN0YXRpYyB2b2lkIGd1Y19tb3ZlX3RvX25leHRfYnVmKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykK PiAgIAo+ICAgc3RhdGljIHZvaWQgKmd1Y19nZXRfd3JpdGVfYnVmZmVyKHN0cnVjdCBpbnRlbF9n dWMgKmd1YykKPiAgIHsKPiAtCWlmICghZ3VjX2xvZ19oYXNfcmVsYXkoZ3VjKSkKPiAtCQlyZXR1 cm4gTlVMTDsKPiAtCj4gICAJLyoKPiAgIAkgKiBKdXN0IGdldCB0aGUgYmFzZSBhZGRyZXNzIG9m IGEgbmV3IHN1YiBidWZmZXIgYW5kIGNvcHkgZGF0YSBpbnRvIGl0Cj4gICAJICogb3Vyc2VsdmVz LiBOVUxMIHdpbGwgYmUgcmV0dXJuZWQgaW4gbm8tb3ZlcndyaXRlIG1vZGUsIGlmIGFsbCBzdWIK PiBAQCAtMjg4LDcgKzI2Nyw2IEBAIHN0YXRpYyB2b2lkIGd1Y19yZWFkX3VwZGF0ZV9sb2dfYnVm ZmVyKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAgIAkvKiBHZXQgdGhlIHBvaW50ZXIgdG8gc2hh cmVkIEd1QyBsb2cgYnVmZmVyICovCj4gICAJbG9nX2J1Zl9zdGF0ZSA9IHNyY19kYXRhID0gZ3Vj LT5sb2cucnVudGltZS5idWZfYWRkcjsKPiAgIAo+IC0JbXV0ZXhfbG9jaygmZ3VjLT5sb2cucnVu dGltZS5yZWxheV9sb2NrKTsKPiAgIAo+ICAgCS8qIEdldCB0aGUgcG9pbnRlciB0byBsb2NhbCBi dWZmZXIgdG8gc3RvcmUgdGhlIGxvZ3MgKi8KPiAgIAlsb2dfYnVmX3NuYXBzaG90X3N0YXRlID0g ZHN0X2RhdGEgPSBndWNfZ2V0X3dyaXRlX2J1ZmZlcihndWMpOwo+IEBAIC0zMDAsNyArMjc4LDYg QEAgc3RhdGljIHZvaWQgZ3VjX3JlYWRfdXBkYXRlX2xvZ19idWZmZXIoc3RydWN0IGludGVsX2d1 YyAqZ3VjKQo+ICAgCQkgKi8KPiAgIAkJRFJNX0VSUk9SX1JBVEVMSU1JVEVEKCJubyBzdWItYnVm ZmVyIHRvIGNhcHR1cmUgbG9nc1xuIik7Cj4gICAJCWd1Yy0+bG9nLmNhcHR1cmVfbWlzc19jb3Vu dCsrOwo+IC0JCW11dGV4X3VubG9jaygmZ3VjLT5sb2cucnVudGltZS5yZWxheV9sb2NrKTsKPiAg IAo+ICAgCQlyZXR1cm47Cj4gICAJfQo+IEBAIC0zNzIsOCArMzQ5LDYgQEAgc3RhdGljIHZvaWQg Z3VjX3JlYWRfdXBkYXRlX2xvZ19idWZmZXIoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAgCX0K PiAgIAo+ICAgCWd1Y19tb3ZlX3RvX25leHRfYnVmKGd1Yyk7Cj4gLQo+IC0JbXV0ZXhfdW5sb2Nr KCZndWMtPmxvZy5ydW50aW1lLnJlbGF5X2xvY2spOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgdm9p ZCBjYXB0dXJlX2xvZ3Nfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gQEAgLTM4MSw3 ICszNTYsOSBAQCBzdGF0aWMgdm9pZCBjYXB0dXJlX2xvZ3Nfd29yayhzdHJ1Y3Qgd29ya19zdHJ1 Y3QgKndvcmspCj4gICAJc3RydWN0IGludGVsX2d1YyAqZ3VjID0KPiAgIAkJY29udGFpbmVyX29m KHdvcmssIHN0cnVjdCBpbnRlbF9ndWMsIGxvZy5ydW50aW1lLmZsdXNoX3dvcmspOwo+ICAgCj4g KwltdXRleF9sb2NrKCZndWMtPmxvZy5ydW50aW1lLmxvY2spOwo+ICAgCWd1Y19sb2dfY2FwdHVy ZV9sb2dzKGd1Yyk7CkkgdGhpbmsgd2Ugc2hvdWxkIGp1c3QgbG9jayBndWNfcmVhZF91cGRhdGVf bG9nX2J1ZmZlciBhcyAKZ3VjX2xvZ19mbHVzaF9jb21wbGV0ZSBpcyBpbmRlcGVuZGVudCBhY3Rp b24KPiArCW11dGV4X3VubG9jaygmZ3VjLT5sb2cucnVudGltZS5sb2NrKTsKPiAgIH0KPiAgIAo+ ICAgc3RhdGljIGJvb2wgZ3VjX2xvZ19oYXNfcnVudGltZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMp Cj4gQEAgLTM4OSwxOSArMzY2LDE2IEBAIHN0YXRpYyBib29sIGd1Y19sb2dfaGFzX3J1bnRpbWUo c3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAgCXJldHVybiBndWMtPmxvZy5ydW50aW1lLmJ1Zl9h ZGRyICE9IE5VTEw7Cj4gICB9Cj4gICAKPiAtc3RhdGljIGludCBndWNfbG9nX3J1bnRpbWVfY3Jl YXRlKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiArc3RhdGljIGludCBndWNfbG9nX21hcChzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMpCj4gICB7Cj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKPiAgIAl2b2lkICp2YWRkcjsKPiAgIAlpbnQgcmV0 Owo+ICAgCj4gLQlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRl eCk7Cj4gLQpsb2NrZGVwX2Fzc2VydCBmb3IgcnVudGltZS5sb2NrIGhlcmU/Cj4gICAJaWYgKCFn dWMtPmxvZy52bWEpCj4gICAJCXJldHVybiAtRU5PREVWOwo+ICAgCj4gLQlHRU1fQlVHX09OKGd1 Y19sb2dfaGFzX3J1bnRpbWUoZ3VjKSk7Cj4gLQo+ICsJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRy bS5zdHJ1Y3RfbXV0ZXgpOwo+ICAgCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fd2NfZG9t YWluKGd1Yy0+bG9nLnZtYS0+b2JqLCB0cnVlKTsKPiAgIAlpZiAocmV0KQptdXRleCBub3QgdW5s b2NrZWQKPiAgIAkJcmV0dXJuIHJldDsKPiBAQCAtNDE2LDIwICszOTAsMTYgQEAgc3RhdGljIGlu dCBndWNfbG9nX3J1bnRpbWVfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAgIAkJRFJN X0VSUk9SKCJDb3VsZG4ndCBtYXAgbG9nIGJ1ZmZlciBwYWdlcyAlZFxuIiwgcmV0KTsKbXV0ZXgg bm90IHVubG9ja2VkCj4gICAJCXJldHVybiBQVFJfRVJSKHZhZGRyKTsKPiAgIAl9Cj4gKwltdXRl eF91bmxvY2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKPiAgIAo+ICAgCWd1Yy0+bG9n LnJ1bnRpbWUuYnVmX2FkZHIgPSB2YWRkcjsKPiAgIAo+ICAgCXJldHVybiAwOwo+ICAgfQo+ICAg Cj4gLXN0YXRpYyB2b2lkIGd1Y19sb2dfcnVudGltZV9kZXN0cm95KHN0cnVjdCBpbnRlbF9ndWMg Kmd1YykKPiArc3RhdGljIHZvaWQgZ3VjX2xvZ191bm1hcChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMp Cj4gICB7Cj4gLQkvKgo+IC0JICogSXQncyBwb3NzaWJsZSB0aGF0IHRoZSBydW50aW1lIHN0dWZm IHdhcyBuZXZlciBhbGxvY2F0ZWQgYmVjYXVzZQo+IC0JICogR3VDIGxvZyB3YXMgZGlzYWJsZWQg YXQgdGhlIGJvb3QgdGltZS4KPiAtCSAqLwo+IC0JaWYgKCFndWNfbG9nX2hhc19ydW50aW1lKGd1 YykpCj4gLQkJcmV0dXJuOwo+ICsJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZ3VjLT5sb2cucnVudGlt ZS5sb2NrKTsKc3RydWN0X211dGV4IGxvY2tpbmcgaGVyZT8KPiAgIAo+ICAgCWk5MTVfZ2VtX29i amVjdF91bnBpbl9tYXAoZ3VjLT5sb2cudm1hLT5vYmopOwo+ICAgCWd1Yy0+bG9nLnJ1bnRpbWUu YnVmX2FkZHIgPSBOVUxMOwo+IEBAIC00MzcsNyArNDA3LDcgQEAgc3RhdGljIHZvaWQgZ3VjX2xv Z19ydW50aW1lX2Rlc3Ryb3koc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAgCj4gICB2b2lkIGlu dGVsX2d1Y19sb2dfaW5pdF9lYXJseShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4gICB7Cj4gLQlt dXRleF9pbml0KCZndWMtPmxvZy5ydW50aW1lLnJlbGF5X2xvY2spOwo+ICsJbXV0ZXhfaW5pdCgm Z3VjLT5sb2cucnVudGltZS5sb2NrKTsKcmVuYW1lIGFuZCBtb3ZlIG9mIG1lbWJlcnMgZnJvbSBy dW50aW1lIHRvIGxvZyBjYW4gcHJlY2VkZSB0aGlzIHBhdGNoPwo+ICAgCUlOSVRfV09SSygmZ3Vj LT5sb2cucnVudGltZS5mbHVzaF93b3JrLCBjYXB0dXJlX2xvZ3Nfd29yayk7Cj4gICB9Cj4gICAK PiBAQCAtNDQ4LDEyICs0MTgsNyBAQCBpbnQgZ3VjX2xvZ19yZWxheV9jcmVhdGUoc3RydWN0IGlu dGVsX2d1YyAqZ3VjKQo+ICAgCXNpemVfdCBuX3N1YmJ1ZnMsIHN1YmJ1Zl9zaXplOwo+ICAgCWlu dCByZXQ7Cj4gICAKPiAtCWlmICghaTkxNV9tb2RwYXJhbXMuZ3VjX2xvZ19sZXZlbCkKPiAtCQly ZXR1cm4gMDsKPiAtCj4gLQltdXRleF9sb2NrKCZndWMtPmxvZy5ydW50aW1lLnJlbGF5X2xvY2sp Owo+IC0KPiAtCUdFTV9CVUdfT04oZ3VjX2xvZ19oYXNfcmVsYXkoZ3VjKSk7Cj4gKwlsb2NrZGVw X2Fzc2VydF9oZWxkKCZndWMtPmxvZy5ydW50aW1lLmxvY2spOwo+ICAgCj4gICAJIC8qIEtlZXAg dGhlIHNpemUgb2Ygc3ViIGJ1ZmZlcnMgc2FtZSBhcyBzaGFyZWQgbG9nIGJ1ZmZlciAqLwo+ICAg CXN1YmJ1Zl9zaXplID0gR1VDX0xPR19TSVpFOwo+IEBAIC00ODMsMTIgKzQ0OCw5IEBAIGludCBn dWNfbG9nX3JlbGF5X2NyZWF0ZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4gICAJR0VNX0JVR19P TihndWNfbG9nX3JlbGF5X2NoYW4tPnN1YmJ1Zl9zaXplIDwgc3ViYnVmX3NpemUpOwo+ICAgCWd1 Yy0+bG9nLnJ1bnRpbWUucmVsYXlfY2hhbiA9IGd1Y19sb2dfcmVsYXlfY2hhbjsKPiAgIAo+IC0J bXV0ZXhfdW5sb2NrKCZndWMtPmxvZy5ydW50aW1lLnJlbGF5X2xvY2spOwo+IC0KPiAgIAlyZXR1 cm4gMDsKPiAgIAo+ICAgZXJyOgo+IC0JbXV0ZXhfdW5sb2NrKCZndWMtPmxvZy5ydW50aW1lLnJl bGF5X2xvY2spOwo+ICAgCS8qIGxvZ2dpbmcgd2lsbCBiZSBvZmYgKi8KPiAgIAlpOTE1X21vZHBh cmFtcy5ndWNfbG9nX2xldmVsID0gMDsKVGhpcyBsb2dfbGV2ZWwgZGVjb3VwbGluZyBpcyBub3Qg dGFrZW4gY2FyZQo+ICAgCXJldHVybiByZXQ7Cj4gQEAgLTQ5NiwyMCArNDU4LDEwIEBAIGludCBn dWNfbG9nX3JlbGF5X2NyZWF0ZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4gICAKPiAgIHZvaWQg Z3VjX2xvZ19yZWxheV9kZXN0cm95KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAgIHsKPiAtCW11 dGV4X2xvY2soJmd1Yy0+bG9nLnJ1bnRpbWUucmVsYXlfbG9jayk7Cj4gLQo+IC0JLyoKPiAtCSAq IEl0J3MgcG9zc2libGUgdGhhdCB0aGUgcmVsYXkgd2FzIG5ldmVyIGFsbG9jYXRlZCBiZWNhdXNl Cj4gLQkgKiBHdUMgbG9nIHdhcyBkaXNhYmxlZCBhdCB0aGUgYm9vdCB0aW1lLgo+IC0JICovCj4g LQlpZiAoIWd1Y19sb2dfaGFzX3JlbGF5KGd1YykpCj4gLQkJZ290byBvdXRfdW5sb2NrOwo+ICsJ bG9ja2RlcF9hc3NlcnRfaGVsZCgmZ3VjLT5sb2cucnVudGltZS5sb2NrKTsKPiAgIAo+ICAgCXJl bGF5X2Nsb3NlKGd1Yy0+bG9nLnJ1bnRpbWUucmVsYXlfY2hhbik7Cj4gICAJZ3VjLT5sb2cucnVu dGltZS5yZWxheV9jaGFuID0gTlVMTDsKPiAtCj4gLW91dF91bmxvY2s6Cj4gLQltdXRleF91bmxv Y2soJmd1Yy0+bG9nLnJ1bnRpbWUucmVsYXlfbG9jayk7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyB2 b2lkIGd1Y19sb2dfY2FwdHVyZV9sb2dzKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiBAQCAtNjA4 LDcgKzU2MCw2IEBAIHN0YXRpYyB2b2lkIGd1Y19sb2dfZmx1c2hfaXJxX2Rpc2FibGUoc3RydWN0 IGludGVsX2d1YyAqZ3VjKQo+ICAgCj4gICB2b2lkIGludGVsX2d1Y19sb2dfZGVzdHJveShzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMpCj4gICB7Cj4gLQlndWNfbG9nX3J1bnRpbWVfZGVzdHJveShndWMp Owo+ICAgCWk5MTVfdm1hX3VucGluX2FuZF9yZWxlYXNlKCZndWMtPmxvZy52bWEpOwo+ICAgfQo+ ICAgCj4gQEAgLTY3OCw5ICs2MjksMTAgQEAgaW50IGludGVsX2d1Y19sb2dfY29udHJvbF9zZXQo c3RydWN0IGludGVsX2d1YyAqZ3VjLCB1NjQgdmFsKQo+ICAgCj4gICBpbnQgaW50ZWxfZ3VjX2xv Z19yZWdpc3RlcihzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4gICB7Cj4gLQlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkxNShndWMpOwo+ICAgCWludCByZXQ7Cj4g ICAKPiArCW11dGV4X2xvY2soJmd1Yy0+bG9nLnJ1bnRpbWUubG9jayk7Cj4gKwo+ICAgCUdFTV9C VUdfT04oZ3VjX2xvZ19oYXNfcnVudGltZShndWMpKTsKPiAgIAo+ICAgCS8qCj4gQEAgLTY5Miwz NSArNjQ0LDMzIEBAIGludCBpbnRlbF9ndWNfbG9nX3JlZ2lzdGVyKHN0cnVjdCBpbnRlbF9ndWMg Kmd1YykKPiAgIAlpZiAocmV0KQo+ICAgCQlnb3RvIGVycjsKPiAgIAo+IC0JbXV0ZXhfbG9jaygm ZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+IC0JcmV0ID0gZ3VjX2xvZ19ydW50aW1lX2Ny ZWF0ZShndWMpOwo+IC0JbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7 Cj4gLQo+ICsJcmV0ID0gZ3VjX2xvZ19tYXAoZ3VjKTsKPiAgIAlpZiAocmV0KQo+ICAgCQlnb3Rv IGVycl9yZWxheTsKPiAgIAo+ICAgCXJldCA9IGd1Y19sb2dfcmVsYXlfZmlsZV9jcmVhdGUoZ3Vj KTsKPiAgIAlpZiAocmV0KQo+IC0JCWdvdG8gZXJyX3J1bnRpbWU7Cj4gKwkJZ290byBlcnJfdW5t YXA7Cj4gICAKPiAgIAlndWNfbG9nX2ZsdXNoX2lycV9lbmFibGUoZ3VjKTsKPiAgIAo+ICsJbXV0 ZXhfdW5sb2NrKCZndWMtPmxvZy5ydW50aW1lLmxvY2spOwo+ICsKPiAgIAlyZXR1cm4gMDsKPiAg IAo+IC1lcnJfcnVudGltZToKPiAtCW11dGV4X2xvY2soJmRldl9wcml2LT5kcm0uc3RydWN0X211 dGV4KTsKPiAtCWd1Y19sb2dfcnVudGltZV9kZXN0cm95KGd1Yyk7Cj4gLQltdXRleF91bmxvY2so JmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKPiArZXJyX3VubWFwOgo+ICsJZ3VjX2xvZ191 bm1hcChndWMpOwo+ICAgZXJyX3JlbGF5Ogo+ICAgCWd1Y19sb2dfcmVsYXlfZGVzdHJveShndWMp Owo+ICAgZXJyOgo+ICsJbXV0ZXhfdW5sb2NrKCZndWMtPmxvZy5ydW50aW1lLmxvY2spOwo+ICsK PiAgIAlyZXR1cm4gcmV0Owo+ICAgfQo+ICAgCj4gICB2b2lkIGludGVsX2d1Y19sb2dfdW5yZWdp c3RlcihzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4gICB7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkxNShndWMpOwo+IC0KPiArCWd1Y19sb2dfZmx1c2hf aXJxX2Rpc2FibGUoZ3VjKTsKVGhpcyBtb3ZlIGNvdWxkIGJlIHBhcnQgb2YgZWFybGllciBwYXRj aC4KPiAgIAkvKgo+ICAgCSAqIE9uY2UgbG9nZ2luZyBpcyBkaXNhYmxlZCwgR3VDIHdvbid0IGdl bmVyYXRlIGxvZ3MgJiBzZW5kIGFuCj4gICAJICogaW50ZXJydXB0LiBCdXQgdGhlcmUgY291bGQg YmUgc29tZSBkYXRhIGluIHRoZSBsb2cgYnVmZmVyCj4gQEAgLTcyOCwxMSArNjc4LDEzIEBAIHZv aWQgaW50ZWxfZ3VjX2xvZ191bnJlZ2lzdGVyKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAgIAkg KiBidWZmZXIgc3RhdGUgYW5kIHRoZW4gY29sbGVjdCB0aGUgbGVmdCBvdmVyIGxvZ3MuCj4gICAJ ICovCj4gICAJZ3VjX2ZsdXNoX2xvZ3MoZ3VjKTsKPiAtCWd1Y19sb2dfZmx1c2hfaXJxX2Rpc2Fi bGUoZ3VjKTsKPiAgIAo+IC0JbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgp Owo+IC0JZ3VjX2xvZ19ydW50aW1lX2Rlc3Ryb3koZ3VjKTsKPiAtCW11dGV4X3VubG9jaygmZGV2 X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+ICsJbXV0ZXhfbG9jaygmZ3VjLT5sb2cucnVudGlt ZS5sb2NrKTsKPiArCj4gKwlHRU1fQlVHX09OKCFndWNfbG9nX2hhc19ydW50aW1lKGd1YykpOwo+ ICAgCj4gKwlndWNfbG9nX3VubWFwKGd1Yyk7Cj4gICAJZ3VjX2xvZ19yZWxheV9kZXN0cm95KGd1 Yyk7Cj4gKwo+ICsJbXV0ZXhfdW5sb2NrKCZndWMtPmxvZy5ydW50aW1lLmxvY2spOwo+ICAgfQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmgKPiBpbmRleCAwOWRkMmVmMTkzM2QuLjhj MjZjY2U3N2E5OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNf bG9nLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmgKPiBAQCAt NDgsOCArNDgsNyBAQCBzdHJ1Y3QgaW50ZWxfZ3VjX2xvZyB7Cj4gICAJCXN0cnVjdCB3b3JrcXVl dWVfc3RydWN0ICpmbHVzaF93cTsKPiAgIAkJc3RydWN0IHdvcmtfc3RydWN0IGZsdXNoX3dvcms7 Cj4gICAJCXN0cnVjdCByY2hhbiAqcmVsYXlfY2hhbjsKPiAtCQkvKiBUbyBzZXJpYWxpemUgdGhl IGFjY2VzcyB0byByZWxheV9jaGFuICovCkludGVyZXN0aW5nLCBjaGVja3BhdGNoIGRvZXMgbm90 IGNvbXBsYWluIGFib3V0IGNvbW1lbnQgYmVpbmcgcmVtb3ZlZCAKZm9yIG11dGV4IGxvY2sgOikK PiAtCQlzdHJ1Y3QgbXV0ZXggcmVsYXlfbG9jazsKPiArCQlzdHJ1Y3QgbXV0ZXggbG9jazsKPiAg IAl9IHJ1bnRpbWU7Cj4gICAJLyogbG9nZ2luZyByZWxhdGVkIHN0YXRzICovCj4gICAJdTMyIGNh cHR1cmVfbWlzc19jb3VudDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfdWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMKPiBpbmRleCBlOWFiYTNj MzUyNjQuLjU1YTliNWI2NzNlMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF91Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYwo+IEBAIC0y MjEsMTggKzIyMSwyNCBAQCBzdGF0aWMgdm9pZCBndWNfZnJlZV9sb2FkX2Vycl9sb2coc3RydWN0 IGludGVsX2d1YyAqZ3VjKQo+ICAgCj4gICBpbnQgaW50ZWxfdWNfbG9nX3JlZ2lzdGVyKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgIHsKPiAtCWlmICghVVNFU19HVUMoZGV2 X3ByaXYpIHx8ICFpOTE1X21vZHBhcmFtcy5ndWNfbG9nX2xldmVsKQo+ICsJaW50IHJldCA9IDA7 Cj4gKwo+ICsJaWYgKCFVU0VTX0dVQyhkZXZfcHJpdikpCj4gICAJCXJldHVybiAwOwo+ICAgCj4g LQlyZXR1cm4gaW50ZWxfZ3VjX2xvZ19yZWdpc3RlcigmZGV2X3ByaXYtPmd1Yyk7Cj4gKwlpZiAo aTkxNV9tb2RwYXJhbXMuZ3VjX2xvZ19sZXZlbCkKPiArCQlyZXQgPSBpbnRlbF9ndWNfbG9nX3Jl Z2lzdGVyKCZkZXZfcHJpdi0+Z3VjKTsKPiArCj4gKwlyZXR1cm4gcmV0Owo+ICAgfQo+ICAgCj4g ICB2b2lkIGludGVsX3VjX2xvZ191bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiAgIHsKPiAtCWlmICghVVNFU19HVUMoZGV2X3ByaXYpIHx8ICFpOTE1X21vZHBh cmFtcy5ndWNfbG9nX2xldmVsKQo+ICsJaWYgKCFVU0VTX0dVQyhkZXZfcHJpdikpCj4gICAJCXJl dHVybjsKPiAgIAo+IC0JaW50ZWxfZ3VjX2xvZ191bnJlZ2lzdGVyKCZkZXZfcHJpdi0+Z3VjKTsK PiArCWlmIChpOTE1X21vZHBhcmFtcy5ndWNfbG9nX2xldmVsKQo+ICsJCWludGVsX2d1Y19sb2df dW5yZWdpc3RlcigmZGV2X3ByaXYtPmd1Yyk7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQgZ3Vj X2VuYWJsZV9jb21tdW5pY2F0aW9uKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKCi0tIApUaGFua3Ms ClNhZ2FyCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK