From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 6/6] drm/i915: Add sysfs toggle to enable per-client engine stats Date: Fri, 10 May 2019 14:22:40 +0100 Message-ID: <20190510132240.11029-7-tvrtko.ursulin@linux.intel.com> References: <20190510132240.11029-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 94F04897BC for ; Fri, 10 May 2019 13:22:53 +0000 (UTC) In-Reply-To: <20190510132240.11029-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 cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZTY2MzkyNGRmYzc4 Li40OTBkODYzZDFlMWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjA4Miw2ICsyMDgy LDEwIEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50 cyB7CiAJCXN0cnVjdCBrb2JqZWN0ICpyb290OwogCQlhdG9taWNfdCBzZXJpYWw7CisJCXN0cnVj dCB7CisJCQlib29sIGVuYWJsZWQ7CisJCQlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBhdHRyOwor CQl9IHN0YXRzOwogCX0gY2xpZW50czsKIAogCXN0cnVjdCBpOTE1X2hkY3BfY29tcF9tYXN0ZXIg KmhkY3BfbWFzdGVyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNm cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jCmluZGV4IDA2YTU1ODQzNmY1 NC4uYjYwYzA3NzU5NTFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5 c2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jCkBAIC01NzEsOSAr NTcxLDY3IEBAIHN0YXRpYyB2b2lkIGk5MTVfc2V0dXBfZXJyb3JfY2FwdHVyZShzdHJ1Y3QgZGV2 aWNlICprZGV2KSB7fQogc3RhdGljIHZvaWQgaTkxNV90ZWFyZG93bl9lcnJvcl9jYXB0dXJlKHN0 cnVjdCBkZXZpY2UgKmtkZXYpIHt9CiAjZW5kaWYKIAorc3RhdGljIHNzaXplX3QKK3Nob3dfY2xp ZW50X3N0YXRzKHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICph dHRyLCBjaGFyICpidWYpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPQorCQlj b250YWluZXJfb2YoYXR0ciwgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUsIGNsaWVudHMuc3RhdHMu YXR0cik7CisKKwlyZXR1cm4gc25wcmludGYoYnVmLCBQQUdFX1NJWkUsICIldVxuIiwgaTkxNS0+ Y2xpZW50cy5zdGF0cy5lbmFibGVkKTsKK30KKworc3RhdGljIHNzaXplX3QKK3N0b3JlX2NsaWVu dF9zdGF0cyhzdHJ1Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0 ciwKKwkJICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgY291bnQpCit7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUgPQorCQljb250YWluZXJfb2YoYXR0ciwgc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUsIGNsaWVudHMuc3RhdHMuYXR0cik7CisJYm9vbCBkaXNhYmxlID0gZmFsc2U7CisJ Ym9vbCBlbmFibGUgPSBmYWxzZTsKKwlib29sIHZhbCA9IGZhbHNlOworCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZTsKKwllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKKwlpbnQgcmV0Owor CisJIC8qIFVzZSBSQ1MgYXMgcHJveHkgZm9yIGFsbCBlbmdpbmVzLiAqLworCWlmICghaW50ZWxf ZW5naW5lX3N1cHBvcnRzX3N0YXRzKGk5MTUtPmVuZ2luZVtSQ1MwXSkpCisJCXJldHVybiAtRUlO VkFMOworCisJcmV0ID0ga3N0cnRvYm9vbChidWYsICZ2YWwpOworCWlmIChyZXQpCisJCXJldHVy biByZXQ7CisKKwlyZXQgPSBpOTE1X211dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmaTkxNS0+ZHJt KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJaWYgKHZhbCAmJiAhaTkxNS0+Y2xpZW50 cy5zdGF0cy5lbmFibGVkKQorCQllbmFibGUgPSB0cnVlOworCWVsc2UgaWYgKCF2YWwgJiYgaTkx NS0+Y2xpZW50cy5zdGF0cy5lbmFibGVkKQorCQlkaXNhYmxlID0gdHJ1ZTsKKworCWlmICghZW5h YmxlICYmICFkaXNhYmxlKQorCQlnb3RvIG91dDsKKworCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUs IGk5MTUsIGlkKSB7CisJCWlmIChlbmFibGUpCisJCQlXQVJOX09OX09OQ0UoaW50ZWxfZW5hYmxl X2VuZ2luZV9zdGF0cyhlbmdpbmUpKTsKKwkJZWxzZSBpZiAoZGlzYWJsZSkKKwkJCWludGVsX2Rp c2FibGVfZW5naW5lX3N0YXRzKGVuZ2luZSk7CisJfQorCisJaTkxNS0+Y2xpZW50cy5zdGF0cy5l bmFibGVkID0gdmFsOworCitvdXQ6CisJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211 dGV4KTsKKworCXJldHVybiBjb3VudDsKK30KKwogdm9pZCBpOTE1X3NldHVwX3N5c2ZzKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgZGV2aWNlICprZGV2ID0g ZGV2X3ByaXYtPmRybS5wcmltYXJ5LT5rZGV2OworCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICph dHRyOwogCWludCByZXQ7CiAKIAlkZXZfcHJpdi0+Y2xpZW50cy5yb290ID0KQEAgLTU4MSw2ICs2 MzksMTggQEAgdm9pZCBpOTE1X3NldHVwX3N5c2ZzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIAlpZiAoIWRldl9wcml2LT5jbGllbnRzLnJvb3QpCiAJCURSTV9FUlJPUigiUGVy LWNsaWVudCBzeXNmcyBzZXR1cCBmYWlsZWRcbiIpOwogCisJYXR0ciA9ICZkZXZfcHJpdi0+Y2xp ZW50cy5zdGF0cy5hdHRyOworCXN5c2ZzX2F0dHJfaW5pdCgmYXR0ci0+YXR0cik7CisJYXR0ci0+ YXR0ci5uYW1lID0gImVuYWJsZV9zdGF0cyI7CisJYXR0ci0+YXR0ci5tb2RlID0gMDY2NDsKKwlh dHRyLT5zaG93ID0gc2hvd19jbGllbnRfc3RhdHM7CisJYXR0ci0+c3RvcmUgPSBzdG9yZV9jbGll bnRfc3RhdHM7CisKKwlyZXQgPSBzeXNmc19jcmVhdGVfZmlsZShkZXZfcHJpdi0+Y2xpZW50cy5y b290LAorCQkJCShzdHJ1Y3QgYXR0cmlidXRlICopYXR0cik7CisJaWYgKHJldCkKKwkJRFJNX0VS Uk9SKCJQZXItY2xpZW50IHN5c2ZzIHNldHVwIGZhaWxlZCEgKCVkKVxuIiwgcmV0KTsKKwogI2lm ZGVmIENPTkZJR19QTQogCWlmIChIQVNfUkM2KGRldl9wcml2KSkgewogCQlyZXQgPSBzeXNmc19t ZXJnZV9ncm91cCgma2Rldi0+a29iaiwKQEAgLTY0Miw2ICs3MTIsOSBAQCB2b2lkIGk5MTVfdGVh cmRvd25fc3lzZnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXN5c2ZzX3Vu bWVyZ2VfZ3JvdXAoJmtkZXYtPmtvYmosICZyYzZwX2F0dHJfZ3JvdXApOwogI2VuZGlmCiAKKwlz eXNmc19yZW1vdmVfZmlsZShkZXZfcHJpdi0+Y2xpZW50cy5yb290LAorCQkJICAoc3RydWN0IGF0 dHJpYnV0ZSAqKSZkZXZfcHJpdi0+Y2xpZW50cy5zdGF0cy5hdHRyKTsKKwogCWlmIChkZXZfcHJp di0+Y2xpZW50cy5yb290KQogCQlrb2JqZWN0X3B1dChkZXZfcHJpdi0+Y2xpZW50cy5yb290KTsK IH0KLS0gCjIuMTkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4