From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 4/8] drm/i915/pmu: Suspend sampling when GPU is idle Date: Mon, 25 Sep 2017 16:15:39 +0100 Message-ID: <20170925151543.7395-5-tvrtko.ursulin@linux.intel.com> References: <20170925151543.7395-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-x244.google.com (mail-wr0-x244.google.com [IPv6:2a00:1450:400c:c0c::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 762D86E347 for ; Mon, 25 Sep 2017 15:15:58 +0000 (UTC) Received: by mail-wr0-x244.google.com with SMTP id g50so32700wra.3 for ; Mon, 25 Sep 2017 08:15:58 -0700 (PDT) In-Reply-To: <20170925151543.7395-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 OiBGaXggc29tZSBjb21tZW50cyBzdHlsZXMuIChDaHJpcyBXaWxzb24pCgpTaWduZWQtb2ZmLWJ5 OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICA4ICsrKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fcmVxdWVzdC5jIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYyAg ICAgICAgIHwgODggKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiA0IGZpbGVzIGNo YW5nZWQsIDg4IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCmluZGV4IGE0MGMzMTRlZWQ1Zi4uMTFhNjI0ODkwYWQ2IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKQEAgLTIyNTMsNiArMjI1MywxMCBAQCBzdHJ1Y3QgaTkxNV9wbXUgewogCSAqLwog CXVuc2lnbmVkIGludCBlbmFibGVfY291bnRbSTkxNV9QTVVfTUFTS19CSVRTXTsKIAkvKioKKwkg KiBAdGltZXJfZW5hYmxlZDogU2hvdWxkIHRoZSBpbnRlcm5hbCBzYW1wbGluZyB0aW1lciBiZSBy dW5uaW5nLgorCSAqLworCWJvb2wgdGltZXJfZW5hYmxlZDsKKwkvKioKIAkgKiBAc2FtcGxlOiBD dXJyZW50IGNvdW50ZXIgdmFsdWUgZm9yIGk5MTUgZXZlbnRzIHdoaWNoIG5lZWQgc2FtcGxpbmcu CiAJICoKIAkgKiBUaGVzZSBjb3VudGVycyBhcmUgdXBkYXRlZCBmcm9tIHRoZSBpOTE1IFBNVSBz YW1wbGluZyB0aW1lci4KQEAgLTQwMDUsOSArNDAwOSwxMyBAQCBleHRlcm4gdm9pZCBpOTE1X3Bl cmZfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogI2lmZGVm IENPTkZJR19QRVJGX0VWRU5UUwogdm9pZCBpOTE1X3BtdV9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSk7CiB2b2lkIGk5MTVfcG11X3VucmVnaXN0ZXIoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpOwordm9pZCBpOTE1X3BtdV9ndF9pZGxlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KTsKK3ZvaWQgaTkxNV9wbXVfZ3RfYWN0aXZlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KTsKICNlbHNlCiBzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9wbXVfcmVn aXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpIHt9CiBzdGF0aWMgaW5saW5lIHZv aWQgaTkxNV9wbXVfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkge30K K3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3BtdV9ndF9pZGxlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1KSB7fQorc3RhdGljIGlubGluZSB2b2lkIGk5MTVfcG11X2d0X2FjdGl2ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkge30KICNlbmRpZgogCiAvKiBpOTE1X3N1c3BlbmQu YyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggNzNlZWI2YjFmMWNkLi4xOGY5ZjBiNTQx YjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMzE5MSw2ICszMTkxLDcgQEAgaTkxNV9n ZW1faWRsZV93b3JrX2hhbmRsZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCiAJaW50ZWxf ZW5naW5lc19tYXJrX2lkbGUoZGV2X3ByaXYpOwogCWk5MTVfZ2VtX3RpbWVsaW5lc19tYXJrX2lk bGUoZGV2X3ByaXYpOworCWk5MTVfcG11X2d0X2lkbGUoZGV2X3ByaXYpOwogCiAJR0VNX0JVR19P TighZGV2X3ByaXYtPmd0LmF3YWtlKTsKIAlkZXZfcHJpdi0+Z3QuYXdha2UgPSBmYWxzZTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwppbmRleCA0ZWIxYTc2NzMxYjIuLjQz MjQ5YmUxZjk3YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVx dWVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwpAQCAt MjU4LDYgKzI1OCw3IEBAIHN0YXRpYyB2b2lkIG1hcmtfYnVzeShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKIAlpOTE1X3VwZGF0ZV9nZnhfdmFsKGk5MTUpOwogCWlmIChJTlRFTF9HRU4o aTkxNSkgPj0gNikKIAkJZ2VuNl9ycHNfYnVzeShpOTE1KTsKKwlpOTE1X3BtdV9ndF9hY3RpdmUo aTkxNSk7CiAKIAlxdWV1ZV9kZWxheWVkX3dvcmsoaTkxNS0+d3EsCiAJCQkgICAmaTkxNS0+Z3Qu cmV0aXJlX3dvcmssCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwppbmRleCBjZjE0MDZmYmMyMTUuLjEz YzFmNTg4NzY2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCkBAIC05MCw2ICs5MCw3NSBAQCBz dGF0aWMgdW5zaWduZWQgaW50IGV2ZW50X2VuYWJsZWRfYml0KHN0cnVjdCBwZXJmX2V2ZW50ICpl dmVudCkKIAlyZXR1cm4gY29uZmlnX2VuYWJsZWRfYml0KGV2ZW50LT5hdHRyLmNvbmZpZyk7CiB9 CiAKK3N0YXRpYyBib29sIHBtdV9uZWVkc190aW1lcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSwgYm9vbCBncHVfYWN0aXZlKQoreworCXU2NCBlbmFibGU7CisKKwkvKgorCSAqIE9ubHkg c29tZSBjb3VudGVycyBuZWVkIHRoZSBzYW1wbGluZyB0aW1lci4KKwkgKgorCSAqIFdlIHN0YXJ0 IHdpdGggYSBiaXRtYXNrIG9mIGFsbCBjdXJyZW50bHkgZW5hYmxlZCBldmVudHMuCisJICovCisJ ZW5hYmxlID0gaTkxNS0+cG11LmVuYWJsZTsKKworCS8qCisJICogTWFzayBvdXQgYWxsIHRoZSBv bmVzIHdoaWNoIGRvIG5vdCBuZWVkIHRoZSB0aW1lciwgb3IgaW4KKwkgKiBvdGhlciB3b3JkcyBr ZWVwIGFsbCB0aGUgb25lcyB0aGF0IGNvdWxkIG5lZWQgdGhlIHRpbWVyLgorCSAqLworCWVuYWJs ZSAmPSBjb25maWdfZW5hYmxlZF9tYXNrKEk5MTVfUE1VX0FDVFVBTF9GUkVRVUVOQ1kpIHwKKwkJ ICBjb25maWdfZW5hYmxlZF9tYXNrKEk5MTVfUE1VX1JFUVVFU1RFRF9GUkVRVUVOQ1kpIHwKKwkJ ICBFTkdJTkVfU0FNUExFX01BU0s7CisKKwkvKgorCSAqIFdoZW4gdGhlIEdQVSBpcyBpZGxlIHBl ci1lbmdpbmUgY291bnRlcnMgZG8gbm90IG5lZWQgdG8gYmUKKwkgKiBydW5uaW5nIHNvIGNsZWFy IHRob3NlIGJpdHMgb3V0LgorCSAqLworCWlmICghZ3B1X2FjdGl2ZSkKKwkJZW5hYmxlICY9IH5F TkdJTkVfU0FNUExFX01BU0s7CisKKwkvKgorCSAqIElmIHNvbWUgYml0cyByZW1haW4gaXQgbWVh bnMgd2UgbmVlZCB0aGUgc2FtcGxpbmcgdGltZXIgcnVubmluZy4KKwkgKi8KKwlyZXR1cm4gZW5h YmxlOworfQorCit2b2lkIGk5MTVfcG11X2d0X2lkbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUpCit7CisJaWYgKCFpOTE1LT5wbXUuYmFzZS5ldmVudF9pbml0KQorCQlyZXR1cm47CisK KwlzcGluX2xvY2tfaXJxKCZpOTE1LT5wbXUubG9jayk7CisJLyoKKwkgKiBTaWduYWwgc2FtcGxp bmcgdGltZXIgdG8gc3RvcCBpZiBvbmx5IGVuZ2luZSBldmVudHMgYXJlIGVuYWJsZWQgYW5kCisJ ICogR1BVIHdlbnQgaWRsZS4KKwkgKi8KKwlpOTE1LT5wbXUudGltZXJfZW5hYmxlZCA9IHBtdV9u ZWVkc190aW1lcihpOTE1LCBmYWxzZSk7CisJc3Bpbl91bmxvY2tfaXJxKCZpOTE1LT5wbXUubG9j ayk7Cit9CisKK3N0YXRpYyB2b2lkIF9faTkxNV9wbXVfbWF5YmVfc3RhcnRfdGltZXIoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJaWYgKCFpOTE1LT5wbXUudGltZXJfZW5hYmxl ZCAmJiBwbXVfbmVlZHNfdGltZXIoaTkxNSwgdHJ1ZSkpIHsKKwkJaTkxNS0+cG11LnRpbWVyX2Vu YWJsZWQgPSB0cnVlOworCQlocnRpbWVyX3N0YXJ0X3JhbmdlX25zKCZpOTE1LT5wbXUudGltZXIs CisJCQkJICAgICAgIG5zX3RvX2t0aW1lKFBFUklPRCksIDAsCisJCQkJICAgICAgIEhSVElNRVJf TU9ERV9SRUxfUElOTkVEKTsKKwl9Cit9CisKK3ZvaWQgaTkxNV9wbXVfZ3RfYWN0aXZlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCWlmICghaTkxNS0+cG11LmJhc2UuZXZlbnRf aW5pdCkKKwkJcmV0dXJuOworCisJc3Bpbl9sb2NrX2lycSgmaTkxNS0+cG11LmxvY2spOworCS8q CisJICogUmUtZW5hYmxlIHNhbXBsaW5nIHRpbWVyIHdoZW4gR1BVIGdvZXMgYWN0aXZlLgorCSAq LworCV9faTkxNV9wbXVfbWF5YmVfc3RhcnRfdGltZXIoaTkxNSk7CisJc3Bpbl91bmxvY2tfaXJx KCZpOTE1LT5wbXUubG9jayk7Cit9CisKIHN0YXRpYyBib29sIGdyYWJfZm9yY2V3YWtlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBib29sIGZ3KQogewogCWlmICghZncpCkBAIC0xODMs NyArMjUyLDcgQEAgc3RhdGljIGVudW0gaHJ0aW1lcl9yZXN0YXJ0IGk5MTVfc2FtcGxlKHN0cnVj dCBocnRpbWVyICpocnRpbWVyKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0KIAkJ Y29udGFpbmVyX29mKGhydGltZXIsIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlLCBwbXUudGltZXIp OwogCi0JaWYgKGk5MTUtPnBtdS5lbmFibGUgPT0gMCkKKwlpZiAoIVJFQURfT05DRShpOTE1LT5w bXUudGltZXJfZW5hYmxlZCkpCiAJCXJldHVybiBIUlRJTUVSX05PUkVTVEFSVDsKIAogCWVuZ2lu ZXNfc2FtcGxlKGk5MTUpOwpAQCAtMzgxLDE0ICs0NTAsNiBAQCBzdGF0aWMgdm9pZCBpOTE1X3Bt dV9lbmFibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCXNwaW5fbG9ja19pcnFzYXZlKCZp OTE1LT5wbXUubG9jaywgZmxhZ3MpOwogCiAJLyoKLQkgKiBTdGFydCB0aGUgc2FtcGxpbmcgdGlt ZXIgd2hlbiBlbmFibGluZyB0aGUgZmlyc3QgZXZlbnQuCi0JICovCi0JaWYgKGk5MTUtPnBtdS5l bmFibGUgPT0gMCkKLQkJaHJ0aW1lcl9zdGFydF9yYW5nZV9ucygmaTkxNS0+cG11LnRpbWVyLAot CQkJCSAgICAgICBuc190b19rdGltZShQRVJJT0QpLCAwLAotCQkJCSAgICAgICBIUlRJTUVSX01P REVfUkVMX1BJTk5FRCk7Ci0KLQkvKgogCSAqIFVwZGF0ZSB0aGUgYml0bWFzayBvZiBlbmFibGVk IGV2ZW50cyBhbmQgaW5jcmVtZW50CiAJICogdGhlIGV2ZW50IHJlZmVyZW5jZSBjb3VudGVyLgog CSAqLwpAQCAtMzk4LDYgKzQ1OSwxMSBAQCBzdGF0aWMgdm9pZCBpOTE1X3BtdV9lbmFibGUoc3Ry dWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCWk5MTUtPnBtdS5lbmFibGVfY291bnRbYml0XSsrOwog CiAJLyoKKwkgKiBTdGFydCB0aGUgc2FtcGxpbmcgdGltZXIgaWYgbmVlZGVkIGFuZCBub3QgYWxy ZWFkeSBlbmFibGVkLgorCSAqLworCV9faTkxNV9wbXVfbWF5YmVfc3RhcnRfdGltZXIoaTkxNSk7 CisKKwkvKgogCSAqIEZvciBwZXItZW5naW5lIGV2ZW50cyB0aGUgYml0bWFzayBhbmQgcmVmZXJl bmNlIGNvdW50aW5nCiAJICogaXMgc3RvcmVkIHBlciBlbmdpbmUuCiAJICovCkBAIC00NTksOCAr NTI1LDEwIEBAIHN0YXRpYyB2b2lkIGk5MTVfcG11X2Rpc2FibGUoc3RydWN0IHBlcmZfZXZlbnQg KmV2ZW50KQogCSAqIERlY3JlbWVudCB0aGUgcmVmZXJlbmNlIGNvdW50IGFuZCBjbGVhciB0aGUg ZW5hYmxlZAogCSAqIGJpdG1hc2sgd2hlbiB0aGUgbGFzdCBsaXN0ZW5lciBvbiBhbiBldmVudCBn b2VzIGF3YXkuCiAJICovCi0JaWYgKC0taTkxNS0+cG11LmVuYWJsZV9jb3VudFtiaXRdID09IDAp CisJaWYgKC0taTkxNS0+cG11LmVuYWJsZV9jb3VudFtiaXRdID09IDApIHsKIAkJaTkxNS0+cG11 LmVuYWJsZSAmPSB+QklUX1VMTChiaXQpOworCQlpOTE1LT5wbXUudGltZXJfZW5hYmxlZCAmPSBw bXVfbmVlZHNfdGltZXIoaTkxNSwgdHJ1ZSk7CisJfQogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9y ZSgmaTkxNS0+cG11LmxvY2ssIGZsYWdzKTsKIH0KLS0gCjIuOS41CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK