From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Mika Kuoppala In-Reply-To: <20191126113826.2642042-1-chris@chris-wilson.co.uk> References: <20191126113826.2642042-1-chris@chris-wilson.co.uk> Date: Tue, 26 Nov 2019 13:54:39 +0200 Message-ID: <8736ean98g.fsf@gaia.fi.intel.com> MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t] igt: Add gem_ctx_freq to exercise requesting freq via sysfs List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Chris Wilson , intel-gfx@lists.freedesktop.org Cc: igt-dev@lists.freedesktop.org List-ID: Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gT25jZSBw cm9wcG9zZWQgbG9uZyBhZ28gd2FzIHBlci1jb250ZXh0IGZyZXF1ZW5jeSBjb250cm9scy4gQXMg cGFydCBvZgo+IHRoYXQgdGhpcyB0ZXN0IHN1aXRlIHdhcyB3cml0dGVuLCB3aGljaCBhbW9uZyBp dHMgdGVzdHMgY292ZXJlZCB0aGUKPiBpbnRlcmFjdGlvbiBvZiBzeXNmcyB3aXRoIHRoZSBwZXIt Y29udGV4dCBjb250cm9scy4gV2hpbGUgd2Ugd2FpdCBhZ2Fpbgo+IGZvciBhcHByb3ZhbCBvZiB0 aGUgcGVyLWNvbnRleHQgQVBJLCB3ZSBjYW4gYXQgbGVhc3QgbGV2ZXJhZ2UgdGhlIHN5c2ZzCj4g dGVzdHMgdG8gcHJvdmlkZSBzb3JlbHkgbGFja2luZyBjb3ZlcmFnZSBvZiB0aGUgc3lzZnMga25v YnMuCgpzL3Byb3Bwb3NlZC9wcm9wb3NlZC4Kcy9pdHMvaXQncwoKPgo+IFNpZ25lZC1vZmYtYnk6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgoKQWNrZWQtYnk6IE1pa2Eg S3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgoKPiAtLS0KPiAgdGVzdHMv TWFrZWZpbGUuYW0gICAgICAgICB8ICAgMSArCj4gIHRlc3RzL01ha2VmaWxlLnNvdXJjZXMgICAg fCAgIDMgKwo+ICB0ZXN0cy9pOTE1L2dlbV9jdHhfZnJlcS5jIHwgMjE2ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCj4gIHRlc3RzL21lc29uLmJ1aWxkICAgICAgICAgfCAg IDggKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCAyMjggaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgdGVzdHMvaTkxNS9nZW1fY3R4X2ZyZXEuYwo+Cj4gZGlmZiAtLWdpdCBhL3Rlc3Rz L01ha2VmaWxlLmFtIGIvdGVzdHMvTWFrZWZpbGUuYW0KPiBpbmRleCA3ZDcxZGY4YzcuLjdmZTYw Yjc4ZSAxMDA2NDQKPiAtLS0gYS90ZXN0cy9NYWtlZmlsZS5hbQo+ICsrKyBiL3Rlc3RzL01ha2Vm aWxlLmFtCj4gQEAgLTkzLDYgKzkzLDcgQEAgZ2VtX2NyZWF0ZV9DRkxBR1MgPSAkKEFNX0NGTEFH UykgJChUSFJFQURfQ0ZMQUdTKQo+ICBnZW1fY3JlYXRlX0xEQUREID0gJChMREFERCkgLWxwdGhy ZWFkIC1sYXRvbWljCj4gIGdlbV9jbG9zZV9yYWNlX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAkKFRI UkVBRF9DRkxBR1MpCj4gIGdlbV9jbG9zZV9yYWNlX0xEQUREID0gJChMREFERCkgLWxwdGhyZWFk Cj4gK2dlbV9jdHhfZnJlcV9MREFERCA9ICQoTERBREQpICQodG9wX2J1aWxkZGlyKS9saWIvbGli aWd0X3BlcmYubGEKPiAgZ2VtX2N0eF90aHJhc2hfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoVEhS RUFEX0NGTEFHUykKPiAgZ2VtX2N0eF90aHJhc2hfTERBREQgPSAkKExEQUREKSAtbHB0aHJlYWQK PiAgZ2VtX2N0eF9zc2V1X0xEQUREID0gJChMREFERCkgJCh0b3BfYnVpbGRkaXIpL2xpYi9saWJp Z3RfcGVyZi5sYQo+IGRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIGIvdGVzdHMv TWFrZWZpbGUuc291cmNlcwo+IGluZGV4IGYyZGNjYTZkNy4uZDg2ZjljMjYzIDEwMDY0NAo+IC0t LSBhL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKPiArKysgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2Vz Cj4gQEAgLTE1Miw2ICsxNTIsOSBAQCBnZW1fY3R4X2VuZ2luZXNfU09VUkNFUyA9IGk5MTUvZ2Vt X2N0eF9lbmdpbmVzLmMKPiAgVEVTVFNfcHJvZ3MgKz0gZ2VtX2N0eF9leGVjCj4gIGdlbV9jdHhf ZXhlY19TT1VSQ0VTID0gaTkxNS9nZW1fY3R4X2V4ZWMuYwo+ICAKPiArVEVTVFNfcHJvZ3MgKz0g Z2VtX2N0eF9mcmVxCj4gK2dlbV9jdHhfZnJlcV9TT1VSQ0VTID0gaTkxNS9nZW1fY3R4X2ZyZXEu Ywo+ICsKPiAgVEVTVFNfcHJvZ3MgKz0gZ2VtX2N0eF9pc29sYXRpb24KPiAgZ2VtX2N0eF9pc29s YXRpb25fU09VUkNFUyA9IGk5MTUvZ2VtX2N0eF9pc29sYXRpb24uYwo+ICAKPiBkaWZmIC0tZ2l0 IGEvdGVzdHMvaTkxNS9nZW1fY3R4X2ZyZXEuYyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9mcmVxLmMK PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMC4uYmMwOTM2NTRhCj4gLS0t IC9kZXYvbnVsbAo+ICsrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9mcmVxLmMKPiBAQCAtMCwwICsx LDIxNiBAQAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgwqkgMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbgo+ ICsgKgo+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+ICsgKiB0 byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0 aG91dCBsaW1pdGF0aW9uCj4gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l cmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAo+ICsgKiBhbmQvb3Igc2VsbCBj b3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUK PiArICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xs b3dpbmcgY29uZGl0aW9uczoKPiArICoKPiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAo+ICsgKiBwYXJh Z3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y dGlvbnMgb2YgdGhlCj4gKyAqIFNvZnR3YXJlLgo+ICsgKgo+ICsgKiBUSEUgU09GVFdBUkUgSVMg UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBP Ugo+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U SUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPiArICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCj4gKyAqIFRIRSBB VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1B R0VTIE9SIE9USEVSCj4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O VFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCj4gKyAqIEZST00sIE9VVCBPRiBPUiBJ TiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElO R1MKPiArICogSU4gVEhFIFNPRlRXQVJFLgo+ICsgKgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxl cnJuby5oPgo+ICsjaW5jbHVkZSA8ZmNudGwuaD4KPiArI2luY2x1ZGUgPHNjaGVkLmg+Cj4gKyNp bmNsdWRlIDxzdGRsaWIuaD4KPiArI2luY2x1ZGUgPHN0ZGludC5oPgo+ICsjaW5jbHVkZSA8dW5p c3RkLmg+Cj4gKwo+ICsjaW5jbHVkZSAiaWd0LmgiCj4gKyNpbmNsdWRlICJpZ3RfcGVyZi5oIgo+ ICsjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCj4gKyNpbmNsdWRlICJzd19zeW5jLmgiCj4gKwo+ICsj ZGVmaW5lIFNBTVBMRV9QRVJJT0QgKFVTRUNfUEVSX1NFQyAvIDEwKQo+ICsjZGVmaW5lIFBNVV9U T0xFUkFOQ0UgMTAwCj4gKwo+ICtzdGF0aWMgaW50IHN5c2ZzID0gLTE7Cj4gKwo+ICtzdGF0aWMg dm9pZCBraWNrX3Jwc193b3JrZXIodm9pZCkKPiArewo+ICsJc2NoZWRfeWllbGQoKTsKPiArCXVz bGVlcChTQU1QTEVfUEVSSU9EKTsKPiArfQo+ICsKPiArc3RhdGljIGRvdWJsZSBtZWFzdXJlX2Zy ZXF1ZW5jeShpbnQgcG11LCBpbnQgcGVyaW9kX3VzKQo+ICt7Cj4gKwl1aW50NjRfdCBkYXRhWzJd Owo+ICsJdWludDY0X3QgZF90LCBkX3Y7Cj4gKwo+ICsJa2lja19ycHNfd29ya2VyKCk7IC8qIGxl dCB0aGUga3RocmVhZHMgKGludGVsX3Jwc193b3JrKSBydW4gKi8KPiArCj4gKwlpZ3RfYXNzZXJ0 X2VxKHJlYWQocG11LCBkYXRhLCBzaXplb2YoZGF0YSkpLCBzaXplb2YoZGF0YSkpOwo+ICsJZF92 ID0gLWRhdGFbMF07Cj4gKwlkX3QgPSAtZGF0YVsxXTsKPiArCj4gKwl1c2xlZXAocGVyaW9kX3Vz KTsKPiArCj4gKwlpZ3RfYXNzZXJ0X2VxKHJlYWQocG11LCBkYXRhLCBzaXplb2YoZGF0YSkpLCBz aXplb2YoZGF0YSkpOwo+ICsJZF92ICs9IGRhdGFbMF07Cj4gKwlkX3QgKz0gZGF0YVsxXTsKPiAr Cj4gKwlyZXR1cm4gZF92ICogMWU5IC8gZF90Owo+ICt9Cj4gKwo+ICtzdGF0aWMgYm9vbCBfX3Bt dV93aXRoaW5fdG9sZXJhbmNlKGRvdWJsZSBhY3R1YWwsIGRvdWJsZSB0YXJnZXQpCj4gK3sKPiAr CXJldHVybiAoYWN0dWFsID4gdGFyZ2V0IC0gUE1VX1RPTEVSQU5DRSAmJgo+ICsJCWFjdHVhbCA8 IHRhcmdldCArIFBNVV9UT0xFUkFOQ0UpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBwbXVfYXNz ZXJ0KGRvdWJsZSBhY3R1YWwsIGRvdWJsZSB0YXJnZXQpCj4gK3sKPiArCWlndF9hc3NlcnRfZihf X3BtdV93aXRoaW5fdG9sZXJhbmNlKGFjdHVhbCwgdGFyZ2V0KSwKPiArCQkgICAgICJNZWFzdXJl ZCBmcmVxdWVuY3kgJS4yZk1IeiwgaXMgYmV5b25kIHRhcmdldCAlLjBmwrElZE1oelxuIiwKPiAr CQkgICAgIGFjdHVhbCwgdGFyZ2V0LCBQTVVfVE9MRVJBTkNFKTsKPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgYnVzeV93YWl0X3VudGlsX2lkbGUoaW50IGk5MTUsIGlndF9zcGluX3QgKnNwaW4pCj4g K3sKPiArCWlndF9zcGluX2VuZChzcGluKTsKPiArCWRvIHsKPiArCQl1c2xlZXAoMTAwMDApOwo+ ICsJfSB3aGlsZSAoZ2VtX2JvX2J1c3koaTkxNSwgc3Bpbi0+aGFuZGxlKSk7Cj4gK30KPiArCj4g K3N0YXRpYyB2b2lkIF9faWd0X3NwaW5fZnJlZV9pZGxlKGludCBpOTE1LCBpZ3Rfc3Bpbl90ICpz cGluKQo+ICt7Cj4gKwlidXN5X3dhaXRfdW50aWxfaWRsZShpOTE1LCBzcGluKTsKPiArCj4gKwlp Z3Rfc3Bpbl9mcmVlKGk5MTUsIHNwaW4pOwo+ICt9Cj4gKwo+ICsjZGVmaW5lIFRSSUFOR0xFX1NJ WkUoeCkgKDIgKiAoeCkgKyAxKQo+ICtzdGF0aWMgdm9pZCB0cmlhbmdsZV9maWxsKHVpbnQzMl90 ICp0LCB1bnNpZ25lZCBpbnQgbnN0ZXAsCj4gKwkJCSAgdWludDMyX3QgbWluLCB1aW50MzJfdCBt YXgpCj4gK3sKPiArCWZvciAodW5zaWduZWQgaW50IHN0ZXAgPSAwOyBzdGVwIDw9IDIqbnN0ZXA7 IHN0ZXArKykgewo+ICsJCWludCBmcmFjID0gc3RlcCA+IG5zdGVwID8gMipuc3RlcCAtIHN0ZXAg OiBzdGVwOwo+ICsJCXRbc3RlcF0gPSBtaW4gKyAobWF4IC0gbWluKSAqIGZyYWMgLyBuc3RlcDsK PiArCX0KPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2V0X3N5c2ZzX2ZyZXEodWludDMyX3QgbWlu LCB1aW50MzJfdCBtYXgpCj4gK3sKPiArCWlndF9zeXNmc19wcmludGYoc3lzZnMsICJndF9taW5f ZnJlcV9taHoiLCAiJXUiLCBtaW4pOwo+ICsJaWd0X3N5c2ZzX3ByaW50ZihzeXNmcywgImd0X21h eF9mcmVxX21oeiIsICIldSIsIG1heCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGdldF9zeXNm c19mcmVxKHVpbnQzMl90ICptaW4sIHVpbnQzMl90ICptYXgpCj4gK3sKPiArCWlndF9zeXNmc19z Y2FuZihzeXNmcywgImd0X21pbl9mcmVxX21oeiIsICIldSIsIG1pbik7Cj4gKwlpZ3Rfc3lzZnNf c2NhbmYoc3lzZnMsICJndF9tYXhfZnJlcV9taHoiLCAiJXUiLCBtYXgpOwo+ICt9Cj4gKwo+ICtz dGF0aWMgdm9pZCBzeXNmc19yYW5nZShpbnQgaTkxNSkKPiArewo+ICsjZGVmaW5lIE5fU1RFUFMg MTAKPiArCXVpbnQzMl90IGZyZXF1ZW5jaWVzW1RSSUFOR0xFX1NJWkUoTl9TVEVQUyldOwo+ICsJ dWludDMyX3Qgc3lzX21pbiwgc3lzX21heDsKPiArCWlndF9zcGluX3QgKnNwaW47Cj4gKwlkb3Vi bGUgbWVhc3VyZWQ7Cj4gKwlpbnQgcG11Owo+ICsKPiArCS8qCj4gKwkgKiBUaGUgc3lzZnMgaW50 ZXJmYWNlIHNldHMgdGhlIGdsb2JhbCBsaW1pdHMgYW5kIG92ZXJyaWRlcyB0aGUKPiArCSAqIHVz ZXIncyByZXF1ZXN0LiBTbyB3ZSBjYW4gdG8gY2hlY2sgdGhhdCBpZiB0aGUgdXNlciByZXF1ZXN0 cwo+ICsJICogYSByYW5nZSBvdXRzaWRlIG9mIHRoZSBzeXNmcywgdGhlIHJlcXVlc3RzIGFyZSBv bmx5IHJ1biBhdCB0aGUKPiArCSAqIGNvbnN0cmlhaW5lZCBzeXNmcyByYW5nZS4KPiArCSAqLwo+ ICsKPiArCWdldF9zeXNmc19mcmVxKCZzeXNfbWluLCAmc3lzX21heCk7Cj4gKwlpZ3RfaW5mbygi U3lzdGVtIG1pbiBmcmVxOiAlZE1IejsgbWF4IGZyZXE6ICVkTUh6XG4iLCBzeXNfbWluLCBzeXNf bWF4KTsKPiArCj4gKwl0cmlhbmdsZV9maWxsKGZyZXF1ZW5jaWVzLCBOX1NURVBTLCBzeXNfbWlu LCBzeXNfbWF4KTsKPiArCj4gKwlwbXUgPSBwZXJmX2k5MTVfb3BlbihJOTE1X1BNVV9SRVFVRVNU RURfRlJFUVVFTkNZKTsKPiArCWlndF9yZXF1aXJlKHBtdSA+PSAwKTsKPiArCj4gKwlmb3IgKGlu dCBvdXRlciA9IDA7IG91dGVyIDw9IDIqTl9TVEVQUzsgb3V0ZXIrKykgewo+ICsJCXVpbnQzMl90 IHN5c19mcmVxID0gZnJlcXVlbmNpZXNbb3V0ZXJdOwo+ICsJCXVpbnQzMl90IGN1ciwgZGlzY2Fy ZDsKPiArCj4gKwkJZ2VtX3F1aWVzY2VudF9ncHUoaTkxNSk7Cj4gKwkJc3BpbiA9IGlndF9zcGlu X25ldyhpOTE1KTsKPiArCQl1c2xlZXAoMTAwMDApOwo+ICsKPiArCQlzZXRfc3lzZnNfZnJlcShz eXNfZnJlcSwgc3lzX2ZyZXEpOwo+ICsJCWdldF9zeXNmc19mcmVxKCZjdXIsICZkaXNjYXJkKTsK PiArCj4gKwkJbWVhc3VyZWQgPSBtZWFzdXJlX2ZyZXF1ZW5jeShwbXUsIFNBTVBMRV9QRVJJT0Qp Owo+ICsJCWlndF9kZWJ1Z2ZzX2R1bXAoaTkxNSwgImk5MTVfcnBzX2Jvb3N0X2luZm8iKTsKPiAr Cj4gKwkJc2V0X3N5c2ZzX2ZyZXEoc3lzX21pbiwgc3lzX21heCk7Cj4gKwkJX19pZ3Rfc3Bpbl9m cmVlX2lkbGUoaTkxNSwgc3Bpbik7Cj4gKwo+ICsJCWlndF9pbmZvKCJzeXNmczogTWVhc3VyZWQg JS4xZk1IeiwgZXhwZWN0ZWQgJWRNaHpcbiIsCj4gKwkJCSBtZWFzdXJlZCwgY3VyKTsKPiArCQlw bXVfYXNzZXJ0KG1lYXN1cmVkLCBjdXIpOwo+ICsJfQo+ICsJZ2VtX3F1aWVzY2VudF9ncHUoaTkx NSk7Cj4gKwo+ICsJY2xvc2UocG11KTsKPiArCj4gKyN1bmRlZiBOX1NURVBTCj4gK30KPiArCj4g K3N0YXRpYyB2b2lkIHJlc3RvcmVfc3lzZnNfZnJlcShpbnQgc2lnKQo+ICt7Cj4gKwljaGFyIGJ1 ZlsyNTZdOwo+ICsKPiArCWlmIChpZ3Rfc3lzZnNfcmVhZChzeXNmcywgImd0X1JQbl9mcmVxX21o eiIsIGJ1Ziwgc2l6ZW9mKGJ1ZikpID4gMCkgewo+ICsJCWlndF9zeXNmc19zZXQoc3lzZnMsICJn dF9pZGxlX2ZyZXFfbWh6IiwgYnVmKTsKPiArCQlpZ3Rfc3lzZnNfc2V0KHN5c2ZzLCAiZ3RfbWlu X2ZyZXFfbWh6IiwgYnVmKTsKPiArCX0KPiArCj4gKwlpZiAoaWd0X3N5c2ZzX3JlYWQoc3lzZnMs ICJndF9SUDBfZnJlcV9taHoiLCBidWYsIHNpemVvZihidWYpKSA+IDApIHsKPiArCQlpZ3Rfc3lz ZnNfc2V0KHN5c2ZzLCAiZ3RfbWF4X2ZyZXFfbWh6IiwgYnVmKTsKPiArCQlpZ3Rfc3lzZnNfc2V0 KHN5c2ZzLCAiZ3RfYm9vc3RfZnJlcV9taHoiLCBidWYpOwo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0 aWMgdm9pZCBkaXNhYmxlX2Jvb3N0KGludCBpOTE1KQo+ICt7Cj4gKwljaGFyICp2YWx1ZTsKPiAr Cj4gKwl2YWx1ZSA9IGlndF9zeXNmc19nZXQoaTkxNSwgImd0X1JQbl9mcmVxX21oeiIpOwo+ICsJ aWd0X3N5c2ZzX3NldChpOTE1LCAiZ3RfbWluX2ZyZXFfbWh6IiwgdmFsdWUpOwo+ICsJaWd0X3N5 c2ZzX3NldChpOTE1LCAiZ3RfYm9vc3RfZnJlcV9taHoiLCB2YWx1ZSk7Cj4gKwlmcmVlKHZhbHVl KTsKPiArCj4gKwl2YWx1ZSA9IGlndF9zeXNmc19nZXQoaTkxNSwgImd0X1JQMF9mcmVxX21oeiIp Owo+ICsJaWd0X3N5c2ZzX3NldChpOTE1LCAiZ3RfbWF4X2ZyZXFfbWh6IiwgdmFsdWUpOwo+ICsJ ZnJlZSh2YWx1ZSk7Cj4gK30KPiArCj4gK2lndF9tYWluCj4gK3sKPiArCWludCBpOTE1ID0gLTE7 Cj4gKwo+ICsJaWd0X2ZpeHR1cmUgewo+ICsJCWk5MTUgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVS X0lOVEVMKTsKPiArCQlpZ3RfcmVxdWlyZV9nZW0oaTkxNSk7Cj4gKwo+ICsJCXN5c2ZzID0gaWd0 X3N5c2ZzX29wZW4oaTkxNSk7Cj4gKwkJaWd0X2Fzc2VydChzeXNmcyAhPSAtMSk7Cj4gKwkJaWd0 X2luc3RhbGxfZXhpdF9oYW5kbGVyKHJlc3RvcmVfc3lzZnNfZnJlcSk7Cj4gKwo+ICsJCWRpc2Fi bGVfYm9vc3Qoc3lzZnMpOwo+ICsJfQo+ICsKPiArCWlndF9zdWJ0ZXN0X2YoInN5c2ZzIikKPiAr CQlzeXNmc19yYW5nZShpOTE1KTsKPiArfQo+IGRpZmYgLS1naXQgYS90ZXN0cy9tZXNvbi5idWls ZCBiL3Rlc3RzL21lc29uLmJ1aWxkCj4gaW5kZXggY2EyYjhiNjJkLi5hOTA5ZDI3MWUgMTAwNjQ0 Cj4gLS0tIGEvdGVzdHMvbWVzb24uYnVpbGQKPiArKysgYi90ZXN0cy9tZXNvbi5idWlsZAo+IEBA IC0yOTEsNiArMjkxLDE0IEBAIHRlc3RfZXhlY3V0YWJsZXMgKz0gZXhlY3V0YWJsZSgnZ2VtX2Ny ZWF0ZScsCj4gIAkgICBpbnN0YWxsIDogdHJ1ZSkKPiAgdGVzdF9saXN0ICs9ICdnZW1fY3JlYXRl Jwo+ICAKPiArdGVzdF9leGVjdXRhYmxlcyArPSBleGVjdXRhYmxlKCdnZW1fY3R4X2ZyZXEnLAo+ ICsJICAgam9pbl9wYXRocygnaTkxNScsICdnZW1fY3R4X2ZyZXEuYycpLAo+ICsJICAgZGVwZW5k ZW5jaWVzIDogdGVzdF9kZXBzICsgWyBsaWJfaWd0X3BlcmYgXSwKPiArCSAgIGluc3RhbGxfZGly IDogbGliZXhlY2RpciwKPiArCSAgIGluc3RhbGxfcnBhdGggOiBsaWJleGVjZGlyX3JwYXRoZGly LAo+ICsJICAgaW5zdGFsbCA6IHRydWUpCj4gK3Rlc3RfbGlzdCArPSAnZ2VtX2N0eF9mcmVxJwo+ ICsKPiAgdGVzdF9leGVjdXRhYmxlcyArPSBleGVjdXRhYmxlKCdnZW1fY3R4X3NzZXUnLAo+ICAJ ICAgam9pbl9wYXRocygnaTkxNScsICdnZW1fY3R4X3NzZXUuYycpLAo+ICAJICAgZGVwZW5kZW5j aWVzIDogdGVzdF9kZXBzICsgWyBsaWJfaWd0X3BlcmYgXSwKPiAtLSAKPiAyLjI0LjAKPgo+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gaWd0LWRldiBt YWlsaW5nIGxpc3QKPiBpZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdApp Z3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [igt-dev] [PATCH i-g-t] igt: Add gem_ctx_freq to exercise requesting freq via sysfs Date: Tue, 26 Nov 2019 13:54:39 +0200 Message-ID: <8736ean98g.fsf@gaia.fi.intel.com> References: <20191126113826.2642042-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191126113826.2642042-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org Cc: igt-dev@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gT25jZSBw cm9wcG9zZWQgbG9uZyBhZ28gd2FzIHBlci1jb250ZXh0IGZyZXF1ZW5jeSBjb250cm9scy4gQXMg cGFydCBvZgo+IHRoYXQgdGhpcyB0ZXN0IHN1aXRlIHdhcyB3cml0dGVuLCB3aGljaCBhbW9uZyBp dHMgdGVzdHMgY292ZXJlZCB0aGUKPiBpbnRlcmFjdGlvbiBvZiBzeXNmcyB3aXRoIHRoZSBwZXIt Y29udGV4dCBjb250cm9scy4gV2hpbGUgd2Ugd2FpdCBhZ2Fpbgo+IGZvciBhcHByb3ZhbCBvZiB0 aGUgcGVyLWNvbnRleHQgQVBJLCB3ZSBjYW4gYXQgbGVhc3QgbGV2ZXJhZ2UgdGhlIHN5c2ZzCj4g dGVzdHMgdG8gcHJvdmlkZSBzb3JlbHkgbGFja2luZyBjb3ZlcmFnZSBvZiB0aGUgc3lzZnMga25v YnMuCgpzL3Byb3Bwb3NlZC9wcm9wb3NlZC4Kcy9pdHMvaXQncwoKPgo+IFNpZ25lZC1vZmYtYnk6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgoKQWNrZWQtYnk6IE1pa2Eg S3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgoKPiAtLS0KPiAgdGVzdHMv TWFrZWZpbGUuYW0gICAgICAgICB8ICAgMSArCj4gIHRlc3RzL01ha2VmaWxlLnNvdXJjZXMgICAg fCAgIDMgKwo+ICB0ZXN0cy9pOTE1L2dlbV9jdHhfZnJlcS5jIHwgMjE2ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCj4gIHRlc3RzL21lc29uLmJ1aWxkICAgICAgICAgfCAg IDggKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCAyMjggaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgdGVzdHMvaTkxNS9nZW1fY3R4X2ZyZXEuYwo+Cj4gZGlmZiAtLWdpdCBhL3Rlc3Rz L01ha2VmaWxlLmFtIGIvdGVzdHMvTWFrZWZpbGUuYW0KPiBpbmRleCA3ZDcxZGY4YzcuLjdmZTYw Yjc4ZSAxMDA2NDQKPiAtLS0gYS90ZXN0cy9NYWtlZmlsZS5hbQo+ICsrKyBiL3Rlc3RzL01ha2Vm aWxlLmFtCj4gQEAgLTkzLDYgKzkzLDcgQEAgZ2VtX2NyZWF0ZV9DRkxBR1MgPSAkKEFNX0NGTEFH UykgJChUSFJFQURfQ0ZMQUdTKQo+ICBnZW1fY3JlYXRlX0xEQUREID0gJChMREFERCkgLWxwdGhy ZWFkIC1sYXRvbWljCj4gIGdlbV9jbG9zZV9yYWNlX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAkKFRI UkVBRF9DRkxBR1MpCj4gIGdlbV9jbG9zZV9yYWNlX0xEQUREID0gJChMREFERCkgLWxwdGhyZWFk Cj4gK2dlbV9jdHhfZnJlcV9MREFERCA9ICQoTERBREQpICQodG9wX2J1aWxkZGlyKS9saWIvbGli aWd0X3BlcmYubGEKPiAgZ2VtX2N0eF90aHJhc2hfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoVEhS RUFEX0NGTEFHUykKPiAgZ2VtX2N0eF90aHJhc2hfTERBREQgPSAkKExEQUREKSAtbHB0aHJlYWQK PiAgZ2VtX2N0eF9zc2V1X0xEQUREID0gJChMREFERCkgJCh0b3BfYnVpbGRkaXIpL2xpYi9saWJp Z3RfcGVyZi5sYQo+IGRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIGIvdGVzdHMv TWFrZWZpbGUuc291cmNlcwo+IGluZGV4IGYyZGNjYTZkNy4uZDg2ZjljMjYzIDEwMDY0NAo+IC0t LSBhL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKPiArKysgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2Vz Cj4gQEAgLTE1Miw2ICsxNTIsOSBAQCBnZW1fY3R4X2VuZ2luZXNfU09VUkNFUyA9IGk5MTUvZ2Vt X2N0eF9lbmdpbmVzLmMKPiAgVEVTVFNfcHJvZ3MgKz0gZ2VtX2N0eF9leGVjCj4gIGdlbV9jdHhf ZXhlY19TT1VSQ0VTID0gaTkxNS9nZW1fY3R4X2V4ZWMuYwo+ICAKPiArVEVTVFNfcHJvZ3MgKz0g Z2VtX2N0eF9mcmVxCj4gK2dlbV9jdHhfZnJlcV9TT1VSQ0VTID0gaTkxNS9nZW1fY3R4X2ZyZXEu Ywo+ICsKPiAgVEVTVFNfcHJvZ3MgKz0gZ2VtX2N0eF9pc29sYXRpb24KPiAgZ2VtX2N0eF9pc29s YXRpb25fU09VUkNFUyA9IGk5MTUvZ2VtX2N0eF9pc29sYXRpb24uYwo+ICAKPiBkaWZmIC0tZ2l0 IGEvdGVzdHMvaTkxNS9nZW1fY3R4X2ZyZXEuYyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9mcmVxLmMK PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMC4uYmMwOTM2NTRhCj4gLS0t IC9kZXYvbnVsbAo+ICsrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9mcmVxLmMKPiBAQCAtMCwwICsx LDIxNiBAQAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgwqkgMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbgo+ ICsgKgo+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+ICsgKiB0 byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0 aG91dCBsaW1pdGF0aW9uCj4gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l cmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAo+ICsgKiBhbmQvb3Igc2VsbCBj b3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUK PiArICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xs b3dpbmcgY29uZGl0aW9uczoKPiArICoKPiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAo+ICsgKiBwYXJh Z3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y dGlvbnMgb2YgdGhlCj4gKyAqIFNvZnR3YXJlLgo+ICsgKgo+ICsgKiBUSEUgU09GVFdBUkUgSVMg UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBP Ugo+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U SUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPiArICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCj4gKyAqIFRIRSBB VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1B R0VTIE9SIE9USEVSCj4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O VFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCj4gKyAqIEZST00sIE9VVCBPRiBPUiBJ TiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElO R1MKPiArICogSU4gVEhFIFNPRlRXQVJFLgo+ICsgKgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxl cnJuby5oPgo+ICsjaW5jbHVkZSA8ZmNudGwuaD4KPiArI2luY2x1ZGUgPHNjaGVkLmg+Cj4gKyNp bmNsdWRlIDxzdGRsaWIuaD4KPiArI2luY2x1ZGUgPHN0ZGludC5oPgo+ICsjaW5jbHVkZSA8dW5p c3RkLmg+Cj4gKwo+ICsjaW5jbHVkZSAiaWd0LmgiCj4gKyNpbmNsdWRlICJpZ3RfcGVyZi5oIgo+ ICsjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCj4gKyNpbmNsdWRlICJzd19zeW5jLmgiCj4gKwo+ICsj ZGVmaW5lIFNBTVBMRV9QRVJJT0QgKFVTRUNfUEVSX1NFQyAvIDEwKQo+ICsjZGVmaW5lIFBNVV9U T0xFUkFOQ0UgMTAwCj4gKwo+ICtzdGF0aWMgaW50IHN5c2ZzID0gLTE7Cj4gKwo+ICtzdGF0aWMg dm9pZCBraWNrX3Jwc193b3JrZXIodm9pZCkKPiArewo+ICsJc2NoZWRfeWllbGQoKTsKPiArCXVz bGVlcChTQU1QTEVfUEVSSU9EKTsKPiArfQo+ICsKPiArc3RhdGljIGRvdWJsZSBtZWFzdXJlX2Zy ZXF1ZW5jeShpbnQgcG11LCBpbnQgcGVyaW9kX3VzKQo+ICt7Cj4gKwl1aW50NjRfdCBkYXRhWzJd Owo+ICsJdWludDY0X3QgZF90LCBkX3Y7Cj4gKwo+ICsJa2lja19ycHNfd29ya2VyKCk7IC8qIGxl dCB0aGUga3RocmVhZHMgKGludGVsX3Jwc193b3JrKSBydW4gKi8KPiArCj4gKwlpZ3RfYXNzZXJ0 X2VxKHJlYWQocG11LCBkYXRhLCBzaXplb2YoZGF0YSkpLCBzaXplb2YoZGF0YSkpOwo+ICsJZF92 ID0gLWRhdGFbMF07Cj4gKwlkX3QgPSAtZGF0YVsxXTsKPiArCj4gKwl1c2xlZXAocGVyaW9kX3Vz KTsKPiArCj4gKwlpZ3RfYXNzZXJ0X2VxKHJlYWQocG11LCBkYXRhLCBzaXplb2YoZGF0YSkpLCBz aXplb2YoZGF0YSkpOwo+ICsJZF92ICs9IGRhdGFbMF07Cj4gKwlkX3QgKz0gZGF0YVsxXTsKPiAr Cj4gKwlyZXR1cm4gZF92ICogMWU5IC8gZF90Owo+ICt9Cj4gKwo+ICtzdGF0aWMgYm9vbCBfX3Bt dV93aXRoaW5fdG9sZXJhbmNlKGRvdWJsZSBhY3R1YWwsIGRvdWJsZSB0YXJnZXQpCj4gK3sKPiAr CXJldHVybiAoYWN0dWFsID4gdGFyZ2V0IC0gUE1VX1RPTEVSQU5DRSAmJgo+ICsJCWFjdHVhbCA8 IHRhcmdldCArIFBNVV9UT0xFUkFOQ0UpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBwbXVfYXNz ZXJ0KGRvdWJsZSBhY3R1YWwsIGRvdWJsZSB0YXJnZXQpCj4gK3sKPiArCWlndF9hc3NlcnRfZihf X3BtdV93aXRoaW5fdG9sZXJhbmNlKGFjdHVhbCwgdGFyZ2V0KSwKPiArCQkgICAgICJNZWFzdXJl ZCBmcmVxdWVuY3kgJS4yZk1IeiwgaXMgYmV5b25kIHRhcmdldCAlLjBmwrElZE1oelxuIiwKPiAr CQkgICAgIGFjdHVhbCwgdGFyZ2V0LCBQTVVfVE9MRVJBTkNFKTsKPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgYnVzeV93YWl0X3VudGlsX2lkbGUoaW50IGk5MTUsIGlndF9zcGluX3QgKnNwaW4pCj4g K3sKPiArCWlndF9zcGluX2VuZChzcGluKTsKPiArCWRvIHsKPiArCQl1c2xlZXAoMTAwMDApOwo+ ICsJfSB3aGlsZSAoZ2VtX2JvX2J1c3koaTkxNSwgc3Bpbi0+aGFuZGxlKSk7Cj4gK30KPiArCj4g K3N0YXRpYyB2b2lkIF9faWd0X3NwaW5fZnJlZV9pZGxlKGludCBpOTE1LCBpZ3Rfc3Bpbl90ICpz cGluKQo+ICt7Cj4gKwlidXN5X3dhaXRfdW50aWxfaWRsZShpOTE1LCBzcGluKTsKPiArCj4gKwlp Z3Rfc3Bpbl9mcmVlKGk5MTUsIHNwaW4pOwo+ICt9Cj4gKwo+ICsjZGVmaW5lIFRSSUFOR0xFX1NJ WkUoeCkgKDIgKiAoeCkgKyAxKQo+ICtzdGF0aWMgdm9pZCB0cmlhbmdsZV9maWxsKHVpbnQzMl90 ICp0LCB1bnNpZ25lZCBpbnQgbnN0ZXAsCj4gKwkJCSAgdWludDMyX3QgbWluLCB1aW50MzJfdCBt YXgpCj4gK3sKPiArCWZvciAodW5zaWduZWQgaW50IHN0ZXAgPSAwOyBzdGVwIDw9IDIqbnN0ZXA7 IHN0ZXArKykgewo+ICsJCWludCBmcmFjID0gc3RlcCA+IG5zdGVwID8gMipuc3RlcCAtIHN0ZXAg OiBzdGVwOwo+ICsJCXRbc3RlcF0gPSBtaW4gKyAobWF4IC0gbWluKSAqIGZyYWMgLyBuc3RlcDsK PiArCX0KPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2V0X3N5c2ZzX2ZyZXEodWludDMyX3QgbWlu LCB1aW50MzJfdCBtYXgpCj4gK3sKPiArCWlndF9zeXNmc19wcmludGYoc3lzZnMsICJndF9taW5f ZnJlcV9taHoiLCAiJXUiLCBtaW4pOwo+ICsJaWd0X3N5c2ZzX3ByaW50ZihzeXNmcywgImd0X21h eF9mcmVxX21oeiIsICIldSIsIG1heCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGdldF9zeXNm c19mcmVxKHVpbnQzMl90ICptaW4sIHVpbnQzMl90ICptYXgpCj4gK3sKPiArCWlndF9zeXNmc19z Y2FuZihzeXNmcywgImd0X21pbl9mcmVxX21oeiIsICIldSIsIG1pbik7Cj4gKwlpZ3Rfc3lzZnNf c2NhbmYoc3lzZnMsICJndF9tYXhfZnJlcV9taHoiLCAiJXUiLCBtYXgpOwo+ICt9Cj4gKwo+ICtz dGF0aWMgdm9pZCBzeXNmc19yYW5nZShpbnQgaTkxNSkKPiArewo+ICsjZGVmaW5lIE5fU1RFUFMg MTAKPiArCXVpbnQzMl90IGZyZXF1ZW5jaWVzW1RSSUFOR0xFX1NJWkUoTl9TVEVQUyldOwo+ICsJ dWludDMyX3Qgc3lzX21pbiwgc3lzX21heDsKPiArCWlndF9zcGluX3QgKnNwaW47Cj4gKwlkb3Vi bGUgbWVhc3VyZWQ7Cj4gKwlpbnQgcG11Owo+ICsKPiArCS8qCj4gKwkgKiBUaGUgc3lzZnMgaW50 ZXJmYWNlIHNldHMgdGhlIGdsb2JhbCBsaW1pdHMgYW5kIG92ZXJyaWRlcyB0aGUKPiArCSAqIHVz ZXIncyByZXF1ZXN0LiBTbyB3ZSBjYW4gdG8gY2hlY2sgdGhhdCBpZiB0aGUgdXNlciByZXF1ZXN0 cwo+ICsJICogYSByYW5nZSBvdXRzaWRlIG9mIHRoZSBzeXNmcywgdGhlIHJlcXVlc3RzIGFyZSBv bmx5IHJ1biBhdCB0aGUKPiArCSAqIGNvbnN0cmlhaW5lZCBzeXNmcyByYW5nZS4KPiArCSAqLwo+ ICsKPiArCWdldF9zeXNmc19mcmVxKCZzeXNfbWluLCAmc3lzX21heCk7Cj4gKwlpZ3RfaW5mbygi U3lzdGVtIG1pbiBmcmVxOiAlZE1IejsgbWF4IGZyZXE6ICVkTUh6XG4iLCBzeXNfbWluLCBzeXNf bWF4KTsKPiArCj4gKwl0cmlhbmdsZV9maWxsKGZyZXF1ZW5jaWVzLCBOX1NURVBTLCBzeXNfbWlu LCBzeXNfbWF4KTsKPiArCj4gKwlwbXUgPSBwZXJmX2k5MTVfb3BlbihJOTE1X1BNVV9SRVFVRVNU RURfRlJFUVVFTkNZKTsKPiArCWlndF9yZXF1aXJlKHBtdSA+PSAwKTsKPiArCj4gKwlmb3IgKGlu dCBvdXRlciA9IDA7IG91dGVyIDw9IDIqTl9TVEVQUzsgb3V0ZXIrKykgewo+ICsJCXVpbnQzMl90 IHN5c19mcmVxID0gZnJlcXVlbmNpZXNbb3V0ZXJdOwo+ICsJCXVpbnQzMl90IGN1ciwgZGlzY2Fy ZDsKPiArCj4gKwkJZ2VtX3F1aWVzY2VudF9ncHUoaTkxNSk7Cj4gKwkJc3BpbiA9IGlndF9zcGlu X25ldyhpOTE1KTsKPiArCQl1c2xlZXAoMTAwMDApOwo+ICsKPiArCQlzZXRfc3lzZnNfZnJlcShz eXNfZnJlcSwgc3lzX2ZyZXEpOwo+ICsJCWdldF9zeXNmc19mcmVxKCZjdXIsICZkaXNjYXJkKTsK PiArCj4gKwkJbWVhc3VyZWQgPSBtZWFzdXJlX2ZyZXF1ZW5jeShwbXUsIFNBTVBMRV9QRVJJT0Qp Owo+ICsJCWlndF9kZWJ1Z2ZzX2R1bXAoaTkxNSwgImk5MTVfcnBzX2Jvb3N0X2luZm8iKTsKPiAr Cj4gKwkJc2V0X3N5c2ZzX2ZyZXEoc3lzX21pbiwgc3lzX21heCk7Cj4gKwkJX19pZ3Rfc3Bpbl9m cmVlX2lkbGUoaTkxNSwgc3Bpbik7Cj4gKwo+ICsJCWlndF9pbmZvKCJzeXNmczogTWVhc3VyZWQg JS4xZk1IeiwgZXhwZWN0ZWQgJWRNaHpcbiIsCj4gKwkJCSBtZWFzdXJlZCwgY3VyKTsKPiArCQlw bXVfYXNzZXJ0KG1lYXN1cmVkLCBjdXIpOwo+ICsJfQo+ICsJZ2VtX3F1aWVzY2VudF9ncHUoaTkx NSk7Cj4gKwo+ICsJY2xvc2UocG11KTsKPiArCj4gKyN1bmRlZiBOX1NURVBTCj4gK30KPiArCj4g K3N0YXRpYyB2b2lkIHJlc3RvcmVfc3lzZnNfZnJlcShpbnQgc2lnKQo+ICt7Cj4gKwljaGFyIGJ1 ZlsyNTZdOwo+ICsKPiArCWlmIChpZ3Rfc3lzZnNfcmVhZChzeXNmcywgImd0X1JQbl9mcmVxX21o eiIsIGJ1Ziwgc2l6ZW9mKGJ1ZikpID4gMCkgewo+ICsJCWlndF9zeXNmc19zZXQoc3lzZnMsICJn dF9pZGxlX2ZyZXFfbWh6IiwgYnVmKTsKPiArCQlpZ3Rfc3lzZnNfc2V0KHN5c2ZzLCAiZ3RfbWlu X2ZyZXFfbWh6IiwgYnVmKTsKPiArCX0KPiArCj4gKwlpZiAoaWd0X3N5c2ZzX3JlYWQoc3lzZnMs ICJndF9SUDBfZnJlcV9taHoiLCBidWYsIHNpemVvZihidWYpKSA+IDApIHsKPiArCQlpZ3Rfc3lz ZnNfc2V0KHN5c2ZzLCAiZ3RfbWF4X2ZyZXFfbWh6IiwgYnVmKTsKPiArCQlpZ3Rfc3lzZnNfc2V0 KHN5c2ZzLCAiZ3RfYm9vc3RfZnJlcV9taHoiLCBidWYpOwo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0 aWMgdm9pZCBkaXNhYmxlX2Jvb3N0KGludCBpOTE1KQo+ICt7Cj4gKwljaGFyICp2YWx1ZTsKPiAr Cj4gKwl2YWx1ZSA9IGlndF9zeXNmc19nZXQoaTkxNSwgImd0X1JQbl9mcmVxX21oeiIpOwo+ICsJ aWd0X3N5c2ZzX3NldChpOTE1LCAiZ3RfbWluX2ZyZXFfbWh6IiwgdmFsdWUpOwo+ICsJaWd0X3N5 c2ZzX3NldChpOTE1LCAiZ3RfYm9vc3RfZnJlcV9taHoiLCB2YWx1ZSk7Cj4gKwlmcmVlKHZhbHVl KTsKPiArCj4gKwl2YWx1ZSA9IGlndF9zeXNmc19nZXQoaTkxNSwgImd0X1JQMF9mcmVxX21oeiIp Owo+ICsJaWd0X3N5c2ZzX3NldChpOTE1LCAiZ3RfbWF4X2ZyZXFfbWh6IiwgdmFsdWUpOwo+ICsJ ZnJlZSh2YWx1ZSk7Cj4gK30KPiArCj4gK2lndF9tYWluCj4gK3sKPiArCWludCBpOTE1ID0gLTE7 Cj4gKwo+ICsJaWd0X2ZpeHR1cmUgewo+ICsJCWk5MTUgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVS X0lOVEVMKTsKPiArCQlpZ3RfcmVxdWlyZV9nZW0oaTkxNSk7Cj4gKwo+ICsJCXN5c2ZzID0gaWd0 X3N5c2ZzX29wZW4oaTkxNSk7Cj4gKwkJaWd0X2Fzc2VydChzeXNmcyAhPSAtMSk7Cj4gKwkJaWd0 X2luc3RhbGxfZXhpdF9oYW5kbGVyKHJlc3RvcmVfc3lzZnNfZnJlcSk7Cj4gKwo+ICsJCWRpc2Fi bGVfYm9vc3Qoc3lzZnMpOwo+ICsJfQo+ICsKPiArCWlndF9zdWJ0ZXN0X2YoInN5c2ZzIikKPiAr CQlzeXNmc19yYW5nZShpOTE1KTsKPiArfQo+IGRpZmYgLS1naXQgYS90ZXN0cy9tZXNvbi5idWls ZCBiL3Rlc3RzL21lc29uLmJ1aWxkCj4gaW5kZXggY2EyYjhiNjJkLi5hOTA5ZDI3MWUgMTAwNjQ0 Cj4gLS0tIGEvdGVzdHMvbWVzb24uYnVpbGQKPiArKysgYi90ZXN0cy9tZXNvbi5idWlsZAo+IEBA IC0yOTEsNiArMjkxLDE0IEBAIHRlc3RfZXhlY3V0YWJsZXMgKz0gZXhlY3V0YWJsZSgnZ2VtX2Ny ZWF0ZScsCj4gIAkgICBpbnN0YWxsIDogdHJ1ZSkKPiAgdGVzdF9saXN0ICs9ICdnZW1fY3JlYXRl Jwo+ICAKPiArdGVzdF9leGVjdXRhYmxlcyArPSBleGVjdXRhYmxlKCdnZW1fY3R4X2ZyZXEnLAo+ ICsJICAgam9pbl9wYXRocygnaTkxNScsICdnZW1fY3R4X2ZyZXEuYycpLAo+ICsJICAgZGVwZW5k ZW5jaWVzIDogdGVzdF9kZXBzICsgWyBsaWJfaWd0X3BlcmYgXSwKPiArCSAgIGluc3RhbGxfZGly IDogbGliZXhlY2RpciwKPiArCSAgIGluc3RhbGxfcnBhdGggOiBsaWJleGVjZGlyX3JwYXRoZGly LAo+ICsJICAgaW5zdGFsbCA6IHRydWUpCj4gK3Rlc3RfbGlzdCArPSAnZ2VtX2N0eF9mcmVxJwo+ ICsKPiAgdGVzdF9leGVjdXRhYmxlcyArPSBleGVjdXRhYmxlKCdnZW1fY3R4X3NzZXUnLAo+ICAJ ICAgam9pbl9wYXRocygnaTkxNScsICdnZW1fY3R4X3NzZXUuYycpLAo+ICAJICAgZGVwZW5kZW5j aWVzIDogdGVzdF9kZXBzICsgWyBsaWJfaWd0X3BlcmYgXSwKPiAtLSAKPiAyLjI0LjAKPgo+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gaWd0LWRldiBt YWlsaW5nIGxpc3QKPiBpZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C3BECC432C0 for ; Tue, 26 Nov 2019 11:55:05 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9B56A2073F for ; Tue, 26 Nov 2019 11:55:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9B56A2073F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E911A6E2F8; Tue, 26 Nov 2019 11:55:04 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9EC1B6E098; Tue, 26 Nov 2019 11:55:03 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Nov 2019 03:55:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,245,1571727600"; d="scan'208";a="260678531" Received: from gaia.fi.intel.com ([10.237.72.192]) by FMSMGA003.fm.intel.com with ESMTP; 26 Nov 2019 03:55:02 -0800 Received: by gaia.fi.intel.com (Postfix, from userid 1000) id 1BCCD5C1E3E; Tue, 26 Nov 2019 13:54:40 +0200 (EET) From: Mika Kuoppala To: Chris Wilson , intel-gfx@lists.freedesktop.org In-Reply-To: <20191126113826.2642042-1-chris@chris-wilson.co.uk> References: <20191126113826.2642042-1-chris@chris-wilson.co.uk> Date: Tue, 26 Nov 2019 13:54:39 +0200 Message-ID: <8736ean98g.fsf@gaia.fi.intel.com> MIME-Version: 1.0 Subject: Re: [Intel-gfx] [igt-dev] [PATCH i-g-t] igt: Add gem_ctx_freq to exercise requesting freq via sysfs X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: igt-dev@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191126115439.Ez8cMARCbx9SpC_7DUpCNl9cnuj5mTbIykcjpkK8utk@z> Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gT25jZSBw cm9wcG9zZWQgbG9uZyBhZ28gd2FzIHBlci1jb250ZXh0IGZyZXF1ZW5jeSBjb250cm9scy4gQXMg cGFydCBvZgo+IHRoYXQgdGhpcyB0ZXN0IHN1aXRlIHdhcyB3cml0dGVuLCB3aGljaCBhbW9uZyBp dHMgdGVzdHMgY292ZXJlZCB0aGUKPiBpbnRlcmFjdGlvbiBvZiBzeXNmcyB3aXRoIHRoZSBwZXIt Y29udGV4dCBjb250cm9scy4gV2hpbGUgd2Ugd2FpdCBhZ2Fpbgo+IGZvciBhcHByb3ZhbCBvZiB0 aGUgcGVyLWNvbnRleHQgQVBJLCB3ZSBjYW4gYXQgbGVhc3QgbGV2ZXJhZ2UgdGhlIHN5c2ZzCj4g dGVzdHMgdG8gcHJvdmlkZSBzb3JlbHkgbGFja2luZyBjb3ZlcmFnZSBvZiB0aGUgc3lzZnMga25v YnMuCgpzL3Byb3Bwb3NlZC9wcm9wb3NlZC4Kcy9pdHMvaXQncwoKPgo+IFNpZ25lZC1vZmYtYnk6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgoKQWNrZWQtYnk6IE1pa2Eg S3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgoKPiAtLS0KPiAgdGVzdHMv TWFrZWZpbGUuYW0gICAgICAgICB8ICAgMSArCj4gIHRlc3RzL01ha2VmaWxlLnNvdXJjZXMgICAg fCAgIDMgKwo+ICB0ZXN0cy9pOTE1L2dlbV9jdHhfZnJlcS5jIHwgMjE2ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCj4gIHRlc3RzL21lc29uLmJ1aWxkICAgICAgICAgfCAg IDggKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCAyMjggaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgdGVzdHMvaTkxNS9nZW1fY3R4X2ZyZXEuYwo+Cj4gZGlmZiAtLWdpdCBhL3Rlc3Rz L01ha2VmaWxlLmFtIGIvdGVzdHMvTWFrZWZpbGUuYW0KPiBpbmRleCA3ZDcxZGY4YzcuLjdmZTYw Yjc4ZSAxMDA2NDQKPiAtLS0gYS90ZXN0cy9NYWtlZmlsZS5hbQo+ICsrKyBiL3Rlc3RzL01ha2Vm aWxlLmFtCj4gQEAgLTkzLDYgKzkzLDcgQEAgZ2VtX2NyZWF0ZV9DRkxBR1MgPSAkKEFNX0NGTEFH UykgJChUSFJFQURfQ0ZMQUdTKQo+ICBnZW1fY3JlYXRlX0xEQUREID0gJChMREFERCkgLWxwdGhy ZWFkIC1sYXRvbWljCj4gIGdlbV9jbG9zZV9yYWNlX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAkKFRI UkVBRF9DRkxBR1MpCj4gIGdlbV9jbG9zZV9yYWNlX0xEQUREID0gJChMREFERCkgLWxwdGhyZWFk Cj4gK2dlbV9jdHhfZnJlcV9MREFERCA9ICQoTERBREQpICQodG9wX2J1aWxkZGlyKS9saWIvbGli aWd0X3BlcmYubGEKPiAgZ2VtX2N0eF90aHJhc2hfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoVEhS RUFEX0NGTEFHUykKPiAgZ2VtX2N0eF90aHJhc2hfTERBREQgPSAkKExEQUREKSAtbHB0aHJlYWQK PiAgZ2VtX2N0eF9zc2V1X0xEQUREID0gJChMREFERCkgJCh0b3BfYnVpbGRkaXIpL2xpYi9saWJp Z3RfcGVyZi5sYQo+IGRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIGIvdGVzdHMv TWFrZWZpbGUuc291cmNlcwo+IGluZGV4IGYyZGNjYTZkNy4uZDg2ZjljMjYzIDEwMDY0NAo+IC0t LSBhL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKPiArKysgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2Vz Cj4gQEAgLTE1Miw2ICsxNTIsOSBAQCBnZW1fY3R4X2VuZ2luZXNfU09VUkNFUyA9IGk5MTUvZ2Vt X2N0eF9lbmdpbmVzLmMKPiAgVEVTVFNfcHJvZ3MgKz0gZ2VtX2N0eF9leGVjCj4gIGdlbV9jdHhf ZXhlY19TT1VSQ0VTID0gaTkxNS9nZW1fY3R4X2V4ZWMuYwo+ICAKPiArVEVTVFNfcHJvZ3MgKz0g Z2VtX2N0eF9mcmVxCj4gK2dlbV9jdHhfZnJlcV9TT1VSQ0VTID0gaTkxNS9nZW1fY3R4X2ZyZXEu Ywo+ICsKPiAgVEVTVFNfcHJvZ3MgKz0gZ2VtX2N0eF9pc29sYXRpb24KPiAgZ2VtX2N0eF9pc29s YXRpb25fU09VUkNFUyA9IGk5MTUvZ2VtX2N0eF9pc29sYXRpb24uYwo+ICAKPiBkaWZmIC0tZ2l0 IGEvdGVzdHMvaTkxNS9nZW1fY3R4X2ZyZXEuYyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9mcmVxLmMK PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMC4uYmMwOTM2NTRhCj4gLS0t IC9kZXYvbnVsbAo+ICsrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9mcmVxLmMKPiBAQCAtMCwwICsx LDIxNiBAQAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgwqkgMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbgo+ ICsgKgo+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+ICsgKiB0 byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0 aG91dCBsaW1pdGF0aW9uCj4gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l cmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAo+ICsgKiBhbmQvb3Igc2VsbCBj b3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUK PiArICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xs b3dpbmcgY29uZGl0aW9uczoKPiArICoKPiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAo+ICsgKiBwYXJh Z3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y dGlvbnMgb2YgdGhlCj4gKyAqIFNvZnR3YXJlLgo+ICsgKgo+ICsgKiBUSEUgU09GVFdBUkUgSVMg UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBP Ugo+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U SUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPiArICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCj4gKyAqIFRIRSBB VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1B R0VTIE9SIE9USEVSCj4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O VFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCj4gKyAqIEZST00sIE9VVCBPRiBPUiBJ TiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElO R1MKPiArICogSU4gVEhFIFNPRlRXQVJFLgo+ICsgKgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxl cnJuby5oPgo+ICsjaW5jbHVkZSA8ZmNudGwuaD4KPiArI2luY2x1ZGUgPHNjaGVkLmg+Cj4gKyNp bmNsdWRlIDxzdGRsaWIuaD4KPiArI2luY2x1ZGUgPHN0ZGludC5oPgo+ICsjaW5jbHVkZSA8dW5p c3RkLmg+Cj4gKwo+ICsjaW5jbHVkZSAiaWd0LmgiCj4gKyNpbmNsdWRlICJpZ3RfcGVyZi5oIgo+ ICsjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCj4gKyNpbmNsdWRlICJzd19zeW5jLmgiCj4gKwo+ICsj ZGVmaW5lIFNBTVBMRV9QRVJJT0QgKFVTRUNfUEVSX1NFQyAvIDEwKQo+ICsjZGVmaW5lIFBNVV9U T0xFUkFOQ0UgMTAwCj4gKwo+ICtzdGF0aWMgaW50IHN5c2ZzID0gLTE7Cj4gKwo+ICtzdGF0aWMg dm9pZCBraWNrX3Jwc193b3JrZXIodm9pZCkKPiArewo+ICsJc2NoZWRfeWllbGQoKTsKPiArCXVz bGVlcChTQU1QTEVfUEVSSU9EKTsKPiArfQo+ICsKPiArc3RhdGljIGRvdWJsZSBtZWFzdXJlX2Zy ZXF1ZW5jeShpbnQgcG11LCBpbnQgcGVyaW9kX3VzKQo+ICt7Cj4gKwl1aW50NjRfdCBkYXRhWzJd Owo+ICsJdWludDY0X3QgZF90LCBkX3Y7Cj4gKwo+ICsJa2lja19ycHNfd29ya2VyKCk7IC8qIGxl dCB0aGUga3RocmVhZHMgKGludGVsX3Jwc193b3JrKSBydW4gKi8KPiArCj4gKwlpZ3RfYXNzZXJ0 X2VxKHJlYWQocG11LCBkYXRhLCBzaXplb2YoZGF0YSkpLCBzaXplb2YoZGF0YSkpOwo+ICsJZF92 ID0gLWRhdGFbMF07Cj4gKwlkX3QgPSAtZGF0YVsxXTsKPiArCj4gKwl1c2xlZXAocGVyaW9kX3Vz KTsKPiArCj4gKwlpZ3RfYXNzZXJ0X2VxKHJlYWQocG11LCBkYXRhLCBzaXplb2YoZGF0YSkpLCBz aXplb2YoZGF0YSkpOwo+ICsJZF92ICs9IGRhdGFbMF07Cj4gKwlkX3QgKz0gZGF0YVsxXTsKPiAr Cj4gKwlyZXR1cm4gZF92ICogMWU5IC8gZF90Owo+ICt9Cj4gKwo+ICtzdGF0aWMgYm9vbCBfX3Bt dV93aXRoaW5fdG9sZXJhbmNlKGRvdWJsZSBhY3R1YWwsIGRvdWJsZSB0YXJnZXQpCj4gK3sKPiAr CXJldHVybiAoYWN0dWFsID4gdGFyZ2V0IC0gUE1VX1RPTEVSQU5DRSAmJgo+ICsJCWFjdHVhbCA8 IHRhcmdldCArIFBNVV9UT0xFUkFOQ0UpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBwbXVfYXNz ZXJ0KGRvdWJsZSBhY3R1YWwsIGRvdWJsZSB0YXJnZXQpCj4gK3sKPiArCWlndF9hc3NlcnRfZihf X3BtdV93aXRoaW5fdG9sZXJhbmNlKGFjdHVhbCwgdGFyZ2V0KSwKPiArCQkgICAgICJNZWFzdXJl ZCBmcmVxdWVuY3kgJS4yZk1IeiwgaXMgYmV5b25kIHRhcmdldCAlLjBmwrElZE1oelxuIiwKPiAr CQkgICAgIGFjdHVhbCwgdGFyZ2V0LCBQTVVfVE9MRVJBTkNFKTsKPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgYnVzeV93YWl0X3VudGlsX2lkbGUoaW50IGk5MTUsIGlndF9zcGluX3QgKnNwaW4pCj4g K3sKPiArCWlndF9zcGluX2VuZChzcGluKTsKPiArCWRvIHsKPiArCQl1c2xlZXAoMTAwMDApOwo+ ICsJfSB3aGlsZSAoZ2VtX2JvX2J1c3koaTkxNSwgc3Bpbi0+aGFuZGxlKSk7Cj4gK30KPiArCj4g K3N0YXRpYyB2b2lkIF9faWd0X3NwaW5fZnJlZV9pZGxlKGludCBpOTE1LCBpZ3Rfc3Bpbl90ICpz cGluKQo+ICt7Cj4gKwlidXN5X3dhaXRfdW50aWxfaWRsZShpOTE1LCBzcGluKTsKPiArCj4gKwlp Z3Rfc3Bpbl9mcmVlKGk5MTUsIHNwaW4pOwo+ICt9Cj4gKwo+ICsjZGVmaW5lIFRSSUFOR0xFX1NJ WkUoeCkgKDIgKiAoeCkgKyAxKQo+ICtzdGF0aWMgdm9pZCB0cmlhbmdsZV9maWxsKHVpbnQzMl90 ICp0LCB1bnNpZ25lZCBpbnQgbnN0ZXAsCj4gKwkJCSAgdWludDMyX3QgbWluLCB1aW50MzJfdCBt YXgpCj4gK3sKPiArCWZvciAodW5zaWduZWQgaW50IHN0ZXAgPSAwOyBzdGVwIDw9IDIqbnN0ZXA7 IHN0ZXArKykgewo+ICsJCWludCBmcmFjID0gc3RlcCA+IG5zdGVwID8gMipuc3RlcCAtIHN0ZXAg OiBzdGVwOwo+ICsJCXRbc3RlcF0gPSBtaW4gKyAobWF4IC0gbWluKSAqIGZyYWMgLyBuc3RlcDsK PiArCX0KPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2V0X3N5c2ZzX2ZyZXEodWludDMyX3QgbWlu LCB1aW50MzJfdCBtYXgpCj4gK3sKPiArCWlndF9zeXNmc19wcmludGYoc3lzZnMsICJndF9taW5f ZnJlcV9taHoiLCAiJXUiLCBtaW4pOwo+ICsJaWd0X3N5c2ZzX3ByaW50ZihzeXNmcywgImd0X21h eF9mcmVxX21oeiIsICIldSIsIG1heCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGdldF9zeXNm c19mcmVxKHVpbnQzMl90ICptaW4sIHVpbnQzMl90ICptYXgpCj4gK3sKPiArCWlndF9zeXNmc19z Y2FuZihzeXNmcywgImd0X21pbl9mcmVxX21oeiIsICIldSIsIG1pbik7Cj4gKwlpZ3Rfc3lzZnNf c2NhbmYoc3lzZnMsICJndF9tYXhfZnJlcV9taHoiLCAiJXUiLCBtYXgpOwo+ICt9Cj4gKwo+ICtz dGF0aWMgdm9pZCBzeXNmc19yYW5nZShpbnQgaTkxNSkKPiArewo+ICsjZGVmaW5lIE5fU1RFUFMg MTAKPiArCXVpbnQzMl90IGZyZXF1ZW5jaWVzW1RSSUFOR0xFX1NJWkUoTl9TVEVQUyldOwo+ICsJ dWludDMyX3Qgc3lzX21pbiwgc3lzX21heDsKPiArCWlndF9zcGluX3QgKnNwaW47Cj4gKwlkb3Vi bGUgbWVhc3VyZWQ7Cj4gKwlpbnQgcG11Owo+ICsKPiArCS8qCj4gKwkgKiBUaGUgc3lzZnMgaW50 ZXJmYWNlIHNldHMgdGhlIGdsb2JhbCBsaW1pdHMgYW5kIG92ZXJyaWRlcyB0aGUKPiArCSAqIHVz ZXIncyByZXF1ZXN0LiBTbyB3ZSBjYW4gdG8gY2hlY2sgdGhhdCBpZiB0aGUgdXNlciByZXF1ZXN0 cwo+ICsJICogYSByYW5nZSBvdXRzaWRlIG9mIHRoZSBzeXNmcywgdGhlIHJlcXVlc3RzIGFyZSBv bmx5IHJ1biBhdCB0aGUKPiArCSAqIGNvbnN0cmlhaW5lZCBzeXNmcyByYW5nZS4KPiArCSAqLwo+ ICsKPiArCWdldF9zeXNmc19mcmVxKCZzeXNfbWluLCAmc3lzX21heCk7Cj4gKwlpZ3RfaW5mbygi U3lzdGVtIG1pbiBmcmVxOiAlZE1IejsgbWF4IGZyZXE6ICVkTUh6XG4iLCBzeXNfbWluLCBzeXNf bWF4KTsKPiArCj4gKwl0cmlhbmdsZV9maWxsKGZyZXF1ZW5jaWVzLCBOX1NURVBTLCBzeXNfbWlu LCBzeXNfbWF4KTsKPiArCj4gKwlwbXUgPSBwZXJmX2k5MTVfb3BlbihJOTE1X1BNVV9SRVFVRVNU RURfRlJFUVVFTkNZKTsKPiArCWlndF9yZXF1aXJlKHBtdSA+PSAwKTsKPiArCj4gKwlmb3IgKGlu dCBvdXRlciA9IDA7IG91dGVyIDw9IDIqTl9TVEVQUzsgb3V0ZXIrKykgewo+ICsJCXVpbnQzMl90 IHN5c19mcmVxID0gZnJlcXVlbmNpZXNbb3V0ZXJdOwo+ICsJCXVpbnQzMl90IGN1ciwgZGlzY2Fy ZDsKPiArCj4gKwkJZ2VtX3F1aWVzY2VudF9ncHUoaTkxNSk7Cj4gKwkJc3BpbiA9IGlndF9zcGlu X25ldyhpOTE1KTsKPiArCQl1c2xlZXAoMTAwMDApOwo+ICsKPiArCQlzZXRfc3lzZnNfZnJlcShz eXNfZnJlcSwgc3lzX2ZyZXEpOwo+ICsJCWdldF9zeXNmc19mcmVxKCZjdXIsICZkaXNjYXJkKTsK PiArCj4gKwkJbWVhc3VyZWQgPSBtZWFzdXJlX2ZyZXF1ZW5jeShwbXUsIFNBTVBMRV9QRVJJT0Qp Owo+ICsJCWlndF9kZWJ1Z2ZzX2R1bXAoaTkxNSwgImk5MTVfcnBzX2Jvb3N0X2luZm8iKTsKPiAr Cj4gKwkJc2V0X3N5c2ZzX2ZyZXEoc3lzX21pbiwgc3lzX21heCk7Cj4gKwkJX19pZ3Rfc3Bpbl9m cmVlX2lkbGUoaTkxNSwgc3Bpbik7Cj4gKwo+ICsJCWlndF9pbmZvKCJzeXNmczogTWVhc3VyZWQg JS4xZk1IeiwgZXhwZWN0ZWQgJWRNaHpcbiIsCj4gKwkJCSBtZWFzdXJlZCwgY3VyKTsKPiArCQlw bXVfYXNzZXJ0KG1lYXN1cmVkLCBjdXIpOwo+ICsJfQo+ICsJZ2VtX3F1aWVzY2VudF9ncHUoaTkx NSk7Cj4gKwo+ICsJY2xvc2UocG11KTsKPiArCj4gKyN1bmRlZiBOX1NURVBTCj4gK30KPiArCj4g K3N0YXRpYyB2b2lkIHJlc3RvcmVfc3lzZnNfZnJlcShpbnQgc2lnKQo+ICt7Cj4gKwljaGFyIGJ1 ZlsyNTZdOwo+ICsKPiArCWlmIChpZ3Rfc3lzZnNfcmVhZChzeXNmcywgImd0X1JQbl9mcmVxX21o eiIsIGJ1Ziwgc2l6ZW9mKGJ1ZikpID4gMCkgewo+ICsJCWlndF9zeXNmc19zZXQoc3lzZnMsICJn dF9pZGxlX2ZyZXFfbWh6IiwgYnVmKTsKPiArCQlpZ3Rfc3lzZnNfc2V0KHN5c2ZzLCAiZ3RfbWlu X2ZyZXFfbWh6IiwgYnVmKTsKPiArCX0KPiArCj4gKwlpZiAoaWd0X3N5c2ZzX3JlYWQoc3lzZnMs ICJndF9SUDBfZnJlcV9taHoiLCBidWYsIHNpemVvZihidWYpKSA+IDApIHsKPiArCQlpZ3Rfc3lz ZnNfc2V0KHN5c2ZzLCAiZ3RfbWF4X2ZyZXFfbWh6IiwgYnVmKTsKPiArCQlpZ3Rfc3lzZnNfc2V0 KHN5c2ZzLCAiZ3RfYm9vc3RfZnJlcV9taHoiLCBidWYpOwo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0 aWMgdm9pZCBkaXNhYmxlX2Jvb3N0KGludCBpOTE1KQo+ICt7Cj4gKwljaGFyICp2YWx1ZTsKPiAr Cj4gKwl2YWx1ZSA9IGlndF9zeXNmc19nZXQoaTkxNSwgImd0X1JQbl9mcmVxX21oeiIpOwo+ICsJ aWd0X3N5c2ZzX3NldChpOTE1LCAiZ3RfbWluX2ZyZXFfbWh6IiwgdmFsdWUpOwo+ICsJaWd0X3N5 c2ZzX3NldChpOTE1LCAiZ3RfYm9vc3RfZnJlcV9taHoiLCB2YWx1ZSk7Cj4gKwlmcmVlKHZhbHVl KTsKPiArCj4gKwl2YWx1ZSA9IGlndF9zeXNmc19nZXQoaTkxNSwgImd0X1JQMF9mcmVxX21oeiIp Owo+ICsJaWd0X3N5c2ZzX3NldChpOTE1LCAiZ3RfbWF4X2ZyZXFfbWh6IiwgdmFsdWUpOwo+ICsJ ZnJlZSh2YWx1ZSk7Cj4gK30KPiArCj4gK2lndF9tYWluCj4gK3sKPiArCWludCBpOTE1ID0gLTE7 Cj4gKwo+ICsJaWd0X2ZpeHR1cmUgewo+ICsJCWk5MTUgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVS X0lOVEVMKTsKPiArCQlpZ3RfcmVxdWlyZV9nZW0oaTkxNSk7Cj4gKwo+ICsJCXN5c2ZzID0gaWd0 X3N5c2ZzX29wZW4oaTkxNSk7Cj4gKwkJaWd0X2Fzc2VydChzeXNmcyAhPSAtMSk7Cj4gKwkJaWd0 X2luc3RhbGxfZXhpdF9oYW5kbGVyKHJlc3RvcmVfc3lzZnNfZnJlcSk7Cj4gKwo+ICsJCWRpc2Fi bGVfYm9vc3Qoc3lzZnMpOwo+ICsJfQo+ICsKPiArCWlndF9zdWJ0ZXN0X2YoInN5c2ZzIikKPiAr CQlzeXNmc19yYW5nZShpOTE1KTsKPiArfQo+IGRpZmYgLS1naXQgYS90ZXN0cy9tZXNvbi5idWls ZCBiL3Rlc3RzL21lc29uLmJ1aWxkCj4gaW5kZXggY2EyYjhiNjJkLi5hOTA5ZDI3MWUgMTAwNjQ0 Cj4gLS0tIGEvdGVzdHMvbWVzb24uYnVpbGQKPiArKysgYi90ZXN0cy9tZXNvbi5idWlsZAo+IEBA IC0yOTEsNiArMjkxLDE0IEBAIHRlc3RfZXhlY3V0YWJsZXMgKz0gZXhlY3V0YWJsZSgnZ2VtX2Ny ZWF0ZScsCj4gIAkgICBpbnN0YWxsIDogdHJ1ZSkKPiAgdGVzdF9saXN0ICs9ICdnZW1fY3JlYXRl Jwo+ICAKPiArdGVzdF9leGVjdXRhYmxlcyArPSBleGVjdXRhYmxlKCdnZW1fY3R4X2ZyZXEnLAo+ ICsJICAgam9pbl9wYXRocygnaTkxNScsICdnZW1fY3R4X2ZyZXEuYycpLAo+ICsJICAgZGVwZW5k ZW5jaWVzIDogdGVzdF9kZXBzICsgWyBsaWJfaWd0X3BlcmYgXSwKPiArCSAgIGluc3RhbGxfZGly IDogbGliZXhlY2RpciwKPiArCSAgIGluc3RhbGxfcnBhdGggOiBsaWJleGVjZGlyX3JwYXRoZGly LAo+ICsJICAgaW5zdGFsbCA6IHRydWUpCj4gK3Rlc3RfbGlzdCArPSAnZ2VtX2N0eF9mcmVxJwo+ ICsKPiAgdGVzdF9leGVjdXRhYmxlcyArPSBleGVjdXRhYmxlKCdnZW1fY3R4X3NzZXUnLAo+ICAJ ICAgam9pbl9wYXRocygnaTkxNScsICdnZW1fY3R4X3NzZXUuYycpLAo+ICAJICAgZGVwZW5kZW5j aWVzIDogdGVzdF9kZXBzICsgWyBsaWJfaWd0X3BlcmYgXSwKPiAtLSAKPiAyLjI0LjAKPgo+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gaWd0LWRldiBt YWlsaW5nIGxpc3QKPiBpZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=