From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4C97389805 for ; Thu, 11 Apr 2019 08:56:15 +0000 (UTC) From: Anshuman Gupta Date: Thu, 11 Apr 2019 14:21:42 +0530 Message-Id: <1554972706-26738-2-git-send-email-anshuman.gupta@intel.com> In-Reply-To: <1554972706-26738-1-git-send-email-anshuman.gupta@intel.com> References: <1554972706-26738-1-git-send-email-anshuman.gupta@intel.com> Subject: [igt-dev] [PATCH i-g-t v9 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: igt-dev@lists.freedesktop.org Cc: jyoti.r.yadav@intel.com List-ID: RnJvbTogSnlvdGkgWWFkYXYgPGp5b3RpLnIueWFkYXZAaW50ZWwuY29tPgoKZG1jX2xvYWRlZCgp IHdpbGwgYmUgdXNlZCBieSBuZXcgdGVzdCBpOTE1X3BtX2RjLmMgd2hpY2ggd2lsbCB2YWxpZGF0 ZQpEaXNwbGF5IEMgU3RhdGVzLiBTbyBtb3ZpbmcgdGhlIHNhbWUgdG8gaWd0X3BtIGxpYnJhcnku CkludHJvZHVjZWQgaWd0X2Rpc2FibGVfcnVudGltZV9wbSgpIGluIG9yZGVyIHRvIGRpc2FibGUg cnVudGltZSBzdXNwZW5kCmZvciB0aGUgZnVuY3Rpb24gd2hpY2ggc3VwcG9ydCBkYzkuCgp2Mjog U2ltcGxpZnkgdGhlIGNvbW1lbnQgc2VjdGlvbi4KdjM6IFJlbW92ZSAuIGZyb20gdGhlIHN1Ympl Y3QgbGluZS4KdjQ6IFJlYmFzZWQsIHJlc29sdmUgY29uZmxpY3RzIGluIHBtX3JwbS5jCiAgICBJ bmNsdWRlZCBwYXRjaCBzZXQgdmVyc2lvbiBjaGFuZ2UgbG9nLgp2NTogTGlzdGluZyBhY3R1YWwg Y2hhbmdlIGluIHBhdGNoIHNldCBjaGFuZ2Vsb2cgdG8gbWFrZSByZXZpZXcgZWFzaWVyLgp2Njog aWd0J3MgbGliIGFkZGVkIHN1cHBvcnQgZm9yIGRpc2FibGluZyBydW50aW1lIHN1c3BlbmQsCiAg ICBjaGFuZ2UgaW4gY29tbWl0IGxvZy4gcmViYXNlZCBkdWUgdG8gdGVzdCBuYW1lIHBtX3JwbSBj aGFuZ2VkCiAgICB0byBpOTE1X3BtX3JwbS4Kdjc6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudCBi eSBzYXZpbmcgUE9XRVJfRElSIHZhbHVlcyBpbgogICAgaWd0X2Rpc2FibGVfcnVudGltZV9wbSgp LiBbSW1yZV0KClNpZ25lZC1vZmYtYnk6IEp5b3RpIFlhZGF2IDxqeW90aS5yLnlhZGF2QGludGVs LmNvbT4KU2lnbmVkLW9mZi1ieTogQW5zaHVtYW4gR3VwdGEgPGFuc2h1bWFuLmd1cHRhQGludGVs LmNvbT4KLS0tCiBsaWIvaWd0X3BtLmMgICAgICAgICAgICAgfCA4MyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi9pZ3RfcG0uaCAgICAgICAgICAg ICB8ICAyICsrCiB0ZXN0cy9pOTE1L2k5MTVfcG1fcnBtLmMgfCAxNyArLS0tLS0tLS0tCiAzIGZp bGVzIGNoYW5nZWQsIDg2IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2xpYi9pZ3RfcG0uYyBiL2xpYi9pZ3RfcG0uYwppbmRleCBmZDIyMjczLi42NTM5NDI4IDEw MDY0NAotLS0gYS9saWIvaWd0X3BtLmMKKysrIGIvbGliL2lndF9wbS5jCkBAIC0zOCw2ICszOCw3 IEBACiAjaW5jbHVkZSAiZHJtdGVzdC5oIgogI2luY2x1ZGUgImlndF9wbS5oIgogI2luY2x1ZGUg ImlndF9hdXguaCIKKyNpbmNsdWRlICJpZ3Rfc3lzZnMuaCIKIAogLyoqCiAgKiBTRUNUSU9OOmln dF9wbQpAQCAtNTg1LDYgKzU4Niw2MSBAQCBib29sIGlndF9zZXR1cF9ydW50aW1lX3BtKHZvaWQp CiAJcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgaWd0X2Rpc2FibGVfcnVudGltZV9wbSh2b2lkKQor eworCWludCBmZDsKKwlzc2l6ZV90IHNpemU7CisJY2hhciBidWZbNl07CisKKwlpZiAocG1fc3Rh dHVzX2ZkIDwgMCkgeworCQlmZCA9IG9wZW4oUE9XRVJfRElSICIvYXV0b3N1c3BlbmRfZGVsYXlf bXMiLCBPX1JEV1IpOworCQlpZiAoZmQgPCAwKQorCQkJcmV0dXJuIGZhbHNlOworCisJCXNpemUg PSByZWFkKGZkLCBfX2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kLAorCQkJICAgIHNpemVvZihf X2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kKSk7CisKKwkJaWYgKHNpemUgPD0gMCkgeworCQkJ Y2xvc2UoZmQpOworCQkJcmV0dXJuIGZhbHNlOworCQl9CisKKwkJc3RyY2hvbXAoX19pZ3RfcG1f cnVudGltZV9hdXRvc3VzcGVuZCk7CisJCWlndF9pbnN0YWxsX2V4aXRfaGFuZGxlcihfX2lndF9w bV9ydW50aW1lX2V4aXRfaGFuZGxlcik7CisJCWNsb3NlKGZkKTsKKwl9CisKKwkvKiBXZSBrbm93 IHdlIHN1cHBvcnQgcnVudGltZSBQTSwgbGV0J3MgdHJ5IHRvIGRpc2FibGUgaXQgbm93LiAqLwor CWZkID0gb3BlbihQT1dFUl9ESVIgIi9jb250cm9sIiwgT19SRFdSKTsKKwlpZ3RfYXNzZXJ0X2Yo ZmQgPj0gMCwgIkNhbid0IG9wZW4gIiBQT1dFUl9ESVIgIi9jb250cm9sXG4iKTsKKworCWlmIChw bV9zdGF0dXNfZmQgPCAwKSB7CisJCWlndF9hc3NlcnQocmVhZChmZCwgX19pZ3RfcG1fcnVudGlt ZV9jb250cm9sLAorCQkJCXNpemVvZihfX2lndF9wbV9ydW50aW1lX2NvbnRyb2wpKSA+IDApOwor CQlzdHJjaG9tcChfX2lndF9wbV9ydW50aW1lX2NvbnRyb2wpOworCisJCWlndF9kZWJ1ZygiU2F2 ZWQgcnVudGltZSBwb3dlciBtYW5hZ2VtZW50IGFzICclcycgYW5kICclcydcbiIsCisJCQkgIF9f aWd0X3BtX3J1bnRpbWVfYXV0b3N1c3BlbmQsCisJCQkgIF9faWd0X3BtX3J1bnRpbWVfY29udHJv bCk7CisJfQorCisJc2l6ZSA9IHdyaXRlKGZkLCAib25cbiIsIDMpOworCWlndF9hc3NlcnQoc2l6 ZSA9PSAzKTsKKwlsc2VlayhmZCwgMCwgU0VFS19TRVQpOworCXNpemUgPSByZWFkKGZkLCBidWYs IEFSUkFZX1NJWkUoYnVmKSk7CisJaWd0X2Fzc2VydChzaXplID09IDMpOworCWlndF9hc3NlcnQo c3RybmNtcChidWYsICJvblxuIiwgMykgPT0gMCk7CisJY2xvc2UoZmQpOworCisJaWYgKHBtX3N0 YXR1c19mZCA8IDApIHsKKwkJcG1fc3RhdHVzX2ZkID0gb3BlbihQT1dFUl9ESVIgIi9ydW50aW1l X3N0YXR1cyIsIE9fUkRPTkxZKTsKKwkJaWd0X2Fzc2VydF9mKHBtX3N0YXR1c19mZCA+PSAwLAor CQkJICAgICAiQ2FuJ3Qgb3BlbiAiIFBPV0VSX0RJUiAiL3J1bnRpbWVfc3RhdHVzXG4iKTsKKwl9 CisKKwlyZXR1cm4gdHJ1ZTsKK30KKwogLyoqCiAgKiBpZ3RfZ2V0X3J1bnRpbWVfcG1fc3RhdHVz OgogICoKQEAgLTYyOCwzICs2ODQsMzAgQEAgYm9vbCBpZ3Rfd2FpdF9mb3JfcG1fc3RhdHVzKGVu dW0gaWd0X3J1bnRpbWVfcG1fc3RhdHVzIHN0YXR1cykKIHsKIAlyZXR1cm4gaWd0X3dhaXQoaWd0 X2dldF9ydW50aW1lX3BtX3N0YXR1cygpID09IHN0YXR1cywgMTAwMDAsIDEwMCk7CiB9CisKKy8q KgorICogZG1jX2xvYWRlZDoKKyAqIEBkZWJ1Z2ZzOiBmZCB0byB0aGUgZGVidWdmcyBkaXIuCisK KyAqIENoZWNrIHdoZXRoZXIgRE1DIEZXIGlzIGxvYWRlZCBvciBub3QuIERNQyBGVyBpcyByZXF1 aXJlIGZvciBmZXcgRGlzcGxheSBDCisgKiBzdGF0ZXMgbGlrZSBEQzUgYW5kIERDNi4gRlcgZG9l cyB0aGUgQ29udGV4dCBTYXZlIGFuZCBSZXN0b3JlIGR1cmluZyBEaXNwbGF5CisgKiBDIFN0YXRl cyBlbnRyeSBhbmQgZXhpdC4KKyAqCisgKiBSZXR1cm5zOgorICogVHJ1ZSBpZiBETUMgRlcgaXMg bG9hZGVkIG90aGVyd2lzZSBmYWxzZS4KKyAqLworYm9vbCBpZ3RfcG1fZG1jX2xvYWRlZChpbnQg ZGVidWdmcykKK3sKKwlpZ3RfcmVxdWlyZShkZWJ1Z2ZzICE9IC0xKTsKKwljaGFyIGJ1ZlsxNV07 CisJaW50IGxlbjsKKworCWxlbiA9IGlndF9zeXNmc19yZWFkKGRlYnVnZnMsICJpOTE1X2RtY19p bmZvIiwgYnVmLCBzaXplb2YoYnVmKSAtIDEpOworCWlmIChsZW4gPCAwKQorCQlyZXR1cm4gdHJ1 ZTsgLyogbm8gQ1NSIHN1cHBvcnQsIG5vIERNQyByZXF1aXJlbWVudCAqLworCisJYnVmW2xlbl0g PSAnXDAnOworCisJaWd0X2luZm8oIkRNQzogJXNcbiIsIGJ1Zik7CisJcmV0dXJuIHN0cnN0cihi dWYsICJmdyBsb2FkZWQ6IHllcyIpOworfQpkaWZmIC0tZ2l0IGEvbGliL2lndF9wbS5oIGIvbGli L2lndF9wbS5oCmluZGV4IDEwY2M2NzkuLjZjNDYxN2EgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfcG0u aAorKysgYi9saWIvaWd0X3BtLmgKQEAgLTQ3LDggKzQ3LDEwIEBAIGVudW0gaWd0X3J1bnRpbWVf cG1fc3RhdHVzIHsKIH07CiAKIGJvb2wgaWd0X3NldHVwX3J1bnRpbWVfcG0odm9pZCk7Citib29s IGlndF9kaXNhYmxlX3J1bnRpbWVfcG0odm9pZCk7CiB2b2lkIGlndF9yZXN0b3JlX3J1bnRpbWVf cG0odm9pZCk7CiBlbnVtIGlndF9ydW50aW1lX3BtX3N0YXR1cyBpZ3RfZ2V0X3J1bnRpbWVfcG1f c3RhdHVzKHZvaWQpOwogYm9vbCBpZ3Rfd2FpdF9mb3JfcG1fc3RhdHVzKGVudW0gaWd0X3J1bnRp bWVfcG1fc3RhdHVzIHN0YXR1cyk7Citib29sIGlndF9wbV9kbWNfbG9hZGVkKGludCBkZWJ1Z2Zz KTsKIAogI2VuZGlmIC8qIElHVF9QTV9IICovCmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2k5MTVf cG1fcnBtLmMgYi90ZXN0cy9pOTE1L2k5MTVfcG1fcnBtLmMKaW5kZXggYTJjOWQwZS4uMGMzYjRl NSAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9pOTE1X3BtX3JwbS5jCisrKyBiL3Rlc3RzL2k5MTUv aTkxNV9wbV9ycG0uYwpAQCAtNzEwLDIxICs3MTAsNiBAQCBzdGF0aWMgdm9pZCBzZXR1cF9wYzgo dm9pZCkKIAloYXNfcGM4ID0gdHJ1ZTsKIH0KIAotc3RhdGljIGJvb2wgZG1jX2xvYWRlZCh2b2lk KQotewotCWNoYXIgYnVmWzE1XTsKLQlpbnQgbGVuOwotCi0JbGVuID0gaWd0X3N5c2ZzX3JlYWQo ZGVidWdmcywgImk5MTVfZG1jX2luZm8iLCBidWYsIHNpemVvZihidWYpIC0gMSk7Ci0JaWYgKGxl biA8IDApCi0JICAgIHJldHVybiB0cnVlOyAvKiBubyBDU1Igc3VwcG9ydCwgbm8gRE1DIHJlcXVp cmVtZW50ICovCi0KLQlidWZbbGVuXSA9ICdcMCc7Ci0KLQlpZ3RfaW5mbygiRE1DOiAlc1xuIiwg YnVmKTsKLQlyZXR1cm4gc3Ryc3RyKGJ1ZiwgImZ3IGxvYWRlZDogeWVzIik7Ci19Ci0KIHN0YXRp YyB2b2lkIGR1bXBfZmlsZShpbnQgZGlyLCBjb25zdCBjaGFyICpmaWxlbmFtZSkKIHsKIAljaGFy ICpjb250ZW50czsKQEAgLTc1OSw3ICs3NDQsNyBAQCBzdGF0aWMgYm9vbCBzZXR1cF9lbnZpcm9u bWVudCh2b2lkKQogCWlndF9pbmZvKCJSdW50aW1lIFBNIHN1cHBvcnQ6ICVkXG4iLCBoYXNfcnVu dGltZV9wbSk7CiAJaWd0X2luZm8oIlBDOCByZXNpZGVuY3kgc3VwcG9ydDogJWRcbiIsIGhhc19w YzgpOwogCWlndF9yZXF1aXJlKGhhc19ydW50aW1lX3BtKTsKLQlpZ3RfcmVxdWlyZShkbWNfbG9h ZGVkKCkpOworCWlndF9yZXF1aXJlKGlndF9wbV9kbWNfbG9hZGVkKGRlYnVnZnMpKTsKIAogb3V0 OgogCWRpc2FibGVfYWxsX3NjcmVlbnMoJm1zX2RhdGEpOwotLSAKMi43LjQKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0 CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==