From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: Re: [PATCH 2/2] drm/i915/perf: Configure OAR for specific context Date: Mon, 18 Nov 2019 15:42:28 +0200 Message-ID: References: <20191114192114.61547-1-umesh.nerlige.ramappa@intel.com> <20191114192114.61547-2-umesh.nerlige.ramappa@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 75C418938C for ; Mon, 18 Nov 2019 13:42:31 +0000 (UTC) In-Reply-To: <20191114192114.61547-2-umesh.nerlige.ramappa@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: Umesh Nerlige Ramappa , intel-gfx@lists.freedesktop.org, Chris Wilson List-Id: intel-gfx@lists.freedesktop.org T24gMTQvMTEvMjAxOSAyMToyMSwgVW1lc2ggTmVybGlnZSBSYW1hcHBhIHdyb3RlOgo+IEdlbjEy IHN1cHBvcnRzIHNhdmluZy9yZXN0b3JpbmcgcmVuZGVyIGNvdW50ZXJzIHBlciBjb250ZXh0LiBB cHBseSBPQVIKPiBjb25maWd1cmF0aW9uIG9ubHkgZm9yIHRoZSBjb250ZXh0IHRoYXQgaXMgcGFz c2VkIGluIHRvIHBlcmYuCj4KPiB2MjoKPiAtIEZpeCBPQUNUWENPTlRST0wgdmFsdWUgdG8gb25s eSBzdG9wL3Jlc3VtZSBjb3VudGVycy4KPiAtIFJlbW92ZSBnZW4xMl91cGRhdGVfcmVnX3N0YXRl X3VubG9ja2VkIGFzIHBvd2VyIHN0YXRlIGlzIGFscmVhZHkKPiAgICBhcHBsaWVkIGJ5IHRoZSBj YWxsZXIuCj4KPiBTaWduZWQtb2ZmLWJ5OiBVbWVzaCBOZXJsaWdlIFJhbWFwcGEgPHVtZXNoLm5l cmxpZ2UucmFtYXBwYUBpbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3BlcmYuYyB8IDE5MyArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCj4gICAxIGZp bGUgY2hhbmdlZCwgMTA4IGluc2VydGlvbnMoKyksIDg1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wZXJmLmMKPiBpbmRleCAyMjFjMTA5MGFlOTMuLjJmMGJlNWZiZWY0YiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jCj4gQEAgLTIwNzgsMjAgKzIwNzgsMTIgQEAgZ2Vu OF91cGRhdGVfcmVnX3N0YXRlX3VubG9ja2VkKGNvbnN0IHN0cnVjdCBpbnRlbF9jb250ZXh0ICpj ZSwKPiAgIAl1MzIgKnJlZ19zdGF0ZSA9IGNlLT5scmNfcmVnX3N0YXRlOwo+ICAgCWludCBpOwo+ ICAgCj4gLQlpZiAoSVNfR0VOKHN0cmVhbS0+cGVyZi0+aTkxNSwgMTIpKSB7Cj4gLQkJdTMyIGZv cm1hdCA9IHN0cmVhbS0+b2FfYnVmZmVyLmZvcm1hdDsKPiArCXJlZ19zdGF0ZVtjdHhfb2FjdHhj dHJsICsgMV0gPQo+ICsJCShzdHJlYW0tPnBlcmlvZF9leHBvbmVudCA8PCBHRU44X09BX1RJTUVS X1BFUklPRF9TSElGVCkgfAo+ICsJCShzdHJlYW0tPnBlcmlvZGljID8gR0VOOF9PQV9USU1FUl9F TkFCTEUgOiAwKSB8Cj4gKwkJR0VOOF9PQV9DT1VOVEVSX1JFU1VNRTsKPiAgIAo+IC0JCXJlZ19z dGF0ZVtjdHhfb2FjdHhjdHJsICsgMV0gPQo+IC0JCQkoZm9ybWF0IDw8IEdFTjEyX09BUl9PQUNP TlRST0xfQ09VTlRFUl9GT1JNQVRfU0hJRlQpIHwKPiAtCQkJKHN0cmVhbS0+b2FfY29uZmlnID8g R0VOMTJfT0FSX09BQ09OVFJPTF9DT1VOVEVSX0VOQUJMRSA6IDApOwo+IC0JfSBlbHNlIHsKPiAt CQlyZWdfc3RhdGVbY3R4X29hY3R4Y3RybCArIDFdID0KPiAtCQkJKHN0cmVhbS0+cGVyaW9kX2V4 cG9uZW50IDw8IEdFTjhfT0FfVElNRVJfUEVSSU9EX1NISUZUKSB8Cj4gLQkJCShzdHJlYW0tPnBl cmlvZGljID8gR0VOOF9PQV9USU1FUl9FTkFCTEUgOiAwKSB8Cj4gLQkJCUdFTjhfT0FfQ09VTlRF Ul9SRVNVTUU7Cj4gLQl9Cj4gLQo+IC0JZm9yIChpID0gMDsgISFjdHhfZmxleGV1MCAmJiBpIDwg QVJSQVlfU0laRShmbGV4X3JlZ3MpOyBpKyspCj4gKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0la RShmbGV4X3JlZ3MpOyBpKyspCj4gICAJCXJlZ19zdGF0ZVtjdHhfZmxleGV1MCArIGkgKiAyICsg MV0gPQo+ICAgCQkJb2FfY29uZmlnX2ZsZXhfcmVnKHN0cmVhbS0+b2FfY29uZmlnLCBmbGV4X3Jl Z3NbaV0pOwo+ICAgCj4gQEAgLTIyMjQsMzQgKzIyMTYsNDkgQEAgc3RhdGljIGludCBnZW44X2Nv bmZpZ3VyZV9jb250ZXh0KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gICAJcmV0dXJu IGVycjsKPiAgIH0KPiAgIAo+IC1zdGF0aWMgaW50IGdlbjEyX2VtaXRfb2FyX2NvbmZpZyhzdHJ1 Y3QgaW50ZWxfY29udGV4dCAqY2UsIGJvb2wgZW5hYmxlKQo+ICtzdGF0aWMgaW50IGdlbjEyX2Nv bmZpZ3VyZV9vYXJfY29udGV4dChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLCBib29s IGVuYWJsZSkKPiAgIHsKPiAtCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxOwo+IC0JdTMyICpjczsK PiAtCWludCBlcnIgPSAwOwo+IC0KPiAtCXJxID0gaTkxNV9yZXF1ZXN0X2NyZWF0ZShjZSk7Cj4g LQlpZiAoSVNfRVJSKHJxKSkKPiAtCQlyZXR1cm4gUFRSX0VSUihycSk7Cj4gKwlpbnQgZXJyOwo+ ICsJc3RydWN0IGludGVsX2NvbnRleHQgKmNlID0gc3RyZWFtLT5waW5uZWRfY3R4Owo+ICsJc3Ry dWN0IGZsZXggcmVnc19jb250ZXh0W10gPSB7Cj4gKwkJewo+ICsJCQlHRU44X09BQ1RYQ09OVFJP TCwKPiArCQkJc3RyZWFtLT5wZXJmLT5jdHhfb2FjdHhjdHJsX29mZnNldCArIDEsCj4gKwkJCWVu YWJsZSA/IEdFTjhfT0FfQ09VTlRFUl9SRVNVTUUgOiAwLAo+ICsJCX0sCj4gKwl9OwoKCldoZW4g ZG8gd2UgY29uZmlndXJlIHRoZSBGbGV4IHJlZ2lzdGVycz8KCgo+ICsJc3RydWN0IGZsZXggcmVn c19scmlbXSA9IHsKPiArCQl7Cj4gKwkJCUdFTjEyX09BUl9PQUNPTlRST0wsCj4gKwkJfSwKPiAr CQl7Cj4gKwkJCVJJTkdfQ09OVEVYVF9DT05UUk9MKGNlLT5lbmdpbmUtPm1taW9fYmFzZSksCj4g KwkJfSwKPiArCX07Cj4gKwl1MzIgZm9ybWF0ID0gc3RyZWFtLT5vYV9idWZmZXIuZm9ybWF0Owo+ ICAgCj4gLQljcyA9IGludGVsX3JpbmdfYmVnaW4ocnEsIDQpOwo+IC0JaWYgKElTX0VSUihjcykp IHsKPiAtCQllcnIgPSBQVFJfRVJSKGNzKTsKPiAtCQlnb3RvIG91dDsKPiAtCX0KPiArCXJlZ3Nf bHJpWzBdLnZhbHVlID0KPiArCQkoZm9ybWF0IDw8IEdFTjEyX09BUl9PQUNPTlRST0xfQ09VTlRF Ul9GT1JNQVRfU0hJRlQpIHwKPiArCQkoZW5hYmxlID8gR0VOMTJfT0FSX09BQ09OVFJPTF9DT1VO VEVSX0VOQUJMRSA6IDApOwo+ICAgCj4gLQkqY3MrKyA9IE1JX0xPQURfUkVHSVNURVJfSU1NKDEp Owo+IC0JKmNzKysgPSBpOTE1X21taW9fcmVnX29mZnNldChSSU5HX0NPTlRFWFRfQ09OVFJPTChj ZS0+ZW5naW5lLT5tbWlvX2Jhc2UpKTsKPiAtCSpjcysrID0gX01BU0tFRF9GSUVMRChHRU4xMl9D VFhfQ1RSTF9PQVJfQ09OVEVYVF9FTkFCTEUsCj4gLQkJCSAgICAgIGVuYWJsZSA/IEdFTjEyX0NU WF9DVFJMX09BUl9DT05URVhUX0VOQUJMRSA6IDApOwo+IC0JKmNzKysgPSBNSV9OT09QOwo+ICsJ cmVnc19scmlbMV0udmFsdWUgPQo+ICsJCV9NQVNLRURfRklFTEQoR0VOMTJfQ1RYX0NUUkxfT0FS X0NPTlRFWFRfRU5BQkxFLAo+ICsJCQkgICAgICBlbmFibGUgPwo+ICsJCQkgICAgICBHRU4xMl9D VFhfQ1RSTF9PQVJfQ09OVEVYVF9FTkFCTEUgOgo+ICsJCQkgICAgICAwKTsKCgpDYW4ndCB3ZSBw dXQgdGhvc2UgdmFsdWVzIGluIHRoZSBhcnJheSBhYm92ZT8KCgo+ICAgCj4gLQlpbnRlbF9yaW5n X2FkdmFuY2UocnEsIGNzKTsKPiArCS8qIE1vZGlmeSB0aGUgY29udGV4dCBpbWFnZSBvZiBwaW5u ZWQgY29udGV4dCB3aXRoIHJlZ3NfY29udGV4dCovCj4gKwllcnIgPSBpbnRlbF9jb250ZXh0X2xv Y2tfcGlubmVkKGNlKTsKPiArCWlmIChlcnIpCj4gKwkJcmV0dXJuIGVycjsKPiAgIAo+IC1vdXQ6 Cj4gLQlpOTE1X3JlcXVlc3RfYWRkKHJxKTsKPiArCWVyciA9IGdlbjhfbW9kaWZ5X2NvbnRleHQo Y2UsIHJlZ3NfY29udGV4dCwgQVJSQVlfU0laRShyZWdzX2NvbnRleHQpKTsKPiArCWludGVsX2Nv bnRleHRfdW5sb2NrX3Bpbm5lZChjZSk7Cj4gKwlpZiAoZXJyKQo+ICsJCXJldHVybiBlcnI7Cj4g ICAKPiAtCXJldHVybiBlcnI7Cj4gKwkvKiBBcHBseSByZWdzX2xyaSB1c2luZyBMUkkgd2l0aCBw aW5uZWQgY29udGV4dCAqLwo+ICsJcmV0dXJuIGdlbjhfbW9kaWZ5X3NlbGYoY2UsIHJlZ3NfbHJp LCBBUlJBWV9TSVpFKHJlZ3NfbHJpKSk7Cj4gICB9Cj4gICAKPiAgIC8qCj4gQEAgLTIyNzcsNTMg KzIyODQsMTYgQEAgc3RhdGljIGludCBnZW4xMl9lbWl0X29hcl9jb25maWcoc3RydWN0IGludGVs X2NvbnRleHQgKmNlLCBib29sIGVuYWJsZSkKPiAgICAqICAgcGVyLWNvbnRleHQgT0Egc3RhdGUu Cj4gICAgKgo+ICAgICogTm90ZTogaXQncyBvbmx5IHRoZSBSQ1MvUmVuZGVyIGNvbnRleHQgdGhh dCBoYXMgYW55IE9BIHN0YXRlLgo+ICsgKiBOb3RlOiB0aGUgZmlyc3QgZmxleCByZWdpc3RlciBw YXNzZWQgbXVzdCBhbHdheXMgYmUgUl9QV1JfQ0xLX1NUQVRFCj4gICAgKi8KPiAtc3RhdGljIGlu dCBscmNfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3Ry ZWFtLAo+IC0JCQkJICAgICAgY29uc3Qgc3RydWN0IGk5MTVfb2FfY29uZmlnICpvYV9jb25maWcp Cj4gK3N0YXRpYyBpbnQgb2FfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkxNV9wZXJm X3N0cmVhbSAqc3RyZWFtLAo+ICsJCQkJICAgICBzdHJ1Y3QgZmxleCAqcmVncywKPiArCQkJCSAg ICAgc2l6ZV90IG51bV9yZWdzKQo+ICAgewo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1ID0gc3RyZWFtLT5wZXJmLT5pOTE1Owo+IC0JLyogVGhlIE1NSU8gb2Zmc2V0cyBmb3IgRmxl eCBFVSByZWdpc3RlcnMgYXJlbid0IGNvbnRpZ3VvdXMgKi8KPiAtCWNvbnN0IHUzMiBjdHhfZmxl eGV1MCA9IHN0cmVhbS0+cGVyZi0+Y3R4X2ZsZXhldTBfb2Zmc2V0Owo+IC0jZGVmaW5lIGN0eF9m bGV4ZXVOKE4pIChjdHhfZmxleGV1MCArIDIgKiAoTikgKyAxKQo+IC0Jc3RydWN0IGZsZXggcmVn c1tdID0gewo+IC0JCXsKPiAtCQkJR0VOOF9SX1BXUl9DTEtfU1RBVEUsCj4gLQkJCUNUWF9SX1BX Ul9DTEtfU1RBVEUsCj4gLQkJfSwKPiAtCQl7Cj4gLQkJCUlTX0dFTihpOTE1LCAxMikgPwo+IC0J CQlHRU4xMl9PQVJfT0FDT05UUk9MIDogR0VOOF9PQUNUWENPTlRST0wsCj4gLQkJCXN0cmVhbS0+ cGVyZi0+Y3R4X29hY3R4Y3RybF9vZmZzZXQgKyAxLAo+IC0JCX0sCj4gLQkJeyBFVV9QRVJGX0NO VEwwLCBjdHhfZmxleGV1TigwKSB9LAo+IC0JCXsgRVVfUEVSRl9DTlRMMSwgY3R4X2ZsZXhldU4o MSkgfSwKPiAtCQl7IEVVX1BFUkZfQ05UTDIsIGN0eF9mbGV4ZXVOKDIpIH0sCj4gLQkJeyBFVV9Q RVJGX0NOVEwzLCBjdHhfZmxleGV1TigzKSB9LAo+IC0JCXsgRVVfUEVSRl9DTlRMNCwgY3R4X2Zs ZXhldU4oNCkgfSwKPiAtCQl7IEVVX1BFUkZfQ05UTDUsIGN0eF9mbGV4ZXVOKDUpIH0sCj4gLQkJ eyBFVV9QRVJGX0NOVEw2LCBjdHhfZmxleGV1Tig2KSB9LAo+IC0JfTsKPiAtI3VuZGVmIGN0eF9m bGV4ZXVOCj4gICAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwo+ICAgCXN0cnVjdCBp OTE1X2dlbV9jb250ZXh0ICpjdHgsICpjbjsKPiAtCXNpemVfdCBhcnJheV9zaXplID0gSVNfR0VO KGk5MTUsIDEyKSA/IDIgOiBBUlJBWV9TSVpFKHJlZ3MpOwo+IC0JaW50IGksIGVycjsKPiAtCj4g LQlpZiAoSVNfR0VOKGk5MTUsIDEyKSkgewo+IC0JCXUzMiBmb3JtYXQgPSBzdHJlYW0tPm9hX2J1 ZmZlci5mb3JtYXQ7Cj4gLQo+IC0JCXJlZ3NbMV0udmFsdWUgPQo+IC0JCQkoZm9ybWF0IDw8IEdF TjEyX09BUl9PQUNPTlRST0xfQ09VTlRFUl9GT1JNQVRfU0hJRlQpIHwKPiAtCQkJKG9hX2NvbmZp ZyA/IEdFTjEyX09BUl9PQUNPTlRST0xfQ09VTlRFUl9FTkFCTEUgOiAwKTsKPiAtCX0gZWxzZSB7 Cj4gLQkJcmVnc1sxXS52YWx1ZSA9Cj4gLQkJCShzdHJlYW0tPnBlcmlvZF9leHBvbmVudCA8PCBH RU44X09BX1RJTUVSX1BFUklPRF9TSElGVCkgfAo+IC0JCQkoc3RyZWFtLT5wZXJpb2RpYyA/IEdF TjhfT0FfVElNRVJfRU5BQkxFIDogMCkgfAo+IC0JCQlHRU44X09BX0NPVU5URVJfUkVTVU1FOwo+ IC0JfQo+IC0KPiAtCWZvciAoaSA9IDI7ICEhY3R4X2ZsZXhldTAgJiYgaSA8IGFycmF5X3NpemU7 IGkrKykKPiAtCQlyZWdzW2ldLnZhbHVlID0gb2FfY29uZmlnX2ZsZXhfcmVnKG9hX2NvbmZpZywg cmVnc1tpXS5yZWcpOwo+ICsJaW50IGVycjsKPiAgIAo+ICAgCWxvY2tkZXBfYXNzZXJ0X2hlbGQo JnN0cmVhbS0+cGVyZi0+bG9jayk7Cj4gICAKPiBAQCAtMjM1Myw3ICsyMzIzLDcgQEAgc3RhdGlj IGludCBscmNfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAq c3RyZWFtLAo+ICAgCj4gICAJCXNwaW5fdW5sb2NrKCZpOTE1LT5nZW0uY29udGV4dHMubG9jayk7 Cj4gICAKPiAtCQllcnIgPSBnZW44X2NvbmZpZ3VyZV9jb250ZXh0KGN0eCwgcmVncywgYXJyYXlf c2l6ZSk7Cj4gKwkJZXJyID0gZ2VuOF9jb25maWd1cmVfY29udGV4dChjdHgsIHJlZ3MsIG51bV9y ZWdzKTsKPiAgIAkJaWYgKGVycikgewo+ICAgCQkJaTkxNV9nZW1fY29udGV4dF9wdXQoY3R4KTsK PiAgIAkJCXJldHVybiBlcnI7Cj4gQEAgLTIzNzgsNyArMjM0OCw3IEBAIHN0YXRpYyBpbnQgbHJj X2NvbmZpZ3VyZV9hbGxfY29udGV4dHMoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwK PiAgIAo+ICAgCQlyZWdzWzBdLnZhbHVlID0gaW50ZWxfc3NldV9tYWtlX3JwY3MoaTkxNSwgJmNl LT5zc2V1KTsKPiAgIAo+IC0JCWVyciA9IGdlbjhfbW9kaWZ5X3NlbGYoY2UsIHJlZ3MsIGFycmF5 X3NpemUpOwo+ICsJCWVyciA9IGdlbjhfbW9kaWZ5X3NlbGYoY2UsIHJlZ3MsIG51bV9yZWdzKTsK PiAgIAkJaWYgKGVycikKPiAgIAkJCXJldHVybiBlcnI7Cj4gICAJfQo+IEBAIC0yMzg2LDYgKzIz NTYsNTYgQEAgc3RhdGljIGludCBscmNfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkx NV9wZXJmX3N0cmVhbSAqc3RyZWFtLAo+ICAgCXJldHVybiAwOwo+ICAgfQo+ICAgCj4gK3N0YXRp YyBpbnQgZ2VuMTJfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVh bSAqc3RyZWFtLAo+ICsJCQkJCWNvbnN0IHN0cnVjdCBpOTE1X29hX2NvbmZpZyAqb2FfY29uZmln KQo+ICt7Cj4gKwlzdHJ1Y3QgZmxleCByZWdzW10gPSB7Cj4gKwkJewo+ICsJCQlHRU44X1JfUFdS X0NMS19TVEFURSwKPiArCQkJQ1RYX1JfUFdSX0NMS19TVEFURSwKPiArCQl9LAo+ICsJfTsKPiAr Cj4gKwlyZXR1cm4gb2FfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJlYW0sIHJlZ3MsIEFSUkFZ X1NJWkUocmVncykpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGxyY19jb25maWd1cmVfYWxsX2Nv bnRleHRzKHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCj4gKwkJCQkgICAgICBjb25z dCBzdHJ1Y3QgaTkxNV9vYV9jb25maWcgKm9hX2NvbmZpZykKPiArewo+ICsJLyogVGhlIE1NSU8g b2Zmc2V0cyBmb3IgRmxleCBFVSByZWdpc3RlcnMgYXJlbid0IGNvbnRpZ3VvdXMgKi8KPiArCWNv bnN0IHUzMiBjdHhfZmxleGV1MCA9IHN0cmVhbS0+cGVyZi0+Y3R4X2ZsZXhldTBfb2Zmc2V0Owo+ ICsjZGVmaW5lIGN0eF9mbGV4ZXVOKE4pIChjdHhfZmxleGV1MCArIDIgKiAoTikgKyAxKQo+ICsJ c3RydWN0IGZsZXggcmVnc1tdID0gewo+ICsJCXsKPiArCQkJR0VOOF9SX1BXUl9DTEtfU1RBVEUs Cj4gKwkJCUNUWF9SX1BXUl9DTEtfU1RBVEUsCj4gKwkJfSwKPiArCQl7Cj4gKwkJCUdFTjhfT0FD VFhDT05UUk9MLAo+ICsJCQlzdHJlYW0tPnBlcmYtPmN0eF9vYWN0eGN0cmxfb2Zmc2V0ICsgMSwK PiArCQl9LAo+ICsJCXsgRVVfUEVSRl9DTlRMMCwgY3R4X2ZsZXhldU4oMCkgfSwKPiArCQl7IEVV X1BFUkZfQ05UTDEsIGN0eF9mbGV4ZXVOKDEpIH0sCj4gKwkJeyBFVV9QRVJGX0NOVEwyLCBjdHhf ZmxleGV1TigyKSB9LAo+ICsJCXsgRVVfUEVSRl9DTlRMMywgY3R4X2ZsZXhldU4oMykgfSwKPiAr CQl7IEVVX1BFUkZfQ05UTDQsIGN0eF9mbGV4ZXVOKDQpIH0sCj4gKwkJeyBFVV9QRVJGX0NOVEw1 LCBjdHhfZmxleGV1Tig1KSB9LAo+ICsJCXsgRVVfUEVSRl9DTlRMNiwgY3R4X2ZsZXhldU4oNikg fSwKPiArCX07Cj4gKyN1bmRlZiBjdHhfZmxleGV1Tgo+ICsJaW50IGk7Cj4gKwo+ICsJcmVnc1sx XS52YWx1ZSA9Cj4gKwkJKHN0cmVhbS0+cGVyaW9kX2V4cG9uZW50IDw8IEdFTjhfT0FfVElNRVJf UEVSSU9EX1NISUZUKSB8Cj4gKwkJKHN0cmVhbS0+cGVyaW9kaWMgPyBHRU44X09BX1RJTUVSX0VO QUJMRSA6IDApIHwKPiArCQlHRU44X09BX0NPVU5URVJfUkVTVU1FOwo+ICsKPiArCWZvciAoaSA9 IDI7IGkgPCBBUlJBWV9TSVpFKHJlZ3MpOyBpKyspCj4gKwkJcmVnc1tpXS52YWx1ZSA9IG9hX2Nv bmZpZ19mbGV4X3JlZyhvYV9jb25maWcsIHJlZ3NbaV0ucmVnKTsKPiArCj4gKwlyZXR1cm4gb2Ff Y29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJlYW0sIHJlZ3MsIEFSUkFZX1NJWkUocmVncykpOwo+ ICt9Cj4gKwo+ICAgc3RhdGljIGludCBnZW44X2VuYWJsZV9tZXRyaWNfc2V0KHN0cnVjdCBpOTE1 X3BlcmZfc3RyZWFtICpzdHJlYW0pCj4gICB7Cj4gICAJc3RydWN0IGludGVsX3VuY29yZSAqdW5j b3JlID0gc3RyZWFtLT51bmNvcmU7Cj4gQEAgLTI0NjksNyArMjQ4OSw3IEBAIHN0YXRpYyBpbnQg Z2VuMTJfZW5hYmxlX21ldHJpY19zZXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkK PiAgIAkgKiB0byBtYWtlIHN1cmUgYWxsIHNsaWNlcy9zdWJzbGljZXMgYXJlIE9OIGJlZm9yZSB3 cml0aW5nIHRvIE5PQQo+ICAgCSAqIHJlZ2lzdGVycy4KPiAgIAkgKi8KPiAtCXJldCA9IGxyY19j b25maWd1cmVfYWxsX2NvbnRleHRzKHN0cmVhbSwgb2FfY29uZmlnKTsKPiArCXJldCA9IGdlbjEy X2NvbmZpZ3VyZV9hbGxfY29udGV4dHMoc3RyZWFtLCBvYV9jb25maWcpOwo+ICAgCWlmIChyZXQp Cj4gICAJCXJldHVybiByZXQ7Cj4gICAKPiBAQCAtMjQ3OSw4ICsyNDk5LDcgQEAgc3RhdGljIGlu dCBnZW4xMl9lbmFibGVfbWV0cmljX3NldChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFt KQo+ICAgCSAqIHJlcXVlc3RlZCB0aGlzLgo+ICAgCSAqLwo+ICAgCWlmIChzdHJlYW0tPmN0eCkg ewo+IC0JCXJldCA9IGdlbjEyX2VtaXRfb2FyX2NvbmZpZyhzdHJlYW0tPnBpbm5lZF9jdHgsCj4g LQkJCQkJICAgIG9hX2NvbmZpZyAhPSBOVUxMKTsKPiArCQlyZXQgPSBnZW4xMl9jb25maWd1cmVf b2FyX2NvbnRleHQoc3RyZWFtLCBvYV9jb25maWcgIT0gTlVMTCk7CgoKSSB0aGluayB5b3UgY2Fu IGFzc3VtZSBvYV9jb25maWcgaXMgZ29pbmcgdG8gYmUgIT0gTlVMTCBpbiB0aGUgCmVuYWJsZV9t ZXRyaWNfc2V0IHZmdW5jLgoKCj4gICAJCWlmIChyZXQpCj4gICAJCQlyZXR1cm4gcmV0Owo+ICAg CX0KPiBAQCAtMjUxNCwxMSArMjUzMywxMSBAQCBzdGF0aWMgdm9pZCBnZW4xMl9kaXNhYmxlX21l dHJpY19zZXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkKPiAgIAlzdHJ1Y3QgaW50 ZWxfdW5jb3JlICp1bmNvcmUgPSBzdHJlYW0tPnVuY29yZTsKPiAgIAo+ICAgCS8qIFJlc2V0IGFs bCBjb250ZXh0cycgc2xpY2VzL3N1YnNsaWNlcyBjb25maWd1cmF0aW9ucy4gKi8KPiAtCWxyY19j b25maWd1cmVfYWxsX2NvbnRleHRzKHN0cmVhbSwgTlVMTCk7Cj4gKwlnZW4xMl9jb25maWd1cmVf YWxsX2NvbnRleHRzKHN0cmVhbSwgTlVMTCk7Cj4gICAKPiAgIAkvKiBkaXNhYmxlIHRoZSBjb250 ZXh0IHNhdmUvcmVzdG9yZSBvciBPQVIgY291bnRlcnMgKi8KPiAgIAlpZiAoc3RyZWFtLT5jdHgp Cj4gLQkJZ2VuMTJfZW1pdF9vYXJfY29uZmlnKHN0cmVhbS0+cGlubmVkX2N0eCwgZmFsc2UpOwo+ ICsJCWdlbjEyX2NvbmZpZ3VyZV9vYXJfY29udGV4dChzdHJlYW0sIGZhbHNlKTsKPiAgIAo+ICAg CS8qIE1ha2Ugc3VyZSB3ZSBkaXNhYmxlIG5vYSB0byBzYXZlIHBvd2VyLiAqLwo+ICAgCWludGVs X3VuY29yZV9ybXcodW5jb3JlLCBSUE1fQ09ORklHMSwgR0VOMTBfR1RfTk9BX0VOQUJMRSwgMCk7 Cj4gQEAgLTI4NjAsNyArMjg3OSwxMSBAQCB2b2lkIGk5MTVfb2FfaW5pdF9yZWdfc3RhdGUoY29u c3Qgc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAo+ICAgCQlyZXR1cm47Cj4gICAKPiAgIAlzdHJl YW0gPSBlbmdpbmUtPmk5MTUtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbTsKPiAtCWlmIChzdHJlYW0p Cj4gKwkvKgo+ICsJICogRm9yIGdlbjEyLCBvbmx5IENUWF9SX1BXUl9DTEtfU1RBVEUgbmVlZHMg dXBkYXRlLCBidXQgdGhlIGNhbGxlcgo+ICsJICogaXMgYWxyZWFkeSBkb2luZyB0aGF0LCBzbyBu b3RoaW5nIHRvIGJlIGRvbmUgZm9yIGdlbjEyIGhlcmUuCj4gKwkgKi8KPiArCWlmIChzdHJlYW0g JiYgSU5URUxfR0VOKHN0cmVhbS0+cGVyZi0+aTkxNSkgPCAxMikKPiAgIAkJZ2VuOF91cGRhdGVf cmVnX3N0YXRlX3VubG9ja2VkKGNlLCBzdHJlYW0pOwo+ICAgfQo+ICAgCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 04793C432C0 for ; Mon, 18 Nov 2019 13:42:34 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D2B412084D for ; Mon, 18 Nov 2019 13:42:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D2B412084D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A23B08938C; Mon, 18 Nov 2019 13:42:32 +0000 (UTC) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 75C418938C for ; Mon, 18 Nov 2019 13:42:31 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Nov 2019 05:42:30 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,320,1569308400"; d="scan'208";a="199967521" Received: from cscleary-mobl2.ger.corp.intel.com (HELO [10.251.81.251]) ([10.251.81.251]) by orsmga008.jf.intel.com with ESMTP; 18 Nov 2019 05:42:29 -0800 To: Umesh Nerlige Ramappa , intel-gfx@lists.freedesktop.org, Chris Wilson References: <20191114192114.61547-1-umesh.nerlige.ramappa@intel.com> <20191114192114.61547-2-umesh.nerlige.ramappa@intel.com> From: Lionel Landwerlin Organization: Intel Corporation (UK) Ltd. - Co. Reg. #1134945 - Pipers Way, Swindon SN3 1RJ Message-ID: Date: Mon, 18 Nov 2019 15:42:28 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 In-Reply-To: <20191114192114.61547-2-umesh.nerlige.ramappa@intel.com> Content-Language: en-US Subject: Re: [Intel-gfx] [PATCH 2/2] drm/i915/perf: Configure OAR for specific context X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191118134228.o5cWqWdRcEkYVlfUDWeFtRkPOE2OMIWUUp9tLmaJaZs@z> T24gMTQvMTEvMjAxOSAyMToyMSwgVW1lc2ggTmVybGlnZSBSYW1hcHBhIHdyb3RlOgo+IEdlbjEy IHN1cHBvcnRzIHNhdmluZy9yZXN0b3JpbmcgcmVuZGVyIGNvdW50ZXJzIHBlciBjb250ZXh0LiBB cHBseSBPQVIKPiBjb25maWd1cmF0aW9uIG9ubHkgZm9yIHRoZSBjb250ZXh0IHRoYXQgaXMgcGFz c2VkIGluIHRvIHBlcmYuCj4KPiB2MjoKPiAtIEZpeCBPQUNUWENPTlRST0wgdmFsdWUgdG8gb25s eSBzdG9wL3Jlc3VtZSBjb3VudGVycy4KPiAtIFJlbW92ZSBnZW4xMl91cGRhdGVfcmVnX3N0YXRl X3VubG9ja2VkIGFzIHBvd2VyIHN0YXRlIGlzIGFscmVhZHkKPiAgICBhcHBsaWVkIGJ5IHRoZSBj YWxsZXIuCj4KPiBTaWduZWQtb2ZmLWJ5OiBVbWVzaCBOZXJsaWdlIFJhbWFwcGEgPHVtZXNoLm5l cmxpZ2UucmFtYXBwYUBpbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3BlcmYuYyB8IDE5MyArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCj4gICAxIGZp bGUgY2hhbmdlZCwgMTA4IGluc2VydGlvbnMoKyksIDg1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wZXJmLmMKPiBpbmRleCAyMjFjMTA5MGFlOTMuLjJmMGJlNWZiZWY0YiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jCj4gQEAgLTIwNzgsMjAgKzIwNzgsMTIgQEAgZ2Vu OF91cGRhdGVfcmVnX3N0YXRlX3VubG9ja2VkKGNvbnN0IHN0cnVjdCBpbnRlbF9jb250ZXh0ICpj ZSwKPiAgIAl1MzIgKnJlZ19zdGF0ZSA9IGNlLT5scmNfcmVnX3N0YXRlOwo+ICAgCWludCBpOwo+ ICAgCj4gLQlpZiAoSVNfR0VOKHN0cmVhbS0+cGVyZi0+aTkxNSwgMTIpKSB7Cj4gLQkJdTMyIGZv cm1hdCA9IHN0cmVhbS0+b2FfYnVmZmVyLmZvcm1hdDsKPiArCXJlZ19zdGF0ZVtjdHhfb2FjdHhj dHJsICsgMV0gPQo+ICsJCShzdHJlYW0tPnBlcmlvZF9leHBvbmVudCA8PCBHRU44X09BX1RJTUVS X1BFUklPRF9TSElGVCkgfAo+ICsJCShzdHJlYW0tPnBlcmlvZGljID8gR0VOOF9PQV9USU1FUl9F TkFCTEUgOiAwKSB8Cj4gKwkJR0VOOF9PQV9DT1VOVEVSX1JFU1VNRTsKPiAgIAo+IC0JCXJlZ19z dGF0ZVtjdHhfb2FjdHhjdHJsICsgMV0gPQo+IC0JCQkoZm9ybWF0IDw8IEdFTjEyX09BUl9PQUNP TlRST0xfQ09VTlRFUl9GT1JNQVRfU0hJRlQpIHwKPiAtCQkJKHN0cmVhbS0+b2FfY29uZmlnID8g R0VOMTJfT0FSX09BQ09OVFJPTF9DT1VOVEVSX0VOQUJMRSA6IDApOwo+IC0JfSBlbHNlIHsKPiAt CQlyZWdfc3RhdGVbY3R4X29hY3R4Y3RybCArIDFdID0KPiAtCQkJKHN0cmVhbS0+cGVyaW9kX2V4 cG9uZW50IDw8IEdFTjhfT0FfVElNRVJfUEVSSU9EX1NISUZUKSB8Cj4gLQkJCShzdHJlYW0tPnBl cmlvZGljID8gR0VOOF9PQV9USU1FUl9FTkFCTEUgOiAwKSB8Cj4gLQkJCUdFTjhfT0FfQ09VTlRF Ul9SRVNVTUU7Cj4gLQl9Cj4gLQo+IC0JZm9yIChpID0gMDsgISFjdHhfZmxleGV1MCAmJiBpIDwg QVJSQVlfU0laRShmbGV4X3JlZ3MpOyBpKyspCj4gKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0la RShmbGV4X3JlZ3MpOyBpKyspCj4gICAJCXJlZ19zdGF0ZVtjdHhfZmxleGV1MCArIGkgKiAyICsg MV0gPQo+ICAgCQkJb2FfY29uZmlnX2ZsZXhfcmVnKHN0cmVhbS0+b2FfY29uZmlnLCBmbGV4X3Jl Z3NbaV0pOwo+ICAgCj4gQEAgLTIyMjQsMzQgKzIyMTYsNDkgQEAgc3RhdGljIGludCBnZW44X2Nv bmZpZ3VyZV9jb250ZXh0KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gICAJcmV0dXJu IGVycjsKPiAgIH0KPiAgIAo+IC1zdGF0aWMgaW50IGdlbjEyX2VtaXRfb2FyX2NvbmZpZyhzdHJ1 Y3QgaW50ZWxfY29udGV4dCAqY2UsIGJvb2wgZW5hYmxlKQo+ICtzdGF0aWMgaW50IGdlbjEyX2Nv bmZpZ3VyZV9vYXJfY29udGV4dChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLCBib29s IGVuYWJsZSkKPiAgIHsKPiAtCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxOwo+IC0JdTMyICpjczsK PiAtCWludCBlcnIgPSAwOwo+IC0KPiAtCXJxID0gaTkxNV9yZXF1ZXN0X2NyZWF0ZShjZSk7Cj4g LQlpZiAoSVNfRVJSKHJxKSkKPiAtCQlyZXR1cm4gUFRSX0VSUihycSk7Cj4gKwlpbnQgZXJyOwo+ ICsJc3RydWN0IGludGVsX2NvbnRleHQgKmNlID0gc3RyZWFtLT5waW5uZWRfY3R4Owo+ICsJc3Ry dWN0IGZsZXggcmVnc19jb250ZXh0W10gPSB7Cj4gKwkJewo+ICsJCQlHRU44X09BQ1RYQ09OVFJP TCwKPiArCQkJc3RyZWFtLT5wZXJmLT5jdHhfb2FjdHhjdHJsX29mZnNldCArIDEsCj4gKwkJCWVu YWJsZSA/IEdFTjhfT0FfQ09VTlRFUl9SRVNVTUUgOiAwLAo+ICsJCX0sCj4gKwl9OwoKCldoZW4g ZG8gd2UgY29uZmlndXJlIHRoZSBGbGV4IHJlZ2lzdGVycz8KCgo+ICsJc3RydWN0IGZsZXggcmVn c19scmlbXSA9IHsKPiArCQl7Cj4gKwkJCUdFTjEyX09BUl9PQUNPTlRST0wsCj4gKwkJfSwKPiAr CQl7Cj4gKwkJCVJJTkdfQ09OVEVYVF9DT05UUk9MKGNlLT5lbmdpbmUtPm1taW9fYmFzZSksCj4g KwkJfSwKPiArCX07Cj4gKwl1MzIgZm9ybWF0ID0gc3RyZWFtLT5vYV9idWZmZXIuZm9ybWF0Owo+ ICAgCj4gLQljcyA9IGludGVsX3JpbmdfYmVnaW4ocnEsIDQpOwo+IC0JaWYgKElTX0VSUihjcykp IHsKPiAtCQllcnIgPSBQVFJfRVJSKGNzKTsKPiAtCQlnb3RvIG91dDsKPiAtCX0KPiArCXJlZ3Nf bHJpWzBdLnZhbHVlID0KPiArCQkoZm9ybWF0IDw8IEdFTjEyX09BUl9PQUNPTlRST0xfQ09VTlRF Ul9GT1JNQVRfU0hJRlQpIHwKPiArCQkoZW5hYmxlID8gR0VOMTJfT0FSX09BQ09OVFJPTF9DT1VO VEVSX0VOQUJMRSA6IDApOwo+ICAgCj4gLQkqY3MrKyA9IE1JX0xPQURfUkVHSVNURVJfSU1NKDEp Owo+IC0JKmNzKysgPSBpOTE1X21taW9fcmVnX29mZnNldChSSU5HX0NPTlRFWFRfQ09OVFJPTChj ZS0+ZW5naW5lLT5tbWlvX2Jhc2UpKTsKPiAtCSpjcysrID0gX01BU0tFRF9GSUVMRChHRU4xMl9D VFhfQ1RSTF9PQVJfQ09OVEVYVF9FTkFCTEUsCj4gLQkJCSAgICAgIGVuYWJsZSA/IEdFTjEyX0NU WF9DVFJMX09BUl9DT05URVhUX0VOQUJMRSA6IDApOwo+IC0JKmNzKysgPSBNSV9OT09QOwo+ICsJ cmVnc19scmlbMV0udmFsdWUgPQo+ICsJCV9NQVNLRURfRklFTEQoR0VOMTJfQ1RYX0NUUkxfT0FS X0NPTlRFWFRfRU5BQkxFLAo+ICsJCQkgICAgICBlbmFibGUgPwo+ICsJCQkgICAgICBHRU4xMl9D VFhfQ1RSTF9PQVJfQ09OVEVYVF9FTkFCTEUgOgo+ICsJCQkgICAgICAwKTsKCgpDYW4ndCB3ZSBw dXQgdGhvc2UgdmFsdWVzIGluIHRoZSBhcnJheSBhYm92ZT8KCgo+ICAgCj4gLQlpbnRlbF9yaW5n X2FkdmFuY2UocnEsIGNzKTsKPiArCS8qIE1vZGlmeSB0aGUgY29udGV4dCBpbWFnZSBvZiBwaW5u ZWQgY29udGV4dCB3aXRoIHJlZ3NfY29udGV4dCovCj4gKwllcnIgPSBpbnRlbF9jb250ZXh0X2xv Y2tfcGlubmVkKGNlKTsKPiArCWlmIChlcnIpCj4gKwkJcmV0dXJuIGVycjsKPiAgIAo+IC1vdXQ6 Cj4gLQlpOTE1X3JlcXVlc3RfYWRkKHJxKTsKPiArCWVyciA9IGdlbjhfbW9kaWZ5X2NvbnRleHQo Y2UsIHJlZ3NfY29udGV4dCwgQVJSQVlfU0laRShyZWdzX2NvbnRleHQpKTsKPiArCWludGVsX2Nv bnRleHRfdW5sb2NrX3Bpbm5lZChjZSk7Cj4gKwlpZiAoZXJyKQo+ICsJCXJldHVybiBlcnI7Cj4g ICAKPiAtCXJldHVybiBlcnI7Cj4gKwkvKiBBcHBseSByZWdzX2xyaSB1c2luZyBMUkkgd2l0aCBw aW5uZWQgY29udGV4dCAqLwo+ICsJcmV0dXJuIGdlbjhfbW9kaWZ5X3NlbGYoY2UsIHJlZ3NfbHJp LCBBUlJBWV9TSVpFKHJlZ3NfbHJpKSk7Cj4gICB9Cj4gICAKPiAgIC8qCj4gQEAgLTIyNzcsNTMg KzIyODQsMTYgQEAgc3RhdGljIGludCBnZW4xMl9lbWl0X29hcl9jb25maWcoc3RydWN0IGludGVs X2NvbnRleHQgKmNlLCBib29sIGVuYWJsZSkKPiAgICAqICAgcGVyLWNvbnRleHQgT0Egc3RhdGUu Cj4gICAgKgo+ICAgICogTm90ZTogaXQncyBvbmx5IHRoZSBSQ1MvUmVuZGVyIGNvbnRleHQgdGhh dCBoYXMgYW55IE9BIHN0YXRlLgo+ICsgKiBOb3RlOiB0aGUgZmlyc3QgZmxleCByZWdpc3RlciBw YXNzZWQgbXVzdCBhbHdheXMgYmUgUl9QV1JfQ0xLX1NUQVRFCj4gICAgKi8KPiAtc3RhdGljIGlu dCBscmNfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3Ry ZWFtLAo+IC0JCQkJICAgICAgY29uc3Qgc3RydWN0IGk5MTVfb2FfY29uZmlnICpvYV9jb25maWcp Cj4gK3N0YXRpYyBpbnQgb2FfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkxNV9wZXJm X3N0cmVhbSAqc3RyZWFtLAo+ICsJCQkJICAgICBzdHJ1Y3QgZmxleCAqcmVncywKPiArCQkJCSAg ICAgc2l6ZV90IG51bV9yZWdzKQo+ICAgewo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1ID0gc3RyZWFtLT5wZXJmLT5pOTE1Owo+IC0JLyogVGhlIE1NSU8gb2Zmc2V0cyBmb3IgRmxl eCBFVSByZWdpc3RlcnMgYXJlbid0IGNvbnRpZ3VvdXMgKi8KPiAtCWNvbnN0IHUzMiBjdHhfZmxl eGV1MCA9IHN0cmVhbS0+cGVyZi0+Y3R4X2ZsZXhldTBfb2Zmc2V0Owo+IC0jZGVmaW5lIGN0eF9m bGV4ZXVOKE4pIChjdHhfZmxleGV1MCArIDIgKiAoTikgKyAxKQo+IC0Jc3RydWN0IGZsZXggcmVn c1tdID0gewo+IC0JCXsKPiAtCQkJR0VOOF9SX1BXUl9DTEtfU1RBVEUsCj4gLQkJCUNUWF9SX1BX Ul9DTEtfU1RBVEUsCj4gLQkJfSwKPiAtCQl7Cj4gLQkJCUlTX0dFTihpOTE1LCAxMikgPwo+IC0J CQlHRU4xMl9PQVJfT0FDT05UUk9MIDogR0VOOF9PQUNUWENPTlRST0wsCj4gLQkJCXN0cmVhbS0+ cGVyZi0+Y3R4X29hY3R4Y3RybF9vZmZzZXQgKyAxLAo+IC0JCX0sCj4gLQkJeyBFVV9QRVJGX0NO VEwwLCBjdHhfZmxleGV1TigwKSB9LAo+IC0JCXsgRVVfUEVSRl9DTlRMMSwgY3R4X2ZsZXhldU4o MSkgfSwKPiAtCQl7IEVVX1BFUkZfQ05UTDIsIGN0eF9mbGV4ZXVOKDIpIH0sCj4gLQkJeyBFVV9Q RVJGX0NOVEwzLCBjdHhfZmxleGV1TigzKSB9LAo+IC0JCXsgRVVfUEVSRl9DTlRMNCwgY3R4X2Zs ZXhldU4oNCkgfSwKPiAtCQl7IEVVX1BFUkZfQ05UTDUsIGN0eF9mbGV4ZXVOKDUpIH0sCj4gLQkJ eyBFVV9QRVJGX0NOVEw2LCBjdHhfZmxleGV1Tig2KSB9LAo+IC0JfTsKPiAtI3VuZGVmIGN0eF9m bGV4ZXVOCj4gICAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwo+ICAgCXN0cnVjdCBp OTE1X2dlbV9jb250ZXh0ICpjdHgsICpjbjsKPiAtCXNpemVfdCBhcnJheV9zaXplID0gSVNfR0VO KGk5MTUsIDEyKSA/IDIgOiBBUlJBWV9TSVpFKHJlZ3MpOwo+IC0JaW50IGksIGVycjsKPiAtCj4g LQlpZiAoSVNfR0VOKGk5MTUsIDEyKSkgewo+IC0JCXUzMiBmb3JtYXQgPSBzdHJlYW0tPm9hX2J1 ZmZlci5mb3JtYXQ7Cj4gLQo+IC0JCXJlZ3NbMV0udmFsdWUgPQo+IC0JCQkoZm9ybWF0IDw8IEdF TjEyX09BUl9PQUNPTlRST0xfQ09VTlRFUl9GT1JNQVRfU0hJRlQpIHwKPiAtCQkJKG9hX2NvbmZp ZyA/IEdFTjEyX09BUl9PQUNPTlRST0xfQ09VTlRFUl9FTkFCTEUgOiAwKTsKPiAtCX0gZWxzZSB7 Cj4gLQkJcmVnc1sxXS52YWx1ZSA9Cj4gLQkJCShzdHJlYW0tPnBlcmlvZF9leHBvbmVudCA8PCBH RU44X09BX1RJTUVSX1BFUklPRF9TSElGVCkgfAo+IC0JCQkoc3RyZWFtLT5wZXJpb2RpYyA/IEdF TjhfT0FfVElNRVJfRU5BQkxFIDogMCkgfAo+IC0JCQlHRU44X09BX0NPVU5URVJfUkVTVU1FOwo+ IC0JfQo+IC0KPiAtCWZvciAoaSA9IDI7ICEhY3R4X2ZsZXhldTAgJiYgaSA8IGFycmF5X3NpemU7 IGkrKykKPiAtCQlyZWdzW2ldLnZhbHVlID0gb2FfY29uZmlnX2ZsZXhfcmVnKG9hX2NvbmZpZywg cmVnc1tpXS5yZWcpOwo+ICsJaW50IGVycjsKPiAgIAo+ICAgCWxvY2tkZXBfYXNzZXJ0X2hlbGQo JnN0cmVhbS0+cGVyZi0+bG9jayk7Cj4gICAKPiBAQCAtMjM1Myw3ICsyMzIzLDcgQEAgc3RhdGlj IGludCBscmNfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAq c3RyZWFtLAo+ICAgCj4gICAJCXNwaW5fdW5sb2NrKCZpOTE1LT5nZW0uY29udGV4dHMubG9jayk7 Cj4gICAKPiAtCQllcnIgPSBnZW44X2NvbmZpZ3VyZV9jb250ZXh0KGN0eCwgcmVncywgYXJyYXlf c2l6ZSk7Cj4gKwkJZXJyID0gZ2VuOF9jb25maWd1cmVfY29udGV4dChjdHgsIHJlZ3MsIG51bV9y ZWdzKTsKPiAgIAkJaWYgKGVycikgewo+ICAgCQkJaTkxNV9nZW1fY29udGV4dF9wdXQoY3R4KTsK PiAgIAkJCXJldHVybiBlcnI7Cj4gQEAgLTIzNzgsNyArMjM0OCw3IEBAIHN0YXRpYyBpbnQgbHJj X2NvbmZpZ3VyZV9hbGxfY29udGV4dHMoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwK PiAgIAo+ICAgCQlyZWdzWzBdLnZhbHVlID0gaW50ZWxfc3NldV9tYWtlX3JwY3MoaTkxNSwgJmNl LT5zc2V1KTsKPiAgIAo+IC0JCWVyciA9IGdlbjhfbW9kaWZ5X3NlbGYoY2UsIHJlZ3MsIGFycmF5 X3NpemUpOwo+ICsJCWVyciA9IGdlbjhfbW9kaWZ5X3NlbGYoY2UsIHJlZ3MsIG51bV9yZWdzKTsK PiAgIAkJaWYgKGVycikKPiAgIAkJCXJldHVybiBlcnI7Cj4gICAJfQo+IEBAIC0yMzg2LDYgKzIz NTYsNTYgQEAgc3RhdGljIGludCBscmNfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkx NV9wZXJmX3N0cmVhbSAqc3RyZWFtLAo+ICAgCXJldHVybiAwOwo+ICAgfQo+ICAgCj4gK3N0YXRp YyBpbnQgZ2VuMTJfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVh bSAqc3RyZWFtLAo+ICsJCQkJCWNvbnN0IHN0cnVjdCBpOTE1X29hX2NvbmZpZyAqb2FfY29uZmln KQo+ICt7Cj4gKwlzdHJ1Y3QgZmxleCByZWdzW10gPSB7Cj4gKwkJewo+ICsJCQlHRU44X1JfUFdS X0NMS19TVEFURSwKPiArCQkJQ1RYX1JfUFdSX0NMS19TVEFURSwKPiArCQl9LAo+ICsJfTsKPiAr Cj4gKwlyZXR1cm4gb2FfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJlYW0sIHJlZ3MsIEFSUkFZ X1NJWkUocmVncykpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGxyY19jb25maWd1cmVfYWxsX2Nv bnRleHRzKHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCj4gKwkJCQkgICAgICBjb25z dCBzdHJ1Y3QgaTkxNV9vYV9jb25maWcgKm9hX2NvbmZpZykKPiArewo+ICsJLyogVGhlIE1NSU8g b2Zmc2V0cyBmb3IgRmxleCBFVSByZWdpc3RlcnMgYXJlbid0IGNvbnRpZ3VvdXMgKi8KPiArCWNv bnN0IHUzMiBjdHhfZmxleGV1MCA9IHN0cmVhbS0+cGVyZi0+Y3R4X2ZsZXhldTBfb2Zmc2V0Owo+ ICsjZGVmaW5lIGN0eF9mbGV4ZXVOKE4pIChjdHhfZmxleGV1MCArIDIgKiAoTikgKyAxKQo+ICsJ c3RydWN0IGZsZXggcmVnc1tdID0gewo+ICsJCXsKPiArCQkJR0VOOF9SX1BXUl9DTEtfU1RBVEUs Cj4gKwkJCUNUWF9SX1BXUl9DTEtfU1RBVEUsCj4gKwkJfSwKPiArCQl7Cj4gKwkJCUdFTjhfT0FD VFhDT05UUk9MLAo+ICsJCQlzdHJlYW0tPnBlcmYtPmN0eF9vYWN0eGN0cmxfb2Zmc2V0ICsgMSwK PiArCQl9LAo+ICsJCXsgRVVfUEVSRl9DTlRMMCwgY3R4X2ZsZXhldU4oMCkgfSwKPiArCQl7IEVV X1BFUkZfQ05UTDEsIGN0eF9mbGV4ZXVOKDEpIH0sCj4gKwkJeyBFVV9QRVJGX0NOVEwyLCBjdHhf ZmxleGV1TigyKSB9LAo+ICsJCXsgRVVfUEVSRl9DTlRMMywgY3R4X2ZsZXhldU4oMykgfSwKPiAr CQl7IEVVX1BFUkZfQ05UTDQsIGN0eF9mbGV4ZXVOKDQpIH0sCj4gKwkJeyBFVV9QRVJGX0NOVEw1 LCBjdHhfZmxleGV1Tig1KSB9LAo+ICsJCXsgRVVfUEVSRl9DTlRMNiwgY3R4X2ZsZXhldU4oNikg fSwKPiArCX07Cj4gKyN1bmRlZiBjdHhfZmxleGV1Tgo+ICsJaW50IGk7Cj4gKwo+ICsJcmVnc1sx XS52YWx1ZSA9Cj4gKwkJKHN0cmVhbS0+cGVyaW9kX2V4cG9uZW50IDw8IEdFTjhfT0FfVElNRVJf UEVSSU9EX1NISUZUKSB8Cj4gKwkJKHN0cmVhbS0+cGVyaW9kaWMgPyBHRU44X09BX1RJTUVSX0VO QUJMRSA6IDApIHwKPiArCQlHRU44X09BX0NPVU5URVJfUkVTVU1FOwo+ICsKPiArCWZvciAoaSA9 IDI7IGkgPCBBUlJBWV9TSVpFKHJlZ3MpOyBpKyspCj4gKwkJcmVnc1tpXS52YWx1ZSA9IG9hX2Nv bmZpZ19mbGV4X3JlZyhvYV9jb25maWcsIHJlZ3NbaV0ucmVnKTsKPiArCj4gKwlyZXR1cm4gb2Ff Y29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJlYW0sIHJlZ3MsIEFSUkFZX1NJWkUocmVncykpOwo+ ICt9Cj4gKwo+ICAgc3RhdGljIGludCBnZW44X2VuYWJsZV9tZXRyaWNfc2V0KHN0cnVjdCBpOTE1 X3BlcmZfc3RyZWFtICpzdHJlYW0pCj4gICB7Cj4gICAJc3RydWN0IGludGVsX3VuY29yZSAqdW5j b3JlID0gc3RyZWFtLT51bmNvcmU7Cj4gQEAgLTI0NjksNyArMjQ4OSw3IEBAIHN0YXRpYyBpbnQg Z2VuMTJfZW5hYmxlX21ldHJpY19zZXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkK PiAgIAkgKiB0byBtYWtlIHN1cmUgYWxsIHNsaWNlcy9zdWJzbGljZXMgYXJlIE9OIGJlZm9yZSB3 cml0aW5nIHRvIE5PQQo+ICAgCSAqIHJlZ2lzdGVycy4KPiAgIAkgKi8KPiAtCXJldCA9IGxyY19j b25maWd1cmVfYWxsX2NvbnRleHRzKHN0cmVhbSwgb2FfY29uZmlnKTsKPiArCXJldCA9IGdlbjEy X2NvbmZpZ3VyZV9hbGxfY29udGV4dHMoc3RyZWFtLCBvYV9jb25maWcpOwo+ICAgCWlmIChyZXQp Cj4gICAJCXJldHVybiByZXQ7Cj4gICAKPiBAQCAtMjQ3OSw4ICsyNDk5LDcgQEAgc3RhdGljIGlu dCBnZW4xMl9lbmFibGVfbWV0cmljX3NldChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFt KQo+ICAgCSAqIHJlcXVlc3RlZCB0aGlzLgo+ICAgCSAqLwo+ICAgCWlmIChzdHJlYW0tPmN0eCkg ewo+IC0JCXJldCA9IGdlbjEyX2VtaXRfb2FyX2NvbmZpZyhzdHJlYW0tPnBpbm5lZF9jdHgsCj4g LQkJCQkJICAgIG9hX2NvbmZpZyAhPSBOVUxMKTsKPiArCQlyZXQgPSBnZW4xMl9jb25maWd1cmVf b2FyX2NvbnRleHQoc3RyZWFtLCBvYV9jb25maWcgIT0gTlVMTCk7CgoKSSB0aGluayB5b3UgY2Fu IGFzc3VtZSBvYV9jb25maWcgaXMgZ29pbmcgdG8gYmUgIT0gTlVMTCBpbiB0aGUgCmVuYWJsZV9t ZXRyaWNfc2V0IHZmdW5jLgoKCj4gICAJCWlmIChyZXQpCj4gICAJCQlyZXR1cm4gcmV0Owo+ICAg CX0KPiBAQCAtMjUxNCwxMSArMjUzMywxMSBAQCBzdGF0aWMgdm9pZCBnZW4xMl9kaXNhYmxlX21l dHJpY19zZXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkKPiAgIAlzdHJ1Y3QgaW50 ZWxfdW5jb3JlICp1bmNvcmUgPSBzdHJlYW0tPnVuY29yZTsKPiAgIAo+ICAgCS8qIFJlc2V0IGFs bCBjb250ZXh0cycgc2xpY2VzL3N1YnNsaWNlcyBjb25maWd1cmF0aW9ucy4gKi8KPiAtCWxyY19j b25maWd1cmVfYWxsX2NvbnRleHRzKHN0cmVhbSwgTlVMTCk7Cj4gKwlnZW4xMl9jb25maWd1cmVf YWxsX2NvbnRleHRzKHN0cmVhbSwgTlVMTCk7Cj4gICAKPiAgIAkvKiBkaXNhYmxlIHRoZSBjb250 ZXh0IHNhdmUvcmVzdG9yZSBvciBPQVIgY291bnRlcnMgKi8KPiAgIAlpZiAoc3RyZWFtLT5jdHgp Cj4gLQkJZ2VuMTJfZW1pdF9vYXJfY29uZmlnKHN0cmVhbS0+cGlubmVkX2N0eCwgZmFsc2UpOwo+ ICsJCWdlbjEyX2NvbmZpZ3VyZV9vYXJfY29udGV4dChzdHJlYW0sIGZhbHNlKTsKPiAgIAo+ICAg CS8qIE1ha2Ugc3VyZSB3ZSBkaXNhYmxlIG5vYSB0byBzYXZlIHBvd2VyLiAqLwo+ICAgCWludGVs X3VuY29yZV9ybXcodW5jb3JlLCBSUE1fQ09ORklHMSwgR0VOMTBfR1RfTk9BX0VOQUJMRSwgMCk7 Cj4gQEAgLTI4NjAsNyArMjg3OSwxMSBAQCB2b2lkIGk5MTVfb2FfaW5pdF9yZWdfc3RhdGUoY29u c3Qgc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAo+ICAgCQlyZXR1cm47Cj4gICAKPiAgIAlzdHJl YW0gPSBlbmdpbmUtPmk5MTUtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbTsKPiAtCWlmIChzdHJlYW0p Cj4gKwkvKgo+ICsJICogRm9yIGdlbjEyLCBvbmx5IENUWF9SX1BXUl9DTEtfU1RBVEUgbmVlZHMg dXBkYXRlLCBidXQgdGhlIGNhbGxlcgo+ICsJICogaXMgYWxyZWFkeSBkb2luZyB0aGF0LCBzbyBu b3RoaW5nIHRvIGJlIGRvbmUgZm9yIGdlbjEyIGhlcmUuCj4gKwkgKi8KPiArCWlmIChzdHJlYW0g JiYgSU5URUxfR0VOKHN0cmVhbS0+cGVyZi0+aTkxNSkgPCAxMikKPiAgIAkJZ2VuOF91cGRhdGVf cmVnX3N0YXRlX3VubG9ja2VkKGNlLCBzdHJlYW0pOwo+ICAgfQo+ICAgCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4