From: Tvrtko Ursulin Subject: [RFC 13/13] drm/i915: Add sysfs toggle to enable per-client engine stats Date: Wed, 3 Oct 2018 13:04:06 +0100 Message-ID: <20181003120406.6784-14-tvrtko.ursulin@linux.intel.com> References: <20181003120406.6784-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-wm1-x341.google.com (mail-wm1-x341.google.com [IPv6:2a00:1450:4864:20::341]) by gabe.freedesktop.org (Postfix) with ESMTPS id 90B636E457 for ; Wed, 3 Oct 2018 12:04:27 +0000 (UTC) Received: by mail-wm1-x341.google.com with SMTP id 206-v6so5458401wmb.5 for ; Wed, 03 Oct 2018 05:04:27 -0700 (PDT) In-Reply-To: <20181003120406.6784-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkJ5IGRlZmF1 bHQgd2UgYXJlIG5vdCBjb2xsZWN0aW5nIGFueSBwZXItZW5naW5lIGFuZCBwZXItY29udGV4dApz dGF0aXN0Y3MuCgpBZGQgYSBuZXcgc3lzZnMgdG9nZ2xlIHRvIGVuYWJsZSB0aGlzIGZhY2lsaXR5 OgoKJCBlY2hvIDEgPi9zeXMvY2xhc3MvZHJtL2NhcmQwL2NsaWVudHMvZW5hYmxlX3N0YXRzCgp2 MjogUmViYXNlLgp2Mzogc3lzZnNfYXR0cl9pbml0LgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVy c3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oICAgfCAgNCArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5j IHwgNzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA3 NyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggYTc1ZjgzNDVkYjI3 Li4yZDYxMTMzNWQzNjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjE5Niw2ICsyMTk2 LDEwIEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50 cyB7CiAJCXN0cnVjdCBrb2JqZWN0ICpyb290OwogCQlhdG9taWNfdCBzZXJpYWw7CisJCXN0cnVj dCB7CisJCQlib29sIGVuYWJsZWQ7CisJCQlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBhdHRyOwor CQl9IHN0YXRzOwogCX0gY2xpZW50czsKIAogCS8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMK aW5kZXggZDgwOTI1OTQ1NmVmLi5iZjMzYjBjYWI3YzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc3lzZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5 c2ZzLmMKQEAgLTU3Niw5ICs1NzYsNjcgQEAgc3RhdGljIHZvaWQgaTkxNV9zZXR1cF9lcnJvcl9j YXB0dXJlKHN0cnVjdCBkZXZpY2UgKmtkZXYpIHt9CiBzdGF0aWMgdm9pZCBpOTE1X3RlYXJkb3du X2Vycm9yX2NhcHR1cmUoc3RydWN0IGRldmljZSAqa2Rldikge30KICNlbmRpZgogCitzdGF0aWMg c3NpemVfdAorc2hvd19jbGllbnRfc3RhdHMoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRl dmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSA9CisJCWNvbnRhaW5lcl9vZihhdHRyLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSwgY2xpZW50cy5zdGF0cy5hdHRyKTsKKworCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0la RSwgIiV1XG4iLCBpOTE1LT5jbGllbnRzLnN0YXRzLmVuYWJsZWQpOworfQorCitzdGF0aWMgc3Np emVfdAorc3RvcmVfY2xpZW50X3N0YXRzKHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBkZXZp Y2VfYXR0cmlidXRlICphdHRyLAorCQkgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBjb3VudCkK K3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9CisJCWNvbnRhaW5lcl9vZihhdHRy LCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwgY2xpZW50cy5zdGF0cy5hdHRyKTsKKwlib29sIGRp c2FibGUgPSBmYWxzZTsKKwlib29sIGVuYWJsZSA9IGZhbHNlOworCWJvb2wgdmFsID0gZmFsc2U7 CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOworCWVudW0gaW50ZWxfZW5naW5lX2lk IGlkOworCWludCByZXQ7CisKKwkgLyogVXNlIFJDUyBhcyBwcm94eSBmb3IgYWxsIGVuZ2luZXMu ICovCisJaWYgKCFpbnRlbF9lbmdpbmVfc3VwcG9ydHNfc3RhdHMoaTkxNS0+ZW5naW5lW1JDU10p KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldCA9IGtzdHJ0b2Jvb2woYnVmLCAmdmFsKTsKKwlp ZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJcmV0ID0gaTkxNV9tdXRleF9sb2NrX2ludGVycnVw dGlibGUoJmk5MTUtPmRybSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCWlmICh2YWwg JiYgIWk5MTUtPmNsaWVudHMuc3RhdHMuZW5hYmxlZCkKKwkJZW5hYmxlID0gdHJ1ZTsKKwllbHNl IGlmICghdmFsICYmIGk5MTUtPmNsaWVudHMuc3RhdHMuZW5hYmxlZCkKKwkJZGlzYWJsZSA9IHRy dWU7CisKKwlpZiAoIWVuYWJsZSAmJiAhZGlzYWJsZSkKKwkJZ290byBvdXQ7CisKKwlmb3JfZWFj aF9lbmdpbmUoZW5naW5lLCBpOTE1LCBpZCkgeworCQlpZiAoZW5hYmxlKQorCQkJV0FSTl9PTl9P TkNFKGludGVsX2VuYWJsZV9lbmdpbmVfc3RhdHMoZW5naW5lKSk7CisJCWVsc2UgaWYgKGRpc2Fi bGUpCisJCQlpbnRlbF9kaXNhYmxlX2VuZ2luZV9zdGF0cyhlbmdpbmUpOworCX0KKworCWk5MTUt PmNsaWVudHMuc3RhdHMuZW5hYmxlZCA9IHZhbDsKKworb3V0OgorCW11dGV4X3VubG9jaygmaTkx NS0+ZHJtLnN0cnVjdF9tdXRleCk7CisKKwlyZXR1cm4gY291bnQ7Cit9CisKIHZvaWQgaTkxNV9z ZXR1cF9zeXNmcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJc3RydWN0 IGRldmljZSAqa2RldiA9IGRldl9wcml2LT5kcm0ucHJpbWFyeS0+a2RldjsKKwlzdHJ1Y3QgZGV2 aWNlX2F0dHJpYnV0ZSAqYXR0cjsKIAlpbnQgcmV0OwogCiAJZGV2X3ByaXYtPmNsaWVudHMucm9v dCA9CkBAIC01ODYsNiArNjQ0LDE4IEBAIHZvaWQgaTkxNV9zZXR1cF9zeXNmcyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaWYgKCFkZXZfcHJpdi0+Y2xpZW50cy5yb290KQog CQlEUk1fRVJST1IoIlBlci1jbGllbnQgc3lzZnMgc2V0dXAgZmFpbGVkXG4iKTsKIAorCWF0dHIg PSAmZGV2X3ByaXYtPmNsaWVudHMuc3RhdHMuYXR0cjsKKwlzeXNmc19hdHRyX2luaXQoJmF0dHIt PmF0dHIpOworCWF0dHItPmF0dHIubmFtZSA9ICJlbmFibGVfc3RhdHMiOworCWF0dHItPmF0dHIu bW9kZSA9IDA2NjQ7CisJYXR0ci0+c2hvdyA9IHNob3dfY2xpZW50X3N0YXRzOworCWF0dHItPnN0 b3JlID0gc3RvcmVfY2xpZW50X3N0YXRzOworCisJcmV0ID0gc3lzZnNfY3JlYXRlX2ZpbGUoZGV2 X3ByaXYtPmNsaWVudHMucm9vdCwKKwkJCQkoc3RydWN0IGF0dHJpYnV0ZSAqKWF0dHIpOworCWlm IChyZXQpCisJCURSTV9FUlJPUigiUGVyLWNsaWVudCBzeXNmcyBzZXR1cCBmYWlsZWQhICglZClc biIsIHJldCk7CisKICNpZmRlZiBDT05GSUdfUE0KIAlpZiAoSEFTX1JDNihkZXZfcHJpdikpIHsK IAkJcmV0ID0gc3lzZnNfbWVyZ2VfZ3JvdXAoJmtkZXYtPmtvYmosCkBAIC02NDcsNiArNzE3LDkg QEAgdm9pZCBpOTE1X3RlYXJkb3duX3N5c2ZzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAlzeXNmc191bm1lcmdlX2dyb3VwKCZrZGV2LT5rb2JqLCAmcmM2cF9hdHRyX2dyb3Vw KTsKICNlbmRpZgogCisJc3lzZnNfcmVtb3ZlX2ZpbGUoZGV2X3ByaXYtPmNsaWVudHMucm9vdCwK KwkJCSAgKHN0cnVjdCBhdHRyaWJ1dGUgKikmZGV2X3ByaXYtPmNsaWVudHMuc3RhdHMuYXR0cik7 CisKIAlpZiAoZGV2X3ByaXYtPmNsaWVudHMucm9vdCkKIAkJa29iamVjdF9wdXQoZGV2X3ByaXYt PmNsaWVudHMucm9vdCk7CiB9Ci0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=