From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [CI 3/9] drm/i915/pmu: Suspend sampling when GPU is idle Date: Tue, 21 Nov 2017 18:18:46 +0000 Message-ID: <20171121181852.16128-3-tvrtko.ursulin@linux.intel.com> References: <20171121181852.16128-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-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 976486E56A for ; Tue, 21 Nov 2017 18:19:14 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id y82so10996290wmg.1 for ; Tue, 21 Nov 2017 10:19:14 -0800 (PST) In-Reply-To: <20171121181852.16128-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 MDogTW92ZSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgdG8gaTkxNV9wbXUuaC4KdjExOiBSZW5hbWUg ZnVuY3Rpb25zIHRvIGk5MTVfcG11X2d0Xyh1bilwYXJrZWQuIChDaHJpcyBXaWxzb24pCgpTaWdu ZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpSZXZp ZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9wbXUuYyAgICAgICAgIHwgODggKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5oICAgICAgICAgfCAgOCArKysKIDQgZmls ZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKaW5kZXggNzkyZTZkYzdlMTliLi4yMWNhNjgwZTllNjMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYwpAQCAtMzM3Miw2ICszMzcyLDcgQEAgaTkxNV9nZW1faWRsZV93b3JrX2hh bmRsZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCiAJaW50ZWxfZW5naW5lc19wYXJrKGRl dl9wcml2KTsKIAlpOTE1X2dlbV90aW1lbGluZXNfbWFya19pZGxlKGRldl9wcml2KTsKKwlpOTE1 X3BtdV9ndF9wYXJrZWQoZGV2X3ByaXYpOwogCiAJR0VNX0JVR19PTighZGV2X3ByaXYtPmd0LmF3 YWtlKTsKIAlkZXZfcHJpdi0+Z3QuYXdha2UgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3JlcXVlc3QuYwppbmRleCA4NmUyMzQ2MzU3Y2YuLjczMjU0NjljZTc1NCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwpAQCAtMjU4LDYgKzI1OCw3IEBAIHN0 YXRpYyB2b2lkIG1hcmtfYnVzeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlpOTE1 X3VwZGF0ZV9nZnhfdmFsKGk5MTUpOwogCWlmIChJTlRFTF9HRU4oaTkxNSkgPj0gNikKIAkJZ2Vu Nl9ycHNfYnVzeShpOTE1KTsKKwlpOTE1X3BtdV9ndF91bnBhcmtlZChpOTE1KTsKIAogCWludGVs X2VuZ2luZXNfdW5wYXJrKGk5MTUpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3BtdS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwppbmRleCAwMWI1 ZWU2N2MxYmYuLmZiOTVmMGFjMzBlYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9wbXUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCkBAIC05MCw2 ICs5MCw3NSBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGV2ZW50X2VuYWJsZWRfYml0KHN0cnVjdCBw ZXJmX2V2ZW50ICpldmVudCkKIAlyZXR1cm4gY29uZmlnX2VuYWJsZWRfYml0KGV2ZW50LT5hdHRy LmNvbmZpZyk7CiB9CiAKK3N0YXRpYyBib29sIHBtdV9uZWVkc190aW1lcihzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSwgYm9vbCBncHVfYWN0aXZlKQoreworCXU2NCBlbmFibGU7CisKKwkv KgorCSAqIE9ubHkgc29tZSBjb3VudGVycyBuZWVkIHRoZSBzYW1wbGluZyB0aW1lci4KKwkgKgor CSAqIFdlIHN0YXJ0IHdpdGggYSBiaXRtYXNrIG9mIGFsbCBjdXJyZW50bHkgZW5hYmxlZCBldmVu dHMuCisJICovCisJZW5hYmxlID0gaTkxNS0+cG11LmVuYWJsZTsKKworCS8qCisJICogTWFzayBv dXQgYWxsIHRoZSBvbmVzIHdoaWNoIGRvIG5vdCBuZWVkIHRoZSB0aW1lciwgb3IgaW4KKwkgKiBv dGhlciB3b3JkcyBrZWVwIGFsbCB0aGUgb25lcyB0aGF0IGNvdWxkIG5lZWQgdGhlIHRpbWVyLgor CSAqLworCWVuYWJsZSAmPSBjb25maWdfZW5hYmxlZF9tYXNrKEk5MTVfUE1VX0FDVFVBTF9GUkVR VUVOQ1kpIHwKKwkJICBjb25maWdfZW5hYmxlZF9tYXNrKEk5MTVfUE1VX1JFUVVFU1RFRF9GUkVR VUVOQ1kpIHwKKwkJICBFTkdJTkVfU0FNUExFX01BU0s7CisKKwkvKgorCSAqIFdoZW4gdGhlIEdQ VSBpcyBpZGxlIHBlci1lbmdpbmUgY291bnRlcnMgZG8gbm90IG5lZWQgdG8gYmUKKwkgKiBydW5u aW5nIHNvIGNsZWFyIHRob3NlIGJpdHMgb3V0LgorCSAqLworCWlmICghZ3B1X2FjdGl2ZSkKKwkJ ZW5hYmxlICY9IH5FTkdJTkVfU0FNUExFX01BU0s7CisKKwkvKgorCSAqIElmIHNvbWUgYml0cyBy ZW1haW4gaXQgbWVhbnMgd2UgbmVlZCB0aGUgc2FtcGxpbmcgdGltZXIgcnVubmluZy4KKwkgKi8K KwlyZXR1cm4gZW5hYmxlOworfQorCit2b2lkIGk5MTVfcG11X2d0X3BhcmtlZChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlpZiAoIWk5MTUtPnBtdS5iYXNlLmV2ZW50X2luaXQp CisJCXJldHVybjsKKworCXNwaW5fbG9ja19pcnEoJmk5MTUtPnBtdS5sb2NrKTsKKwkvKgorCSAq IFNpZ25hbCBzYW1wbGluZyB0aW1lciB0byBzdG9wIGlmIG9ubHkgZW5naW5lIGV2ZW50cyBhcmUg ZW5hYmxlZCBhbmQKKwkgKiBHUFUgd2VudCBpZGxlLgorCSAqLworCWk5MTUtPnBtdS50aW1lcl9l bmFibGVkID0gcG11X25lZWRzX3RpbWVyKGk5MTUsIGZhbHNlKTsKKwlzcGluX3VubG9ja19pcnEo Jmk5MTUtPnBtdS5sb2NrKTsKK30KKworc3RhdGljIHZvaWQgX19pOTE1X3BtdV9tYXliZV9zdGFy dF90aW1lcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlpZiAoIWk5MTUtPnBt dS50aW1lcl9lbmFibGVkICYmIHBtdV9uZWVkc190aW1lcihpOTE1LCB0cnVlKSkgeworCQlpOTE1 LT5wbXUudGltZXJfZW5hYmxlZCA9IHRydWU7CisJCWhydGltZXJfc3RhcnRfcmFuZ2VfbnMoJmk5 MTUtPnBtdS50aW1lciwKKwkJCQkgICAgICAgbnNfdG9fa3RpbWUoUEVSSU9EKSwgMCwKKwkJCQkg ICAgICAgSFJUSU1FUl9NT0RFX1JFTF9QSU5ORUQpOworCX0KK30KKwordm9pZCBpOTE1X3BtdV9n dF91bnBhcmtlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlpZiAoIWk5MTUt PnBtdS5iYXNlLmV2ZW50X2luaXQpCisJCXJldHVybjsKKworCXNwaW5fbG9ja19pcnEoJmk5MTUt PnBtdS5sb2NrKTsKKwkvKgorCSAqIFJlLWVuYWJsZSBzYW1wbGluZyB0aW1lciB3aGVuIEdQVSBn b2VzIGFjdGl2ZS4KKwkgKi8KKwlfX2k5MTVfcG11X21heWJlX3N0YXJ0X3RpbWVyKGk5MTUpOwor CXNwaW5fdW5sb2NrX2lycSgmaTkxNS0+cG11LmxvY2spOworfQorCiBzdGF0aWMgYm9vbCBncmFi X2ZvcmNld2FrZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgYm9vbCBmdykKIHsKIAlp ZiAoIWZ3KQpAQCAtMTg3LDcgKzI1Niw3IEBAIHN0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCBp OTE1X3NhbXBsZShzdHJ1Y3QgaHJ0aW1lciAqaHJ0aW1lcikKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSA9CiAJCWNvbnRhaW5lcl9vZihocnRpbWVyLCBzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSwgcG11LnRpbWVyKTsKIAotCWlmIChpOTE1LT5wbXUuZW5hYmxlID09IDApCisJaWYgKCFS RUFEX09OQ0UoaTkxNS0+cG11LnRpbWVyX2VuYWJsZWQpKQogCQlyZXR1cm4gSFJUSU1FUl9OT1JF U1RBUlQ7CiAKIAllbmdpbmVzX3NhbXBsZShpOTE1KTsKQEAgLTMzOSwxNCArNDA4LDYgQEAgc3Rh dGljIHZvaWQgaTkxNV9wbXVfZW5hYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIAogCXNw aW5fbG9ja19pcnFzYXZlKCZpOTE1LT5wbXUubG9jaywgZmxhZ3MpOwogCi0JLyoKLQkgKiBTdGFy dCB0aGUgc2FtcGxpbmcgdGltZXIgd2hlbiBlbmFibGluZyB0aGUgZmlyc3QgZXZlbnQuCi0JICov Ci0JaWYgKGk5MTUtPnBtdS5lbmFibGUgPT0gMCkKLQkJaHJ0aW1lcl9zdGFydF9yYW5nZV9ucygm aTkxNS0+cG11LnRpbWVyLAotCQkJCSAgICAgICBuc190b19rdGltZShQRVJJT0QpLCAwLAotCQkJ CSAgICAgICBIUlRJTUVSX01PREVfUkVMX1BJTk5FRCk7Ci0KIAkvKgogCSAqIFVwZGF0ZSB0aGUg Yml0bWFzayBvZiBlbmFibGVkIGV2ZW50cyBhbmQgaW5jcmVtZW50CiAJICogdGhlIGV2ZW50IHJl ZmVyZW5jZSBjb3VudGVyLgpAQCAtMzU2LDYgKzQxNywxMSBAQCBzdGF0aWMgdm9pZCBpOTE1X3Bt dV9lbmFibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCWk5MTUtPnBtdS5lbmFibGUgfD0g QklUX1VMTChiaXQpOwogCWk5MTUtPnBtdS5lbmFibGVfY291bnRbYml0XSsrOwogCisJLyoKKwkg KiBTdGFydCB0aGUgc2FtcGxpbmcgdGltZXIgaWYgbmVlZGVkIGFuZCBub3QgYWxyZWFkeSBlbmFi bGVkLgorCSAqLworCV9faTkxNV9wbXVfbWF5YmVfc3RhcnRfdGltZXIoaTkxNSk7CisKIAkvKgog CSAqIEZvciBwZXItZW5naW5lIGV2ZW50cyB0aGUgYml0bWFzayBhbmQgcmVmZXJlbmNlIGNvdW50 aW5nCiAJICogaXMgc3RvcmVkIHBlciBlbmdpbmUuCkBAIC00MTgsOCArNDg0LDEwIEBAIHN0YXRp YyB2b2lkIGk5MTVfcG11X2Rpc2FibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCSAqIERl Y3JlbWVudCB0aGUgcmVmZXJlbmNlIGNvdW50IGFuZCBjbGVhciB0aGUgZW5hYmxlZAogCSAqIGJp dG1hc2sgd2hlbiB0aGUgbGFzdCBsaXN0ZW5lciBvbiBhbiBldmVudCBnb2VzIGF3YXkuCiAJICov Ci0JaWYgKC0taTkxNS0+cG11LmVuYWJsZV9jb3VudFtiaXRdID09IDApCisJaWYgKC0taTkxNS0+ cG11LmVuYWJsZV9jb3VudFtiaXRdID09IDApIHsKIAkJaTkxNS0+cG11LmVuYWJsZSAmPSB+QklU X1VMTChiaXQpOworCQlpOTE1LT5wbXUudGltZXJfZW5hYmxlZCAmPSBwbXVfbmVlZHNfdGltZXIo aTkxNSwgdHJ1ZSk7CisJfQogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTkxNS0+cG11Lmxv Y2ssIGZsYWdzKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5oCmluZGV4IDFhYzhiMmUzNDYwNy4u ZTIwOTc4M2E0YzVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmgKQEAgLTgyLDYgKzgyLDEwIEBA IHN0cnVjdCBpOTE1X3BtdSB7CiAJICogYXJlIHVzaW5nIHRoZSBQTVUgQVBJLgogCSAqLwogCXVu c2lnbmVkIGludCBlbmFibGVfY291bnRbSTkxNV9QTVVfTUFTS19CSVRTXTsKKwkvKioKKwkgKiBA dGltZXJfZW5hYmxlZDogU2hvdWxkIHRoZSBpbnRlcm5hbCBzYW1wbGluZyB0aW1lciBiZSBydW5u aW5nLgorCSAqLworCWJvb2wgdGltZXJfZW5hYmxlZDsKIAkvKioKIAkgKiBAc2FtcGxlOiBDdXJy ZW50IGFuZCBwcmV2aW91cyAocmF3KSBjb3VudGVycyBmb3Igc2FtcGxpbmcgZXZlbnRzLgogCSAq CkBAIC05Niw5ICsxMDAsMTMgQEAgc3RydWN0IGk5MTVfcG11IHsKICNpZmRlZiBDT05GSUdfUEVS Rl9FVkVOVFMKIHZvaWQgaTkxNV9wbXVfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUpOwogdm9pZCBpOTE1X3BtdV91bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1KTsKK3ZvaWQgaTkxNV9wbXVfZ3RfcGFya2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1KTsKK3ZvaWQgaTkxNV9wbXVfZ3RfdW5wYXJrZWQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUpOwogI2Vsc2UKIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3BtdV9yZWdpc3Rlcihz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkge30KIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1 X3BtdV91bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KSB7fQorc3RhdGlj IGlubGluZSB2b2lkIGk5MTVfcG11X2d0X3BhcmtlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSkge30KK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3BtdV9ndF91bnBhcmtlZChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkge30KICNlbmRpZgogCiAjZW5kaWYKLS0gCjIuMTQuMQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==