From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH i-g-t v2] lib/igt_pm: Restore runtime pm state on test exit Date: Fri, 2 Mar 2018 11:29:50 +0200 Message-ID: <20180302092950.2cybveeu5py5hkzc@ideak-desk.fi.intel.com> References: <20180228110829.12126-1-tvrtko.ursulin@linux.intel.com> <20180228153506.13035-1-tvrtko.ursulin@linux.intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180228153506.13035-1-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin Cc: igt-dev@lists.freedesktop.org, Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBGZWIgMjgsIDIwMTggYXQgMDM6MzU6MDZQTSArMDAwMCwgVHZydGtvIFVyc3VsaW4g d3JvdGU6Cj4gRnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4K PiAKPiBTb21lIHRlc3RzICh0aGUgb25lcyB3aGljaCBjYWxsIGlndF9zZXR1cF9ydW50aW1lX3Bt IGFuZAo+IGlndF9wbV9lbmFibGVfYXVkaW9fcnVudGltZV9wbSkgY2hhbmdlIGRlZmF1bHQgc3lz dGVtIGNvbmZpZ3VyYXRpb24gYW5kCj4gbmV2ZXIgcmVzdG9yZSBpdC4KPiAKPiBUaGUgY29uZmln dXJlZCBydW50aW1lIHN1c3BlbmQgaXMgYWdncmVzc2l2ZSBhbmQgbWF5IGluZmx1ZW5jZSBiZWhh dmlvdXIKPiBvZiBzdWJzZXF1ZW50IHRlc3RzLCBzbyBpdCBpcyBiZXR0ZXIgdG8gcmVzdG9yZSB0 byBwcmV2aW91cyB2YWx1ZXMgb24gdGVzdAo+IGV4aXQuCj4gCj4gVGhpcyB3YXkgc3lzdGVtIGJl aGF2aW91ciwgd2l0aCByZWdhcmRzIHRvIGEgcmFuZG9tIHNlcXVlbmNlIG9mIGV4ZWN1dGVkCj4g dGVzdHMsIHdpbGwgYmUgbW9yZSBjb25zaXN0ZW50IGZyb20gb25lIHJ1biB0byBhbm90aGVyLgo+ IAo+IHYyOiBSZWFkIGZhaWx1cmUgbWVhbnMgbm8gcnVudGltZSBwbSBzdXBwb3J0IHNvIGRvbid0 IGFzc2VydCBvbiBpdC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtv LnVyc3VsaW5AaW50ZWwuY29tPgo+IENjOiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+ Cj4gUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPiAj IHYxCgpBZ3JlZWQgYWJvdXQgaGF2aW5nIGEgY29uc2lzdGVudCBleHBlY3RlZCBzdGF0ZSBmb3Ig ZWFjaCB0ZXN0LCBub3Qgc3VyZQp3aHkgd2UgZGlkbid0IHJlc3RvcmUgdGhlc2Ugc2V0dGluZ3Mg Oi8gQnR3LCBJIGZlZWwgc29tZXdoYXQgdGhlIHNhbWUKYWJvdXQgdGVzdCByZXN1bHRzIGJlaW5n IGFmZmVjdGVkIGJ5IHByZXZpb3VzIHRlc3RzLCBidXQgbm90IHN1cmUgaWYKYW55dGhpbmcgc2hv dWxkL2NhbiBiZSBkb25lIGFib3V0IHRoYXQuCgpBY2tlZC1ieTogSW1yZSBEZWFrIDxpbXJlLmRl YWtAaW50ZWwuY29tPgoKU29tZSBuaXRzIGJlbG93LgoKPiAtLS0KPiAgbGliL2lndF9wbS5jIHwg MTIyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvbGliL2lndF9wbS5jIGIvbGliL2lndF9wbS5jCj4gaW5kZXgg NWJmNWIyZTIzY2RjLi4wNGUyYjg5Y2NhOTUgMTAwNjQ0Cj4gLS0tIGEvbGliL2lndF9wbS5jCj4g KysrIGIvbGliL2lndF9wbS5jCj4gQEAgLTYzLDYgKzYzLDQ2IEBAIGVudW0gewo+ICAvKiBSZW1l bWJlciB0byBmaXggdGhpcyBpZiBhZGRpbmcgbG9uZ2VyIHN0cmluZ3MgKi8KPiAgI2RlZmluZSBN QVhfUE9MSUNZX1NUUkxFTglzdHJsZW4oTUFYX1BFUkZPUk1BTkNFX1NUUikKPiAgCj4gK3N0YXRp YyBjaGFyIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZVs2NF07Cj4gK3N0YXRpYyBj aGFyIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbFs2NF07Cj4gKwo+ICtzdGF0aWMgdm9p ZCBfX2lndF9wbV9hdWRpb19ydW50aW1lX2V4aXRfaGFuZGxlcihpbnQgc2lnKQo+ICt7Cj4gKwlp bnQgZmQ7Cj4gKwo+ICsJaWd0X2RlYnVnKCJSZXN0b3JpbmcgYXVkaW8gcG93ZXIgbWFuYWdlbWVu dCB0byAnJXMnIGFuZCAnJXMnXG4iLAo+ICsJCSAgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9wb3dl cl9zYXZlLAo+ICsJCSAgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sKTsKPiArCj4gKwlm ZCA9IG9wZW4oIi9zeXMvbW9kdWxlL3NuZF9oZGFfaW50ZWwvcGFyYW1ldGVycy9wb3dlcl9zYXZl IiwgT19XUk9OTFkpOwo+ICsJaWYgKGZkIDwgMCkKPiArCQlyZXR1cm47Cj4gKwlpZiAod3JpdGUo ZmQsIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSwKPiArCQkgIHN0cmxlbihfX2ln dF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUpKSAhPQo+ICsJICAgIHN0cmxlbihfX2lndF9w bV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUpKQo+ICsJCWlndF93YXJuKCJGYWlsZWQgdG8gcmVz dG9yZSBhdWRpbyBwb3dlcl9zYXZlIHRvICclcydcbiIsCj4gKwkJCSBfX2lndF9wbV9hdWRpb19y dW50aW1lX3Bvd2VyX3NhdmUpOwo+ICsJY2xvc2UoZmQpOwo+ICsKPiArCWZkID0gb3BlbigiL3N5 cy9idXMvcGNpL2RldmljZXMvMDAwMDowMDowMy4wL3Bvd2VyL2NvbnRyb2wiLCBPX1dST05MWSk7 Cj4gKwlpZiAoZmQgPCAwKQo+ICsJCXJldHVybjsKPiArCWlmICh3cml0ZShmZCwgX19pZ3RfcG1f YXVkaW9fcnVudGltZV9jb250cm9sLAo+ICsJCSAgc3RybGVuKF9faWd0X3BtX2F1ZGlvX3J1bnRp bWVfY29udHJvbCkpICE9Cj4gKwkgICAgc3RybGVuKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29u dHJvbCkpCj4gKwkJaWd0X3dhcm4oIkZhaWxlZCB0byByZXN0b3JlIGF1ZGlvIGNvbnRyb2wgdG8g JyVzJ1xuIiwKPiArCQkJIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCk7Cj4gKwljbG9z ZShmZCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHN0cmNob21wKGNoYXIgKnN0cikKPiArewo+ ICsJaW50IGxlbiA9IHN0cmxlbihzdHIpOwo+ICsKPiArCWlmIChsZW4gJiYgc3RyW2xlbiAtIDFd ID09ICdcbicpCj4gKwkJc3RyW2xlbiAtIDFdID0gMDsKPiArfQo+ICsKPiAgLyoqCj4gICAqIGln dF9wbV9lbmFibGVfYXVkaW9fcnVudGltZV9wbToKPiAgICoKPiBAQCAtNzgsMTYgKzExOCwzMiBA QCB2b2lkIGlndF9wbV9lbmFibGVfYXVkaW9fcnVudGltZV9wbSh2b2lkKQo+ICB7Cj4gIAlpbnQg ZmQ7Cj4gIAo+IC0JZmQgPSBvcGVuKCIvc3lzL21vZHVsZS9zbmRfaGRhX2ludGVsL3BhcmFtZXRl cnMvcG93ZXJfc2F2ZSIsIE9fV1JPTkxZKTsKPiArCS8qIENoZWNrIGlmIGFscmVhZHkgZW5hYmxl ZC4gKi8KPiArCWlmIChfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmVbMF0pCj4gKwkJ cmV0dXJuOwo+ICsKPiArCWZkID0gb3BlbigiL3N5cy9tb2R1bGUvc25kX2hkYV9pbnRlbC9wYXJh bWV0ZXJzL3Bvd2VyX3NhdmUiLCBPX1JEV1IpOwo+ICAJaWYgKGZkID49IDApIHsKPiArCQlpZ3Rf YXNzZXJ0KHJlYWQoZmQsIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSwKPiArCQkJ CXNpemVvZihfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUpKSA+IDApOwo+ICsJCXN0 cmNob21wKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSk7Cj4gIAkJaWd0X2Fzc2Vy dF9lcSh3cml0ZShmZCwgIjFcbiIsIDIpLCAyKTsKPiArCQlpZ3RfaW5zdGFsbF9leGl0X2hhbmRs ZXIoX19pZ3RfcG1fYXVkaW9fcnVudGltZV9leGl0X2hhbmRsZXIpOwoKUmVhZC9pbnN0YWxsX2hh bmRsZXIvd3JpdGUgd291bGQgYXZvaWQgYSBwb3RlbnRpYWwgcmFjZSB3aXRoIF5DLiBUaGVyZSdz IGFsc28KbGlua19wb3dlcl9tYW5hZ2VtZW50X3BvbGljeSB3aGljaCBpcyBvbmx5IHJlc3RvcmVk IGR1cmluZyBub3JtYWwgZXhpdC4KCj4gIAkJY2xvc2UoZmQpOwo+ICAJfQo+IC0JZmQgPSBvcGVu KCIvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwOjAwOjAzLjAvcG93ZXIvY29udHJvbCIsIE9fV1JP TkxZKTsKPiArCWZkID0gb3BlbigiL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDowMDowMy4wL3Bv d2VyL2NvbnRyb2wiLCBPX1JEV1IpOwo+ICAJaWYgKGZkID49IDApIHsKPiArCQlpZ3RfYXNzZXJ0 KHJlYWQoZmQsIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCwKPiArCQkJCXNpemVvZihf X2lndF9wbV9hdWRpb19ydW50aW1lX2NvbnRyb2wpKSA+IDApOwo+ICsJCXN0cmNob21wKF9faWd0 X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCk7Cj4gIAkJaWd0X2Fzc2VydF9lcSh3cml0ZShmZCwg ImF1dG9cbiIsIDUpLCA1KTsKPiAgCQljbG9zZShmZCk7Cj4gIAl9Cj4gKwo+ICsJaWd0X2RlYnVn KCJTYXZlZCBhdWRpbyBwb3dlciBtYW5hZ2VtZW50IGFzICclcycgYW5kICclcydcbiIsCj4gKwkJ ICBfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUsCj4gKwkJICBfX2lndF9wbV9hdWRp b19ydW50aW1lX2NvbnRyb2wpOwo+ICsKPiAgCS8qIEdpdmUgc29tZSB0aW1lIGZvciBpdCB0byBy ZWFjdC4gKi8KPiAgCXNsZWVwKDEpOwo+ICB9Cj4gQEAgLTIzOCw2ICsyOTQsMzggQEAgdm9pZCBp Z3RfcG1fcmVzdG9yZV9zYXRhX2xpbmtfcG93ZXJfbWFuYWdlbWVudChpbnQ4X3QgKnBtX2RhdGEp Cj4gIC8qIFdlIGp1c3QgbGVhayB0aGlzIG9uIGV4aXQgLi4uICovCj4gIGludCBwbV9zdGF0dXNf ZmQgPSAtMTsKPiAgCj4gK3N0YXRpYyBjaGFyIF9faWd0X3BtX3J1bnRpbWVfYXV0b3N1c3BlbmRb NjRdOwo+ICtzdGF0aWMgY2hhciBfX2lndF9wbV9ydW50aW1lX2NvbnRyb2xbNjRdOwo+ICsKPiAr c3RhdGljIHZvaWQgX19pZ3RfcG1fcnVudGltZV9leGl0X2hhbmRsZXIoaW50IHNpZykKPiArewo+ ICsJaW50IGZkOwo+ICsKPiArCWlndF9kZWJ1ZygiUmVzdG9yaW5nIHJ1bnRpbWUgbWFuYWdlbWVu dCB0byAnJXMnIGFuZCAnJXMnXG4iLAo+ICsJCSAgX19pZ3RfcG1fcnVudGltZV9hdXRvc3VzcGVu ZCwKPiArCQkgIF9faWd0X3BtX3J1bnRpbWVfY29udHJvbCk7Cj4gKwo+ICsJZmQgPSBvcGVuKFBP V0VSX0RJUiAiL2F1dG9zdXNwZW5kX2RlbGF5X21zIiwgT19XUk9OTFkpOwo+ICsJaWYgKGZkIDwg MCkKPiArCQlyZXR1cm47Cj4gKwlpZiAod3JpdGUoZmQsIF9faWd0X3BtX3J1bnRpbWVfYXV0b3N1 c3BlbmQsCj4gKwkJICBzdHJsZW4oX19pZ3RfcG1fcnVudGltZV9hdXRvc3VzcGVuZCkpICE9Cj4g KwkgICAgc3RybGVuKF9faWd0X3BtX3J1bnRpbWVfYXV0b3N1c3BlbmQpKQo+ICsJCWlndF93YXJu KCJGYWlsZWQgdG8gcmVzdG9yZSBydW50aW1lIHBtIGF1dG9zdXNwZW5kIGRlbGF5IHRvICclcydc biIsCj4gKwkJCSBfX2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kKTsKPiArCWNsb3NlKGZkKTsK PiArCj4gKwlmZCA9IG9wZW4oUE9XRVJfRElSICIvY29udHJvbCIsIE9fV1JPTkxZKTsKPiArCWlm IChmZCA8IDApCj4gKwkJcmV0dXJuOwo+ICsJaWYgKHdyaXRlKGZkLCBfX2lndF9wbV9ydW50aW1l X2NvbnRyb2wsCj4gKwkJICBzdHJsZW4oX19pZ3RfcG1fcnVudGltZV9jb250cm9sKSkgIT0KPiAr CSAgICBzdHJsZW4oX19pZ3RfcG1fcnVudGltZV9jb250cm9sKSkKPiArCQlpZ3Rfd2FybigiRmFp bGVkIHRvIHJlc3RvcmUgcnVudGltZSBwbSBjb250cm9sIHRvICclcydcbiIsCj4gKwkJCSBfX2ln dF9wbV9ydW50aW1lX2NvbnRyb2wpOwo+ICsJY2xvc2UoZmQpOwo+ICt9Cj4gKwo+ICAvKioKPiAg ICogaWd0X3NldHVwX3J1bnRpbWVfcG06Cj4gICAqCj4gQEAgLTI2MSwxMiArMzQ5LDI2IEBAIGJv b2wgaWd0X3NldHVwX3J1bnRpbWVfcG0odm9pZCkKPiAgCS8qIE91ciBpbXBsZW1lbnRhdGlvbiB1 c2VzIGF1dG9zdXNwZW5kLiBUcnkgdG8gc2V0IGl0IHRvIDBtcyBzbyB0aGUgdGVzdAo+ICAJICog c3VpdGUgZ29lcyBmYXN0ZXIgYW5kIHdlIGhhdmUgYSBoaWdoZXIgcHJvYmFiaWxpdHkgb2YgdHJp Z2dlcmluZyByYWNlCj4gIAkgKiBjb25kaXRpb25zLiAqLwo+IC0JZmQgPSBvcGVuKFBPV0VSX0RJ UiAiL2F1dG9zdXNwZW5kX2RlbGF5X21zIiwgT19XUk9OTFkpOwo+ICsJZmQgPSBvcGVuKFBPV0VS X0RJUiAiL2F1dG9zdXNwZW5kX2RlbGF5X21zIiwgT19SRFdSKTsKPiAgCWlndF9hc3NlcnRfZihm ZCA+PSAwLAo+ICAJCSAgICAgIkNhbid0IG9wZW4gIiBQT1dFUl9ESVIgIi9hdXRvc3VzcGVuZF9k ZWxheV9tc1xuIik7Cj4gIAo+IC0JLyogSWYgd2UgZmFpbCB0byB3cml0ZSB0byB0aGUgZmlsZSwg aXQgbWVhbnMgdGhpcyBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0Cj4gLQkgKiBydW50aW1lIFBNLiAq Lwo+ICsJLyoKPiArCSAqIFNhdmUgcHJldmlvdXMgdmFsdWVzIHRvIGJlIGFibGUgdG8gIGluc3Rh bGwgZXhpdCBoYW5kbGVyIHRvIHJlc3RvcmUKPiArCSAqIHRoZW0gb24gdGVzdCBleGl0Lgo+ICsJ ICovCj4gKwlzaXplID0gcmVhZChmZCwgX19pZ3RfcG1fcnVudGltZV9hdXRvc3VzcGVuZCwKPiAr CQkgICAgc2l6ZW9mKF9faWd0X3BtX3J1bnRpbWVfYXV0b3N1c3BlbmQpKTsKPiArCj4gKwkvKgo+ ICsJICogSWYgd2UgZmFpbCB0byByZWFkIGZyb20gdGhlIGZpbGUsIGl0IG1lYW5zIHRoaXMgc3lz dGVtIGRvZXNuJ3QKPiArCSAqIHN1cHBvcnQgcnVudGltZSBQTS4KPiArCSAqLwo+ICsJaWYgKHNp emUgPD0gMCkgewo+ICsJCWNsb3NlKGZkKTsKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwl9Cj4gKwo+ ICAJc2l6ZSA9IHdyaXRlKGZkLCAiMFxuIiwgMik7Cj4gIAo+ICAJY2xvc2UoZmQpOwo+IEBAIC0y NzQsMTAgKzM3NiwyMCBAQCBib29sIGlndF9zZXR1cF9ydW50aW1lX3BtKHZvaWQpCj4gIAlpZiAo c2l6ZSAhPSAyKQo+ICAJCXJldHVybiBmYWxzZTsKPiAgCj4gKwlzdHJjaG9tcChfX2lndF9wbV9y dW50aW1lX2F1dG9zdXNwZW5kKTsKPiArCWlndF9pbnN0YWxsX2V4aXRfaGFuZGxlcihfX2lndF9w bV9ydW50aW1lX2V4aXRfaGFuZGxlcik7Cj4gKwo+ICAJLyogV2Uga25vdyB3ZSBzdXBwb3J0IHJ1 bnRpbWUgUE0sIGxldCdzIHRyeSB0byBlbmFibGUgaXQgbm93LiAqLwo+ICAJZmQgPSBvcGVuKFBP V0VSX0RJUiAiL2NvbnRyb2wiLCBPX1JEV1IpOwo+ICAJaWd0X2Fzc2VydF9mKGZkID49IDAsICJD YW4ndCBvcGVuICIgUE9XRVJfRElSICIvY29udHJvbFxuIik7Cj4gIAo+ICsJaWd0X2Fzc2VydChy ZWFkKGZkLCBfX2lndF9wbV9ydW50aW1lX2NvbnRyb2wsCj4gKwkJCXNpemVvZihfX2lndF9wbV9y dW50aW1lX2NvbnRyb2wpKSA+IDApOwo+ICsJc3RyY2hvbXAoX19pZ3RfcG1fcnVudGltZV9jb250 cm9sKTsKPiArCj4gKwlpZ3RfZGVidWcoIlNhdmVkIHJ1bnRpbWUgcG93ZXIgbWFuYWdlbWVudCBh cyAnJXMnIGFuZCAnJXMnXG4iLAo+ICsJCSAgX19pZ3RfcG1fcnVudGltZV9hdXRvc3VzcGVuZCwg X19pZ3RfcG1fcnVudGltZV9jb250cm9sKTsKPiArCj4gIAlzaXplID0gd3JpdGUoZmQsICJhdXRv XG4iLCA1KTsKPiAgCWlndF9hc3NlcnQoc2l6ZSA9PSA1KTsKPiAgCj4gLS0gCj4gMi4xNC4xCj4g Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 2 Mar 2018 11:29:50 +0200 From: Imre Deak Message-ID: <20180302092950.2cybveeu5py5hkzc@ideak-desk.fi.intel.com> References: <20180228110829.12126-1-tvrtko.ursulin@linux.intel.com> <20180228153506.13035-1-tvrtko.ursulin@linux.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20180228153506.13035-1-tvrtko.ursulin@linux.intel.com> Subject: Re: [igt-dev] [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: , Reply-To: imre.deak@intel.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Tvrtko Ursulin Cc: igt-dev@lists.freedesktop.org, Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-ID: T24gV2VkLCBGZWIgMjgsIDIwMTggYXQgMDM6MzU6MDZQTSArMDAwMCwgVHZydGtvIFVyc3VsaW4g d3JvdGU6Cj4gRnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4K PiAKPiBTb21lIHRlc3RzICh0aGUgb25lcyB3aGljaCBjYWxsIGlndF9zZXR1cF9ydW50aW1lX3Bt IGFuZAo+IGlndF9wbV9lbmFibGVfYXVkaW9fcnVudGltZV9wbSkgY2hhbmdlIGRlZmF1bHQgc3lz dGVtIGNvbmZpZ3VyYXRpb24gYW5kCj4gbmV2ZXIgcmVzdG9yZSBpdC4KPiAKPiBUaGUgY29uZmln dXJlZCBydW50aW1lIHN1c3BlbmQgaXMgYWdncmVzc2l2ZSBhbmQgbWF5IGluZmx1ZW5jZSBiZWhh dmlvdXIKPiBvZiBzdWJzZXF1ZW50IHRlc3RzLCBzbyBpdCBpcyBiZXR0ZXIgdG8gcmVzdG9yZSB0 byBwcmV2aW91cyB2YWx1ZXMgb24gdGVzdAo+IGV4aXQuCj4gCj4gVGhpcyB3YXkgc3lzdGVtIGJl aGF2aW91ciwgd2l0aCByZWdhcmRzIHRvIGEgcmFuZG9tIHNlcXVlbmNlIG9mIGV4ZWN1dGVkCj4g dGVzdHMsIHdpbGwgYmUgbW9yZSBjb25zaXN0ZW50IGZyb20gb25lIHJ1biB0byBhbm90aGVyLgo+ IAo+IHYyOiBSZWFkIGZhaWx1cmUgbWVhbnMgbm8gcnVudGltZSBwbSBzdXBwb3J0IHNvIGRvbid0 IGFzc2VydCBvbiBpdC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtv LnVyc3VsaW5AaW50ZWwuY29tPgo+IENjOiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+ Cj4gUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPiAj IHYxCgpBZ3JlZWQgYWJvdXQgaGF2aW5nIGEgY29uc2lzdGVudCBleHBlY3RlZCBzdGF0ZSBmb3Ig ZWFjaCB0ZXN0LCBub3Qgc3VyZQp3aHkgd2UgZGlkbid0IHJlc3RvcmUgdGhlc2Ugc2V0dGluZ3Mg Oi8gQnR3LCBJIGZlZWwgc29tZXdoYXQgdGhlIHNhbWUKYWJvdXQgdGVzdCByZXN1bHRzIGJlaW5n IGFmZmVjdGVkIGJ5IHByZXZpb3VzIHRlc3RzLCBidXQgbm90IHN1cmUgaWYKYW55dGhpbmcgc2hv dWxkL2NhbiBiZSBkb25lIGFib3V0IHRoYXQuCgpBY2tlZC1ieTogSW1yZSBEZWFrIDxpbXJlLmRl YWtAaW50ZWwuY29tPgoKU29tZSBuaXRzIGJlbG93LgoKPiAtLS0KPiAgbGliL2lndF9wbS5jIHwg MTIyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvbGliL2lndF9wbS5jIGIvbGliL2lndF9wbS5jCj4gaW5kZXgg NWJmNWIyZTIzY2RjLi4wNGUyYjg5Y2NhOTUgMTAwNjQ0Cj4gLS0tIGEvbGliL2lndF9wbS5jCj4g KysrIGIvbGliL2lndF9wbS5jCj4gQEAgLTYzLDYgKzYzLDQ2IEBAIGVudW0gewo+ICAvKiBSZW1l bWJlciB0byBmaXggdGhpcyBpZiBhZGRpbmcgbG9uZ2VyIHN0cmluZ3MgKi8KPiAgI2RlZmluZSBN QVhfUE9MSUNZX1NUUkxFTglzdHJsZW4oTUFYX1BFUkZPUk1BTkNFX1NUUikKPiAgCj4gK3N0YXRp YyBjaGFyIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZVs2NF07Cj4gK3N0YXRpYyBj aGFyIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbFs2NF07Cj4gKwo+ICtzdGF0aWMgdm9p ZCBfX2lndF9wbV9hdWRpb19ydW50aW1lX2V4aXRfaGFuZGxlcihpbnQgc2lnKQo+ICt7Cj4gKwlp bnQgZmQ7Cj4gKwo+ICsJaWd0X2RlYnVnKCJSZXN0b3JpbmcgYXVkaW8gcG93ZXIgbWFuYWdlbWVu dCB0byAnJXMnIGFuZCAnJXMnXG4iLAo+ICsJCSAgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9wb3dl cl9zYXZlLAo+ICsJCSAgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sKTsKPiArCj4gKwlm ZCA9IG9wZW4oIi9zeXMvbW9kdWxlL3NuZF9oZGFfaW50ZWwvcGFyYW1ldGVycy9wb3dlcl9zYXZl IiwgT19XUk9OTFkpOwo+ICsJaWYgKGZkIDwgMCkKPiArCQlyZXR1cm47Cj4gKwlpZiAod3JpdGUo ZmQsIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSwKPiArCQkgIHN0cmxlbihfX2ln dF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUpKSAhPQo+ICsJICAgIHN0cmxlbihfX2lndF9w bV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUpKQo+ICsJCWlndF93YXJuKCJGYWlsZWQgdG8gcmVz dG9yZSBhdWRpbyBwb3dlcl9zYXZlIHRvICclcydcbiIsCj4gKwkJCSBfX2lndF9wbV9hdWRpb19y dW50aW1lX3Bvd2VyX3NhdmUpOwo+ICsJY2xvc2UoZmQpOwo+ICsKPiArCWZkID0gb3BlbigiL3N5 cy9idXMvcGNpL2RldmljZXMvMDAwMDowMDowMy4wL3Bvd2VyL2NvbnRyb2wiLCBPX1dST05MWSk7 Cj4gKwlpZiAoZmQgPCAwKQo+ICsJCXJldHVybjsKPiArCWlmICh3cml0ZShmZCwgX19pZ3RfcG1f YXVkaW9fcnVudGltZV9jb250cm9sLAo+ICsJCSAgc3RybGVuKF9faWd0X3BtX2F1ZGlvX3J1bnRp bWVfY29udHJvbCkpICE9Cj4gKwkgICAgc3RybGVuKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29u dHJvbCkpCj4gKwkJaWd0X3dhcm4oIkZhaWxlZCB0byByZXN0b3JlIGF1ZGlvIGNvbnRyb2wgdG8g JyVzJ1xuIiwKPiArCQkJIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCk7Cj4gKwljbG9z ZShmZCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHN0cmNob21wKGNoYXIgKnN0cikKPiArewo+ ICsJaW50IGxlbiA9IHN0cmxlbihzdHIpOwo+ICsKPiArCWlmIChsZW4gJiYgc3RyW2xlbiAtIDFd ID09ICdcbicpCj4gKwkJc3RyW2xlbiAtIDFdID0gMDsKPiArfQo+ICsKPiAgLyoqCj4gICAqIGln dF9wbV9lbmFibGVfYXVkaW9fcnVudGltZV9wbToKPiAgICoKPiBAQCAtNzgsMTYgKzExOCwzMiBA QCB2b2lkIGlndF9wbV9lbmFibGVfYXVkaW9fcnVudGltZV9wbSh2b2lkKQo+ICB7Cj4gIAlpbnQg ZmQ7Cj4gIAo+IC0JZmQgPSBvcGVuKCIvc3lzL21vZHVsZS9zbmRfaGRhX2ludGVsL3BhcmFtZXRl cnMvcG93ZXJfc2F2ZSIsIE9fV1JPTkxZKTsKPiArCS8qIENoZWNrIGlmIGFscmVhZHkgZW5hYmxl ZC4gKi8KPiArCWlmIChfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmVbMF0pCj4gKwkJ cmV0dXJuOwo+ICsKPiArCWZkID0gb3BlbigiL3N5cy9tb2R1bGUvc25kX2hkYV9pbnRlbC9wYXJh bWV0ZXJzL3Bvd2VyX3NhdmUiLCBPX1JEV1IpOwo+ICAJaWYgKGZkID49IDApIHsKPiArCQlpZ3Rf YXNzZXJ0KHJlYWQoZmQsIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSwKPiArCQkJ CXNpemVvZihfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUpKSA+IDApOwo+ICsJCXN0 cmNob21wKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSk7Cj4gIAkJaWd0X2Fzc2Vy dF9lcSh3cml0ZShmZCwgIjFcbiIsIDIpLCAyKTsKPiArCQlpZ3RfaW5zdGFsbF9leGl0X2hhbmRs ZXIoX19pZ3RfcG1fYXVkaW9fcnVudGltZV9leGl0X2hhbmRsZXIpOwoKUmVhZC9pbnN0YWxsX2hh bmRsZXIvd3JpdGUgd291bGQgYXZvaWQgYSBwb3RlbnRpYWwgcmFjZSB3aXRoIF5DLiBUaGVyZSdz IGFsc28KbGlua19wb3dlcl9tYW5hZ2VtZW50X3BvbGljeSB3aGljaCBpcyBvbmx5IHJlc3RvcmVk IGR1cmluZyBub3JtYWwgZXhpdC4KCj4gIAkJY2xvc2UoZmQpOwo+ICAJfQo+IC0JZmQgPSBvcGVu KCIvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwOjAwOjAzLjAvcG93ZXIvY29udHJvbCIsIE9fV1JP TkxZKTsKPiArCWZkID0gb3BlbigiL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDowMDowMy4wL3Bv d2VyL2NvbnRyb2wiLCBPX1JEV1IpOwo+ICAJaWYgKGZkID49IDApIHsKPiArCQlpZ3RfYXNzZXJ0 KHJlYWQoZmQsIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCwKPiArCQkJCXNpemVvZihf X2lndF9wbV9hdWRpb19ydW50aW1lX2NvbnRyb2wpKSA+IDApOwo+ICsJCXN0cmNob21wKF9faWd0 X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCk7Cj4gIAkJaWd0X2Fzc2VydF9lcSh3cml0ZShmZCwg ImF1dG9cbiIsIDUpLCA1KTsKPiAgCQljbG9zZShmZCk7Cj4gIAl9Cj4gKwo+ICsJaWd0X2RlYnVn KCJTYXZlZCBhdWRpbyBwb3dlciBtYW5hZ2VtZW50IGFzICclcycgYW5kICclcydcbiIsCj4gKwkJ ICBfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUsCj4gKwkJICBfX2lndF9wbV9hdWRp b19ydW50aW1lX2NvbnRyb2wpOwo+ICsKPiAgCS8qIEdpdmUgc29tZSB0aW1lIGZvciBpdCB0byBy ZWFjdC4gKi8KPiAgCXNsZWVwKDEpOwo+ICB9Cj4gQEAgLTIzOCw2ICsyOTQsMzggQEAgdm9pZCBp Z3RfcG1fcmVzdG9yZV9zYXRhX2xpbmtfcG93ZXJfbWFuYWdlbWVudChpbnQ4X3QgKnBtX2RhdGEp Cj4gIC8qIFdlIGp1c3QgbGVhayB0aGlzIG9uIGV4aXQgLi4uICovCj4gIGludCBwbV9zdGF0dXNf ZmQgPSAtMTsKPiAgCj4gK3N0YXRpYyBjaGFyIF9faWd0X3BtX3J1bnRpbWVfYXV0b3N1c3BlbmRb NjRdOwo+ICtzdGF0aWMgY2hhciBfX2lndF9wbV9ydW50aW1lX2NvbnRyb2xbNjRdOwo+ICsKPiAr c3RhdGljIHZvaWQgX19pZ3RfcG1fcnVudGltZV9leGl0X2hhbmRsZXIoaW50IHNpZykKPiArewo+ ICsJaW50IGZkOwo+ICsKPiArCWlndF9kZWJ1ZygiUmVzdG9yaW5nIHJ1bnRpbWUgbWFuYWdlbWVu dCB0byAnJXMnIGFuZCAnJXMnXG4iLAo+ICsJCSAgX19pZ3RfcG1fcnVudGltZV9hdXRvc3VzcGVu ZCwKPiArCQkgIF9faWd0X3BtX3J1bnRpbWVfY29udHJvbCk7Cj4gKwo+ICsJZmQgPSBvcGVuKFBP V0VSX0RJUiAiL2F1dG9zdXNwZW5kX2RlbGF5X21zIiwgT19XUk9OTFkpOwo+ICsJaWYgKGZkIDwg MCkKPiArCQlyZXR1cm47Cj4gKwlpZiAod3JpdGUoZmQsIF9faWd0X3BtX3J1bnRpbWVfYXV0b3N1 c3BlbmQsCj4gKwkJICBzdHJsZW4oX19pZ3RfcG1fcnVudGltZV9hdXRvc3VzcGVuZCkpICE9Cj4g KwkgICAgc3RybGVuKF9faWd0X3BtX3J1bnRpbWVfYXV0b3N1c3BlbmQpKQo+ICsJCWlndF93YXJu KCJGYWlsZWQgdG8gcmVzdG9yZSBydW50aW1lIHBtIGF1dG9zdXNwZW5kIGRlbGF5IHRvICclcydc biIsCj4gKwkJCSBfX2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kKTsKPiArCWNsb3NlKGZkKTsK PiArCj4gKwlmZCA9IG9wZW4oUE9XRVJfRElSICIvY29udHJvbCIsIE9fV1JPTkxZKTsKPiArCWlm IChmZCA8IDApCj4gKwkJcmV0dXJuOwo+ICsJaWYgKHdyaXRlKGZkLCBfX2lndF9wbV9ydW50aW1l X2NvbnRyb2wsCj4gKwkJICBzdHJsZW4oX19pZ3RfcG1fcnVudGltZV9jb250cm9sKSkgIT0KPiAr CSAgICBzdHJsZW4oX19pZ3RfcG1fcnVudGltZV9jb250cm9sKSkKPiArCQlpZ3Rfd2FybigiRmFp bGVkIHRvIHJlc3RvcmUgcnVudGltZSBwbSBjb250cm9sIHRvICclcydcbiIsCj4gKwkJCSBfX2ln dF9wbV9ydW50aW1lX2NvbnRyb2wpOwo+ICsJY2xvc2UoZmQpOwo+ICt9Cj4gKwo+ICAvKioKPiAg ICogaWd0X3NldHVwX3J1bnRpbWVfcG06Cj4gICAqCj4gQEAgLTI2MSwxMiArMzQ5LDI2IEBAIGJv b2wgaWd0X3NldHVwX3J1bnRpbWVfcG0odm9pZCkKPiAgCS8qIE91ciBpbXBsZW1lbnRhdGlvbiB1 c2VzIGF1dG9zdXNwZW5kLiBUcnkgdG8gc2V0IGl0IHRvIDBtcyBzbyB0aGUgdGVzdAo+ICAJICog c3VpdGUgZ29lcyBmYXN0ZXIgYW5kIHdlIGhhdmUgYSBoaWdoZXIgcHJvYmFiaWxpdHkgb2YgdHJp Z2dlcmluZyByYWNlCj4gIAkgKiBjb25kaXRpb25zLiAqLwo+IC0JZmQgPSBvcGVuKFBPV0VSX0RJ UiAiL2F1dG9zdXNwZW5kX2RlbGF5X21zIiwgT19XUk9OTFkpOwo+ICsJZmQgPSBvcGVuKFBPV0VS X0RJUiAiL2F1dG9zdXNwZW5kX2RlbGF5X21zIiwgT19SRFdSKTsKPiAgCWlndF9hc3NlcnRfZihm ZCA+PSAwLAo+ICAJCSAgICAgIkNhbid0IG9wZW4gIiBQT1dFUl9ESVIgIi9hdXRvc3VzcGVuZF9k ZWxheV9tc1xuIik7Cj4gIAo+IC0JLyogSWYgd2UgZmFpbCB0byB3cml0ZSB0byB0aGUgZmlsZSwg aXQgbWVhbnMgdGhpcyBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0Cj4gLQkgKiBydW50aW1lIFBNLiAq Lwo+ICsJLyoKPiArCSAqIFNhdmUgcHJldmlvdXMgdmFsdWVzIHRvIGJlIGFibGUgdG8gIGluc3Rh bGwgZXhpdCBoYW5kbGVyIHRvIHJlc3RvcmUKPiArCSAqIHRoZW0gb24gdGVzdCBleGl0Lgo+ICsJ ICovCj4gKwlzaXplID0gcmVhZChmZCwgX19pZ3RfcG1fcnVudGltZV9hdXRvc3VzcGVuZCwKPiAr CQkgICAgc2l6ZW9mKF9faWd0X3BtX3J1bnRpbWVfYXV0b3N1c3BlbmQpKTsKPiArCj4gKwkvKgo+ ICsJICogSWYgd2UgZmFpbCB0byByZWFkIGZyb20gdGhlIGZpbGUsIGl0IG1lYW5zIHRoaXMgc3lz dGVtIGRvZXNuJ3QKPiArCSAqIHN1cHBvcnQgcnVudGltZSBQTS4KPiArCSAqLwo+ICsJaWYgKHNp emUgPD0gMCkgewo+ICsJCWNsb3NlKGZkKTsKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwl9Cj4gKwo+ ICAJc2l6ZSA9IHdyaXRlKGZkLCAiMFxuIiwgMik7Cj4gIAo+ICAJY2xvc2UoZmQpOwo+IEBAIC0y NzQsMTAgKzM3NiwyMCBAQCBib29sIGlndF9zZXR1cF9ydW50aW1lX3BtKHZvaWQpCj4gIAlpZiAo c2l6ZSAhPSAyKQo+ICAJCXJldHVybiBmYWxzZTsKPiAgCj4gKwlzdHJjaG9tcChfX2lndF9wbV9y dW50aW1lX2F1dG9zdXNwZW5kKTsKPiArCWlndF9pbnN0YWxsX2V4aXRfaGFuZGxlcihfX2lndF9w bV9ydW50aW1lX2V4aXRfaGFuZGxlcik7Cj4gKwo+ICAJLyogV2Uga25vdyB3ZSBzdXBwb3J0IHJ1 bnRpbWUgUE0sIGxldCdzIHRyeSB0byBlbmFibGUgaXQgbm93LiAqLwo+ICAJZmQgPSBvcGVuKFBP V0VSX0RJUiAiL2NvbnRyb2wiLCBPX1JEV1IpOwo+ICAJaWd0X2Fzc2VydF9mKGZkID49IDAsICJD YW4ndCBvcGVuICIgUE9XRVJfRElSICIvY29udHJvbFxuIik7Cj4gIAo+ICsJaWd0X2Fzc2VydChy ZWFkKGZkLCBfX2lndF9wbV9ydW50aW1lX2NvbnRyb2wsCj4gKwkJCXNpemVvZihfX2lndF9wbV9y dW50aW1lX2NvbnRyb2wpKSA+IDApOwo+ICsJc3RyY2hvbXAoX19pZ3RfcG1fcnVudGltZV9jb250 cm9sKTsKPiArCj4gKwlpZ3RfZGVidWcoIlNhdmVkIHJ1bnRpbWUgcG93ZXIgbWFuYWdlbWVudCBh cyAnJXMnIGFuZCAnJXMnXG4iLAo+ICsJCSAgX19pZ3RfcG1fcnVudGltZV9hdXRvc3VzcGVuZCwg X19pZ3RfcG1fcnVudGltZV9jb250cm9sKTsKPiArCj4gIAlzaXplID0gd3JpdGUoZmQsICJhdXRv XG4iLCA1KTsKPiAgCWlndF9hc3NlcnQoc2l6ZSA9PSA1KTsKPiAgCj4gLS0gCj4gMi4xNC4xCj4g Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYg bWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=