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, 18 Sep 2017 12:38:10 +0100 Message-ID: <20170918113814.2591-5-tvrtko.ursulin@linux.intel.com> References: <20170918113814.2591-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 1559E6E348 for ; Mon, 18 Sep 2017 11:38:26 +0000 (UTC) Received: by mail-wr0-x241.google.com with SMTP id u48so152402wrf.4 for ; Mon, 18 Sep 2017 04:38:26 -0700 (PDT) In-Reply-To: <20170918113814.2591-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 ZCBjb21tZW50IGV4cGxhaW5pbmcgYml0d2lzZSBsb2dpYyBpbiBwbXVfbmVlZHNfdGltZXIuCgpT aWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICA4ICsrKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9wbXUuYyAgICAgICAgIHwgODggKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t CiA0IGZpbGVzIGNoYW5nZWQsIDg4IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDgyNDM3MjAzNzY3Mi4uMGUwZGYzYjcyOTQ0IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTIyNTIsNiArMjI1MiwxMCBAQCBzdHJ1Y3QgaTkxNV9w bXUgewogCSAqLwogCXVuc2lnbmVkIGludCBlbmFibGVfY291bnRbSTkxNV9QTVVfTUFTS19CSVRT XTsKIAkvKioKKwkgKiBAdGltZXJfZW5hYmxlZDogU2hvdWxkIHRoZSBpbnRlcm5hbCBzYW1wbGlu ZyB0aW1lciBiZSBydW5uaW5nLgorCSAqLworCWJvb2wgdGltZXJfZW5hYmxlZDsKKwkvKioKIAkg KiBAc2FtcGxlOiBDdXJyZW50IGNvdW50ZXIgdmFsdWUgZm9yIGk5MTUgZXZlbnRzIHdoaWNoIG5l ZWQgc2FtcGxpbmcuCiAJICoKIAkgKiBUaGVzZSBjb3VudGVycyBhcmUgdXBkYXRlZCBmcm9tIHRo ZSBpOTE1IFBNVSBzYW1wbGluZyB0aW1lci4KQEAgLTQwMDIsOSArNDAwNiwxMyBAQCBleHRlcm4g dm9pZCBpOTE1X3BlcmZfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpOwogI2lmZGVmIENPTkZJR19QRVJGX0VWRU5UUwogdm9pZCBpOTE1X3BtdV9yZWdpc3Rlcihz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CiB2b2lkIGk5MTVfcG11X3VucmVnaXN0ZXIo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwordm9pZCBpOTE1X3BtdV9ndF9pZGxlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKK3ZvaWQgaTkxNV9wbXVfZ3RfYWN0aXZlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKICNlbHNlCiBzdGF0aWMgaW5saW5lIHZvaWQg aTkxNV9wbXVfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpIHt9CiBzdGF0 aWMgaW5saW5lIHZvaWQgaTkxNV9wbXVfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSkge30KK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3BtdV9ndF9pZGxlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KSB7fQorc3RhdGljIGlubGluZSB2b2lkIGk5MTVfcG11X2d0 X2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkge30KICNlbmRpZgogCiAvKiBp OTE1X3N1c3BlbmQuYyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggMzI1MGRmYWExOTJi Li4yN2FlMTZhYmVkODYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMzIyNyw2ICszMjI3 LDcgQEAgaTkxNV9nZW1faWRsZV93b3JrX2hhbmRsZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3Jr KQogCiAJaW50ZWxfZW5naW5lc19tYXJrX2lkbGUoZGV2X3ByaXYpOwogCWk5MTVfZ2VtX3RpbWVs aW5lc19tYXJrX2lkbGUoZGV2X3ByaXYpOworCWk5MTVfcG11X2d0X2lkbGUoZGV2X3ByaXYpOwog CiAJR0VNX0JVR19PTighZGV2X3ByaXYtPmd0LmF3YWtlKTsKIAlkZXZfcHJpdi0+Z3QuYXdha2Ug PSBmYWxzZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVl c3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwppbmRleCA4MTNh M2I1NDZkNmUuLjE4YTFlMzc5MjUzZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fcmVxdWVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Jl cXVlc3QuYwpAQCAtMjU4LDYgKzI1OCw3IEBAIHN0YXRpYyB2b2lkIG1hcmtfYnVzeShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlpOTE1X3VwZGF0ZV9nZnhfdmFsKGk5MTUpOwogCWlm IChJTlRFTF9HRU4oaTkxNSkgPj0gNikKIAkJZ2VuNl9ycHNfYnVzeShpOTE1KTsKKwlpOTE1X3Bt dV9ndF9hY3RpdmUoaTkxNSk7CiAKIAlxdWV1ZV9kZWxheWVkX3dvcmsoaTkxNS0+d3EsCiAJCQkg ICAmaTkxNS0+Z3QucmV0aXJlX3dvcmssCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3BtdS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwppbmRleCBiMGE5 NDJmOGRhNzQuLmI3ZGU2ZmUzY2FjNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9wbXUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCkBAIC05MCw2 ICs5MCw3NSBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGV2ZW50X2VuYWJsZWRfYml0KHN0cnVjdCBw ZXJmX2V2ZW50ICpldmVudCkKIAlyZXR1cm4gY29uZmlnX2VuYWJsZWRfYml0KGV2ZW50LT5hdHRy LmNvbmZpZyk7CiB9CiAKK3N0YXRpYyBib29sIHBtdV9uZWVkc190aW1lcihzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSwgYm9vbCBncHVfYWN0aXZlKQoreworCXU2NCBlbmFibGU7CisKKwkv KioKKwkgKiBPbmx5IHNvbWUgY291bnRlcnMgbmVlZCB0aGUgc2FtcGxpbmcgdGltZXIuCisJICoK KwkgKiBXZSBzdGFydCB3aXRoIGEgYml0bWFzayBvZiBhbGwgY3VycmVudGx5IGVuYWJsZWQgZXZl bnRzLgorCSAqLworCWVuYWJsZSA9IGk5MTUtPnBtdS5lbmFibGU7CisKKwkvKioKKwkgKiBNYXNr IG91dCBhbGwgdGhlIG9uZXMgd2hpY2ggZG8gbm90IG5lZWQgdGhlIHRpbWVyLCBvciBpbgorCSAq IG90aGVyIHdvcmRzIGtlZXAgYWxsIHRoZSBvbmVzIHRoYXQgY291bGQgbmVlZCB0aGUgdGltZXIu CisJICovCisJZW5hYmxlICY9IGNvbmZpZ19lbmFibGVkX21hc2soSTkxNV9QTVVfQUNUVUFMX0ZS RVFVRU5DWSkgfAorCQkgIGNvbmZpZ19lbmFibGVkX21hc2soSTkxNV9QTVVfUkVRVUVTVEVEX0ZS RVFVRU5DWSkgfAorCQkgIEVOR0lORV9TQU1QTEVfTUFTSzsKKworCS8qKgorCSAqIFdoZW4gdGhl IEdQVSBpcyBpZGxlIHBlci1lbmdpbmUgY291bnRlcnMgZG8gbm90IG5lZWQgdG8gYmUKKwkgKiBy dW5uaW5nIHNvIGNsZWFyIHRob3NlIGJpdHMgb3V0LgorCSAqLworCWlmICghZ3B1X2FjdGl2ZSkK KwkJZW5hYmxlICY9IH5FTkdJTkVfU0FNUExFX01BU0s7CisKKwkvKioKKwkgKiBJZiBzb21lIGJp dHMgcmVtYWluIGl0IG1lYW5zIHdlIG5lZWQgdGhlIHNhbXBsaW5nIHRpbWVyIHJ1bm5pbmcuCisJ ICovCisJcmV0dXJuIGVuYWJsZTsKK30KKwordm9pZCBpOTE1X3BtdV9ndF9pZGxlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KQoreworCWlmICghaTkxNS0+cG11LmJhc2UuZXZlbnRfaW5p dCkKKwkJcmV0dXJuOworCisJc3Bpbl9sb2NrX2lycSgmaTkxNS0+cG11LmxvY2spOworCS8qCisJ ICogU2lnbmFsIHNhbXBsaW5nIHRpbWVyIHRvIHN0b3AgaWYgb25seSBlbmdpbmUgZXZlbnRzIGFy ZSBlbmFibGVkIGFuZAorCSAqIEdQVSB3ZW50IGlkbGUuCisJICovCisJaTkxNS0+cG11LnRpbWVy X2VuYWJsZWQgPSBwbXVfbmVlZHNfdGltZXIoaTkxNSwgZmFsc2UpOworCXNwaW5fdW5sb2NrX2ly cSgmaTkxNS0+cG11LmxvY2spOworfQorCitzdGF0aWMgdm9pZCBfX2k5MTVfcG11X21heWJlX3N0 YXJ0X3RpbWVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCWlmICghaTkxNS0+ cG11LnRpbWVyX2VuYWJsZWQgJiYgcG11X25lZWRzX3RpbWVyKGk5MTUsIHRydWUpKSB7CisJCWk5 MTUtPnBtdS50aW1lcl9lbmFibGVkID0gdHJ1ZTsKKwkJaHJ0aW1lcl9zdGFydF9yYW5nZV9ucygm aTkxNS0+cG11LnRpbWVyLAorCQkJCSAgICAgICBuc190b19rdGltZShQRVJJT0QpLCAwLAorCQkJ CSAgICAgICBIUlRJTUVSX01PREVfUkVMX1BJTk5FRCk7CisJfQorfQorCit2b2lkIGk5MTVfcG11 X2d0X2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlpZiAoIWk5MTUt PnBtdS5iYXNlLmV2ZW50X2luaXQpCisJCXJldHVybjsKKworCXNwaW5fbG9ja19pcnEoJmk5MTUt PnBtdS5sb2NrKTsKKwkvKgorCSAqIFJlLWVuYWJsZSBzYW1wbGluZyB0aW1lciB3aGVuIEdQVSBn b2VzIGFjdGl2ZS4KKwkgKi8KKwlfX2k5MTVfcG11X21heWJlX3N0YXJ0X3RpbWVyKGk5MTUpOwor CXNwaW5fdW5sb2NrX2lycSgmaTkxNS0+cG11LmxvY2spOworfQorCiBzdGF0aWMgYm9vbCBncmFi X2ZvcmNld2FrZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgYm9vbCBmdykKIHsKIAlp ZiAoIWZ3KQpAQCAtMTgxLDcgKzI1MCw3IEBAIHN0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCBp OTE1X3NhbXBsZShzdHJ1Y3QgaHJ0aW1lciAqaHJ0aW1lcikKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSA9CiAJCWNvbnRhaW5lcl9vZihocnRpbWVyLCBzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSwgcG11LnRpbWVyKTsKIAotCWlmIChpOTE1LT5wbXUuZW5hYmxlID09IDApCisJaWYgKCFS RUFEX09OQ0UoaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQpKQogCQlyZXR1cm4gSFJUSU1FUl9OT1JF U1RBUlQ7CiAKIAllbmdpbmVzX3NhbXBsZShpOTE1KTsKQEAgLTM3OSwxNCArNDQ4LDYgQEAgc3Rh dGljIHZvaWQgaTkxNV9wbXVfZW5hYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIAlzcGlu X2xvY2tfaXJxc2F2ZSgmaTkxNS0+cG11LmxvY2ssIGZsYWdzKTsKIAogCS8qCi0JICogU3RhcnQg dGhlIHNhbXBsaW5nIHRpbWVyIHdoZW4gZW5hYmxpbmcgdGhlIGZpcnN0IGV2ZW50LgotCSAqLwot CWlmIChpOTE1LT5wbXUuZW5hYmxlID09IDApCi0JCWhydGltZXJfc3RhcnRfcmFuZ2VfbnMoJmk5 MTUtPnBtdS50aW1lciwKLQkJCQkgICAgICAgbnNfdG9fa3RpbWUoUEVSSU9EKSwgMCwKLQkJCQkg ICAgICAgSFJUSU1FUl9NT0RFX1JFTF9QSU5ORUQpOwotCi0JLyoKIAkgKiBVcGRhdGUgdGhlIGJp dG1hc2sgb2YgZW5hYmxlZCBldmVudHMgYW5kIGluY3JlbWVudAogCSAqIHRoZSBldmVudCByZWZl cmVuY2UgY291bnRlci4KIAkgKi8KQEAgLTM5Niw2ICs0NTcsMTEgQEAgc3RhdGljIHZvaWQgaTkx NV9wbXVfZW5hYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIAlpOTE1LT5wbXUuZW5hYmxl X2NvdW50W2JpdF0rKzsKIAogCS8qCisJICogU3RhcnQgdGhlIHNhbXBsaW5nIHRpbWVyIGlmIG5l ZWRlZCBhbmQgbm90IGFscmVhZHkgZW5hYmxlZC4KKwkgKi8KKwlfX2k5MTVfcG11X21heWJlX3N0 YXJ0X3RpbWVyKGk5MTUpOworCisJLyoKIAkgKiBGb3IgcGVyLWVuZ2luZSBldmVudHMgdGhlIGJp dG1hc2sgYW5kIHJlZmVyZW5jZSBjb3VudGluZwogCSAqIGlzIHN0b3JlZCBwZXIgZW5naW5lLgog CSAqLwpAQCAtNDU3LDggKzUyMywxMCBAQCBzdGF0aWMgdm9pZCBpOTE1X3BtdV9kaXNhYmxlKHN0 cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIAkgKiBEZWNyZW1lbnQgdGhlIHJlZmVyZW5jZSBjb3Vu dCBhbmQgY2xlYXIgdGhlIGVuYWJsZWQKIAkgKiBiaXRtYXNrIHdoZW4gdGhlIGxhc3QgbGlzdGVu ZXIgb24gYW4gZXZlbnQgZ29lcyBhd2F5LgogCSAqLwotCWlmICgtLWk5MTUtPnBtdS5lbmFibGVf Y291bnRbYml0XSA9PSAwKQorCWlmICgtLWk5MTUtPnBtdS5lbmFibGVfY291bnRbYml0XSA9PSAw KSB7CiAJCWk5MTUtPnBtdS5lbmFibGUgJj0gfkJJVF9VTEwoYml0KTsKKwkJaTkxNS0+cG11LnRp bWVyX2VuYWJsZWQgJj0gcG11X25lZWRzX3RpbWVyKGk5MTUsIHRydWUpOworCX0KIAogCXNwaW5f dW5sb2NrX2lycXJlc3RvcmUoJmk5MTUtPnBtdS5sb2NrLCBmbGFncyk7CiB9Ci0tIAoyLjkuNQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==