From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 05/11] drm/i915/pmu: Suspend sampling when GPU is idle Date: Mon, 11 Sep 2017 16:25:53 +0100 Message-ID: <20170911152559.7077-6-tvrtko.ursulin@linux.intel.com> References: <20170911152559.7077-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 A53C86E422 for ; Mon, 11 Sep 2017 15:26:12 +0000 (UTC) Received: by mail-wr0-x241.google.com with SMTP id p37so4576103wrb.5 for ; Mon, 11 Sep 2017 08:26:12 -0700 (PDT) In-Reply-To: <20170911152559.7077-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: Peter Zijlstra List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCklmIG9ubHkg YSBzdWJzZXQgb2YgZXZlbnRzIGlzIGVuYWJsZWQgd2UgY2FuIGFmZm9yZCB0byBzdXNwZW5kCnRo ZSBzYW1wbGluZyB0aW1lciB3aGVuIHRoZSBHUFUgaXMgaWRsZSBhbmQgc28gc2F2ZSBzb21lIGN5 Y2xlcwphbmQgcG93ZXIuCgp2MjogUmViYXNlIGFuZCBsaW1pdCB0aW1lciBldmVuIG1vcmUuCnYz OiBSZWJhc2UuCnY0OiBSZWJhc2UuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZy dGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICAgICB8ICA4ICsrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAg ICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMgfCAg MSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jICAgICAgICAgfCA2NCArKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9u cygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggNjI2NDZi OGRmYjdhLi43MGJlOGM1ZDlhNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjI0NCw2 ICsyMjQ0LDEwIEBAIHN0cnVjdCBpOTE1X3BtdSB7CiAJICovCiAJdW5zaWduZWQgaW50IGVuYWJs ZV9jb3VudFtJOTE1X1BNVV9NQVNLX0JJVFNdOwogCS8qKgorCSAqIEB0aW1lcl9lbmFibGVkOiBT aG91bGQgdGhlIGludGVybmFsIHNhbXBsaW5nIHRpbWVyIGJlIHJ1bm5pbmcuCisJICovCisJYm9v bCB0aW1lcl9lbmFibGVkOworCS8qKgogCSAqIEBzYW1wbGU6IEN1cnJlbnQgY291bnRlciB2YWx1 ZSBmb3IgaTkxNSBldmVudHMgd2hpY2ggbmVlZCBzYW1wbGluZy4KIAkgKgogCSAqIFRoZXNlIGNv dW50ZXJzIGFyZSB1cGRhdGVkIGZyb20gdGhlIGk5MTUgUE1VIHNhbXBsaW5nIHRpbWVyLgpAQCAt Mzk4OSw5ICszOTkzLDEzIEBAIGV4dGVybiB2b2lkIGk5MTVfcGVyZl91bnJlZ2lzdGVyKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiAjaWZkZWYgQ09ORklHX1BFUkZfRVZFTlRT CiBleHRlcm4gdm9pZCBpOTE1X3BtdV9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSk7CiBleHRlcm4gdm9pZCBpOTE1X3BtdV91bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1KTsKK2V4dGVybiB2b2lkIGk5MTVfcG11X2d0X2lkbGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpOworZXh0ZXJuIHZvaWQgaTkxNV9wbXVfZ3RfYWN0aXZlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKICNlbHNlCiBzdGF0aWMgaW5saW5lIHZvaWQgaTkx NV9wbXVfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpIHt9CiBzdGF0aWMg aW5saW5lIHZvaWQgaTkxNV9wbXVfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSkge30KK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3BtdV9ndF9pZGxlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1KSB7fQorc3RhdGljIGlubGluZSB2b2lkIGk5MTVfcG11X2d0X2Fj dGl2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkge30KICNlbmRpZgogCiAvKiBpOTE1 X3N1c3BlbmQuYyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggZjQ0NTU4N2MxYTRiLi4y MDFiMDllZGE5M2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMzIyNyw2ICszMjI3LDcg QEAgaTkxNV9nZW1faWRsZV93b3JrX2hhbmRsZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQog CiAJaW50ZWxfZW5naW5lc19tYXJrX2lkbGUoZGV2X3ByaXYpOwogCWk5MTVfZ2VtX3RpbWVsaW5l c19tYXJrX2lkbGUoZGV2X3ByaXYpOworCWk5MTVfcG11X2d0X2lkbGUoZGV2X3ByaXYpOwogCiAJ R0VNX0JVR19PTighZGV2X3ByaXYtPmd0LmF3YWtlKTsKIAlkZXZfcHJpdi0+Z3QuYXdha2UgPSBm YWxzZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3Qu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwppbmRleCA4MTNhM2I1 NDZkNmUuLjE4YTFlMzc5MjUzZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fcmVxdWVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVl c3QuYwpAQCAtMjU4LDYgKzI1OCw3IEBAIHN0YXRpYyB2b2lkIG1hcmtfYnVzeShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlpOTE1X3VwZGF0ZV9nZnhfdmFsKGk5MTUpOwogCWlmIChJ TlRFTF9HRU4oaTkxNSkgPj0gNikKIAkJZ2VuNl9ycHNfYnVzeShpOTE1KTsKKwlpOTE1X3BtdV9n dF9hY3RpdmUoaTkxNSk7CiAKIAlxdWV1ZV9kZWxheWVkX3dvcmsoaTkxNS0+d3EsCiAJCQkgICAm aTkxNS0+Z3QucmV0aXJlX3dvcmssCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3BtdS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwppbmRleCAyZWM4OTJl NTcxNDMuLjI2ZTczNWYyNzI4MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wbXUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCkBAIC05MCw2ICs5 MCw0NiBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGV2ZW50X2VuYWJsZWRfYml0KHN0cnVjdCBwZXJm X2V2ZW50ICpldmVudCkKIAlyZXR1cm4gY29uZmlnX2VuYWJsZWRfYml0KGV2ZW50LT5hdHRyLmNv bmZpZyk7CiB9CiAKK3N0YXRpYyBib29sIHBtdV9uZWVkc190aW1lcihzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSwgYm9vbCBncHVfYWN0aXZlKQoreworCXU2NCBlbmFibGUgPSBpOTE1LT5w bXUuZW5hYmxlOworCisJZW5hYmxlICY9IGNvbmZpZ19lbmFibGVkX21hc2soSTkxNV9QTVVfQUNU VUFMX0ZSRVFVRU5DWSkgfAorCQkgIGNvbmZpZ19lbmFibGVkX21hc2soSTkxNV9QTVVfUkVRVUVT VEVEX0ZSRVFVRU5DWSkgfAorCQkgIEVOR0lORV9TQU1QTEVfTUFTSzsKKworCWlmICghZ3B1X2Fj dGl2ZSkKKwkJZW5hYmxlICY9IH5FTkdJTkVfU0FNUExFX01BU0s7CisKKwlyZXR1cm4gZW5hYmxl OworfQorCit2b2lkIGk5MTVfcG11X2d0X2lkbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpCit7CisJc3Bpbl9sb2NrX2lycSgmaTkxNS0+cG11LmxvY2spOworCS8qCisJICogU2lnbmFs IHNhbXBsaW5nIHRpbWVyIHRvIHN0b3AgaWYgb25seSBlbmdpbmUgZXZlbnRzIGFyZSBlbmFibGVk IGFuZAorCSAqIEdQVSB3ZW50IGlkbGUuCisJICovCisJaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQg PSBwbXVfbmVlZHNfdGltZXIoaTkxNSwgZmFsc2UpOworCXNwaW5fdW5sb2NrX2lycSgmaTkxNS0+ cG11LmxvY2spOworfQorCit2b2lkIGk5MTVfcG11X2d0X2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSkKK3sKKwlzcGluX2xvY2tfaXJxKCZpOTE1LT5wbXUubG9jayk7CisJLyoK KwkgKiBSZS1lbmFibGUgc2FtcGxpbmcgdGltZXIgd2hlbiBHUFUgZ29lcyBhY3RpdmUuCisJICov CisJaWYgKCFpOTE1LT5wbXUudGltZXJfZW5hYmxlZCAmJiBwbXVfbmVlZHNfdGltZXIoaTkxNSwg dHJ1ZSkpIHsKKwkJaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQgPSB0cnVlOworCQlocnRpbWVyX3N0 YXJ0X3JhbmdlX25zKCZpOTE1LT5wbXUudGltZXIsCisJCQkJICAgICAgIG5zX3RvX2t0aW1lKFBF UklPRCksIDAsCisJCQkJICAgICAgIEhSVElNRVJfTU9ERV9SRUxfUElOTkVEKTsKKwl9CisJc3Bp bl91bmxvY2tfaXJxKCZpOTE1LT5wbXUubG9jayk7Cit9CisKIHN0YXRpYyBib29sIGdyYWJfZm9y Y2V3YWtlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBib29sIGZ3KQogewogCWlmICgh ZncpCkBAIC0xODAsNyArMjIwLDcgQEAgc3RhdGljIGVudW0gaHJ0aW1lcl9yZXN0YXJ0IGk5MTVf c2FtcGxlKHN0cnVjdCBocnRpbWVyICpocnRpbWVyKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1ID0KIAkJY29udGFpbmVyX29mKGhydGltZXIsIHN0cnVjdCBkcm1faTkxNV9wcml2YXRl LCBwbXUudGltZXIpOwogCi0JaWYgKGk5MTUtPnBtdS5lbmFibGUgPT0gMCkKKwlpZiAoIVJFQURf T05DRShpOTE1LT5wbXUudGltZXJfZW5hYmxlZCkpCiAJCXJldHVybiBIUlRJTUVSX05PUkVTVEFS VDsKIAogCWVuZ2luZXNfc2FtcGxlKGk5MTUpOwpAQCAtMzU1LDE0ICszOTUsNiBAQCBzdGF0aWMg dm9pZCBpOTE1X3BtdV9lbmFibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCXNwaW5fbG9j a19pcnFzYXZlKCZpOTE1LT5wbXUubG9jaywgZmxhZ3MpOwogCiAJLyoKLQkgKiBTdGFydCB0aGUg c2FtcGxpbmcgdGltZXIgd2hlbiBlbmFibGluZyB0aGUgZmlyc3QgZXZlbnQuCi0JICovCi0JaWYg KGk5MTUtPnBtdS5lbmFibGUgPT0gMCkKLQkJaHJ0aW1lcl9zdGFydF9yYW5nZV9ucygmaTkxNS0+ cG11LnRpbWVyLAotCQkJCSAgICAgICBuc190b19rdGltZShQRVJJT0QpLCAwLAotCQkJCSAgICAg ICBIUlRJTUVSX01PREVfUkVMX1BJTk5FRCk7Ci0KLQkvKgogCSAqIFVwZGF0ZSB0aGUgYml0bWFz ayBvZiBlbmFibGVkIGV2ZW50cyBhbmQgaW5jcmVtZW50CiAJICogdGhlIGV2ZW50IHJlZmVyZW5j ZSBjb3VudGVyLgogCSAqLwpAQCAtMzcyLDYgKzQwNCwxNiBAQCBzdGF0aWMgdm9pZCBpOTE1X3Bt dV9lbmFibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCWk5MTUtPnBtdS5lbmFibGVfY291 bnRbYml0XSsrOwogCiAJLyoKKwkgKiBTdGFydCB0aGUgc2FtcGxpbmcgdGltZXIgaWYgbmVlZGVk IGFuZCBub3QgYWxyZWFkeSBlbmFibGVkLgorCSAqLworCWlmIChwbXVfbmVlZHNfdGltZXIoaTkx NSwgdHJ1ZSkgJiYgIWk5MTUtPnBtdS50aW1lcl9lbmFibGVkKSB7CisJCWk5MTUtPnBtdS50aW1l cl9lbmFibGVkID0gdHJ1ZTsKKwkJaHJ0aW1lcl9zdGFydF9yYW5nZV9ucygmaTkxNS0+cG11LnRp bWVyLAorCQkJCSAgICAgICBuc190b19rdGltZShQRVJJT0QpLCAwLAorCQkJCSAgICAgICBIUlRJ TUVSX01PREVfUkVMX1BJTk5FRCk7CisJfQorCisJLyoKIAkgKiBGb3IgcGVyLWVuZ2luZSBldmVu dHMgdGhlIGJpdG1hc2sgYW5kIHJlZmVyZW5jZSBjb3VudGluZwogCSAqIGlzIHN0b3JlZCBwZXIg ZW5naW5lLgogCSAqLwpAQCAtNDMzLDggKzQ3NSwxMCBAQCBzdGF0aWMgdm9pZCBpOTE1X3BtdV9k aXNhYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIAkgKiBEZWNyZW1lbnQgdGhlIHJlZmVy ZW5jZSBjb3VudCBhbmQgY2xlYXIgdGhlIGVuYWJsZWQKIAkgKiBiaXRtYXNrIHdoZW4gdGhlIGxh c3QgbGlzdGVuZXIgb24gYW4gZXZlbnQgZ29lcyBhd2F5LgogCSAqLwotCWlmICgtLWk5MTUtPnBt dS5lbmFibGVfY291bnRbYml0XSA9PSAwKQorCWlmICgtLWk5MTUtPnBtdS5lbmFibGVfY291bnRb Yml0XSA9PSAwKSB7CiAJCWk5MTUtPnBtdS5lbmFibGUgJj0gfkJJVF9VTEwoYml0KTsKKwkJaTkx NS0+cG11LnRpbWVyX2VuYWJsZWQgJj0gcG11X25lZWRzX3RpbWVyKGk5MTUsIHRydWUpOworCX0K IAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk5MTUtPnBtdS5sb2NrLCBmbGFncyk7CiB9Ci0t IAoyLjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==