From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 09/14] drm/i915/pmu: Suspend sampling when GPU is idle Date: Tue, 18 Jul 2017 15:36:13 +0100 Message-ID: <20170718143618.12254-10-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-wr0-x241.google.com (mail-wr0-x241.google.com [IPv6:2a00:1450:400c:c0c::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8485E6E366 for ; Tue, 18 Jul 2017 14:36:44 +0000 (UTC) Received: by mail-wr0-x241.google.com with SMTP id y67so3148291wrb.3 for ; Tue, 18 Jul 2017 07:36:44 -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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCklmIG9ubHkg YSBzdWJzZXQgb2YgZXZlbnRzIGlzIGVuYWJsZWQgd2UgY2FuIGFmZm9yZCB0byBzdXNwZW5kCnRo ZSBzYW1wbGluZyB0aW1lciB3aGVuIHRoZSBHUFUgaXMgaWRsZSBhbmQgc28gc2F2ZSBzb21lIGN5 Y2xlcwphbmQgcG93ZXIuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVy c3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAg ICAgICB8ICA2ICsrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICB8 ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyB8ICAxICsKIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgICAgICAgICB8IDUyICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLQogNCBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGRlNTE4NTAzZTAzMy4u ZjFmZGVkNmRkOWNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI2MDAsNyArMjYwMCw5 IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAogCXN0cnVjdCB7CiAJCXN0cnVjdCBwbXUg YmFzZTsKKwkJc3BpbmxvY2tfdCBsb2NrOwogCQlzdHJ1Y3QgaHJ0aW1lciB0aW1lcjsKKwkJYm9v bCB0aW1lcl9lbmFibGVkOwogCQl1NjQgZW5hYmxlOwogCQl1NjQgc2FtcGxlW19fSTkxNV9OVU1f UE1VX1NBTVBMRVJTXTsKIAl9IHBtdTsKQEAgLTM3NzgsOSArMzc4MCwxMyBAQCBleHRlcm4gdm9p ZCBpOTE1X3BlcmZfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp OwogI2lmZGVmIENPTkZJR19QRVJGX0VWRU5UUwogZXh0ZXJuIHZvaWQgaTkxNV9wbXVfcmVnaXN0 ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwogZXh0ZXJuIHZvaWQgaTkxNV9wbXVf dW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CitleHRlcm4gdm9pZCBp OTE1X3BtdV9ndF9pZGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKK2V4dGVybiB2 b2lkIGk5MTVfcG11X2d0X2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CiAj ZWxzZQogc3RhdGljIGlubGluZSB2b2lkIGk5MTVfcG11X3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KSB7fQogc3RhdGljIGlubGluZSB2b2lkIGk5MTVfcG11X3VucmVnaXN0 ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpIHt9CitzdGF0aWMgaW5saW5lIHZvaWQg aTkxNV9wbXVfZ3RfaWRsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkge30KK3N0YXRp YyBpbmxpbmUgdm9pZCBpOTE1X3BtdV9ndF9hY3RpdmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUpIHt9CiAjZW5kaWYKIAogLyogaTkxNV9zdXNwZW5kLmMgKi8KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCmluZGV4IDFiMmRmYThiZGVlZi4uYmI4MWMxZmNiYzQwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMKQEAgLTMyMzUsNiArMzIzNSw3IEBAIGk5MTVfZ2VtX2lkbGVfd29ya19oYW5kbGVy KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAogCWludGVsX2VuZ2luZXNfbWFya19pZGxlKGRl dl9wcml2KTsKIAlpOTE1X2dlbV90aW1lbGluZXNfbWFya19pZGxlKGRldl9wcml2KTsKKwlpOTE1 X3BtdV9ndF9pZGxlKGRldl9wcml2KTsKIAogCUdFTV9CVUdfT04oIWRldl9wcml2LT5ndC5hd2Fr ZSk7CiAJZGV2X3ByaXYtPmd0LmF3YWtlID0gZmFsc2U7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9yZXF1ZXN0LmMKaW5kZXggNDgzYWY4OTIxMDYwLi41NjljNDRhNmJhMmEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKQEAgLTg3Niw2ICs4NzYsNyBAQCBzdGF0 aWMgdm9pZCBpOTE1X2dlbV9tYXJrX2J1c3koY29uc3Qgc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lKQogCWk5MTVfdXBkYXRlX2dmeF92YWwoZGV2X3ByaXYpOwogCWlmIChJTlRFTF9HRU4o ZGV2X3ByaXYpID49IDYpCiAJCWdlbjZfcnBzX2J1c3koZGV2X3ByaXYpOworCWk5MTVfcG11X2d0 X2FjdGl2ZShkZXZfcHJpdik7CiAKIAlxdWV1ZV9kZWxheWVkX3dvcmsoZGV2X3ByaXYtPndxLAog CQkJICAgJmRldl9wcml2LT5ndC5yZXRpcmVfd29yaywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcG11LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCmlu ZGV4IDdlYTg0YTE5MTg3Ni4uNGIxMTNjYWQ0MGQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BtdS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMK QEAgLTI5LDYgKzI5LDQwIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgdXNlcl9lbmdpbmVf bWFwW0k5MTVfTlVNX0VOR0lORVNdID0gewogCVtJOTE1X1NBTVBMRV9WRUNTXSA9IFZFQ1MsCiB9 OwogCitzdGF0aWMgYm9vbCBwbXVfbmVlZHNfdGltZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUsIGJvb2wgZ3B1X2FjdGl2ZSkKK3sKKwlpZiAoZ3B1X2FjdGl2ZSkKKwkJcmV0dXJuIGk5 MTUtPnBtdS5lbmFibGU7CisJZWxzZQorCQlyZXR1cm4gaTkxNS0+cG11LmVuYWJsZSA+PiAzMjsK K30KKwordm9pZCBpOTE1X3BtdV9ndF9pZGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KQoreworCXNwaW5fbG9ja19pcnEoJmk5MTUtPnBtdS5sb2NrKTsKKwkvKgorCSAqIFNpZ25hbCBz YW1wbGluZyB0aW1lciB0byBzdG9wIGlmIG9ubHkgZW5naW5lIGV2ZW50cyBhcmUgZW5hYmxlZCBh bmQKKwkgKiBHUFUgd2VudCBpZGxlLgorCSAqLworCWk5MTUtPnBtdS50aW1lcl9lbmFibGVkID0g cG11X25lZWRzX3RpbWVyKGk5MTUsIGZhbHNlKTsKKwlzcGluX3VubG9ja19pcnEoJmk5MTUtPnBt dS5sb2NrKTsKK30KKwordm9pZCBpOTE1X3BtdV9ndF9hY3RpdmUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUpCit7CisJc3Bpbl9sb2NrX2lycSgmaTkxNS0+cG11LmxvY2spOworCS8qCisJ ICogUmUtZW5hYmxlIHNhbXBsaW5nIHRpbWVyIHdoZW4gR1BVIGdvZXMgYWN0aXZlLgorCSAqLwor CWlmICghaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQgJiYgcG11X25lZWRzX3RpbWVyKGk5MTUsIHRy dWUpKSB7CisJCWhydGltZXJfc3RhcnRfcmFuZ2VfbnMoJmk5MTUtPnBtdS50aW1lciwKKwkJCQkg ICAgICAgbnNfdG9fa3RpbWUoUEVSSU9EKSwgMCwKKwkJCQkgICAgICAgSFJUSU1FUl9NT0RFX1JF TF9QSU5ORUQpOworCQlpOTE1LT5wbXUudGltZXJfZW5hYmxlZCA9IHRydWU7CisJfQorCXNwaW5f dW5sb2NrX2lycSgmaTkxNS0+cG11LmxvY2spOworfQorCiBzdGF0aWMgYm9vbCBncmFiX2ZvcmNl d2FrZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgYm9vbCBmdykKIHsKIAlpZiAoIWZ3 KQpAQCAtMTMzLDcgKzE2Nyw3IEBAIHN0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCBpOTE1X3Nh bXBsZShzdHJ1Y3QgaHJ0aW1lciAqaHJ0aW1lcikKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSA9CiAJCWNvbnRhaW5lcl9vZihocnRpbWVyLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwg cG11LnRpbWVyKTsKIAotCWlmIChpOTE1LT5wbXUuZW5hYmxlID09IDApCisJaWYgKCFSRUFEX09O Q0UoaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQpKQogCQlyZXR1cm4gSFJUSU1FUl9OT1JFU1RBUlQ7 CiAKIAllbmdpbmVzX3NhbXBsZShpOTE1KTsKQEAgLTMwNywxMyArMzQxLDE5IEBAIHN0YXRpYyB2 b2lkIGk5MTVfcG11X2VuYWJsZShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPQogCQljb250YWluZXJfb2YoZXZlbnQtPnBtdSwgdHlw ZW9mKCppOTE1KSwgcG11LmJhc2UpOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xv Y2tfaXJxc2F2ZSgmaTkxNS0+cG11LmxvY2ssIGZsYWdzKTsKIAotCWlmIChpOTE1LT5wbXUuZW5h YmxlID09IDApCisJaTkxNS0+cG11LmVuYWJsZSB8PSBCSVRfVUxMKGV2ZW50LT5hdHRyLmNvbmZp Zyk7CisJaWYgKHBtdV9uZWVkc190aW1lcihpOTE1LCB0cnVlKSAmJiAhaTkxNS0+cG11LnRpbWVy X2VuYWJsZWQpIHsKIAkJaHJ0aW1lcl9zdGFydF9yYW5nZV9ucygmaTkxNS0+cG11LnRpbWVyLAog CQkJCSAgICAgICBuc190b19rdGltZShQRVJJT0QpLCAwLAogCQkJCSAgICAgICBIUlRJTUVSX01P REVfUkVMX1BJTk5FRCk7CisJCWk5MTUtPnBtdS50aW1lcl9lbmFibGVkID0gdHJ1ZTsKKwl9CiAK LQlpOTE1LT5wbXUuZW5hYmxlIHw9IEJJVF9VTEwoZXZlbnQtPmF0dHIuY29uZmlnKTsKKwlzcGlu X3VubG9ja19pcnFyZXN0b3JlKCZpOTE1LT5wbXUubG9jaywgZmxhZ3MpOwogCiAJaTkxNV9wbXVf dGltZXJfc3RhcnQoZXZlbnQpOwogfQpAQCAtMzIyLDggKzM2MiwxMyBAQCBzdGF0aWMgdm9pZCBp OTE1X3BtdV9kaXNhYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSA9CiAJCWNvbnRhaW5lcl9vZihldmVudC0+cG11LCB0eXBlb2Yo Kmk5MTUpLCBwbXUuYmFzZSk7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKIAorCXNwaW5fbG9ja19p cnFzYXZlKCZpOTE1LT5wbXUubG9jaywgZmxhZ3MpOwogCWk5MTUtPnBtdS5lbmFibGUgJj0gfkJJ VF9VTEwoZXZlbnQtPmF0dHIuY29uZmlnKTsKKwlpOTE1LT5wbXUudGltZXJfZW5hYmxlZCAmPSBw bXVfbmVlZHNfdGltZXIoaTkxNSwgdHJ1ZSk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTkx NS0+cG11LmxvY2ssIGZsYWdzKTsKKwogCWk5MTVfcG11X3RpbWVyX2NhbmNlbChldmVudCk7CiB9 CiAKQEAgLTU3Nyw2ICs2MjIsNyBAQCB2b2lkIGk5MTVfcG11X3JlZ2lzdGVyKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1KQogCWk5MTUtPnBtdS5iYXNlLnJlYWQJCT0gaTkxNV9wbXVfZXZl bnRfcmVhZDsKIAlpOTE1LT5wbXUuYmFzZS5ldmVudF9pZHgJPSBpOTE1X3BtdV9ldmVudF9ldmVu dF9pZHg7CiAKKwlzcGluX2xvY2tfaW5pdCgmaTkxNS0+cG11LmxvY2spOwogCWhydGltZXJfaW5p dCgmaTkxNS0+cG11LnRpbWVyLCBDTE9DS19NT05PVE9OSUMsIEhSVElNRVJfTU9ERV9SRUwpOwog CWk5MTUtPnBtdS50aW1lci5mdW5jdGlvbiA9IGk5MTVfc2FtcGxlOwogCWk5MTUtPnBtdS5lbmFi bGUgPSAwOwotLSAKMi45LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=