From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t 2/7] intel-gpu-overlay: Consolidate perf PMU access to library Date: Mon, 25 Sep 2017 16:14:57 +0100 Message-ID: <20170925151502.7285-3-tvrtko.ursulin@linux.intel.com> References: <20170925151502.7285-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr0-x241.google.com (mail-wr0-x241.google.com [IPv6:2a00:1450:400c:c0c::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 464BC6E35B for ; Mon, 25 Sep 2017 15:15:12 +0000 (UTC) Received: by mail-wr0-x241.google.com with SMTP id n64so2605735wrb.2 for ; Mon, 25 Sep 2017 08:15:12 -0700 (PDT) In-Reply-To: <20170925151502.7285-1-tvrtko.ursulin@linux.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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClNpZ25lZC1v ZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Ci0tLQogbGli L2lndF9wZXJmLmMgICAgICAgICAgIHwgMzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiBsaWIvaWd0X3BlcmYuaCAgICAgICAgICAgfCAgMiArKwogb3ZlcmxheS9nZW0taW50ZXJy dXB0cy5jIHwgMTYgKy0tLS0tLS0tLS0tLS0tLQogb3ZlcmxheS9ncHUtZnJlcS5jICAgICAgIHwg MjIgKystLS0tLS0tLS0tLS0tLS0tLS0tLQogb3ZlcmxheS9ncHUtdG9wLmMgICAgICAgIHwgMzIg KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIG92ZXJsYXkvcG93ZXIuYyAgICAgICAg ICB8IDE3ICstLS0tLS0tLS0tLS0tLS0tCiBvdmVybGF5L3JjNi5jICAgICAgICAgICAgfCAyNCAr KystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDcgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygr KSwgOTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9wZXJmLmMgYi9saWIvaWd0 X3BlcmYuYwppbmRleCA0NWNjY2ZmMGFlNTMuLjBmYTVhZTNhY2I2NiAxMDA2NDQKLS0tIGEvbGli L2lndF9wZXJmLmMKKysrIGIvbGliL2lndF9wZXJmLmMKQEAgLTIsNiArMiw4IEBACiAjaW5jbHVk ZSA8ZmNudGwuaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KKyNp bmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgogCiAjaW5jbHVkZSAiaWd0X3Bl cmYuaCIKIApAQCAtMjQsMyArMjYsMzQgQEAgdWludDY0X3QgaTkxNV90eXBlX2lkKHZvaWQpCiAJ cmV0dXJuIHN0cnRvdWxsKGJ1ZiwgMCwgMCk7CiB9CiAKK3N0YXRpYyBpbnQgX3BlcmZfb3Blbihp bnQgY29uZmlnLCBpbnQgZ3JvdXAsIGludCBmb3JtYXQpCit7CisJc3RydWN0IHBlcmZfZXZlbnRf YXR0ciBhdHRyOworCisJbWVtc2V0KCZhdHRyLCAwLCBzaXplb2YgKGF0dHIpKTsKKworCWF0dHIu dHlwZSA9IGk5MTVfdHlwZV9pZCgpOworCWlmIChhdHRyLnR5cGUgPT0gMCkKKwkJcmV0dXJuIC1F Tk9FTlQ7CisKKwlhdHRyLmNvbmZpZyA9IGNvbmZpZzsKKworCWlmIChncm91cCA+PSAwKQorCQlm b3JtYXQgJj0gflBFUkZfRk9STUFUX0dST1VQOworCisJYXR0ci5yZWFkX2Zvcm1hdCA9IGZvcm1h dDsKKworCXJldHVybiBwZXJmX2V2ZW50X29wZW4oJmF0dHIsIC0xLCAwLCBncm91cCwgMCk7CisK K30KKworaW50IHBlcmZfaTkxNV9vcGVuKGludCBjb25maWcpCit7CisJcmV0dXJuIF9wZXJmX29w ZW4oY29uZmlnLCAtMSwgUEVSRl9GT1JNQVRfVE9UQUxfVElNRV9FTkFCTEVEKTsKK30KKworaW50 IHBlcmZfaTkxNV9vcGVuX2dyb3VwKGludCBjb25maWcsIGludCBncm91cCkKK3sKKwlyZXR1cm4g X3BlcmZfb3Blbihjb25maWcsIGdyb3VwLAorCQkJICBQRVJGX0ZPUk1BVF9UT1RBTF9USU1FX0VO QUJMRUQgfCBQRVJGX0ZPUk1BVF9HUk9VUCk7Cit9CmRpZmYgLS1naXQgYS9saWIvaWd0X3BlcmYu aCBiL2xpYi9pZ3RfcGVyZi5oCmluZGV4IGE4MGIzMTFjZDFkMS4uOGU2NzRjM2EzNzU1IDEwMDY0 NAotLS0gYS9saWIvaWd0X3BlcmYuaAorKysgYi9saWIvaWd0X3BlcmYuaApAQCAtNjIsNSArNjIs NyBAQCBwZXJmX2V2ZW50X29wZW4oc3RydWN0IHBlcmZfZXZlbnRfYXR0ciAqYXR0ciwKIH0KIAog dWludDY0X3QgaTkxNV90eXBlX2lkKHZvaWQpOworaW50IHBlcmZfaTkxNV9vcGVuKGludCBjb25m aWcpOworaW50IHBlcmZfaTkxNV9vcGVuX2dyb3VwKGludCBjb25maWcsIGludCBncm91cCk7CiAK ICNlbmRpZiAvKiBJOTE1X1BFUkZfSCAqLwpkaWZmIC0tZ2l0IGEvb3ZlcmxheS9nZW0taW50ZXJy dXB0cy5jIGIvb3ZlcmxheS9nZW0taW50ZXJydXB0cy5jCmluZGV4IDdiYTU0ZmNkNDg3ZC4uYTg0 YWVmMDM5OGE3IDEwMDY0NAotLS0gYS9vdmVybGF5L2dlbS1pbnRlcnJ1cHRzLmMKKysrIGIvb3Zl cmxheS9nZW0taW50ZXJydXB0cy5jCkBAIC0zNiwyMCArMzYsNiBAQAogI2luY2x1ZGUgImdlbS1p bnRlcnJ1cHRzLmgiCiAjaW5jbHVkZSAiZGVidWdmcy5oIgogCi1zdGF0aWMgaW50IHBlcmZfb3Bl bih2b2lkKQotewotCXN0cnVjdCBwZXJmX2V2ZW50X2F0dHIgYXR0cjsKLQotCW1lbXNldCgmYXR0 ciwgMCwgc2l6ZW9mIChhdHRyKSk7Ci0KLQlhdHRyLnR5cGUgPSBpOTE1X3R5cGVfaWQoKTsKLQlp ZiAoYXR0ci50eXBlID09IDApCi0JCXJldHVybiAtRU5PRU5UOwotCWF0dHIuY29uZmlnID0gSTkx NV9QRVJGX0lOVEVSUlVQVFM7Ci0KLQlyZXR1cm4gcGVyZl9ldmVudF9vcGVuKCZhdHRyLCAtMSwg MCwgLTEsIDApOwotfQotCiBzdGF0aWMgbG9uZyBsb25nIGRlYnVnZnNfcmVhZCh2b2lkKQogewog CWNoYXIgYnVmWzgxOTJdLCAqYjsKQEAgLTEyNyw3ICsxMTMsNyBAQCBpbnQgZ2VtX2ludGVycnVw dHNfaW5pdChzdHJ1Y3QgZ2VtX2ludGVycnVwdHMgKmlycXMpCiB7CiAJbWVtc2V0KGlycXMsIDAs IHNpemVvZigqaXJxcykpOwogCi0JaXJxcy0+ZmQgPSBwZXJmX29wZW4oKTsKKwlpcnFzLT5mZCA9 IHBlcmZfaTkxNV9vcGVuKEk5MTVfUEVSRl9JTlRFUlJVUFRTKTsKIAlpZiAoaXJxcy0+ZmQgPCAw ICYmIGludGVycnVwdHNfcmVhZCgpIDwgMCkKIAkJaXJxcy0+ZXJyb3IgPSBFTk9ERVY7CiAKZGlm ZiAtLWdpdCBhL292ZXJsYXkvZ3B1LWZyZXEuYyBiL292ZXJsYXkvZ3B1LWZyZXEuYwppbmRleCA3 ZjI5YjFhYTk4NmUuLjc2YzVlZDlhY2ZkMSAxMDA2NDQKLS0tIGEvb3ZlcmxheS9ncHUtZnJlcS5j CisrKyBiL292ZXJsYXkvZ3B1LWZyZXEuYwpAQCAtMzMsMzAgKzMzLDEyIEBACiAjaW5jbHVkZSAi Z3B1LWZyZXEuaCIKICNpbmNsdWRlICJkZWJ1Z2ZzLmgiCiAKLXN0YXRpYyBpbnQgcGVyZl9pOTE1 X29wZW4oaW50IGNvbmZpZywgaW50IGdyb3VwKQotewotCXN0cnVjdCBwZXJmX2V2ZW50X2F0dHIg YXR0cjsKLQotCW1lbXNldCgmYXR0ciwgMCwgc2l6ZW9mIChhdHRyKSk7Ci0KLQlhdHRyLnR5cGUg PSBpOTE1X3R5cGVfaWQoKTsKLQlpZiAoYXR0ci50eXBlID09IDApCi0JCXJldHVybiAtRU5PRU5U OwotCWF0dHIuY29uZmlnID0gY29uZmlnOwotCi0JYXR0ci5yZWFkX2Zvcm1hdCA9IFBFUkZfRk9S TUFUX1RPVEFMX1RJTUVfRU5BQkxFRDsKLQlpZiAoZ3JvdXAgPT0gLTEpCi0JCWF0dHIucmVhZF9m b3JtYXQgfD0gUEVSRl9GT1JNQVRfR1JPVVA7Ci0KLQlyZXR1cm4gcGVyZl9ldmVudF9vcGVuKCZh dHRyLCAtMSwgMCwgZ3JvdXAsIDApOwotfQotCiBzdGF0aWMgaW50IHBlcmZfb3Blbih2b2lkKQog ewogCWludCBmZDsKIAotCWZkID0gcGVyZl9pOTE1X29wZW4oSTkxNV9QRVJGX0FDVFVBTF9GUkVR VUVOQ1ksIC0xKTsKLQlpZiAocGVyZl9pOTE1X29wZW4oSTkxNV9QRVJGX1JFUVVFU1RFRF9GUkVR VUVOQ1ksIGZkKSA8IDApIHsKKwlmZCA9IHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5MTVfUEVSRl9B Q1RVQUxfRlJFUVVFTkNZLCAtMSk7CisJaWYgKHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5MTVfUEVS Rl9SRVFVRVNURURfRlJFUVVFTkNZLCBmZCkgPCAwKSB7CiAJCWNsb3NlKGZkKTsKIAkJZmQgPSAt MTsKIAl9CmRpZmYgLS1naXQgYS9vdmVybGF5L2dwdS10b3AuYyBiL292ZXJsYXkvZ3B1LXRvcC5j CmluZGV4IDA2ZjQ4OWRmZGM4My4uODEyZjQ3ZDVhY2VkIDEwMDY0NAotLS0gYS9vdmVybGF5L2dw dS10b3AuYworKysgYi9vdmVybGF5L2dwdS10b3AuYwpAQCAtNDgsMjQgKzQ4LDYgQEAKICNkZWZp bmUgSTkxNV9QRVJGX1JJTkdfV0FJVChuKSAoX19JOTE1X1BFUkZfUklORyhuKSArIDEpCiAjZGVm aW5lIEk5MTVfUEVSRl9SSU5HX1NFTUEobikgKF9fSTkxNV9QRVJGX1JJTkcobikgKyAyKQogCi1z dGF0aWMgaW50IHBlcmZfaTkxNV9vcGVuKGludCBjb25maWcsIGludCBncm91cCkKLXsKLQlzdHJ1 Y3QgcGVyZl9ldmVudF9hdHRyIGF0dHI7Ci0KLQltZW1zZXQoJmF0dHIsIDAsIHNpemVvZiAoYXR0 cikpOwotCi0JYXR0ci50eXBlID0gaTkxNV90eXBlX2lkKCk7Ci0JaWYgKGF0dHIudHlwZSA9PSAw KQotCQlyZXR1cm4gLUVOT0VOVDsKLQlhdHRyLmNvbmZpZyA9IGNvbmZpZzsKLQotCWF0dHIucmVh ZF9mb3JtYXQgPSBQRVJGX0ZPUk1BVF9UT1RBTF9USU1FX0VOQUJMRUQ7Ci0JaWYgKGdyb3VwID09 IC0xKQotCQlhdHRyLnJlYWRfZm9ybWF0IHw9IFBFUkZfRk9STUFUX0dST1VQOwotCi0JcmV0dXJu IHBlcmZfZXZlbnRfb3BlbigmYXR0ciwgLTEsIDAsIGdyb3VwLCAwKTsKLX0KLQogc3RhdGljIGlu dCBwZXJmX2luaXQoc3RydWN0IGdwdV90b3AgKmd0KQogewogCWNvbnN0IGNoYXIgKm5hbWVzW10g PSB7CkBAIC03NywyNyArNTksMjkgQEAgc3RhdGljIGludCBwZXJmX2luaXQoc3RydWN0IGdwdV90 b3AgKmd0KQogCX07CiAJaW50IG47CiAKLQlndC0+ZmQgPSBwZXJmX2k5MTVfb3BlbihJOTE1X1BF UkZfUklOR19CVVNZKDApLCAtMSk7CisJZ3QtPmZkID0gcGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkx NV9QRVJGX1JJTkdfQlVTWSgwKSwgLTEpOwogCWlmIChndC0+ZmQgPCAwKQogCQlyZXR1cm4gLTE7 CiAKLQlpZiAocGVyZl9pOTE1X29wZW4oSTkxNV9QRVJGX1JJTkdfV0FJVCgwKSwgZ3QtPmZkKSA+ PSAwKQorCWlmIChwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BFUkZfUklOR19XQUlUKDApLCBn dC0+ZmQpID49IDApCiAJCWd0LT5oYXZlX3dhaXQgPSAxOwogCi0JaWYgKHBlcmZfaTkxNV9vcGVu KEk5MTVfUEVSRl9SSU5HX1NFTUEoMCksIGd0LT5mZCkgPj0gMCkKKwlpZiAocGVyZl9pOTE1X29w ZW5fZ3JvdXAoSTkxNV9QRVJGX1JJTkdfU0VNQSgwKSwgZ3QtPmZkKSA+PSAwKQogCQlndC0+aGF2 ZV9zZW1hID0gMTsKIAogCWd0LT5yaW5nWzBdLm5hbWUgPSBuYW1lc1swXTsKIAlndC0+bnVtX3Jp bmdzID0gMTsKIAogCWZvciAobiA9IDE7IG5hbWVzW25dOyBuKyspIHsKLQkJaWYgKHBlcmZfaTkx NV9vcGVuKEk5MTVfUEVSRl9SSU5HX0JVU1kobiksIGd0LT5mZCkgPj0gMCkgeworCQlpZiAocGVy Zl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QRVJGX1JJTkdfQlVTWShuKSwgZ3QtPmZkKSA+PSAwKSB7 CiAJCQlpZiAoZ3QtPmhhdmVfd2FpdCAmJgotCQkJICAgIHBlcmZfaTkxNV9vcGVuKEk5MTVfUEVS Rl9SSU5HX1dBSVQobiksIGd0LT5mZCkgPCAwKQorCQkJICAgIHBlcmZfaTkxNV9vcGVuX2dyb3Vw KEk5MTVfUEVSRl9SSU5HX1dBSVQobiksCisJCQkJCQkgZ3QtPmZkKSA8IDApCiAJCQkJcmV0dXJu IC0xOwogCiAJCQlpZiAoZ3QtPmhhdmVfc2VtYSAmJgotCQkJICAgIHBlcmZfaTkxNV9vcGVuKEk5 MTVfUEVSRl9SSU5HX1NFTUEobiksIGd0LT5mZCkgPCAwKQorCQkJICAgIHBlcmZfaTkxNV9vcGVu X2dyb3VwKEk5MTVfUEVSRl9SSU5HX1NFTUEobiksCisJCQkJCQkgZ3QtPmZkKSA8IDApCiAJCQkJ cmV0dXJuIC0xOwogCiAJCQlndC0+cmluZ1tndC0+bnVtX3JpbmdzKytdLm5hbWUgPSBuYW1lc1tu XTsKZGlmZiAtLWdpdCBhL292ZXJsYXkvcG93ZXIuYyBiL292ZXJsYXkvcG93ZXIuYwppbmRleCA4 NGQ4NjBjYWU0MGMuLmRkNGFlYzZiZmZkOSAxMDA2NDQKLS0tIGEvb3ZlcmxheS9wb3dlci5jCisr KyBiL292ZXJsYXkvcG93ZXIuYwpAQCAtMzgsMjEgKzM4LDYgQEAKIAogLyogWFhYIElzIHRoaXMg ZXhwb3NlZCB0aHJvdWdoIFJBUEw/ICovCiAKLXN0YXRpYyBpbnQgcGVyZl9vcGVuKHZvaWQpCi17 Ci0Jc3RydWN0IHBlcmZfZXZlbnRfYXR0ciBhdHRyOwotCi0JbWVtc2V0KCZhdHRyLCAwLCBzaXpl b2YgKGF0dHIpKTsKLQotCWF0dHIudHlwZSA9IGk5MTVfdHlwZV9pZCgpOwotCWlmIChhdHRyLnR5 cGUgPT0gMCkKLQkJcmV0dXJuIC0xOwotCWF0dHIuY29uZmlnID0gSTkxNV9QRVJGX0VORVJHWTsK LQotCWF0dHIucmVhZF9mb3JtYXQgPSBQRVJGX0ZPUk1BVF9UT1RBTF9USU1FX0VOQUJMRUQ7Ci0J cmV0dXJuIHBlcmZfZXZlbnRfb3BlbigmYXR0ciwgLTEsIDAsIC0xLCAwKTsKLX0KLQogaW50IHBv d2VyX2luaXQoc3RydWN0IHBvd2VyICpwb3dlcikKIHsKIAljaGFyIGJ1Zls0MDk2XTsKQEAgLTYw LDcgKzQ1LDcgQEAgaW50IHBvd2VyX2luaXQoc3RydWN0IHBvd2VyICpwb3dlcikKIAogCW1lbXNl dChwb3dlciwgMCwgc2l6ZW9mKCpwb3dlcikpOwogCi0JcG93ZXItPmZkID0gcGVyZl9vcGVuKCk7 CisJcG93ZXItPmZkID0gcGVyZl9pOTE1X29wZW4oSTkxNV9QRVJGX0VORVJHWSk7CiAJaWYgKHBv d2VyLT5mZCAhPSAtMSkKIAkJcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL292ZXJsYXkvcmM2LmMg Yi9vdmVybGF5L3JjNi5jCmluZGV4IDMxNzViYjIyMzA4Zi4uNDZjOTc1YTU1N2ZmIDEwMDY0NAot LS0gYS9vdmVybGF5L3JjNi5jCisrKyBiL292ZXJsYXkvcmM2LmMKQEAgLTM1LDI0ICszNSw2IEBA CiAKICNpbmNsdWRlICJyYzYuaCIKIAotc3RhdGljIGludCBwZXJmX2k5MTVfb3BlbihpbnQgY29u ZmlnLCBpbnQgZ3JvdXApCi17Ci0Jc3RydWN0IHBlcmZfZXZlbnRfYXR0ciBhdHRyOwotCi0JbWVt c2V0KCZhdHRyLCAwLCBzaXplb2YgKGF0dHIpKTsKLQotCWF0dHIudHlwZSA9IGk5MTVfdHlwZV9p ZCgpOwotCWlmIChhdHRyLnR5cGUgPT0gMCkKLQkJcmV0dXJuIC1FTk9FTlQ7Ci0JYXR0ci5jb25m aWcgPSBjb25maWc7Ci0KLQlhdHRyLnJlYWRfZm9ybWF0ID0gUEVSRl9GT1JNQVRfVE9UQUxfVElN RV9FTkFCTEVEOwotCWlmIChncm91cCA9PSAtMSkKLQkJYXR0ci5yZWFkX2Zvcm1hdCB8PSBQRVJG X0ZPUk1BVF9HUk9VUDsKLQotCXJldHVybiBwZXJmX2V2ZW50X29wZW4oJmF0dHIsIC0xLCAwLCBn cm91cCwgMCk7Ci19Ci0KICNkZWZpbmUgUkM2CSgxPDwwKQogI2RlZmluZSBSQzZwCSgxPDwxKQog I2RlZmluZSBSQzZwcAkoMTw8MikKQEAgLTYxLDE1ICs0MywxNSBAQCBzdGF0aWMgaW50IHBlcmZf b3Blbih1bnNpZ25lZCAqZmxhZ3MpCiB7CiAJaW50IGZkOwogCi0JZmQgPSBwZXJmX2k5MTVfb3Bl bihJOTE1X1BFUkZfUkM2X1JFU0lERU5DWSwgLTEpOworCWZkID0gcGVyZl9pOTE1X29wZW5fZ3Jv dXAoSTkxNV9QRVJGX1JDNl9SRVNJREVOQ1ksIC0xKTsKIAlpZiAoZmQgPCAwKQogCQlyZXR1cm4g LTE7CiAKIAkqZmxhZ3MgfD0gUkM2OwotCWlmIChwZXJmX2k5MTVfb3BlbihJOTE1X1BFUkZfUkM2 cF9SRVNJREVOQ1ksIGZkKSA+PSAwKQorCWlmIChwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BF UkZfUkM2cF9SRVNJREVOQ1ksIGZkKSA+PSAwKQogCQkqZmxhZ3MgfD0gUkM2cDsKIAotCWlmIChw ZXJmX2k5MTVfb3BlbihJOTE1X1BFUkZfUkM2cHBfUkVTSURFTkNZLCBmZCkgPj0gMCkKKwlpZiAo cGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QRVJGX1JDNnBwX1JFU0lERU5DWSwgZmQpID49IDAp CiAJCSpmbGFncyB8PSBSQzZwcDsKIAogCXJldHVybiBmZDsKLS0gCjIuOS41CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK