From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Bragg Subject: [PATCH v9 07/11] drm/i915: advertise available metrics via sysfs Date: Mon, 7 Nov 2016 19:49:53 +0000 Message-ID: <20161107194957.3385-8-robert@sixbynine.org> References: <20161107194957.3385-1-robert@sixbynine.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161107194957.3385-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 ZXdlZC1ieTogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpSZXZpZXdlZC1i eTogU291cmFiIEd1cHRhIDxzb3VyYWIuZ3VwdGFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgfCAgNSArKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oICAgIHwgIDQgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX2hzdy5j IHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9vYV9oc3cuaCB8ICA0ICsrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wZXJmLmMgICB8IDUyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA1 IGZpbGVzIGNoYW5nZWQsIDExNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMK aW5kZXggMjJiNDE2Ni4uNGZkODY1MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0xMTI1 LDYgKzExMjUsOSBAQCBzdGF0aWMgdm9pZCBpOTE1X2RyaXZlcl9yZWdpc3RlcihzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCWk5MTVfZGVidWdmc19yZWdpc3RlcihkZXZfcHJp dik7CiAJCWk5MTVfZ3VjX3JlZ2lzdGVyKGRldl9wcml2KTsKIAkJaTkxNV9zZXR1cF9zeXNmcyhk ZXZfcHJpdik7CisKKwkJLyogRGVwZW5kcyBvbiBzeXNmcyBoYXZpbmcgYmVlbiBpbml0aWFsaXpl ZCAqLworCQlpOTE1X3BlcmZfcmVnaXN0ZXIoZGV2X3ByaXYpOwogCX0gZWxzZQogCQlEUk1fRVJS T1IoIkZhaWxlZCB0byByZWdpc3RlciBkcml2ZXIgZm9yIHVzZXJzcGFjZSBhY2Nlc3MhXG4iKTsK IApAQCAtMTE2MSw2ICsxMTY0LDggQEAgc3RhdGljIHZvaWQgaTkxNV9kcml2ZXJfdW5yZWdpc3Rl cihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJYWNwaV92aWRlb191bnJlZ2lz dGVyKCk7CiAJaW50ZWxfb3ByZWdpb25fdW5yZWdpc3RlcihkZXZfcHJpdik7CiAKKwlpOTE1X3Bl cmZfdW5yZWdpc3RlcihkZXZfcHJpdik7CisKIAlpOTE1X3RlYXJkb3duX3N5c2ZzKGRldl9wcml2 KTsKIAlpOTE1X2d1Y191bnJlZ2lzdGVyKGRldl9wcml2KTsKIAlpOTE1X2RlYnVnZnNfdW5yZWdp c3RlcihkZXZfcHJpdik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA4MDAzMTIwLi4xNWZi YTZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTIxODcsNiArMjE4Nyw4IEBAIHN0cnVj dCBkcm1faTkxNV9wcml2YXRlIHsKIAlzdHJ1Y3QgewogCQlib29sIGluaXRpYWxpemVkOwogCisJ CXN0cnVjdCBrb2JqZWN0ICptZXRyaWNzX2tvYmo7CisKIAkJc3RydWN0IG11dGV4IGxvY2s7CiAJ CXN0cnVjdCBsaXN0X2hlYWQgc3RyZWFtczsKIApAQCAtMzg4NCw2ICszODg2LDggQEAgaW50IGlu dGVsX2VuZ2luZV9jbWRfcGFyc2VyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIC8q IGk5MTVfcGVyZi5jICovCiBleHRlcm4gdm9pZCBpOTE1X3BlcmZfaW5pdChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogZXh0ZXJuIHZvaWQgaTkxNV9wZXJmX2Zpbmkoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK2V4dGVybiB2b2lkIGk5MTVfcGVyZl9yZWdp c3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOworZXh0ZXJuIHZvaWQgaTkx NV9wZXJmX3VucmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIAog LyogaTkxNV9zdXNwZW5kLmMgKi8KIGV4dGVybiBpbnQgaTkxNV9zYXZlX3N0YXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9v YV9oc3cuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfaHN3LmMKaW5kZXggODkwNjM4 MC4uNmFmMjVjZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9vYV9oc3cu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX2hzdy5jCkBAIC0yNCw2ICsyNCw4 IEBACiAgKgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9zeXNmcy5oPgorCiAjaW5jbHVkZSAiaTkx NV9kcnYuaCIKICNpbmNsdWRlICJpOTE1X29hX2hzdy5oIgogCkBAIC0xNDIsMyArMTQ0LDUyIEBA IGludCBpOTE1X29hX3NlbGVjdF9tZXRyaWNfc2V0X2hzdyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCiAJCXJldHVybiAtRU5PREVWOwogCX0KIH0KKworc3RhdGljIHNzaXplX3QK K3Nob3dfcmVuZGVyX2Jhc2ljX2lkKHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBkZXZpY2Vf YXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWRc biIsIE1FVFJJQ19TRVRfSURfUkVOREVSX0JBU0lDKTsKK30KKworc3RhdGljIHN0cnVjdCBkZXZp Y2VfYXR0cmlidXRlIGRldl9hdHRyX3JlbmRlcl9iYXNpY19pZCA9IHsKKwkuYXR0ciA9IHsgLm5h bWUgPSAiaWQiLCAubW9kZSA9IDA0NDQgfSwKKwkuc2hvdyA9IHNob3dfcmVuZGVyX2Jhc2ljX2lk LAorCS5zdG9yZSA9IE5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cnNf cmVuZGVyX2Jhc2ljW10gPSB7CisJJmRldl9hdHRyX3JlbmRlcl9iYXNpY19pZC5hdHRyLAorCU5V TEwsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBncm91cF9yZW5kZXJfYmFz aWMgPSB7CisJLm5hbWUgPSAiNDAzZDg4MzItMWEyNy00YWE2LWE2NGUtZjUzODljZTdiMjEyIiwK KwkuYXR0cnMgPSAgYXR0cnNfcmVuZGVyX2Jhc2ljLAorfTsKKworaW50CitpOTE1X3BlcmZfcmVn aXN0ZXJfc3lzZnNfaHN3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlp bnQgbXV4X2xlbjsKKwlpbnQgcmV0ID0gMDsKKworCWlmIChnZXRfcmVuZGVyX2Jhc2ljX211eF9j b25maWcoZGV2X3ByaXYsICZtdXhfbGVuKSkgeworCQlyZXQgPSBzeXNmc19jcmVhdGVfZ3JvdXAo ZGV2X3ByaXYtPnBlcmYubWV0cmljc19rb2JqLCAmZ3JvdXBfcmVuZGVyX2Jhc2ljKTsKKwkJaWYg KHJldCkKKwkJCWdvdG8gZXJyb3JfcmVuZGVyX2Jhc2ljOworCX0KKworCXJldHVybiAwOworCitl cnJvcl9yZW5kZXJfYmFzaWM6CisJcmV0dXJuIHJldDsKK30KKwordm9pZAoraTkxNV9wZXJmX3Vu cmVnaXN0ZXJfc3lzZnNfaHN3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sK KwlpbnQgbXV4X2xlbjsKKworCWlmIChnZXRfcmVuZGVyX2Jhc2ljX211eF9jb25maWcoZGV2X3By aXYsICZtdXhfbGVuKSkKKwkJc3lzZnNfcmVtb3ZlX2dyb3VwKGRldl9wcml2LT5wZXJmLm1ldHJp Y3Nfa29iaiwgJmdyb3VwX3JlbmRlcl9iYXNpYyk7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X29hX2hzdy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9vYV9o c3cuaAppbmRleCBiNjE4YTFmLi40MjlhMjI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X29hX2hzdy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfaHN3 LmgKQEAgLTMxLDQgKzMxLDggQEAgZXh0ZXJuIGludCBpOTE1X29hX25fYnVpbHRpbl9tZXRyaWNf c2V0c19oc3c7CiAKIGV4dGVybiBpbnQgaTkxNV9vYV9zZWxlY3RfbWV0cmljX3NldF9oc3coc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIAorZXh0ZXJuIGludCBpOTE1X3BlcmZf cmVnaXN0ZXJfc3lzZnNfaHN3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CisK K2V4dGVybiB2b2lkIGk5MTVfcGVyZl91bnJlZ2lzdGVyX3N5c2ZzX2hzdyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcGVyZi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMK aW5kZXggNTQ2NTNiYy4uYzQyN2NkOGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcGVyZi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jCkBAIC04 MTIsNiArODEyLDE1IEBAIHN0YXRpYyBpbnQgaTkxNV9vYV9zdHJlYW1faW5pdChzdHJ1Y3QgaTkx NV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCWludCBmb3JtYXRfc2l6ZTsKIAlpbnQgcmV0OwogCisJ LyogSWYgdGhlIHN5c2ZzIG1ldHJpY3MvIGRpcmVjdG9yeSB3YXNuJ3QgcmVnaXN0ZXJlZCBmb3Ig c29tZQorCSAqIHJlYXNvbiB0aGVuIGRvbid0IGxldCB1c2Vyc3BhY2UgdHJ5IHRoZWlyIGx1Y2sg d2l0aCBjb25maWcKKwkgKiBJRHMKKwkgKi8KKwlpZiAoIWRldl9wcml2LT5wZXJmLm1ldHJpY3Nf a29iaikgeworCQlEUk1fRVJST1IoIk9BIG1ldHJpY3Mgd2VyZW4ndCBhZHZlcnRpc2VkIHZpYSBz eXNmc1xuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwogCWlmICghKHByb3BzLT5zYW1wbGVf ZmxhZ3MgJiBTQU1QTEVfT0FfUkVQT1JUKSkgewogCQlEUk1fRVJST1IoIk9ubHkgT0EgcmVwb3J0 IHNhbXBsaW5nIHN1cHBvcnRlZFxuIik7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMTQwOCw2ICsx NDE3LDQ5IEBAIGludCBpOTE1X3BlcmZfb3Blbl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAogCXJldHVybiByZXQ7CiB9CiAKK3ZvaWQgaTkxNV9wZXJmX3JlZ2lzdGVy KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlpZiAoIUlTX0hBU1dFTEwo ZGV2X3ByaXYpKQorCQlyZXR1cm47CisKKwlpZiAoIWRldl9wcml2LT5wZXJmLmluaXRpYWxpemVk KQorCQlyZXR1cm47CisKKwkvKiBUbyBiZSBzdXJlIHdlJ3JlIHN5bmNocm9uaXplZCB3aXRoIGFu IGF0dGVtcHRlZAorCSAqIGk5MTVfcGVyZl9vcGVuX2lvY3RsKCk7IGNvbnNpZGVyaW5nIHRoYXQg d2UgcmVnaXN0ZXIgYWZ0ZXIKKwkgKiBiZWluZyBleHBvc2VkIHRvIHVzZXJzcGFjZS4KKwkgKi8K KwltdXRleF9sb2NrKCZkZXZfcHJpdi0+cGVyZi5sb2NrKTsKKworCWRldl9wcml2LT5wZXJmLm1l dHJpY3Nfa29iaiA9CisJCWtvYmplY3RfY3JlYXRlX2FuZF9hZGQoIm1ldHJpY3MiLAorCQkJCSAg ICAgICAmZGV2X3ByaXYtPmRybS5wcmltYXJ5LT5rZGV2LT5rb2JqKTsKKwlpZiAoIWRldl9wcml2 LT5wZXJmLm1ldHJpY3Nfa29iaikKKwkJZ290byBleGl0OworCisJaWYgKGk5MTVfcGVyZl9yZWdp c3Rlcl9zeXNmc19oc3coZGV2X3ByaXYpKSB7CisJCWtvYmplY3RfcHV0KGRldl9wcml2LT5wZXJm Lm1ldHJpY3Nfa29iaik7CisJCWRldl9wcml2LT5wZXJmLm1ldHJpY3Nfa29iaiA9IE5VTEw7CisJ fQorCitleGl0OgorCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnBlcmYubG9jayk7Cit9CisKK3Zv aWQgaTkxNV9wZXJmX3VucmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQoreworCWlmICghSVNfSEFTV0VMTChkZXZfcHJpdikpCisJCXJldHVybjsKKworCWlmICghZGV2 X3ByaXYtPnBlcmYubWV0cmljc19rb2JqKQorCQlyZXR1cm47CisKKwlpOTE1X3BlcmZfdW5yZWdp c3Rlcl9zeXNmc19oc3coZGV2X3ByaXYpOworCisJa29iamVjdF9wdXQoZGV2X3ByaXYtPnBlcmYu bWV0cmljc19rb2JqKTsKKwlkZXZfcHJpdi0+cGVyZi5tZXRyaWNzX2tvYmogPSBOVUxMOworfQor CiB2b2lkIGk5MTVfcGVyZl9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK IHsKIAlpZiAoIUlTX0hBU1dFTEwoZGV2X3ByaXYpKQotLSAKMi4xMC4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK