From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Tvrtko Ursulin Date: Wed, 28 Feb 2018 15:35:06 +0000 Message-Id: <20180228153506.13035-1-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20180228110829.12126-1-tvrtko.ursulin@linux.intel.com> References: <20180228110829.12126-1-tvrtko.ursulin@linux.intel.com> Subject: [Intel-gfx] [PATCH i-g-t v2] lib/igt_pm: Restore runtime pm state on test exit 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: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClNvbWUgdGVz dHMgKHRoZSBvbmVzIHdoaWNoIGNhbGwgaWd0X3NldHVwX3J1bnRpbWVfcG0gYW5kCmlndF9wbV9l bmFibGVfYXVkaW9fcnVudGltZV9wbSkgY2hhbmdlIGRlZmF1bHQgc3lzdGVtIGNvbmZpZ3VyYXRp b24gYW5kCm5ldmVyIHJlc3RvcmUgaXQuCgpUaGUgY29uZmlndXJlZCBydW50aW1lIHN1c3BlbmQg aXMgYWdncmVzc2l2ZSBhbmQgbWF5IGluZmx1ZW5jZSBiZWhhdmlvdXIKb2Ygc3Vic2VxdWVudCB0 ZXN0cywgc28gaXQgaXMgYmV0dGVyIHRvIHJlc3RvcmUgdG8gcHJldmlvdXMgdmFsdWVzIG9uIHRl c3QKZXhpdC4KClRoaXMgd2F5IHN5c3RlbSBiZWhhdmlvdXIsIHdpdGggcmVnYXJkcyB0byBhIHJh bmRvbSBzZXF1ZW5jZSBvZiBleGVjdXRlZAp0ZXN0cywgd2lsbCBiZSBtb3JlIGNvbnNpc3RlbnQg ZnJvbSBvbmUgcnVuIHRvIGFub3RoZXIuCgp2MjogUmVhZCBmYWlsdXJlIG1lYW5zIG5vIHJ1bnRp bWUgcG0gc3VwcG9ydCBzbyBkb24ndCBhc3NlcnQgb24gaXQuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0 a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogSW1yZSBEZWFrIDxpbXJl LmRlYWtAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13 aWxzb24uY28udWs+ICMgdjEKLS0tCiBsaWIvaWd0X3BtLmMgfCAxMjIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFu Z2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIv aWd0X3BtLmMgYi9saWIvaWd0X3BtLmMKaW5kZXggNWJmNWIyZTIzY2RjLi4wNGUyYjg5Y2NhOTUg MTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfcG0uYworKysgYi9saWIvaWd0X3BtLmMKQEAgLTYzLDYgKzYz LDQ2IEBAIGVudW0gewogLyogUmVtZW1iZXIgdG8gZml4IHRoaXMgaWYgYWRkaW5nIGxvbmdlciBz dHJpbmdzICovCiAjZGVmaW5lIE1BWF9QT0xJQ1lfU1RSTEVOCXN0cmxlbihNQVhfUEVSRk9STUFO Q0VfU1RSKQogCitzdGF0aWMgY2hhciBfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmVb NjRdOworc3RhdGljIGNoYXIgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sWzY0XTsKKwor c3RhdGljIHZvaWQgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9leGl0X2hhbmRsZXIoaW50IHNpZykK K3sKKwlpbnQgZmQ7CisKKwlpZ3RfZGVidWcoIlJlc3RvcmluZyBhdWRpbyBwb3dlciBtYW5hZ2Vt ZW50IHRvICclcycgYW5kICclcydcbiIsCisJCSAgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9wb3dl cl9zYXZlLAorCQkgIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCk7CisKKwlmZCA9IG9w ZW4oIi9zeXMvbW9kdWxlL3NuZF9oZGFfaW50ZWwvcGFyYW1ldGVycy9wb3dlcl9zYXZlIiwgT19X Uk9OTFkpOworCWlmIChmZCA8IDApCisJCXJldHVybjsKKwlpZiAod3JpdGUoZmQsIF9faWd0X3Bt X2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSwKKwkJICBzdHJsZW4oX19pZ3RfcG1fYXVkaW9fcnVu dGltZV9wb3dlcl9zYXZlKSkgIT0KKwkgICAgc3RybGVuKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVf cG93ZXJfc2F2ZSkpCisJCWlndF93YXJuKCJGYWlsZWQgdG8gcmVzdG9yZSBhdWRpbyBwb3dlcl9z YXZlIHRvICclcydcbiIsCisJCQkgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9wb3dlcl9zYXZlKTsK KwljbG9zZShmZCk7CisKKwlmZCA9IG9wZW4oIi9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDA6MDA6 MDMuMC9wb3dlci9jb250cm9sIiwgT19XUk9OTFkpOworCWlmIChmZCA8IDApCisJCXJldHVybjsK KwlpZiAod3JpdGUoZmQsIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCwKKwkJICBzdHJs ZW4oX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sKSkgIT0KKwkgICAgc3RybGVuKF9faWd0 X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCkpCisJCWlndF93YXJuKCJGYWlsZWQgdG8gcmVzdG9y ZSBhdWRpbyBjb250cm9sIHRvICclcydcbiIsCisJCQkgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9j b250cm9sKTsKKwljbG9zZShmZCk7Cit9CisKK3N0YXRpYyB2b2lkIHN0cmNob21wKGNoYXIgKnN0 cikKK3sKKwlpbnQgbGVuID0gc3RybGVuKHN0cik7CisKKwlpZiAobGVuICYmIHN0cltsZW4gLSAx XSA9PSAnXG4nKQorCQlzdHJbbGVuIC0gMV0gPSAwOworfQorCiAvKioKICAqIGlndF9wbV9lbmFi bGVfYXVkaW9fcnVudGltZV9wbToKICAqCkBAIC03OCwxNiArMTE4LDMyIEBAIHZvaWQgaWd0X3Bt X2VuYWJsZV9hdWRpb19ydW50aW1lX3BtKHZvaWQpCiB7CiAJaW50IGZkOwogCi0JZmQgPSBvcGVu KCIvc3lzL21vZHVsZS9zbmRfaGRhX2ludGVsL3BhcmFtZXRlcnMvcG93ZXJfc2F2ZSIsIE9fV1JP TkxZKTsKKwkvKiBDaGVjayBpZiBhbHJlYWR5IGVuYWJsZWQuICovCisJaWYgKF9faWd0X3BtX2F1 ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZVswXSkKKwkJcmV0dXJuOworCisJZmQgPSBvcGVuKCIvc3lz L21vZHVsZS9zbmRfaGRhX2ludGVsL3BhcmFtZXRlcnMvcG93ZXJfc2F2ZSIsIE9fUkRXUik7CiAJ aWYgKGZkID49IDApIHsKKwkJaWd0X2Fzc2VydChyZWFkKGZkLCBfX2lndF9wbV9hdWRpb19ydW50 aW1lX3Bvd2VyX3NhdmUsCisJCQkJc2l6ZW9mKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJf c2F2ZSkpID4gMCk7CisJCXN0cmNob21wKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2 ZSk7CiAJCWlndF9hc3NlcnRfZXEod3JpdGUoZmQsICIxXG4iLCAyKSwgMik7CisJCWlndF9pbnN0 YWxsX2V4aXRfaGFuZGxlcihfX2lndF9wbV9hdWRpb19ydW50aW1lX2V4aXRfaGFuZGxlcik7CiAJ CWNsb3NlKGZkKTsKIAl9Ci0JZmQgPSBvcGVuKCIvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwOjAw OjAzLjAvcG93ZXIvY29udHJvbCIsIE9fV1JPTkxZKTsKKwlmZCA9IG9wZW4oIi9zeXMvYnVzL3Bj aS9kZXZpY2VzLzAwMDA6MDA6MDMuMC9wb3dlci9jb250cm9sIiwgT19SRFdSKTsKIAlpZiAoZmQg Pj0gMCkgeworCQlpZ3RfYXNzZXJ0KHJlYWQoZmQsIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29u dHJvbCwKKwkJCQlzaXplb2YoX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sKSkgPiAwKTsK KwkJc3RyY2hvbXAoX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sKTsKIAkJaWd0X2Fzc2Vy dF9lcSh3cml0ZShmZCwgImF1dG9cbiIsIDUpLCA1KTsKIAkJY2xvc2UoZmQpOwogCX0KKworCWln dF9kZWJ1ZygiU2F2ZWQgYXVkaW8gcG93ZXIgbWFuYWdlbWVudCBhcyAnJXMnIGFuZCAnJXMnXG4i LAorCQkgIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSwKKwkJICBfX2lndF9wbV9h dWRpb19ydW50aW1lX2NvbnRyb2wpOworCiAJLyogR2l2ZSBzb21lIHRpbWUgZm9yIGl0IHRvIHJl YWN0LiAqLwogCXNsZWVwKDEpOwogfQpAQCAtMjM4LDYgKzI5NCwzOCBAQCB2b2lkIGlndF9wbV9y ZXN0b3JlX3NhdGFfbGlua19wb3dlcl9tYW5hZ2VtZW50KGludDhfdCAqcG1fZGF0YSkKIC8qIFdl IGp1c3QgbGVhayB0aGlzIG9uIGV4aXQgLi4uICovCiBpbnQgcG1fc3RhdHVzX2ZkID0gLTE7CiAK K3N0YXRpYyBjaGFyIF9faWd0X3BtX3J1bnRpbWVfYXV0b3N1c3BlbmRbNjRdOworc3RhdGljIGNo YXIgX19pZ3RfcG1fcnVudGltZV9jb250cm9sWzY0XTsKKworc3RhdGljIHZvaWQgX19pZ3RfcG1f cnVudGltZV9leGl0X2hhbmRsZXIoaW50IHNpZykKK3sKKwlpbnQgZmQ7CisKKwlpZ3RfZGVidWco IlJlc3RvcmluZyBydW50aW1lIG1hbmFnZW1lbnQgdG8gJyVzJyBhbmQgJyVzJ1xuIiwKKwkJICBf X2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kLAorCQkgIF9faWd0X3BtX3J1bnRpbWVfY29udHJv bCk7CisKKwlmZCA9IG9wZW4oUE9XRVJfRElSICIvYXV0b3N1c3BlbmRfZGVsYXlfbXMiLCBPX1dS T05MWSk7CisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuOworCWlmICh3cml0ZShmZCwgX19pZ3RfcG1f cnVudGltZV9hdXRvc3VzcGVuZCwKKwkJICBzdHJsZW4oX19pZ3RfcG1fcnVudGltZV9hdXRvc3Vz cGVuZCkpICE9CisJICAgIHN0cmxlbihfX2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kKSkKKwkJ aWd0X3dhcm4oIkZhaWxlZCB0byByZXN0b3JlIHJ1bnRpbWUgcG0gYXV0b3N1c3BlbmQgZGVsYXkg dG8gJyVzJ1xuIiwKKwkJCSBfX2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kKTsKKwljbG9zZShm ZCk7CisKKwlmZCA9IG9wZW4oUE9XRVJfRElSICIvY29udHJvbCIsIE9fV1JPTkxZKTsKKwlpZiAo ZmQgPCAwKQorCQlyZXR1cm47CisJaWYgKHdyaXRlKGZkLCBfX2lndF9wbV9ydW50aW1lX2NvbnRy b2wsCisJCSAgc3RybGVuKF9faWd0X3BtX3J1bnRpbWVfY29udHJvbCkpICE9CisJICAgIHN0cmxl bihfX2lndF9wbV9ydW50aW1lX2NvbnRyb2wpKQorCQlpZ3Rfd2FybigiRmFpbGVkIHRvIHJlc3Rv cmUgcnVudGltZSBwbSBjb250cm9sIHRvICclcydcbiIsCisJCQkgX19pZ3RfcG1fcnVudGltZV9j b250cm9sKTsKKwljbG9zZShmZCk7Cit9CisKIC8qKgogICogaWd0X3NldHVwX3J1bnRpbWVfcG06 CiAgKgpAQCAtMjYxLDEyICszNDksMjYgQEAgYm9vbCBpZ3Rfc2V0dXBfcnVudGltZV9wbSh2b2lk KQogCS8qIE91ciBpbXBsZW1lbnRhdGlvbiB1c2VzIGF1dG9zdXNwZW5kLiBUcnkgdG8gc2V0IGl0 IHRvIDBtcyBzbyB0aGUgdGVzdAogCSAqIHN1aXRlIGdvZXMgZmFzdGVyIGFuZCB3ZSBoYXZlIGEg aGlnaGVyIHByb2JhYmlsaXR5IG9mIHRyaWdnZXJpbmcgcmFjZQogCSAqIGNvbmRpdGlvbnMuICov Ci0JZmQgPSBvcGVuKFBPV0VSX0RJUiAiL2F1dG9zdXNwZW5kX2RlbGF5X21zIiwgT19XUk9OTFkp OworCWZkID0gb3BlbihQT1dFUl9ESVIgIi9hdXRvc3VzcGVuZF9kZWxheV9tcyIsIE9fUkRXUik7 CiAJaWd0X2Fzc2VydF9mKGZkID49IDAsCiAJCSAgICAgIkNhbid0IG9wZW4gIiBQT1dFUl9ESVIg Ii9hdXRvc3VzcGVuZF9kZWxheV9tc1xuIik7CiAKLQkvKiBJZiB3ZSBmYWlsIHRvIHdyaXRlIHRv IHRoZSBmaWxlLCBpdCBtZWFucyB0aGlzIHN5c3RlbSBkb2Vzbid0IHN1cHBvcnQKLQkgKiBydW50 aW1lIFBNLiAqLworCS8qCisJICogU2F2ZSBwcmV2aW91cyB2YWx1ZXMgdG8gYmUgYWJsZSB0byAg aW5zdGFsbCBleGl0IGhhbmRsZXIgdG8gcmVzdG9yZQorCSAqIHRoZW0gb24gdGVzdCBleGl0Lgor CSAqLworCXNpemUgPSByZWFkKGZkLCBfX2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kLAorCQkg ICAgc2l6ZW9mKF9faWd0X3BtX3J1bnRpbWVfYXV0b3N1c3BlbmQpKTsKKworCS8qCisJICogSWYg d2UgZmFpbCB0byByZWFkIGZyb20gdGhlIGZpbGUsIGl0IG1lYW5zIHRoaXMgc3lzdGVtIGRvZXNu J3QKKwkgKiBzdXBwb3J0IHJ1bnRpbWUgUE0uCisJICovCisJaWYgKHNpemUgPD0gMCkgeworCQlj bG9zZShmZCk7CisJCXJldHVybiBmYWxzZTsKKwl9CisKIAlzaXplID0gd3JpdGUoZmQsICIwXG4i LCAyKTsKIAogCWNsb3NlKGZkKTsKQEAgLTI3NCwxMCArMzc2LDIwIEBAIGJvb2wgaWd0X3NldHVw X3J1bnRpbWVfcG0odm9pZCkKIAlpZiAoc2l6ZSAhPSAyKQogCQlyZXR1cm4gZmFsc2U7CiAKKwlz dHJjaG9tcChfX2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kKTsKKwlpZ3RfaW5zdGFsbF9leGl0 X2hhbmRsZXIoX19pZ3RfcG1fcnVudGltZV9leGl0X2hhbmRsZXIpOworCiAJLyogV2Uga25vdyB3 ZSBzdXBwb3J0IHJ1bnRpbWUgUE0sIGxldCdzIHRyeSB0byBlbmFibGUgaXQgbm93LiAqLwogCWZk ID0gb3BlbihQT1dFUl9ESVIgIi9jb250cm9sIiwgT19SRFdSKTsKIAlpZ3RfYXNzZXJ0X2YoZmQg Pj0gMCwgIkNhbid0IG9wZW4gIiBQT1dFUl9ESVIgIi9jb250cm9sXG4iKTsKIAorCWlndF9hc3Nl cnQocmVhZChmZCwgX19pZ3RfcG1fcnVudGltZV9jb250cm9sLAorCQkJc2l6ZW9mKF9faWd0X3Bt X3J1bnRpbWVfY29udHJvbCkpID4gMCk7CisJc3RyY2hvbXAoX19pZ3RfcG1fcnVudGltZV9jb250 cm9sKTsKKworCWlndF9kZWJ1ZygiU2F2ZWQgcnVudGltZSBwb3dlciBtYW5hZ2VtZW50IGFzICcl cycgYW5kICclcydcbiIsCisJCSAgX19pZ3RfcG1fcnVudGltZV9hdXRvc3VzcGVuZCwgX19pZ3Rf cG1fcnVudGltZV9jb250cm9sKTsKKwogCXNpemUgPSB3cml0ZShmZCwgImF1dG9cbiIsIDUpOwog CWlndF9hc3NlcnQoc2l6ZSA9PSA1KTsKIAotLSAKMi4xNC4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK