From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t 6/9] intel-gpu-overlay: Use RAPL PMU for power reading Date: Tue, 10 Oct 2017 10:30:05 +0100 Message-ID: <20171010093008.22804-7-tvrtko.ursulin@linux.intel.com> References: <20171010093008.22804-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-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4A6236E3E5 for ; Tue, 10 Oct 2017 09:30:20 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id r68so12111563wmr.4 for ; Tue, 10 Oct 2017 02:30:20 -0700 (PDT) In-Reply-To: <20171010093008.22804-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCldpcmUgdXAg dG8gdGhlIFJBUEwgUE1VIGZvciBHUFUgZW5lcmd5IHJlYWRpbmdzLgoKVGhlIG9ubHkgY29tcGxp Y2F0aW9uIGlzIHRoYXQgd2UgaGF2ZSB0byBhZGQgY29kZSB0byBwYXJzZToKCiAjIGNhdCAvc3lz L2RldmljZXMvcG93ZXIvZXZlbnRzL2VuZXJneS1ncHUuc2NhbGUKIDIuMzI4MzA2NDM2NTM4Njk2 Mjg5MDYyNWUtMTAKClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxp bkBpbnRlbC5jb20+Ci0tLQogbGliL2lndF9wZXJmLmMgIHwgIDE2ICsrKystLQogbGliL2lndF9w ZXJmLmggIHwgICAxICsKIG92ZXJsYXkvcG93ZXIuYyB8IDE1NiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogb3ZlcmxheS9wb3dlci5oIHwg ICAyICsKIDQgZmlsZXMgY2hhbmdlZCwgMTMzIGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfcGVyZi5jIGIvbGliL2lndF9wZXJmLmMKaW5kZXggMjA4 NDc0MzAyZmNjLi4wMjIxNDYxZTkxOGYgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfcGVyZi5jCisrKyBi L2xpYi9pZ3RfcGVyZi5jCkBAIC0yNywxMSArMjcsMTIgQEAgdWludDY0X3QgaTkxNV90eXBlX2lk KHZvaWQpCiAJcmV0dXJuIHN0cnRvdWxsKGJ1ZiwgTlVMTCwgMCk7CiB9CiAKLXN0YXRpYyBpbnQg X3BlcmZfb3Blbih1aW50NjRfdCBjb25maWcsIGludCBncm91cCwgdWludDY0X3QgZm9ybWF0KQor c3RhdGljIGludAorX3BlcmZfb3Blbih1aW50NjRfdCB0eXBlLCB1aW50NjRfdCBjb25maWcsIGlu dCBncm91cCwgdWludDY0X3QgZm9ybWF0KQogewogCXN0cnVjdCBwZXJmX2V2ZW50X2F0dHIgYXR0 ciA9IHsgfTsKIAotCWF0dHIudHlwZSA9IGk5MTVfdHlwZV9pZCgpOworCWF0dHIudHlwZSA9IHR5 cGU7CiAJaWYgKGF0dHIudHlwZSA9PSAwKQogCQlyZXR1cm4gLUVOT0VOVDsKIApAQCAtNDYsMTEg KzQ3LDE4IEBAIHN0YXRpYyBpbnQgX3BlcmZfb3Blbih1aW50NjRfdCBjb25maWcsIGludCBncm91 cCwgdWludDY0X3QgZm9ybWF0KQogCiBpbnQgcGVyZl9pOTE1X29wZW4odWludDY0X3QgY29uZmln KQogewotCXJldHVybiBfcGVyZl9vcGVuKGNvbmZpZywgLTEsIFBFUkZfRk9STUFUX1RPVEFMX1RJ TUVfRU5BQkxFRCk7CisJcmV0dXJuIF9wZXJmX29wZW4oaTkxNV90eXBlX2lkKCksIGNvbmZpZywg LTEsCisJCQkgIFBFUkZfRk9STUFUX1RPVEFMX1RJTUVfRU5BQkxFRCk7CiB9CiAKIGludCBwZXJm X2k5MTVfb3Blbl9ncm91cCh1aW50NjRfdCBjb25maWcsIGludCBncm91cCkKIHsKLQlyZXR1cm4g X3BlcmZfb3Blbihjb25maWcsIGdyb3VwLAorCXJldHVybiBfcGVyZl9vcGVuKGk5MTVfdHlwZV9p ZCgpLCBjb25maWcsIGdyb3VwLAogCQkJICBQRVJGX0ZPUk1BVF9UT1RBTF9USU1FX0VOQUJMRUQg fCBQRVJGX0ZPUk1BVF9HUk9VUCk7CiB9CisKK2ludCBpZ3RfcGVyZl9vcGVuKHVpbnQ2NF90IHR5 cGUsIHVpbnQ2NF90IGNvbmZpZykKK3sKKwlyZXR1cm4gX3BlcmZfb3Blbih0eXBlLCBjb25maWcs IC0xLAorCQkJICBQRVJGX0ZPUk1BVF9UT1RBTF9USU1FX0VOQUJMRUQpOworfQpkaWZmIC0tZ2l0 IGEvbGliL2lndF9wZXJmLmggYi9saWIvaWd0X3BlcmYuaAppbmRleCAyODU4MjM3ODYzMjQuLmIx ZjUyNTczOWM2OSAxMDA2NDQKLS0tIGEvbGliL2lndF9wZXJmLmgKKysrIGIvbGliL2lndF9wZXJm LmgKQEAgLTk5LDUgKzk5LDYgQEAgcGVyZl9ldmVudF9vcGVuKHN0cnVjdCBwZXJmX2V2ZW50X2F0 dHIgKmF0dHIsCiB1aW50NjRfdCBpOTE1X3R5cGVfaWQodm9pZCk7CiBpbnQgcGVyZl9pOTE1X29w ZW4odWludDY0X3QgY29uZmlnKTsKIGludCBwZXJmX2k5MTVfb3Blbl9ncm91cCh1aW50NjRfdCBj b25maWcsIGludCBncm91cCk7CitpbnQgaWd0X3BlcmZfb3Blbih1aW50NjRfdCB0eXBlLCB1aW50 NjRfdCBjb25maWcpOwogCiAjZW5kaWYgLyogSTkxNV9QRVJGX0ggKi8KZGlmZiAtLWdpdCBhL292 ZXJsYXkvcG93ZXIuYyBiL292ZXJsYXkvcG93ZXIuYwppbmRleCA4MDVmNGNhNzgwNWMuLjM1ZTQ0 NmU2YmNlNSAxMDA2NDQKLS0tIGEvb3ZlcmxheS9wb3dlci5jCisrKyBiL292ZXJsYXkvcG93ZXIu YwpAQCAtMzAsNjAgKzMwLDEzOCBAQAogI2luY2x1ZGUgPGZjbnRsLmg+CiAjaW5jbHVkZSA8dGlt ZS5oPgogI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxt YXRoLmg+CiAKICNpbmNsdWRlICJpZ3RfcGVyZi5oIgogCiAjaW5jbHVkZSAicG93ZXIuaCIKICNp bmNsdWRlICJkZWJ1Z2ZzLmgiCiAKLS8qIFhYWCBJcyB0aGlzIGV4cG9zZWQgdGhyb3VnaCBSQVBM PyAqLworc3RhdGljIHVpbnQ2NF90IGZpbGVuYW1lX3RvX3U2NChjb25zdCBjaGFyICpmaWxlbmFt ZSwgaW50IGJhc2UpCit7CisJY2hhciBidWZbNjRdLCAqYjsKKwlzc2l6ZV90IHJldDsKKwlpbnQg ZmQ7CiAKLWludCBwb3dlcl9pbml0KHN0cnVjdCBwb3dlciAqcG93ZXIpCisJZmQgPSBvcGVuKGZp bGVuYW1lLCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIDA7CisKKwlyZXQgPSBy ZWFkKGZkLCBidWYsIHNpemVvZihidWYpIC0gMSk7CisJY2xvc2UoZmQpOworCWlmIChyZXQgPCAx KQorCQlyZXR1cm4gMDsKKworCWJ1ZltyZXRdID0gJ1wwJzsKKworCWIgPSBidWY7CisJd2hpbGUg KCpiICYmICFpc2RpZ2l0KCpiKSkKKwkJYisrOworCisJcmV0dXJuIHN0cnRvdWxsKGIsIE5VTEws IGJhc2UpOworfQorCitzdGF0aWMgdWludDY0X3QgZGVidWdmc19maWxlX3RvX3U2NChjb25zdCBj aGFyICpuYW1lKQogewotCWNoYXIgYnVmWzQwOTZdOwotCWludCBmZCwgbGVuOworCWNoYXIgYnVm WzEwMjRdOwogCi0JbWVtc2V0KHBvd2VyLCAwLCBzaXplb2YoKnBvd2VyKSk7CisJc25wcmludGYo YnVmLCBzaXplb2YoYnVmKSwgIiVzLyVzIiwgZGVidWdmc19kcmlfcGF0aCwgbmFtZSk7CisKKwly ZXR1cm4gZmlsZW5hbWVfdG9fdTY0KGJ1ZiwgMCk7Cit9CiAKLQlwb3dlci0+ZmQgPSAtMTsKK3N0 YXRpYyB1aW50NjRfdCByYXBsX3R5cGVfaWQodm9pZCkKK3sKKwlyZXR1cm4gZmlsZW5hbWVfdG9f dTY0KCIvc3lzL2RldmljZXMvcG93ZXIvdHlwZSIsIDEwKTsKK30KIAotCXNwcmludGYoYnVmLCAi JXMvaTkxNV9lbmVyZ3lfdUoiLCBkZWJ1Z2ZzX2RyaV9wYXRoKTsKLQlmZCA9IG9wZW4oYnVmLCAw KTsKK3N0YXRpYyB1aW50NjRfdCByYXBsX2dwdV9wb3dlcih2b2lkKQoreworCXJldHVybiBmaWxl bmFtZV90b191NjQoIi9zeXMvZGV2aWNlcy9wb3dlci9ldmVudHMvZW5lcmd5LWdwdSIsIDApOwor fQorCitzdGF0aWMgZG91YmxlIGZpbGVuYW1lX3RvX2RvdWJsZShjb25zdCBjaGFyICpmaWxlbmFt ZSkKK3sKKwljaGFyICpkb3QgPSBOVUxMLCAqZSA9IE5VTEw7CisJdW5zaWduZWQgbG9uZyBsb25n IGludCBkZWNpbWFsOworCWNoYXIgYnVmWzY0XSwgKmI7CisJbG9uZyBpbnQgdmFsOworCWxvbmcg aW50IGV4cG9uZW50OworCWRvdWJsZSByZXN1bHQ7CisJc3NpemVfdCByZXQ7CisJaW50IGZkOwor CisJZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JET05MWSk7CiAJaWYgKGZkIDwgMCkKLQkJcmV0dXJu IHBvd2VyLT5lcnJvciA9IGVycm5vOworCQlyZXR1cm4gTkFOOwogCi0JbGVuID0gcmVhZChmZCwg YnVmLCBzaXplb2YoYnVmKSk7CisJcmV0ID0gcmVhZChmZCwgYnVmLCBzaXplb2YoYnVmKSAtIDEp OwogCWNsb3NlKGZkKTsKKwlpZiAocmV0IDwgMSkKKwkJcmV0dXJuIE5BTjsKKworCWJ1ZltyZXRd ID0gJ1wwJzsKKworCWIgPSBidWY7CisJd2hpbGUgKCpiKSB7CisJCWlmICgqYiA9PSAnLicpCisJ CQlkb3QgPSBiOworCQllbHNlIGlmICgqYiA9PSAnZScpCisJCQllID0gYjsKKwkJYisrOworCX0K IAotCWlmIChsZW4gPCAwKQotCQlyZXR1cm4gcG93ZXItPmVycm9yID0gZXJybm87CisJaWYgKCFk b3QgfHwgIWUpCisJCXJldHVybiBOQU47CiAKLQlidWZbbGVuXSA9ICdcMCc7Ci0JaWYgKHN0cnRv dWxsKGJ1ZiwgMCwgMCkgPT0gMCkKLQkJcmV0dXJuIHBvd2VyLT5lcnJvciA9IEVJTlZBTDsKKwkq ZG90ID0gJ1wwJzsKKwkqZSA9ICdcMCc7CiAKLQlyZXR1cm4gMDsKKwkvKiBSZWR1Y2UgcHJlY2lz aW9uIHRvIGZpdCBpbiBsb25nIGludC4gKi8KKwlpZiAoKGUgLSBkb3QpID4gMTgpCisJCWRvdFsx OF0gPSAnXDAnOworCisJdmFsID0gc3RydG9sbChidWYsIE5VTEwsIDEwKTsKKwlkZWNpbWFsID0g c3RydG91bGwoKytkb3QsIE5VTEwsIDEwKTsKKwlleHBvbmVudCA9IHN0cnRvbGwoKytlLCBOVUxM LCAxMCk7CisKKwlyZXN1bHQgPSAoZG91YmxlKWRlY2ltYWw7CisJcmVzdWx0IC89IHJvdW5kKHBv dygxMCwgc3RybGVuKGRvdCkpKTsKKwlyZXN1bHQgKz0gdmFsOworCXJlc3VsdCAqPSBwb3coMTAs IGV4cG9uZW50KTsKKworCXJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyB1aW50NjRfdCBmaWxl X3RvX3U2NChjb25zdCBjaGFyICpuYW1lKQorc3RhdGljIGRvdWJsZSByYXBsX2dwdV9wb3dlcl9z Y2FsZSh2b2lkKQogewotCWNoYXIgYnVmWzQwOTZdOwotCWludCBmZCwgbGVuOworCXJldHVybiBm aWxlbmFtZV90b19kb3VibGUoIi9zeXMvZGV2aWNlcy9wb3dlci9ldmVudHMvZW5lcmd5LWdwdS5z Y2FsZSIpOworfQogCi0Jc3ByaW50ZihidWYsICIlcy8lcyIsIGRlYnVnZnNfZHJpX3BhdGgsIG5h bWUpOwotCWZkID0gb3BlbihidWYsIDApOwotCWlmIChmZCA8IDApCi0JCXJldHVybiAwOworaW50 IHBvd2VyX2luaXQoc3RydWN0IHBvd2VyICpwb3dlcikKK3sKKwl1aW50NjRfdCB2YWw7CiAKLQls ZW4gPSByZWFkKGZkLCBidWYsIHNpemVvZihidWYpLTEpOwotCWNsb3NlKGZkKTsKKwltZW1zZXQo cG93ZXIsIDAsIHNpemVvZigqcG93ZXIpKTsKIAotCWlmIChsZW4gPCAwKQotCQlyZXR1cm4gMDsK Kwlwb3dlci0+ZmQgPSBpZ3RfcGVyZl9vcGVuKHJhcGxfdHlwZV9pZCgpLCByYXBsX2dwdV9wb3dl cigpKTsKKwlpZiAocG93ZXItPmZkID49IDApIHsKKwkJcG93ZXItPnJhcGxfc2NhbGUgPSByYXBs X2dwdV9wb3dlcl9zY2FsZSgpOworCisJCWlmIChwb3dlci0+cmFwbF9zY2FsZSAhPSBOQU4pIHsK KwkJCXBvd2VyLT5yYXBsX3NjYWxlICo9IDFlMzsgLyogZnJvbSBuYW5vIHRvIG1pY3JvICovCisJ CQlyZXR1cm4gMDsKKwkJfQorCX0KIAotCWJ1ZltsZW5dID0gJ1wwJzsKKwl2YWwgPSBkZWJ1Z2Zz X2ZpbGVfdG9fdTY0KCJpOTE1X2VuZXJneV91SiIpOworCWlmICh2YWwgPT0gLTEpCisJCXJldHVy biBwb3dlci0+ZXJyb3IgPSBlcnJubzsKKwllbHNlIGlmICh2YWwgPT0gMCkKKwkJcmV0dXJuIHBv d2VyLT5lcnJvciA9IEVJTlZBTDsKIAotCXJldHVybiBzdHJ0b3VsbChidWYsIDAsIDApOworCXJl dHVybiAwOwogfQogCiBzdGF0aWMgdWludDY0X3QgY2xvY2tfbXNfdG9fdTY0KHZvaWQpCkBAIC05 MywzMCArMTcxLDMwIEBAIHN0YXRpYyB1aW50NjRfdCBjbG9ja19tc190b191NjQodm9pZCkKIAlp ZiAoY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZ0dikgPCAwKQogCQlyZXR1cm4gMDsK IAotCXJldHVybiAodWludDY0X3QpdHYudHZfc2VjICogMTAwMCArIHR2LnR2X25zZWMgLyAxMDAw MDAwOworCXJldHVybiAodWludDY0X3QpdHYudHZfc2VjICogMWUzICsgdHYudHZfbnNlYyAvIDFl NjsKIH0KIAogaW50IHBvd2VyX3VwZGF0ZShzdHJ1Y3QgcG93ZXIgKnBvd2VyKQogewotCXN0cnVj dCBwb3dlcl9zdGF0ICpzID0gJnBvd2VyLT5zdGF0W3Bvd2VyLT5jb3VudCsrJjFdOwotCXN0cnVj dCBwb3dlcl9zdGF0ICpkID0gJnBvd2VyLT5zdGF0W3Bvd2VyLT5jb3VudCYxXTsKKwlzdHJ1Y3Qg cG93ZXJfc3RhdCAqcyA9ICZwb3dlci0+c3RhdFtwb3dlci0+Y291bnQrKyAmIDFdOworCXN0cnVj dCBwb3dlcl9zdGF0ICpkID0gJnBvd2VyLT5zdGF0W3Bvd2VyLT5jb3VudCAmIDFdOwogCXVpbnQ2 NF90IGRfdGltZTsKIAogCWlmIChwb3dlci0+ZXJyb3IpCiAJCXJldHVybiBwb3dlci0+ZXJyb3I7 CiAKLQlpZiAocG93ZXItPmZkICE9IC0xKSB7CisJaWYgKHBvd2VyLT5mZCA+PSAwKSB7CiAJCXVp bnQ2NF90IGRhdGFbMl07CiAJCWludCBsZW47CiAKIAkJbGVuID0gcmVhZChwb3dlci0+ZmQsIGRh dGEsIHNpemVvZihkYXRhKSk7Ci0JCWlmIChsZW4gPCAwKQorCQlpZiAobGVuICE9IHNpemVvZihk YXRhKSkKIAkJCXJldHVybiBwb3dlci0+ZXJyb3IgPSBlcnJubzsKIAotCQlzLT5lbmVyZ3kgPSBk YXRhWzBdOwotCQlzLT50aW1lc3RhbXAgPSBkYXRhWzFdIC8gKDEwMDAqMTAwMCk7CisJCXMtPmVu ZXJneSA9IGxscm91bmQoKGRvdWJsZSlkYXRhWzBdICogcG93ZXItPnJhcGxfc2NhbGUpOworCQlz LT50aW1lc3RhbXAgPSBkYXRhWzFdIC8gMWU2OwogCX0gZWxzZSB7Ci0JCXMtPmVuZXJneSA9IGZp bGVfdG9fdTY0KCJpOTE1X2VuZXJneV91SiIpOworCQlzLT5lbmVyZ3kgPSBkZWJ1Z2ZzX2ZpbGVf dG9fdTY0KCJpOTE1X2VuZXJneV91SiIpIC8gMWUzOwogCQlzLT50aW1lc3RhbXAgPSBjbG9ja19t c190b191NjQoKTsKIAl9CiAKQEAgLTEyNCw3ICsyMDIsOSBAQCBpbnQgcG93ZXJfdXBkYXRlKHN0 cnVjdCBwb3dlciAqcG93ZXIpCiAJCXJldHVybiBFQUdBSU47CiAKIAlkX3RpbWUgPSBzLT50aW1l c3RhbXAgLSBkLT50aW1lc3RhbXA7Ci0JcG93ZXItPnBvd2VyX21XID0gKHMtPmVuZXJneSAtIGQt PmVuZXJneSkgLyBkX3RpbWU7CisJcG93ZXItPnBvd2VyX21XID0gcm91bmQoKGRvdWJsZSkocy0+ ZW5lcmd5IC0gZC0+ZW5lcmd5KSAqCisJCQkJKDFlM2YgLyBkX3RpbWUpKTsKIAlwb3dlci0+bmV3 X3NhbXBsZSA9IDE7CisKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL292ZXJsYXkvcG93ZXIu aCBiL292ZXJsYXkvcG93ZXIuaAppbmRleCBiZjgzNDZjZTQ2YjQuLjI4YWJmYzMyMjM0YiAxMDA2 NDQKLS0tIGEvb3ZlcmxheS9wb3dlci5oCisrKyBiL292ZXJsYXkvcG93ZXIuaApAQCAtMzksNiAr MzksOCBAQCBzdHJ1Y3QgcG93ZXIgewogCWludCBuZXdfc2FtcGxlOwogCiAJdWludDY0X3QgcG93 ZXJfbVc7CisKKwlkb3VibGUgcmFwbF9zY2FsZTsKIH07CiAKIGludCBwb3dlcl9pbml0KHN0cnVj dCBwb3dlciAqcG93ZXIpOwotLSAKMi45LjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=