From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 09/10] drm/i915/pmu: Wire up engine busy stats to PMU Date: Wed, 2 Aug 2017 13:32:49 +0100 Message-ID: <20170802123249.14194-10-tvrtko.ursulin@linux.intel.com> References: <20170802123249.14194-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-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id EB7116F100 for ; Wed, 2 Aug 2017 12:33:02 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id d40so7012473wma.3 for ; Wed, 02 Aug 2017 05:33:02 -0700 (PDT) In-Reply-To: <20170802123249.14194-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCldlIGNhbiB1 c2UgZW5naW5lIGJ1c3kgc3RhdHMgaW5zdGVhZCBvZiB0aGUgTU1JTyBzYW1wbGluZyB0aW1lcgpm b3IgYmV0dGVyIGVmZmljaWVuY3kuCgpBcyBtaW5pbXVtIHRoaXMgc2F2ZXMgcGVyaW9kICogbnVt X2VuZ2luZXMgLyBzZWMgbW1pbyByZWFkcywKYW5kIGluIGEgYmV0dGVyIGNhc2UsIHdoZW4gb25s eSBlbmdpbmUgYnVzeSBzYW1wbGVycyBhcmUgYWN0aXZlLAppdCBlbmFibGVzIHVzIHRvIG5vdCBr aWNrIG9mZiB0aGUgc2FtcGxpbmcgdGltZXIgYXQgYWxsLgoKdjI6IFJlYmFzZS4KClNpZ25lZC1v ZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYyAgICAgICAgIHwgODYgKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmggfCAgMyArKwogMiBmaWxlcyBjaGFuZ2VkLCA3NyBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwppbmRleCAwZDljMGQwN2E0MzIuLjMyNzJlYzA3 NjNiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCkBAIC01OSw2ICs1OSwxMSBAQCBzdGF0aWMg dTY0IGV2ZW50X2VuYWJsZWRfbWFzayhzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJcmV0dXJu IGNvbmZpZ19lbmFibGVkX21hc2soZXZlbnQtPmF0dHIuY29uZmlnKTsKIH0KIAorc3RhdGljIGJv b2wgc3VwcG9ydHNfYnVzeV9zdGF0cyh2b2lkKQoreworCXJldHVybiBpOTE1LmVuYWJsZV9leGVj bGlzdHM7Cit9CisKIHN0YXRpYyBib29sIHBtdV9uZWVkc190aW1lcihzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSwgYm9vbCBncHVfYWN0aXZlKQogewogCXU2NCBlbmFibGUgPSBpOTE1LT5w bXUuZW5hYmxlOwpAQCAtNjksNiArNzQsOCBAQCBzdGF0aWMgYm9vbCBwbXVfbmVlZHNfdGltZXIo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIGJvb2wgZ3B1X2FjdGl2ZSkKIAogCWlmICgh Z3B1X2FjdGl2ZSkKIAkJZW5hYmxlICY9IH5FTkdJTkVfU0FNUExFX01BU0s7CisJZWxzZSBpZiAo c3VwcG9ydHNfYnVzeV9zdGF0cygpKQorCQllbmFibGUgJj0gfkJJVChJOTE1X1NBTVBMRV9CVVNZ KTsKIAogCXJldHVybiBlbmFibGU7CiB9CkBAIC0xMzIsNyArMTM5LDggQEAgc3RhdGljIHZvaWQg ZW5naW5lc19zYW1wbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQlpZiAo ZW5hYmxlICYgQklUKEk5MTVfU0FNUExFX1FVRVVFRCkpCiAJCQllbmdpbmUtPnBtdS5zYW1wbGVb STkxNV9TQU1QTEVfUVVFVUVEXSArPSBQRVJJT0Q7CiAKLQkJaWYgKGVuYWJsZSAmIEJJVChJOTE1 X1NBTVBMRV9CVVNZKSkgeworCQlpZiAoKGVuYWJsZSAmIEJJVChJOTE1X1NBTVBMRV9CVVNZKSkg JiYKKwkJICAgICFlbmdpbmUtPnBtdS5idXN5X3N0YXRzKSB7CiAJCQl1MzIgdmFsOwogCiAJCQlm dyA9IGdyYWJfZm9yY2V3YWtlKGRldl9wcml2LCBmdyk7CkBAIC0zNDksMTQgKzM1NywyOSBAQCBz dGF0aWMgdm9pZCBpOTE1X3BtdV90aW1lcl9jYW5jZWwoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50 KQogCWhydGltZXJfY2FuY2VsKCZod2MtPmhydGltZXIpOwogfQogCitzdGF0aWMgYm9vbCBlbmdp bmVfbmVlZHNfYnVzeV9zdGF0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCit7CisJ cmV0dXJuIHN1cHBvcnRzX2J1c3lfc3RhdHMoKSAmJgorCSAgICAgICAoZW5naW5lLT5wbXUuZW5h YmxlICYgQklUKEk5MTVfU0FNUExFX0JVU1kpKTsKK30KKwogc3RhdGljIHZvaWQgaTkxNV9wbXVf ZW5hYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSA9CiAJCWNvbnRhaW5lcl9vZihldmVudC0+cG11LCB0eXBlb2YoKmk5MTUpLCBw bXUuYmFzZSk7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gTlVMTDsKIAl1bnNp Z25lZCBsb25nIGZsYWdzOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmk5MTUtPnBtdS5sb2NrLCBm bGFncyk7CiAKKwlpZiAoaXNfZW5naW5lX2V2ZW50KGV2ZW50KSkgeworCQllbmdpbmUgPSBpbnRl bF9lbmdpbmVfbG9va3VwX3VzZXIoaTkxNSwKKwkJCQkJCSAgZW5naW5lX2V2ZW50X2NsYXNzKGV2 ZW50KSwKKwkJCQkJCSAgZW5naW5lX2V2ZW50X2luc3RhbmNlKGV2ZW50KSk7CisJCUdFTV9CVUdf T04oIWVuZ2luZSk7CisJCWVuZ2luZS0+cG11LmVuYWJsZSB8PSBCSVQoZW5naW5lX2V2ZW50X3Nh bXBsZShldmVudCkpOworCX0KKwogCWk5MTUtPnBtdS5lbmFibGUgfD0gZXZlbnRfZW5hYmxlZF9t YXNrKGV2ZW50KTsKIAogCWlmIChwbXVfbmVlZHNfdGltZXIoaTkxNSwgdHJ1ZSkgJiYgIWk5MTUt PnBtdS50aW1lcl9lbmFibGVkKSB7CkBAIC0zNjQsMTYgKzM4NywxMSBAQCBzdGF0aWMgdm9pZCBp OTE1X3BtdV9lbmFibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCQkJCSAgICAgICBuc190 b19rdGltZShQRVJJT0QpLCAwLAogCQkJCSAgICAgICBIUlRJTUVSX01PREVfUkVMX1BJTk5FRCk7 CiAJCWk5MTUtPnBtdS50aW1lcl9lbmFibGVkID0gdHJ1ZTsKLQl9Ci0KLQlpZiAoaXNfZW5naW5l X2V2ZW50KGV2ZW50KSkgewotCQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Ci0KLQkJ ZW5naW5lID0gaW50ZWxfZW5naW5lX2xvb2t1cF91c2VyKGk5MTUsCi0JCQkJCQkgIGVuZ2luZV9l dmVudF9jbGFzcyhldmVudCksCi0JCQkJCQkgIGVuZ2luZV9ldmVudF9pbnN0YW5jZShldmVudCkp OwotCQlHRU1fQlVHX09OKCFlbmdpbmUpOwotCQllbmdpbmUtPnBtdS5lbmFibGUgfD0gQklUKGVu Z2luZV9ldmVudF9zYW1wbGUoZXZlbnQpKTsKKwl9IGVsc2UgaWYgKGlzX2VuZ2luZV9ldmVudChl dmVudCkgJiYgZW5naW5lX25lZWRzX2J1c3lfc3RhdHMoZW5naW5lKSAmJgorCQkgICAhZW5naW5l LT5wbXUuYnVzeV9zdGF0cykgeworCQllbmdpbmUtPnBtdS5idXN5X3N0YXRzID0gdHJ1ZTsKKwkJ aWYgKCFjYW5jZWxfZGVsYXllZF93b3JrKCZlbmdpbmUtPnBtdS5kaXNhYmxlX2J1c3lfc3RhdHMp KQorCQkJcXVldWVfd29yayhpOTE1LT53cSwgJmVuZ2luZS0+cG11LmVuYWJsZV9idXN5X3N0YXRz KTsKIAl9CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpOTE1LT5wbXUubG9jaywgZmxhZ3Mp OwpAQCAtMzk5LDEwICs0MTcsMTcgQEAgc3RhdGljIHZvaWQgaTkxNV9wbXVfZGlzYWJsZShzdHJ1 Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJCQkJCQkgIGVuZ2luZV9ldmVudF9pbnN0YW5jZShldmVu dCkpOwogCQlHRU1fQlVHX09OKCFlbmdpbmUpOwogCQllbmdpbmUtPnBtdS5lbmFibGUgJj0gfkJJ VChlbmdpbmVfZXZlbnRfc2FtcGxlKGV2ZW50KSk7CisJCWlmIChlbmdpbmUtPnBtdS5idXN5X3N0 YXRzICYmCisJCSAgICAhZW5naW5lX25lZWRzX2J1c3lfc3RhdHMoZW5naW5lKSkgeworCQkJZW5n aW5lLT5wbXUuYnVzeV9zdGF0cyA9IGZhbHNlOworCQkJcXVldWVfZGVsYXllZF93b3JrKGk5MTUt PndxLAorCQkJCQkgICAmZW5naW5lLT5wbXUuZGlzYWJsZV9idXN5X3N0YXRzLAorCQkJCQkgICBy b3VuZF9qaWZmaWVzX3VwX3JlbGF0aXZlKDIgKiBIWikpOworCQl9CiAJCW1hc2sgPSAwOwogCQlm b3JfZWFjaF9lbmdpbmUoZW5naW5lLCBpOTE1LCBpZCkKIAkJCW1hc2sgfD0gZW5naW5lLT5wbXUu ZW5hYmxlOwotCQltYXNrID0gfm1hc2s7CisJCW1hc2sgPSAofm1hc2spICYgRU5HSU5FX1NBTVBM RV9NQVNLOwogCX0gZWxzZSB7CiAJCW1hc2sgPSBldmVudF9lbmFibGVkX21hc2soZXZlbnQpOwog CX0KQEAgLTQ3NCw2ICs0OTksOSBAQCBzdGF0aWMgdm9pZCBpOTE1X3BtdV9ldmVudF9yZWFkKHN0 cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIAogCQlpZiAoV0FSTl9PTl9PTkNFKCFlbmdpbmUpKSB7 CiAJCQkvKiBEbyBub3RoaW5nICovCisJCX0gZWxzZSBpZiAoc2FtcGxlID09IEk5MTVfU0FNUExF X0JVU1kgJiYKKwkJCSAgIGVuZ2luZS0+cG11LmJ1c3lfc3RhdHMpIHsKKwkJCXZhbCA9IGt0aW1l X3RvX25zKGludGVsX2VuZ2luZV9nZXRfYnVzeV90aW1lKGVuZ2luZSkpOwogCQl9IGVsc2Ugewog CQkJdmFsID0gZW5naW5lLT5wbXUuc2FtcGxlW3NhbXBsZV07CiAJCX0KQEAgLTYzNCw4ICs2NjIs MjcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgKmk5MTVfcG11X2F0dHJf Z3JvdXBzW10gPSB7CiAgICAgICAgIE5VTEwKIH07CiAKK3N0YXRpYyB2b2lkIF9fZW5hYmxlX2J1 c3lfc3RhdHMoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSA9CisJCWNvbnRhaW5lcl9vZih3b3JrLCB0eXBlb2YoKmVuZ2luZSksIHBt dS5lbmFibGVfYnVzeV9zdGF0cyk7CisKKwlXQVJOX09OX09OQ0UoaW50ZWxfZW5hYmxlX2VuZ2lu ZV9zdGF0cyhlbmdpbmUpKTsKK30KKworc3RhdGljIHZvaWQgX19kaXNhYmxlX2J1c3lfc3RhdHMo c3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSA9CisJICAgICAgIGNvbnRhaW5lcl9vZih3b3JrLCB0eXBlb2YoKmVuZ2luZSksIHBtdS5k aXNhYmxlX2J1c3lfc3RhdHMud29yayk7CisKKwlpbnRlbF9kaXNhYmxlX2VuZ2luZV9zdGF0cyhl bmdpbmUpOworfQorCiB2b2lkIGk5MTVfcG11X3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1KQogeworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKKwllbnVtIGlu dGVsX2VuZ2luZV9pZCBpZDsKKwogCWlmIChJTlRFTF9HRU4oaTkxNSkgPD0gMikKIAkJcmV0dXJu OwogCkBAIC02NTEsNiArNjk4LDEzIEBAIHZvaWQgaTkxNV9wbXVfcmVnaXN0ZXIoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAKIAlzcGluX2xvY2tfaW5pdCgmaTkxNS0+cG11LmxvY2sp OwogCWhydGltZXJfaW5pdCgmaTkxNS0+cG11LnRpbWVyLCBDTE9DS19NT05PVE9OSUMsIEhSVElN RVJfTU9ERV9SRUwpOworCisJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpIHsKKwkJ SU5JVF9XT1JLKCZlbmdpbmUtPnBtdS5lbmFibGVfYnVzeV9zdGF0cywgX19lbmFibGVfYnVzeV9z dGF0cyk7CisJCUlOSVRfREVMQVlFRF9XT1JLKCZlbmdpbmUtPnBtdS5kaXNhYmxlX2J1c3lfc3Rh dHMsCisJCQkgIF9fZGlzYWJsZV9idXN5X3N0YXRzKTsKKwl9CisKIAlpOTE1LT5wbXUudGltZXIu ZnVuY3Rpb24gPSBpOTE1X3NhbXBsZTsKIAlpOTE1LT5wbXUuZW5hYmxlID0gMDsKIApAQCAtNjYw LDYgKzcxNCw5IEBAIHZvaWQgaTkxNV9wbXVfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUpCiAKIHZvaWQgaTkxNV9wbXVfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKIHsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CisJZW51bSBp bnRlbF9lbmdpbmVfaWQgaWQ7CisKIAlpZiAoIWk5MTUtPnBtdS5iYXNlLmV2ZW50X2luaXQpCiAJ CXJldHVybjsKIApAQCAtNjY5LDQgKzcyNiw5IEBAIHZvaWQgaTkxNV9wbXVfdW5yZWdpc3Rlcihz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlpOTE1LT5wbXUuYmFzZS5ldmVudF9pbml0 ID0gTlVMTDsKIAogCWhydGltZXJfY2FuY2VsKCZpOTE1LT5wbXUudGltZXIpOworCisJZm9yX2Vh Y2hfZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpIHsKKwkJZmx1c2hfd29yaygmZW5naW5lLT5wbXUu ZW5hYmxlX2J1c3lfc3RhdHMpOworCQlmbHVzaF9kZWxheWVkX3dvcmsoJmVuZ2luZS0+cG11LmRp c2FibGVfYnVzeV9zdGF0cyk7CisJfQogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5oCmluZGV4IDY4ZjUwZWM3MmJlNi4uZmQ1ZDgzOGNhN2I1IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC0yNDgsNiArMjQ4LDkgQEAgc3RydWN0IGludGVs X2VuZ2luZV9jcyB7CiAJc3RydWN0IHsKIAkJdTMyIGVuYWJsZTsKIAkJdTY0IHNhbXBsZVs0XTsK KwkJYm9vbCBidXN5X3N0YXRzOworCQlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZW5hYmxlX2J1c3lfc3Rh dHM7CisJCXN0cnVjdCBkZWxheWVkX3dvcmsgZGlzYWJsZV9idXN5X3N0YXRzOwogCX0gcG11Owog CiAJLyoKLS0gCjIuOS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK