From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Bragg Subject: [PATCH v8 08/12] drm/i915: advertise available metrics via sysfs Date: Fri, 28 Oct 2016 03:14:26 +0100 Message-ID: <20161028021430.2177-9-robert@sixbynine.org> References: <20161028021430.2177-1-robert@sixbynine.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161028021430.2177-1-robert@sixbynine.org> 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: David Airlie , dri-devel@lists.freedesktop.org, Sourab Gupta , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org RWFjaCBtZXRyaWMgc2V0IGlzIGdpdmVuIGEgc3lzZnMgZW50cnkgbGlrZToKCi9zeXMvY2xhc3Mv ZHJtL2NhcmQwL21ldHJpY3MvPGd1aWQ+L2lkCgpUaGlzIGFsbG93cyB1c2Vyc3BhY2UgdG8gZW51 bWVyYXRlIHRoZSBzcGVjaWZpYyBzZXRzIHRoYXQgYXJlIGF2YWlsYWJsZQpmb3IgdGhlIGN1cnJl bnQgc3lzdGVtLiBUaGUgJ2lkJyBmaWxlIGNvbnRhaW5zIGFuIHVuc2lnbmVkIGludGVnZXIgdGhh dApjYW4gYmUgdXNlZCB0byBvcGVuIHRoZSBhc3NvY2lhdGVkIG1ldHJpYyBzZXQgdmlhCkRSTV9J T0NUTF9JOTE1X1BFUkZfT1BFTi4gVGhlIDxndWlkPiBpcyBhIGdsb2JhbGx5IHVuaXF1ZSBJRCBm b3IgYQpzcGVjaWZpYyBPQSB1bml0IHJlZ2lzdGVyIGNvbmZpZ3VyYXRpb24gdGhhdCBjYW4gYmUg cmVsaWFibHkgdXNlZCBieQp1c2Vyc3BhY2UgYXMgYSBrZXkgdG8gbG9va3VwIGNvcnJlc3BvbmRp bmcgY291bnRlciBtZXRhIGRhdGEgYW5kCm5vcm1hbGl6YXRpb24gZXF1YXRpb25zLgoKVGhlIGd1 aWQgcmVnaXN0cnkgaXMgY3VycmVudGx5IG1haW50YWluZWQgYXMgcGFydCBvZiBncHV0b3AgYWxv bmcgd2l0aAp0aGUgWE1MIG1ldHJpYyBzZXQgZGVzY3JpcHRpb25zIGFuZCBjb2RlIGdlbmVyYXRp b24gc2NyaXB0cywgcmVmOgoKIGh0dHBzOi8vZ2l0aHViLmNvbS9yaWIvZ3B1dG9wCiA+IGdwdXRv cC1kYXRhL2d1aWRzLnhtbAogPiBzY3JpcHRzL3VwZGF0ZS1ndWlkcy5weQogPiBncHV0b3AtZGF0 YS9vYS0qLnhtbAogPiBzY3JpcHRzL2k5MTUtcGVyZi1rZXJuZWxnZW4ucHkKCiAkIG1ha2UgLUMg Z3B1dG9wLWRhdGEgLWYgTWFrZWZpbGUueG1sIFNZU0ZTPTEgV0hJVEVMSVNUPVJlbmRlckJhc2lj CgpTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgQnJhZ2cgPHJvYmVydEBzaXhieW5pbmUub3JnPgpSZXZp ZXdlZC1ieTogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgfCAgNSArKysrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oICAgIHwgIDQgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29h X2hzdy5jIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9vYV9oc3cuaCB8ICA0ICsrKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wZXJmLmMgICB8IDUyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiA1IGZpbGVzIGNoYW5nZWQsIDExNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMKaW5kZXggNjg1Yzk2ZS4uMjliYzgzYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBA IC0xMTE2LDYgKzExMTYsOSBAQCBzdGF0aWMgdm9pZCBpOTE1X2RyaXZlcl9yZWdpc3RlcihzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCWk5MTVfZGVidWdmc19yZWdpc3Rlcihk ZXZfcHJpdik7CiAJCWk5MTVfZ3VjX3JlZ2lzdGVyKGRldl9wcml2KTsKIAkJaTkxNV9zZXR1cF9z eXNmcyhkZXZfcHJpdik7CisKKwkJLyogRGVwZW5kcyBvbiBzeXNmcyBoYXZpbmcgYmVlbiBpbml0 aWFsaXplZCAqLworCQlpOTE1X3BlcmZfcmVnaXN0ZXIoZGV2X3ByaXYpOwogCX0gZWxzZQogCQlE Uk1fRVJST1IoIkZhaWxlZCB0byByZWdpc3RlciBkcml2ZXIgZm9yIHVzZXJzcGFjZSBhY2Nlc3Mh XG4iKTsKIApAQCAtMTE1Miw2ICsxMTU1LDggQEAgc3RhdGljIHZvaWQgaTkxNV9kcml2ZXJfdW5y ZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJYWNwaV92aWRlb191 bnJlZ2lzdGVyKCk7CiAJaW50ZWxfb3ByZWdpb25fdW5yZWdpc3RlcihkZXZfcHJpdik7CiAKKwlp OTE1X3BlcmZfdW5yZWdpc3RlcihkZXZfcHJpdik7CisKIAlpOTE1X3RlYXJkb3duX3N5c2ZzKGRl dl9wcml2KTsKIAlpOTE1X2d1Y191bnJlZ2lzdGVyKGRldl9wcml2KTsKIAlpOTE1X2RlYnVnZnNf dW5yZWdpc3RlcihkZXZfcHJpdik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBkZDJiNGQz Li4wMTQzOGZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTIxNzAsNiArMjE3MCw4IEBA IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAlzdHJ1Y3QgewogCQlib29sIGluaXRpYWxpemVk OwogCisJCXN0cnVjdCBrb2JqZWN0ICptZXRyaWNzX2tvYmo7CisKIAkJc3RydWN0IG11dGV4IGxv Y2s7CiAJCXN0cnVjdCBsaXN0X2hlYWQgc3RyZWFtczsKIApAQCAtMzc1Nyw2ICszNzU5LDggQEAg aW50IGludGVsX2VuZ2luZV9jbWRfcGFyc2VyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSwKIC8qIGk5MTVfcGVyZi5jICovCiBleHRlcm4gdm9pZCBpOTE1X3BlcmZfaW5pdChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogZXh0ZXJuIHZvaWQgaTkxNV9wZXJmX2Zpbmko c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK2V4dGVybiB2b2lkIGk5MTVfcGVy Zl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOworZXh0ZXJuIHZv aWQgaTkxNV9wZXJmX3VucmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KTsKIAogLyogaTkxNV9zdXNwZW5kLmMgKi8KIGV4dGVybiBpbnQgaTkxNV9zYXZlX3N0YXRlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9vYV9oc3cuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfaHN3LmMKaW5kZXgg ODkwNjM4MC4uNmFmMjVjZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9v YV9oc3cuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX2hzdy5jCkBAIC0yNCw2 ICsyNCw4IEBACiAgKgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9zeXNmcy5oPgorCiAjaW5jbHVk ZSAiaTkxNV9kcnYuaCIKICNpbmNsdWRlICJpOTE1X29hX2hzdy5oIgogCkBAIC0xNDIsMyArMTQ0 LDUyIEBAIGludCBpOTE1X29hX3NlbGVjdF9tZXRyaWNfc2V0X2hzdyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCiAJCXJldHVybiAtRU5PREVWOwogCX0KIH0KKworc3RhdGljIHNz aXplX3QKK3Nob3dfcmVuZGVyX2Jhc2ljX2lkKHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBk ZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJcmV0dXJuIHNwcmludGYoYnVm LCAiJWRcbiIsIE1FVFJJQ19TRVRfSURfUkVOREVSX0JBU0lDKTsKK30KKworc3RhdGljIHN0cnVj dCBkZXZpY2VfYXR0cmlidXRlIGRldl9hdHRyX3JlbmRlcl9iYXNpY19pZCA9IHsKKwkuYXR0ciA9 IHsgLm5hbWUgPSAiaWQiLCAubW9kZSA9IDA0NDQgfSwKKwkuc2hvdyA9IHNob3dfcmVuZGVyX2Jh c2ljX2lkLAorCS5zdG9yZSA9IE5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAq YXR0cnNfcmVuZGVyX2Jhc2ljW10gPSB7CisJJmRldl9hdHRyX3JlbmRlcl9iYXNpY19pZC5hdHRy LAorCU5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBncm91cF9yZW5k ZXJfYmFzaWMgPSB7CisJLm5hbWUgPSAiNDAzZDg4MzItMWEyNy00YWE2LWE2NGUtZjUzODljZTdi MjEyIiwKKwkuYXR0cnMgPSAgYXR0cnNfcmVuZGVyX2Jhc2ljLAorfTsKKworaW50CitpOTE1X3Bl cmZfcmVnaXN0ZXJfc3lzZnNfaHN3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK K3sKKwlpbnQgbXV4X2xlbjsKKwlpbnQgcmV0ID0gMDsKKworCWlmIChnZXRfcmVuZGVyX2Jhc2lj X211eF9jb25maWcoZGV2X3ByaXYsICZtdXhfbGVuKSkgeworCQlyZXQgPSBzeXNmc19jcmVhdGVf Z3JvdXAoZGV2X3ByaXYtPnBlcmYubWV0cmljc19rb2JqLCAmZ3JvdXBfcmVuZGVyX2Jhc2ljKTsK KwkJaWYgKHJldCkKKwkJCWdvdG8gZXJyb3JfcmVuZGVyX2Jhc2ljOworCX0KKworCXJldHVybiAw OworCitlcnJvcl9yZW5kZXJfYmFzaWM6CisJcmV0dXJuIHJldDsKK30KKwordm9pZAoraTkxNV9w ZXJmX3VucmVnaXN0ZXJfc3lzZnNfaHN3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKK3sKKwlpbnQgbXV4X2xlbjsKKworCWlmIChnZXRfcmVuZGVyX2Jhc2ljX211eF9jb25maWco ZGV2X3ByaXYsICZtdXhfbGVuKSkKKwkJc3lzZnNfcmVtb3ZlX2dyb3VwKGRldl9wcml2LT5wZXJm Lm1ldHJpY3Nfa29iaiwgJmdyb3VwX3JlbmRlcl9iYXNpYyk7Cit9CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX2hzdy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9vYV9oc3cuaAppbmRleCBiNjE4YTFmLi40MjlhMjI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X29hX2hzdy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf b2FfaHN3LmgKQEAgLTMxLDQgKzMxLDggQEAgZXh0ZXJuIGludCBpOTE1X29hX25fYnVpbHRpbl9t ZXRyaWNfc2V0c19oc3c7CiAKIGV4dGVybiBpbnQgaTkxNV9vYV9zZWxlY3RfbWV0cmljX3NldF9o c3coc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIAorZXh0ZXJuIGludCBpOTE1 X3BlcmZfcmVnaXN0ZXJfc3lzZnNfaHN3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dik7CisKK2V4dGVybiB2b2lkIGk5MTVfcGVyZl91bnJlZ2lzdGVyX3N5c2ZzX2hzdyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9w ZXJmLmMKaW5kZXggOGI5Y2YwZC4uOGQwN2M0MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wZXJmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMK QEAgLTgxMiw2ICs4MTIsMTUgQEAgc3RhdGljIGludCBpOTE1X29hX3N0cmVhbV9pbml0KHN0cnVj dCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAJaW50IGZvcm1hdF9zaXplOwogCWludCByZXQ7 CiAKKwkvKiBJZiB0aGUgc3lzZnMgbWV0cmljcy8gZGlyZWN0b3J5IHdhc24ndCByZWdpc3RlcmVk IGZvciBzb21lCisJICogcmVhc29uIHRoZW4gZG9uJ3QgbGV0IHVzZXJzcGFjZSB0cnkgdGhlaXIg bHVjayB3aXRoIGNvbmZpZworCSAqIElEcworCSAqLworCWlmICghZGV2X3ByaXYtPnBlcmYubWV0 cmljc19rb2JqKSB7CisJCURSTV9FUlJPUigiT0EgbWV0cmljcyB3ZXJlbid0IGFkdmVydGlzZWQg dmlhIHN5c2ZzXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCiAJaWYgKCEocHJvcHMtPnNh bXBsZV9mbGFncyAmIFNBTVBMRV9PQV9SRVBPUlQpKSB7CiAJCURSTV9FUlJPUigiT25seSBPQSBy ZXBvcnQgc2FtcGxpbmcgc3VwcG9ydGVkXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC0xNDAy LDYgKzE0MTEsNDkgQEAgaW50IGk5MTVfcGVyZl9vcGVuX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsCiAJcmV0dXJuIHJldDsKIH0KIAordm9pZCBpOTE1X3BlcmZfcmVn aXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCWlmICghSVNfSEFT V0VMTChkZXZfcHJpdikpCisJCXJldHVybjsKKworCWlmICghZGV2X3ByaXYtPnBlcmYuaW5pdGlh bGl6ZWQpCisJCXJldHVybjsKKworCS8qIFRvIGJlIHN1cmUgd2UncmUgc3luY2hyb25pemVkIHdp dGggYW4gYXR0ZW1wdGVkCisJICogaTkxNV9wZXJmX29wZW5faW9jdGwoKTsgY29uc2lkZXJpbmcg dGhhdCB3ZSByZWdpc3RlciBhZnRlcgorCSAqIGJlaW5nIGV4cG9zZWQgdG8gdXNlcnNwYWNlLgor CSAqLworCW11dGV4X2xvY2soJmRldl9wcml2LT5wZXJmLmxvY2spOworCisJZGV2X3ByaXYtPnBl cmYubWV0cmljc19rb2JqID0KKwkJa29iamVjdF9jcmVhdGVfYW5kX2FkZCgibWV0cmljcyIsCisJ CQkJICAgICAgICZkZXZfcHJpdi0+ZHJtLnByaW1hcnktPmtkZXYtPmtvYmopOworCWlmICghZGV2 X3ByaXYtPnBlcmYubWV0cmljc19rb2JqKQorCQlnb3RvIGV4aXQ7CisKKwlpZiAoaTkxNV9wZXJm X3JlZ2lzdGVyX3N5c2ZzX2hzdyhkZXZfcHJpdikpIHsKKwkJa29iamVjdF9wdXQoZGV2X3ByaXYt PnBlcmYubWV0cmljc19rb2JqKTsKKwkJZGV2X3ByaXYtPnBlcmYubWV0cmljc19rb2JqID0gTlVM TDsKKwl9CisKK2V4aXQ6CisJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cGVyZi5sb2NrKTsKK30K Kwordm9pZCBpOTE1X3BlcmZfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCit7CisJaWYgKCFJU19IQVNXRUxMKGRldl9wcml2KSkKKwkJcmV0dXJuOworCisJaWYg KCFkZXZfcHJpdi0+cGVyZi5tZXRyaWNzX2tvYmopCisJCXJldHVybjsKKworCWk5MTVfcGVyZl91 bnJlZ2lzdGVyX3N5c2ZzX2hzdyhkZXZfcHJpdik7CisKKwlrb2JqZWN0X3B1dChkZXZfcHJpdi0+ cGVyZi5tZXRyaWNzX2tvYmopOworCWRldl9wcml2LT5wZXJmLm1ldHJpY3Nfa29iaiA9IE5VTEw7 Cit9CisKIHZvaWQgaTkxNV9wZXJmX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogewogCWlmICghSVNfSEFTV0VMTChkZXZfcHJpdikpCi0tIAoyLjEwLjEKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=