From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 05/10] drm/i915/pmu: Suspend sampling when GPU is idle Date: Wed, 2 Aug 2017 13:32:45 +0100 Message-ID: <20170802123249.14194-6-tvrtko.ursulin@linux.intel.com> References: <20170802123249.14194-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 2D4AC6F0F4 for ; Wed, 2 Aug 2017 12:33:00 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id d40so7012279wma.3 for ; Wed, 02 Aug 2017 05:33:00 -0700 (PDT) In-Reply-To: <20170802123249.14194-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 Y2xlcwphbmQgcG93ZXIuCgp2MjogUmViYXNlIGFuZCBsaW1pdCB0aW1lciBldmVuIG1vcmUuCgpT aWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICA1ICsrKysKIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcG11LmMgICAgICAgICB8IDUxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LQogNCBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDE0MjgyNjc0MmI4Ni4uZDVlYmM1MjRkMzBkIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI2MTcsNiArMjYxNyw3IEBAIHN0cnVjdCBkcm1faTkx NV9wcml2YXRlIHsKIAkJc3RydWN0IHBtdSBiYXNlOwogCQlzcGlubG9ja190IGxvY2s7CiAJCXN0 cnVjdCBocnRpbWVyIHRpbWVyOworCQlib29sIHRpbWVyX2VuYWJsZWQ7CiAJCXU2NCBlbmFibGU7 CiAJCXU2NCBzYW1wbGVbX19JOTE1X05VTV9QTVVfU0FNUExFUlNdOwogCX0gcG11OwpAQCAtMzgz Myw5ICszODM0LDEzIEBAIGV4dGVybiB2b2lkIGk5MTVfcGVyZl91bnJlZ2lzdGVyKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiAjaWZkZWYgQ09ORklHX1BFUkZfRVZFTlRTCiBl eHRlcm4gdm9pZCBpOTE1X3BtdV9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSk7CiBleHRlcm4gdm9pZCBpOTE1X3BtdV91bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1KTsKK2V4dGVybiB2b2lkIGk5MTVfcG11X2d0X2lkbGUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUpOworZXh0ZXJuIHZvaWQgaTkxNV9wbXVfZ3RfYWN0aXZlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KTsKICNlbHNlCiBzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9w bXVfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpIHt9CiBzdGF0aWMgaW5s aW5lIHZvaWQgaTkxNV9wbXVfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSkge30KK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3BtdV9ndF9pZGxlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KSB7fQorc3RhdGljIGlubGluZSB2b2lkIGk5MTVfcG11X2d0X2FjdGl2 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkge30KICNlbmRpZgogCiAvKiBpOTE1X3N1 c3BlbmQuYyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggYTYwODg1ZDYyMzFiLi4xYTIx NTZmNDNkNzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMzI1Niw2ICszMjU2LDcgQEAg aTkxNV9nZW1faWRsZV93b3JrX2hhbmRsZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCiAJ aW50ZWxfZW5naW5lc19tYXJrX2lkbGUoZGV2X3ByaXYpOwogCWk5MTVfZ2VtX3RpbWVsaW5lc19t YXJrX2lkbGUoZGV2X3ByaXYpOworCWk5MTVfcG11X2d0X2lkbGUoZGV2X3ByaXYpOwogCiAJR0VN X0JVR19PTighZGV2X3ByaXYtPmd0LmF3YWtlKTsKIAlkZXZfcHJpdi0+Z3QuYXdha2UgPSBmYWxz ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwppbmRleCA5ZWVkZDMzZWI1 MjQuLjc4MWY0MTQ2MWE3MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fcmVxdWVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3Qu YwpAQCAtODc5LDYgKzg3OSw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX21hcmtfYnVzeShjb25z dCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJaTkxNV91cGRhdGVfZ2Z4X3ZhbChk ZXZfcHJpdik7CiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gNikKIAkJZ2VuNl9ycHNfYnVz eShkZXZfcHJpdik7CisJaTkxNV9wbXVfZ3RfYWN0aXZlKGRldl9wcml2KTsKIAogCXF1ZXVlX2Rl bGF5ZWRfd29yayhkZXZfcHJpdi0+d3EsCiAJCQkgICAmZGV2X3ByaXYtPmd0LnJldGlyZV93b3Jr LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcG11LmMKaW5kZXggNjJjNTI3YzEyNjQxLi4wZDljMGQwN2E0MzIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwpAQCAtNTksNiArNTksNDYgQEAgc3RhdGljIHU2NCBl dmVudF9lbmFibGVkX21hc2soc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCXJldHVybiBjb25m aWdfZW5hYmxlZF9tYXNrKGV2ZW50LT5hdHRyLmNvbmZpZyk7CiB9CiAKK3N0YXRpYyBib29sIHBt dV9uZWVkc190aW1lcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgYm9vbCBncHVfYWN0 aXZlKQoreworCXU2NCBlbmFibGUgPSBpOTE1LT5wbXUuZW5hYmxlOworCisJZW5hYmxlICY9IGNv bmZpZ19lbmFibGVkX21hc2soSTkxNV9QTVVfQUNUVUFMX0ZSRVFVRU5DWSkgfAorCQkgIGNvbmZp Z19lbmFibGVkX21hc2soSTkxNV9QTVVfUkVRVUVTVEVEX0ZSRVFVRU5DWSkgfAorCQkgIEVOR0lO RV9TQU1QTEVfTUFTSzsKKworCWlmICghZ3B1X2FjdGl2ZSkKKwkJZW5hYmxlICY9IH5FTkdJTkVf U0FNUExFX01BU0s7CisKKwlyZXR1cm4gZW5hYmxlOworfQorCit2b2lkIGk5MTVfcG11X2d0X2lk bGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJc3Bpbl9sb2NrX2lycSgmaTkx NS0+cG11LmxvY2spOworCS8qCisJICogU2lnbmFsIHNhbXBsaW5nIHRpbWVyIHRvIHN0b3AgaWYg b25seSBlbmdpbmUgZXZlbnRzIGFyZSBlbmFibGVkIGFuZAorCSAqIEdQVSB3ZW50IGlkbGUuCisJ ICovCisJaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQgPSBwbXVfbmVlZHNfdGltZXIoaTkxNSwgZmFs c2UpOworCXNwaW5fdW5sb2NrX2lycSgmaTkxNS0+cG11LmxvY2spOworfQorCit2b2lkIGk5MTVf cG11X2d0X2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlzcGluX2xv Y2tfaXJxKCZpOTE1LT5wbXUubG9jayk7CisJLyoKKwkgKiBSZS1lbmFibGUgc2FtcGxpbmcgdGlt ZXIgd2hlbiBHUFUgZ29lcyBhY3RpdmUuCisJICovCisJaWYgKCFpOTE1LT5wbXUudGltZXJfZW5h YmxlZCAmJiBwbXVfbmVlZHNfdGltZXIoaTkxNSwgdHJ1ZSkpIHsKKwkJaHJ0aW1lcl9zdGFydF9y YW5nZV9ucygmaTkxNS0+cG11LnRpbWVyLAorCQkJCSAgICAgICBuc190b19rdGltZShQRVJJT0Qp LCAwLAorCQkJCSAgICAgICBIUlRJTUVSX01PREVfUkVMX1BJTk5FRCk7CisJCWk5MTUtPnBtdS50 aW1lcl9lbmFibGVkID0gdHJ1ZTsKKwl9CisJc3Bpbl91bmxvY2tfaXJxKCZpOTE1LT5wbXUubG9j ayk7Cit9CisKIHN0YXRpYyBib29sIGdyYWJfZm9yY2V3YWtlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1LCBib29sIGZ3KQogewogCWlmICghZncpCkBAIC0xNDksNyArMTg5LDcgQEAgc3Rh dGljIGVudW0gaHJ0aW1lcl9yZXN0YXJ0IGk5MTVfc2FtcGxlKHN0cnVjdCBocnRpbWVyICpocnRp bWVyKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0KIAkJY29udGFpbmVyX29mKGhy dGltZXIsIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlLCBwbXUudGltZXIpOwogCi0JaWYgKGk5MTUt PnBtdS5lbmFibGUgPT0gMCkKKwlpZiAoIVJFQURfT05DRShpOTE1LT5wbXUudGltZXJfZW5hYmxl ZCkpCiAJCXJldHVybiBIUlRJTUVSX05PUkVTVEFSVDsKIAogCWVuZ2luZXNfc2FtcGxlKGk5MTUp OwpAQCAtMzE3LDEyICszNTcsMTQgQEAgc3RhdGljIHZvaWQgaTkxNV9wbXVfZW5hYmxlKHN0cnVj dCBwZXJmX2V2ZW50ICpldmVudCkKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZpOTE1LT5wbXUubG9j aywgZmxhZ3MpOwogCi0JaWYgKGk5MTUtPnBtdS5lbmFibGUgPT0gMCkKKwlpOTE1LT5wbXUuZW5h YmxlIHw9IGV2ZW50X2VuYWJsZWRfbWFzayhldmVudCk7CisKKwlpZiAocG11X25lZWRzX3RpbWVy KGk5MTUsIHRydWUpICYmICFpOTE1LT5wbXUudGltZXJfZW5hYmxlZCkgewogCQlocnRpbWVyX3N0 YXJ0X3JhbmdlX25zKCZpOTE1LT5wbXUudGltZXIsCiAJCQkJICAgICAgIG5zX3RvX2t0aW1lKFBF UklPRCksIDAsCiAJCQkJICAgICAgIEhSVElNRVJfTU9ERV9SRUxfUElOTkVEKTsKLQotCWk5MTUt PnBtdS5lbmFibGUgfD0gZXZlbnRfZW5hYmxlZF9tYXNrKGV2ZW50KTsKKwkJaTkxNS0+cG11LnRp bWVyX2VuYWJsZWQgPSB0cnVlOworCX0KIAogCWlmIChpc19lbmdpbmVfZXZlbnQoZXZlbnQpKSB7 CiAJCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKQEAgLTM2Niw2ICs0MDgsNyBAQCBz dGF0aWMgdm9pZCBpOTE1X3BtdV9kaXNhYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIAl9 CiAKIAlpOTE1LT5wbXUuZW5hYmxlICY9IH5tYXNrOworCWk5MTUtPnBtdS50aW1lcl9lbmFibGVk ICY9IHBtdV9uZWVkc190aW1lcihpOTE1LCB0cnVlKTsKIAogCXNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJmk5MTUtPnBtdS5sb2NrLCBmbGFncyk7CiAKLS0gCjIuOS40CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK