From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Huang Subject: Re: [PATCH 3/6] drm/amdgpu: add powerplay sclk OD support through sysfs Date: Mon, 16 May 2016 11:35:09 -0400 Message-ID: <5739E8AD.7020209@amd.com> References: <1463165336-14878-1-git-send-email-alexander.deucher@amd.com> <1463165336-14878-4-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0085.outbound.protection.outlook.com [65.55.169.85]) by gabe.freedesktop.org (Postfix) with ESMTPS id 594676E38B for ; Mon, 16 May 2016 15:51:06 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?Q?Nils_Wallm=c3=a9nius?= , Alex Deucher Cc: Alex Deucher , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhhbmtzIGZvciB5b3VyIGNhdGNoLCBOaWxzLgoKT24gMTYtMDUtMTQgMDI6MjcgQU0sIE5pbHMg V2FsbG3DqW5pdXMgd3JvdGU6Cj4gSGkgRXJpYywKPgo+IEEgbGl0dGxlIG5pdHBpY2sgYmVsb3cu Cj4KPiBSZWdhcmRzCj4gTmlscwo+Cj4gT24gRnJpLCBNYXkgMTMsIDIwMTYgYXQgODo0OCBQTSwg QWxleCBEZXVjaGVyIDxhbGV4ZGV1Y2hlckBnbWFpbC5jb20+IHdyb3RlOgo+Cj4+IEZyb206IEVy aWMgSHVhbmcgPEppbkh1aUVyaWMuSHVhbmdAYW1kLmNvbT4KPj4KPj4gQWRkIGEgbmV3IHN5c2Zz IGVudHJ5IHBwX3NjbGtfb2QgdG8gc3VwcG9ydCBzY2xrIG92ZXJkcml2ZShPRCkKPj4gb3ZlcmNs b2NraW5nLAo+PiB0aGUgZW50cnkgaXMgcmVhZC93cml0ZSwgdGhlIHZhbHVlIG9mIGlucHV0L291 dHB1dCBpcyBhbiBpbnRlZ2VyIHdoaWNoIGlzCj4+IHRoZQo+PiBvdmVyIHBlcmNlbnRhZ2Ugb2Yg dGhlIGhpZ2hlc3Qgc2Nsay4KPj4KPj4gUmV2aWV3ZWQtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFu ZGVyLmRldWNoZXJAYW1kLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogRXJpYyBIdWFuZyA8SmluSHVp RXJpYy5IdWFuZ0BhbWQuY29tPgo+PiBTaWduZWQtb2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhh bmRlci5kZXVjaGVyQGFtZC5jb20+Cj4+IC0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdS5oICAgICAgICAgICAgICAgfCAgNiArKysKPj4gICBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfcG0uYyAgICAgICAgICAgIHwgNDkKPj4gKysrKysrKysrKysrKysr KysrKysrKysKPj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRfcG93ZXJwbGF5 LmMgICAgIHwgNDQKPj4gKysrKysrKysrKysrKysrKysrKysKPj4gICBkcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9pbmMvYW1kX3Bvd2VycGxheS5oIHwgIDIgKwo+PiAgIGRyaXZlcnMvZ3B1 L2RybS9hbWQvcG93ZXJwbGF5L2luYy9od21nci5oICAgICAgICAgfCAgMiArCj4+ICAgNSBmaWxl cyBjaGFuZ2VkLCAxMDMgaW5zZXJ0aW9ucygrKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHUuaAo+PiBpbmRleCA5OTJmMDBiLi4zNjdkYmM0IDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHUuaAo+PiBAQCAtMjMzNSw2ICsyMzM1LDEyIEBAIGFtZGdwdV9nZXRf c2RtYV9pbnN0YW5jZShzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCj4+ICAgI2RlZmluZSBhbWRn cHVfZHBtX2ZvcmNlX2Nsb2NrX2xldmVsKGFkZXYsIHR5cGUsIGxldmVsKSBcCj4+Cj4+IChhZGV2 KS0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5mb3JjZV9jbG9ja19sZXZlbCgoYWRldiktPnBvd2VycGxh eS5wcF9oYW5kbGUsCj4+IHR5cGUsIGxldmVsKQo+Pgo+PiArI2RlZmluZSBhbWRncHVfZHBtX2dl dF9zY2xrX29kKGFkZXYpIFwKPj4gKwo+PiAgIChhZGV2KS0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5n ZXRfc2Nsa19vZCgoYWRldiktPnBvd2VycGxheS5wcF9oYW5kbGUpCj4+ICsKPj4gKyNkZWZpbmUg YW1kZ3B1X2RwbV9zZXRfc2Nsa19vZChhZGV2LCB2YWx1ZSkgXAo+PiArCj4+ICAgKGFkZXYpLT5w b3dlcnBsYXkucHBfZnVuY3MtPnNldF9zY2xrX29kKChhZGV2KS0+cG93ZXJwbGF5LnBwX2hhbmRs ZSwgdmFsdWUpCj4+ICsKPj4gICAjZGVmaW5lIGFtZGdwdV9kcG1fZGlzcGF0Y2hfdGFzayhhZGV2 LCBldmVudF9pZCwgaW5wdXQsIG91dHB1dCkKPj4gICAgICAgIFwKPj4KPj4gKGFkZXYpLT5wb3dl cnBsYXkucHBfZnVuY3MtPmRpc3BhdGNoX3Rhc2tzKChhZGV2KS0+cG93ZXJwbGF5LnBwX2hhbmRs ZSwKPj4gKGV2ZW50X2lkKSwgKGlucHV0KSwgKG91dHB1dCkpCj4+Cj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYwo+PiBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jCj4+IGluZGV4IDU4OWIzNmUuLmY3ZWNhZjQgMTAwNjQ0 Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jCj4+IEBAIC00NzEsNiArNDcx LDQ2IEBAIGZhaWw6Cj4+ICAgICAgICAgIHJldHVybiBjb3VudDsKPj4gICB9Cj4+Cj4+ICtzdGF0 aWMgc3NpemVfdCBhbWRncHVfZ2V0X3BwX3NjbGtfb2Qoc3RydWN0IGRldmljZSAqZGV2LAo+PiAr ICAgICAgICAgICAgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCj4+ICsgICAgICAg ICAgICAgICBjaGFyICpidWYpCj4+ICt7Cj4+ICsgICAgICAgc3RydWN0IGRybV9kZXZpY2UgKmRk ZXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPj4gKyAgICAgICBzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiA9IGRkZXYtPmRldl9wcml2YXRlOwo+PiArICAgICAgIHVpbnQzMl90IHZhbHVlID0g MDsKPj4gKwo+PiArICAgICAgIGlmIChhZGV2LT5wcF9lbmFibGVkKQo+PiArICAgICAgICAgICAg ICAgdmFsdWUgPSBhbWRncHVfZHBtX2dldF9zY2xrX29kKGFkZXYpOwo+PiArCj4+ICsgICAgICAg cmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJWRcbiIsIHZhbHVlKTs7Cj4+Cj4gRG91 YmxlIHNlbWljb2xvbiBoZXJlIF4KPgo+Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBzc2l6ZV90IGFt ZGdwdV9zZXRfcHBfc2Nsa19vZChzdHJ1Y3QgZGV2aWNlICpkZXYsCj4+ICsgICAgICAgICAgICAg ICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKPj4gKyAgICAgICAgICAgICAgIGNvbnN0 IGNoYXIgKmJ1ZiwKPj4gKyAgICAgICAgICAgICAgIHNpemVfdCBjb3VudCkKPj4gK3sKPj4gKyAg ICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZGRldiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+PiAr ICAgICAgIHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gZGRldi0+ZGV2X3ByaXZhdGU7Cj4+ ICsgICAgICAgaW50IHJldDsKPj4gKyAgICAgICBsb25nIGludCB2YWx1ZTsKPj4gKwo+PiArICAg ICAgIHJldCA9IGtzdHJ0b2woYnVmLCAwLCAmdmFsdWUpOwo+PiArCj4+ICsgICAgICAgaWYgKHJl dCkgewo+PiArICAgICAgICAgICAgICAgY291bnQgPSAtRUlOVkFMOwo+PiArICAgICAgICAgICAg ICAgZ290byBmYWlsOwo+PiArICAgICAgIH0KPj4gKwo+PiArICAgICAgIGlmIChhZGV2LT5wcF9l bmFibGVkKQo+PiArICAgICAgICAgICAgICAgYW1kZ3B1X2RwbV9zZXRfc2Nsa19vZChhZGV2LCAo dWludDMyX3QpdmFsdWUpOwo+PiArCj4+ICsgICAgICAgYW1kZ3B1X2RwbV9kaXNwYXRjaF90YXNr KGFkZXYsIEFNRF9QUF9FVkVOVF9SRUFESlVTVF9QT1dFUl9TVEFURSwKPj4gTlVMTCwgTlVMTCk7 Cj4+ICsKPj4gK2ZhaWw6Cj4+ICsgICAgICAgcmV0dXJuIGNvdW50Owo+PiArfQo+PiArCj4+ICAg c3RhdGljIERFVklDRV9BVFRSKHBvd2VyX2RwbV9zdGF0ZSwgU19JUlVHTyB8IFNfSVdVU1IsCj4+ IGFtZGdwdV9nZXRfZHBtX3N0YXRlLCBhbWRncHVfc2V0X2RwbV9zdGF0ZSk7Cj4+ICAgc3RhdGlj IERFVklDRV9BVFRSKHBvd2VyX2RwbV9mb3JjZV9wZXJmb3JtYW5jZV9sZXZlbCwgU19JUlVHTyB8 IFNfSVdVU1IsCj4+ICAgICAgICAgICAgICAgICAgICAgYW1kZ3B1X2dldF9kcG1fZm9yY2VkX3Bl cmZvcm1hbmNlX2xldmVsLAo+PiBAQCAtNDkyLDYgKzUzMiw5IEBAIHN0YXRpYyBERVZJQ0VfQVRU UihwcF9kcG1fbWNsaywgU19JUlVHTyB8IFNfSVdVU1IsCj4+ICAgc3RhdGljIERFVklDRV9BVFRS KHBwX2RwbV9wY2llLCBTX0lSVUdPIHwgU19JV1VTUiwKPj4gICAgICAgICAgICAgICAgICBhbWRn cHVfZ2V0X3BwX2RwbV9wY2llLAo+PiAgICAgICAgICAgICAgICAgIGFtZGdwdV9zZXRfcHBfZHBt X3BjaWUpOwo+PiArc3RhdGljIERFVklDRV9BVFRSKHBwX3NjbGtfb2QsIFNfSVJVR08gfCBTX0lX VVNSLAo+PiArICAgICAgICAgICAgICAgYW1kZ3B1X2dldF9wcF9zY2xrX29kLAo+PiArICAgICAg ICAgICAgICAgYW1kZ3B1X3NldF9wcF9zY2xrX29kKTsKPj4KPj4gICBzdGF0aWMgc3NpemVfdCBh bWRncHVfaHdtb25fc2hvd190ZW1wKHN0cnVjdCBkZXZpY2UgKmRldiwKPj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIs Cj4+IEBAIC0xMTI1LDYgKzExNjgsMTEgQEAgaW50IGFtZGdwdV9wbV9zeXNmc19pbml0KHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2KQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0VS Uk9SKCJmYWlsZWQgdG8gY3JlYXRlIGRldmljZSBmaWxlCj4+IHBwX2RwbV9wY2llXG4iKTsKPj4g ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4+ICAgICAgICAgICAgICAgICAg fQo+PiArICAgICAgICAgICAgICAgcmV0ID0gZGV2aWNlX2NyZWF0ZV9maWxlKGFkZXYtPmRldiwg JmRldl9hdHRyX3BwX3NjbGtfb2QpOwo+PiArICAgICAgICAgICAgICAgaWYgKHJldCkgewo+PiAr ICAgICAgICAgICAgICAgICAgICAgICBEUk1fRVJST1IoImZhaWxlZCB0byBjcmVhdGUgZGV2aWNl IGZpbGUKPj4gcHBfc2Nsa19vZFxuIik7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVy biByZXQ7Cj4+ICsgICAgICAgICAgICAgICB9Cj4+ICAgICAgICAgIH0KPj4gICAgICAgICAgcmV0 ID0gYW1kZ3B1X2RlYnVnZnNfcG1faW5pdChhZGV2KTsKPj4gICAgICAgICAgaWYgKHJldCkgewo+ PiBAQCAtMTE1MSw2ICsxMTk5LDcgQEAgdm9pZCBhbWRncHVfcG1fc3lzZnNfZmluaShzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldikKPj4gICAgICAgICAgICAgICAgICBkZXZpY2VfcmVtb3ZlX2Zp bGUoYWRldi0+ZGV2LCAmZGV2X2F0dHJfcHBfZHBtX3NjbGspOwo+PiAgICAgICAgICAgICAgICAg IGRldmljZV9yZW1vdmVfZmlsZShhZGV2LT5kZXYsICZkZXZfYXR0cl9wcF9kcG1fbWNsayk7Cj4+ ICAgICAgICAgICAgICAgICAgZGV2aWNlX3JlbW92ZV9maWxlKGFkZXYtPmRldiwgJmRldl9hdHRy X3BwX2RwbV9wY2llKTsKPj4gKyAgICAgICAgICAgICAgIGRldmljZV9yZW1vdmVfZmlsZShhZGV2 LT5kZXYsICZkZXZfYXR0cl9wcF9zY2xrX29kKTsKPj4gICAgICAgICAgfQo+PiAgIH0KPj4KPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZF9wb3dlcnBsYXku Ywo+PiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZF9wb3dlcnBsYXkuYwo+PiBp bmRleCA4ZTM0NWJmLi5lMGYyNDQwIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L3Bvd2VycGxheS9hbWRfcG93ZXJwbGF5LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9w b3dlcnBsYXkvYW1kX3Bvd2VycGxheS5jCj4+IEBAIC01MzAsNiArNTMwLDEwIEBAIGludCBwcF9k cG1fZGlzcGF0Y2hfdGFza3Modm9pZCAqaGFuZGxlLCBlbnVtCj4+IGFtZF9wcF9ldmVudCBldmVu dF9pZCwgdm9pZCAqaW5wdXQsCj4+ICAgICAgICAgIGNhc2UgQU1EX1BQX0VWRU5UX0NPTVBMRVRF X0lOSVQ6Cj4+ICAgICAgICAgICAgICAgICAgcmV0ID0gcGVtX2hhbmRsZV9ldmVudChwcF9oYW5k bGUtPmV2ZW50bWdyLCBldmVudF9pZCwKPj4gJmRhdGEpOwo+PiAgICAgICAgICAgICAgICAgIGJy ZWFrOwo+PiArICAgICAgIGNhc2UgQU1EX1BQX0VWRU5UX1JFQURKVVNUX1BPV0VSX1NUQVRFOgo+ PiArICAgICAgICAgICAgICAgcHBfaGFuZGxlLT5od21nci0+Y3VycmVudF9wcyA9IHBwX2hhbmRs ZS0+aHdtZ3ItPmJvb3RfcHM7Cj4+ICsgICAgICAgICAgICAgICByZXQgPSBwZW1faGFuZGxlX2V2 ZW50KHBwX2hhbmRsZS0+ZXZlbnRtZ3IsIGV2ZW50X2lkLAo+PiAmZGF0YSk7Cj4+ICsgICAgICAg ICAgICAgICBicmVhazsKPj4gICAgICAgICAgZGVmYXVsdDoKPj4gICAgICAgICAgICAgICAgICBi cmVhazsKPj4gICAgICAgICAgfQo+PiBAQCAtODAwLDYgKzgwNCw0NCBAQCBzdGF0aWMgaW50IHBw X2RwbV9wcmludF9jbG9ja19sZXZlbHModm9pZCAqaGFuZGxlLAo+PiAgICAgICAgICByZXR1cm4g aHdtZ3ItPmh3bWdyX2Z1bmMtPnByaW50X2Nsb2NrX2xldmVscyhod21nciwgdHlwZSwgYnVmKTsK Pj4gICB9Cj4+Cj4+ICtzdGF0aWMgaW50IHBwX2RwbV9nZXRfc2Nsa19vZCh2b2lkICpoYW5kbGUp Cj4+ICt7Cj4+ICsgICAgICAgc3RydWN0IHBwX2h3bWdyICpod21ncjsKPj4gKwo+PiArICAgICAg IGlmICghaGFuZGxlKQo+PiArICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+ICsKPj4g KyAgICAgICBod21nciA9ICgoc3RydWN0IHBwX2luc3RhbmNlICopaGFuZGxlKS0+aHdtZ3I7Cj4+ ICsKPj4gKyAgICAgICBQUF9DSEVDS19IVyhod21ncik7Cj4+ICsKPj4gKyAgICAgICBpZiAoaHdt Z3ItPmh3bWdyX2Z1bmMtPmdldF9zY2xrX29kID09IE5VTEwpIHsKPj4gKyAgICAgICAgICAgICAg IHByaW50ayhLRVJOX0lORk8gIiVzIHdhcyBub3QgaW1wbGVtZW50ZWQuXG4iLCBfX2Z1bmNfXyk7 Cj4+ICsgICAgICAgICAgICAgICByZXR1cm4gMDsKPj4gKyAgICAgICB9Cj4+ICsKPj4gKyAgICAg ICByZXR1cm4gaHdtZ3ItPmh3bWdyX2Z1bmMtPmdldF9zY2xrX29kKGh3bWdyKTsKPj4gK30KPj4g Kwo+PiArc3RhdGljIGludCBwcF9kcG1fc2V0X3NjbGtfb2Qodm9pZCAqaGFuZGxlLCB1aW50MzJf dCB2YWx1ZSkKPj4gK3sKPj4gKyAgICAgICBzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyOwo+PiArCj4+ ICsgICAgICAgaWYgKCFoYW5kbGUpCj4+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsK Pj4gKwo+PiArICAgICAgIGh3bWdyID0gKChzdHJ1Y3QgcHBfaW5zdGFuY2UgKiloYW5kbGUpLT5o d21ncjsKPj4gKwo+PiArICAgICAgIFBQX0NIRUNLX0hXKGh3bWdyKTsKPj4gKwo+PiArICAgICAg IGlmIChod21nci0+aHdtZ3JfZnVuYy0+c2V0X3NjbGtfb2QgPT0gTlVMTCkgewo+PiArICAgICAg ICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiJXMgd2FzIG5vdCBpbXBsZW1lbnRlZC5cbiIsIF9f ZnVuY19fKTsKPj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOwo+PiArICAgICAgIH0KPj4gKwo+ PiArICAgICAgIHJldHVybiBod21nci0+aHdtZ3JfZnVuYy0+c2V0X3NjbGtfb2QoaHdtZ3IsIHZh bHVlKTsKPj4gK30KPj4gKwo+PiAgIGNvbnN0IHN0cnVjdCBhbWRfcG93ZXJwbGF5X2Z1bmNzIHBw X2RwbV9mdW5jcyA9IHsKPj4gICAgICAgICAgLmdldF90ZW1wZXJhdHVyZSA9IHBwX2RwbV9nZXRf dGVtcGVyYXR1cmUsCj4+ICAgICAgICAgIC5sb2FkX2Zpcm13YXJlID0gcHBfZHBtX2xvYWRfZncs Cj4+IEBAIC04MjIsNiArODY0LDggQEAgY29uc3Qgc3RydWN0IGFtZF9wb3dlcnBsYXlfZnVuY3Mg cHBfZHBtX2Z1bmNzID0gewo+PiAgICAgICAgICAuc2V0X3BwX3RhYmxlID0gcHBfZHBtX3NldF9w cF90YWJsZSwKPj4gICAgICAgICAgLmZvcmNlX2Nsb2NrX2xldmVsID0gcHBfZHBtX2ZvcmNlX2Ns b2NrX2xldmVsLAo+PiAgICAgICAgICAucHJpbnRfY2xvY2tfbGV2ZWxzID0gcHBfZHBtX3ByaW50 X2Nsb2NrX2xldmVscywKPj4gKyAgICAgICAuZ2V0X3NjbGtfb2QgPSBwcF9kcG1fZ2V0X3NjbGtf b2QsCj4+ICsgICAgICAgLnNldF9zY2xrX29kID0gcHBfZHBtX3NldF9zY2xrX29kLAo+PiAgIH07 Cj4+Cj4+ICAgc3RhdGljIGludCBhbWRfcHBfaW5zdGFuY2VfaW5pdChzdHJ1Y3QgYW1kX3BwX2lu aXQgKnBwX2luaXQsCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxh eS9pbmMvYW1kX3Bvd2VycGxheS5oCj4+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv aW5jL2FtZF9wb3dlcnBsYXkuaAo+PiBpbmRleCA1MGIzNjdkLi4xNTRkNDA2IDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kX3Bvd2VycGxheS5oCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9hbWRfcG93ZXJwbGF5LmgK Pj4gQEAgLTM0Miw2ICszNDIsOCBAQCBzdHJ1Y3QgYW1kX3Bvd2VycGxheV9mdW5jcyB7Cj4+ICAg ICAgICAgIGludCAoKnNldF9wcF90YWJsZSkodm9pZCAqaGFuZGxlLCBjb25zdCBjaGFyICpidWYs IHNpemVfdCBzaXplKTsKPj4gICAgICAgICAgaW50ICgqZm9yY2VfY2xvY2tfbGV2ZWwpKHZvaWQg KmhhbmRsZSwgZW51bSBwcF9jbG9ja190eXBlIHR5cGUsCj4+IHVpbnQzMl90IG1hc2spOwo+PiAg ICAgICAgICBpbnQgKCpwcmludF9jbG9ja19sZXZlbHMpKHZvaWQgKmhhbmRsZSwgZW51bSBwcF9j bG9ja190eXBlIHR5cGUsCj4+IGNoYXIgKmJ1Zik7Cj4+ICsgICAgICAgaW50ICgqZ2V0X3NjbGtf b2QpKHZvaWQgKmhhbmRsZSk7Cj4+ICsgICAgICAgaW50ICgqc2V0X3NjbGtfb2QpKHZvaWQgKmhh bmRsZSwgdWludDMyX3QgdmFsdWUpOwo+PiAgIH07Cj4+Cj4+ICAgc3RydWN0IGFtZF9wb3dlcnBs YXkgewo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2h3 bWdyLmgKPj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvaHdtZ3IuaAo+PiBp bmRleCAyOGY1NzE0Li4zN2ViZmEyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L3Bvd2VycGxheS9pbmMvaHdtZ3IuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2Vy cGxheS9pbmMvaHdtZ3IuaAo+PiBAQCAtMzM4LDYgKzMzOCw4IEBAIHN0cnVjdCBwcF9od21ncl9m dW5jIHsKPj4gICAgICAgICAgaW50ICgqZm9yY2VfY2xvY2tfbGV2ZWwpKHN0cnVjdCBwcF9od21n ciAqaHdtZ3IsIGVudW0KPj4gcHBfY2xvY2tfdHlwZSB0eXBlLCB1aW50MzJfdCBtYXNrKTsKPj4g ICAgICAgICAgaW50ICgqcHJpbnRfY2xvY2tfbGV2ZWxzKShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdy LCBlbnVtCj4+IHBwX2Nsb2NrX3R5cGUgdHlwZSwgY2hhciAqYnVmKTsKPj4gICAgICAgICAgaW50 ICgqZW5hYmxlX3Blcl9jdV9wb3dlcl9nYXRpbmcpKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIGJv b2wKPj4gZW5hYmxlKTsKPj4gKyAgICAgICBpbnQgKCpnZXRfc2Nsa19vZCkoc3RydWN0IHBwX2h3 bWdyICpod21ncik7Cj4+ICsgICAgICAgaW50ICgqc2V0X3NjbGtfb2QpKHN0cnVjdCBwcF9od21n ciAqaHdtZ3IsIHVpbnQzMl90IHZhbHVlKTsKPj4gICB9Owo+Pgo+PiAgIHN0cnVjdCBwcF90YWJs ZV9mdW5jIHsKPj4gLS0KPj4gMi41LjUKPj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+PiBkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCj4+CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK