From mboxrd@z Thu Jan 1 00:00:00 1970 From: Qiang Yu Subject: [RFC 10/24] drm/lima: add PMU related functions Date: Fri, 18 May 2018 11:16:43 +0800 Message-ID: <20180518031657.6845-13-yuq825@gmail.com> References: <20180518031657.6845-1-yuq825@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pl0-x244.google.com (mail-pl0-x244.google.com [IPv6:2607:f8b0:400e:c01::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 04FAB6EC47 for ; Fri, 18 May 2018 03:18:09 +0000 (UTC) Received: by mail-pl0-x244.google.com with SMTP id u6-v6so3731483pls.9 for ; Thu, 17 May 2018 20:18:09 -0700 (PDT) In-Reply-To: <20180518031657.6845-1-yuq825@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Qiang Yu Cc: Qiang Yu , Lima Project Developers List-Id: dri-devel@lists.freedesktop.org RnJvbTogTGltYSBQcm9qZWN0IERldmVsb3BlcnMgPGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmc+CgpTaWduZWQtb2ZmLWJ5OiBRaWFuZyBZdSA8eXVxODI1QGdtYWlsLmNvbT4KU2lnbmVk LW9mZi1ieTogSGVpa28gU3R1ZWJuZXIgPGhlaWtvQHNudGVjaC5kZT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vbGltYS9saW1hX3BtdS5jIHwgODUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiBkcml2ZXJzL2dwdS9kcm0vbGltYS9saW1hX3BtdS5oIHwgMzAgKysrKysrKysrKysrCiAy IGZpbGVzIGNoYW5nZWQsIDExNSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9ncHUvZHJtL2xpbWEvbGltYV9wbXUuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv Z3B1L2RybS9saW1hL2xpbWFfcG11LmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbGlt YS9saW1hX3BtdS5jIGIvZHJpdmVycy9ncHUvZHJtL2xpbWEvbGltYV9wbXUuYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjI1NWE2NGU5ZjI2NQotLS0gL2Rldi9udWxs CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9saW1hL2xpbWFfcG11LmMKQEAgLTAsMCArMSw4NSBAQAor LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IExpbWEgUHJvamVjdAorICoKKyAqIFBlcm1p c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i dGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1l bnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdh cmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICog dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1 dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBh bmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hl ZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICog VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh bGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg b2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJ TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ TElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H RU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIENPUFlSSUdIVCBIT0xERVIoUykgT1Ig QVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SCisgKiBPVEhFUiBM SUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVS V0lTRSwKKyAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUg U09GVFdBUkUgT1IgVEhFIFVTRSBPUgorICogT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJF LgorICovCisKKyNpbmNsdWRlIDxsaW51eC9vZi5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+Cisj aW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisKKyNpbmNsdWRlICJsaW1hX2RldmljZS5oIgorI2lu Y2x1ZGUgImxpbWFfcG11LmgiCisjaW5jbHVkZSAibGltYV9yZWdzLmgiCisKKyNkZWZpbmUgcG11 X3dyaXRlKHJlZywgZGF0YSkgd3JpdGVsKGRhdGEsIGlwLT5pb21lbSArIExJTUFfUE1VXyMjcmVn KQorI2RlZmluZSBwbXVfcmVhZChyZWcpIHJlYWRsKGlwLT5pb21lbSArIExJTUFfUE1VXyMjcmVn KQorCitzdGF0aWMgaW50IGxpbWFfcG11X3dhaXRfY21kKHN0cnVjdCBsaW1hX2lwICppcCkKK3sK KwlzdHJ1Y3QgbGltYV9kZXZpY2UgKmRldiA9IGlwLT5kZXY7CisJdTMyIHN0YXQsIHRpbWVvdXQ7 CisKKwlmb3IgKHRpbWVvdXQgPSAxMDAwMDAwOyB0aW1lb3V0ID4gMDsgdGltZW91dC0tKSB7CisJ CXN0YXQgPSBwbXVfcmVhZChJTlRfUkFXU1RBVCk7CisJCWlmIChzdGF0ICYgTElNQV9QTVVfSU5U X0NNRF9NQVNLKQorCQkJYnJlYWs7CisJfQorCisJaWYgKCF0aW1lb3V0KSB7CisJCWRldl9lcnIo ZGV2LT5kZXYsICJ0aW1lb3V0IHdhaXQgcG1kIGNtZFxuIik7CisJCXJldHVybiAtRVRJTUVET1VU OworCX0KKworCXBtdV93cml0ZShJTlRfQ0xFQVIsIExJTUFfUE1VX0lOVF9DTURfTUFTSyk7CisJ cmV0dXJuIDA7Cit9CisKK2ludCBsaW1hX3BtdV9pbml0KHN0cnVjdCBsaW1hX2lwICppcCkKK3sK KwlpbnQgZXJyOworCXUzMiBzdGF0OworCXN0cnVjdCBsaW1hX2RldmljZSAqZGV2ID0gaXAtPmRl djsKKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gZGV2LT5kZXYtPm9mX25vZGU7CisKKwkvKiBJ ZiB0aGlzIHZhbHVlIGlzIHRvbyBsb3csIHdoZW4gaW4gaGlnaCBHUFUgY2xrIGZyZXEsCisJICog R1BVIHdpbGwgYmUgaW4gdW5zdGFibGUgc3RhdGUuICovCisJaWYgKG9mX3Byb3BlcnR5X3JlYWRf dTMyKG5wLCAic3dpdGNoLWRlbGF5IiwgJmlwLT5kYXRhLnN3aXRjaF9kZWxheSkpCisJCWlwLT5k YXRhLnN3aXRjaF9kZWxheSA9IDB4ZmY7CisKKwlwbXVfd3JpdGUoSU5UX01BU0ssIDApOworCXBt dV93cml0ZShTV19ERUxBWSwgaXAtPmRhdGEuc3dpdGNoX2RlbGF5KTsKKworCS8qIHN0YXR1cyBy ZWcgMT1vZmYgMD1vbiAqLworCXN0YXQgPSBwbXVfcmVhZChTVEFUVVMpOworCisJLyogcG93ZXIg dXAgYWxsIGlwICovCisJaWYgKHN0YXQpIHsKKwkJcG11X3dyaXRlKFBPV0VSX1VQLCBzdGF0KTsK KwkJZXJyID0gbGltYV9wbXVfd2FpdF9jbWQoaXApOworCQlpZiAoZXJyKQorCQkJcmV0dXJuIGVy cjsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgbGltYV9wbXVfZmluaShzdHJ1Y3QgbGltYV9p cCAqaXApCit7CisKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9saW1hL2xpbWFfcG11 LmggYi9kcml2ZXJzL2dwdS9kcm0vbGltYS9saW1hX3BtdS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uZmI2OGE3MDU5YTM3Ci0tLSAvZGV2L251bGwKKysrIGIvZHJp dmVycy9ncHUvZHJtL2xpbWEvbGltYV9wbXUuaApAQCAtMCwwICsxLDMwIEBACisvKgorICogQ29w eXJpZ2h0IChDKSAyMDE3LTIwMTggTGltYSBQcm9qZWN0CisgKgorICogUGVybWlzc2lvbiBpcyBo ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEK KyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp bGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0 IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRz IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGlj ZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJt aXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNv LCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUg Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs dWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29m dHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg V0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBC VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICog RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElO IE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBPUiBBVVRIT1IoUykg QkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IKKyAqIE9USEVSIExJQUJJTElUWSwg V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAorICog QVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBP UiBUSEUgVVNFIE9SCisgKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKi8KKyNp Zm5kZWYgX19MSU1BX1BNVV9IX18KKyNkZWZpbmUgX19MSU1BX1BNVV9IX18KKworc3RydWN0IGxp bWFfaXA7CisKK2ludCBsaW1hX3BtdV9pbml0KHN0cnVjdCBsaW1hX2lwICppcCk7Cit2b2lkIGxp bWFfcG11X2Zpbmkoc3RydWN0IGxpbWFfaXAgKmlwKTsKKworI2VuZGlmCi0tIAoyLjE3LjAKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=