From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC v5 05/11] drm/i915/pmu: Suspend sampling when GPU is idle Date: Wed, 13 Sep 2017 11:34:17 +0100 Message-ID: <20170913103417.32412-1-tvrtko.ursulin@linux.intel.com> References: <20170911152559.7077-6-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-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3715089F01 for ; Wed, 13 Sep 2017 10:34:25 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id e64so302055wmi.2 for ; Wed, 13 Sep 2017 03:34:25 -0700 (PDT) In-Reply-To: <20170911152559.7077-6-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 dG8gcmVnaXN0ZXIuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3Vs aW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAg ICB8ICA4ICsrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICB8ICAx ICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyB8ICAxICsKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgICAgICAgICB8IDcwICsrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspLCAxMCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA2MjY0NmI4ZGZiN2EuLjcw YmU4YzVkOWE2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMjQ0LDYgKzIyNDQsMTAg QEAgc3RydWN0IGk5MTVfcG11IHsKIAkgKi8KIAl1bnNpZ25lZCBpbnQgZW5hYmxlX2NvdW50W0k5 MTVfUE1VX01BU0tfQklUU107CiAJLyoqCisJICogQHRpbWVyX2VuYWJsZWQ6IFNob3VsZCB0aGUg aW50ZXJuYWwgc2FtcGxpbmcgdGltZXIgYmUgcnVubmluZy4KKwkgKi8KKwlib29sIHRpbWVyX2Vu YWJsZWQ7CisJLyoqCiAJICogQHNhbXBsZTogQ3VycmVudCBjb3VudGVyIHZhbHVlIGZvciBpOTE1 IGV2ZW50cyB3aGljaCBuZWVkIHNhbXBsaW5nLgogCSAqCiAJICogVGhlc2UgY291bnRlcnMgYXJl IHVwZGF0ZWQgZnJvbSB0aGUgaTkxNSBQTVUgc2FtcGxpbmcgdGltZXIuCkBAIC0zOTg5LDkgKzM5 OTMsMTMgQEAgZXh0ZXJuIHZvaWQgaTkxNV9wZXJmX3VucmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKICNpZmRlZiBDT05GSUdfUEVSRl9FVkVOVFMKIGV4dGVybiB2 b2lkIGk5MTVfcG11X3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKIGV4 dGVybiB2b2lkIGk5MTVfcG11X3VucmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpOworZXh0ZXJuIHZvaWQgaTkxNV9wbXVfZ3RfaWRsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSk7CitleHRlcm4gdm9pZCBpOTE1X3BtdV9ndF9hY3RpdmUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUpOwogI2Vsc2UKIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3BtdV9yZWdp c3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkge30KIHN0YXRpYyBpbmxpbmUgdm9p ZCBpOTE1X3BtdV91bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KSB7fQor c3RhdGljIGlubGluZSB2b2lkIGk5MTVfcG11X2d0X2lkbGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUpIHt9CitzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9wbXVfZ3RfYWN0aXZlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1KSB7fQogI2VuZGlmCiAKIC8qIGk5MTVfc3VzcGVuZC5j ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCBmNDQ1NTg3YzFhNGIuLjIwMWIwOWVkYTkz YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0zMjI3LDYgKzMyMjcsNyBAQCBpOTE1X2dl bV9pZGxlX3dvcmtfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAKIAlpbnRlbF9l bmdpbmVzX21hcmtfaWRsZShkZXZfcHJpdik7CiAJaTkxNV9nZW1fdGltZWxpbmVzX21hcmtfaWRs ZShkZXZfcHJpdik7CisJaTkxNV9wbXVfZ3RfaWRsZShkZXZfcHJpdik7CiAKIAlHRU1fQlVHX09O KCFkZXZfcHJpdi0+Z3QuYXdha2UpOwogCWRldl9wcml2LT5ndC5hd2FrZSA9IGZhbHNlOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCmluZGV4IDgxM2EzYjU0NmQ2ZS4uMThh MWUzNzkyNTNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1 ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCkBAIC0y NTgsNiArMjU4LDcgQEAgc3RhdGljIHZvaWQgbWFya19idXN5KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1KQogCWk5MTVfdXBkYXRlX2dmeF92YWwoaTkxNSk7CiAJaWYgKElOVEVMX0dFTihp OTE1KSA+PSA2KQogCQlnZW42X3Jwc19idXN5KGk5MTUpOworCWk5MTVfcG11X2d0X2FjdGl2ZShp OTE1KTsKIAogCXF1ZXVlX2RlbGF5ZWRfd29yayhpOTE1LT53cSwKIAkJCSAgICZpOTE1LT5ndC5y ZXRpcmVfd29yaywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCmluZGV4IGU4MjY0OGU2NjM1Yi4uMjIy NDY5MTg3NTdjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKQEAgLTkwLDYgKzkwLDUyIEBAIHN0 YXRpYyB1bnNpZ25lZCBpbnQgZXZlbnRfZW5hYmxlZF9iaXQoc3RydWN0IHBlcmZfZXZlbnQgKmV2 ZW50KQogCXJldHVybiBjb25maWdfZW5hYmxlZF9iaXQoZXZlbnQtPmF0dHIuY29uZmlnKTsKIH0K IAorc3RhdGljIGJvb2wgcG11X25lZWRzX3RpbWVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1LCBib29sIGdwdV9hY3RpdmUpCit7CisJdTY0IGVuYWJsZSA9IGk5MTUtPnBtdS5lbmFibGU7 CisKKwllbmFibGUgJj0gY29uZmlnX2VuYWJsZWRfbWFzayhJOTE1X1BNVV9BQ1RVQUxfRlJFUVVF TkNZKSB8CisJCSAgY29uZmlnX2VuYWJsZWRfbWFzayhJOTE1X1BNVV9SRVFVRVNURURfRlJFUVVF TkNZKSB8CisJCSAgRU5HSU5FX1NBTVBMRV9NQVNLOworCisJaWYgKCFncHVfYWN0aXZlKQorCQll bmFibGUgJj0gfkVOR0lORV9TQU1QTEVfTUFTSzsKKworCXJldHVybiBlbmFibGU7Cit9CisKK3Zv aWQgaTkxNV9wbXVfZ3RfaWRsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlp ZiAoIWk5MTUtPnBtdS5iYXNlLmV2ZW50X2luaXQpCisJCXJldHVybjsKKworCXNwaW5fbG9ja19p cnEoJmk5MTUtPnBtdS5sb2NrKTsKKwkvKgorCSAqIFNpZ25hbCBzYW1wbGluZyB0aW1lciB0byBz dG9wIGlmIG9ubHkgZW5naW5lIGV2ZW50cyBhcmUgZW5hYmxlZCBhbmQKKwkgKiBHUFUgd2VudCBp ZGxlLgorCSAqLworCWk5MTUtPnBtdS50aW1lcl9lbmFibGVkID0gcG11X25lZWRzX3RpbWVyKGk5 MTUsIGZhbHNlKTsKKwlzcGluX3VubG9ja19pcnEoJmk5MTUtPnBtdS5sb2NrKTsKK30KKwordm9p ZCBpOTE1X3BtdV9ndF9hY3RpdmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJ aWYgKCFpOTE1LT5wbXUuYmFzZS5ldmVudF9pbml0KQorCQlyZXR1cm47CisKKwlzcGluX2xvY2tf aXJxKCZpOTE1LT5wbXUubG9jayk7CisJLyoKKwkgKiBSZS1lbmFibGUgc2FtcGxpbmcgdGltZXIg d2hlbiBHUFUgZ29lcyBhY3RpdmUuCisJICovCisJaWYgKCFpOTE1LT5wbXUudGltZXJfZW5hYmxl ZCAmJiBwbXVfbmVlZHNfdGltZXIoaTkxNSwgdHJ1ZSkpIHsKKwkJaTkxNS0+cG11LnRpbWVyX2Vu YWJsZWQgPSB0cnVlOworCQlocnRpbWVyX3N0YXJ0X3JhbmdlX25zKCZpOTE1LT5wbXUudGltZXIs CisJCQkJICAgICAgIG5zX3RvX2t0aW1lKFBFUklPRCksIDAsCisJCQkJICAgICAgIEhSVElNRVJf TU9ERV9SRUxfUElOTkVEKTsKKwl9CisJc3Bpbl91bmxvY2tfaXJxKCZpOTE1LT5wbXUubG9jayk7 Cit9CisKIHN0YXRpYyBib29sIGdyYWJfZm9yY2V3YWtlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1LCBib29sIGZ3KQogewogCWlmICghZncpCkBAIC0xODAsNyArMjI2LDcgQEAgc3RhdGlj IGVudW0gaHJ0aW1lcl9yZXN0YXJ0IGk5MTVfc2FtcGxlKHN0cnVjdCBocnRpbWVyICpocnRpbWVy KQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0KIAkJY29udGFpbmVyX29mKGhydGlt ZXIsIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlLCBwbXUudGltZXIpOwogCi0JaWYgKGk5MTUtPnBt dS5lbmFibGUgPT0gMCkKKwlpZiAoIVJFQURfT05DRShpOTE1LT5wbXUudGltZXJfZW5hYmxlZCkp CiAJCXJldHVybiBIUlRJTUVSX05PUkVTVEFSVDsKIAogCWVuZ2luZXNfc2FtcGxlKGk5MTUpOwpA QCAtMzYyLDE0ICs0MDgsNiBAQCBzdGF0aWMgdm9pZCBpOTE1X3BtdV9lbmFibGUoc3RydWN0IHBl cmZfZXZlbnQgKmV2ZW50KQogCXNwaW5fbG9ja19pcnFzYXZlKCZpOTE1LT5wbXUubG9jaywgZmxh Z3MpOwogCiAJLyoKLQkgKiBTdGFydCB0aGUgc2FtcGxpbmcgdGltZXIgd2hlbiBlbmFibGluZyB0 aGUgZmlyc3QgZXZlbnQuCi0JICovCi0JaWYgKGk5MTUtPnBtdS5lbmFibGUgPT0gMCkKLQkJaHJ0 aW1lcl9zdGFydF9yYW5nZV9ucygmaTkxNS0+cG11LnRpbWVyLAotCQkJCSAgICAgICBuc190b19r dGltZShQRVJJT0QpLCAwLAotCQkJCSAgICAgICBIUlRJTUVSX01PREVfUkVMX1BJTk5FRCk7Ci0K LQkvKgogCSAqIFVwZGF0ZSB0aGUgYml0bWFzayBvZiBlbmFibGVkIGV2ZW50cyBhbmQgaW5jcmVt ZW50CiAJICogdGhlIGV2ZW50IHJlZmVyZW5jZSBjb3VudGVyLgogCSAqLwpAQCAtMzc5LDYgKzQx NywxNiBAQCBzdGF0aWMgdm9pZCBpOTE1X3BtdV9lbmFibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2 ZW50KQogCWk5MTUtPnBtdS5lbmFibGVfY291bnRbYml0XSsrOwogCiAJLyoKKwkgKiBTdGFydCB0 aGUgc2FtcGxpbmcgdGltZXIgaWYgbmVlZGVkIGFuZCBub3QgYWxyZWFkeSBlbmFibGVkLgorCSAq LworCWlmIChwbXVfbmVlZHNfdGltZXIoaTkxNSwgdHJ1ZSkgJiYgIWk5MTUtPnBtdS50aW1lcl9l bmFibGVkKSB7CisJCWk5MTUtPnBtdS50aW1lcl9lbmFibGVkID0gdHJ1ZTsKKwkJaHJ0aW1lcl9z dGFydF9yYW5nZV9ucygmaTkxNS0+cG11LnRpbWVyLAorCQkJCSAgICAgICBuc190b19rdGltZShQ RVJJT0QpLCAwLAorCQkJCSAgICAgICBIUlRJTUVSX01PREVfUkVMX1BJTk5FRCk7CisJfQorCisJ LyoKIAkgKiBGb3IgcGVyLWVuZ2luZSBldmVudHMgdGhlIGJpdG1hc2sgYW5kIHJlZmVyZW5jZSBj b3VudGluZwogCSAqIGlzIHN0b3JlZCBwZXIgZW5naW5lLgogCSAqLwpAQCAtNDQwLDggKzQ4OCwx MCBAQCBzdGF0aWMgdm9pZCBpOTE1X3BtdV9kaXNhYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVu dCkKIAkgKiBEZWNyZW1lbnQgdGhlIHJlZmVyZW5jZSBjb3VudCBhbmQgY2xlYXIgdGhlIGVuYWJs ZWQKIAkgKiBiaXRtYXNrIHdoZW4gdGhlIGxhc3QgbGlzdGVuZXIgb24gYW4gZXZlbnQgZ29lcyBh d2F5LgogCSAqLwotCWlmICgtLWk5MTUtPnBtdS5lbmFibGVfY291bnRbYml0XSA9PSAwKQorCWlm ICgtLWk5MTUtPnBtdS5lbmFibGVfY291bnRbYml0XSA9PSAwKSB7CiAJCWk5MTUtPnBtdS5lbmFi bGUgJj0gfkJJVF9VTEwoYml0KTsKKwkJaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQgJj0gcG11X25l ZWRzX3RpbWVyKGk5MTUsIHRydWUpOworCX0KIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk5 MTUtPnBtdS5sb2NrLCBmbGFncyk7CiB9Ci0tIAoyLjkuNQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==