From mboxrd@z Thu Jan 1 00:00:00 1970 From: Umesh Nerlige Ramappa Subject: [PATCH v2 3/3] drm/i915/perf: enable OAR context save/restore of performance counters Date: Wed, 16 Oct 2019 23:11:06 -0700 Message-ID: <20191017061106.22640-3-umesh.nerlige.ramappa@intel.com> References: <20191017061106.22640-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8043E6E9EA for ; Thu, 17 Oct 2019 06:11:08 +0000 (UTC) In-Reply-To: <20191017061106.22640-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: intel-gfx@lists.freedesktop.org Cc: Lucas De Marchi , Chris Wilson List-Id: intel-gfx@lists.freedesktop.org RnJvbTogTGlvbmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3ZXJsaW5AaW50ZWwuY29tPgoK V2Ugd2FudCB0aGlzIHNvIHdlIGNhbiBwcmVlbXB0IHBlcmZvcm1hbmNlIHF1ZXJpZXMgYW5kIGtl ZXAgdGhlIHN5c3RlbQpyZXNwb25zaXZlIGV2ZW4gd2hlbiBsb25nIHJ1bm5pbmcgcXVlcmllcyBh cmUgb25nb2luZy4gV2UgYXZvaWQgZG9pbmcKaXQgZm9yIGFsbCBjb250ZXh0cy4KCnYyOiB1c2Ug TFJJIHRvIG1vZGlmeSBjb250ZXh0IGNvbnRyb2wgKENocmlzKQoKU2lnbmVkLW9mZi1ieTogTGlv bmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3ZXJsaW5AaW50ZWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBVbWVzaCBOZXJsaWdlIFJhbWFwcGEgPHVtZXNoLm5lcmxpZ2UucmFtYXBwYUBpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMgfCAyMiArKysrKyst LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5oIHwgIDMgKysKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jICAgIHwgNzYgKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgOTAgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYwppbmRleCBlOWZlOWY3OWNlZGQuLmQ0NWMw MjBmYzEzZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMKQEAgLTEyMjIsNiArMTIy MiwxOSBAQCBzdGF0aWMgYm9vbCBjYW5fbWVyZ2VfcnEoY29uc3Qgc3RydWN0IGk5MTVfcmVxdWVz dCAqcHJldiwKIAlyZXR1cm4gdHJ1ZTsKIH0KIAordTMyIGludGVsX2xyY19tYWtlX2N0eF9jb250 cm9sKGNvbnN0IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKK3sKKwl1MzIgdmFsdWUg PQorCQlfTUFTS0VEX0JJVF9ESVNBQkxFKENUWF9DVFJMX0VOR0lORV9DVFhfUkVTVE9SRV9JTkhJ QklUKSB8CisJCV9NQVNLRURfQklUX0VOQUJMRShDVFhfQ1RSTF9JTkhJQklUX1NZTl9DVFhfU1dJ VENIKTsKKworCWlmIChJTlRFTF9HRU4oZW5naW5lLT5pOTE1KSA8IDExKQorCQl2YWx1ZSB8PSBf TUFTS0VEX0JJVF9ESVNBQkxFKENUWF9DVFJMX0VOR0lORV9DVFhfU0FWRV9JTkhJQklUIHwKKwkJ CQkJICAgIENUWF9DVFJMX1JTX0NUWF9FTkFCTEUpOworCisJcmV0dXJuIHZhbHVlOworfQorCiBz dGF0aWMgdm9pZCB2aXJ0dWFsX3VwZGF0ZV9yZWdpc3Rlcl9vZmZzZXRzKHUzMiAqcmVncywKIAkJ CQkJICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKQEAgLTM2NjcsMTQgKzM2 ODAsNyBAQCBzdGF0aWMgdm9pZCBpbml0X2NvbW1vbl9yZWdfc3RhdGUodTMyICogY29uc3QgcmVn cywKIAkJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkJCQkgIGNv bnN0IHN0cnVjdCBpbnRlbF9yaW5nICpyaW5nKQogewotCXJlZ3NbQ1RYX0NPTlRFWFRfQ09OVFJP TF0gPQotCQlfTUFTS0VEX0JJVF9ESVNBQkxFKENUWF9DVFJMX0VOR0lORV9DVFhfUkVTVE9SRV9J TkhJQklUKSB8Ci0JCV9NQVNLRURfQklUX0VOQUJMRShDVFhfQ1RSTF9JTkhJQklUX1NZTl9DVFhf U1dJVENIKTsKLQlpZiAoSU5URUxfR0VOKGVuZ2luZS0+aTkxNSkgPCAxMSkKLQkJcmVnc1tDVFhf Q09OVEVYVF9DT05UUk9MXSB8PQotCQkJX01BU0tFRF9CSVRfRElTQUJMRShDVFhfQ1RSTF9FTkdJ TkVfQ1RYX1NBVkVfSU5ISUJJVCB8Ci0JCQkJCSAgICBDVFhfQ1RSTF9SU19DVFhfRU5BQkxFKTsK LQorCXJlZ3NbQ1RYX0NPTlRFWFRfQ09OVFJPTF0gPSBpbnRlbF9scmNfbWFrZV9jdHhfY29udHJv bChlbmdpbmUpOwogCXJlZ3NbQ1RYX1JJTkdfQlVGRkVSX0NPTlRST0xdID0gUklOR19DVExfU0la RShyaW5nLT5zaXplKSB8IFJJTkdfVkFMSUQ7CiAJcmVnc1tDVFhfQkJfU1RBVEVdID0gUklOR19C Ql9QUEdUVDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xy Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmgKaW5kZXggOTlkYzU3NmE0 ZTI1Li42YjJiMTk2ZjA5ZTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX2xyYy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5oCkBAIC00 Myw2ICs0Myw3IEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3M7CiAjZGVmaW5lCSAgQ1RYX0NUUkxf RU5HSU5FX0NUWF9SRVNUT1JFX0lOSElCSVQJKDEgPDwgMCkKICNkZWZpbmUgICBDVFhfQ1RSTF9S U19DVFhfRU5BQkxFCQkoMSA8PCAxKQogI2RlZmluZQkgIENUWF9DVFJMX0VOR0lORV9DVFhfU0FW RV9JTkhJQklUCSgxIDw8IDIpCisjZGVmaW5lCSAgR0VOMTJfQ1RYX0NUUkxfT0FSX0NPTlRFWFRf RU5BQkxFCSgxIDw8IDgpCiAjZGVmaW5lIFJJTkdfQ09OVEVYVF9TVEFUVVNfUFRSKGJhc2UpCQlf TU1JTygoYmFzZSkgKyAweDNhMCkKICNkZWZpbmUgUklOR19FWEVDTElTVF9TUV9DT05URU5UUyhi YXNlKQkJX01NSU8oKGJhc2UpICsgMHg1MTApCiAjZGVmaW5lIFJJTkdfRVhFQ0xJU1RfQ09OVFJP TChiYXNlKQkJX01NSU8oKGJhc2UpICsgMHg1NTApCkBAIC0xNDUsNCArMTQ2LDYgQEAgc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqCiBpbnRlbF92aXJ0dWFsX2VuZ2luZV9nZXRfc2libGluZyhzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJCQkJIHVuc2lnbmVkIGludCBzaWJsaW5nKTsK IAordTMyIGludGVsX2xyY19tYWtlX2N0eF9jb250cm9sKGNvbnN0IHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSk7CisKICNlbmRpZiAvKiBfSU5URUxfTFJDX0hfICovCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcGVyZi5jCmluZGV4IGFiYzJiN2E2ZGM5Mi4uMDRlYmUzMjA3ZGU4IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3BlcmYuYwpAQCAtMjA4MSw5ICsyMDgxLDYgQEAgZ2VuOF91cGRhdGVfcmVnX3N0 YXRlX3VubG9ja2VkKGNvbnN0IHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwKIAlmb3IgKGkgPSAw OyAhIWN0eF9mbGV4ZXUwICYmIGkgPCBBUlJBWV9TSVpFKGZsZXhfcmVncyk7IGkrKykKIAkJcmVn X3N0YXRlW2N0eF9mbGV4ZXUwICsgaSAqIDIgKyAxXSA9CiAJCQlvYV9jb25maWdfZmxleF9yZWco c3RyZWFtLT5vYV9jb25maWcsIGZsZXhfcmVnc1tpXSk7Ci0KLQlyZWdfc3RhdGVbQ1RYX1JfUFdS X0NMS19TVEFURV0gPQotCQlpbnRlbF9zc2V1X21ha2VfcnBjcyhjZS0+ZW5naW5lLT5pOTE1LCAm Y2UtPnNzZXUpOwogfQogCiBzdHJ1Y3QgZmxleCB7CkBAIC0yMjExLDYgKzIyMDgsNjggQEAgc3Rh dGljIGludCBnZW44X2NvbmZpZ3VyZV9jb250ZXh0KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpj dHgsCiAJcmV0dXJuIGVycjsKIH0KIAorc3RhdGljIGludCBnZW4xMl9lbWl0X29hcl9jb25maWco c3RydWN0IGludGVsX2NvbnRleHQgKmNlLCBib29sIGVuYWJsZSkKK3sKKwlzdHJ1Y3QgaTkxNV9y ZXF1ZXN0ICpycTsKKwl1MzIgKmNzOworCWludCBlcnIgPSAwOworCisJcnEgPSBpOTE1X3JlcXVl c3RfY3JlYXRlKGNlKTsKKwlpZiAoSVNfRVJSKHJxKSkKKwkJcmV0dXJuIFBUUl9FUlIocnEpOwor CisJY3MgPSBpbnRlbF9yaW5nX2JlZ2luKHJxLCA0KTsKKwlpZiAoSVNfRVJSKGNzKSkgeworCQll cnIgPSBQVFJfRVJSKGNzKTsKKwkJZ290byBvdXQ7CisJfQorCisJKmNzKysgPSBNSV9MT0FEX1JF R0lTVEVSX0lNTSgxKTsKKwkqY3MrKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KFJJTkdfQ09OVEVY VF9DT05UUk9MKGNlLT5lbmdpbmUtPm1taW9fYmFzZSkpOworCSpjcysrID0gaW50ZWxfbHJjX21h a2VfY3R4X2NvbnRyb2woY2UtPmVuZ2luZSkgfAorCQkoZW5hYmxlID8KKwkJIF9NQVNLRURfQklU X0VOQUJMRShHRU4xMl9DVFhfQ1RSTF9PQVJfQ09OVEVYVF9FTkFCTEUpIDoKKwkJIF9NQVNLRURf QklUX0RJU0FCTEUoR0VOMTJfQ1RYX0NUUkxfT0FSX0NPTlRFWFRfRU5BQkxFKSk7CisJKmNzKysg PSBNSV9OT09QOworCisJaW50ZWxfcmluZ19hZHZhbmNlKHJxLCBjcyk7CisKK291dDoKKwlpOTE1 X3JlcXVlc3RfYWRkKHJxKTsKKworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgZ2VuMTJf Y29uZmlndXJlX2NvbnRleHRfb2FyKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCisJCQkJ ICAgICAgIGJvb2wgZW5hYmxlKQoreworCXN0cnVjdCBpOTE1X2dlbV9lbmdpbmVzX2l0ZXIgaXQ7 CisJc3RydWN0IGludGVsX2NvbnRleHQgKmNlOworCWludCBlcnIgPSAwOworCisJZm9yX2VhY2hf Z2VtX2VuZ2luZShjZSwgaTkxNV9nZW1fY29udGV4dF9sb2NrX2VuZ2luZXMoY3R4KSwgaXQpIHsK KwkJR0VNX0JVR19PTihjZSA9PSBjZS0+ZW5naW5lLT5rZXJuZWxfY29udGV4dCk7CisKKwkJaWYg KGNlLT5lbmdpbmUtPmNsYXNzICE9IFJFTkRFUl9DTEFTUykKKwkJCWNvbnRpbnVlOworCisJCWVy ciA9IGludGVsX2NvbnRleHRfbG9ja19waW5uZWQoY2UpOworCQlpZiAoZXJyKQorCQkJYnJlYWs7 CisKKwkJLyogT3RoZXJ3aXNlIE9BIHNldHRpbmdzIHdpbGwgYmUgc2V0IHVwb24gZmlyc3QgdXNl ICovCisJCWlmIChpbnRlbF9jb250ZXh0X2lzX3Bpbm5lZChjZSkpCisJCQllcnIgPSBnZW4xMl9l bWl0X29hcl9jb25maWcoY2UsIGVuYWJsZSk7CisKKwkJaW50ZWxfY29udGV4dF91bmxvY2tfcGlu bmVkKGNlKTsKKwkJaWYgKGVycikKKwkJCWJyZWFrOworCX0KKwlpOTE1X2dlbV9jb250ZXh0X3Vu bG9ja19lbmdpbmVzKGN0eCk7CisKKwlyZXR1cm4gZXJyOworfQorCiAvKgogICogTWFuYWdlcyB1 cGRhdGluZyB0aGUgcGVyLWNvbnRleHQgYXNwZWN0cyBvZiB0aGUgT0Egc3RyZWFtCiAgKiBjb25m aWd1cmF0aW9uIGFjcm9zcyBhbGwgY29udGV4dHMuCkBAIC0yMzE2LDYgKzIzNzUsMTcgQEAgc3Rh dGljIGludCBscmNfY29uZmlndXJlX2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVh bSAqc3RyZWFtLAogCQkJcmV0dXJuIGVycjsKIAkJfQogCisJCS8qCisJCSAqIEZvciBHZW4xMiwg cGVyZm9ybWFuY2UgY291bnRlcnMgYXJlIGNvbnRleHQKKwkJICogc2F2ZWQvcmVzdG9yZWQuIE9u bHkgZW5hYmxlIGl0IGZvciB0aGUgY29udGV4dCB0aGF0CisJCSAqIHJlcXVlc3RlZCB0aGlzLgor CQkgKi8KKwkJaWYgKGN0eCA9PSBzdHJlYW0tPmN0eCAmJiBJU19HRU4oaTkxNSwgMTIpKSB7CisJ CQllcnIgPSBnZW4xMl9jb25maWd1cmVfY29udGV4dF9vYXIoY3R4LCBvYV9jb25maWcgIT0gTlVM TCk7CisJCQlpZiAoZXJyKQorCQkJCXJldHVybiBlcnI7CisJCX0KKwogCQlzcGluX2xvY2soJmk5 MTUtPmdlbS5jb250ZXh0cy5sb2NrKTsKIAkJbGlzdF9zYWZlX3Jlc2V0X25leHQoY3R4LCBjbiwg bGluayk7CiAJCWk5MTVfZ2VtX2NvbnRleHRfcHV0KGN0eCk7Ci0tIAoyLjIwLjEKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==