From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Bragg Subject: [PATCH v5 07/11] drm/i915: advertise available metrics via sysfs Date: Wed, 14 Sep 2016 15:19:45 +0100 Message-ID: <20160914141949.27402-8-robert@sixbynine.org> References: <20160914141949.27402-1-robert@sixbynine.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160914141949.27402-1-robert@sixbynine.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org, Sourab Gupta , Daniel Vetter , Robert Bragg List-Id: dri-devel@lists.freedesktop.org RWFjaCBtZXRyaWMgc2V0IGlzIGdpdmVuIGEgc3lzZnMgZW50cnkgbGlrZToKCi9zeXMvY2xhc3Mv ZHJtL2NhcmQwL21ldHJpY3MvPGd1aWQ+L2lkCgpUaGlzIGFsbG93cyB1c2Vyc3BhY2UgdG8gZW51 bWVyYXRlIHRoZSBzcGVjaWZpYyBzZXRzIHRoYXQgYXJlIGF2YWlsYWJsZQpmb3IgdGhlIGN1cnJl bnQgc3lzdGVtLiBUaGUgJ2lkJyBmaWxlIGNvbnRhaW5zIGFuIHVuc2lnbmVkIGludGVnZXIgdGhh dApjYW4gYmUgdXNlZCB0byBvcGVuIHRoZSBhc3NvY2lhdGVkIG1ldHJpYyBzZXQgdmlhCkRSTV9J T0NUTF9JOTE1X1BFUkZfT1BFTi4gVGhlIDxndWlkPiBpcyBhIGdsb2JhbGx5IHVuaXF1ZSBJRCBm b3IgYQpzcGVjaWZpYyBPQSB1bml0IHJlZ2lzdGVyIGNvbmZpZ3VyYXRpb24gdGhhdCBjYW4gYmUg cmVsaWFibHkgdXNlZCBieQp1c2Vyc3BhY2UgYXMgYSBrZXkgdG8gbG9va3VwIGNvcnJlc3BvbmRp bmcgY291bnRlciBtZXRhIGRhdGEgYW5kCm5vcm1hbGl6YXRpb24gZXF1YXRpb25zLgoKVGhlIGd1 aWQgcmVnaXN0cnkgaXMgY3VycmVudGx5IG1haW50YWluZWQgYXMgcGFydCBvZiBncHV0b3AgYWxv bmcgd2l0aAp0aGUgWE1MIG1ldHJpYyBzZXQgZGVzY3JpcHRpb25zIGFuZCBjb2RlIGdlbmVyYXRp b24gc2NyaXB0cywgcmVmOgoKIGh0dHBzOi8vZ2l0aHViLmNvbS9yaWIvZ3B1dG9wCiA+IGdwdXRv cC1kYXRhL2d1aWRzLnhtbAogPiBzY3JpcHRzL3VwZGF0ZS1ndWlkcy5weQogPiBncHV0b3AtZGF0 YS9vYS0qLnhtbAogPiBzY3JpcHRzL2k5MTUtcGVyZi1rZXJuZWxnZW4ucHkKCiAkIG1ha2UgLUMg Z3B1dG9wLWRhdGEgLWYgTWFrZWZpbGUueG1sIFNZU0ZTPTEgV0hJVEVMSVNUPVJlbmRlckJhc2lj CgpTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgQnJhZ2cgPHJvYmVydEBzaXhieW5pbmUub3JnPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgfCAgNSArKysrCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgIHwgIDQgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X29hX2hzdy5jIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9vYV9oc3cuaCB8ICA0ICsrKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wZXJmLmMgICB8IDUyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDExNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmMKaW5kZXggMTRmMjJmYy4uODk2NWRmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5jCkBAIC0xMTI1LDYgKzExMjUsOSBAQCBzdGF0aWMgdm9pZCBpOTE1X2RyaXZlcl9yZWdpc3Rl cihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaWYgKGRybV9kZXZfcmVnaXN0 ZXIoZGV2LCAwKSA9PSAwKSB7CiAJCWk5MTVfZGVidWdmc19yZWdpc3RlcihkZXZfcHJpdik7CiAJ CWk5MTVfc2V0dXBfc3lzZnMoZGV2X3ByaXYpOworCisJCS8qIERlcGVuZHMgb24gc3lzZnMgaGF2 aW5nIGJlZW4gaW5pdGlhbGl6ZWQgKi8KKwkJaTkxNV9wZXJmX3JlZ2lzdGVyKGRldl9wcml2KTsK IAl9IGVsc2UKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcmVnaXN0ZXIgZHJpdmVyIGZvciB1c2Vy c3BhY2UgYWNjZXNzIVxuIik7CiAKQEAgLTExNjEsNiArMTE2NCw4IEBAIHN0YXRpYyB2b2lkIGk5 MTVfZHJpdmVyX3VucmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQog CWFjcGlfdmlkZW9fdW5yZWdpc3RlcigpOwogCWludGVsX29wcmVnaW9uX3VucmVnaXN0ZXIoZGV2 X3ByaXYpOwogCisJaTkxNV9wZXJmX3VucmVnaXN0ZXIoZGV2X3ByaXYpOworCiAJaTkxNV90ZWFy ZG93bl9zeXNmcyhkZXZfcHJpdik7CiAJaTkxNV9kZWJ1Z2ZzX3VucmVnaXN0ZXIoZGV2X3ByaXYp OwogCWRybV9kZXZfdW5yZWdpc3RlcigmZGV2X3ByaXYtPmRybSk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAppbmRleCA1NTFmMDc4Li5mNWRkZjcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAg LTIxNDEsNiArMjE0MSw4IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAlzdHJ1Y3Qgewog CQlib29sIGluaXRpYWxpemVkOwogCisJCXN0cnVjdCBrb2JqZWN0ICptZXRyaWNzX2tvYmo7CisK IAkJc3RydWN0IG11dGV4IGxvY2s7CiAJCXN0cnVjdCBsaXN0X2hlYWQgc3RyZWFtczsKIApAQCAt MzcxMSw2ICszNzEzLDggQEAgaW50IGludGVsX2VuZ2luZV9jbWRfcGFyc2VyKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSwKIC8qIGk5MTVfcGVyZi5jICovCiBleHRlcm4gdm9pZCBpOTE1 X3BlcmZfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogZXh0ZXJuIHZv aWQgaTkxNV9wZXJmX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK2V4 dGVybiB2b2lkIGk5MTVfcGVyZl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpOworZXh0ZXJuIHZvaWQgaTkxNV9wZXJmX3VucmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKIAogLyogaTkxNV9zdXNwZW5kLmMgKi8KIGV4dGVybiBpbnQg aTkxNV9zYXZlX3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9vYV9oc3cuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfb2FfaHN3LmMKaW5kZXggZWI1Y2VjYS4uNjU2MzM0ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9vYV9oc3cuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X29hX2hzdy5jCkBAIC0yNCw2ICsyNCw4IEBACiAgKgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9z eXNmcy5oPgorCiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKIAogZW51bSBtZXRyaWNfc2V0X2lkIHsK QEAgLTE0MSwzICsxNDMsNTIgQEAgaW50IGk5MTVfb2Ffc2VsZWN0X21ldHJpY19zZXRfaHN3KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQog fQorCitzdGF0aWMgc3NpemVfdAorc2hvd19yZW5kZXJfYmFzaWNfaWQoc3RydWN0IGRldmljZSAq a2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlyZXR1 cm4gc3ByaW50ZihidWYsICIlZFxuIiwgTUVUUklDX1NFVF9JRF9SRU5ERVJfQkFTSUMpOworfQor CitzdGF0aWMgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgZGV2X2F0dHJfcmVuZGVyX2Jhc2ljX2lk ID0geworCS5hdHRyID0geyAubmFtZSA9ICJpZCIsIC5tb2RlID0gU19JUlVHTyB9LAorCS5zaG93 ID0gc2hvd19yZW5kZXJfYmFzaWNfaWQsCisJLnN0b3JlID0gTlVMTCwKK307CisKK3N0YXRpYyBz dHJ1Y3QgYXR0cmlidXRlICphdHRyc19yZW5kZXJfYmFzaWNbXSA9IHsKKwkmZGV2X2F0dHJfcmVu ZGVyX2Jhc2ljX2lkLmF0dHIsCisJTlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRl X2dyb3VwIGdyb3VwX3JlbmRlcl9iYXNpYyA9IHsKKwkubmFtZSA9ICI0MDNkODgzMi0xYTI3LTRh YTYtYTY0ZS1mNTM4OWNlN2IyMTIiLAorCS5hdHRycyA9ICBhdHRyc19yZW5kZXJfYmFzaWMsCit9 OworCitpbnQKK2k5MTVfcGVyZl9yZWdpc3Rlcl9zeXNmc19oc3coc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQoreworCWludCBtdXhfbGVuOworCWludCByZXQgPSAwOworCisJaWYg KGdldF9yZW5kZXJfYmFzaWNfbXV4X2NvbmZpZyhkZXZfcHJpdiwgJm11eF9sZW4pKSB7CisJCXJl dCA9IHN5c2ZzX2NyZWF0ZV9ncm91cChkZXZfcHJpdi0+cGVyZi5tZXRyaWNzX2tvYmosICZncm91 cF9yZW5kZXJfYmFzaWMpOworCQlpZiAocmV0KQorCQkJZ290byBlcnJvcl9yZW5kZXJfYmFzaWM7 CisJfQorCisJcmV0dXJuIDA7CisKK2Vycm9yX3JlbmRlcl9iYXNpYzoKKwlyZXR1cm4gcmV0Owor fQorCit2b2lkCitpOTE1X3BlcmZfdW5yZWdpc3Rlcl9zeXNmc19oc3coc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQoreworCWludCBtdXhfbGVuOworCisJaWYgKGdldF9yZW5kZXJf YmFzaWNfbXV4X2NvbmZpZyhkZXZfcHJpdiwgJm11eF9sZW4pKQorCQlzeXNmc19yZW1vdmVfZ3Jv dXAoZGV2X3ByaXYtPnBlcmYubWV0cmljc19rb2JqLCAmZ3JvdXBfcmVuZGVyX2Jhc2ljKTsKK30K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfaHN3LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X29hX2hzdy5oCmluZGV4IGI2MThhMWYuLjQyOWEyMjkgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfaHN3LmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9vYV9oc3cuaApAQCAtMzEsNCArMzEsOCBAQCBleHRlcm4gaW50IGk5 MTVfb2Ffbl9idWlsdGluX21ldHJpY19zZXRzX2hzdzsKIAogZXh0ZXJuIGludCBpOTE1X29hX3Nl bGVjdF9tZXRyaWNfc2V0X2hzdyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwog CitleHRlcm4gaW50IGk5MTVfcGVyZl9yZWdpc3Rlcl9zeXNmc19oc3coc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKKworZXh0ZXJuIHZvaWQgaTkxNV9wZXJmX3VucmVnaXN0ZXJf c3lzZnNfaHN3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CisKICNlbmRpZgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3BlcmYuYwppbmRleCA1MzA1OTgyLi5lODkwYzM4IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3BlcmYuYwpAQCAtNzQzLDYgKzc0MywxNSBAQCBzdGF0aWMgaW50IGk5MTVfb2Ff c3RyZWFtX2luaXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKIAlpbnQgZm9ybWF0 X3NpemU7CiAJaW50IHJldDsKIAorCS8qIElmIHRoZSBzeXNmcyBtZXRyaWNzLyBkaXJlY3Rvcnkg d2Fzbid0IHJlZ2lzdGVyZWQgZm9yIHNvbWUKKwkgKiByZWFzb24gdGhlbiBkb24ndCBsZXQgdXNl cnNwYWNlIHRyeSB0aGVpciBsdWNrIHdpdGggY29uZmlnCisJICogSURzCisJICovCisJaWYgKCFk ZXZfcHJpdi0+cGVyZi5tZXRyaWNzX2tvYmopIHsKKwkJRFJNX0VSUk9SKCJPQSBtZXRyaWNzIHdl cmVuJ3QgYWR2ZXJ0aXNlZCB2aWEgc3lzZnNcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisK IAlpZiAoIShwcm9wcy0+c2FtcGxlX2ZsYWdzICYgU0FNUExFX09BX1JFUE9SVCkpIHsKIAkJRFJN X0VSUk9SKCJPbmx5IE9BIHJlcG9ydCBzYW1wbGluZyBzdXBwb3J0ZWRcbiIpOwogCQlyZXR1cm4g LUVJTlZBTDsKQEAgLTEzNjUsNiArMTM3NCw0OSBAQCBpbnQgaTkxNV9wZXJmX29wZW5faW9jdGwo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAlyZXR1cm4gcmV0OwogfQogCit2 b2lkIGk5MTVfcGVyZl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cit7CisJaWYgKCFJU19IQVNXRUxMKGRldl9wcml2KSkKKwkJcmV0dXJuOworCisJaWYgKCFkZXZf cHJpdi0+cGVyZi5pbml0aWFsaXplZCkKKwkJcmV0dXJuOworCisJLyogVG8gYmUgc3VyZSB3ZSdy ZSBzeW5jaHJvbml6ZWQgd2l0aCBhbiBhdHRlbXB0ZWQKKwkgKiBpOTE1X3BlcmZfb3Blbl9pb2N0 bCgpOyBjb25zaWRlcmluZyB0aGF0IHdlIHJlZ2lzdGVyIGFmdGVyCisJICogYmVpbmcgZXhwb3Nl ZCB0byB1c2Vyc3BhY2UuCisJICovCisJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPnBlcmYubG9jayk7 CisKKwlkZXZfcHJpdi0+cGVyZi5tZXRyaWNzX2tvYmogPQorCQlrb2JqZWN0X2NyZWF0ZV9hbmRf YWRkKCJtZXRyaWNzIiwKKwkJCQkgICAgICAgJmRldl9wcml2LT5kcm0ucHJpbWFyeS0+a2Rldi0+ a29iaik7CisJaWYgKCFkZXZfcHJpdi0+cGVyZi5tZXRyaWNzX2tvYmopCisJCWdvdG8gZXhpdDsK KworCWlmIChpOTE1X3BlcmZfcmVnaXN0ZXJfc3lzZnNfaHN3KGRldl9wcml2KSkgeworCQlrb2Jq ZWN0X3B1dChkZXZfcHJpdi0+cGVyZi5tZXRyaWNzX2tvYmopOworCQlkZXZfcHJpdi0+cGVyZi5t ZXRyaWNzX2tvYmogPSBOVUxMOworCX0KKworZXhpdDoKKwltdXRleF91bmxvY2soJmRldl9wcml2 LT5wZXJmLmxvY2spOworfQorCit2b2lkIGk5MTVfcGVyZl91bnJlZ2lzdGVyKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlpZiAoIUlTX0hBU1dFTEwoZGV2X3ByaXYpKQor CQlyZXR1cm47CisKKwlpZiAoIWRldl9wcml2LT5wZXJmLm1ldHJpY3Nfa29iaikKKwkJcmV0dXJu OworCisJaTkxNV9wZXJmX3VucmVnaXN0ZXJfc3lzZnNfaHN3KGRldl9wcml2KTsKKworCWtvYmpl Y3RfcHV0KGRldl9wcml2LT5wZXJmLm1ldHJpY3Nfa29iaik7CisJZGV2X3ByaXYtPnBlcmYubWV0 cmljc19rb2JqID0gTlVMTDsKK30KKwogdm9pZCBpOTE1X3BlcmZfaW5pdChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJaWYgKCFJU19IQVNXRUxMKGRldl9wcml2KSkKLS0g CjIuOS4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK