From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Bride Subject: [PATCH I-G-T 1/4] lib: Add PSR utility functions to igt library. Date: Mon, 13 Feb 2017 15:43:25 -0800 Message-ID: <1487029408-28483-1-git-send-email-jim.bride@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0D8466E58C for ; Mon, 13 Feb 2017 23:45:10 +0000 (UTC) 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: Paulo Zanoni , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org RmFjdG9yIG91dCBzb21lIGNvZGUgdGhhdCB3YXMgcmVwbGljYXRlZCBpbiB0aHJlZSB0ZXN0IHV0 aWxpdGllcyBpbnRvCnNvbWUgbmV3IElHVCBsaWJyYXJ5IGZ1bmN0aW9ucyBzbyB0aGF0IHdlIGFy ZSBjaGVja2luZyBQU1Igc3RhdHVzIGluCmEgY29uc2lzdGVudCBmYXNoaW9uIGFjcm9zcyBhbGwg b2Ygb3VyIFBTUiB0ZXN0cy4KCkNjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5j b20+CkNjOiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25pQGludGVsLmNvbT4KU2lnbmVkLW9m Zi1ieTogSmltIEJyaWRlIDxqaW0uYnJpZGVAbGludXguaW50ZWwuY29tPgotLS0KIGxpYi9NYWtl ZmlsZS5zb3VyY2VzIHwgICAyICsKIGxpYi9pZ3QuaCAgICAgICAgICAgIHwgICAxICsKIGxpYi9p Z3RfcHNyLmMgICAgICAgIHwgMTQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogbGliL2lndF9wc3IuaCAgICAgICAgfCAgMzggKysrKysrKysrKysr KwogNCBmaWxlcyBjaGFuZ2VkLCAxODggaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0 IGxpYi9pZ3RfcHNyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvaWd0X3Bzci5oCgpkaWZmIC0t Z2l0IGEvbGliL01ha2VmaWxlLnNvdXJjZXMgYi9saWIvTWFrZWZpbGUuc291cmNlcwppbmRleCA2 MzQ4NDg3Li4wYTg4MzViIDEwMDY0NAotLS0gYS9saWIvTWFrZWZpbGUuc291cmNlcworKysgYi9s aWIvTWFrZWZpbGUuc291cmNlcwpAQCAtODMsNiArODMsOCBAQCBsaWJfc291cmNlX2xpc3QgPQkg CVwKIAl1d2lsZG1hdC91d2lsZG1hdC5jCVwKIAlpZ3Rfa21vZC5jCQlcCiAJaWd0X2ttb2QuaAkJ XAorCWlndF9wc3IuYwkJXAorCWlndF9wc3IuaAkJXAogCSQoTlVMTCkKIAogaWYgSEFWRV9DSEFN RUxJVU0KZGlmZiAtLWdpdCBhL2xpYi9pZ3QuaCBiL2xpYi9pZ3QuaAppbmRleCBhOTc5MjNlLi43 ZjUyZDZjIDEwMDY0NAotLS0gYS9saWIvaWd0LmgKKysrIGIvbGliL2lndC5oCkBAIC0zNyw2ICsz Nyw3IEBACiAjaW5jbHVkZSAiaWd0X2d0LmgiCiAjaW5jbHVkZSAiaWd0X2ttcy5oIgogI2luY2x1 ZGUgImlndF9wbS5oIgorI2luY2x1ZGUgImlndF9wc3IuaCIKICNpbmNsdWRlICJpZ3Rfc3RhdHMu aCIKICNpbmNsdWRlICJpZ3RfY2hhbWVsaXVtLmgiCiAjaW5jbHVkZSAiaW5zdGRvbmUuaCIKZGlm ZiAtLWdpdCBhL2xpYi9pZ3RfcHNyLmMgYi9saWIvaWd0X3Bzci5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjgzM2E5ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvaWd0X3Bz ci5jCkBAIC0wLDAgKzEsMTQ3IEBACisvKgorICogQ29weXJpZ2h0IMKpIDIwMTcgSW50ZWwgQ29y cG9yYXRpb24KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlzIHNvZnR3YXJl IGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAq IHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3 aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l cmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNlbGwgY29w aWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisg KiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2lu ZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz IHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKKyAqIHBhcmFncmFwaCkgc2hh bGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0 aGUKKyAqIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJ TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ TElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H RU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP TERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJ TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNF LCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZU V0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisg Ki8KKworI2luY2x1ZGUgImlndC5oIgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3Rk Ym9vbC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisv KioKKyAqIFNFQ1RJT046aWd0X3BzcgorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBQYW5lbCBTZWxm IFJlZnJlc2ggaGVscGVycworICogQHRpdGxlOiBQYW5lbCBTZWxmIFJlZnJlc2gKKyAqIEBpbmNs dWRlOiBpZ3QuaAorICoKKyAqIFRoaXMgbGlicmFyeSBwcm92aWRlcyB2YXJpb3VzIGhlbHBlcnMg dG8gZW5hYmxlIFBhbmVsIFNlbGYgUmVmcmVzaCwKKyAqIGFzIHdlbGwgYXMgdG8gY2hlY2sgdGhl IHN0YXRlIG9mIFBTUiBvbiB0aGUgc3lzdGVtIChlbmFibGVkIHZzLgorICogZGlzYWJsZWQsIGFj dGl2ZSB2cy4gaW5hY3RpdmUpIG9yIHRvIHdhaXQgZm9yIFBTUiB0byBiZSBhY3RpdmUKKyAqIG9y IGluYWN0aXZlLgorICovCisKKy8qKgorICogaWd0X3Bzcl9wb3NzaWJsZToKKyAqCisgKiBSZXR1 cm5zIHRydWUgaWYgYm90aCB0aGUgc291cmNlIGFuZCBzaW5rIHN1cHBvcnQgUFNSLgorICovCiti b29sIGlndF9wc3JfcG9zc2libGUodm9pZCkKK3sKKwljaGFyIGJ1Zls1MTJdOworCisJaWd0X2Rl YnVnZnNfcmVhZCgiaTkxNV9lZHBfcHNyX3N0YXR1cyIsIGJ1Zik7CisKKwlyZXR1cm4gc3Ryc3Ry KGJ1ZiwgIlNvdXJjZV9PSzogeWVzXG4iKSAmJgorCQlzdHJzdHIoYnVmLCAiU2lua19TdXBwb3J0 OiB5ZXNcbiIpOworfQorCisvKioKKyAqIGlndF9wc3JfYWN0aXZlOgorICoKKyAqIFJldHVybnMg dHJ1ZSBpZiBQU1IgaXMgYWN0aXZlIG9uIHRoZSBwYW5lbC4KKyAqLworYm9vbCBpZ3RfcHNyX2Fj dGl2ZSh2b2lkKQoreworCWNoYXIgYnVmWzUxMl07CisJYm9vbCBhY3RyZXQgPSBmYWxzZTsKKwli b29sIGh3YWN0cmV0ID0gZmFsc2U7CisKKwlpZ3RfZGVidWdmc19yZWFkKCJpOTE1X2VkcF9wc3Jf c3RhdHVzIiwgYnVmKTsKKwlod2FjdHJldCA9IChzdHJzdHIoYnVmLCAiSFcgRW5hYmxlZCAmIEFj dGl2ZSBiaXQ6IHllc1xuIikgIT0gTlVMTCk7CisJYWN0cmV0ID0gKHN0cnN0cihidWYsICJBY3Rp dmU6IHllc1xuIikgIT0gTlVMTCk7CisJaWd0X2RlYnVnKCJod2FjdHJldDogJXMgYWN0cmV0OiAl c1xuIiwgaHdhY3RyZXQgPyAidHJ1ZSIgOiAiZmFsc2UiLAorCQkgYWN0cmV0ID8gInRydWUiIDog ImZhbHNlIik7CisJcmV0dXJuIGh3YWN0cmV0ICYmIGFjdHJldDsKK30KKworLyoqCisgKiBpZ3Rf cHNyX2F3YWl0X3N0YXR1czoKKyAqIEBhY3RpdmU6IEEgYm9vbGVhbiB0aGF0IGNhdXNlcyB0aGUg ZnVuY3Rpb24gdG8gd2FpdCBmb3IgUFNSIHRvIGFjdGl2YXRlCisgKiAgICAgICAgICBpZiBzZXQg dG8gdHJ1ZSwgb3IgdG8gd2FpdCBmb3IgUFNSIHRvIGRlYWN0aXZhdGUgaWYgZmFsc2UuCisgKgor ICogUmV0dXJucyB0cnVlIGlmIHRoZSByZXF1ZXN0ZWQgY29uZGl0aW9uIGlzIG1ldC4KKyAqLwor Ym9vbCBpZ3RfcHNyX2F3YWl0X3N0YXR1cyhib29sIGFjdGl2ZSkKK3sKKwljb25zdCBpbnQgdGlt ZW91dCA9IDU7CisJaW50IGNvdW50ID0gMDsKKwl3aGlsZSAoY291bnQgPCB0aW1lb3V0KSB7CisJ CWlmIChpZ3RfcHNyX2FjdGl2ZSgpID09IGFjdGl2ZSkgeworCQkJaWd0X2RlYnVnKCJQU1IgJXMg YWZ0ZXIgJWQgc2Vjb25kcy5cbiIsCisJCQkJICBhY3RpdmUgPyAiQWN0aXZlIiA6ICJJbmFjdGl2 ZSIsIGNvdW50KTsKKwkJCXJldHVybiB0cnVlOworCQl9CisJCWNvdW50Kys7CisJCXNsZWVwKDEp OworCX0KKwlyZXR1cm4gZmFsc2U7Cit9CisKKy8qKgorICogaWd0X3Bzcl9lbmFibGVkOgorICoK KyAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgUFNSIGZlYXR1cmUgaXMgZW5hYmxlZC4KKyAqLworYm9v bCBpZ3RfcHNyX2VuYWJsZWQodm9pZCkKK3sKKwljaGFyIGJ1ZlsyNTZdOworCisJaWd0X2RlYnVn ZnNfcmVhZCgiaTkxNV9lZHBfcHNyX3N0YXR1cyIsIGJ1Zik7CisJcmV0dXJuIHN0cnN0cihidWYs ICJFbmFibGVkOiB5ZXNcbiIpOworfQorCisvKioKKyAqIGlndF9wc3JfcHJpbnRfc3RhdHVzOgor ICoKKyAqIER1bXBzIHRoZSBjb250ZW50cyBvZiBpOTE1X2VkcF9wc3Jfc3RhdHVzIGZyb20gZGVi dWdmcy4KKyAqLwordm9pZCBpZ3RfcHNyX3ByaW50X3N0YXR1cyh2b2lkKQoreworICAgICAgICBj aGFyIGJ1ZlsyNTZdOworCisgICAgICAgIGlndF9kZWJ1Z2ZzX3JlYWQoImk5MTVfZWRwX3Bzcl9z dGF0dXMiLCBidWYpOworICAgICAgICBpZ3RfaW5mbygiUFNSIHN0YXR1czpcbiVzXG4iLCBidWYp OworfQorCisvKioKKyAqIGlndF9wc3JfdmFsaWRfY29ubmVjdG9yOgorICogQGNvbm5lY3Rvcjog YSBkcm1Nb2RlQ29ubmVjdG9yIHBvaW50ZXIgdG8gY2hlY2sKKyAqCisgKiBSZXR1cm5zIHRydWUg aWYgY29ubmVjdG9yIGlzIGFuIGVEUCBjb25uZWN0b3IuCisgKi8KK2Jvb2wgaWd0X3Bzcl92YWxp ZF9jb25uZWN0b3IoZHJtTW9kZUNvbm5lY3RvclB0ciBjb25uZWN0b3IpCit7CisJcmV0dXJuIChj b25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlID09IERSTV9NT0RFX0NPTk5FQ1RPUl9lRFApOworfQor CisvKioKKyAqIGlndF9wc3Jfc2lua19zdXBwb3J0OgorICoKKyAqIFJldHVybnMgdHJ1ZSBpZiB0 aGUgY3VycmVudCBlRFAgcGFuZWwgc3VwcG9ydHMgUFNSLgorICovCitib29sIGlndF9wc3Jfc2lu a19zdXBwb3J0KHZvaWQpCit7CisJY2hhciBidWZbMjU2XTsKKworCWlndF9kZWJ1Z2ZzX3JlYWQo Imk5MTVfZWRwX3Bzcl9zdGF0dXMiLCBidWYpOworCXJldHVybiBzdHJzdHIoYnVmLCAiU2lua19T dXBwb3J0OiB5ZXNcbiIpOworfQpkaWZmIC0tZ2l0IGEvbGliL2lndF9wc3IuaCBiL2xpYi9pZ3Rf cHNyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTYyNWU5MQotLS0gL2Rl di9udWxsCisrKyBiL2xpYi9pZ3RfcHNyLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHly aWdodCDCqSAyMDE3IEludGVsIENvcnBvcmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJl YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAq IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz ICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJl c3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRv IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5z ZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQg cGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBz dWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29w eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBu ZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vi c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdB UkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQ UkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBB VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1B R0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS QUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENP Tk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUwor ICogSU4gVEhFIFNPRlRXQVJFLgorICovCisKKyNpZm5kZWYgSUdUX1BTUl9ICisjZGVmaW5lIElH VF9QU1JfSAorCisjZGVmaW5lIGlndF9wc3JfZW5hYmxlKCkgaWd0X3NldF9tb2R1bGVfcGFyYW1f aW50KCJlbmFibGVfcHNyIiwgMSkKKyNkZWZpbmUgaWd0X3Bzcl9kaXNhYmxlKCkgaWd0X3NldF9t b2R1bGVfcGFyYW1faW50KCJlbmFibGVfcHNyIiwgMCkKKworYm9vbCBpZ3RfcHNyX3Bvc3NpYmxl KHZvaWQpOworYm9vbCBpZ3RfcHNyX2FjdGl2ZSh2b2lkKTsKK2Jvb2wgaWd0X3Bzcl9hd2FpdF9z dGF0dXMoYm9vbCBhY3RpdmUpOworYm9vbCBpZ3RfcHNyX2VuYWJsZWQodm9pZCk7Cit2b2lkIGln dF9wc3JfcHJpbnRfc3RhdHVzKHZvaWQpOworYm9vbCBpZ3RfcHNyX3ZhbGlkX2Nvbm5lY3Rvcihk cm1Nb2RlQ29ubmVjdG9yUHRyIGNvbm5lY3Rvcik7Citib29sIGlndF9wc3Jfc2lua19zdXBwb3J0 KHZvaWQpOworCisjZW5kaWYgLyogSUdUX1BTUl9IICovCi0tIAoyLjcuNAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==