From mboxrd@z Thu Jan 1 00:00:00 1970 From: Umesh Nerlige Ramappa Subject: [PATCH 2/2] drm/i915/perf: Configure OAR for specific context Date: Mon, 11 Nov 2019 14:09:48 -0800 Message-ID: <20191111220948.32472-2-umesh.nerlige.ramappa@intel.com> References: <20191111220948.32472-1-umesh.nerlige.ramappa@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 17D226E2B4 for ; Mon, 11 Nov 2019 22:09:50 +0000 (UTC) In-Reply-To: <20191111220948.32472-1-umesh.nerlige.ramappa@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lionel G Landwerlin , Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org R2VuMTIgc3VwcG9ydHMgc2F2aW5nL3Jlc3RvcmluZyByZW5kZXIgY291bnRlcnMgcGVyIGNvbnRl eHQuIEFwcGx5IE9BUgpjb25maWd1cmF0aW9uIG9ubHkgZm9yIHRoZSBjb250ZXh0IHRoYXQgaXMg cGFzc2VkIGluIHRvIHBlcmYuCgpTaWduZWQtb2ZmLWJ5OiBVbWVzaCBOZXJsaWdlIFJhbWFwcGEg PHVtZXNoLm5lcmxpZ2UucmFtYXBwYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wZXJmLmMgfCAyMDMgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDExOCBpbnNlcnRpb25zKCspLCA4NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcGVyZi5jCmluZGV4IGI5MjIwMDBlNGI5Yi4uNjM2MzNlNzNhNjk1IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BlcmYuYwpAQCAtMjA0Nyw2ICsyMDQ3LDE4IEBAIHN0YXRpYyB1MzIgb2Ff Y29uZmlnX2ZsZXhfcmVnKGNvbnN0IHN0cnVjdCBpOTE1X29hX2NvbmZpZyAqb2FfY29uZmlnLAog CiAJcmV0dXJuIDA7CiB9CisKK3N0YXRpYyB2b2lkCitnZW4xMl91cGRhdGVfcmVnX3N0YXRlX3Vu bG9ja2VkKGNvbnN0IHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwKKwkJCQljb25zdCBzdHJ1Y3Qg aTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtKQoreworCXUzMiAqcmVnX3N0YXRlID0gY2UtPmxyY19y ZWdfc3RhdGU7CisKKwkvKiBVc2UgYSBzdGFibGUgcG93ZXIgc3RhdGUgY29uZmlndXJhdGlvbiAq LworCXJlZ19zdGF0ZVtDVFhfUl9QV1JfQ0xLX1NUQVRFXSA9CisJCWludGVsX3NzZXVfbWFrZV9y cGNzKGNlLT5lbmdpbmUtPmk5MTUsICZjZS0+c3NldSk7Cit9CisKIC8qCiAgKiBOQjogSXQgbXVz dCBhbHdheXMgcmVtYWluIHBvaW50ZXIgc2FmZSB0byBydW4gdGhpcyBldmVuIGlmIHRoZSBPQSB1 bml0CiAgKiBoYXMgYmVlbiBkaXNhYmxlZC4KQEAgLTIwNzMsMjAgKzIwODUsMTIgQEAgZ2VuOF91 cGRhdGVfcmVnX3N0YXRlX3VubG9ja2VkKGNvbnN0IHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwK IAl1MzIgKnJlZ19zdGF0ZSA9IGNlLT5scmNfcmVnX3N0YXRlOwogCWludCBpOwogCi0JaWYgKElT X0dFTihzdHJlYW0tPnBlcmYtPmk5MTUsIDEyKSkgewotCQl1MzIgZm9ybWF0ID0gc3RyZWFtLT5v YV9idWZmZXIuZm9ybWF0OworCXJlZ19zdGF0ZVtjdHhfb2FjdHhjdHJsICsgMV0gPQorCQkoc3Ry ZWFtLT5wZXJpb2RfZXhwb25lbnQgPDwgR0VOOF9PQV9USU1FUl9QRVJJT0RfU0hJRlQpIHwKKwkJ KHN0cmVhbS0+cGVyaW9kaWMgPyBHRU44X09BX1RJTUVSX0VOQUJMRSA6IDApIHwKKwkJR0VOOF9P QV9DT1VOVEVSX1JFU1VNRTsKIAotCQlyZWdfc3RhdGVbY3R4X29hY3R4Y3RybCArIDFdID0KLQkJ CShmb3JtYXQgPDwgR0VOMTJfT0FSX09BQ09OVFJPTF9DT1VOVEVSX0ZPUk1BVF9TSElGVCkgfAot CQkJKHN0cmVhbS0+b2FfY29uZmlnID8gR0VOMTJfT0FSX09BQ09OVFJPTF9DT1VOVEVSX0VOQUJM RSA6IDApOwotCX0gZWxzZSB7Ci0JCXJlZ19zdGF0ZVtjdHhfb2FjdHhjdHJsICsgMV0gPQotCQkJ KHN0cmVhbS0+cGVyaW9kX2V4cG9uZW50IDw8IEdFTjhfT0FfVElNRVJfUEVSSU9EX1NISUZUKSB8 Ci0JCQkoc3RyZWFtLT5wZXJpb2RpYyA/IEdFTjhfT0FfVElNRVJfRU5BQkxFIDogMCkgfAotCQkJ R0VOOF9PQV9DT1VOVEVSX1JFU1VNRTsKLQl9Ci0KLQlmb3IgKGkgPSAwOyAhIWN0eF9mbGV4ZXUw ICYmIGkgPCBBUlJBWV9TSVpFKGZsZXhfcmVncyk7IGkrKykKKwlmb3IgKGkgPSAwOyBpIDwgQVJS QVlfU0laRShmbGV4X3JlZ3MpOyBpKyspCiAJCXJlZ19zdGF0ZVtjdHhfZmxleGV1MCArIGkgKiAy ICsgMV0gPQogCQkJb2FfY29uZmlnX2ZsZXhfcmVnKHN0cmVhbS0+b2FfY29uZmlnLCBmbGV4X3Jl Z3NbaV0pOwogCkBAIC0yMjE5LDM0ICsyMjIzLDQ5IEBAIHN0YXRpYyBpbnQgZ2VuOF9jb25maWd1 cmVfY29udGV4dChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAogCXJldHVybiBlcnI7CiB9 CiAKLXN0YXRpYyBpbnQgZ2VuMTJfZW1pdF9vYXJfY29uZmlnKHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjZSwgYm9vbCBlbmFibGUpCitzdGF0aWMgaW50IGdlbjEyX2NvbmZpZ3VyZV9vYXJfY29udGV4 dChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLCBib29sIGVuYWJsZSkKIHsKLQlzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpycTsKLQl1MzIgKmNzOwotCWludCBlcnIgPSAwOwotCi0JcnEgPSBp OTE1X3JlcXVlc3RfY3JlYXRlKGNlKTsKLQlpZiAoSVNfRVJSKHJxKSkKLQkJcmV0dXJuIFBUUl9F UlIocnEpOworCWludCBlcnI7CisJc3RydWN0IGludGVsX2NvbnRleHQgKmNlID0gc3RyZWFtLT5w aW5uZWRfY3R4OworCXN0cnVjdCBmbGV4IHJlZ3NbXSA9IHsKKwkJeworCQkJR0VOMTJfT0FSX09B Q09OVFJPTCwKKwkJCXN0cmVhbS0+cGVyZi0+Y3R4X29hY3R4Y3RybF9vZmZzZXQgKyAxLAorCQl9 LAorCQl7CisJCQlSSU5HX0NPTlRFWFRfQ09OVFJPTChjZS0+ZW5naW5lLT5tbWlvX2Jhc2UpLAor CQkJQ1RYX0NPTlRFWFRfQ09OVFJPTCwKKwkJfSwKKwl9OworCXUzMiBmb3JtYXQgPSBzdHJlYW0t Pm9hX2J1ZmZlci5mb3JtYXQ7CiAKLQljcyA9IGludGVsX3JpbmdfYmVnaW4ocnEsIDQpOwotCWlm IChJU19FUlIoY3MpKSB7Ci0JCWVyciA9IFBUUl9FUlIoY3MpOwotCQlnb3RvIG91dDsKLQl9CisJ cmVnc1swXS52YWx1ZSA9CisJCShmb3JtYXQgPDwgR0VOMTJfT0FSX09BQ09OVFJPTF9DT1VOVEVS X0ZPUk1BVF9TSElGVCkgfAorCQkoZW5hYmxlID8gR0VOMTJfT0FSX09BQ09OVFJPTF9DT1VOVEVS X0VOQUJMRSA6IDApOwogCi0JKmNzKysgPSBNSV9MT0FEX1JFR0lTVEVSX0lNTSgxKTsKLQkqY3Mr KyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KFJJTkdfQ09OVEVYVF9DT05UUk9MKGNlLT5lbmdpbmUt Pm1taW9fYmFzZSkpOwotCSpjcysrID0gX01BU0tFRF9GSUVMRChHRU4xMl9DVFhfQ1RSTF9PQVJf Q09OVEVYVF9FTkFCTEUsCi0JCQkgICAgICBlbmFibGUgPyBHRU4xMl9DVFhfQ1RSTF9PQVJfQ09O VEVYVF9FTkFCTEUgOiAwKTsKLQkqY3MrKyA9IE1JX05PT1A7CisJLyogVGhpcyB2YWx1ZSBpcyBv bmx5IGdvb2QgZm9yIExSSSBhbmQgbm90IGZvciB0aGUgY29udGV4dCBpbWFnZS4gKi8KKwlyZWdz WzFdLnZhbHVlID0gX01BU0tFRF9GSUVMRChHRU4xMl9DVFhfQ1RSTF9PQVJfQ09OVEVYVF9FTkFC TEUsCisJCQkJICAgICAgZW5hYmxlID8KKwkJCQkgICAgICBHRU4xMl9DVFhfQ1RSTF9PQVJfQ09O VEVYVF9FTkFCTEUgOgorCQkJCSAgICAgIDApOwogCi0JaW50ZWxfcmluZ19hZHZhbmNlKHJxLCBj cyk7CisJZXJyID0gaW50ZWxfY29udGV4dF9sb2NrX3Bpbm5lZChjZSk7CisJaWYgKGVycikKKwkJ cmV0dXJuIGVycjsKIAotb3V0OgotCWk5MTVfcmVxdWVzdF9hZGQocnEpOworCS8qIE1vZGlmeSB0 aGUgY29udGV4dCBpbWFnZSBvZiBwaW5uZWQgY29udGV4dC4KKwkgKgorCSAqIFdlIHdpbGwgbm90 IG1vZGlmeSB0aGUgQ1RYIENPTlRFWFQgQ09OVFJPTCBoZXJlIGFzIGFuIExSSSBpcworCSAqIHN1 ZmZpY2llbnQuIE9BUl9PQUNPTlRST0wgbmVlZHMgdG8gYmUgbW9kaWZpZWQgaW4gdGhlIGNvbnRl eHQKKwkgKiBpbWFnZSBhcyB3ZWxsIGFzIHdpdGggYW4gTFJJLgorCSAqLworCWVyciA9IGdlbjhf bW9kaWZ5X2NvbnRleHQoY2UsIHJlZ3MsIEFSUkFZX1NJWkUocmVncykgLSAxKTsKKwlpbnRlbF9j b250ZXh0X3VubG9ja19waW5uZWQoY2UpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CiAKLQly ZXR1cm4gZXJyOworCS8qIFVzZSBMUkkgdG8gbW9kaWZ5IHRoZSBNTUlPcyB1c2luZyBwaW5uZWQg Y29udGV4dCAqLworCXJldHVybiBnZW44X21vZGlmeV9zZWxmKGNlLCByZWdzLCBBUlJBWV9TSVpF KHJlZ3MpKTsKIH0KIAogLyoKQEAgLTIyNzIsNTMgKzIyOTEsMTYgQEAgc3RhdGljIGludCBnZW4x Ml9lbWl0X29hcl9jb25maWcoc3RydWN0IGludGVsX2NvbnRleHQgKmNlLCBib29sIGVuYWJsZSkK ICAqICAgcGVyLWNvbnRleHQgT0Egc3RhdGUuCiAgKgogICogTm90ZTogaXQncyBvbmx5IHRoZSBS Q1MvUmVuZGVyIGNvbnRleHQgdGhhdCBoYXMgYW55IE9BIHN0YXRlLgorICogTm90ZTogdGhlIGZp cnN0IGZsZXggcmVnaXN0ZXIgcGFzc2VkIG11c3QgYWx3YXlzIGJlIFJfUFdSX0NMS19TVEFURQog ICovCi1zdGF0aWMgaW50IGxyY19jb25maWd1cmVfYWxsX2NvbnRleHRzKHN0cnVjdCBpOTE1X3Bl cmZfc3RyZWFtICpzdHJlYW0sCi0JCQkJICAgICAgY29uc3Qgc3RydWN0IGk5MTVfb2FfY29uZmln ICpvYV9jb25maWcpCitzdGF0aWMgaW50IG9hX2NvbmZpZ3VyZV9hbGxfY29udGV4dHMoc3RydWN0 IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKKwkJCQkgICAgIHN0cnVjdCBmbGV4ICpyZWdzLAor CQkJCSAgICAgc2l6ZV90IG51bV9yZWdzKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1ID0gc3RyZWFtLT5wZXJmLT5pOTE1OwotCS8qIFRoZSBNTUlPIG9mZnNldHMgZm9yIEZsZXgg RVUgcmVnaXN0ZXJzIGFyZW4ndCBjb250aWd1b3VzICovCi0JY29uc3QgdTMyIGN0eF9mbGV4ZXUw ID0gc3RyZWFtLT5wZXJmLT5jdHhfZmxleGV1MF9vZmZzZXQ7Ci0jZGVmaW5lIGN0eF9mbGV4ZXVO KE4pIChjdHhfZmxleGV1MCArIDIgKiAoTikgKyAxKQotCXN0cnVjdCBmbGV4IHJlZ3NbXSA9IHsK LQkJewotCQkJR0VOOF9SX1BXUl9DTEtfU1RBVEUsCi0JCQlDVFhfUl9QV1JfQ0xLX1NUQVRFLAot CQl9LAotCQl7Ci0JCQlJU19HRU4oaTkxNSwgMTIpID8KLQkJCUdFTjEyX09BUl9PQUNPTlRST0wg OiBHRU44X09BQ1RYQ09OVFJPTCwKLQkJCXN0cmVhbS0+cGVyZi0+Y3R4X29hY3R4Y3RybF9vZmZz ZXQgKyAxLAotCQl9LAotCQl7IEVVX1BFUkZfQ05UTDAsIGN0eF9mbGV4ZXVOKDApIH0sCi0JCXsg RVVfUEVSRl9DTlRMMSwgY3R4X2ZsZXhldU4oMSkgfSwKLQkJeyBFVV9QRVJGX0NOVEwyLCBjdHhf ZmxleGV1TigyKSB9LAotCQl7IEVVX1BFUkZfQ05UTDMsIGN0eF9mbGV4ZXVOKDMpIH0sCi0JCXsg RVVfUEVSRl9DTlRMNCwgY3R4X2ZsZXhldU4oNCkgfSwKLQkJeyBFVV9QRVJGX0NOVEw1LCBjdHhf ZmxleGV1Tig1KSB9LAotCQl7IEVVX1BFUkZfQ05UTDYsIGN0eF9mbGV4ZXVOKDYpIH0sCi0JfTsK LSN1bmRlZiBjdHhfZmxleGV1TgogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKIAlz dHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LCAqY247Ci0Jc2l6ZV90IGFycmF5X3NpemUgPSBJ U19HRU4oaTkxNSwgMTIpID8gMiA6IEFSUkFZX1NJWkUocmVncyk7Ci0JaW50IGksIGVycjsKLQot CWlmIChJU19HRU4oaTkxNSwgMTIpKSB7Ci0JCXUzMiBmb3JtYXQgPSBzdHJlYW0tPm9hX2J1ZmZl ci5mb3JtYXQ7Ci0KLQkJcmVnc1sxXS52YWx1ZSA9Ci0JCQkoZm9ybWF0IDw8IEdFTjEyX09BUl9P QUNPTlRST0xfQ09VTlRFUl9GT1JNQVRfU0hJRlQpIHwKLQkJCShvYV9jb25maWcgPyBHRU4xMl9P QVJfT0FDT05UUk9MX0NPVU5URVJfRU5BQkxFIDogMCk7Ci0JfSBlbHNlIHsKLQkJcmVnc1sxXS52 YWx1ZSA9Ci0JCQkoc3RyZWFtLT5wZXJpb2RfZXhwb25lbnQgPDwgR0VOOF9PQV9USU1FUl9QRVJJ T0RfU0hJRlQpIHwKLQkJCShzdHJlYW0tPnBlcmlvZGljID8gR0VOOF9PQV9USU1FUl9FTkFCTEUg OiAwKSB8Ci0JCQlHRU44X09BX0NPVU5URVJfUkVTVU1FOwotCX0KLQotCWZvciAoaSA9IDI7ICEh Y3R4X2ZsZXhldTAgJiYgaSA8IGFycmF5X3NpemU7IGkrKykKLQkJcmVnc1tpXS52YWx1ZSA9IG9h X2NvbmZpZ19mbGV4X3JlZyhvYV9jb25maWcsIHJlZ3NbaV0ucmVnKTsKKwlpbnQgZXJyOwogCiAJ bG9ja2RlcF9hc3NlcnRfaGVsZCgmc3RyZWFtLT5wZXJmLT5sb2NrKTsKIApAQCAtMjM0OCw3ICsy MzMwLDcgQEAgc3RhdGljIGludCBscmNfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkx NV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCiAJCXNwaW5fdW5sb2NrKCZpOTE1LT5nZW0uY29udGV4 dHMubG9jayk7CiAKLQkJZXJyID0gZ2VuOF9jb25maWd1cmVfY29udGV4dChjdHgsIHJlZ3MsIGFy cmF5X3NpemUpOworCQllcnIgPSBnZW44X2NvbmZpZ3VyZV9jb250ZXh0KGN0eCwgcmVncywgbnVt X3JlZ3MpOwogCQlpZiAoZXJyKSB7CiAJCQlpOTE1X2dlbV9jb250ZXh0X3B1dChjdHgpOwogCQkJ cmV0dXJuIGVycjsKQEAgLTIzNzMsNyArMjM1NSw3IEBAIHN0YXRpYyBpbnQgbHJjX2NvbmZpZ3Vy ZV9hbGxfY29udGV4dHMoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKIAogCQlyZWdz WzBdLnZhbHVlID0gaW50ZWxfc3NldV9tYWtlX3JwY3MoaTkxNSwgJmNlLT5zc2V1KTsKIAotCQll cnIgPSBnZW44X21vZGlmeV9zZWxmKGNlLCByZWdzLCBhcnJheV9zaXplKTsKKwkJZXJyID0gZ2Vu OF9tb2RpZnlfc2VsZihjZSwgcmVncywgbnVtX3JlZ3MpOwogCQlpZiAoZXJyKQogCQkJcmV0dXJu IGVycjsKIAl9CkBAIC0yMzgxLDYgKzIzNjMsNTYgQEAgc3RhdGljIGludCBscmNfY29uZmlndXJl X2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCXJldHVybiAw OwogfQogCitzdGF0aWMgaW50IGdlbjEyX2NvbmZpZ3VyZV9hbGxfY29udGV4dHMoc3RydWN0IGk5 MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKKwkJCQkJY29uc3Qgc3RydWN0IGk5MTVfb2FfY29uZmln ICpvYV9jb25maWcpCit7CisJc3RydWN0IGZsZXggcmVnc1tdID0geworCQl7CisJCQlHRU44X1Jf UFdSX0NMS19TVEFURSwKKwkJCUNUWF9SX1BXUl9DTEtfU1RBVEUsCisJCX0sCisJfTsKKworCXJl dHVybiBvYV9jb25maWd1cmVfYWxsX2NvbnRleHRzKHN0cmVhbSwgcmVncywgQVJSQVlfU0laRShy ZWdzKSk7Cit9CisKK3N0YXRpYyBpbnQgbHJjX2NvbmZpZ3VyZV9hbGxfY29udGV4dHMoc3RydWN0 IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKKwkJCQkgICAgICBjb25zdCBzdHJ1Y3QgaTkxNV9v YV9jb25maWcgKm9hX2NvbmZpZykKK3sKKwkvKiBUaGUgTU1JTyBvZmZzZXRzIGZvciBGbGV4IEVV IHJlZ2lzdGVycyBhcmVuJ3QgY29udGlndW91cyAqLworCWNvbnN0IHUzMiBjdHhfZmxleGV1MCA9 IHN0cmVhbS0+cGVyZi0+Y3R4X2ZsZXhldTBfb2Zmc2V0OworI2RlZmluZSBjdHhfZmxleGV1TihO KSAoY3R4X2ZsZXhldTAgKyAyICogKE4pICsgMSkKKwlzdHJ1Y3QgZmxleCByZWdzW10gPSB7CisJ CXsKKwkJCUdFTjhfUl9QV1JfQ0xLX1NUQVRFLAorCQkJQ1RYX1JfUFdSX0NMS19TVEFURSwKKwkJ fSwKKwkJeworCQkJR0VOOF9PQUNUWENPTlRST0wsCisJCQlzdHJlYW0tPnBlcmYtPmN0eF9vYWN0 eGN0cmxfb2Zmc2V0ICsgMSwKKwkJfSwKKwkJeyBFVV9QRVJGX0NOVEwwLCBjdHhfZmxleGV1Tigw KSB9LAorCQl7IEVVX1BFUkZfQ05UTDEsIGN0eF9mbGV4ZXVOKDEpIH0sCisJCXsgRVVfUEVSRl9D TlRMMiwgY3R4X2ZsZXhldU4oMikgfSwKKwkJeyBFVV9QRVJGX0NOVEwzLCBjdHhfZmxleGV1Tigz KSB9LAorCQl7IEVVX1BFUkZfQ05UTDQsIGN0eF9mbGV4ZXVOKDQpIH0sCisJCXsgRVVfUEVSRl9D TlRMNSwgY3R4X2ZsZXhldU4oNSkgfSwKKwkJeyBFVV9QRVJGX0NOVEw2LCBjdHhfZmxleGV1Tig2 KSB9LAorCX07CisjdW5kZWYgY3R4X2ZsZXhldU4KKwlpbnQgaTsKKworCXJlZ3NbMV0udmFsdWUg PQorCQkoc3RyZWFtLT5wZXJpb2RfZXhwb25lbnQgPDwgR0VOOF9PQV9USU1FUl9QRVJJT0RfU0hJ RlQpIHwKKwkJKHN0cmVhbS0+cGVyaW9kaWMgPyBHRU44X09BX1RJTUVSX0VOQUJMRSA6IDApIHwK KwkJR0VOOF9PQV9DT1VOVEVSX1JFU1VNRTsKKworCWZvciAoaSA9IDI7IGkgPCBBUlJBWV9TSVpF KHJlZ3MpOyBpKyspCisJCXJlZ3NbaV0udmFsdWUgPSBvYV9jb25maWdfZmxleF9yZWcob2FfY29u ZmlnLCByZWdzW2ldLnJlZyk7CisKKwlyZXR1cm4gb2FfY29uZmlndXJlX2FsbF9jb250ZXh0cyhz dHJlYW0sIHJlZ3MsIEFSUkFZX1NJWkUocmVncykpOworfQorCiBzdGF0aWMgaW50IGdlbjhfZW5h YmxlX21ldHJpY19zZXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkKIHsKIAlzdHJ1 Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUgPSBzdHJlYW0tPnVuY29yZTsKQEAgLTI0NjQsNyArMjQ5 Niw3IEBAIHN0YXRpYyBpbnQgZ2VuMTJfZW5hYmxlX21ldHJpY19zZXQoc3RydWN0IGk5MTVfcGVy Zl9zdHJlYW0gKnN0cmVhbSkKIAkgKiB0byBtYWtlIHN1cmUgYWxsIHNsaWNlcy9zdWJzbGljZXMg YXJlIE9OIGJlZm9yZSB3cml0aW5nIHRvIE5PQQogCSAqIHJlZ2lzdGVycy4KIAkgKi8KLQlyZXQg PSBscmNfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJlYW0sIG9hX2NvbmZpZyk7CisJcmV0ID0g Z2VuMTJfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJlYW0sIG9hX2NvbmZpZyk7CiAJaWYgKHJl dCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMjQ3NCw4ICsyNTA2LDcgQEAgc3RhdGljIGludCBnZW4x Ml9lbmFibGVfbWV0cmljX3NldChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtKQogCSAq IHJlcXVlc3RlZCB0aGlzLgogCSAqLwogCWlmIChzdHJlYW0tPmN0eCkgewotCQlyZXQgPSBnZW4x Ml9lbWl0X29hcl9jb25maWcoc3RyZWFtLT5waW5uZWRfY3R4LAotCQkJCQkgICAgb2FfY29uZmln ICE9IE5VTEwpOworCQlyZXQgPSBnZW4xMl9jb25maWd1cmVfb2FyX2NvbnRleHQoc3RyZWFtLCBv YV9jb25maWcgIT0gTlVMTCk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCX0KQEAgLTI1 MDksMTEgKzI1NDAsMTEgQEAgc3RhdGljIHZvaWQgZ2VuMTJfZGlzYWJsZV9tZXRyaWNfc2V0KHN0 cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0pCiAJc3RydWN0IGludGVsX3VuY29yZSAqdW5j b3JlID0gc3RyZWFtLT51bmNvcmU7CiAKIAkvKiBSZXNldCBhbGwgY29udGV4dHMnIHNsaWNlcy9z dWJzbGljZXMgY29uZmlndXJhdGlvbnMuICovCi0JbHJjX2NvbmZpZ3VyZV9hbGxfY29udGV4dHMo c3RyZWFtLCBOVUxMKTsKKwlnZW4xMl9jb25maWd1cmVfYWxsX2NvbnRleHRzKHN0cmVhbSwgTlVM TCk7CiAKIAkvKiBkaXNhYmxlIHRoZSBjb250ZXh0IHNhdmUvcmVzdG9yZSBvciBPQVIgY291bnRl cnMgKi8KIAlpZiAoc3RyZWFtLT5jdHgpCi0JCWdlbjEyX2VtaXRfb2FyX2NvbmZpZyhzdHJlYW0t PnBpbm5lZF9jdHgsIGZhbHNlKTsKKwkJZ2VuMTJfY29uZmlndXJlX29hcl9jb250ZXh0KHN0cmVh bSwgZmFsc2UpOwogCiAJLyogTWFrZSBzdXJlIHdlIGRpc2FibGUgbm9hIHRvIHNhdmUgcG93ZXIu ICovCiAJaW50ZWxfdW5jb3JlX3Jtdyh1bmNvcmUsIFJQTV9DT05GSUcxLCBHRU4xMF9HVF9OT0Ff RU5BQkxFLCAwKTsKQEAgLTI4NTYsNyArMjg4Nyw5IEBAIHZvaWQgaTkxNV9vYV9pbml0X3JlZ19z dGF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCiAKIAlzdHJlYW0gPSBlbmdpbmUt Pmk5MTUtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbTsKIAlpZiAoc3RyZWFtKQotCQlnZW44X3VwZGF0 ZV9yZWdfc3RhdGVfdW5sb2NrZWQoY2UsIHN0cmVhbSk7CisJCUlTX0dFTihzdHJlYW0tPnBlcmYt Pmk5MTUsIDEyKSA/CisJCQlnZW4xMl91cGRhdGVfcmVnX3N0YXRlX3VubG9ja2VkKGNlLCBzdHJl YW0pIDoKKwkJCWdlbjhfdXBkYXRlX3JlZ19zdGF0ZV91bmxvY2tlZChjZSwgc3RyZWFtKTsKIH0K IAogLyoqCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeA== 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=-9.7 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_GIT 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 CA366C43331 for ; Mon, 11 Nov 2019 22:09:54 +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 A45832173B for ; Mon, 11 Nov 2019 22:09:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A45832173B 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 36DA36E9F3; Mon, 11 Nov 2019 22:09:54 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 17D226E2B4 for ; Mon, 11 Nov 2019 22:09:50 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Nov 2019 14:09:49 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,294,1569308400"; d="scan'208";a="215821436" Received: from orsosgc001.ra.intel.com ([10.23.184.150]) by orsmga002.jf.intel.com with ESMTP; 11 Nov 2019 14:09:49 -0800 From: Umesh Nerlige Ramappa To: Lionel G Landwerlin , Chris Wilson , intel-gfx@lists.freedesktop.org Date: Mon, 11 Nov 2019 14:09:48 -0800 Message-Id: <20191111220948.32472-2-umesh.nerlige.ramappa@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191111220948.32472-1-umesh.nerlige.ramappa@intel.com> References: <20191111220948.32472-1-umesh.nerlige.ramappa@intel.com> MIME-Version: 1.0 Subject: [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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191111220948.uJi1L1LkmN9YN8T8eALYwRPEJqOAoNPXjlbu6y6PiIE@z> R2VuMTIgc3VwcG9ydHMgc2F2aW5nL3Jlc3RvcmluZyByZW5kZXIgY291bnRlcnMgcGVyIGNvbnRl eHQuIEFwcGx5IE9BUgpjb25maWd1cmF0aW9uIG9ubHkgZm9yIHRoZSBjb250ZXh0IHRoYXQgaXMg cGFzc2VkIGluIHRvIHBlcmYuCgpTaWduZWQtb2ZmLWJ5OiBVbWVzaCBOZXJsaWdlIFJhbWFwcGEg PHVtZXNoLm5lcmxpZ2UucmFtYXBwYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wZXJmLmMgfCAyMDMgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDExOCBpbnNlcnRpb25zKCspLCA4NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcGVyZi5jCmluZGV4IGI5MjIwMDBlNGI5Yi4uNjM2MzNlNzNhNjk1IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BlcmYuYwpAQCAtMjA0Nyw2ICsyMDQ3LDE4IEBAIHN0YXRpYyB1MzIgb2Ff Y29uZmlnX2ZsZXhfcmVnKGNvbnN0IHN0cnVjdCBpOTE1X29hX2NvbmZpZyAqb2FfY29uZmlnLAog CiAJcmV0dXJuIDA7CiB9CisKK3N0YXRpYyB2b2lkCitnZW4xMl91cGRhdGVfcmVnX3N0YXRlX3Vu bG9ja2VkKGNvbnN0IHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwKKwkJCQljb25zdCBzdHJ1Y3Qg aTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtKQoreworCXUzMiAqcmVnX3N0YXRlID0gY2UtPmxyY19y ZWdfc3RhdGU7CisKKwkvKiBVc2UgYSBzdGFibGUgcG93ZXIgc3RhdGUgY29uZmlndXJhdGlvbiAq LworCXJlZ19zdGF0ZVtDVFhfUl9QV1JfQ0xLX1NUQVRFXSA9CisJCWludGVsX3NzZXVfbWFrZV9y cGNzKGNlLT5lbmdpbmUtPmk5MTUsICZjZS0+c3NldSk7Cit9CisKIC8qCiAgKiBOQjogSXQgbXVz dCBhbHdheXMgcmVtYWluIHBvaW50ZXIgc2FmZSB0byBydW4gdGhpcyBldmVuIGlmIHRoZSBPQSB1 bml0CiAgKiBoYXMgYmVlbiBkaXNhYmxlZC4KQEAgLTIwNzMsMjAgKzIwODUsMTIgQEAgZ2VuOF91 cGRhdGVfcmVnX3N0YXRlX3VubG9ja2VkKGNvbnN0IHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwK IAl1MzIgKnJlZ19zdGF0ZSA9IGNlLT5scmNfcmVnX3N0YXRlOwogCWludCBpOwogCi0JaWYgKElT X0dFTihzdHJlYW0tPnBlcmYtPmk5MTUsIDEyKSkgewotCQl1MzIgZm9ybWF0ID0gc3RyZWFtLT5v YV9idWZmZXIuZm9ybWF0OworCXJlZ19zdGF0ZVtjdHhfb2FjdHhjdHJsICsgMV0gPQorCQkoc3Ry ZWFtLT5wZXJpb2RfZXhwb25lbnQgPDwgR0VOOF9PQV9USU1FUl9QRVJJT0RfU0hJRlQpIHwKKwkJ KHN0cmVhbS0+cGVyaW9kaWMgPyBHRU44X09BX1RJTUVSX0VOQUJMRSA6IDApIHwKKwkJR0VOOF9P QV9DT1VOVEVSX1JFU1VNRTsKIAotCQlyZWdfc3RhdGVbY3R4X29hY3R4Y3RybCArIDFdID0KLQkJ CShmb3JtYXQgPDwgR0VOMTJfT0FSX09BQ09OVFJPTF9DT1VOVEVSX0ZPUk1BVF9TSElGVCkgfAot CQkJKHN0cmVhbS0+b2FfY29uZmlnID8gR0VOMTJfT0FSX09BQ09OVFJPTF9DT1VOVEVSX0VOQUJM RSA6IDApOwotCX0gZWxzZSB7Ci0JCXJlZ19zdGF0ZVtjdHhfb2FjdHhjdHJsICsgMV0gPQotCQkJ KHN0cmVhbS0+cGVyaW9kX2V4cG9uZW50IDw8IEdFTjhfT0FfVElNRVJfUEVSSU9EX1NISUZUKSB8 Ci0JCQkoc3RyZWFtLT5wZXJpb2RpYyA/IEdFTjhfT0FfVElNRVJfRU5BQkxFIDogMCkgfAotCQkJ R0VOOF9PQV9DT1VOVEVSX1JFU1VNRTsKLQl9Ci0KLQlmb3IgKGkgPSAwOyAhIWN0eF9mbGV4ZXUw ICYmIGkgPCBBUlJBWV9TSVpFKGZsZXhfcmVncyk7IGkrKykKKwlmb3IgKGkgPSAwOyBpIDwgQVJS QVlfU0laRShmbGV4X3JlZ3MpOyBpKyspCiAJCXJlZ19zdGF0ZVtjdHhfZmxleGV1MCArIGkgKiAy ICsgMV0gPQogCQkJb2FfY29uZmlnX2ZsZXhfcmVnKHN0cmVhbS0+b2FfY29uZmlnLCBmbGV4X3Jl Z3NbaV0pOwogCkBAIC0yMjE5LDM0ICsyMjIzLDQ5IEBAIHN0YXRpYyBpbnQgZ2VuOF9jb25maWd1 cmVfY29udGV4dChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAogCXJldHVybiBlcnI7CiB9 CiAKLXN0YXRpYyBpbnQgZ2VuMTJfZW1pdF9vYXJfY29uZmlnKHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjZSwgYm9vbCBlbmFibGUpCitzdGF0aWMgaW50IGdlbjEyX2NvbmZpZ3VyZV9vYXJfY29udGV4 dChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLCBib29sIGVuYWJsZSkKIHsKLQlzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpycTsKLQl1MzIgKmNzOwotCWludCBlcnIgPSAwOwotCi0JcnEgPSBp OTE1X3JlcXVlc3RfY3JlYXRlKGNlKTsKLQlpZiAoSVNfRVJSKHJxKSkKLQkJcmV0dXJuIFBUUl9F UlIocnEpOworCWludCBlcnI7CisJc3RydWN0IGludGVsX2NvbnRleHQgKmNlID0gc3RyZWFtLT5w aW5uZWRfY3R4OworCXN0cnVjdCBmbGV4IHJlZ3NbXSA9IHsKKwkJeworCQkJR0VOMTJfT0FSX09B Q09OVFJPTCwKKwkJCXN0cmVhbS0+cGVyZi0+Y3R4X29hY3R4Y3RybF9vZmZzZXQgKyAxLAorCQl9 LAorCQl7CisJCQlSSU5HX0NPTlRFWFRfQ09OVFJPTChjZS0+ZW5naW5lLT5tbWlvX2Jhc2UpLAor CQkJQ1RYX0NPTlRFWFRfQ09OVFJPTCwKKwkJfSwKKwl9OworCXUzMiBmb3JtYXQgPSBzdHJlYW0t Pm9hX2J1ZmZlci5mb3JtYXQ7CiAKLQljcyA9IGludGVsX3JpbmdfYmVnaW4ocnEsIDQpOwotCWlm IChJU19FUlIoY3MpKSB7Ci0JCWVyciA9IFBUUl9FUlIoY3MpOwotCQlnb3RvIG91dDsKLQl9CisJ cmVnc1swXS52YWx1ZSA9CisJCShmb3JtYXQgPDwgR0VOMTJfT0FSX09BQ09OVFJPTF9DT1VOVEVS X0ZPUk1BVF9TSElGVCkgfAorCQkoZW5hYmxlID8gR0VOMTJfT0FSX09BQ09OVFJPTF9DT1VOVEVS X0VOQUJMRSA6IDApOwogCi0JKmNzKysgPSBNSV9MT0FEX1JFR0lTVEVSX0lNTSgxKTsKLQkqY3Mr KyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KFJJTkdfQ09OVEVYVF9DT05UUk9MKGNlLT5lbmdpbmUt Pm1taW9fYmFzZSkpOwotCSpjcysrID0gX01BU0tFRF9GSUVMRChHRU4xMl9DVFhfQ1RSTF9PQVJf Q09OVEVYVF9FTkFCTEUsCi0JCQkgICAgICBlbmFibGUgPyBHRU4xMl9DVFhfQ1RSTF9PQVJfQ09O VEVYVF9FTkFCTEUgOiAwKTsKLQkqY3MrKyA9IE1JX05PT1A7CisJLyogVGhpcyB2YWx1ZSBpcyBv bmx5IGdvb2QgZm9yIExSSSBhbmQgbm90IGZvciB0aGUgY29udGV4dCBpbWFnZS4gKi8KKwlyZWdz WzFdLnZhbHVlID0gX01BU0tFRF9GSUVMRChHRU4xMl9DVFhfQ1RSTF9PQVJfQ09OVEVYVF9FTkFC TEUsCisJCQkJICAgICAgZW5hYmxlID8KKwkJCQkgICAgICBHRU4xMl9DVFhfQ1RSTF9PQVJfQ09O VEVYVF9FTkFCTEUgOgorCQkJCSAgICAgIDApOwogCi0JaW50ZWxfcmluZ19hZHZhbmNlKHJxLCBj cyk7CisJZXJyID0gaW50ZWxfY29udGV4dF9sb2NrX3Bpbm5lZChjZSk7CisJaWYgKGVycikKKwkJ cmV0dXJuIGVycjsKIAotb3V0OgotCWk5MTVfcmVxdWVzdF9hZGQocnEpOworCS8qIE1vZGlmeSB0 aGUgY29udGV4dCBpbWFnZSBvZiBwaW5uZWQgY29udGV4dC4KKwkgKgorCSAqIFdlIHdpbGwgbm90 IG1vZGlmeSB0aGUgQ1RYIENPTlRFWFQgQ09OVFJPTCBoZXJlIGFzIGFuIExSSSBpcworCSAqIHN1 ZmZpY2llbnQuIE9BUl9PQUNPTlRST0wgbmVlZHMgdG8gYmUgbW9kaWZpZWQgaW4gdGhlIGNvbnRl eHQKKwkgKiBpbWFnZSBhcyB3ZWxsIGFzIHdpdGggYW4gTFJJLgorCSAqLworCWVyciA9IGdlbjhf bW9kaWZ5X2NvbnRleHQoY2UsIHJlZ3MsIEFSUkFZX1NJWkUocmVncykgLSAxKTsKKwlpbnRlbF9j b250ZXh0X3VubG9ja19waW5uZWQoY2UpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CiAKLQly ZXR1cm4gZXJyOworCS8qIFVzZSBMUkkgdG8gbW9kaWZ5IHRoZSBNTUlPcyB1c2luZyBwaW5uZWQg Y29udGV4dCAqLworCXJldHVybiBnZW44X21vZGlmeV9zZWxmKGNlLCByZWdzLCBBUlJBWV9TSVpF KHJlZ3MpKTsKIH0KIAogLyoKQEAgLTIyNzIsNTMgKzIyOTEsMTYgQEAgc3RhdGljIGludCBnZW4x Ml9lbWl0X29hcl9jb25maWcoc3RydWN0IGludGVsX2NvbnRleHQgKmNlLCBib29sIGVuYWJsZSkK ICAqICAgcGVyLWNvbnRleHQgT0Egc3RhdGUuCiAgKgogICogTm90ZTogaXQncyBvbmx5IHRoZSBS Q1MvUmVuZGVyIGNvbnRleHQgdGhhdCBoYXMgYW55IE9BIHN0YXRlLgorICogTm90ZTogdGhlIGZp cnN0IGZsZXggcmVnaXN0ZXIgcGFzc2VkIG11c3QgYWx3YXlzIGJlIFJfUFdSX0NMS19TVEFURQog ICovCi1zdGF0aWMgaW50IGxyY19jb25maWd1cmVfYWxsX2NvbnRleHRzKHN0cnVjdCBpOTE1X3Bl cmZfc3RyZWFtICpzdHJlYW0sCi0JCQkJICAgICAgY29uc3Qgc3RydWN0IGk5MTVfb2FfY29uZmln ICpvYV9jb25maWcpCitzdGF0aWMgaW50IG9hX2NvbmZpZ3VyZV9hbGxfY29udGV4dHMoc3RydWN0 IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKKwkJCQkgICAgIHN0cnVjdCBmbGV4ICpyZWdzLAor CQkJCSAgICAgc2l6ZV90IG51bV9yZWdzKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1ID0gc3RyZWFtLT5wZXJmLT5pOTE1OwotCS8qIFRoZSBNTUlPIG9mZnNldHMgZm9yIEZsZXgg RVUgcmVnaXN0ZXJzIGFyZW4ndCBjb250aWd1b3VzICovCi0JY29uc3QgdTMyIGN0eF9mbGV4ZXUw ID0gc3RyZWFtLT5wZXJmLT5jdHhfZmxleGV1MF9vZmZzZXQ7Ci0jZGVmaW5lIGN0eF9mbGV4ZXVO KE4pIChjdHhfZmxleGV1MCArIDIgKiAoTikgKyAxKQotCXN0cnVjdCBmbGV4IHJlZ3NbXSA9IHsK LQkJewotCQkJR0VOOF9SX1BXUl9DTEtfU1RBVEUsCi0JCQlDVFhfUl9QV1JfQ0xLX1NUQVRFLAot CQl9LAotCQl7Ci0JCQlJU19HRU4oaTkxNSwgMTIpID8KLQkJCUdFTjEyX09BUl9PQUNPTlRST0wg OiBHRU44X09BQ1RYQ09OVFJPTCwKLQkJCXN0cmVhbS0+cGVyZi0+Y3R4X29hY3R4Y3RybF9vZmZz ZXQgKyAxLAotCQl9LAotCQl7IEVVX1BFUkZfQ05UTDAsIGN0eF9mbGV4ZXVOKDApIH0sCi0JCXsg RVVfUEVSRl9DTlRMMSwgY3R4X2ZsZXhldU4oMSkgfSwKLQkJeyBFVV9QRVJGX0NOVEwyLCBjdHhf ZmxleGV1TigyKSB9LAotCQl7IEVVX1BFUkZfQ05UTDMsIGN0eF9mbGV4ZXVOKDMpIH0sCi0JCXsg RVVfUEVSRl9DTlRMNCwgY3R4X2ZsZXhldU4oNCkgfSwKLQkJeyBFVV9QRVJGX0NOVEw1LCBjdHhf ZmxleGV1Tig1KSB9LAotCQl7IEVVX1BFUkZfQ05UTDYsIGN0eF9mbGV4ZXVOKDYpIH0sCi0JfTsK LSN1bmRlZiBjdHhfZmxleGV1TgogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKIAlz dHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LCAqY247Ci0Jc2l6ZV90IGFycmF5X3NpemUgPSBJ U19HRU4oaTkxNSwgMTIpID8gMiA6IEFSUkFZX1NJWkUocmVncyk7Ci0JaW50IGksIGVycjsKLQot CWlmIChJU19HRU4oaTkxNSwgMTIpKSB7Ci0JCXUzMiBmb3JtYXQgPSBzdHJlYW0tPm9hX2J1ZmZl ci5mb3JtYXQ7Ci0KLQkJcmVnc1sxXS52YWx1ZSA9Ci0JCQkoZm9ybWF0IDw8IEdFTjEyX09BUl9P QUNPTlRST0xfQ09VTlRFUl9GT1JNQVRfU0hJRlQpIHwKLQkJCShvYV9jb25maWcgPyBHRU4xMl9P QVJfT0FDT05UUk9MX0NPVU5URVJfRU5BQkxFIDogMCk7Ci0JfSBlbHNlIHsKLQkJcmVnc1sxXS52 YWx1ZSA9Ci0JCQkoc3RyZWFtLT5wZXJpb2RfZXhwb25lbnQgPDwgR0VOOF9PQV9USU1FUl9QRVJJ T0RfU0hJRlQpIHwKLQkJCShzdHJlYW0tPnBlcmlvZGljID8gR0VOOF9PQV9USU1FUl9FTkFCTEUg OiAwKSB8Ci0JCQlHRU44X09BX0NPVU5URVJfUkVTVU1FOwotCX0KLQotCWZvciAoaSA9IDI7ICEh Y3R4X2ZsZXhldTAgJiYgaSA8IGFycmF5X3NpemU7IGkrKykKLQkJcmVnc1tpXS52YWx1ZSA9IG9h X2NvbmZpZ19mbGV4X3JlZyhvYV9jb25maWcsIHJlZ3NbaV0ucmVnKTsKKwlpbnQgZXJyOwogCiAJ bG9ja2RlcF9hc3NlcnRfaGVsZCgmc3RyZWFtLT5wZXJmLT5sb2NrKTsKIApAQCAtMjM0OCw3ICsy MzMwLDcgQEAgc3RhdGljIGludCBscmNfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkx NV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCiAJCXNwaW5fdW5sb2NrKCZpOTE1LT5nZW0uY29udGV4 dHMubG9jayk7CiAKLQkJZXJyID0gZ2VuOF9jb25maWd1cmVfY29udGV4dChjdHgsIHJlZ3MsIGFy cmF5X3NpemUpOworCQllcnIgPSBnZW44X2NvbmZpZ3VyZV9jb250ZXh0KGN0eCwgcmVncywgbnVt X3JlZ3MpOwogCQlpZiAoZXJyKSB7CiAJCQlpOTE1X2dlbV9jb250ZXh0X3B1dChjdHgpOwogCQkJ cmV0dXJuIGVycjsKQEAgLTIzNzMsNyArMjM1NSw3IEBAIHN0YXRpYyBpbnQgbHJjX2NvbmZpZ3Vy ZV9hbGxfY29udGV4dHMoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKIAogCQlyZWdz WzBdLnZhbHVlID0gaW50ZWxfc3NldV9tYWtlX3JwY3MoaTkxNSwgJmNlLT5zc2V1KTsKIAotCQll cnIgPSBnZW44X21vZGlmeV9zZWxmKGNlLCByZWdzLCBhcnJheV9zaXplKTsKKwkJZXJyID0gZ2Vu OF9tb2RpZnlfc2VsZihjZSwgcmVncywgbnVtX3JlZ3MpOwogCQlpZiAoZXJyKQogCQkJcmV0dXJu IGVycjsKIAl9CkBAIC0yMzgxLDYgKzIzNjMsNTYgQEAgc3RhdGljIGludCBscmNfY29uZmlndXJl X2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCXJldHVybiAw OwogfQogCitzdGF0aWMgaW50IGdlbjEyX2NvbmZpZ3VyZV9hbGxfY29udGV4dHMoc3RydWN0IGk5 MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKKwkJCQkJY29uc3Qgc3RydWN0IGk5MTVfb2FfY29uZmln ICpvYV9jb25maWcpCit7CisJc3RydWN0IGZsZXggcmVnc1tdID0geworCQl7CisJCQlHRU44X1Jf UFdSX0NMS19TVEFURSwKKwkJCUNUWF9SX1BXUl9DTEtfU1RBVEUsCisJCX0sCisJfTsKKworCXJl dHVybiBvYV9jb25maWd1cmVfYWxsX2NvbnRleHRzKHN0cmVhbSwgcmVncywgQVJSQVlfU0laRShy ZWdzKSk7Cit9CisKK3N0YXRpYyBpbnQgbHJjX2NvbmZpZ3VyZV9hbGxfY29udGV4dHMoc3RydWN0 IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKKwkJCQkgICAgICBjb25zdCBzdHJ1Y3QgaTkxNV9v YV9jb25maWcgKm9hX2NvbmZpZykKK3sKKwkvKiBUaGUgTU1JTyBvZmZzZXRzIGZvciBGbGV4IEVV IHJlZ2lzdGVycyBhcmVuJ3QgY29udGlndW91cyAqLworCWNvbnN0IHUzMiBjdHhfZmxleGV1MCA9 IHN0cmVhbS0+cGVyZi0+Y3R4X2ZsZXhldTBfb2Zmc2V0OworI2RlZmluZSBjdHhfZmxleGV1TihO KSAoY3R4X2ZsZXhldTAgKyAyICogKE4pICsgMSkKKwlzdHJ1Y3QgZmxleCByZWdzW10gPSB7CisJ CXsKKwkJCUdFTjhfUl9QV1JfQ0xLX1NUQVRFLAorCQkJQ1RYX1JfUFdSX0NMS19TVEFURSwKKwkJ fSwKKwkJeworCQkJR0VOOF9PQUNUWENPTlRST0wsCisJCQlzdHJlYW0tPnBlcmYtPmN0eF9vYWN0 eGN0cmxfb2Zmc2V0ICsgMSwKKwkJfSwKKwkJeyBFVV9QRVJGX0NOVEwwLCBjdHhfZmxleGV1Tigw KSB9LAorCQl7IEVVX1BFUkZfQ05UTDEsIGN0eF9mbGV4ZXVOKDEpIH0sCisJCXsgRVVfUEVSRl9D TlRMMiwgY3R4X2ZsZXhldU4oMikgfSwKKwkJeyBFVV9QRVJGX0NOVEwzLCBjdHhfZmxleGV1Tigz KSB9LAorCQl7IEVVX1BFUkZfQ05UTDQsIGN0eF9mbGV4ZXVOKDQpIH0sCisJCXsgRVVfUEVSRl9D TlRMNSwgY3R4X2ZsZXhldU4oNSkgfSwKKwkJeyBFVV9QRVJGX0NOVEw2LCBjdHhfZmxleGV1Tig2 KSB9LAorCX07CisjdW5kZWYgY3R4X2ZsZXhldU4KKwlpbnQgaTsKKworCXJlZ3NbMV0udmFsdWUg PQorCQkoc3RyZWFtLT5wZXJpb2RfZXhwb25lbnQgPDwgR0VOOF9PQV9USU1FUl9QRVJJT0RfU0hJ RlQpIHwKKwkJKHN0cmVhbS0+cGVyaW9kaWMgPyBHRU44X09BX1RJTUVSX0VOQUJMRSA6IDApIHwK KwkJR0VOOF9PQV9DT1VOVEVSX1JFU1VNRTsKKworCWZvciAoaSA9IDI7IGkgPCBBUlJBWV9TSVpF KHJlZ3MpOyBpKyspCisJCXJlZ3NbaV0udmFsdWUgPSBvYV9jb25maWdfZmxleF9yZWcob2FfY29u ZmlnLCByZWdzW2ldLnJlZyk7CisKKwlyZXR1cm4gb2FfY29uZmlndXJlX2FsbF9jb250ZXh0cyhz dHJlYW0sIHJlZ3MsIEFSUkFZX1NJWkUocmVncykpOworfQorCiBzdGF0aWMgaW50IGdlbjhfZW5h YmxlX21ldHJpY19zZXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkKIHsKIAlzdHJ1 Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUgPSBzdHJlYW0tPnVuY29yZTsKQEAgLTI0NjQsNyArMjQ5 Niw3IEBAIHN0YXRpYyBpbnQgZ2VuMTJfZW5hYmxlX21ldHJpY19zZXQoc3RydWN0IGk5MTVfcGVy Zl9zdHJlYW0gKnN0cmVhbSkKIAkgKiB0byBtYWtlIHN1cmUgYWxsIHNsaWNlcy9zdWJzbGljZXMg YXJlIE9OIGJlZm9yZSB3cml0aW5nIHRvIE5PQQogCSAqIHJlZ2lzdGVycy4KIAkgKi8KLQlyZXQg PSBscmNfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJlYW0sIG9hX2NvbmZpZyk7CisJcmV0ID0g Z2VuMTJfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJlYW0sIG9hX2NvbmZpZyk7CiAJaWYgKHJl dCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMjQ3NCw4ICsyNTA2LDcgQEAgc3RhdGljIGludCBnZW4x Ml9lbmFibGVfbWV0cmljX3NldChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtKQogCSAq IHJlcXVlc3RlZCB0aGlzLgogCSAqLwogCWlmIChzdHJlYW0tPmN0eCkgewotCQlyZXQgPSBnZW4x Ml9lbWl0X29hcl9jb25maWcoc3RyZWFtLT5waW5uZWRfY3R4LAotCQkJCQkgICAgb2FfY29uZmln ICE9IE5VTEwpOworCQlyZXQgPSBnZW4xMl9jb25maWd1cmVfb2FyX2NvbnRleHQoc3RyZWFtLCBv YV9jb25maWcgIT0gTlVMTCk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCX0KQEAgLTI1 MDksMTEgKzI1NDAsMTEgQEAgc3RhdGljIHZvaWQgZ2VuMTJfZGlzYWJsZV9tZXRyaWNfc2V0KHN0 cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0pCiAJc3RydWN0IGludGVsX3VuY29yZSAqdW5j b3JlID0gc3RyZWFtLT51bmNvcmU7CiAKIAkvKiBSZXNldCBhbGwgY29udGV4dHMnIHNsaWNlcy9z dWJzbGljZXMgY29uZmlndXJhdGlvbnMuICovCi0JbHJjX2NvbmZpZ3VyZV9hbGxfY29udGV4dHMo c3RyZWFtLCBOVUxMKTsKKwlnZW4xMl9jb25maWd1cmVfYWxsX2NvbnRleHRzKHN0cmVhbSwgTlVM TCk7CiAKIAkvKiBkaXNhYmxlIHRoZSBjb250ZXh0IHNhdmUvcmVzdG9yZSBvciBPQVIgY291bnRl cnMgKi8KIAlpZiAoc3RyZWFtLT5jdHgpCi0JCWdlbjEyX2VtaXRfb2FyX2NvbmZpZyhzdHJlYW0t PnBpbm5lZF9jdHgsIGZhbHNlKTsKKwkJZ2VuMTJfY29uZmlndXJlX29hcl9jb250ZXh0KHN0cmVh bSwgZmFsc2UpOwogCiAJLyogTWFrZSBzdXJlIHdlIGRpc2FibGUgbm9hIHRvIHNhdmUgcG93ZXIu ICovCiAJaW50ZWxfdW5jb3JlX3Jtdyh1bmNvcmUsIFJQTV9DT05GSUcxLCBHRU4xMF9HVF9OT0Ff RU5BQkxFLCAwKTsKQEAgLTI4NTYsNyArMjg4Nyw5IEBAIHZvaWQgaTkxNV9vYV9pbml0X3JlZ19z dGF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCiAKIAlzdHJlYW0gPSBlbmdpbmUt Pmk5MTUtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbTsKIAlpZiAoc3RyZWFtKQotCQlnZW44X3VwZGF0 ZV9yZWdfc3RhdGVfdW5sb2NrZWQoY2UsIHN0cmVhbSk7CisJCUlTX0dFTihzdHJlYW0tPnBlcmYt Pmk5MTUsIDEyKSA/CisJCQlnZW4xMl91cGRhdGVfcmVnX3N0YXRlX3VubG9ja2VkKGNlLCBzdHJl YW0pIDoKKwkJCWdlbjhfdXBkYXRlX3JlZ19zdGF0ZV91bmxvY2tlZChjZSwgc3RyZWFtKTsKIH0K IAogLyoqCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeA==