From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v11 3/9] drm/i915/pmu: Suspend sampling when GPU is idle Date: Wed, 25 Oct 2017 15:27:55 +0100 Message-ID: <20171025142755.16307-1-tvrtko.ursulin@linux.intel.com> References: <150893630570.15898.5773809421348055824@mail.alporthouse.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 BCE8E6E6AC for ; Wed, 25 Oct 2017 14:28:03 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id u138so2338054wmu.4 for ; Wed, 25 Oct 2017 07:28:03 -0700 (PDT) In-Reply-To: <150893630570.15898.5773809421348055824@mail.alporthouse.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 L2k5MTUvaTkxNV9nZW0uYwppbmRleCBiYWZlMWNkZDU3ZDguLjgzMjU2NmVjMGYzYiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0zMzQ5LDYgKzMzNDksNyBAQCBpOTE1X2dlbV9pZGxlX3dv cmtfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAKIAlpbnRlbF9lbmdpbmVzX21h cmtfaWRsZShkZXZfcHJpdik7CiAJaTkxNV9nZW1fdGltZWxpbmVzX21hcmtfaWRsZShkZXZfcHJp dik7CisJaTkxNV9wbXVfZ3RfcGFya2VkKGRldl9wcml2KTsKIAogCUdFTV9CVUdfT04oIWRldl9w cml2LT5ndC5hd2FrZSk7CiAJZGV2X3ByaXYtPmd0LmF3YWtlID0gZmFsc2U7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKaW5kZXggZDE0MGZjZjVjNmEzLi44YjRkYjhmNTBi NjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKQEAgLTI1OCw2ICsy NTgsNyBAQCBzdGF0aWMgdm9pZCBtYXJrX2J1c3koc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpCiAJaTkxNV91cGRhdGVfZ2Z4X3ZhbChpOTE1KTsKIAlpZiAoSU5URUxfR0VOKGk5MTUpID49 IDYpCiAJCWdlbjZfcnBzX2J1c3koaTkxNSk7CisJaTkxNV9wbXVfZ3RfdW5wYXJrZWQoaTkxNSk7 CiAKIAlxdWV1ZV9kZWxheWVkX3dvcmsoaTkxNS0+d3EsCiAJCQkgICAmaTkxNS0+Z3QucmV0aXJl X3dvcmssCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwppbmRleCAwMWI1ZWU2N2MxYmYuLmZiOTVmMGFj MzBlYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCkBAIC05MCw2ICs5MCw3NSBAQCBzdGF0aWMg dW5zaWduZWQgaW50IGV2ZW50X2VuYWJsZWRfYml0KHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkK IAlyZXR1cm4gY29uZmlnX2VuYWJsZWRfYml0KGV2ZW50LT5hdHRyLmNvbmZpZyk7CiB9CiAKK3N0 YXRpYyBib29sIHBtdV9uZWVkc190aW1lcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwg Ym9vbCBncHVfYWN0aXZlKQoreworCXU2NCBlbmFibGU7CisKKwkvKgorCSAqIE9ubHkgc29tZSBj b3VudGVycyBuZWVkIHRoZSBzYW1wbGluZyB0aW1lci4KKwkgKgorCSAqIFdlIHN0YXJ0IHdpdGgg YSBiaXRtYXNrIG9mIGFsbCBjdXJyZW50bHkgZW5hYmxlZCBldmVudHMuCisJICovCisJZW5hYmxl ID0gaTkxNS0+cG11LmVuYWJsZTsKKworCS8qCisJICogTWFzayBvdXQgYWxsIHRoZSBvbmVzIHdo aWNoIGRvIG5vdCBuZWVkIHRoZSB0aW1lciwgb3IgaW4KKwkgKiBvdGhlciB3b3JkcyBrZWVwIGFs bCB0aGUgb25lcyB0aGF0IGNvdWxkIG5lZWQgdGhlIHRpbWVyLgorCSAqLworCWVuYWJsZSAmPSBj b25maWdfZW5hYmxlZF9tYXNrKEk5MTVfUE1VX0FDVFVBTF9GUkVRVUVOQ1kpIHwKKwkJICBjb25m aWdfZW5hYmxlZF9tYXNrKEk5MTVfUE1VX1JFUVVFU1RFRF9GUkVRVUVOQ1kpIHwKKwkJICBFTkdJ TkVfU0FNUExFX01BU0s7CisKKwkvKgorCSAqIFdoZW4gdGhlIEdQVSBpcyBpZGxlIHBlci1lbmdp bmUgY291bnRlcnMgZG8gbm90IG5lZWQgdG8gYmUKKwkgKiBydW5uaW5nIHNvIGNsZWFyIHRob3Nl IGJpdHMgb3V0LgorCSAqLworCWlmICghZ3B1X2FjdGl2ZSkKKwkJZW5hYmxlICY9IH5FTkdJTkVf U0FNUExFX01BU0s7CisKKwkvKgorCSAqIElmIHNvbWUgYml0cyByZW1haW4gaXQgbWVhbnMgd2Ug bmVlZCB0aGUgc2FtcGxpbmcgdGltZXIgcnVubmluZy4KKwkgKi8KKwlyZXR1cm4gZW5hYmxlOwor fQorCit2b2lkIGk5MTVfcG11X2d0X3BhcmtlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSkKK3sKKwlpZiAoIWk5MTUtPnBtdS5iYXNlLmV2ZW50X2luaXQpCisJCXJldHVybjsKKworCXNw aW5fbG9ja19pcnEoJmk5MTUtPnBtdS5sb2NrKTsKKwkvKgorCSAqIFNpZ25hbCBzYW1wbGluZyB0 aW1lciB0byBzdG9wIGlmIG9ubHkgZW5naW5lIGV2ZW50cyBhcmUgZW5hYmxlZCBhbmQKKwkgKiBH UFUgd2VudCBpZGxlLgorCSAqLworCWk5MTUtPnBtdS50aW1lcl9lbmFibGVkID0gcG11X25lZWRz X3RpbWVyKGk5MTUsIGZhbHNlKTsKKwlzcGluX3VubG9ja19pcnEoJmk5MTUtPnBtdS5sb2NrKTsK K30KKworc3RhdGljIHZvaWQgX19pOTE1X3BtdV9tYXliZV9zdGFydF90aW1lcihzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlpZiAoIWk5MTUtPnBtdS50aW1lcl9lbmFibGVkICYm IHBtdV9uZWVkc190aW1lcihpOTE1LCB0cnVlKSkgeworCQlpOTE1LT5wbXUudGltZXJfZW5hYmxl ZCA9IHRydWU7CisJCWhydGltZXJfc3RhcnRfcmFuZ2VfbnMoJmk5MTUtPnBtdS50aW1lciwKKwkJ CQkgICAgICAgbnNfdG9fa3RpbWUoUEVSSU9EKSwgMCwKKwkJCQkgICAgICAgSFJUSU1FUl9NT0RF X1JFTF9QSU5ORUQpOworCX0KK30KKwordm9pZCBpOTE1X3BtdV9ndF91bnBhcmtlZChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlpZiAoIWk5MTUtPnBtdS5iYXNlLmV2ZW50X2lu aXQpCisJCXJldHVybjsKKworCXNwaW5fbG9ja19pcnEoJmk5MTUtPnBtdS5sb2NrKTsKKwkvKgor CSAqIFJlLWVuYWJsZSBzYW1wbGluZyB0aW1lciB3aGVuIEdQVSBnb2VzIGFjdGl2ZS4KKwkgKi8K KwlfX2k5MTVfcG11X21heWJlX3N0YXJ0X3RpbWVyKGk5MTUpOworCXNwaW5fdW5sb2NrX2lycSgm aTkxNS0+cG11LmxvY2spOworfQorCiBzdGF0aWMgYm9vbCBncmFiX2ZvcmNld2FrZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgYm9vbCBmdykKIHsKIAlpZiAoIWZ3KQpAQCAtMTg3LDcg KzI1Niw3IEBAIHN0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCBpOTE1X3NhbXBsZShzdHJ1Y3Qg aHJ0aW1lciAqaHJ0aW1lcikKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9CiAJCWNv bnRhaW5lcl9vZihocnRpbWVyLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwgcG11LnRpbWVyKTsK IAotCWlmIChpOTE1LT5wbXUuZW5hYmxlID09IDApCisJaWYgKCFSRUFEX09OQ0UoaTkxNS0+cG11 LnRpbWVyX2VuYWJsZWQpKQogCQlyZXR1cm4gSFJUSU1FUl9OT1JFU1RBUlQ7CiAKIAllbmdpbmVz X3NhbXBsZShpOTE1KTsKQEAgLTM0MCwxNCArNDA5LDYgQEAgc3RhdGljIHZvaWQgaTkxNV9wbXVf ZW5hYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIAlzcGluX2xvY2tfaXJxc2F2ZSgmaTkx NS0+cG11LmxvY2ssIGZsYWdzKTsKIAogCS8qCi0JICogU3RhcnQgdGhlIHNhbXBsaW5nIHRpbWVy IHdoZW4gZW5hYmxpbmcgdGhlIGZpcnN0IGV2ZW50LgotCSAqLwotCWlmIChpOTE1LT5wbXUuZW5h YmxlID09IDApCi0JCWhydGltZXJfc3RhcnRfcmFuZ2VfbnMoJmk5MTUtPnBtdS50aW1lciwKLQkJ CQkgICAgICAgbnNfdG9fa3RpbWUoUEVSSU9EKSwgMCwKLQkJCQkgICAgICAgSFJUSU1FUl9NT0RF X1JFTF9QSU5ORUQpOwotCi0JLyoKIAkgKiBVcGRhdGUgdGhlIGJpdG1hc2sgb2YgZW5hYmxlZCBl dmVudHMgYW5kIGluY3JlbWVudAogCSAqIHRoZSBldmVudCByZWZlcmVuY2UgY291bnRlci4KIAkg Ki8KQEAgLTM1Nyw2ICs0MTgsMTEgQEAgc3RhdGljIHZvaWQgaTkxNV9wbXVfZW5hYmxlKHN0cnVj dCBwZXJmX2V2ZW50ICpldmVudCkKIAlpOTE1LT5wbXUuZW5hYmxlX2NvdW50W2JpdF0rKzsKIAog CS8qCisJICogU3RhcnQgdGhlIHNhbXBsaW5nIHRpbWVyIGlmIG5lZWRlZCBhbmQgbm90IGFscmVh ZHkgZW5hYmxlZC4KKwkgKi8KKwlfX2k5MTVfcG11X21heWJlX3N0YXJ0X3RpbWVyKGk5MTUpOwor CisJLyoKIAkgKiBGb3IgcGVyLWVuZ2luZSBldmVudHMgdGhlIGJpdG1hc2sgYW5kIHJlZmVyZW5j ZSBjb3VudGluZwogCSAqIGlzIHN0b3JlZCBwZXIgZW5naW5lLgogCSAqLwpAQCAtNDE4LDggKzQ4 NCwxMCBAQCBzdGF0aWMgdm9pZCBpOTE1X3BtdV9kaXNhYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpl dmVudCkKIAkgKiBEZWNyZW1lbnQgdGhlIHJlZmVyZW5jZSBjb3VudCBhbmQgY2xlYXIgdGhlIGVu YWJsZWQKIAkgKiBiaXRtYXNrIHdoZW4gdGhlIGxhc3QgbGlzdGVuZXIgb24gYW4gZXZlbnQgZ29l cyBhd2F5LgogCSAqLwotCWlmICgtLWk5MTUtPnBtdS5lbmFibGVfY291bnRbYml0XSA9PSAwKQor CWlmICgtLWk5MTUtPnBtdS5lbmFibGVfY291bnRbYml0XSA9PSAwKSB7CiAJCWk5MTUtPnBtdS5l bmFibGUgJj0gfkJJVF9VTEwoYml0KTsKKwkJaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQgJj0gcG11 X25lZWRzX3RpbWVyKGk5MTUsIHRydWUpOworCX0KIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUo Jmk5MTUtPnBtdS5sb2NrLCBmbGFncyk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3BtdS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaAppbmRleCAx YWM4YjJlMzQ2MDcuLmUyMDk3ODNhNGM1ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wbXUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5oCkBAIC04 Myw2ICs4MywxMCBAQCBzdHJ1Y3QgaTkxNV9wbXUgewogCSAqLwogCXVuc2lnbmVkIGludCBlbmFi bGVfY291bnRbSTkxNV9QTVVfTUFTS19CSVRTXTsKIAkvKioKKwkgKiBAdGltZXJfZW5hYmxlZDog U2hvdWxkIHRoZSBpbnRlcm5hbCBzYW1wbGluZyB0aW1lciBiZSBydW5uaW5nLgorCSAqLworCWJv b2wgdGltZXJfZW5hYmxlZDsKKwkvKioKIAkgKiBAc2FtcGxlOiBDdXJyZW50IGFuZCBwcmV2aW91 cyAocmF3KSBjb3VudGVycyBmb3Igc2FtcGxpbmcgZXZlbnRzLgogCSAqCiAJICogVGhlc2UgY291 bnRlcnMgYXJlIHVwZGF0ZWQgZnJvbSB0aGUgaTkxNSBQTVUgc2FtcGxpbmcgdGltZXIuCkBAIC05 Niw5ICsxMDAsMTMgQEAgc3RydWN0IGk5MTVfcG11IHsKICNpZmRlZiBDT05GSUdfUEVSRl9FVkVO VFMKIHZvaWQgaTkxNV9wbXVfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUp Owogdm9pZCBpOTE1X3BtdV91bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KTsKK3ZvaWQgaTkxNV9wbXVfZ3RfcGFya2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KTsKK3ZvaWQgaTkxNV9wbXVfZ3RfdW5wYXJrZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpOwogI2Vsc2UKIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3BtdV9yZWdpc3RlcihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkge30KIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3BtdV91 bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KSB7fQorc3RhdGljIGlubGlu ZSB2b2lkIGk5MTVfcG11X2d0X3BhcmtlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkg e30KK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3BtdV9ndF91bnBhcmtlZChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSkge30KICNlbmRpZgogCiAjZW5kaWYKLS0gCjIuOS41CgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK