From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: Re: [PATCH 1/2] drm/amdgpu: add custom power policy support in sysfs Date: Wed, 10 Jan 2018 15:18:11 -0500 Message-ID: References: <1515582075-6326-1-git-send-email-Rex.Zhu@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1515582075-6326-1-git-send-email-Rex.Zhu-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Rex Zhu Cc: amd-gfx list T24gV2VkLCBKYW4gMTAsIDIwMTggYXQgNjowMSBBTSwgUmV4IFpodSA8UmV4LlpodUBhbWQuY29t PiB3cm90ZToKPiB3aGVuIGNhdCBwcF9wb3dlcl9wcm9maWxlX21vZGUgb24gVmVnYTEwCj4gTlVN ICAgICAgICBNT0RFX05BTUUgQlVTWV9TRVRfUE9JTlQgRlBTIFVTRV9STENfQlVTWSBNSU5fQUNU SVZFX0xFVkVMCj4gICAwIDNEX0ZVTExfU0NSRUVOIDogICAgICAgICAgICAgNzAgIDYwICAgICAg ICAgIDEgICAgICAgICAgICAgIDMKPiAgIDEgICBQT1dFUl9TQVZJTkcgOiAgICAgICAgICAgICA5 MCAgNjAgICAgICAgICAgMCAgICAgICAgICAgICAgMAo+ICAgMiAgICAgICAgICBWSURFTyo6ICAg ICAgICAgICAgIDcwICA2MCAgICAgICAgICAwICAgICAgICAgICAgICAwCj4gICAzICAgICAgICAg ICAgIFZSIDogICAgICAgICAgICAgNzAgIDkwICAgICAgICAgIDAgICAgICAgICAgICAgIDAKPiAg IDQgICAgICAgQ09NUFVURVIgOiAgICAgICAgICAgICAzMCAgNjAgICAgICAgICAgMCAgICAgICAg ICAgICAgNgo+ICAgNSAgICAgICAgIENVU1RPTSA6ICAgICAgICAgICAgICAwICAgMCAgICAgICAg ICAwICAgICAgICAgICAgICAwCj4KPiB0aGUgcmVzdWx0IHNob3cgYWxsIHRoZSBwcm9maWxlIG1v ZGUgd2UgY2FuIHN1cHBvcnQgYW5kIGN1c3RvbSBtb2RlLgo+IHVzZXIgY2FuIGVjaG8gdGhlIG51 bSgwLTQpIHRvIHBwX3Bvd2VyX3Byb2ZpbGVfbW9kZSB0byBzZWxlY3QgdGhlIHByb2ZpbGUKPiBt b2RlIG9yIGNhbiBlY2hvICI1IHZhbHVlIHZhbHVlIHZhbHVlIHZhbHVlIiB0byBlbnRlciBDVVNU T00gbW9kZS4KPiB0aGUgZm91ciBwYXJhbWV0ZXIgaXMgc2V0X3BvaW50L0ZQUy9VU0VSX1JMQ19C VVNZL01JTl9BQ1RJVkVfTEVWRUwuCj4KCklzIHRoZXJlIGFueSB3YXkgd2UgY2FuIHVuaWZ5IHRo aXMgd2l0aCBwcm9maWxlIHN0dWZmIGltcGxlbWVudGVkIGZvcgpzbXU3PyAgSSdkIGxpa2UgdG8g YXZvaWQgbG90cyBvZiBoYXBoYXphcmQgaW50ZXJmYWNlcyB0byBzdXBwb3J0CnNwZWNpZmljIHVz ZSBjYXNlcyBhbmQgYXNpY3MuICBJdCBiZWNvbWVzIGEgbWFpbnRlbmFuY2UgbmlnaHRtYXJlLgoK QWxleAoKPiBDaGFuZ2UtSWQ6IEk3MjYzNDY0NmE5YTE3OWNjZDU3ZjE3NWI0YzBiM2Y0NWU1Mzhh MDNmCj4gU2lnbmVkLW9mZi1ieTogUmV4IFpodSA8UmV4LlpodUBhbWQuY29tPgo+IC0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHBtLmggICAgICAgIHwgIDggKysrCj4g IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jICAgICAgICAgfCA4MSArKysr KysrKysrKysrKysrKysrKysrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2luY2x1ZGUva2dk X3BwX2ludGVyZmFjZS5oIHwgMTEgKysrLQo+ICAzIGZpbGVzIGNoYW5nZWQsIDk4IGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2RwbS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2RwbS5oCj4gaW5kZXggOGE4ZDA5ZGQuLjk4NmYxZDUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RwbS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2RwbS5oCj4gQEAgLTM2Niw2ICszNjYsMTQgQEAgZW51bSBhbWRncHVf cGNpZV9nZW4gewo+ICAgICAgICAgICAgICAgICAgICAgICAgIChhZGV2KS0+cG93ZXJwbGF5LnBw X2hhbmRsZSwgdmlydHVhbF9hZGRyX2xvdywgXAo+ICAgICAgICAgICAgICAgICAgICAgICAgIHZp cnR1YWxfYWRkcl9oaSwgbWNfYWRkcl9sb3csIG1jX2FkZHJfaGksIHNpemUpCj4KPiArI2RlZmlu ZSBhbWRncHVfZHBtX2dldF9wb3dlcl9wcm9maWxlX21vZGUoYWRldiwgYnVmKSBcCj4gKyAgICAg ICAgICAgICAgICgoYWRldiktPnBvd2VycGxheS5wcF9mdW5jcy0+Z2V0X3Bvd2VyX3Byb2ZpbGVf bW9kZShcCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKGFkZXYpLT5wb3dlcnBsYXkucHBfaGFu ZGxlLCBidWYpKQo+ICsKPiArI2RlZmluZSBhbWRncHVfZHBtX3NldF9wb3dlcl9wcm9maWxlX21v ZGUoYWRldiwgcGFyYW1ldGVyLCBzaXplKSBcCj4gKyAgICAgICAgICAgICAgICgoYWRldiktPnBv d2VycGxheS5wcF9mdW5jcy0+c2V0X3Bvd2VyX3Byb2ZpbGVfbW9kZShcCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgKGFkZXYpLT5wb3dlcnBsYXkucHBfaGFuZGxlLCBwYXJhbWV0ZXIsIHNpemUp KQo+ICsKPiAgc3RydWN0IGFtZGdwdV9kcG0gewo+ICAgICAgICAgc3RydWN0IGFtZGdwdV9wcyAg ICAgICAgKnBzOwo+ICAgICAgICAgLyogbnVtYmVyIG9mIHZhbGlkIHBvd2VyIHN0YXRlcyAqLwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jCj4gaW5kZXggZTVlZTdjZi4uNjYy ZWRjYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0u Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jCj4gQEAgLTU4 NCw2ICs1ODQsNzMgQEAgc3RhdGljIHNzaXplX3QgYW1kZ3B1X3NldF9wcF9tY2xrX29kKHN0cnVj dCBkZXZpY2UgKmRldiwKPiAgICAgICAgIHJldHVybiBjb3VudDsKPiAgfQo+Cj4gK3N0YXRpYyBz c2l6ZV90IGFtZGdwdV9nZXRfcHBfcG93ZXJfcHJvZmlsZV9tb2RlKHN0cnVjdCBkZXZpY2UgKmRl diwKPiArICAgICAgICAgICAgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCj4gKyAg ICAgICAgICAgICAgIGNoYXIgKmJ1ZikKPiArewo+ICsgICAgICAgc3RydWN0IGRybV9kZXZpY2Ug KmRkZXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiArICAgICAgIHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2ID0gZGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwo+ICsgICAgICAgaWYgKGFkZXYtPnBv d2VycGxheS5wcF9mdW5jcy0+Z2V0X3Bvd2VyX3Byb2ZpbGVfbW9kZSkKPiArICAgICAgICAgICAg ICAgcmV0dXJuIGFtZGdwdV9kcG1fZ2V0X3Bvd2VyX3Byb2ZpbGVfbW9kZShhZGV2LCBidWYpOwo+ ICsKPiArICAgICAgIHJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIlxuIik7Cj4gK30K PiArCj4gKwo+ICtzdGF0aWMgc3NpemVfdCBhbWRncHVfc2V0X3BwX3Bvd2VyX3Byb2ZpbGVfbW9k ZShzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gKyAgICAgICAgICAgICAgIHN0cnVjdCBkZXZpY2VfYXR0 cmlidXRlICphdHRyLAo+ICsgICAgICAgICAgICAgICBjb25zdCBjaGFyICpidWYsCj4gKyAgICAg ICAgICAgICAgIHNpemVfdCBjb3VudCkKPiArewo+ICsgICAgICAgaW50IHJldCA9IDB4ZmY7Cj4g KyAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZGRldiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+ ICsgICAgICAgc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBkZGV2LT5kZXZfcHJpdmF0ZTsK PiArICAgICAgIHVpbnQzMl90IHBhcmFtZXRlcl9zaXplID0gMDsKPiArICAgICAgIGxvbmcgcGFy YW1ldGVyWzY0XTsKPiArICAgICAgIGNoYXIgKnN1Yl9zdHIsIGJ1Zl9jcHlbMTI4XTsKPiArICAg ICAgIGNoYXIgKnRtcF9zdHI7Cj4gKyAgICAgICB1aW50MzJfdCBpID0gMDsKPiArICAgICAgIGNo YXIgdG1wWzJdOwo+ICsgICAgICAgbG9uZyBpbnQgcHJvZmlsZV9tb2RlID0gMDsKPiArICAgICAg IGNvbnN0IGNoYXIgZGVsaW1pdGVyWzNdID0geycgJywgJ1xuJywgJ1wwJ307Cj4gKwo+ICsgICAg ICAgdG1wWzBdID0gKihidWYpOwo+ICsgICAgICAgdG1wWzFdID0gJ1wwJzsKPiArICAgICAgIHJl dCA9IGtzdHJ0b2wodG1wLCAwLCAmcHJvZmlsZV9tb2RlKTsKPiArICAgICAgIGlmIChyZXQpCj4g KyAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKPiArCj4gKyAgICAgICBpZiAocHJvZmlsZV9tb2Rl ID09IFBQX1NNQ19QT1dFUl9QUk9GSUxFX0NVU1RPTSkgewo+ICsgICAgICAgICAgICAgICBpZiAo Y291bnQgPCAyIHx8IGNvdW50ID4gMTI3KQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVy biAtRUlOVkFMOwo+ICsgICAgICAgICAgICAgICB3aGlsZSAoaXNzcGFjZSgqKytidWYpKQo+ICsg ICAgICAgICAgICAgICAgICAgICAgIGkrKzsKPiArICAgICAgICAgICAgICAgbWVtY3B5KGJ1Zl9j cHksIGJ1ZiwgY291bnQtaSk7Cj4gKyAgICAgICAgICAgICAgIHRtcF9zdHIgPSBidWZfY3B5Owo+ ICsgICAgICAgICAgICAgICB3aGlsZSAodG1wX3N0clswXSkgewo+ICsgICAgICAgICAgICAgICAg ICAgICAgIHN1Yl9zdHIgPSBzdHJzZXAoJnRtcF9zdHIsIGRlbGltaXRlcik7Cj4gKyAgICAgICAg ICAgICAgICAgICAgICAgcmV0ID0ga3N0cnRvbChzdWJfc3RyLCAwLCAmcGFyYW1ldGVyW3BhcmFt ZXRlcl9zaXplXSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldCkgewo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQgPSAtRUlOVkFMOwo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOwo+ICsgICAgICAgICAgICAgICAgICAgICAg IH0KPiArICAgICAgICAgICAgICAgICAgICAgICBwcl9pbmZvKCJ2YWx1ZSBpcyAlbGQgXG4iLCBw YXJhbWV0ZXJbcGFyYW1ldGVyX3NpemVdKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBwYXJh bWV0ZXJfc2l6ZSsrOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChpc3NwYWNlKCp0 bXBfc3RyKSkKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcF9zdHIrKzsKPiAr ICAgICAgICAgICAgICAgfQo+ICsgICAgICAgfQo+ICsgICAgICAgcGFyYW1ldGVyW3BhcmFtZXRl cl9zaXplXSA9IHByb2ZpbGVfbW9kZTsKPiArICAgICAgIGlmIChhZGV2LT5wb3dlcnBsYXkucHBf ZnVuY3MtPnNldF9wb3dlcl9wcm9maWxlX21vZGUpCj4gKyAgICAgICAgICAgICAgIHJldCA9IGFt ZGdwdV9kcG1fc2V0X3Bvd2VyX3Byb2ZpbGVfbW9kZShhZGV2LCBwYXJhbWV0ZXIsIHBhcmFtZXRl cl9zaXplKTsKPiArCj4gKyAgICAgICBpZiAoIXJldCkKPiArICAgICAgICAgICAgICAgcmV0dXJu IGNvdW50Owo+ICtmYWlsOgo+ICsgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gK30KPiArCj4gIHN0 YXRpYyBzc2l6ZV90IGFtZGdwdV9nZXRfcHBfcG93ZXJfcHJvZmlsZShzdHJ1Y3QgZGV2aWNlICpk ZXYsCj4gICAgICAgICAgICAgICAgIGNoYXIgKmJ1Ziwgc3RydWN0IGFtZF9wcF9wcm9maWxlICpx dWVyeSkKPiAgewo+IEBAIC03NzIsNyArODM5LDkgQEAgc3RhdGljIERFVklDRV9BVFRSKHBwX2dm eF9wb3dlcl9wcm9maWxlLCBTX0lSVUdPIHwgU19JV1VTUiwKPiAgc3RhdGljIERFVklDRV9BVFRS KHBwX2NvbXB1dGVfcG93ZXJfcHJvZmlsZSwgU19JUlVHTyB8IFNfSVdVU1IsCj4gICAgICAgICAg ICAgICAgIGFtZGdwdV9nZXRfcHBfY29tcHV0ZV9wb3dlcl9wcm9maWxlLAo+ICAgICAgICAgICAg ICAgICBhbWRncHVfc2V0X3BwX2NvbXB1dGVfcG93ZXJfcHJvZmlsZSk7Cj4gLQo+ICtzdGF0aWMg REVWSUNFX0FUVFIocHBfcG93ZXJfcHJvZmlsZV9tb2RlLCBTX0lSVUdPIHwgU19JV1VTUiwKPiAr ICAgICAgICAgICAgICAgYW1kZ3B1X2dldF9wcF9wb3dlcl9wcm9maWxlX21vZGUsCj4gKyAgICAg ICAgICAgICAgIGFtZGdwdV9zZXRfcHBfcG93ZXJfcHJvZmlsZV9tb2RlKTsKPiAgc3RhdGljIHNz aXplX3QgYW1kZ3B1X2h3bW9uX3Nob3dfdGVtcChzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAq YXR0ciwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmJ1ZikK PiBAQCAtMTQwNSw2ICsxNDc0LDE0IEBAIGludCBhbWRncHVfcG1fc3lzZnNfaW5pdChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldikKPiAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiAgICAg ICAgIH0KPgo+ICsgICAgICAgcmV0ID0gZGV2aWNlX2NyZWF0ZV9maWxlKGFkZXYtPmRldiwKPiAr ICAgICAgICAgICAgICAgICAgICAgICAmZGV2X2F0dHJfcHBfcG93ZXJfcHJvZmlsZV9tb2RlKTsK PiArICAgICAgIGlmIChyZXQpIHsKPiArICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJmYWlsZWQg dG8gY3JlYXRlIGRldmljZSBmaWxlICIKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJwcF9wb3dlcl9wcm9maWxlX21vZGVcbiIpOwo+ICsgICAgICAgICAgICAgICByZXR1cm4gcmV0 Owo+ICsgICAgICAgfQo+ICsKPiAgICAgICAgIHJldCA9IGFtZGdwdV9kZWJ1Z2ZzX3BtX2luaXQo YWRldik7Cj4gICAgICAgICBpZiAocmV0KSB7Cj4gICAgICAgICAgICAgICAgIERSTV9FUlJPUigi RmFpbGVkIHRvIHJlZ2lzdGVyIGRlYnVnZnMgZmlsZSBmb3IgZHBtIVxuIik7Cj4gQEAgLTE0NDAs NiArMTUxNyw4IEBAIHZvaWQgYW1kZ3B1X3BtX3N5c2ZzX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYpCj4gICAgICAgICAgICAgICAgICAgICAgICAgJmRldl9hdHRyX3BwX2dmeF9wb3dl cl9wcm9maWxlKTsKPiAgICAgICAgIGRldmljZV9yZW1vdmVfZmlsZShhZGV2LT5kZXYsCj4gICAg ICAgICAgICAgICAgICAgICAgICAgJmRldl9hdHRyX3BwX2NvbXB1dGVfcG93ZXJfcHJvZmlsZSk7 Cj4gKyAgICAgICBkZXZpY2VfcmVtb3ZlX2ZpbGUoYWRldi0+ZGV2LAo+ICsgICAgICAgICAgICAg ICAgICAgICAgICZkZXZfYXR0cl9wcF9wb3dlcl9wcm9maWxlX21vZGUpOwo+ICB9Cj4KPiAgdm9p ZCBhbWRncHVfcG1fY29tcHV0ZV9jbG9ja3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9rZ2RfcHBfaW50ZXJmYWNl LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2luY2x1ZGUva2dkX3BwX2ludGVyZmFjZS5oCj4gaW5k ZXggMGY4OWQyYTguLmE4MjNjMDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9p bmNsdWRlL2tnZF9wcF9pbnRlcmZhY2UuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5j bHVkZS9rZ2RfcHBfaW50ZXJmYWNlLmgKPiBAQCAtMTQwLDcgKzE0MCwxNCBAQCBzdHJ1Y3QgYW1k X3BwX2luaXQgewo+ICAgICAgICAgdWludDMyX3QgZmVhdHVyZV9tYXNrOwo+ICB9Owo+Cj4gLQo+ ICtlbnVtIFBQX1NNQ19QT1dFUl9QUk9GSUxFIHsKPiArICAgICAgIFBQX1NNQ19QT1dFUl9QUk9G SUxFX0ZVTExTQ1JFRU4zRCA9IDB4MCwKPiArICAgICAgIFBQX1NNQ19QT1dFUl9QUk9GSUxFX1BP V0VSU0FWSU5HICA9IDB4MSwKPiArICAgICAgIFBQX1NNQ19QT1dFUl9QUk9GSUxFX1ZJREVPICAg ICAgICA9IDB4MiwKPiArICAgICAgIFBQX1NNQ19QT1dFUl9QUk9GSUxFX1ZSICAgICAgICAgICA9 IDB4MywKPiArICAgICAgIFBQX1NNQ19QT1dFUl9QUk9GSUxFX0NPTVBVVEUgICAgICA9IDB4NCwK PiArICAgICAgIFBQX1NNQ19QT1dFUl9QUk9GSUxFX0NVU1RPTSAgICAgICA9IDB4NSwKPiArfTsK Pgo+ICBlbnVtIHsKPiAgICAgICAgIFBQX0dST1VQX1VOS05PV04gPSAwLAo+IEBAIC0yODksNiAr Mjk2LDggQEAgc3RydWN0IGFtZF9wbV9mdW5jcyB7Cj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgcHBfZGlzcGxheV9jbG9ja19yZXF1ZXN0ICpjbG9jayk7Cj4gICAgICAg ICBpbnQgKCpnZXRfZGlzcGxheV9tb2RlX3ZhbGlkYXRpb25fY2xvY2tzKSh2b2lkICpoYW5kbGUs Cj4gICAgICAgICAgICAgICAgIHN0cnVjdCBhbWRfcHBfc2ltcGxlX2Nsb2NrX2luZm8gKmNsb2Nr cyk7Cj4gKyAgICAgICBpbnQgKCpnZXRfcG93ZXJfcHJvZmlsZV9tb2RlKSh2b2lkICpoYW5kbGUs IGNoYXIgKmJ1Zik7Cj4gKyAgICAgICBpbnQgKCpzZXRfcG93ZXJfcHJvZmlsZV9tb2RlKSh2b2lk ICpoYW5kbGUsIGxvbmcgKmlucHV0LCB1aW50MzJfdCBzaXplKTsKPiAgfTsKPgo+ICAjZW5kaWYK PiAtLQo+IDEuOS4xCj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+IGFtZC1nZnggbWFpbGluZyBsaXN0Cj4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ft ZC1nZngKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1k LWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==