From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Tvrtko Ursulin Date: Fri, 20 Jul 2018 15:03:19 +0100 Message-Id: <20180720140319.31977-1-tvrtko.ursulin@linux.intel.com> Subject: [Intel-gfx] [PATCH i-g-t] lib/pm: Fix some runtime PM issues 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: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCjEuCgpJdCBz ZWVtcyB0aGF0IG9uIG1hbnkgc3lzdGVtcyB0aGUgaGFyZGNvZGVkIFBDSSBwYXRoIGluCmlndF9w bV9hdWRpb19zZXR1cF9ydW50aW1lX3BtIGlzIG5vdCBjb3JyZWN0LgoKQWRkIHNvbWUgbW9yZSBw YXRocyB0byB3b3JrIGFyb3VuZCB0aGUgaXNzdWUuIE1vcmUgcm9idXN0IHNvbHV0aW9uIHdvdWxk CmJlIHRvIGxvb2sgZm9yIGEgc3ltbGluayBvZiBhIHNwZWNpZmljIGZvcm1hdCBhbmQgdXNlIHRo YXQsIHN1Y2ggYXM6CgogIyBscyAtbGQgL3N5cy9idXMvcGNpL2RyaXZlcnMvc25kX2hkYV9pbnRl bC8wMDAwXDowMFw6MWYuMy8KIGRyd3hyLXhyLXggNyByb290IHJvb3QgMCBKdWwgMjAgMTQ6NDgg L3N5cy9idXMvcGNpL2RyaXZlcnMvc25kX2hkYV9pbnRlbC8wMDAwOjAwOjFmLjMvCgpCdXQgdGhh dCdzIG1vcmUgd29yaywgc28gbGVhdmUgaXQgZm9yIGEgcmFpbnkgZGF5LgoKMi4KCkNsZWFudXAg aGFuZGxlcnMgd2VyZSBub3Qgc2lnbmFsIHNhZmUgLSByZXdyaXRlIHRoZW0uCgozLgoKQWxvbmcg dGhlIHdheSBJIGNhbiBhbHNvIGV4cG9ydCB0aGUgZXhwbGljaXQgY2xlYW51cCBmdW5jdGlvbiB0 byBiZSBjYWxsZWQKZnJvbSBpbmRpdmlkdWFsIHRlc3QgY2FzZXMgd2hlcmUgdGhhdCBpcyB3YW50 ZWQuCgo0LgoKQ2FsbCB0aGUgY2xlYW51cCBleHBsaWNpdGx5IGZyb20gcGVyZl9wbXUvcmM2LXJ1 bnRpbWUtcG0uCgp2MjoKICogU2tpcCBkb3VibGUgcmVzdG9yZS4gKENocmlzIFdpbHNvbikKICog Q2xvc2UgcHJldmlvdXNseSBsZWFrZWQgZmQuCgp2MzoKICogUmVmYWN0b3IgYXRleGl0IGhhbmRs ZXJzIHRvIGJlIHNpZ25hbCBzYWZlLiAoQ2hyaXMgV2lsc29uKQogKiBSZXN0b3JlIGF1ZGlvIHJ1 bnRpbWUgUE0gc3RhdHVzLgogKiBBZGQgYSBkaWZmZXJlbnQgUENJIHBhdGggdG8gYXVkaW8gZGV2 aWNlLgoKdjQ6CiAqIFBhdGNoIHJlbmFtZWQgYW5kIGNvbW1pdCBtZXNzYWdlIGltcHJvdmVkLgog KiBBZGQgYW5vdGhlciBwb3NzaWJsZSBQQ0kgYnVzIGxvY2F0aW9uLgoKU2lnbmVkLW9mZi1ieTog VHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNv biA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+ICMgdjMKLS0tCkRlYXIgU2FudGEsCgpQbGVhc2UgZG9u J3QgbWFrZSB0aGlzIHNwbGl0IHRoaXMgdXAgLSBhdCBsZWFzdCBub3QgdG9kYXkgc2luY2UgaXQg aXMKRnJpZGF5IGFuZCBhbiB1bnVzdWFsbHkgd2FybSBkYXkhIDopCi0tLQogbGliL2lndF9wbS5j ICAgICB8IDE1MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LQogbGliL2lndF9wbS5oICAgICB8ICAgMSArCiB0ZXN0cy9wZXJmX3BtdS5jIHwgICAzICsKIDMg ZmlsZXMgY2hhbmdlZCwgMTIzIGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2xpYi9pZ3RfcG0uYyBiL2xpYi9pZ3RfcG0uYwppbmRleCA4YWMxMzIyNjlkNzkuLjE4 YzVlZWY5YTQzYiAxMDA2NDQKLS0tIGEvbGliL2lndF9wbS5jCisrKyBiL2xpYi9pZ3RfcG0uYwpA QCAtNjMsMzYgKzYzLDc0IEBAIGVudW0gewogLyogUmVtZW1iZXIgdG8gZml4IHRoaXMgaWYgYWRk aW5nIGxvbmdlciBzdHJpbmdzICovCiAjZGVmaW5lIE1BWF9QT0xJQ1lfU1RSTEVOCXN0cmxlbihN QVhfUEVSRk9STUFOQ0VfU1RSKQogCitzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgX19pZ3RfcG1f YXVkaW9fcnVudGltZV9jb250cm9sX3BhdGhzW10gPSB7CisJIi9zeXMvYnVzL3BjaS9kZXZpY2Vz LzAwMDA6MDA6MDIuMC9wb3dlci9jb250cm9sIiwKKwkiL3N5cy9idXMvcGNpL2RldmljZXMvMDAw MDowMDowMy4wL3Bvd2VyL2NvbnRyb2wiLAorCSIvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwOjAw OjFmLjMvcG93ZXIvY29udHJvbCIsCit9OworCiBzdGF0aWMgY2hhciBfX2lndF9wbV9hdWRpb19y dW50aW1lX3Bvd2VyX3NhdmVbNjRdOworc3RhdGljIGNvbnN0IGNoYXIgKiBfX2lndF9wbV9hdWRp b19ydW50aW1lX2NvbnRyb2xfcGF0aDsKIHN0YXRpYyBjaGFyIF9faWd0X3BtX2F1ZGlvX3J1bnRp bWVfY29udHJvbFs2NF07CiAKLXN0YXRpYyB2b2lkIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfZXhp dF9oYW5kbGVyKGludCBzaWcpCitzdGF0aWMgaW50IF9faWd0X3BtX2F1ZGlvX3Jlc3RvcmVfcnVu dGltZV9wbSh2b2lkKQogewogCWludCBmZDsKIAotCWlndF9kZWJ1ZygiUmVzdG9yaW5nIGF1ZGlv IHBvd2VyIG1hbmFnZW1lbnQgdG8gJyVzJyBhbmQgJyVzJ1xuIiwKLQkJICBfX2lndF9wbV9hdWRp b19ydW50aW1lX3Bvd2VyX3NhdmUsCi0JCSAgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9s KTsKKwlpZiAoIV9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZVswXSkKKwkJcmV0dXJu IDA7CiAKIAlmZCA9IG9wZW4oIi9zeXMvbW9kdWxlL3NuZF9oZGFfaW50ZWwvcGFyYW1ldGVycy9w b3dlcl9zYXZlIiwgT19XUk9OTFkpOwogCWlmIChmZCA8IDApCi0JCXJldHVybjsKKwkJcmV0dXJu IGVycm5vOworCiAJaWYgKHdyaXRlKGZkLCBfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3Nh dmUsCiAJCSAgc3RybGVuKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSkpICE9Ci0J ICAgIHN0cmxlbihfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUpKQotCQlpZ3Rfd2Fy bigiRmFpbGVkIHRvIHJlc3RvcmUgYXVkaW8gcG93ZXJfc2F2ZSB0byAnJXMnXG4iLAotCQkJIF9f aWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSk7CisJICAgIHN0cmxlbihfX2lndF9wbV9h dWRpb19ydW50aW1lX3Bvd2VyX3NhdmUpKSB7CisJCWNsb3NlKGZkKTsKKwkJcmV0dXJuIGVycm5v OworCX0KKwogCWNsb3NlKGZkKTsKIAotCWZkID0gb3BlbigiL3N5cy9idXMvcGNpL2RldmljZXMv MDAwMDowMDowMy4wL3Bvd2VyL2NvbnRyb2wiLCBPX1dST05MWSk7CisJZmQgPSBvcGVuKF9faWd0 X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbF9wYXRoLCBPX1dST05MWSk7CiAJaWYgKGZkIDwgMCkK LQkJcmV0dXJuOworCQlyZXR1cm4gZXJybm87CisKIAlpZiAod3JpdGUoZmQsIF9faWd0X3BtX2F1 ZGlvX3J1bnRpbWVfY29udHJvbCwKIAkJICBzdHJsZW4oX19pZ3RfcG1fYXVkaW9fcnVudGltZV9j b250cm9sKSkgIT0KLQkgICAgc3RybGVuKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCkp Ci0JCWlndF93YXJuKCJGYWlsZWQgdG8gcmVzdG9yZSBhdWRpbyBjb250cm9sIHRvICclcydcbiIs Ci0JCQkgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sKTsKKwkgICAgc3RybGVuKF9faWd0 X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCkpIHsKKwkJY2xvc2UoZmQpOworCQlyZXR1cm4gZXJy bm87CisJfQorCiAJY2xvc2UoZmQpOworCisJX19pZ3RfcG1fYXVkaW9fcnVudGltZV9wb3dlcl9z YXZlWzBdID0gMDsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBpZ3RfcG1fYXVkaW9f cmVzdG9yZV9ydW50aW1lX3BtKHZvaWQpCit7CisJaW50IHJldDsKKworCWlmICghX19pZ3RfcG1f YXVkaW9fcnVudGltZV9wb3dlcl9zYXZlWzBdKQorCQlyZXR1cm47CisKKwlpZ3RfZGVidWcoIlJl c3RvcmluZyBhdWRpbyBwb3dlciBtYW5hZ2VtZW50IHRvICclcycgYW5kICclcydcbiIsCisJCSAg X19pZ3RfcG1fYXVkaW9fcnVudGltZV9wb3dlcl9zYXZlLAorCQkgIF9faWd0X3BtX2F1ZGlvX3J1 bnRpbWVfY29udHJvbCk7CisKKwlyZXQgPSBfX2lndF9wbV9hdWRpb19yZXN0b3JlX3J1bnRpbWVf cG0oKTsKKwlpZiAocmV0KQorCQlpZ3Rfd2FybigiRmFpbGVkIHRvIHJlc3RvcmUgcnVudGltZSBh dWRpbyBQTSEgKGVycm5vPSVkKVxuIiwKKwkJCSByZXQpOworfQorCitzdGF0aWMgdm9pZCBfX2ln dF9wbV9hdWRpb19ydW50aW1lX2V4aXRfaGFuZGxlcihpbnQgc2lnKQoreworCV9faWd0X3BtX2F1 ZGlvX3Jlc3RvcmVfcnVudGltZV9wbSgpOwogfQogCiBzdGF0aWMgdm9pZCBzdHJjaG9tcChjaGFy ICpzdHIpCkBAIC0xMTYsNyArMTU0LDcgQEAgc3RhdGljIHZvaWQgc3RyY2hvbXAoY2hhciAqc3Ry KQogICovCiB2b2lkIGlndF9wbV9lbmFibGVfYXVkaW9fcnVudGltZV9wbSh2b2lkKQogewotCWlu dCBmZDsKKwlpbnQgZmQsIGk7CiAKIAkvKiBDaGVjayBpZiBhbHJlYWR5IGVuYWJsZWQuICovCiAJ aWYgKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZVswXSkKQEAgLTEzMSwxNCArMTY5 LDIzIEBAIHZvaWQgaWd0X3BtX2VuYWJsZV9hdWRpb19ydW50aW1lX3BtKHZvaWQpCiAJCWlndF9h c3NlcnRfZXEod3JpdGUoZmQsICIxXG4iLCAyKSwgMik7CiAJCWNsb3NlKGZkKTsKIAl9Ci0JZmQg PSBvcGVuKCIvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwOjAwOjAzLjAvcG93ZXIvY29udHJvbCIs IE9fUkRXUik7Ci0JaWYgKGZkID49IDApIHsKLQkJaWd0X2Fzc2VydChyZWFkKGZkLCBfX2lndF9w bV9hdWRpb19ydW50aW1lX2NvbnRyb2wsCi0JCQkJc2l6ZW9mKF9faWd0X3BtX2F1ZGlvX3J1bnRp bWVfY29udHJvbCkpID4gMCk7Ci0JCXN0cmNob21wKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29u dHJvbCk7Ci0JCWlndF9hc3NlcnRfZXEod3JpdGUoZmQsICJhdXRvXG4iLCA1KSwgNSk7Ci0JCWNs b3NlKGZkKTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKF9faWd0X3BtX2F1ZGlvX3J1 bnRpbWVfY29udHJvbF9wYXRocyk7IGkrKykgeworCQljb25zdCBjaGFyICpwYXRoID0gX19pZ3Rf cG1fYXVkaW9fcnVudGltZV9jb250cm9sX3BhdGhzW2ldOworCisJCWZkID0gb3BlbihwYXRoLCBP X1JEV1IpOworCQlpZiAoZmQgPj0gMCkgeworCQkJX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250 cm9sX3BhdGggPSBwYXRoOworCQkJaWd0X2Fzc2VydChyZWFkKGZkLCBfX2lndF9wbV9hdWRpb19y dW50aW1lX2NvbnRyb2wsCisJCQkJCXNpemVvZihfX2lndF9wbV9hdWRpb19ydW50aW1lX2NvbnRy b2wpKSA+IDApOworCQkJc3RyY2hvbXAoX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sKTsK KwkJCWlndF9hc3NlcnRfZXEod3JpdGUoZmQsICJhdXRvXG4iLCA1KSwgNSk7CisJCQljbG9zZShm ZCk7CisJCQlicmVhazsKKwkJfQogCX0KKwlpZiAoIV9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29u dHJvbF9wYXRoKQorCQlpZ3Rfd2FybigiRmFpbGVkIHRvIGZpbmQgYXVkaW8gUENJIGRldmljZSFc biIpOwogCiAJaWd0X2RlYnVnKCJTYXZlZCBhdWRpbyBwb3dlciBtYW5hZ2VtZW50IGFzICclcycg YW5kICclcydcbiIsCiAJCSAgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9wb3dlcl9zYXZlLApAQCAt MjkxLDM5ICszMzgsNzcgQEAgdm9pZCBpZ3RfcG1fcmVzdG9yZV9zYXRhX2xpbmtfcG93ZXJfbWFu YWdlbWVudChpbnQ4X3QgKnBtX2RhdGEpCiAJZnJlZShmaWxlX25hbWUpOwogfQogI2RlZmluZSBQ T1dFUl9ESVIgIi9zeXMvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MDIuMC9wb3dlciIKLS8q IFdlIGp1c3QgbGVhayB0aGlzIG9uIGV4aXQgLi4uICovCiBpbnQgcG1fc3RhdHVzX2ZkID0gLTE7 CiAKIHN0YXRpYyBjaGFyIF9faWd0X3BtX3J1bnRpbWVfYXV0b3N1c3BlbmRbNjRdOwogc3RhdGlj IGNoYXIgX19pZ3RfcG1fcnVudGltZV9jb250cm9sWzY0XTsKIAotc3RhdGljIHZvaWQgX19pZ3Rf cG1fcnVudGltZV9leGl0X2hhbmRsZXIoaW50IHNpZykKK3N0YXRpYyBpbnQgX19pZ3RfcmVzdG9y ZV9ydW50aW1lX3BtKHZvaWQpCiB7CiAJaW50IGZkOwogCi0JaWd0X2RlYnVnKCJSZXN0b3Jpbmcg cnVudGltZSBtYW5hZ2VtZW50IHRvICclcycgYW5kICclcydcbiIsCi0JCSAgX19pZ3RfcG1fcnVu dGltZV9hdXRvc3VzcGVuZCwKLQkJICBfX2lndF9wbV9ydW50aW1lX2NvbnRyb2wpOworCWlmIChw bV9zdGF0dXNfZmQgPCAwKQorCQlyZXR1cm4gMDsKIAogCWZkID0gb3BlbihQT1dFUl9ESVIgIi9h dXRvc3VzcGVuZF9kZWxheV9tcyIsIE9fV1JPTkxZKTsKIAlpZiAoZmQgPCAwKQotCQlyZXR1cm47 CisJCXJldHVybiBlcnJubzsKKwogCWlmICh3cml0ZShmZCwgX19pZ3RfcG1fcnVudGltZV9hdXRv c3VzcGVuZCwKIAkJICBzdHJsZW4oX19pZ3RfcG1fcnVudGltZV9hdXRvc3VzcGVuZCkpICE9Ci0J ICAgIHN0cmxlbihfX2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kKSkKLQkJaWd0X3dhcm4oIkZh aWxlZCB0byByZXN0b3JlIHJ1bnRpbWUgcG0gYXV0b3N1c3BlbmQgZGVsYXkgdG8gJyVzJ1xuIiwK LQkJCSBfX2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kKTsKKwkgICAgc3RybGVuKF9faWd0X3Bt X3J1bnRpbWVfYXV0b3N1c3BlbmQpKSB7CisJCWNsb3NlKGZkKTsKKwkJcmV0dXJuIGVycm5vOwor CX0KKwogCWNsb3NlKGZkKTsKIAogCWZkID0gb3BlbihQT1dFUl9ESVIgIi9jb250cm9sIiwgT19X Uk9OTFkpOwogCWlmIChmZCA8IDApCi0JCXJldHVybjsKKwkJcmV0dXJuIGVycm5vOworCiAJaWYg KHdyaXRlKGZkLCBfX2lndF9wbV9ydW50aW1lX2NvbnRyb2wsCiAJCSAgc3RybGVuKF9faWd0X3Bt X3J1bnRpbWVfY29udHJvbCkpICE9Ci0JICAgIHN0cmxlbihfX2lndF9wbV9ydW50aW1lX2NvbnRy b2wpKQotCQlpZ3Rfd2FybigiRmFpbGVkIHRvIHJlc3RvcmUgcnVudGltZSBwbSBjb250cm9sIHRv ICclcydcbiIsCi0JCQkgX19pZ3RfcG1fcnVudGltZV9jb250cm9sKTsKKwkgICAgc3RybGVuKF9f aWd0X3BtX3J1bnRpbWVfY29udHJvbCkpIHsKKwkJY2xvc2UoZmQpOworCQlyZXR1cm4gZXJybm87 CisJfQorCiAJY2xvc2UoZmQpOworCisJY2xvc2UocG1fc3RhdHVzX2ZkKTsKKwlwbV9zdGF0dXNf ZmQgPSAtMTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIGlndF9yZXN0b3JlX3J1bnRpbWVf cG06CisgKgorICogUmVzdG9yZXMgdGhlIHJ1bnRpbWUgUE0gY29uZmlndXJhdGlvbiBhcyBpdCB3 YXMgYmVmb3JlIHRoZSBjYWxsIHRvCisgKiBpZ3Rfc2V0dXBfcnVudGltZV9wbS4KKyAqLwordm9p ZCBpZ3RfcmVzdG9yZV9ydW50aW1lX3BtKHZvaWQpCit7CisJaW50IHJldDsKKworCWlmIChwbV9z dGF0dXNfZmQgPCAwKQorCQlyZXR1cm47CisKKwlpZ3RfZGVidWcoIlJlc3RvcmluZyBydW50aW1l IFBNIG1hbmFnZW1lbnQgdG8gJyVzJyBhbmQgJyVzJ1xuIiwKKwkJICBfX2lndF9wbV9ydW50aW1l X2F1dG9zdXNwZW5kLAorCQkgIF9faWd0X3BtX3J1bnRpbWVfY29udHJvbCk7CisKKwlyZXQgPSBf X2lndF9yZXN0b3JlX3J1bnRpbWVfcG0oKTsKKwlpZiAocmV0KQorCQlpZ3Rfd2FybigiRmFpbGVk IHRvIHJlc3RvcmUgcnVudGltZSBQTSEgKGVycm5vPSVkKVxuIiwgcmV0KTsKKworCWlndF9wbV9h dWRpb19yZXN0b3JlX3J1bnRpbWVfcG0oKTsKK30KKworc3RhdGljIHZvaWQgX19pZ3RfcG1fcnVu dGltZV9leGl0X2hhbmRsZXIoaW50IHNpZykKK3sKKwlfX2lndF9yZXN0b3JlX3J1bnRpbWVfcG0o KTsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9saWIvaWd0X3BtLmggYi9saWIvaWd0X3BtLmgKaW5k ZXggZWNlZDM5Zjg4MDFhLi4xMGNjNjc5NGU0ZTcgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfcG0uaAor KysgYi9saWIvaWd0X3BtLmgKQEAgLTQ3LDYgKzQ3LDcgQEAgZW51bSBpZ3RfcnVudGltZV9wbV9z dGF0dXMgewogfTsKIAogYm9vbCBpZ3Rfc2V0dXBfcnVudGltZV9wbSh2b2lkKTsKK3ZvaWQgaWd0 X3Jlc3RvcmVfcnVudGltZV9wbSh2b2lkKTsKIGVudW0gaWd0X3J1bnRpbWVfcG1fc3RhdHVzIGln dF9nZXRfcnVudGltZV9wbV9zdGF0dXModm9pZCk7CiBib29sIGlndF93YWl0X2Zvcl9wbV9zdGF0 dXMoZW51bSBpZ3RfcnVudGltZV9wbV9zdGF0dXMgc3RhdHVzKTsKIApkaWZmIC0tZ2l0IGEvdGVz dHMvcGVyZl9wbXUuYyBiL3Rlc3RzL3BlcmZfcG11LmMKaW5kZXggYTFkMzZhYzRmYTlkLi45YTIw YWJiNmI5NWMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3BlcmZfcG11LmMKKysrIGIvdGVzdHMvcGVyZl9w bXUuYwpAQCAtMTQ0MSw2ICsxNDQxLDkgQEAgdGVzdF9yYzYoaW50IGdlbV9mZCwgdW5zaWduZWQg aW50IGZsYWdzKQogCWNsb3NlKGZ3KTsKIAljbG9zZShmZCk7CiAKKwlpZiAoZmxhZ3MgJiBURVNU X1JVTlRJTUVfUE0pCisJCWlndF9yZXN0b3JlX3J1bnRpbWVfcG0oKTsKKwogCWFzc2VydF93aXRo aW5fZXBzaWxvbihidXN5IC0gcHJldiwgMC4wLCB0b2xlcmFuY2UpOwogfQogCi0tIAoyLjE3LjEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t] lib/pm: Fix some runtime PM issues Date: Fri, 20 Jul 2018 15:03:19 +0100 Message-ID: <20180720140319.31977-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9136B6EFEF for ; Fri, 20 Jul 2018 14:03:26 +0000 (UTC) Received: by mail-wr1-x443.google.com with SMTP id t13-v6so2018745wrv.12 for ; Fri, 20 Jul 2018 07:03:26 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCjEuCgpJdCBz ZWVtcyB0aGF0IG9uIG1hbnkgc3lzdGVtcyB0aGUgaGFyZGNvZGVkIFBDSSBwYXRoIGluCmlndF9w bV9hdWRpb19zZXR1cF9ydW50aW1lX3BtIGlzIG5vdCBjb3JyZWN0LgoKQWRkIHNvbWUgbW9yZSBw YXRocyB0byB3b3JrIGFyb3VuZCB0aGUgaXNzdWUuIE1vcmUgcm9idXN0IHNvbHV0aW9uIHdvdWxk CmJlIHRvIGxvb2sgZm9yIGEgc3ltbGluayBvZiBhIHNwZWNpZmljIGZvcm1hdCBhbmQgdXNlIHRo YXQsIHN1Y2ggYXM6CgogIyBscyAtbGQgL3N5cy9idXMvcGNpL2RyaXZlcnMvc25kX2hkYV9pbnRl bC8wMDAwXDowMFw6MWYuMy8KIGRyd3hyLXhyLXggNyByb290IHJvb3QgMCBKdWwgMjAgMTQ6NDgg L3N5cy9idXMvcGNpL2RyaXZlcnMvc25kX2hkYV9pbnRlbC8wMDAwOjAwOjFmLjMvCgpCdXQgdGhh dCdzIG1vcmUgd29yaywgc28gbGVhdmUgaXQgZm9yIGEgcmFpbnkgZGF5LgoKMi4KCkNsZWFudXAg aGFuZGxlcnMgd2VyZSBub3Qgc2lnbmFsIHNhZmUgLSByZXdyaXRlIHRoZW0uCgozLgoKQWxvbmcg dGhlIHdheSBJIGNhbiBhbHNvIGV4cG9ydCB0aGUgZXhwbGljaXQgY2xlYW51cCBmdW5jdGlvbiB0 byBiZSBjYWxsZWQKZnJvbSBpbmRpdmlkdWFsIHRlc3QgY2FzZXMgd2hlcmUgdGhhdCBpcyB3YW50 ZWQuCgo0LgoKQ2FsbCB0aGUgY2xlYW51cCBleHBsaWNpdGx5IGZyb20gcGVyZl9wbXUvcmM2LXJ1 bnRpbWUtcG0uCgp2MjoKICogU2tpcCBkb3VibGUgcmVzdG9yZS4gKENocmlzIFdpbHNvbikKICog Q2xvc2UgcHJldmlvdXNseSBsZWFrZWQgZmQuCgp2MzoKICogUmVmYWN0b3IgYXRleGl0IGhhbmRs ZXJzIHRvIGJlIHNpZ25hbCBzYWZlLiAoQ2hyaXMgV2lsc29uKQogKiBSZXN0b3JlIGF1ZGlvIHJ1 bnRpbWUgUE0gc3RhdHVzLgogKiBBZGQgYSBkaWZmZXJlbnQgUENJIHBhdGggdG8gYXVkaW8gZGV2 aWNlLgoKdjQ6CiAqIFBhdGNoIHJlbmFtZWQgYW5kIGNvbW1pdCBtZXNzYWdlIGltcHJvdmVkLgog KiBBZGQgYW5vdGhlciBwb3NzaWJsZSBQQ0kgYnVzIGxvY2F0aW9uLgoKU2lnbmVkLW9mZi1ieTog VHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNv biA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+ICMgdjMKLS0tCkRlYXIgU2FudGEsCgpQbGVhc2UgZG9u J3QgbWFrZSB0aGlzIHNwbGl0IHRoaXMgdXAgLSBhdCBsZWFzdCBub3QgdG9kYXkgc2luY2UgaXQg aXMKRnJpZGF5IGFuZCBhbiB1bnVzdWFsbHkgd2FybSBkYXkhIDopCi0tLQogbGliL2lndF9wbS5j ICAgICB8IDE1MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LQogbGliL2lndF9wbS5oICAgICB8ICAgMSArCiB0ZXN0cy9wZXJmX3BtdS5jIHwgICAzICsKIDMg ZmlsZXMgY2hhbmdlZCwgMTIzIGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2xpYi9pZ3RfcG0uYyBiL2xpYi9pZ3RfcG0uYwppbmRleCA4YWMxMzIyNjlkNzkuLjE4 YzVlZWY5YTQzYiAxMDA2NDQKLS0tIGEvbGliL2lndF9wbS5jCisrKyBiL2xpYi9pZ3RfcG0uYwpA QCAtNjMsMzYgKzYzLDc0IEBAIGVudW0gewogLyogUmVtZW1iZXIgdG8gZml4IHRoaXMgaWYgYWRk aW5nIGxvbmdlciBzdHJpbmdzICovCiAjZGVmaW5lIE1BWF9QT0xJQ1lfU1RSTEVOCXN0cmxlbihN QVhfUEVSRk9STUFOQ0VfU1RSKQogCitzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgX19pZ3RfcG1f YXVkaW9fcnVudGltZV9jb250cm9sX3BhdGhzW10gPSB7CisJIi9zeXMvYnVzL3BjaS9kZXZpY2Vz LzAwMDA6MDA6MDIuMC9wb3dlci9jb250cm9sIiwKKwkiL3N5cy9idXMvcGNpL2RldmljZXMvMDAw MDowMDowMy4wL3Bvd2VyL2NvbnRyb2wiLAorCSIvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwOjAw OjFmLjMvcG93ZXIvY29udHJvbCIsCit9OworCiBzdGF0aWMgY2hhciBfX2lndF9wbV9hdWRpb19y dW50aW1lX3Bvd2VyX3NhdmVbNjRdOworc3RhdGljIGNvbnN0IGNoYXIgKiBfX2lndF9wbV9hdWRp b19ydW50aW1lX2NvbnRyb2xfcGF0aDsKIHN0YXRpYyBjaGFyIF9faWd0X3BtX2F1ZGlvX3J1bnRp bWVfY29udHJvbFs2NF07CiAKLXN0YXRpYyB2b2lkIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfZXhp dF9oYW5kbGVyKGludCBzaWcpCitzdGF0aWMgaW50IF9faWd0X3BtX2F1ZGlvX3Jlc3RvcmVfcnVu dGltZV9wbSh2b2lkKQogewogCWludCBmZDsKIAotCWlndF9kZWJ1ZygiUmVzdG9yaW5nIGF1ZGlv IHBvd2VyIG1hbmFnZW1lbnQgdG8gJyVzJyBhbmQgJyVzJ1xuIiwKLQkJICBfX2lndF9wbV9hdWRp b19ydW50aW1lX3Bvd2VyX3NhdmUsCi0JCSAgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9s KTsKKwlpZiAoIV9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZVswXSkKKwkJcmV0dXJu IDA7CiAKIAlmZCA9IG9wZW4oIi9zeXMvbW9kdWxlL3NuZF9oZGFfaW50ZWwvcGFyYW1ldGVycy9w b3dlcl9zYXZlIiwgT19XUk9OTFkpOwogCWlmIChmZCA8IDApCi0JCXJldHVybjsKKwkJcmV0dXJu IGVycm5vOworCiAJaWYgKHdyaXRlKGZkLCBfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3Nh dmUsCiAJCSAgc3RybGVuKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSkpICE9Ci0J ICAgIHN0cmxlbihfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUpKQotCQlpZ3Rfd2Fy bigiRmFpbGVkIHRvIHJlc3RvcmUgYXVkaW8gcG93ZXJfc2F2ZSB0byAnJXMnXG4iLAotCQkJIF9f aWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSk7CisJICAgIHN0cmxlbihfX2lndF9wbV9h dWRpb19ydW50aW1lX3Bvd2VyX3NhdmUpKSB7CisJCWNsb3NlKGZkKTsKKwkJcmV0dXJuIGVycm5v OworCX0KKwogCWNsb3NlKGZkKTsKIAotCWZkID0gb3BlbigiL3N5cy9idXMvcGNpL2RldmljZXMv MDAwMDowMDowMy4wL3Bvd2VyL2NvbnRyb2wiLCBPX1dST05MWSk7CisJZmQgPSBvcGVuKF9faWd0 X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbF9wYXRoLCBPX1dST05MWSk7CiAJaWYgKGZkIDwgMCkK LQkJcmV0dXJuOworCQlyZXR1cm4gZXJybm87CisKIAlpZiAod3JpdGUoZmQsIF9faWd0X3BtX2F1 ZGlvX3J1bnRpbWVfY29udHJvbCwKIAkJICBzdHJsZW4oX19pZ3RfcG1fYXVkaW9fcnVudGltZV9j b250cm9sKSkgIT0KLQkgICAgc3RybGVuKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCkp Ci0JCWlndF93YXJuKCJGYWlsZWQgdG8gcmVzdG9yZSBhdWRpbyBjb250cm9sIHRvICclcydcbiIs Ci0JCQkgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sKTsKKwkgICAgc3RybGVuKF9faWd0 X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCkpIHsKKwkJY2xvc2UoZmQpOworCQlyZXR1cm4gZXJy bm87CisJfQorCiAJY2xvc2UoZmQpOworCisJX19pZ3RfcG1fYXVkaW9fcnVudGltZV9wb3dlcl9z YXZlWzBdID0gMDsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBpZ3RfcG1fYXVkaW9f cmVzdG9yZV9ydW50aW1lX3BtKHZvaWQpCit7CisJaW50IHJldDsKKworCWlmICghX19pZ3RfcG1f YXVkaW9fcnVudGltZV9wb3dlcl9zYXZlWzBdKQorCQlyZXR1cm47CisKKwlpZ3RfZGVidWcoIlJl c3RvcmluZyBhdWRpbyBwb3dlciBtYW5hZ2VtZW50IHRvICclcycgYW5kICclcydcbiIsCisJCSAg X19pZ3RfcG1fYXVkaW9fcnVudGltZV9wb3dlcl9zYXZlLAorCQkgIF9faWd0X3BtX2F1ZGlvX3J1 bnRpbWVfY29udHJvbCk7CisKKwlyZXQgPSBfX2lndF9wbV9hdWRpb19yZXN0b3JlX3J1bnRpbWVf cG0oKTsKKwlpZiAocmV0KQorCQlpZ3Rfd2FybigiRmFpbGVkIHRvIHJlc3RvcmUgcnVudGltZSBh dWRpbyBQTSEgKGVycm5vPSVkKVxuIiwKKwkJCSByZXQpOworfQorCitzdGF0aWMgdm9pZCBfX2ln dF9wbV9hdWRpb19ydW50aW1lX2V4aXRfaGFuZGxlcihpbnQgc2lnKQoreworCV9faWd0X3BtX2F1 ZGlvX3Jlc3RvcmVfcnVudGltZV9wbSgpOwogfQogCiBzdGF0aWMgdm9pZCBzdHJjaG9tcChjaGFy ICpzdHIpCkBAIC0xMTYsNyArMTU0LDcgQEAgc3RhdGljIHZvaWQgc3RyY2hvbXAoY2hhciAqc3Ry KQogICovCiB2b2lkIGlndF9wbV9lbmFibGVfYXVkaW9fcnVudGltZV9wbSh2b2lkKQogewotCWlu dCBmZDsKKwlpbnQgZmQsIGk7CiAKIAkvKiBDaGVjayBpZiBhbHJlYWR5IGVuYWJsZWQuICovCiAJ aWYgKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZVswXSkKQEAgLTEzMSwxNCArMTY5 LDIzIEBAIHZvaWQgaWd0X3BtX2VuYWJsZV9hdWRpb19ydW50aW1lX3BtKHZvaWQpCiAJCWlndF9h c3NlcnRfZXEod3JpdGUoZmQsICIxXG4iLCAyKSwgMik7CiAJCWNsb3NlKGZkKTsKIAl9Ci0JZmQg PSBvcGVuKCIvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwOjAwOjAzLjAvcG93ZXIvY29udHJvbCIs IE9fUkRXUik7Ci0JaWYgKGZkID49IDApIHsKLQkJaWd0X2Fzc2VydChyZWFkKGZkLCBfX2lndF9w bV9hdWRpb19ydW50aW1lX2NvbnRyb2wsCi0JCQkJc2l6ZW9mKF9faWd0X3BtX2F1ZGlvX3J1bnRp bWVfY29udHJvbCkpID4gMCk7Ci0JCXN0cmNob21wKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29u dHJvbCk7Ci0JCWlndF9hc3NlcnRfZXEod3JpdGUoZmQsICJhdXRvXG4iLCA1KSwgNSk7Ci0JCWNs b3NlKGZkKTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKF9faWd0X3BtX2F1ZGlvX3J1 bnRpbWVfY29udHJvbF9wYXRocyk7IGkrKykgeworCQljb25zdCBjaGFyICpwYXRoID0gX19pZ3Rf cG1fYXVkaW9fcnVudGltZV9jb250cm9sX3BhdGhzW2ldOworCisJCWZkID0gb3BlbihwYXRoLCBP X1JEV1IpOworCQlpZiAoZmQgPj0gMCkgeworCQkJX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250 cm9sX3BhdGggPSBwYXRoOworCQkJaWd0X2Fzc2VydChyZWFkKGZkLCBfX2lndF9wbV9hdWRpb19y dW50aW1lX2NvbnRyb2wsCisJCQkJCXNpemVvZihfX2lndF9wbV9hdWRpb19ydW50aW1lX2NvbnRy b2wpKSA+IDApOworCQkJc3RyY2hvbXAoX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sKTsK KwkJCWlndF9hc3NlcnRfZXEod3JpdGUoZmQsICJhdXRvXG4iLCA1KSwgNSk7CisJCQljbG9zZShm ZCk7CisJCQlicmVhazsKKwkJfQogCX0KKwlpZiAoIV9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29u dHJvbF9wYXRoKQorCQlpZ3Rfd2FybigiRmFpbGVkIHRvIGZpbmQgYXVkaW8gUENJIGRldmljZSFc biIpOwogCiAJaWd0X2RlYnVnKCJTYXZlZCBhdWRpbyBwb3dlciBtYW5hZ2VtZW50IGFzICclcycg YW5kICclcydcbiIsCiAJCSAgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9wb3dlcl9zYXZlLApAQCAt MjkxLDM5ICszMzgsNzcgQEAgdm9pZCBpZ3RfcG1fcmVzdG9yZV9zYXRhX2xpbmtfcG93ZXJfbWFu YWdlbWVudChpbnQ4X3QgKnBtX2RhdGEpCiAJZnJlZShmaWxlX25hbWUpOwogfQogI2RlZmluZSBQ T1dFUl9ESVIgIi9zeXMvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MDIuMC9wb3dlciIKLS8q IFdlIGp1c3QgbGVhayB0aGlzIG9uIGV4aXQgLi4uICovCiBpbnQgcG1fc3RhdHVzX2ZkID0gLTE7 CiAKIHN0YXRpYyBjaGFyIF9faWd0X3BtX3J1bnRpbWVfYXV0b3N1c3BlbmRbNjRdOwogc3RhdGlj IGNoYXIgX19pZ3RfcG1fcnVudGltZV9jb250cm9sWzY0XTsKIAotc3RhdGljIHZvaWQgX19pZ3Rf cG1fcnVudGltZV9leGl0X2hhbmRsZXIoaW50IHNpZykKK3N0YXRpYyBpbnQgX19pZ3RfcmVzdG9y ZV9ydW50aW1lX3BtKHZvaWQpCiB7CiAJaW50IGZkOwogCi0JaWd0X2RlYnVnKCJSZXN0b3Jpbmcg cnVudGltZSBtYW5hZ2VtZW50IHRvICclcycgYW5kICclcydcbiIsCi0JCSAgX19pZ3RfcG1fcnVu dGltZV9hdXRvc3VzcGVuZCwKLQkJICBfX2lndF9wbV9ydW50aW1lX2NvbnRyb2wpOworCWlmIChw bV9zdGF0dXNfZmQgPCAwKQorCQlyZXR1cm4gMDsKIAogCWZkID0gb3BlbihQT1dFUl9ESVIgIi9h dXRvc3VzcGVuZF9kZWxheV9tcyIsIE9fV1JPTkxZKTsKIAlpZiAoZmQgPCAwKQotCQlyZXR1cm47 CisJCXJldHVybiBlcnJubzsKKwogCWlmICh3cml0ZShmZCwgX19pZ3RfcG1fcnVudGltZV9hdXRv c3VzcGVuZCwKIAkJICBzdHJsZW4oX19pZ3RfcG1fcnVudGltZV9hdXRvc3VzcGVuZCkpICE9Ci0J ICAgIHN0cmxlbihfX2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kKSkKLQkJaWd0X3dhcm4oIkZh aWxlZCB0byByZXN0b3JlIHJ1bnRpbWUgcG0gYXV0b3N1c3BlbmQgZGVsYXkgdG8gJyVzJ1xuIiwK LQkJCSBfX2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kKTsKKwkgICAgc3RybGVuKF9faWd0X3Bt X3J1bnRpbWVfYXV0b3N1c3BlbmQpKSB7CisJCWNsb3NlKGZkKTsKKwkJcmV0dXJuIGVycm5vOwor CX0KKwogCWNsb3NlKGZkKTsKIAogCWZkID0gb3BlbihQT1dFUl9ESVIgIi9jb250cm9sIiwgT19X Uk9OTFkpOwogCWlmIChmZCA8IDApCi0JCXJldHVybjsKKwkJcmV0dXJuIGVycm5vOworCiAJaWYg KHdyaXRlKGZkLCBfX2lndF9wbV9ydW50aW1lX2NvbnRyb2wsCiAJCSAgc3RybGVuKF9faWd0X3Bt X3J1bnRpbWVfY29udHJvbCkpICE9Ci0JICAgIHN0cmxlbihfX2lndF9wbV9ydW50aW1lX2NvbnRy b2wpKQotCQlpZ3Rfd2FybigiRmFpbGVkIHRvIHJlc3RvcmUgcnVudGltZSBwbSBjb250cm9sIHRv ICclcydcbiIsCi0JCQkgX19pZ3RfcG1fcnVudGltZV9jb250cm9sKTsKKwkgICAgc3RybGVuKF9f aWd0X3BtX3J1bnRpbWVfY29udHJvbCkpIHsKKwkJY2xvc2UoZmQpOworCQlyZXR1cm4gZXJybm87 CisJfQorCiAJY2xvc2UoZmQpOworCisJY2xvc2UocG1fc3RhdHVzX2ZkKTsKKwlwbV9zdGF0dXNf ZmQgPSAtMTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIGlndF9yZXN0b3JlX3J1bnRpbWVf cG06CisgKgorICogUmVzdG9yZXMgdGhlIHJ1bnRpbWUgUE0gY29uZmlndXJhdGlvbiBhcyBpdCB3 YXMgYmVmb3JlIHRoZSBjYWxsIHRvCisgKiBpZ3Rfc2V0dXBfcnVudGltZV9wbS4KKyAqLwordm9p ZCBpZ3RfcmVzdG9yZV9ydW50aW1lX3BtKHZvaWQpCit7CisJaW50IHJldDsKKworCWlmIChwbV9z dGF0dXNfZmQgPCAwKQorCQlyZXR1cm47CisKKwlpZ3RfZGVidWcoIlJlc3RvcmluZyBydW50aW1l IFBNIG1hbmFnZW1lbnQgdG8gJyVzJyBhbmQgJyVzJ1xuIiwKKwkJICBfX2lndF9wbV9ydW50aW1l X2F1dG9zdXNwZW5kLAorCQkgIF9faWd0X3BtX3J1bnRpbWVfY29udHJvbCk7CisKKwlyZXQgPSBf X2lndF9yZXN0b3JlX3J1bnRpbWVfcG0oKTsKKwlpZiAocmV0KQorCQlpZ3Rfd2FybigiRmFpbGVk IHRvIHJlc3RvcmUgcnVudGltZSBQTSEgKGVycm5vPSVkKVxuIiwgcmV0KTsKKworCWlndF9wbV9h dWRpb19yZXN0b3JlX3J1bnRpbWVfcG0oKTsKK30KKworc3RhdGljIHZvaWQgX19pZ3RfcG1fcnVu dGltZV9leGl0X2hhbmRsZXIoaW50IHNpZykKK3sKKwlfX2lndF9yZXN0b3JlX3J1bnRpbWVfcG0o KTsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9saWIvaWd0X3BtLmggYi9saWIvaWd0X3BtLmgKaW5k ZXggZWNlZDM5Zjg4MDFhLi4xMGNjNjc5NGU0ZTcgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfcG0uaAor KysgYi9saWIvaWd0X3BtLmgKQEAgLTQ3LDYgKzQ3LDcgQEAgZW51bSBpZ3RfcnVudGltZV9wbV9z dGF0dXMgewogfTsKIAogYm9vbCBpZ3Rfc2V0dXBfcnVudGltZV9wbSh2b2lkKTsKK3ZvaWQgaWd0 X3Jlc3RvcmVfcnVudGltZV9wbSh2b2lkKTsKIGVudW0gaWd0X3J1bnRpbWVfcG1fc3RhdHVzIGln dF9nZXRfcnVudGltZV9wbV9zdGF0dXModm9pZCk7CiBib29sIGlndF93YWl0X2Zvcl9wbV9zdGF0 dXMoZW51bSBpZ3RfcnVudGltZV9wbV9zdGF0dXMgc3RhdHVzKTsKIApkaWZmIC0tZ2l0IGEvdGVz dHMvcGVyZl9wbXUuYyBiL3Rlc3RzL3BlcmZfcG11LmMKaW5kZXggYTFkMzZhYzRmYTlkLi45YTIw YWJiNmI5NWMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3BlcmZfcG11LmMKKysrIGIvdGVzdHMvcGVyZl9w bXUuYwpAQCAtMTQ0MSw2ICsxNDQxLDkgQEAgdGVzdF9yYzYoaW50IGdlbV9mZCwgdW5zaWduZWQg aW50IGZsYWdzKQogCWNsb3NlKGZ3KTsKIAljbG9zZShmZCk7CiAKKwlpZiAoZmxhZ3MgJiBURVNU X1JVTlRJTUVfUE0pCisJCWlndF9yZXN0b3JlX3J1bnRpbWVfcG0oKTsKKwogCWFzc2VydF93aXRo aW5fZXBzaWxvbihidXN5IC0gcHJldiwgMC4wLCB0b2xlcmFuY2UpOwogfQogCi0tIAoyLjE3LjEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=