From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Anshuman Gupta Date: Mon, 18 Mar 2019 17:57:53 +0530 Message-Id: <1552912077-32130-2-git-send-email-anshuman.gupta@intel.com> In-Reply-To: <1552912077-32130-1-git-send-email-anshuman.gupta@intel.com> References: <1552912077-32130-1-git-send-email-anshuman.gupta@intel.com> Subject: [igt-dev] [PATCH i-g-t 1/5] lib/igt_pm: igt lib helper routines to support DC5/6 tests List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: intel-gfx@lists.freedesktop.org, igt-dev@lists.freedesktop.org Cc: jyoti.r.yadav@intel.com List-ID: RnJvbTogSnlvdGkgWWFkYXYgPGp5b3RpLnIueWFkYXZAaW50ZWwuY29tPgoKZG1jX2xvYWRlZCgp IHdpbGwgYmUgdXNlZCBieSBuZXcgdGVzdCBpOTE1X3BtX2RjLmMgd2hpY2ggd2lsbCB2YWxpZGF0 ZQpEaXNwbGF5IEMgU3RhdGVzLiBTbyBtb3ZpbmcgdGhlIHNhbWUgdG8gaWd0X3BtIGxpYnJhcnku CkludHJvZHVjZWQgaWd0X2Rpc2FibGVfcnVudGltZV9wbSgpIGlub3JkZXIgdG8gZGlzYWJsZSBy dW50aW1lIHN1c3BlbmQKZm9yIHRoZSBmdW5jdGlvbiB3aGljaCBzdXBwb3J0IGRjOS4KCnYyOiBT aW1wbGlmeSB0aGUgY29tbWVudCBzZWN0aW9uLgp2MzogUmVtb3ZlIC4gZnJvbSB0aGUgc3ViamVj dCBsaW5lLgp2NDogUmViYXNlZCwgcmVzb2x2ZSBjb25mbGljdHMgaW4gcG1fcnBtLmMKICAgIElu Y2x1ZGVkIHBhdGNoIHNldCB2ZXJzaW9uIGNoYW5nZSBsb2cuCnY1OiBMaXN0aW5nIGFjdHVhbCBj aGFuZ2UgaW4gcGF0Y2ggc2V0IGNoYW5nZWxvZyB0byBtYWtlIHJldmlldyBlYXNpZXIuCnY2OiBp Z3QncyBsaWIgYWRkZWQgc3VwcG9ydCBmb3IgZGlzYWJsaW5nIHJ1bnRpbWUgc3VzcGVuZCwgY2hh bmdlIGluIGNvbW1pdCBsb2cuCiAgICByZWJhc2VkIGR1ZSB0byB0ZXN0IG5hbWUgcG1fcnBtIGNo YW5nZWQgdG8gaTkxNV9wbV9ycG0uCnY3OiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnQgYnkgc2F2 aW5nIFBPV0VSX0RJUiB2YWx1ZXMgaW4gaWd0X2Rpc2FibGVfcnVudGltZV9wbSgpLgoKU2lnbmVk LW9mZi1ieTogSnlvdGkgWWFkYXYgPGp5b3RpLnIueWFkYXZAaW50ZWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBBbnNodW1hbiBHdXB0YSA8YW5zaHVtYW4uZ3VwdGFAaW50ZWwuY29tPgotLS0KIGxpYi9p Z3RfcG0uYyAgICAgICAgICAgICB8IDgyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogbGliL2lndF9wbS5oICAgICAgICAgICAgIHwgIDIgKysKIHRlc3Rz L2k5MTUvaTkxNV9wbV9ycG0uYyB8IDE3ICstLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgODUg aW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9wbS5j IGIvbGliL2lndF9wbS5jCmluZGV4IDQ5MDI3MjMuLjBlOTk5YjAgMTAwNjQ0Ci0tLSBhL2xpYi9p Z3RfcG0uYworKysgYi9saWIvaWd0X3BtLmMKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJk cm10ZXN0LmgiCiAjaW5jbHVkZSAiaWd0X3BtLmgiCiAjaW5jbHVkZSAiaWd0X2F1eC5oIgorI2lu Y2x1ZGUgImlndF9zeXNmcy5oIgogCiAvKioKICAqIFNFQ1RJT046aWd0X3BtCkBAIC01NzcsNiAr NTc4LDYwIEBAIGJvb2wgaWd0X3NldHVwX3J1bnRpbWVfcG0odm9pZCkKIAlyZXR1cm4gdHJ1ZTsK IH0KIAorYm9vbCBpZ3RfZGlzYWJsZV9ydW50aW1lX3BtKHZvaWQpCit7CisJaW50IGZkOworCXNz aXplX3Qgc2l6ZTsKKwljaGFyIGJ1Zls2XTsKKworCWlmIChwbV9zdGF0dXNfZmQgPCAwKSB7CisJ CWZkID0gb3BlbihQT1dFUl9ESVIgIi9hdXRvc3VzcGVuZF9kZWxheV9tcyIsIE9fUkRXUik7CisJ CWlmIChmZCA8IDApCisJCQlyZXR1cm4gZmFsc2U7CisKKwkJc2l6ZSA9IHJlYWQoZmQsIF9faWd0 X3BtX3J1bnRpbWVfYXV0b3N1c3BlbmQsCisJCQkgICAgc2l6ZW9mKF9faWd0X3BtX3J1bnRpbWVf YXV0b3N1c3BlbmQpKTsKKworCQlpZiAoc2l6ZSA8PSAwKSB7CisJCQljbG9zZShmZCk7CisJCQly ZXR1cm4gZmFsc2U7CisJCX0KKworCQlzdHJjaG9tcChfX2lndF9wbV9ydW50aW1lX2F1dG9zdXNw ZW5kKTsKKwkJaWd0X2luc3RhbGxfZXhpdF9oYW5kbGVyKF9faWd0X3BtX3J1bnRpbWVfZXhpdF9o YW5kbGVyKTsKKwkJY2xvc2UoZmQpOworCX0KKworCS8qIFdlIGtub3cgd2Ugc3VwcG9ydCBydW50 aW1lIFBNLCBsZXQncyB0cnkgdG8gZGlzYWJsZSBpdCBub3cuICovCisJZmQgPSBvcGVuKFBPV0VS X0RJUiAiL2NvbnRyb2wiLCBPX1JEV1IpOworCWlndF9hc3NlcnRfZihmZCA+PSAwLCAiQ2FuJ3Qg b3BlbiAiIFBPV0VSX0RJUiAiL2NvbnRyb2xcbiIpOworCisJaWYgKHBtX3N0YXR1c19mZCA8IDAp IHsKKwkJaWd0X2Fzc2VydChyZWFkKGZkLCBfX2lndF9wbV9ydW50aW1lX2NvbnRyb2wsCisJCQkJ c2l6ZW9mKF9faWd0X3BtX3J1bnRpbWVfY29udHJvbCkpID4gMCk7CisJCXN0cmNob21wKF9faWd0 X3BtX3J1bnRpbWVfY29udHJvbCk7CisKKwkJaWd0X2RlYnVnKCJTYXZlZCBydW50aW1lIHBvd2Vy IG1hbmFnZW1lbnQgYXMgJyVzJyBhbmQgJyVzJ1xuIiwKKwkJCSAgX19pZ3RfcG1fcnVudGltZV9h dXRvc3VzcGVuZCwgX19pZ3RfcG1fcnVudGltZV9jb250cm9sKTsKKwl9CisKKwlzaXplID0gd3Jp dGUoZmQsICJvblxuIiwgMyk7CisJaWd0X2Fzc2VydChzaXplID09IDMpOworCWxzZWVrKGZkLCAw LCBTRUVLX1NFVCk7CisJc2l6ZSA9IHJlYWQoZmQsIGJ1ZiwgQVJSQVlfU0laRShidWYpKTsKKwlp Z3RfYXNzZXJ0KHNpemUgPT0gMyk7CisJaWd0X2Fzc2VydChzdHJuY21wKGJ1ZiwgIm9uXG4iLCAz KSA9PSAwKTsKKwljbG9zZShmZCk7CisKKwlpZiAocG1fc3RhdHVzX2ZkIDwgMCkgeworCQlwbV9z dGF0dXNfZmQgPSBvcGVuKFBPV0VSX0RJUiAiL3J1bnRpbWVfc3RhdHVzIiwgT19SRE9OTFkpOwor CQlpZ3RfYXNzZXJ0X2YocG1fc3RhdHVzX2ZkID49IDAsCisJCQkgICAgICJDYW4ndCBvcGVuICIg UE9XRVJfRElSICIvcnVudGltZV9zdGF0dXNcbiIpOworCX0KKworCXJldHVybiB0cnVlOworfQor CiAvKioKICAqIGlndF9nZXRfcnVudGltZV9wbV9zdGF0dXM6CiAgKgpAQCAtNjIwLDMgKzY3NSwz MCBAQCBib29sIGlndF93YWl0X2Zvcl9wbV9zdGF0dXMoZW51bSBpZ3RfcnVudGltZV9wbV9zdGF0 dXMgc3RhdHVzKQogewogCXJldHVybiBpZ3Rfd2FpdChpZ3RfZ2V0X3J1bnRpbWVfcG1fc3RhdHVz KCkgPT0gc3RhdHVzLCAxMDAwMCwgMTAwKTsKIH0KKworLyoqCisgKiBkbWNfbG9hZGVkOgorICog QGRlYnVnZnM6IGZkIHRvIHRoZSBkZWJ1Z2ZzIGRpci4KKworICogQ2hlY2sgd2hldGhlciBETUMg RlcgaXMgbG9hZGVkIG9yIG5vdC4gRE1DIEZXIGlzIHJlcXVpcmUgZm9yIGZldyBEaXNwbGF5IEMK KyAqIHN0YXRlcyBsaWtlIERDNSBhbmQgREM2LiBGVyBkb2VzIHRoZSBDb250ZXh0IFNhdmUgYW5k IFJlc3RvcmUgZHVyaW5nIERpc3BsYXkKKyAqIEMgU3RhdGVzIGVudHJ5IGFuZCBleGl0LgorICoK KyAqIFJldHVybnM6CisgKiBUcnVlIGlmIERNQyBGVyBpcyBsb2FkZWQgb3RoZXJ3aXNlIGZhbHNl LgorICovCitib29sIGlndF9wbV9kbWNfbG9hZGVkKGludCBkZWJ1Z2ZzKQoreworCWlndF9yZXF1 aXJlKGRlYnVnZnMgIT0gLTEpOworCWNoYXIgYnVmWzE1XTsKKwlpbnQgbGVuOworCisJbGVuID0g aWd0X3N5c2ZzX3JlYWQoZGVidWdmcywgImk5MTVfZG1jX2luZm8iLCBidWYsIHNpemVvZihidWYp IC0gMSk7CisJaWYgKGxlbiA8IDApCisJCXJldHVybiB0cnVlOyAvKiBubyBDU1Igc3VwcG9ydCwg bm8gRE1DIHJlcXVpcmVtZW50ICovCisKKwlidWZbbGVuXSA9ICdcMCc7CisKKwlpZ3RfaW5mbygi RE1DOiAlc1xuIiwgYnVmKTsKKwlyZXR1cm4gc3Ryc3RyKGJ1ZiwgImZ3IGxvYWRlZDogeWVzIik7 Cit9CmRpZmYgLS1naXQgYS9saWIvaWd0X3BtLmggYi9saWIvaWd0X3BtLmgKaW5kZXggMTBjYzY3 OS4uNmM0NjE3YSAxMDA2NDQKLS0tIGEvbGliL2lndF9wbS5oCisrKyBiL2xpYi9pZ3RfcG0uaApA QCAtNDcsOCArNDcsMTAgQEAgZW51bSBpZ3RfcnVudGltZV9wbV9zdGF0dXMgewogfTsKIAogYm9v bCBpZ3Rfc2V0dXBfcnVudGltZV9wbSh2b2lkKTsKK2Jvb2wgaWd0X2Rpc2FibGVfcnVudGltZV9w bSh2b2lkKTsKIHZvaWQgaWd0X3Jlc3RvcmVfcnVudGltZV9wbSh2b2lkKTsKIGVudW0gaWd0X3J1 bnRpbWVfcG1fc3RhdHVzIGlndF9nZXRfcnVudGltZV9wbV9zdGF0dXModm9pZCk7CiBib29sIGln dF93YWl0X2Zvcl9wbV9zdGF0dXMoZW51bSBpZ3RfcnVudGltZV9wbV9zdGF0dXMgc3RhdHVzKTsK K2Jvb2wgaWd0X3BtX2RtY19sb2FkZWQoaW50IGRlYnVnZnMpOwogCiAjZW5kaWYgLyogSUdUX1BN X0ggKi8KZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvaTkxNV9wbV9ycG0uYyBiL3Rlc3RzL2k5MTUv aTkxNV9wbV9ycG0uYwppbmRleCBiZTI5NmY1Li4yZDdjYjVlIDEwMDY0NAotLS0gYS90ZXN0cy9p OTE1L2k5MTVfcG1fcnBtLmMKKysrIGIvdGVzdHMvaTkxNS9pOTE1X3BtX3JwbS5jCkBAIC03MTAs MjEgKzcxMCw2IEBAIHN0YXRpYyB2b2lkIHNldHVwX3BjOCh2b2lkKQogCWhhc19wYzggPSB0cnVl OwogfQogCi1zdGF0aWMgYm9vbCBkbWNfbG9hZGVkKHZvaWQpCi17Ci0JY2hhciBidWZbMTVdOwot CWludCBsZW47Ci0KLQlsZW4gPSBpZ3Rfc3lzZnNfcmVhZChkZWJ1Z2ZzLCAiaTkxNV9kbWNfaW5m byIsIGJ1Ziwgc2l6ZW9mKGJ1ZikgLSAxKTsKLQlpZiAobGVuIDwgMCkKLQkgICAgcmV0dXJuIHRy dWU7IC8qIG5vIENTUiBzdXBwb3J0LCBubyBETUMgcmVxdWlyZW1lbnQgKi8KLQotCWJ1ZltsZW5d ID0gJ1wwJzsKLQotCWlndF9pbmZvKCJETUM6ICVzXG4iLCBidWYpOwotCXJldHVybiBzdHJzdHIo YnVmLCAiZncgbG9hZGVkOiB5ZXMiKTsKLX0KLQogc3RhdGljIHZvaWQgZHVtcF9maWxlKGludCBk aXIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQogewogCWNoYXIgKmNvbnRlbnRzOwpAQCAtNzYxLDcg Kzc0Niw3IEBAIHN0YXRpYyBib29sIHNldHVwX2Vudmlyb25tZW50KHZvaWQpCiAJaWd0X2luZm8o IlJ1bnRpbWUgUE0gc3VwcG9ydDogJWRcbiIsIGhhc19ydW50aW1lX3BtKTsKIAlpZ3RfaW5mbygi UEM4IHJlc2lkZW5jeSBzdXBwb3J0OiAlZFxuIiwgaGFzX3BjOCk7CiAJaWd0X3JlcXVpcmUoaGFz X3J1bnRpbWVfcG0pOwotCWlndF9yZXF1aXJlKGRtY19sb2FkZWQoKSk7CisJaWd0X3JlcXVpcmUo aWd0X3BtX2RtY19sb2FkZWQoZGVidWdmcykpOwogCiBvdXQ6CiAJZGlzYWJsZV9hbGxfc2NyZWVu cygmbXNfZGF0YSk7Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p Z3QtZGV2