From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 3/9] drm/i915/pmu: Suspend sampling when GPU is idle Date: Wed, 11 Oct 2017 13:55:11 +0100 Message-ID: <20171011125517.1372-4-tvrtko.ursulin@linux.intel.com> References: <20171011125517.1372-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-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 96FE96E681 for ; Wed, 11 Oct 2017 12:55:28 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id q124so1791166wmb.5 for ; Wed, 11 Oct 2017 05:55:28 -0700 (PDT) In-Reply-To: <20171011125517.1372-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCklmIG9ubHkg YSBzdWJzZXQgb2YgZXZlbnRzIGlzIGVuYWJsZWQgd2UgY2FuIGFmZm9yZCB0byBzdXNwZW5kCnRo ZSBzYW1wbGluZyB0aW1lciB3aGVuIHRoZSBHUFUgaXMgaWRsZSBhbmQgc28gc2F2ZSBzb21lIGN5 Y2xlcwphbmQgcG93ZXIuCgp2MjogUmViYXNlIGFuZCBsaW1pdCB0aW1lciBldmVuIG1vcmUuCnYz OiBSZWJhc2UuCnY0OiBSZWJhc2UuCnY1OiBTa2lwIGFjdGlvbiBpZiBwZXJmIFBNVSBmYWlsZWQg dG8gcmVnaXN0ZXIuCnY2OiBDaGVja3BhdGNoIGNsZWFudXAuCnY3OgogKiBBZGQgYSBjb21tb24g aGVscGVyIHRvIHN0YXJ0IHRoZSB0aW1lciBpZiBuZWVkZWQuIChDaHJpcyBXaWxzb24pCiAqIEFk ZCBjb21tZW50IGV4cGxhaW5pbmcgYml0d2lzZSBsb2dpYyBpbiBwbXVfbmVlZHNfdGltZXIuCnY4 OiBGaXggc29tZSBjb21tZW50cyBzdHlsZXMuIChDaHJpcyBXaWxzb24pCnY5OiBSZWJhc2UuCgpT aWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpS ZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgIDQgKysKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cG11LmMgICAgICAgICB8IDg4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaCAgICAgICAgIHwgIDQgKysKIDUgZmlsZXMgY2hh bmdlZCwgODggaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKaW5kZXggYzU3N2Q4MTFkNTYwLi5hOGI1NjVlMTE5M2UgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaApAQCAtMzk5Nyw5ICszOTk3LDEzIEBAIGV4dGVybiB2b2lkIGk5MTVfcGVyZl91bnJl Z2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiAjaWZkZWYgQ09ORklH X1BFUkZfRVZFTlRTCiB2b2lkIGk5MTVfcG11X3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1KTsKIHZvaWQgaTkxNV9wbXVfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSk7Cit2b2lkIGk5MTVfcG11X2d0X2lkbGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUpOwordm9pZCBpOTE1X3BtdV9ndF9hY3RpdmUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUpOwogI2Vsc2UKIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3BtdV9yZWdpc3Rlcihz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkge30KIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1 X3BtdV91bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KSB7fQorc3RhdGlj IGlubGluZSB2b2lkIGk5MTVfcG11X2d0X2lkbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpIHt9CitzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9wbXVfZ3RfYWN0aXZlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1KSB7fQogI2VuZGlmCiAKIC8qIGk5MTVfc3VzcGVuZC5jICovCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCBmNzY4OTBiNzRkMDAuLjEwMDM5OGIxMGE4YiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0zMjY5LDYgKzMyNjksNyBAQCBpOTE1X2dlbV9pZGxl X3dvcmtfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAKIAlpbnRlbF9lbmdpbmVz X21hcmtfaWRsZShkZXZfcHJpdik7CiAJaTkxNV9nZW1fdGltZWxpbmVzX21hcmtfaWRsZShkZXZf cHJpdik7CisJaTkxNV9wbXVfZ3RfaWRsZShkZXZfcHJpdik7CiAKIAlHRU1fQlVHX09OKCFkZXZf cHJpdi0+Z3QuYXdha2UpOwogCWRldl9wcml2LT5ndC5hd2FrZSA9IGZhbHNlOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCmluZGV4IGQ1ZjQwMjNlNWQ2My4uZmE5YWYxZWQ4 MGJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCkBAIC0yNTgsNiAr MjU4LDcgQEAgc3RhdGljIHZvaWQgbWFya19idXN5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1KQogCWk5MTVfdXBkYXRlX2dmeF92YWwoaTkxNSk7CiAJaWYgKElOVEVMX0dFTihpOTE1KSA+ PSA2KQogCQlnZW42X3Jwc19idXN5KGk5MTUpOworCWk5MTVfcG11X2d0X2FjdGl2ZShpOTE1KTsK IAogCXF1ZXVlX2RlbGF5ZWRfd29yayhpOTE1LT53cSwKIAkJCSAgICZpOTE1LT5ndC5yZXRpcmVf d29yaywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCmluZGV4IGJmMWQzNTA5M2FlYy4uYmQzOTRkYTQ3 YzdhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKQEAgLTkwLDYgKzkwLDc1IEBAIHN0YXRpYyB1 bnNpZ25lZCBpbnQgZXZlbnRfZW5hYmxlZF9iaXQoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQog CXJldHVybiBjb25maWdfZW5hYmxlZF9iaXQoZXZlbnQtPmF0dHIuY29uZmlnKTsKIH0KIAorc3Rh dGljIGJvb2wgcG11X25lZWRzX3RpbWVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBi b29sIGdwdV9hY3RpdmUpCit7CisJdTY0IGVuYWJsZTsKKworCS8qCisJICogT25seSBzb21lIGNv dW50ZXJzIG5lZWQgdGhlIHNhbXBsaW5nIHRpbWVyLgorCSAqCisJICogV2Ugc3RhcnQgd2l0aCBh IGJpdG1hc2sgb2YgYWxsIGN1cnJlbnRseSBlbmFibGVkIGV2ZW50cy4KKwkgKi8KKwllbmFibGUg PSBpOTE1LT5wbXUuZW5hYmxlOworCisJLyoKKwkgKiBNYXNrIG91dCBhbGwgdGhlIG9uZXMgd2hp Y2ggZG8gbm90IG5lZWQgdGhlIHRpbWVyLCBvciBpbgorCSAqIG90aGVyIHdvcmRzIGtlZXAgYWxs IHRoZSBvbmVzIHRoYXQgY291bGQgbmVlZCB0aGUgdGltZXIuCisJICovCisJZW5hYmxlICY9IGNv bmZpZ19lbmFibGVkX21hc2soSTkxNV9QTVVfQUNUVUFMX0ZSRVFVRU5DWSkgfAorCQkgIGNvbmZp Z19lbmFibGVkX21hc2soSTkxNV9QTVVfUkVRVUVTVEVEX0ZSRVFVRU5DWSkgfAorCQkgIEVOR0lO RV9TQU1QTEVfTUFTSzsKKworCS8qCisJICogV2hlbiB0aGUgR1BVIGlzIGlkbGUgcGVyLWVuZ2lu ZSBjb3VudGVycyBkbyBub3QgbmVlZCB0byBiZQorCSAqIHJ1bm5pbmcgc28gY2xlYXIgdGhvc2Ug Yml0cyBvdXQuCisJICovCisJaWYgKCFncHVfYWN0aXZlKQorCQllbmFibGUgJj0gfkVOR0lORV9T QU1QTEVfTUFTSzsKKworCS8qCisJICogSWYgc29tZSBiaXRzIHJlbWFpbiBpdCBtZWFucyB3ZSBu ZWVkIHRoZSBzYW1wbGluZyB0aW1lciBydW5uaW5nLgorCSAqLworCXJldHVybiBlbmFibGU7Cit9 CisKK3ZvaWQgaTkxNV9wbXVfZ3RfaWRsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkK K3sKKwlpZiAoIWk5MTUtPnBtdS5iYXNlLmV2ZW50X2luaXQpCisJCXJldHVybjsKKworCXNwaW5f bG9ja19pcnEoJmk5MTUtPnBtdS5sb2NrKTsKKwkvKgorCSAqIFNpZ25hbCBzYW1wbGluZyB0aW1l ciB0byBzdG9wIGlmIG9ubHkgZW5naW5lIGV2ZW50cyBhcmUgZW5hYmxlZCBhbmQKKwkgKiBHUFUg d2VudCBpZGxlLgorCSAqLworCWk5MTUtPnBtdS50aW1lcl9lbmFibGVkID0gcG11X25lZWRzX3Rp bWVyKGk5MTUsIGZhbHNlKTsKKwlzcGluX3VubG9ja19pcnEoJmk5MTUtPnBtdS5sb2NrKTsKK30K Kworc3RhdGljIHZvaWQgX19pOTE1X3BtdV9tYXliZV9zdGFydF90aW1lcihzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlpZiAoIWk5MTUtPnBtdS50aW1lcl9lbmFibGVkICYmIHBt dV9uZWVkc190aW1lcihpOTE1LCB0cnVlKSkgeworCQlpOTE1LT5wbXUudGltZXJfZW5hYmxlZCA9 IHRydWU7CisJCWhydGltZXJfc3RhcnRfcmFuZ2VfbnMoJmk5MTUtPnBtdS50aW1lciwKKwkJCQkg ICAgICAgbnNfdG9fa3RpbWUoUEVSSU9EKSwgMCwKKwkJCQkgICAgICAgSFJUSU1FUl9NT0RFX1JF TF9QSU5ORUQpOworCX0KK30KKwordm9pZCBpOTE1X3BtdV9ndF9hY3RpdmUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpCit7CisJaWYgKCFpOTE1LT5wbXUuYmFzZS5ldmVudF9pbml0KQor CQlyZXR1cm47CisKKwlzcGluX2xvY2tfaXJxKCZpOTE1LT5wbXUubG9jayk7CisJLyoKKwkgKiBS ZS1lbmFibGUgc2FtcGxpbmcgdGltZXIgd2hlbiBHUFUgZ29lcyBhY3RpdmUuCisJICovCisJX19p OTE1X3BtdV9tYXliZV9zdGFydF90aW1lcihpOTE1KTsKKwlzcGluX3VubG9ja19pcnEoJmk5MTUt PnBtdS5sb2NrKTsKK30KKwogc3RhdGljIGJvb2wgZ3JhYl9mb3JjZXdha2Uoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUsIGJvb2wgZncpCiB7CiAJaWYgKCFmdykKQEAgLTE4Nyw3ICsyNTYs NyBAQCBzdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgaTkxNV9zYW1wbGUoc3RydWN0IGhydGlt ZXIgKmhydGltZXIpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPQogCQljb250YWlu ZXJfb2YoaHJ0aW1lciwgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUsIHBtdS50aW1lcik7CiAKLQlp ZiAoaTkxNS0+cG11LmVuYWJsZSA9PSAwKQorCWlmICghUkVBRF9PTkNFKGk5MTUtPnBtdS50aW1l cl9lbmFibGVkKSkKIAkJcmV0dXJuIEhSVElNRVJfTk9SRVNUQVJUOwogCiAJZW5naW5lc19zYW1w bGUoaTkxNSk7CkBAIC0zNDAsMTQgKzQwOSw2IEBAIHN0YXRpYyB2b2lkIGk5MTVfcG11X2VuYWJs ZShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmk5MTUtPnBt dS5sb2NrLCBmbGFncyk7CiAKIAkvKgotCSAqIFN0YXJ0IHRoZSBzYW1wbGluZyB0aW1lciB3aGVu IGVuYWJsaW5nIHRoZSBmaXJzdCBldmVudC4KLQkgKi8KLQlpZiAoaTkxNS0+cG11LmVuYWJsZSA9 PSAwKQotCQlocnRpbWVyX3N0YXJ0X3JhbmdlX25zKCZpOTE1LT5wbXUudGltZXIsCi0JCQkJICAg ICAgIG5zX3RvX2t0aW1lKFBFUklPRCksIDAsCi0JCQkJICAgICAgIEhSVElNRVJfTU9ERV9SRUxf UElOTkVEKTsKLQotCS8qCiAJICogVXBkYXRlIHRoZSBiaXRtYXNrIG9mIGVuYWJsZWQgZXZlbnRz IGFuZCBpbmNyZW1lbnQKIAkgKiB0aGUgZXZlbnQgcmVmZXJlbmNlIGNvdW50ZXIuCiAJICovCkBA IC0zNTcsNiArNDE4LDExIEBAIHN0YXRpYyB2b2lkIGk5MTVfcG11X2VuYWJsZShzdHJ1Y3QgcGVy Zl9ldmVudCAqZXZlbnQpCiAJaTkxNS0+cG11LmVuYWJsZV9jb3VudFtiaXRdKys7CiAKIAkvKgor CSAqIFN0YXJ0IHRoZSBzYW1wbGluZyB0aW1lciBpZiBuZWVkZWQgYW5kIG5vdCBhbHJlYWR5IGVu YWJsZWQuCisJICovCisJX19pOTE1X3BtdV9tYXliZV9zdGFydF90aW1lcihpOTE1KTsKKworCS8q CiAJICogRm9yIHBlci1lbmdpbmUgZXZlbnRzIHRoZSBiaXRtYXNrIGFuZCByZWZlcmVuY2UgY291 bnRpbmcKIAkgKiBpcyBzdG9yZWQgcGVyIGVuZ2luZS4KIAkgKi8KQEAgLTQxOCw4ICs0ODQsMTAg QEAgc3RhdGljIHZvaWQgaTkxNV9wbXVfZGlzYWJsZShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQp CiAJICogRGVjcmVtZW50IHRoZSByZWZlcmVuY2UgY291bnQgYW5kIGNsZWFyIHRoZSBlbmFibGVk CiAJICogYml0bWFzayB3aGVuIHRoZSBsYXN0IGxpc3RlbmVyIG9uIGFuIGV2ZW50IGdvZXMgYXdh eS4KIAkgKi8KLQlpZiAoLS1pOTE1LT5wbXUuZW5hYmxlX2NvdW50W2JpdF0gPT0gMCkKKwlpZiAo LS1pOTE1LT5wbXUuZW5hYmxlX2NvdW50W2JpdF0gPT0gMCkgewogCQlpOTE1LT5wbXUuZW5hYmxl ICY9IH5CSVRfVUxMKGJpdCk7CisJCWk5MTUtPnBtdS50aW1lcl9lbmFibGVkICY9IHBtdV9uZWVk c190aW1lcihpOTE1LCB0cnVlKTsKKwl9CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpOTE1 LT5wbXUubG9jaywgZmxhZ3MpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9wbXUuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmgKaW5kZXggMGY4ODRk ZDM0OTZhLi44OWJlN2ViNGFmMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcG11LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaApAQCAtODMsNiAr ODMsMTAgQEAgc3RydWN0IGk5MTVfcG11IHsKIAkgKi8KIAl1bnNpZ25lZCBpbnQgZW5hYmxlX2Nv dW50W0k5MTVfUE1VX01BU0tfQklUU107CiAJLyoqCisJICogQHRpbWVyX2VuYWJsZWQ6IFNob3Vs ZCB0aGUgaW50ZXJuYWwgc2FtcGxpbmcgdGltZXIgYmUgcnVubmluZy4KKwkgKi8KKwlib29sIHRp bWVyX2VuYWJsZWQ7CisJLyoqCiAJICogQHNhbXBsZTogQ3VycmVudCBhbmQgcHJldmlvdXMgKHJh dykgY291bnRlcnMgZm9yIHNhbXBsaW5nIGV2ZW50cy4KIAkgKgogCSAqIFRoZXNlIGNvdW50ZXJz IGFyZSB1cGRhdGVkIGZyb20gdGhlIGk5MTUgUE1VIHNhbXBsaW5nIHRpbWVyLgotLSAKMi45LjUK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=