From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 14/14] drm/i915/pmu: Wire up engine busy stats to PMU Date: Tue, 18 Jul 2017 15:36:18 +0100 Message-ID: <20170718143618.12254-15-tvrtko.ursulin@linux.intel.com> References: <20170718143618.12254-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-lf0-x243.google.com (mail-lf0-x243.google.com [IPv6:2a00:1450:4010:c07::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id F3D8B6E369 for ; Tue, 18 Jul 2017 14:36:48 +0000 (UTC) Received: by mail-lf0-x243.google.com with SMTP id t72so2049368lff.0 for ; Tue, 18 Jul 2017 07:36:48 -0700 (PDT) In-Reply-To: <20170718143618.12254-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 Cc: Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCldlIGNhbiB1 c2UgZW5naW5lIGJ1c3kgc3RhdHMgaW5zdGVhZCBvZiB0aGUgTU1JTyBzYW1wbGluZyB0aW1lcgpm b3IgYmV0dGVyIGVmZmljaWVuY3kuCgpBcyBtaW5pbXVtIHRoaXMgc2F2ZXMgcGVyaW9kICogbnVt X2VuZ2luZXMgLyBzZWMgbW1pbyByZWFkcywKYW5kIGluIGEgYmV0dGVyIGNhc2UsIHdoZW4gb25s eSBlbmdpbmUgYnVzeSBzYW1wbGVycyBhcmUgYWN0aXZlLAppdCBlbmFibGVzIHVzIHRvIG5vdCBr aWNrIG9mZiB0aGUgc2FtcGxpbmcgdGltZXIgYXQgYWxsLgoKSXQgaXMgYWxzbyBtb3JlIGFjY3Vy YXRlIHNpbmNlIGl0IGRvZXNuJ3QgcmVseSBvbiBzYW1wbGluZy4KClNpZ25lZC1vZmYtYnk6IFR2 cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCB8ICAzICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bt dS5jIHwgNjQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIDIgZmls ZXMgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAppbmRleCBmMWZkZWQ2ZGQ5Y2YuLjI5ODZhMDE2NjBkOCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCkBAIC0yNjAzLDggKzI2MDMsMTEgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgewogCQlzcGlubG9ja190IGxvY2s7CiAJCXN0cnVjdCBocnRpbWVyIHRpbWVyOwogCQlib29s IHRpbWVyX2VuYWJsZWQ7CisJCWJvb2wgYnVzeV9zdGF0czsKIAkJdTY0IGVuYWJsZTsKIAkJdTY0 IHNhbXBsZVtfX0k5MTVfTlVNX1BNVV9TQU1QTEVSU107CisJCXN0cnVjdCB3b3JrX3N0cnVjdCBl bmFibGVfYnVzeV9zdGF0czsKKwkJc3RydWN0IGRlbGF5ZWRfd29yayBkaXNhYmxlX2J1c3lfc3Rh dHM7CiAJfSBwbXU7CiAKIAkvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wbXUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKaW5kZXggNGIxMTNjYWQ0 MGQxLi45OTY2MTI4NDM1OTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cG11LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwpAQCAtMjksMTIgKzI5 LDIzIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgdXNlcl9lbmdpbmVfbWFwW0k5MTVfTlVN X0VOR0lORVNdID0gewogCVtJOTE1X1NBTVBMRV9WRUNTXSA9IFZFQ1MsCiB9OwogCisjZGVmaW5l IEVOR0lORV9CVVNZX0JJVFMgXAorCShCSVRfVUxMKEk5MTVfUE1VX0NPVU5UX1JDU19CVVNZKSB8 IFwKKwkgQklUX1VMTChJOTE1X1BNVV9DT1VOVF9CQ1NfQlVTWSkgfCBcCisJIEJJVF9VTEwoSTkx NV9QTVVfQ09VTlRfVkNTX0JVU1kpIHwgXAorCSBCSVRfVUxMKEk5MTVfUE1VX0NPVU5UX1ZDUzJf QlVTWSkgfCBcCisJIEJJVF9VTEwoSTkxNV9QTVVfQ09VTlRfVkVDU19CVVNZKSkKKwogc3RhdGlj IGJvb2wgcG11X25lZWRzX3RpbWVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBib29s IGdwdV9hY3RpdmUpCiB7Ci0JaWYgKGdwdV9hY3RpdmUpCi0JCXJldHVybiBpOTE1LT5wbXUuZW5h YmxlOwotCWVsc2UKLQkJcmV0dXJuIGk5MTUtPnBtdS5lbmFibGUgPj4gMzI7CisJdTY0IG1hc2sg PSBpOTE1LT5wbXUuZW5hYmxlOworCisJaWYgKCFncHVfYWN0aXZlKQorCQltYXNrID4+PSAzMjsK KwllbHNlIGlmIChpOTE1LT5wbXUuYnVzeV9zdGF0cykKKwkJbWFzayAmPSB+RU5HSU5FX0JVU1lf QklUUzsKKworCXJldHVybiBtYXNrOwogfQogCiB2b2lkIGk5MTVfcG11X2d0X2lkbGUoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCkBAIC0xMTAsNyArMTIxLDggQEAgc3RhdGljIHZvaWQg ZW5naW5lc19zYW1wbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQlpZiAo c2FtcGxlX21hc2sgJiBCSVQoSTkxNV9TQU1QTEVfUVVFVUVEKSkKIAkJCWVuZ2luZS0+cG11X3Nh bXBsZVtJOTE1X1NBTVBMRV9RVUVVRURdICs9IFBFUklPRDsKIAotCQlpZiAoc2FtcGxlX21hc2sg JiBCSVQoSTkxNV9TQU1QTEVfQlVTWSkpIHsKKwkJaWYgKChzYW1wbGVfbWFzayAmIEJJVChJOTE1 X1NBTVBMRV9CVVNZKSkgJiYKKwkJICAgICFkZXZfcHJpdi0+cG11LmJ1c3lfc3RhdHMpIHsKIAkJ CWZ3ID0gZ3JhYl9mb3JjZXdha2UoZGV2X3ByaXYsIGZ3KTsKIAkJCXZhbCA9IEk5MTVfUkVBRF9G VyhSSU5HX01JX01PREUoZW5naW5lLT5tbWlvX2Jhc2UpKTsKIAkJCWlmICghKHZhbCAmIE1PREVf SURMRSkpCkBAIC0zMzcsNiArMzQ5LDExIEBAIHN0YXRpYyB2b2lkIGk5MTVfcG11X3RpbWVyX2Nh bmNlbChzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJaHJ0aW1lcl9jYW5jZWwoJmh3Yy0+aHJ0 aW1lcik7CiB9CiAKK3N0YXRpYyBib29sIHN1cHBvcnRzX2J1c3lfc3RhdHModm9pZCkKK3sKKwly ZXR1cm4gaTkxNS5lbmFibGVfZXhlY2xpc3RzOworfQorCiBzdGF0aWMgdm9pZCBpOTE1X3BtdV9l bmFibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1ID0KQEAgLTM0NSw2ICszNjIsMTMgQEAgc3RhdGljIHZvaWQgaTkxNV9wbXVfZW5h YmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZpOTE1 LT5wbXUubG9jaywgZmxhZ3MpOwogCisJaWYgKHBtdV9jb25maWdfc2FtcGxlcihldmVudC0+YXR0 ci5jb25maWcpID09IEk5MTVfU0FNUExFX0JVU1kgJiYKKwkgICAgc3VwcG9ydHNfYnVzeV9zdGF0 cygpICYmICFpOTE1LT5wbXUuYnVzeV9zdGF0cykgeworCQlpOTE1LT5wbXUuYnVzeV9zdGF0cyA9 IHRydWU7CisJCWlmICghY2FuY2VsX2RlbGF5ZWRfd29yaygmaTkxNS0+cG11LmRpc2FibGVfYnVz eV9zdGF0cykpCisJCQlxdWV1ZV93b3JrKGk5MTUtPndxLCAmaTkxNS0+cG11LmVuYWJsZV9idXN5 X3N0YXRzKTsKKwl9CisKIAlpOTE1LT5wbXUuZW5hYmxlIHw9IEJJVF9VTEwoZXZlbnQtPmF0dHIu Y29uZmlnKTsKIAlpZiAocG11X25lZWRzX3RpbWVyKGk5MTUsIHRydWUpICYmICFpOTE1LT5wbXUu dGltZXJfZW5hYmxlZCkgewogCQlocnRpbWVyX3N0YXJ0X3JhbmdlX25zKCZpOTE1LT5wbXUudGlt ZXIsCkBAIC0zNjcsNiArMzkxLDExIEBAIHN0YXRpYyB2b2lkIGk5MTVfcG11X2Rpc2FibGUoc3Ry dWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCXNwaW5fbG9ja19pcnFzYXZlKCZpOTE1LT5wbXUubG9j aywgZmxhZ3MpOwogCWk5MTUtPnBtdS5lbmFibGUgJj0gfkJJVF9VTEwoZXZlbnQtPmF0dHIuY29u ZmlnKTsKIAlpOTE1LT5wbXUudGltZXJfZW5hYmxlZCAmPSBwbXVfbmVlZHNfdGltZXIoaTkxNSwg dHJ1ZSk7CisJaWYgKCEoaTkxNS0+cG11LmVuYWJsZSAmIEVOR0lORV9CVVNZX0JJVFMpICYmIGk5 MTUtPnBtdS5idXN5X3N0YXRzKSB7CisJCWk5MTUtPnBtdS5idXN5X3N0YXRzID0gZmFsc2U7CisJ CXF1ZXVlX2RlbGF5ZWRfd29yayhpOTE1LT53cSwgJmk5MTUtPnBtdS5kaXNhYmxlX2J1c3lfc3Rh dHMsCisJCQkJICAgcm91bmRfamlmZmllc191cF9yZWxhdGl2ZSgyICogSFopKTsKKwl9CiAJc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmaTkxNS0+cG11LmxvY2ssIGZsYWdzKTsKIAogCWk5MTVfcG11 X3RpbWVyX2NhbmNlbChldmVudCk7CkBAIC00NzEsNyArNTAwLDEyIEBAIHN0YXRpYyB2b2lkIGk5 MTVfcG11X2V2ZW50X3JlYWQoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCQkJLyogRG8gbm90 aGluZyAqLwogCQl9IGVsc2UgewogCQkJZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQgPSB1c2VyX2Vu Z2luZV9tYXBbdXNlcl9lbmdpbmVdOwotCQkJdmFsID0gaTkxNS0+ZW5naW5lW2lkXS0+cG11X3Nh bXBsZVtzYW1wbGVdOworCQkJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gaTkxNS0+ ZW5naW5lW2lkXTsKKworCQkJaWYgKGk5MTUtPnBtdS5idXN5X3N0YXRzICYmIHNhbXBsZSA9PSBJ OTE1X1NBTVBMRV9CVVNZKQorCQkJCXZhbCA9IGludGVsX2VuZ2luZV9nZXRfY3VycmVudF9idXN5 X25zKGVuZ2luZSk7CisJCQllbHNlCisJCQkJdmFsID0gZW5naW5lLT5wbXVfc2FtcGxlW3NhbXBs ZV07CiAJCX0KIAl9IGVsc2Ugc3dpdGNoIChldmVudC0+YXR0ci5jb25maWcpIHsKIAljYXNlIEk5 MTVfUE1VX0FDVFVBTF9GUkVRVUVOQ1k6CkBAIC02MDcsNiArNjQxLDE5IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICppOTE1X3BtdV9hdHRyX2dyb3Vwc1tdID0gewogICAg ICAgICBOVUxMCiB9OwogCitzdGF0aWMgdm9pZCBfX2VuYWJsZV9idXN5X3N0YXRzKHN0cnVjdCB3 b3JrX3N0cnVjdCAqd29yaykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9CisJ CWNvbnRhaW5lcl9vZih3b3JrLCB0eXBlb2YoKmk5MTUpLCBwbXUuZW5hYmxlX2J1c3lfc3RhdHMp OworCisJV0FSTl9PTl9PTkNFKGludGVsX2VuYWJsZV9lbmdpbmVfc3RhdHMoaTkxNSkpOworfQor CitzdGF0aWMgdm9pZCBfX2Rpc2FibGVfYnVzeV9zdGF0cyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndv cmspCit7CisJaW50ZWxfZGlzYWJsZV9lbmdpbmVfc3RhdHMoKTsKK30KKwogdm9pZCBpOTE1X3Bt dV9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKIAlpZiAoSU5URUxf R0VOKGk5MTUpIDw9IDIpCkBAIC02MjQsNiArNjcxLDggQEAgdm9pZCBpOTE1X3BtdV9yZWdpc3Rl cihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAogCXNwaW5fbG9ja19pbml0KCZpOTE1 LT5wbXUubG9jayk7CiAJaHJ0aW1lcl9pbml0KCZpOTE1LT5wbXUudGltZXIsIENMT0NLX01PTk9U T05JQywgSFJUSU1FUl9NT0RFX1JFTCk7CisJSU5JVF9XT1JLKCZpOTE1LT5wbXUuZW5hYmxlX2J1 c3lfc3RhdHMsIF9fZW5hYmxlX2J1c3lfc3RhdHMpOworCUlOSVRfREVMQVlFRF9XT1JLKCZpOTE1 LT5wbXUuZGlzYWJsZV9idXN5X3N0YXRzLCBfX2Rpc2FibGVfYnVzeV9zdGF0cyk7CiAJaTkxNS0+ cG11LnRpbWVyLmZ1bmN0aW9uID0gaTkxNV9zYW1wbGU7CiAJaTkxNS0+cG11LmVuYWJsZSA9IDA7 CiAKQEAgLTY0Miw0ICs2OTEsNyBAQCB2b2lkIGk5MTVfcG11X3VucmVnaXN0ZXIoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJaTkxNS0+cG11LmJhc2UuZXZlbnRfaW5pdCA9IE5VTEw7 CiAKIAlocnRpbWVyX2NhbmNlbCgmaTkxNS0+cG11LnRpbWVyKTsKKworCWZsdXNoX3dvcmsoJmk5 MTUtPnBtdS5lbmFibGVfYnVzeV9zdGF0cyk7CisJZmx1c2hfZGVsYXllZF93b3JrKCZpOTE1LT5w bXUuZGlzYWJsZV9idXN5X3N0YXRzKTsKIH0KLS0gCjIuOS40CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK