From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: Re: [PATCH 1/2] drm/amd/powerplay: Add read_sensor() callback to hwmgr (v3) Date: Mon, 19 Sep 2016 11:53:55 -0400 Message-ID: References: <20160919131023.30064-1-tom.stdenis@amd.com> <20160919131023.30064-2-tom.stdenis@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160919131023.30064-2-tom.stdenis-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: Tom St Denis Cc: Tom St Denis , amd-gfx list T24gTW9uLCBTZXAgMTksIDIwMTYgYXQgOToxMCBBTSwgVG9tIFN0IERlbmlzIDx0c3RkZW5pczgy QGdtYWlsLmNvbT4gd3JvdGU6Cj4gUHJvdmlkZXMgc3RhbmRhcmRpemVkIGludGVyZmFjZSB0byBy ZWFkIHZhcmlvdXMgc2Vuc29ycy4KPiBUaGUgQVBJIGlzIGV4dGVuc2libGUgKGJ5IGFkZGluZyB0 byB0aGUgZW5kIG9mIHRoZQo+IGFtZF9wcF9zZW5zb3JzIGVudW1lcmF0aW9uIGxpc3QuCj4KPiBT dXBwb3J0IGhhcyBiZWVuIGFkZGVkIHRvIENhcnJpem8vc211Nwo+Cj4gKHYyKSBTcXVhc2hlZCB0 aGUgdHdvIHNlbnNvciBwYXRjaGVzIGludG8gb25lLgo+ICh2MykgVXBkYXRlZCB0byBhcHBseSB0 byBzbXU3X2h3bWdyIGluc3RlYWQKPgo+IFNpZ25lZC1vZmYtYnk6IFRvbSBTdCBEZW5pcyA8dG9t LnN0ZGVuaXNAYW1kLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv YW1kX3Bvd2VycGxheS5jICAgICB8IDIwICsrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L2h3bWdyL2N6X2h3bWdyLmMgICAgfCA5NiArKysrKysrKysrKysrKysrKysrKysrKwo+ ICBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmMgIHwgMzYg KysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9hbWRfcG93ZXJw bGF5LmggfCAxMiArKysKPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2h3bWdy LmggICAgICAgICB8ICAxICsKPiAgNSBmaWxlcyBjaGFuZ2VkLCAxNjUgaW5zZXJ0aW9ucygrKQo+ Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZF9wb3dlcnBs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZF9wb3dlcnBsYXkuYwo+IGlu ZGV4IGIxZDE5NDA5YmY4Ni4uZWUwMzY4MzgxZTgyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvcG93ZXJwbGF5L2FtZF9wb3dlcnBsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvcG93ZXJwbGF5L2FtZF9wb3dlcnBsYXkuYwo+IEBAIC04OTQsNiArODk0LDI1IEBAIHN0 YXRpYyBpbnQgcHBfZHBtX3NldF9tY2xrX29kKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgdmFsdWUp Cj4gICAgICAgICByZXR1cm4gaHdtZ3ItPmh3bWdyX2Z1bmMtPnNldF9tY2xrX29kKGh3bWdyLCB2 YWx1ZSk7Cj4gIH0KPgo+ICtzdGF0aWMgaW50IHBwX2RwbV9yZWFkX3NlbnNvcih2b2lkICpoYW5k bGUsIGludCBpZHgsIGludDMyX3QgKnZhbHVlKQo+ICt7Cj4gKyAgICAgICBzdHJ1Y3QgcHBfaHdt Z3IgKmh3bWdyOwo+ICsKPiArICAgICAgIGlmICghaGFuZGxlKQo+ICsgICAgICAgICAgICAgICBy ZXR1cm4gLUVJTlZBTDsKPiArCj4gKyAgICAgICBod21nciA9ICgoc3RydWN0IHBwX2luc3RhbmNl ICopaGFuZGxlKS0+aHdtZ3I7Cj4gKwo+ICsgICAgICAgUFBfQ0hFQ0tfSFcoaHdtZ3IpOwo+ICsK PiArICAgICAgIGlmIChod21nci0+aHdtZ3JfZnVuYy0+cmVhZF9zZW5zb3IgPT0gTlVMTCkgewo+ ICsgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICIlcyB3YXMgbm90IGltcGxlbWVudGVk LlxuIiwgX19mdW5jX18pOwo+ICsgICAgICAgICAgICAgICByZXR1cm4gMDsKPiArICAgICAgIH0K PiArCj4gKyAgICAgICByZXR1cm4gaHdtZ3ItPmh3bWdyX2Z1bmMtPnJlYWRfc2Vuc29yKGh3bWdy LCBpZHgsIHZhbHVlKTsKPiArfQo+ICsKPiAgY29uc3Qgc3RydWN0IGFtZF9wb3dlcnBsYXlfZnVu Y3MgcHBfZHBtX2Z1bmNzID0gewo+ICAgICAgICAgLmdldF90ZW1wZXJhdHVyZSA9IHBwX2RwbV9n ZXRfdGVtcGVyYXR1cmUsCj4gICAgICAgICAubG9hZF9maXJtd2FyZSA9IHBwX2RwbV9sb2FkX2Z3 LAo+IEBAIC05MjAsNiArOTM5LDcgQEAgY29uc3Qgc3RydWN0IGFtZF9wb3dlcnBsYXlfZnVuY3Mg cHBfZHBtX2Z1bmNzID0gewo+ICAgICAgICAgLnNldF9zY2xrX29kID0gcHBfZHBtX3NldF9zY2xr X29kLAo+ICAgICAgICAgLmdldF9tY2xrX29kID0gcHBfZHBtX2dldF9tY2xrX29kLAo+ICAgICAg ICAgLnNldF9tY2xrX29kID0gcHBfZHBtX3NldF9tY2xrX29kLAo+ICsgICAgICAgLnJlYWRfc2Vu c29yID0gcHBfZHBtX3JlYWRfc2Vuc29yLAoKQXMgYSBmdXR1cmUgcGF0Y2ggaXQgd291bGQgYmUg bmljZSB0byBob29rIHVwIHRoaXMgc2Vuc29yIGludGVyZmFjZSB0bwp0aGUgZXhpc3RpbmcgYW1k Z3B1X3BtX2luZm8gY29kZSBhbmQgbWFrZSB0aGF0IGFzaWMgaW5kcGVuZGVudC4KClNlcmllcyBp czoKUmV2aWV3ZWQtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4K CkFsZXgKCgo+ICB9Owo+Cj4gIHN0YXRpYyBpbnQgYW1kX3BwX2luc3RhbmNlX2luaXQoc3RydWN0 IGFtZF9wcF9pbml0ICpwcF9pbml0LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L3Bvd2VycGxheS9od21nci9jel9od21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvaHdtZ3IvY3pfaHdtZ3IuYwo+IGluZGV4IDVlY2VmMTczMmUyMC4uOWYzYzVhOGE5MDNjIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2N6X2h3bWdy LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9jel9od21nci5j Cj4gQEAgLTE4NTcsNiArMTg1NywxMDEgQEAgc3RhdGljIGludCBjel9nZXRfbWF4X2hpZ2hfY2xv Y2tzKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIHN0cnVjdCBhbWRfcHBfc2ltcGxlX2MKPiAgICAg ICAgIHJldHVybiAwOwo+ICB9Cj4KPiArc3RhdGljIGludCBjel9yZWFkX3NlbnNvcihzdHJ1Y3Qg cHBfaHdtZ3IgKmh3bWdyLCBpbnQgaWR4LCBpbnQzMl90ICp2YWx1ZSkKPiArewo+ICsgICAgICAg c3RydWN0IGN6X2h3bWdyICpjel9od21nciA9IChzdHJ1Y3QgY3pfaHdtZ3IgKikoaHdtZ3ItPmJh Y2tlbmQpOwo+ICsKPiArICAgICAgIHN0cnVjdCBwaG1fY2xvY2tfdm9sdGFnZV9kZXBlbmRlbmN5 X3RhYmxlICp0YWJsZSA9Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod21nci0+ ZHluX3N0YXRlLnZkZGNfZGVwZW5kZW5jeV9vbl9zY2xrOwo+ICsKPiArICAgICAgIHN0cnVjdCBw aG1fdmNlX2Nsb2NrX3ZvbHRhZ2VfZGVwZW5kZW5jeV90YWJsZSAqdmNlX3RhYmxlID0KPiArICAg ICAgICAgICAgICAgaHdtZ3ItPmR5bl9zdGF0ZS52Y2VfY2xvY2tfdm9sdGFnZV9kZXBlbmRlbmN5 X3RhYmxlOwo+ICsKPiArICAgICAgIHN0cnVjdCBwaG1fdXZkX2Nsb2NrX3ZvbHRhZ2VfZGVwZW5k ZW5jeV90YWJsZSAqdXZkX3RhYmxlID0KPiArICAgICAgICAgICAgICAgaHdtZ3ItPmR5bl9zdGF0 ZS51dmRfY2xvY2tfdm9sdGFnZV9kZXBlbmRlbmN5X3RhYmxlOwo+ICsKPiArICAgICAgIHVpbnQz Ml90IHNjbGtfaW5kZXggPSBQSE1fR0VUX0ZJRUxEKGNnc19yZWFkX2luZF9yZWdpc3Rlcihod21n ci0+ZGV2aWNlLCBDR1NfSU5EX1JFR19fU01DLCBpeFRBUkdFVF9BTkRfQ1VSUkVOVF9QUk9GSUxF X0lOREVYKSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVEFSR0VU X0FORF9DVVJSRU5UX1BST0ZJTEVfSU5ERVgsIENVUlJfU0NMS19JTkRFWCk7Cj4gKyAgICAgICB1 aW50MzJfdCB1dmRfaW5kZXggPSBQSE1fR0VUX0ZJRUxEKGNnc19yZWFkX2luZF9yZWdpc3Rlciho d21nci0+ZGV2aWNlLCBDR1NfSU5EX1JFR19fU01DLCBpeFRBUkdFVF9BTkRfQ1VSUkVOVF9QUk9G SUxFX0lOREVYXzIpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU QVJHRVRfQU5EX0NVUlJFTlRfUFJPRklMRV9JTkRFWF8yLCBDVVJSX1VWRF9JTkRFWCk7Cj4gKyAg ICAgICB1aW50MzJfdCB2Y2VfaW5kZXggPSBQSE1fR0VUX0ZJRUxEKGNnc19yZWFkX2luZF9yZWdp c3Rlcihod21nci0+ZGV2aWNlLCBDR1NfSU5EX1JFR19fU01DLCBpeFRBUkdFVF9BTkRfQ1VSUkVO VF9QUk9GSUxFX0lOREVYXzIpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBUQVJHRVRfQU5EX0NVUlJFTlRfUFJPRklMRV9JTkRFWF8yLCBDVVJSX1ZDRV9JTkRFWCk7 Cj4gKwo+ICsgICAgICAgdWludDMyX3Qgc2NsaywgdmNsaywgZGNsaywgZWNjbGssIHRtcCwgYWN0 aXZpdHlfcGVyY2VudDsKPiArICAgICAgIHVpbnQxNl90IHZkZG5iLCB2ZGRnZng7Cj4gKyAgICAg ICBpbnQgcmVzdWx0Owo+ICsKPiArICAgICAgIHN3aXRjaCAoaWR4KSB7Cj4gKyAgICAgICBjYXNl IEFNREdQVV9QUF9TRU5TT1JfR0ZYX1NDTEs6Cj4gKyAgICAgICAgICAgICAgIGlmIChzY2xrX2lu ZGV4IDwgTlVNX1NDTEtfTEVWRUxTKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgc2NsayA9 IHRhYmxlLT5lbnRyaWVzW3NjbGtfaW5kZXhdLmNsazsKPiArICAgICAgICAgICAgICAgICAgICAg ICAqdmFsdWUgPSBzY2xrOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwo+ICsg ICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ICsgICAg ICAgY2FzZSBBTURHUFVfUFBfU0VOU09SX1ZERE5COgo+ICsgICAgICAgICAgICAgICB0bXAgPSAo Y2dzX3JlYWRfaW5kX3JlZ2lzdGVyKGh3bWdyLT5kZXZpY2UsIENHU19JTkRfUkVHX19TTUMsIGl4 U01VU1ZJX05CX0NVUlJFTlRWSUQpICYKPiArICAgICAgICAgICAgICAgICAgICAgICBDVVJSRU5U X05CX1ZJRF9NQVNLKSA+PiBDVVJSRU5UX05CX1ZJRF9fU0hJRlQ7Cj4gKyAgICAgICAgICAgICAg IHZkZG5iID0gY3pfY29udmVydF84Qml0X2luZGV4X3RvX3ZvbHRhZ2UoaHdtZ3IsIHRtcCk7Cj4g KyAgICAgICAgICAgICAgICp2YWx1ZSA9IHZkZG5iOwo+ICsgICAgICAgICAgICAgICByZXR1cm4g MDsKPiArICAgICAgIGNhc2UgQU1ER1BVX1BQX1NFTlNPUl9WRERHRlg6Cj4gKyAgICAgICAgICAg ICAgIHRtcCA9IChjZ3NfcmVhZF9pbmRfcmVnaXN0ZXIoaHdtZ3ItPmRldmljZSwgQ0dTX0lORF9S RUdfX1NNQywgaXhTTVVTVklfR0ZYX0NVUlJFTlRWSUQpICYKPiArICAgICAgICAgICAgICAgICAg ICAgICBDVVJSRU5UX0dGWF9WSURfTUFTSykgPj4gQ1VSUkVOVF9HRlhfVklEX19TSElGVDsKPiAr ICAgICAgICAgICAgICAgdmRkZ2Z4ID0gY3pfY29udmVydF84Qml0X2luZGV4X3RvX3ZvbHRhZ2Uo aHdtZ3IsICh1MTYpdG1wKTsKPiArICAgICAgICAgICAgICAgKnZhbHVlID0gdmRkZ2Z4Owo+ICsg ICAgICAgICAgICAgICByZXR1cm4gMDsKPiArICAgICAgIGNhc2UgQU1ER1BVX1BQX1NFTlNPUl9V VkRfVkNMSzoKPiArICAgICAgICAgICAgICAgaWYgKCFjel9od21nci0+dXZkX3Bvd2VyX2dhdGVk KSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKHV2ZF9pbmRleCA+PSBDWl9NQVhfSEFS RFdBUkVfUE9XRVJMRVZFTFMpIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl dHVybiAtRUlOVkFMOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB2Y2xrID0gdXZkX3RhYmxlLT5lbnRyaWVzW3V2ZF9p bmRleF0udmNsazsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICp2YWx1ZSA9IHZj bGs7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKPiArICAgICAg ICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAg KnZhbHVlID0gMDsKPiArICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4gKyAgICAgICBjYXNlIEFN REdQVV9QUF9TRU5TT1JfVVZEX0RDTEs6Cj4gKyAgICAgICAgICAgICAgIGlmICghY3pfaHdtZ3It PnV2ZF9wb3dlcl9nYXRlZCkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmICh1dmRfaW5k ZXggPj0gQ1pfTUFYX0hBUkRXQVJFX1BPV0VSTEVWRUxTKSB7Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiArICAgICAgICAgICAgICAgICAgICAgICB9 IGVsc2Ugewo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGNsayA9IHV2ZF90YWJs ZS0+ZW50cmllc1t1dmRfaW5kZXhdLmRjbGs7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqdmFsdWUgPSBkY2xrOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0 dXJuIDA7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICB9Cj4g KyAgICAgICAgICAgICAgICp2YWx1ZSA9IDA7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOwo+ ICsgICAgICAgY2FzZSBBTURHUFVfUFBfU0VOU09SX1ZDRV9FQ0NMSzoKPiArICAgICAgICAgICAg ICAgaWYgKCFjel9od21nci0+dmNlX3Bvd2VyX2dhdGVkKSB7Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgaWYgKHZjZV9pbmRleCA+PSBDWl9NQVhfSEFSRFdBUkVfUE9XRVJMRVZFTFMpIHsKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ICsgICAgICAg ICAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBlY2NsayA9IHZjZV90YWJsZS0+ZW50cmllc1t2Y2VfaW5kZXhdLmVjY2xrOwo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKnZhbHVlID0gZWNjbGs7Cj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZXR1cm4gMDsKPiArICAgICAgICAgICAgICAgICAgICAgICB9Cj4g KyAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAgKnZhbHVlID0gMDsKPiArICAgICAg ICAgICAgICAgcmV0dXJuIDA7Cj4gKyAgICAgICBjYXNlIEFNREdQVV9QUF9TRU5TT1JfR1BVX0xP QUQ6Cj4gKyAgICAgICAgICAgICAgIHJlc3VsdCA9IHNtdW1fc2VuZF9tc2dfdG9fc21jKGh3bWdy LT5zbXVtZ3IsIFBQU01DX01TR19HZXRBdmVyYWdlR3JhcGhpY3NBY3Rpdml0eSk7Cj4gKyAgICAg ICAgICAgICAgIGlmICgwID09IHJlc3VsdCkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIGFj dGl2aXR5X3BlcmNlbnQgPSBjZ3NfcmVhZF9yZWdpc3Rlcihod21nci0+ZGV2aWNlLCBtbVNNVV9N UDFfU1JCTTJQX0FSR18wKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBhY3Rpdml0eV9wZXJj ZW50ID0gYWN0aXZpdHlfcGVyY2VudCA+IDEwMCA/IDEwMCA6IGFjdGl2aXR5X3BlcmNlbnQ7Cj4g KyAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZp dHlfcGVyY2VudCA9IDUwOwo+ICsgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICp2 YWx1ZSA9IGFjdGl2aXR5X3BlcmNlbnQ7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOwo+ICsg ICAgICAgZGVmYXVsdDoKPiArICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gKyAgICAg ICB9Cj4gK30KPiArCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcHBfaHdtZ3JfZnVuYyBjel9od21n cl9mdW5jcyA9IHsKPiAgICAgICAgIC5iYWNrZW5kX2luaXQgPSBjel9od21ncl9iYWNrZW5kX2lu aXQsCj4gICAgICAgICAuYmFja2VuZF9maW5pID0gY3pfaHdtZ3JfYmFja2VuZF9maW5pLAo+IEBA IC0xODgyLDYgKzE5NzcsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBwX2h3bWdyX2Z1bmMgY3pf aHdtZ3JfZnVuY3MgPSB7Cj4gICAgICAgICAuZ2V0X2N1cnJlbnRfc2hhbGxvd19zbGVlcF9jbG9j a3MgPSBjel9nZXRfY3VycmVudF9zaGFsbG93X3NsZWVwX2Nsb2NrcywKPiAgICAgICAgIC5nZXRf Y2xvY2tfYnlfdHlwZSA9IGN6X2dldF9jbG9ja19ieV90eXBlLAo+ICAgICAgICAgLmdldF9tYXhf aGlnaF9jbG9ja3MgPSBjel9nZXRfbWF4X2hpZ2hfY2xvY2tzLAo+ICsgICAgICAgLnJlYWRfc2Vu c29yID0gY3pfcmVhZF9zZW5zb3IsCj4gIH07Cj4KPiAgaW50IGN6X2h3bWdyX2luaXQoc3RydWN0 IHBwX2h3bWdyICpod21ncikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvaHdtZ3Ivc211N19od21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv aHdtZ3Ivc211N19od21nci5jCj4gaW5kZXggZjY3ZTFlMjYwYjMwLi4wN2E3ZDA0NmQ2ZjYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21n ci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21n ci5jCj4gQEAgLTMxNDQsNiArMzE0NCw0MSBAQCBzbXU3X3ByaW50X2N1cnJlbnRfcGVyZm9yY2Vf bGV2ZWwoc3RydWN0IHBwX2h3bWdyICpod21nciwgc3RydWN0IHNlcV9maWxlICptKQo+ICAgICAg ICAgc2VxX3ByaW50ZihtLCAidmNlICAgICVzYWJsZWRcbiIsIGRhdGEtPnZjZV9wb3dlcl9nYXRl ZCA/ICJkaXMiIDogImVuIik7Cj4gIH0KPgo+ICtzdGF0aWMgaW50IHNtdTdfcmVhZF9zZW5zb3Io c3RydWN0IHBwX2h3bWdyICpod21nciwgaW50IGlkeCwgaW50MzJfdCAqdmFsdWUpCj4gK3sKPiAr ICAgICAgIHVpbnQzMl90IHNjbGssIG1jbGssIGFjdGl2aXR5X3BlcmNlbnQ7Cj4gKyAgICAgICB1 aW50MzJfdCBvZmZzZXQ7Cj4gKyAgICAgICBzdHJ1Y3Qgc211N19od21nciAqZGF0YSA9IChzdHJ1 Y3Qgc211N19od21nciAqKShod21nci0+YmFja2VuZCk7Cj4gKwo+ICsgICAgICAgc3dpdGNoIChp ZHgpIHsKPiArICAgICAgIGNhc2UgQU1ER1BVX1BQX1NFTlNPUl9HRlhfU0NMSzoKPiArICAgICAg ICAgICAgICAgc211bV9zZW5kX21zZ190b19zbWMoaHdtZ3ItPnNtdW1nciwgUFBTTUNfTVNHX0FQ SV9HZXRTY2xrRnJlcXVlbmN5KTsKPiArICAgICAgICAgICAgICAgc2NsayA9IGNnc19yZWFkX3Jl Z2lzdGVyKGh3bWdyLT5kZXZpY2UsIG1tU01DX01TR19BUkdfMCk7Cj4gKyAgICAgICAgICAgICAg ICp2YWx1ZSA9IHNjbGs7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOwo+ICsgICAgICAgY2Fz ZSBBTURHUFVfUFBfU0VOU09SX0dGWF9NQ0xLOgo+ICsgICAgICAgICAgICAgICBzbXVtX3NlbmRf bXNnX3RvX3NtYyhod21nci0+c211bWdyLCBQUFNNQ19NU0dfQVBJX0dldE1jbGtGcmVxdWVuY3kp Owo+ICsgICAgICAgICAgICAgICBtY2xrID0gY2dzX3JlYWRfcmVnaXN0ZXIoaHdtZ3ItPmRldmlj ZSwgbW1TTUNfTVNHX0FSR18wKTsKPiArICAgICAgICAgICAgICAgKnZhbHVlID0gbWNsazsKPiAr ICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4gKyAgICAgICBjYXNlIEFNREdQVV9QUF9TRU5TT1Jf R1BVX0xPQUQ6Cj4gKyAgICAgICAgICAgICAgIG9mZnNldCA9IGRhdGEtPnNvZnRfcmVnc19zdGFy dCArIHNtdW1fZ2V0X29mZnNldG9mKGh3bWdyLT5zbXVtZ3IsCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVV9Tb2Z0UmVn aXN0ZXJzLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBBdmVyYWdlR3JhcGhpY3NBY3Rpdml0eSk7Cj4gKwo+ICsgICAgICAg ICAgICAgICBhY3Rpdml0eV9wZXJjZW50ID0gY2dzX3JlYWRfaW5kX3JlZ2lzdGVyKGh3bWdyLT5k ZXZpY2UsIENHU19JTkRfUkVHX19TTUMsIG9mZnNldCk7Cj4gKyAgICAgICAgICAgICAgIGFjdGl2 aXR5X3BlcmNlbnQgKz0gMHg4MDsKPiArICAgICAgICAgICAgICAgYWN0aXZpdHlfcGVyY2VudCA+ Pj0gODsKPiArICAgICAgICAgICAgICAgKnZhbHVlID0gYWN0aXZpdHlfcGVyY2VudCA+IDEwMCA/ IDEwMCA6IGFjdGl2aXR5X3BlcmNlbnQ7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOwo+ICsg ICAgICAgY2FzZSBBTURHUFVfUFBfU0VOU09SX0dQVV9URU1QOgo+ICsgICAgICAgICAgICAgICAq dmFsdWUgPSBzbXU3X3RoZXJtYWxfZ2V0X3RlbXBlcmF0dXJlKGh3bWdyKTsKPiArICAgICAgICAg ICAgICAgcmV0dXJuIDA7Cj4gKyAgICAgICBkZWZhdWx0Ogo+ICsgICAgICAgICAgICAgICByZXR1 cm4gLUVJTlZBTDsKPiArICAgICAgIH0KPiArfQo+ICsKPiAgc3RhdGljIGludCBzbXU3X2ZpbmRf ZHBtX3N0YXRlc19jbG9ja3NfaW5fZHBtX3RhYmxlKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIGNv bnN0IHZvaWQgKmlucHV0KQo+ICB7Cj4gICAgICAgICBjb25zdCBzdHJ1Y3QgcGhtX3NldF9wb3dl cl9zdGF0ZV9pbnB1dCAqc3RhdGVzID0KPiBAQCAtNDMxNSw2ICs0MzUwLDcgQEAgc3RhdGljIHN0 cnVjdCBwcF9od21ncl9mdW5jIHNtdTdfaHdtZ3JfZnVuY3MgPSB7Cj4gICAgICAgICAuZ2V0X21j bGtfb2QgPSBzbXU3X2dldF9tY2xrX29kLAo+ICAgICAgICAgLnNldF9tY2xrX29kID0gc211N19z ZXRfbWNsa19vZCwKPiAgICAgICAgIC5nZXRfY2xvY2tfYnlfdHlwZSA9IHNtdTdfZ2V0X2Nsb2Nr X2J5X3R5cGUsCj4gKyAgICAgICAucmVhZF9zZW5zb3IgPSBzbXU3X3JlYWRfc2Vuc29yLAo+ICB9 Owo+Cj4gIHVpbnQ4X3Qgc211N19nZXRfc2xlZXBfZGl2aWRlcl9pZF9mcm9tX2Nsb2NrKHVpbnQz Ml90IGNsb2NrLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9p bmMvYW1kX3Bvd2VycGxheS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2Ft ZF9wb3dlcnBsYXkuaAo+IGluZGV4IGY5NDFhY2Y1NjNhOS4uZGZhMGYzOGE1ZTc2IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9hbWRfcG93ZXJwbGF5LmgK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kX3Bvd2VycGxheS5o Cj4gQEAgLTI5LDYgKzI5LDE3IEBACj4gICNpbmNsdWRlICJhbWRfc2hhcmVkLmgiCj4gICNpbmNs dWRlICJjZ3NfY29tbW9uLmgiCj4KPiArZW51bSBhbWRfcHBfc2Vuc29ycyB7Cj4gKyAgICAgICBB TURHUFVfUFBfU0VOU09SX0dGWF9TQ0xLID0gMCwKPiArICAgICAgIEFNREdQVV9QUF9TRU5TT1Jf VkRETkIsCj4gKyAgICAgICBBTURHUFVfUFBfU0VOU09SX1ZEREdGWCwKPiArICAgICAgIEFNREdQ VV9QUF9TRU5TT1JfVVZEX1ZDTEssCj4gKyAgICAgICBBTURHUFVfUFBfU0VOU09SX1VWRF9EQ0xL LAo+ICsgICAgICAgQU1ER1BVX1BQX1NFTlNPUl9WQ0VfRUNDTEssCj4gKyAgICAgICBBTURHUFVf UFBfU0VOU09SX0dQVV9MT0FELAo+ICsgICAgICAgQU1ER1BVX1BQX1NFTlNPUl9HRlhfTUNMSywK PiArICAgICAgIEFNREdQVV9QUF9TRU5TT1JfR1BVX1RFTVAsCj4gK307Cj4KPiAgZW51bSBhbWRf cHBfZXZlbnQgewo+ICAgICAgICAgQU1EX1BQX0VWRU5UX0lOSVRJQUxJWkUgPSAwLAo+IEBAIC0z NDcsNiArMzU4LDcgQEAgc3RydWN0IGFtZF9wb3dlcnBsYXlfZnVuY3Mgewo+ICAgICAgICAgaW50 ICgqc2V0X3NjbGtfb2QpKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgdmFsdWUpOwo+ICAgICAgICAg aW50ICgqZ2V0X21jbGtfb2QpKHZvaWQgKmhhbmRsZSk7Cj4gICAgICAgICBpbnQgKCpzZXRfbWNs a19vZCkodm9pZCAqaGFuZGxlLCB1aW50MzJfdCB2YWx1ZSk7Cj4gKyAgICAgICBpbnQgKCpyZWFk X3NlbnNvcikodm9pZCAqaGFuZGxlLCBpbnQgaWR4LCBpbnQzMl90ICp2YWx1ZSk7Cj4gIH07Cj4K PiAgc3RydWN0IGFtZF9wb3dlcnBsYXkgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9pbmMvaHdtZ3IuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5 L2luYy9od21nci5oCj4gaW5kZXggYzk2MjhiNGRiMmMzLi5mY2Q0NTQ1MjM4MGQgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2h3bWdyLmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvaHdtZ3IuaAo+IEBAIC0zNTksNiArMzU5 LDcgQEAgc3RydWN0IHBwX2h3bWdyX2Z1bmMgewo+ICAgICAgICAgaW50ICgqc2V0X3NjbGtfb2Qp KHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIHVpbnQzMl90IHZhbHVlKTsKPiAgICAgICAgIGludCAo KmdldF9tY2xrX29kKShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKTsKPiAgICAgICAgIGludCAoKnNl dF9tY2xrX29kKShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLCB1aW50MzJfdCB2YWx1ZSk7Cj4gKyAg ICAgICBpbnQgKCpyZWFkX3NlbnNvcikoc3RydWN0IHBwX2h3bWdyICpod21nciwgaW50IGlkeCwg aW50MzJfdCAqdmFsdWUpOwo+ICB9Owo+Cj4gIHN0cnVjdCBwcF90YWJsZV9mdW5jIHsKPiAtLQo+ IDIuMTAuMAo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4 Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZngg bWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=