From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 3/9] drm/i915/pmu: Suspend sampling when GPU is idle Date: Fri, 20 Oct 2017 10:24:34 +0100 Message-ID: <20171020092440.22470-4-tvrtko.ursulin@linux.intel.com> References: <20171020092440.22470-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-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4B48E6EC07 for ; Fri, 20 Oct 2017 09:24:51 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id k4so21178080wmc.1 for ; Fri, 20 Oct 2017 02:24:51 -0700 (PDT) In-Reply-To: <20171020092440.22470-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 OiBGaXggc29tZSBjb21tZW50cyBzdHlsZXMuIChDaHJpcyBXaWxzb24pCnY5OiBSZWJhc2UuCnYx MDogTW92ZSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgdG8gaTkxNV9wbXUuaC4KClNpZ25lZC1vZmYt Ynk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5 OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4gKHY5KQotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcG11LmMgICAgICAgICB8IDg4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaCAgICAgICAgIHwgIDggKysrCiA0IGZpbGVz IGNoYW5nZWQsIDg4IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jCmluZGV4IDAyNmNiNTJlY2UwYi4uNWIyY2Y1OTUzNTc5IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKQEAgLTMzMjEsNiArMzMyMSw3IEBAIGk5MTVfZ2VtX2lkbGVfd29ya19oYW5k bGVyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAogCWludGVsX2VuZ2luZXNfbWFya19pZGxl KGRldl9wcml2KTsKIAlpOTE1X2dlbV90aW1lbGluZXNfbWFya19pZGxlKGRldl9wcml2KTsKKwlp OTE1X3BtdV9ndF9pZGxlKGRldl9wcml2KTsKIAogCUdFTV9CVUdfT04oIWRldl9wcml2LT5ndC5h d2FrZSk7CiAJZGV2X3ByaXYtPmd0LmF3YWtlID0gZmFsc2U7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9yZXF1ZXN0LmMKaW5kZXggZDE0MGZjZjVjNmEzLi4xNjU5ODg5MzJjOGIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKQEAgLTI1OCw2ICsyNTgsNyBAQCBz dGF0aWMgdm9pZCBtYXJrX2J1c3koc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJaTkx NV91cGRhdGVfZ2Z4X3ZhbChpOTE1KTsKIAlpZiAoSU5URUxfR0VOKGk5MTUpID49IDYpCiAJCWdl bjZfcnBzX2J1c3koaTkxNSk7CisJaTkxNV9wbXVfZ3RfYWN0aXZlKGk5MTUpOwogCiAJcXVldWVf ZGVsYXllZF93b3JrKGk5MTUtPndxLAogCQkJICAgJmk5MTUtPmd0LnJldGlyZV93b3JrLApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcG11LmMKaW5kZXggNTIyMjM2YzNkNTQxLi5iMzZmNWUxZTBjMWQgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wbXUuYwpAQCAtOTAsNiArOTAsNzUgQEAgc3RhdGljIHVuc2lnbmVkIGlu dCBldmVudF9lbmFibGVkX2JpdChzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJcmV0dXJuIGNv bmZpZ19lbmFibGVkX2JpdChldmVudC0+YXR0ci5jb25maWcpOwogfQogCitzdGF0aWMgYm9vbCBw bXVfbmVlZHNfdGltZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIGJvb2wgZ3B1X2Fj dGl2ZSkKK3sKKwl1NjQgZW5hYmxlOworCisJLyoKKwkgKiBPbmx5IHNvbWUgY291bnRlcnMgbmVl ZCB0aGUgc2FtcGxpbmcgdGltZXIuCisJICoKKwkgKiBXZSBzdGFydCB3aXRoIGEgYml0bWFzayBv ZiBhbGwgY3VycmVudGx5IGVuYWJsZWQgZXZlbnRzLgorCSAqLworCWVuYWJsZSA9IGk5MTUtPnBt dS5lbmFibGU7CisKKwkvKgorCSAqIE1hc2sgb3V0IGFsbCB0aGUgb25lcyB3aGljaCBkbyBub3Qg bmVlZCB0aGUgdGltZXIsIG9yIGluCisJICogb3RoZXIgd29yZHMga2VlcCBhbGwgdGhlIG9uZXMg dGhhdCBjb3VsZCBuZWVkIHRoZSB0aW1lci4KKwkgKi8KKwllbmFibGUgJj0gY29uZmlnX2VuYWJs ZWRfbWFzayhJOTE1X1BNVV9BQ1RVQUxfRlJFUVVFTkNZKSB8CisJCSAgY29uZmlnX2VuYWJsZWRf bWFzayhJOTE1X1BNVV9SRVFVRVNURURfRlJFUVVFTkNZKSB8CisJCSAgRU5HSU5FX1NBTVBMRV9N QVNLOworCisJLyoKKwkgKiBXaGVuIHRoZSBHUFUgaXMgaWRsZSBwZXItZW5naW5lIGNvdW50ZXJz IGRvIG5vdCBuZWVkIHRvIGJlCisJICogcnVubmluZyBzbyBjbGVhciB0aG9zZSBiaXRzIG91dC4K KwkgKi8KKwlpZiAoIWdwdV9hY3RpdmUpCisJCWVuYWJsZSAmPSB+RU5HSU5FX1NBTVBMRV9NQVNL OworCisJLyoKKwkgKiBJZiBzb21lIGJpdHMgcmVtYWluIGl0IG1lYW5zIHdlIG5lZWQgdGhlIHNh bXBsaW5nIHRpbWVyIHJ1bm5pbmcuCisJICovCisJcmV0dXJuIGVuYWJsZTsKK30KKwordm9pZCBp OTE1X3BtdV9ndF9pZGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCWlmICgh aTkxNS0+cG11LmJhc2UuZXZlbnRfaW5pdCkKKwkJcmV0dXJuOworCisJc3Bpbl9sb2NrX2lycSgm aTkxNS0+cG11LmxvY2spOworCS8qCisJICogU2lnbmFsIHNhbXBsaW5nIHRpbWVyIHRvIHN0b3Ag aWYgb25seSBlbmdpbmUgZXZlbnRzIGFyZSBlbmFibGVkIGFuZAorCSAqIEdQVSB3ZW50IGlkbGUu CisJICovCisJaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQgPSBwbXVfbmVlZHNfdGltZXIoaTkxNSwg ZmFsc2UpOworCXNwaW5fdW5sb2NrX2lycSgmaTkxNS0+cG11LmxvY2spOworfQorCitzdGF0aWMg dm9pZCBfX2k5MTVfcG11X21heWJlX3N0YXJ0X3RpbWVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1KQoreworCWlmICghaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQgJiYgcG11X25lZWRzX3Rp bWVyKGk5MTUsIHRydWUpKSB7CisJCWk5MTUtPnBtdS50aW1lcl9lbmFibGVkID0gdHJ1ZTsKKwkJ aHJ0aW1lcl9zdGFydF9yYW5nZV9ucygmaTkxNS0+cG11LnRpbWVyLAorCQkJCSAgICAgICBuc190 b19rdGltZShQRVJJT0QpLCAwLAorCQkJCSAgICAgICBIUlRJTUVSX01PREVfUkVMX1BJTk5FRCk7 CisJfQorfQorCit2b2lkIGk5MTVfcG11X2d0X2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSkKK3sKKwlpZiAoIWk5MTUtPnBtdS5iYXNlLmV2ZW50X2luaXQpCisJCXJldHVybjsK KworCXNwaW5fbG9ja19pcnEoJmk5MTUtPnBtdS5sb2NrKTsKKwkvKgorCSAqIFJlLWVuYWJsZSBz YW1wbGluZyB0aW1lciB3aGVuIEdQVSBnb2VzIGFjdGl2ZS4KKwkgKi8KKwlfX2k5MTVfcG11X21h eWJlX3N0YXJ0X3RpbWVyKGk5MTUpOworCXNwaW5fdW5sb2NrX2lycSgmaTkxNS0+cG11LmxvY2sp OworfQorCiBzdGF0aWMgYm9vbCBncmFiX2ZvcmNld2FrZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSwgYm9vbCBmdykKIHsKIAlpZiAoIWZ3KQpAQCAtMTg3LDcgKzI1Niw3IEBAIHN0YXRp YyBlbnVtIGhydGltZXJfcmVzdGFydCBpOTE1X3NhbXBsZShzdHJ1Y3QgaHJ0aW1lciAqaHJ0aW1l cikKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9CiAJCWNvbnRhaW5lcl9vZihocnRp bWVyLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwgcG11LnRpbWVyKTsKIAotCWlmIChpOTE1LT5w bXUuZW5hYmxlID09IDApCisJaWYgKCFSRUFEX09OQ0UoaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQp KQogCQlyZXR1cm4gSFJUSU1FUl9OT1JFU1RBUlQ7CiAKIAllbmdpbmVzX3NhbXBsZShpOTE1KTsK QEAgLTM0MCwxNCArNDA5LDYgQEAgc3RhdGljIHZvaWQgaTkxNV9wbXVfZW5hYmxlKHN0cnVjdCBw ZXJmX2V2ZW50ICpldmVudCkKIAlzcGluX2xvY2tfaXJxc2F2ZSgmaTkxNS0+cG11LmxvY2ssIGZs YWdzKTsKIAogCS8qCi0JICogU3RhcnQgdGhlIHNhbXBsaW5nIHRpbWVyIHdoZW4gZW5hYmxpbmcg dGhlIGZpcnN0IGV2ZW50LgotCSAqLwotCWlmIChpOTE1LT5wbXUuZW5hYmxlID09IDApCi0JCWhy dGltZXJfc3RhcnRfcmFuZ2VfbnMoJmk5MTUtPnBtdS50aW1lciwKLQkJCQkgICAgICAgbnNfdG9f a3RpbWUoUEVSSU9EKSwgMCwKLQkJCQkgICAgICAgSFJUSU1FUl9NT0RFX1JFTF9QSU5ORUQpOwot Ci0JLyoKIAkgKiBVcGRhdGUgdGhlIGJpdG1hc2sgb2YgZW5hYmxlZCBldmVudHMgYW5kIGluY3Jl bWVudAogCSAqIHRoZSBldmVudCByZWZlcmVuY2UgY291bnRlci4KIAkgKi8KQEAgLTM1Nyw2ICs0 MTgsMTEgQEAgc3RhdGljIHZvaWQgaTkxNV9wbXVfZW5hYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpl dmVudCkKIAlpOTE1LT5wbXUuZW5hYmxlX2NvdW50W2JpdF0rKzsKIAogCS8qCisJICogU3RhcnQg dGhlIHNhbXBsaW5nIHRpbWVyIGlmIG5lZWRlZCBhbmQgbm90IGFscmVhZHkgZW5hYmxlZC4KKwkg Ki8KKwlfX2k5MTVfcG11X21heWJlX3N0YXJ0X3RpbWVyKGk5MTUpOworCisJLyoKIAkgKiBGb3Ig cGVyLWVuZ2luZSBldmVudHMgdGhlIGJpdG1hc2sgYW5kIHJlZmVyZW5jZSBjb3VudGluZwogCSAq IGlzIHN0b3JlZCBwZXIgZW5naW5lLgogCSAqLwpAQCAtNDE4LDggKzQ4NCwxMCBAQCBzdGF0aWMg dm9pZCBpOTE1X3BtdV9kaXNhYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIAkgKiBEZWNy ZW1lbnQgdGhlIHJlZmVyZW5jZSBjb3VudCBhbmQgY2xlYXIgdGhlIGVuYWJsZWQKIAkgKiBiaXRt YXNrIHdoZW4gdGhlIGxhc3QgbGlzdGVuZXIgb24gYW4gZXZlbnQgZ29lcyBhd2F5LgogCSAqLwot CWlmICgtLWk5MTUtPnBtdS5lbmFibGVfY291bnRbYml0XSA9PSAwKQorCWlmICgtLWk5MTUtPnBt dS5lbmFibGVfY291bnRbYml0XSA9PSAwKSB7CiAJCWk5MTUtPnBtdS5lbmFibGUgJj0gfkJJVF9V TEwoYml0KTsKKwkJaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQgJj0gcG11X25lZWRzX3RpbWVyKGk5 MTUsIHRydWUpOworCX0KIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk5MTUtPnBtdS5sb2Nr LCBmbGFncyk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaAppbmRleCAxYWM4YjJlMzQ2MDcuLjZh NTU5NDk2YmUxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5oCkBAIC04Myw2ICs4MywxMCBAQCBz dHJ1Y3QgaTkxNV9wbXUgewogCSAqLwogCXVuc2lnbmVkIGludCBlbmFibGVfY291bnRbSTkxNV9Q TVVfTUFTS19CSVRTXTsKIAkvKioKKwkgKiBAdGltZXJfZW5hYmxlZDogU2hvdWxkIHRoZSBpbnRl cm5hbCBzYW1wbGluZyB0aW1lciBiZSBydW5uaW5nLgorCSAqLworCWJvb2wgdGltZXJfZW5hYmxl ZDsKKwkvKioKIAkgKiBAc2FtcGxlOiBDdXJyZW50IGFuZCBwcmV2aW91cyAocmF3KSBjb3VudGVy cyBmb3Igc2FtcGxpbmcgZXZlbnRzLgogCSAqCiAJICogVGhlc2UgY291bnRlcnMgYXJlIHVwZGF0 ZWQgZnJvbSB0aGUgaTkxNSBQTVUgc2FtcGxpbmcgdGltZXIuCkBAIC05Niw5ICsxMDAsMTMgQEAg c3RydWN0IGk5MTVfcG11IHsKICNpZmRlZiBDT05GSUdfUEVSRl9FVkVOVFMKIHZvaWQgaTkxNV9w bXVfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwogdm9pZCBpOTE1X3Bt dV91bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKK3ZvaWQgaTkxNV9w bXVfZ3RfaWRsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7Cit2b2lkIGk5MTVfcG11 X2d0X2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CiAjZWxzZQogc3RhdGlj IGlubGluZSB2b2lkIGk5MTVfcG11X3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1KSB7fQogc3RhdGljIGlubGluZSB2b2lkIGk5MTVfcG11X3VucmVnaXN0ZXIoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUpIHt9CitzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9wbXVfZ3Rf aWRsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkge30KK3N0YXRpYyBpbmxpbmUgdm9p ZCBpOTE1X3BtdV9ndF9hY3RpdmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpIHt9CiAj ZW5kaWYKIAogI2VuZGlmCi0tIAoyLjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==