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: Mon, 13 Nov 2017 08:57:20 +0000 Message-ID: <20171113085726.26817-4-tvrtko.ursulin@linux.intel.com> References: <20171113085726.26817-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 9210B89F77 for ; Mon, 13 Nov 2017 08:57:38 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id r68so13515568wmr.3 for ; Mon, 13 Nov 2017 00:57:38 -0800 (PST) In-Reply-To: <20171113085726.26817-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 OiBGaXggc29tZSBjb21tZW50cyBzdHlsZXMuIChDaHJpcyBXaWxzb24pCnY5OiBSZWJhc2UuCnYx MDogTW92ZSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgdG8gaTkxNV9wbXUuaC4KdjExOiBSZW5hbWUg ZnVuY3Rpb25zIHRvIGk5MTVfcG11X2d0Xyh1bilwYXJrZWQuIChDaHJpcyBXaWxzb24pCgpTaWdu ZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpSZXZp ZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ICh2OSkKLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgfCAgMSArCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3BtdS5jICAgICAgICAgfCA4OCArKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmggICAgICAgICB8ICA4ICsrKwog NCBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYwppbmRleCBmYTllNTEzMGM5ODYuLmM1ZGRhZTJjYzRlZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0zMzU0LDYgKzMzNTQsNyBAQCBpOTE1X2dlbV9pZGxlX3dv cmtfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAKIAlpbnRlbF9lbmdpbmVzX3Bh cmsoZGV2X3ByaXYpOwogCWk5MTVfZ2VtX3RpbWVsaW5lc19tYXJrX2lkbGUoZGV2X3ByaXYpOwor CWk5MTVfcG11X2d0X3BhcmtlZChkZXZfcHJpdik7CiAKIAlHRU1fQlVHX09OKCFkZXZfcHJpdi0+ Z3QuYXdha2UpOwogCWRldl9wcml2LT5ndC5hd2FrZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fcmVxdWVzdC5jCmluZGV4IGUwZDYyMjEwMjJhOC4uZTYzMDc5NzhkZGY0IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCkBAIC0yNTgsNiArMjU4LDcg QEAgc3RhdGljIHZvaWQgbWFya19idXN5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQog CWk5MTVfdXBkYXRlX2dmeF92YWwoaTkxNSk7CiAJaWYgKElOVEVMX0dFTihpOTE1KSA+PSA2KQog CQlnZW42X3Jwc19idXN5KGk5MTUpOworCWk5MTVfcG11X2d0X3VucGFya2VkKGk5MTUpOwogCiAJ aW50ZWxfZW5naW5lc191bnBhcmsoaTkxNSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcG11LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCmluZGV4 IDAxYjVlZTY3YzFiZi4uZmI5NWYwYWMzMGVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3BtdS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKQEAg LTkwLDYgKzkwLDc1IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgZXZlbnRfZW5hYmxlZF9iaXQoc3Ry dWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCXJldHVybiBjb25maWdfZW5hYmxlZF9iaXQoZXZlbnQt PmF0dHIuY29uZmlnKTsKIH0KIAorc3RhdGljIGJvb2wgcG11X25lZWRzX3RpbWVyKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1LCBib29sIGdwdV9hY3RpdmUpCit7CisJdTY0IGVuYWJsZTsK KworCS8qCisJICogT25seSBzb21lIGNvdW50ZXJzIG5lZWQgdGhlIHNhbXBsaW5nIHRpbWVyLgor CSAqCisJICogV2Ugc3RhcnQgd2l0aCBhIGJpdG1hc2sgb2YgYWxsIGN1cnJlbnRseSBlbmFibGVk IGV2ZW50cy4KKwkgKi8KKwllbmFibGUgPSBpOTE1LT5wbXUuZW5hYmxlOworCisJLyoKKwkgKiBN YXNrIG91dCBhbGwgdGhlIG9uZXMgd2hpY2ggZG8gbm90IG5lZWQgdGhlIHRpbWVyLCBvciBpbgor CSAqIG90aGVyIHdvcmRzIGtlZXAgYWxsIHRoZSBvbmVzIHRoYXQgY291bGQgbmVlZCB0aGUgdGlt ZXIuCisJICovCisJZW5hYmxlICY9IGNvbmZpZ19lbmFibGVkX21hc2soSTkxNV9QTVVfQUNUVUFM X0ZSRVFVRU5DWSkgfAorCQkgIGNvbmZpZ19lbmFibGVkX21hc2soSTkxNV9QTVVfUkVRVUVTVEVE X0ZSRVFVRU5DWSkgfAorCQkgIEVOR0lORV9TQU1QTEVfTUFTSzsKKworCS8qCisJICogV2hlbiB0 aGUgR1BVIGlzIGlkbGUgcGVyLWVuZ2luZSBjb3VudGVycyBkbyBub3QgbmVlZCB0byBiZQorCSAq IHJ1bm5pbmcgc28gY2xlYXIgdGhvc2UgYml0cyBvdXQuCisJICovCisJaWYgKCFncHVfYWN0aXZl KQorCQllbmFibGUgJj0gfkVOR0lORV9TQU1QTEVfTUFTSzsKKworCS8qCisJICogSWYgc29tZSBi aXRzIHJlbWFpbiBpdCBtZWFucyB3ZSBuZWVkIHRoZSBzYW1wbGluZyB0aW1lciBydW5uaW5nLgor CSAqLworCXJldHVybiBlbmFibGU7Cit9CisKK3ZvaWQgaTkxNV9wbXVfZ3RfcGFya2VkKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCWlmICghaTkxNS0+cG11LmJhc2UuZXZlbnRf aW5pdCkKKwkJcmV0dXJuOworCisJc3Bpbl9sb2NrX2lycSgmaTkxNS0+cG11LmxvY2spOworCS8q CisJICogU2lnbmFsIHNhbXBsaW5nIHRpbWVyIHRvIHN0b3AgaWYgb25seSBlbmdpbmUgZXZlbnRz IGFyZSBlbmFibGVkIGFuZAorCSAqIEdQVSB3ZW50IGlkbGUuCisJICovCisJaTkxNS0+cG11LnRp bWVyX2VuYWJsZWQgPSBwbXVfbmVlZHNfdGltZXIoaTkxNSwgZmFsc2UpOworCXNwaW5fdW5sb2Nr X2lycSgmaTkxNS0+cG11LmxvY2spOworfQorCitzdGF0aWMgdm9pZCBfX2k5MTVfcG11X21heWJl X3N0YXJ0X3RpbWVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCWlmICghaTkx NS0+cG11LnRpbWVyX2VuYWJsZWQgJiYgcG11X25lZWRzX3RpbWVyKGk5MTUsIHRydWUpKSB7CisJ CWk5MTUtPnBtdS50aW1lcl9lbmFibGVkID0gdHJ1ZTsKKwkJaHJ0aW1lcl9zdGFydF9yYW5nZV9u cygmaTkxNS0+cG11LnRpbWVyLAorCQkJCSAgICAgICBuc190b19rdGltZShQRVJJT0QpLCAwLAor CQkJCSAgICAgICBIUlRJTUVSX01PREVfUkVMX1BJTk5FRCk7CisJfQorfQorCit2b2lkIGk5MTVf cG11X2d0X3VucGFya2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCWlmICgh aTkxNS0+cG11LmJhc2UuZXZlbnRfaW5pdCkKKwkJcmV0dXJuOworCisJc3Bpbl9sb2NrX2lycSgm aTkxNS0+cG11LmxvY2spOworCS8qCisJICogUmUtZW5hYmxlIHNhbXBsaW5nIHRpbWVyIHdoZW4g R1BVIGdvZXMgYWN0aXZlLgorCSAqLworCV9faTkxNV9wbXVfbWF5YmVfc3RhcnRfdGltZXIoaTkx NSk7CisJc3Bpbl91bmxvY2tfaXJxKCZpOTE1LT5wbXUubG9jayk7Cit9CisKIHN0YXRpYyBib29s IGdyYWJfZm9yY2V3YWtlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBib29sIGZ3KQog ewogCWlmICghZncpCkBAIC0xODcsNyArMjU2LDcgQEAgc3RhdGljIGVudW0gaHJ0aW1lcl9yZXN0 YXJ0IGk5MTVfc2FtcGxlKHN0cnVjdCBocnRpbWVyICpocnRpbWVyKQogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1ID0KIAkJY29udGFpbmVyX29mKGhydGltZXIsIHN0cnVjdCBkcm1faTkx NV9wcml2YXRlLCBwbXUudGltZXIpOwogCi0JaWYgKGk5MTUtPnBtdS5lbmFibGUgPT0gMCkKKwlp ZiAoIVJFQURfT05DRShpOTE1LT5wbXUudGltZXJfZW5hYmxlZCkpCiAJCXJldHVybiBIUlRJTUVS X05PUkVTVEFSVDsKIAogCWVuZ2luZXNfc2FtcGxlKGk5MTUpOwpAQCAtMzM5LDE0ICs0MDgsNiBA QCBzdGF0aWMgdm9pZCBpOTE1X3BtdV9lbmFibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQog CiAJc3Bpbl9sb2NrX2lycXNhdmUoJmk5MTUtPnBtdS5sb2NrLCBmbGFncyk7CiAKLQkvKgotCSAq IFN0YXJ0IHRoZSBzYW1wbGluZyB0aW1lciB3aGVuIGVuYWJsaW5nIHRoZSBmaXJzdCBldmVudC4K LQkgKi8KLQlpZiAoaTkxNS0+cG11LmVuYWJsZSA9PSAwKQotCQlocnRpbWVyX3N0YXJ0X3Jhbmdl X25zKCZpOTE1LT5wbXUudGltZXIsCi0JCQkJICAgICAgIG5zX3RvX2t0aW1lKFBFUklPRCksIDAs Ci0JCQkJICAgICAgIEhSVElNRVJfTU9ERV9SRUxfUElOTkVEKTsKLQogCS8qCiAJICogVXBkYXRl IHRoZSBiaXRtYXNrIG9mIGVuYWJsZWQgZXZlbnRzIGFuZCBpbmNyZW1lbnQKIAkgKiB0aGUgZXZl bnQgcmVmZXJlbmNlIGNvdW50ZXIuCkBAIC0zNTYsNiArNDE3LDExIEBAIHN0YXRpYyB2b2lkIGk5 MTVfcG11X2VuYWJsZShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJaTkxNS0+cG11LmVuYWJs ZSB8PSBCSVRfVUxMKGJpdCk7CiAJaTkxNS0+cG11LmVuYWJsZV9jb3VudFtiaXRdKys7CiAKKwkv KgorCSAqIFN0YXJ0IHRoZSBzYW1wbGluZyB0aW1lciBpZiBuZWVkZWQgYW5kIG5vdCBhbHJlYWR5 IGVuYWJsZWQuCisJICovCisJX19pOTE1X3BtdV9tYXliZV9zdGFydF90aW1lcihpOTE1KTsKKwog CS8qCiAJICogRm9yIHBlci1lbmdpbmUgZXZlbnRzIHRoZSBiaXRtYXNrIGFuZCByZWZlcmVuY2Ug Y291bnRpbmcKIAkgKiBpcyBzdG9yZWQgcGVyIGVuZ2luZS4KQEAgLTQxOCw4ICs0ODQsMTAgQEAg c3RhdGljIHZvaWQgaTkxNV9wbXVfZGlzYWJsZShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJ ICogRGVjcmVtZW50IHRoZSByZWZlcmVuY2UgY291bnQgYW5kIGNsZWFyIHRoZSBlbmFibGVkCiAJ ICogYml0bWFzayB3aGVuIHRoZSBsYXN0IGxpc3RlbmVyIG9uIGFuIGV2ZW50IGdvZXMgYXdheS4K IAkgKi8KLQlpZiAoLS1pOTE1LT5wbXUuZW5hYmxlX2NvdW50W2JpdF0gPT0gMCkKKwlpZiAoLS1p OTE1LT5wbXUuZW5hYmxlX2NvdW50W2JpdF0gPT0gMCkgewogCQlpOTE1LT5wbXUuZW5hYmxlICY9 IH5CSVRfVUxMKGJpdCk7CisJCWk5MTUtPnBtdS50aW1lcl9lbmFibGVkICY9IHBtdV9uZWVkc190 aW1lcihpOTE1LCB0cnVlKTsKKwl9CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpOTE1LT5w bXUubG9jaywgZmxhZ3MpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wbXUuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmgKaW5kZXggMWFjOGIyZTM0 NjA3Li5lMjA5NzgzYTRjNWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cG11LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaApAQCAtODIsNiArODIs MTAgQEAgc3RydWN0IGk5MTVfcG11IHsKIAkgKiBhcmUgdXNpbmcgdGhlIFBNVSBBUEkuCiAJICov CiAJdW5zaWduZWQgaW50IGVuYWJsZV9jb3VudFtJOTE1X1BNVV9NQVNLX0JJVFNdOworCS8qKgor CSAqIEB0aW1lcl9lbmFibGVkOiBTaG91bGQgdGhlIGludGVybmFsIHNhbXBsaW5nIHRpbWVyIGJl IHJ1bm5pbmcuCisJICovCisJYm9vbCB0aW1lcl9lbmFibGVkOwogCS8qKgogCSAqIEBzYW1wbGU6 IEN1cnJlbnQgYW5kIHByZXZpb3VzIChyYXcpIGNvdW50ZXJzIGZvciBzYW1wbGluZyBldmVudHMu CiAJICoKQEAgLTk2LDkgKzEwMCwxMyBAQCBzdHJ1Y3QgaTkxNV9wbXUgewogI2lmZGVmIENPTkZJ R19QRVJGX0VWRU5UUwogdm9pZCBpOTE1X3BtdV9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSk7CiB2b2lkIGk5MTVfcG11X3VucmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUpOwordm9pZCBpOTE1X3BtdV9ndF9wYXJrZWQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUpOwordm9pZCBpOTE1X3BtdV9ndF91bnBhcmtlZChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSk7CiAjZWxzZQogc3RhdGljIGlubGluZSB2b2lkIGk5MTVfcG11X3JlZ2lz dGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KSB7fQogc3RhdGljIGlubGluZSB2b2lk IGk5MTVfcG11X3VucmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpIHt9Citz dGF0aWMgaW5saW5lIHZvaWQgaTkxNV9wbXVfZ3RfcGFya2VkKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1KSB7fQorc3RhdGljIGlubGluZSB2b2lkIGk5MTVfcG11X2d0X3VucGFya2VkKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KSB7fQogI2VuZGlmCiAKICNlbmRpZgotLSAKMi4x NC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK