From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: Re: [PATCH] drm/amdgpu: enable separate timeout setting for every ring type V4 Date: Mon, 29 Apr 2019 23:20:14 -0400 Message-ID: References: <20190430031619.7906-1-evan.quan@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190430031619.7906-1-evan.quan-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: Evan Quan Cc: "Deucher, Alexander" , wentalou , "Daenzer, Michel" , Christian Koenig , amd-gfx list T24gTW9uLCBBcHIgMjksIDIwMTkgYXQgMTE6MTYgUE0gRXZhbiBRdWFuIDxldmFuLnF1YW5AYW1k LmNvbT4gd3JvdGU6Cj4KPiBFdmVyeSByaW5nIHR5cGUgY2FuIGhhdmUgaXRzIG93biB0aW1lb3V0 IHNldHRpbmcuCj4KPiAgLSBWMjogdXBkYXRlIGxvY2t1cF90aW1lb3V0IHBhcmFtZXRlciBmb3Jt YXQgYW5kIGNvc21ldGljIGZpeGVzCj4gIC0gVjM6IGludmFsaWRhdGUgMCBhbmQgbmVnYXRpdmUg dmFsdWVzCj4gIC0gVjQ6IHVwZGF0ZSBsb2NrdXBfdGltZW91dCBwYXJhbWV0ZXIgZm9ybWF0Cj4K PiBDaGFuZ2UtSWQ6IEk5OTJmMjI0ZjM2YmIzM2FjZDU2MDE2MmJmZmQyYzNlOTg3ODQwYTdlCj4g U2lnbmVkLW9mZi1ieTogRXZhbiBRdWFuIDxldmFuLnF1YW5AYW1kLmNvbT4KClJldmlld2VkLWJ5 OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Cgo+IC0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCAgICAgICAgfCAgNyArLQo+ICBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgfCAxNyArKystLQo+ICBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMgICAgfCA3OSArKysrKysrKysrKysrKysr KysrKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mZW5jZS5jICB8IDM1 ICsrKysrKysrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbXhncHVfYWkuYyAgICAg IHwgIDIgKy0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRp b25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+IGluZGV4IGY2OTY1Yjk0 MDNlYi4uYzliNDRiOGMxOTY5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgK PiBAQCAtMTE4LDcgKzExOCw2IEBAIGV4dGVybiBpbnQgYW1kZ3B1X2Rpc3BfcHJpb3JpdHk7Cj4g IGV4dGVybiBpbnQgYW1kZ3B1X2h3X2kyYzsKPiAgZXh0ZXJuIGludCBhbWRncHVfcGNpZV9nZW4y Owo+ICBleHRlcm4gaW50IGFtZGdwdV9tc2k7Cj4gLWV4dGVybiBpbnQgYW1kZ3B1X2xvY2t1cF90 aW1lb3V0Owo+ICBleHRlcm4gaW50IGFtZGdwdV9kcG07Cj4gIGV4dGVybiBpbnQgYW1kZ3B1X2Z3 X2xvYWRfdHlwZTsKPiAgZXh0ZXJuIGludCBhbWRncHVfYXNwbTsKPiBAQCAtNDI4LDYgKzQyNyw3 IEBAIHN0cnVjdCBhbWRncHVfZnByaXYgewo+ICB9Owo+Cj4gIGludCBhbWRncHVfZmlsZV90b19m cHJpdihzdHJ1Y3QgZmlsZSAqZmlscCwgc3RydWN0IGFtZGdwdV9mcHJpdiAqKmZwcml2KTsKPiAr aW50IGFtZGdwdV9kZXZpY2VfZ2V0X2pvYl90aW1lb3V0X3NldHRpbmdzKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2KTsKPgo+ICBpbnQgYW1kZ3B1X2liX2dldChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwgc3RydWN0IGFtZGdwdV92bSAqdm0sCj4gICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgc2l6ZSwgc3RydWN0IGFtZGdwdV9pYiAqaWIpOwo+IEBAIC0xMDAxLDYgKzEwMDEsMTEgQEAg c3RydWN0IGFtZGdwdV9kZXZpY2Ugewo+ICAgICAgICAgc3RydWN0IHdvcmtfc3RydWN0ICAgICAg ICAgICAgICB4Z21pX3Jlc2V0X3dvcms7Cj4KPiAgICAgICAgIGJvb2wgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW5fYmFjb19yZXNldDsKPiArCj4gKyAgICAgICBsb25nICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGdmeF90aW1lb3V0Owo+ICsgICAgICAgbG9uZyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzZG1hX3RpbWVvdXQ7Cj4gKyAgICAgICBsb25nICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHZpZGVvX3RpbWVvdXQ7Cj4gKyAgICAgICBsb25nICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbXB1dGVfdGltZW91dDsKPiAgfTsKPgo+ICBzdGF0aWMgaW5saW5lIHN0 cnVjdCBhbWRncHVfZGV2aWNlICphbWRncHVfdHRtX2FkZXYoc3RydWN0IHR0bV9ib19kZXZpY2Ug KmJkZXYpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9k ZXZpY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwo+IGlu ZGV4IDgwYmY2MDQwMTliMS4uYjExYWYzOGEwMjM4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwo+IEBAIC05MTIsOCArOTEyLDEwIEBAIHN0YXRpYyB2 b2lkIGFtZGdwdV9kZXZpY2VfY2hlY2tfc211X3Bydl9idWZmZXJfc2l6ZShzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldikKPiAgICogVmFsaWRhdGVzIGNlcnRhaW4gbW9kdWxlIHBhcmFtZXRlcnMg YW5kIHVwZGF0ZXMKPiAgICogdGhlIGFzc29jaWF0ZWQgdmFsdWVzIHVzZWQgYnkgdGhlIGRyaXZl ciAoYWxsIGFzaWNzKS4KPiAgICovCj4gLXN0YXRpYyB2b2lkIGFtZGdwdV9kZXZpY2VfY2hlY2tf YXJndW1lbnRzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICtzdGF0aWMgaW50IGFtZGdw dV9kZXZpY2VfY2hlY2tfYXJndW1lbnRzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICB7 Cj4gKyAgICAgICBpbnQgcmV0ID0gMDsKPiArCj4gICAgICAgICBpZiAoYW1kZ3B1X3NjaGVkX2pv YnMgPCA0KSB7Cj4gICAgICAgICAgICAgICAgIGRldl93YXJuKGFkZXYtPmRldiwgInNjaGVkIGpv YnMgKCVkKSBtdXN0IGJlIGF0IGxlYXN0IDRcbiIsCj4gICAgICAgICAgICAgICAgICAgICAgICAg IGFtZGdwdV9zY2hlZF9qb2JzKTsKPiBAQCAtOTU4LDEzICs5NjAsMTYgQEAgc3RhdGljIHZvaWQg YW1kZ3B1X2RldmljZV9jaGVja19hcmd1bWVudHMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYp Cj4gICAgICAgICAgICAgICAgIGFtZGdwdV92cmFtX3BhZ2Vfc3BsaXQgPSAxMDI0Owo+ICAgICAg ICAgfQo+Cj4gLSAgICAgICBpZiAoYW1kZ3B1X2xvY2t1cF90aW1lb3V0ID09IDApIHsKPiAtICAg ICAgICAgICAgICAgZGV2X3dhcm4oYWRldi0+ZGV2LCAibG9ja3VwX3RpbWVvdXQgbXN1dCBiZSA+ IDAsIGFkanVzdGluZyB0byAxMDAwMFxuIik7Cj4gLSAgICAgICAgICAgICAgIGFtZGdwdV9sb2Nr dXBfdGltZW91dCA9IDEwMDAwOwo+ICsgICAgICAgcmV0ID0gYW1kZ3B1X2RldmljZV9nZXRfam9i X3RpbWVvdXRfc2V0dGluZ3MoYWRldik7Cj4gKyAgICAgICBpZiAocmV0KSB7Cj4gKyAgICAgICAg ICAgICAgIGRldl9lcnIoYWRldi0+ZGV2LCAiaW52YWxpZCBsb2NrdXBfdGltZW91dCBwYXJhbWV0 ZXIgc3ludGF4XG4iKTsKPiArICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiAgICAgICAgIH0K Pgo+ICAgICAgICAgYWRldi0+ZmlybXdhcmUubG9hZF90eXBlID0gYW1kZ3B1X3Vjb2RlX2dldF9s b2FkX3R5cGUoYWRldiwgYW1kZ3B1X2Z3X2xvYWRfdHlwZSk7Cj4gICAgICAgICBhbWRncHVfZGly ZWN0X2dtYV9zaXplID0gbWluKGFtZGdwdV9kaXJlY3RfZ21hX3NpemUsIDk2KTsKPiArCj4gKyAg ICAgICByZXR1cm4gcmV0Owo+ICB9Cj4KPiAgLyoqCj4gQEAgLTI0NjgsNyArMjQ3Myw5IEBAIGlu dCBhbWRncHVfZGV2aWNlX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAgICAg ICBtdXRleF9pbml0KCZhZGV2LT5sb2NrX3Jlc2V0KTsKPiAgICAgICAgIG11dGV4X2luaXQoJmFk ZXYtPnZpcnQuZHBtX211dGV4KTsKPgo+IC0gICAgICAgYW1kZ3B1X2RldmljZV9jaGVja19hcmd1 bWVudHMoYWRldik7Cj4gKyAgICAgICByID0gYW1kZ3B1X2RldmljZV9jaGVja19hcmd1bWVudHMo YWRldik7Cj4gKyAgICAgICBpZiAocikKPiArICAgICAgICAgICAgICAgcmV0dXJuIHI7Cj4KPiAg ICAgICAgIHNwaW5fbG9ja19pbml0KCZhZGV2LT5tbWlvX2lkeF9sb2NrKTsKPiAgICAgICAgIHNw aW5fbG9ja19pbml0KCZhZGV2LT5zbWNfaWR4X2xvY2spOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfZHJ2LmMKPiBpbmRleCA3MWRmMjdjZDAzZGUuLjYwOWM3YWY4YTNmMCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKPiBAQCAtODMsNiArODMs OCBAQAo+Cj4gICNkZWZpbmUgQU1ER1BVX1ZFUlNJT04gICAgICAgICAiMTkuMTAuOS40MTgiCj4K PiArI2RlZmluZSBBTURHUFVfTUFYX1RJTUVPVVRfUEFSQU1fTEVOVEggMjU2Cj4gKwo+ICBpbnQg YW1kZ3B1X3ZyYW1fbGltaXQgPSAwOwo+ICBpbnQgYW1kZ3B1X3Zpc192cmFtX2xpbWl0ID0gMDsK PiAgaW50IGFtZGdwdV9nYXJ0X3NpemUgPSAtMTsgLyogYXV0byAqLwo+IEBAIC05NSw3ICs5Nyw3 IEBAIGludCBhbWRncHVfZGlzcF9wcmlvcml0eSA9IDA7Cj4gIGludCBhbWRncHVfaHdfaTJjID0g MDsKPiAgaW50IGFtZGdwdV9wY2llX2dlbjIgPSAtMTsKPiAgaW50IGFtZGdwdV9tc2kgPSAtMTsK PiAtaW50IGFtZGdwdV9sb2NrdXBfdGltZW91dCA9IDEwMDAwOwo+ICtjaGFyIGFtZGdwdV9sb2Nr dXBfdGltZW91dFtBTURHUFVfTUFYX1RJTUVPVVRfUEFSQU1fTEVOVEhdOwo+ICBpbnQgYW1kZ3B1 X2RwbSA9IC0xOwo+ICBpbnQgYW1kZ3B1X2Z3X2xvYWRfdHlwZSA9IC0xOwo+ICBpbnQgYW1kZ3B1 X2FzcG0gPSAtMTsKPiBAQCAtMjMyLDEyICsyMzQsMjEgQEAgTU9EVUxFX1BBUk1fREVTQyhtc2ks ICJNU0kgc3VwcG9ydCAoMSA9IGVuYWJsZSwgMCA9IGRpc2FibGUsIC0xID0gYXV0bykiKTsKPiAg bW9kdWxlX3BhcmFtX25hbWVkKG1zaSwgYW1kZ3B1X21zaSwgaW50LCAwNDQ0KTsKPgo+ICAvKioK PiAtICogRE9DOiBsb2NrdXBfdGltZW91dCAoaW50KQo+IC0gKiBTZXQgR1BVIHNjaGVkdWxlciB0 aW1lb3V0IHZhbHVlIGluIG1zLiBWYWx1ZSAwIGlzIGludmFsaWRhdGVkLCB3aWxsIGJlIGFkanVz dGVkIHRvIDEwMDAwLgo+IC0gKiBOZWdhdGl2ZSB2YWx1ZXMgbWVhbiAnaW5maW5pdGUgdGltZW91 dCcgKE1BWF9KSUZGWV9PRkZTRVQpLiBUaGUgZGVmYXVsdCBpcyAxMDAwMC4KPiArICogRE9DOiBs b2NrdXBfdGltZW91dCAoc3RyaW5nKQo+ICsgKiBTZXQgR1BVIHNjaGVkdWxlciB0aW1lb3V0IHZh bHVlIGluIG1zLgo+ICsgKgo+ICsgKiBUaGUgZm9ybWF0IGNhbiBiZSBbTm9uLUNvbXB1dGVdIG9y IFtHRlgsQ29tcHV0ZSxTRE1BLFZpZGVvXS4gVGhhdCBpcyB0aGVyZSBjYW4gYmUgb25lIG9yCj4g KyAqIG11bHRpcGxlIHZhbHVlcyBzcGVjaWZpZWQuIDAgYW5kIG5lZ2F0aXZlIHZhbHVlcyBhcmUg aW52YWxpZGF0ZWQuIFRoZXkgd2lsbCBiZSBhZGp1c3RlZAo+ICsgKiB0byBkZWZhdWx0IHRpbWVv dXQuCj4gKyAqICAtIFdpdGggb25lIHZhbHVlIHNwZWNpZmllZCwgdGhlIHNldHRpbmcgd2lsbCBh cHBseSB0byBhbGwgbm9uLWNvbXB1dGUgam9icy4KPiArICogIC0gV2l0aCBtdWx0aXBsZSB2YWx1 ZXMgc3BlY2lmaWVkLCB0aGUgZmlyc3Qgb25lIHdpbGwgYmUgZm9yIEdGWC4gVGhlIHNlY29uZCBv bmUgaXMgZm9yIENvbXB1dGUuCj4gKyAqICAgIEFuZCB0aGUgdGhpcmQgYW5kIGZvdXJ0aCBvbmVz IGFyZSBmb3IgU0RNQSBhbmQgVmlkZW8uCj4gKyAqIEJ5IGRlZmF1bHQod2l0aCBubyBsb2NrdXBf dGltZW91dCBzZXR0aW5ncyksIHRoZSB0aW1lb3V0IGZvciBhbGwgbm9uLWNvbXB1dGUoR0ZYLCBT RE1BIGFuZCBWaWRlbykKPiArICogam9icyBpcyAxMDAwMC4gQW5kIHRoZXJlIGlzIG5vIHRpbWVv dXQgZW5mb3JjZWQgb24gY29tcHV0ZSBqb2JzLgo+ICAgKi8KPiAtTU9EVUxFX1BBUk1fREVTQyhs b2NrdXBfdGltZW91dCwgIkdQVSBsb2NrdXAgdGltZW91dCBpbiBtcyA+IDAgKGRlZmF1bHQgMTAw MDApIik7Cj4gLW1vZHVsZV9wYXJhbV9uYW1lZChsb2NrdXBfdGltZW91dCwgYW1kZ3B1X2xvY2t1 cF90aW1lb3V0LCBpbnQsIDA0NDQpOwo+ICtNT0RVTEVfUEFSTV9ERVNDKGxvY2t1cF90aW1lb3V0 LCAiR1BVIGxvY2t1cCB0aW1lb3V0IGluIG1zIChkZWZhdWx0OiAxMDAwMCBmb3Igbm9uLWNvbXB1 dGUgam9icyBhbmQgbm8gdGltZW91dCBmb3IgY29tcHV0ZSBqb2JzKSwgIgo+ICsgICAgICAgICAg ICAgICAiZm9ybWF0IGlzIFtOb24tQ29tcHV0ZV0gb3IgW0dGWCxDb21wdXRlLFNETUEsVmlkZW9d Iik7Cj4gK21vZHVsZV9wYXJhbV9zdHJpbmcobG9ja3VwX3RpbWVvdXQsIGFtZGdwdV9sb2NrdXBf dGltZW91dCwgc2l6ZW9mKGFtZGdwdV9sb2NrdXBfdGltZW91dCksIDA0NDQpOwo+Cj4gIC8qKgo+ ICAgKiBET0M6IGRwbSAoaW50KQo+IEBAIC0xMzA3LDYgKzEzMTgsNjIgQEAgaW50IGFtZGdwdV9m aWxlX3RvX2Zwcml2KHN0cnVjdCBmaWxlICpmaWxwLCBzdHJ1Y3QgYW1kZ3B1X2Zwcml2ICoqZnBy aXYpCj4gICAgICAgICByZXR1cm4gMDsKPiAgfQo+Cj4gK2ludCBhbWRncHVfZGV2aWNlX2dldF9q b2JfdGltZW91dF9zZXR0aW5ncyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiArewo+ICsg ICAgICAgY2hhciAqaW5wdXQgPSBhbWRncHVfbG9ja3VwX3RpbWVvdXQ7Cj4gKyAgICAgICBjaGFy ICp0aW1lb3V0X3NldHRpbmcgPSBOVUxMOwo+ICsgICAgICAgaW50IGluZGV4ID0gMDsKPiArICAg ICAgIGxvbmcgdGltZW91dDsKPiArICAgICAgIGludCByZXQgPSAwOwo+ICsKPiArICAgICAgIC8q Cj4gKyAgICAgICAgKiBCeSBkZWZhdWx0IHRpbWVvdXQgZm9yIG5vbiBjb21wdXRlIGpvYnMgaXMg MTAwMDAuCj4gKyAgICAgICAgKiBBbmQgdGhlcmUgaXMgbm8gdGltZW91dCBlbmZvcmNlZCBvbiBj b21wdXRlIGpvYnMuCj4gKyAgICAgICAgKi8KPiArICAgICAgIGFkZXYtPmdmeF90aW1lb3V0ID0g YWRldi0+c2RtYV90aW1lb3V0ID0gYWRldi0+dmlkZW9fdGltZW91dCA9IDEwMDAwOwo+ICsgICAg ICAgYWRldi0+Y29tcHV0ZV90aW1lb3V0ID0gTUFYX1NDSEVEVUxFX1RJTUVPVVQ7Cj4gKwo+ICsg ICAgICAgaWYgKHN0cm5sZW4oaW5wdXQsIEFNREdQVV9NQVhfVElNRU9VVF9QQVJBTV9MRU5USCkp IHsKPiArICAgICAgICAgICAgICAgd2hpbGUgKCh0aW1lb3V0X3NldHRpbmcgPSBzdHJzZXAoJmlu cHV0LCAiLCIpKSAmJgo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rybmxlbih0 aW1lb3V0X3NldHRpbmcsIEFNREdQVV9NQVhfVElNRU9VVF9QQVJBTV9MRU5USCkpIHsKPiArICAg ICAgICAgICAgICAgICAgICAgICByZXQgPSBrc3RydG9sKHRpbWVvdXRfc2V0dGluZywgMCwgJnRp bWVvdXQpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQpCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ICsKPiArICAgICAgICAgICAgICAgICAg ICAgICAvKiBJbnZhbGlkYXRlIDAgYW5kIG5lZ2F0aXZlIHZhbHVlcyAqLwo+ICsgICAgICAgICAg ICAgICAgICAgICAgIGlmICh0aW1lb3V0IDw9IDApIHsKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGluZGV4Kys7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250 aW51ZTsKPiArICAgICAgICAgICAgICAgICAgICAgICB9Cj4gKwo+ICsgICAgICAgICAgICAgICAg ICAgICAgIHN3aXRjaCAoaW5kZXgrKykgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIGNhc2Ug MDoKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZXYtPmdmeF90aW1lb3V0ID0g dGltZW91dDsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAg ICAgICAgICAgICAgICAgICAgIGNhc2UgMToKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGFkZXYtPmNvbXB1dGVfdGltZW91dCA9IHRpbWVvdXQ7Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6Cj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGV2LT5zZG1hX3RpbWVvdXQgPSB0aW1l b3V0Owo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAg ICAgICAgICAgICAgICAgY2FzZSAzOgo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YWRldi0+dmlkZW9fdGltZW91dCA9IHRpbWVvdXQ7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBicmVhazsKPiArICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Ogo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgICAgICAgICAgICAg ICAgfQo+ICsgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgIC8qCj4gKyAgICAgICAg ICAgICAgICAqIFRoZXJlIGlzIG9ubHkgb25lIHZhbHVlIHNwZWNpZmllZCBhbmQKPiArICAgICAg ICAgICAgICAgICogaXQgc2hvdWxkIGFwcGx5IHRvIGFsbCBub24tY29tcHV0ZSBqb2JzLgo+ICsg ICAgICAgICAgICAgICAgKi8KPiArICAgICAgICAgICAgICAgaWYgKGluZGV4ID09IDEpCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgYWRldi0+c2RtYV90aW1lb3V0ID0gYWRldi0+dmlkZW9fdGlt ZW91dCA9IGFkZXYtPmdmeF90aW1lb3V0Owo+ICsgICAgICAgfQo+ICsKPiArICAgICAgIHJldHVy biByZXQ7Cj4gK30KPiArCj4gIHN0YXRpYyBib29sCj4gIGFtZGdwdV9nZXRfY3J0Y19zY2Fub3V0 X3Bvc2l0aW9uKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlLAo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaW5fdmJsYW5rX2lycSwgaW50ICp2 cG9zLCBpbnQgKmhwb3MsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9mZW5jZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ZlbmNl LmMKPiBpbmRleCBkMTlhZDM0YmVmNzUuLjE2YjdlM2EyMmU4OSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmVuY2UuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mZW5jZS5jCj4gQEAgLTQzNiw5ICs0MzYsMTMgQEAgaW50 IGFtZGdwdV9mZW5jZV9kcml2ZXJfc3RhcnRfcmluZyhzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcs Cj4gIGludCBhbWRncHVfZmVuY2VfZHJpdmVyX2luaXRfcmluZyhzdHJ1Y3QgYW1kZ3B1X3Jpbmcg KnJpbmcsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIG51bV9o d19zdWJtaXNzaW9uKQo+ICB7Cj4gKyAgICAgICBzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9 IHJpbmctPmFkZXY7Cj4gICAgICAgICBsb25nIHRpbWVvdXQ7Cj4gICAgICAgICBpbnQgcjsKPgo+ ICsgICAgICAgaWYgKCFhZGV2KQo+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiAr Cj4gICAgICAgICAvKiBDaGVjayB0aGF0IG51bV9od19zdWJtaXNzaW9uIGlzIGEgcG93ZXIgb2Yg dHdvICovCj4gICAgICAgICBpZiAoKG51bV9od19zdWJtaXNzaW9uICYgKG51bV9od19zdWJtaXNz aW9uIC0gMSkpICE9IDApCj4gICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+IEBAIC00 NjUsMTIgKzQ2OSwzMSBAQCBpbnQgYW1kZ3B1X2ZlbmNlX2RyaXZlcl9pbml0X3Jpbmcoc3RydWN0 IGFtZGdwdV9yaW5nICpyaW5nLAo+Cj4gICAgICAgICAvKiBObyBuZWVkIHRvIHNldHVwIHRoZSBH UFUgc2NoZWR1bGVyIGZvciBLSVEgcmluZyAqLwo+ICAgICAgICAgaWYgKHJpbmctPmZ1bmNzLT50 eXBlICE9IEFNREdQVV9SSU5HX1RZUEVfS0lRKSB7Cj4gLSAgICAgICAgICAgICAgIC8qIGZvciBu b24tc3Jpb3YgY2FzZSwgbm8gdGltZW91dCBlbmZvcmNlIG9uIGNvbXB1dGUgcmluZyAqLwo+IC0g ICAgICAgICAgICAgICBpZiAoKHJpbmctPmZ1bmNzLT50eXBlID09IEFNREdQVV9SSU5HX1RZUEVf Q09NUFVURSkKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICFhbWRncHVfc3Jp b3ZfdmYocmluZy0+YWRldikpCj4gLSAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCA9IE1B WF9TQ0hFRFVMRV9USU1FT1VUOwo+IC0gICAgICAgICAgICAgICBlbHNlCj4gLSAgICAgICAgICAg ICAgICAgICAgICAgdGltZW91dCA9IG1zZWNzX3RvX2ppZmZpZXMoYW1kZ3B1X2xvY2t1cF90aW1l b3V0KTsKPiArICAgICAgICAgICAgICAgc3dpdGNoIChyaW5nLT5mdW5jcy0+dHlwZSkgewo+ICsg ICAgICAgICAgICAgICBjYXNlIEFNREdQVV9SSU5HX1RZUEVfR0ZYOgo+ICsgICAgICAgICAgICAg ICAgICAgICAgIHRpbWVvdXQgPSBhZGV2LT5nZnhfdGltZW91dDsKPiArICAgICAgICAgICAgICAg ICAgICAgICBicmVhazsKPiArICAgICAgICAgICAgICAgY2FzZSBBTURHUFVfUklOR19UWVBFX0NP TVBVVEU6Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgLyoKPiArICAgICAgICAgICAgICAgICAg ICAgICAgKiBGb3Igbm9uLXNyaW92IGNhc2UsIG5vIHRpbWVvdXQgZW5mb3JjZQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAqIG9uIGNvbXB1dGUgcmluZyBieSBkZWZhdWx0LiBVbmxlc3MgdXNl cgo+ICsgICAgICAgICAgICAgICAgICAgICAgICAqIHNwZWNpZmllcyBhIHRpbWVvdXQgZm9yIGNv bXB1dGUgcmluZy4KPiArICAgICAgICAgICAgICAgICAgICAgICAgKgo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAqIEZvciBzcmlvdiBjYXNlLCBhbHdheXMgdXNlIHRoZSB0aW1lb3V0Cj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICogYXMgZ2Z4IHJpbmcKPiArICAgICAgICAgICAgICAgICAg ICAgICAgKi8KPiArICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWFtZGdwdV9zcmlvdl92Zihy aW5nLT5hZGV2KSkKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBh ZGV2LT5jb21wdXRlX3RpbWVvdXQ7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgZWxzZQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCA9IGFkZXYtPmdmeF90aW1lb3V0 Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICAgICBjYXNl IEFNREdQVV9SSU5HX1RZUEVfU0RNQToKPiArICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0 ID0gYWRldi0+c2RtYV90aW1lb3V0Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ ICsgICAgICAgICAgICAgICBkZWZhdWx0Ogo+ICsgICAgICAgICAgICAgICAgICAgICAgIHRpbWVv dXQgPSBhZGV2LT52aWRlb190aW1lb3V0Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr Owo+ICsgICAgICAgICAgICAgICB9Cj4KPiAgICAgICAgICAgICAgICAgciA9IGRybV9zY2hlZF9p bml0KCZyaW5nLT5zY2hlZCwgJmFtZGdwdV9zY2hlZF9vcHMsCj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBudW1faHdfc3VibWlzc2lvbiwgYW1kZ3B1X2pvYl9oYW5nX2xpbWl0 LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9teGdwdV9haS5jIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbXhncHVfYWkuYwo+IGluZGV4IDhkYmFkNDk2YjI5 Zi4uMDg5OTUyYTFlNmIwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L214Z3B1X2FpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9teGdwdV9haS5j Cj4gQEAgLTM0Myw3ICszNDMsNyBAQCBzdGF0aWMgdm9pZCB4Z3B1X2FpX21haWxib3hfZmxyX3dv cmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+Cj4gICAgICAgICAvKiBUcmlnZ2VyIHJlY292 ZXJ5IGZvciB3b3JsZCBzd2l0Y2ggZmFpbHVyZSBpZiBubyBURFIgKi8KPiAgICAgICAgIGlmIChh bWRncHVfZGV2aWNlX3Nob3VsZF9yZWNvdmVyX2dwdShhZGV2KQo+IC0gICAgICAgICAgICAgICAm JiBhbWRncHVfbG9ja3VwX3RpbWVvdXQgPT0gTUFYX1NDSEVEVUxFX1RJTUVPVVQpCj4gKyAgICAg ICAgICAgICAgICYmIGFkZXYtPnNkbWFfdGltZW91dCA9PSBNQVhfU0NIRURVTEVfVElNRU9VVCkK PiAgICAgICAgICAgICAgICAgYW1kZ3B1X2RldmljZV9ncHVfcmVjb3ZlcihhZGV2LCBOVUxMKTsK PiAgfQo+Cj4gLS0KPiAyLjIxLjAKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QKPiBhbWQtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vYW1kLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng=