From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH] drm/radeon: Avoid double gpu reset by adding a timeout on IB ring tests. Date: Wed, 3 Feb 2016 13:24:49 +0100 Message-ID: <56B1F191.5020607@vodafone.de> References: <1453616332-30763-1-git-send-email-matthew@mjdsystems.ca> <56A49E0C.1060105@vodafone.de> <1689212.YJ1RXmWsVz@ring00> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id 1EEC26E6BE for ; Wed, 3 Feb 2016 04:24:56 -0800 (PST) In-Reply-To: <1689212.YJ1RXmWsVz@ring00> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Matthew Dawson Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org QW0gMzEuMDEuMjAxNiB1bSAxOTo1MCBzY2hyaWViIE1hdHRoZXcgRGF3c29uOgo+IE9uIFN1bmRh eSwgSmFudWFyeSAyNCwgMjAxNiAxMDo0OTowMCBBTSBFU1QgQ2hyaXN0aWFuIEvDtm5pZyB3cm90 ZToKPj4gQW0gMjQuMDEuMjAxNiB1bSAwNzoxOCBzY2hyaWViIE1hdHRoZXcgRGF3c29uOgo+Pj4g V2hlbiB0aGUgcmFkZW9uIGRyaXZlciByZXNldHMgYSBncHUsIGl0IGF0dGVtcHRzIHRvIHRlc3Qg d2hldGhlciBhbGwgdGhlCj4+PiByaW5ncyBjYW4gc3VjY2Vzc2Z1bGx5IGhhbmRsZSBhbiBJQi4g IElmIHRoZXNlIHJpbmdzIGZhaWwgdG8gcmVzcG9uZCwgdGhlCj4+PiBwcm9jZXNzIHdpbGwgd2Fp dCBmb3JldmVyLiAgQW5vdGhlciBncHUgcmVzZXQgY2FuJ3QgaGFwcGVuIGF0IHRoaXMgcG9pbnQs Cj4+PiBhcyB0aGUgY3VycmVudCByZXNldCBob2xkcyBhIGxvY2sgcmVxdWlyZWQgdG8gZG8gc28u ICBJbnN0ZWFkLCBtYWtlIGFsbAo+Pj4gdGhlIElCIHRlc3RzIHJ1biB3aXRoIGEgdGltZW91dCwg c28gdGhlIHN5c3RlbSBjYW4gYXR0ZW1wdCB0byByZWNvdmVyCj4+PiBpbiB0aGlzIGNhc2UuCj4+ Pgo+Pj4gV2hpbGUgdGhpcyBkb2Vzbid0IGZpeCB0aGUgdW5kZXJseWluZyBpc3N1ZSB3aXRoIGNh cmQgcmVzZXRzIGZhaWxpbmcsIGl0Cj4+PiBnaXZlcyB0aGUgc3lzdGVtIGEgaGlnaGVyIGNoYW5j ZSBvZiByZWNvdmVyaW5nLiAgVGhlc2UgdGltZW91dHMgaGF2ZSBiZWVuCj4+PiBjb25maXJtZWQg dG8gaGVscCBib3RoIGEgVGF0aGkgYW5kIEhhd2FpaSBjYXJkIHJlY292ZXIgYWZ0ZXIgYSBncHUg cmVzZXQuCj4+Pgo+Pj4gSSBoYXZlbid0IGJlZW4gYWJsZSB0byB0ZXN0IHRoaXMgb24gb3RoZXIg Y2FyZHMsIGJ1dCBldmVyeXRoaW5nIGNvbXBpbGVzLgo+Pj4gSSB3YXNuJ3Qgc3VyZSB3aGF0IHRv IHVzZSBmb3IgYSB0aW1lb3V0IHZhbHVlLCBzbyBmb3Igbm93IEkndmUgdXNlZAo+Pj4gcmFkZW9u X2xvY2t1cF90aW1lb3V0LiAgV2hlbiB0aGF0IGlzIDAsIHRoZSB0aW1lb3V0IGZ1bmN0aW9uYWxp dHkgaW4gdGhpcwo+Pj4gcGF0Y2ggaXMgYWxzbyBkaXNhYmxlZC4KPj4+Cj4+PiBUaGlzIGFsc28g YWRkcyBhIG5ldyBmdW5jdGlvbiwgcmFkZW9uX2ZlbmNlX3dhaXRfdGltZW91dCwgdGhhdCBiZWhh dmVzCj4+PiBsaWtlCj4+PiByYWRlb25fZmVuY2Vfd2FpdCBleGNlcHQgYWxsb3dpbmcgYSBkaWZm ZXJlbnQgdGltZW91dCB2YWx1ZSB0byBiZSBwYXNzZWQKPj4+IHRvCj4+PiByYWRlb25fZmVuY2Vf d2FpdF9zZXFfdGltZW91dC4KPj4+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IERhd3NvbiA8 bWF0dGhld0BtamRzeXN0ZW1zLmNhPgo+PiBSZWFsbHkgZ29vZCBpZGVhLCBidXQgcGxlYXNlIGRv bid0IHVzZSByYWRlb25fbG9ja3VwX3RpbWVvdXQgZm9yIHRoaXMKPj4gY2F1c2UgdGhlIDEwIHNl Y29uZHMgZGVmYXVsdCBvZiB0aGF0IGlzIHdheSB0byBsb25nLiBJbnN0ZWFkIGp1c3QgdXNlIGEK Pj4gZml4ZWQsIGxldCdzIHNheSAxMDBtcyB0aW1lb3V0IGRlZmluZWQgaW4gcmFkZW9uLmguCj4g SSBvcmlnaW5hbGx5IHRyaWVkIDEwMG1zLCBidXQgSSBmb3VuZCB0aGF0IHRvIGJlIHRvbyBzaG9y dCAobXkgc3lzdGVtIHdvdWxkCj4ganVzdCBsb2NrdXAgY29tcGxldGVseSAobm8gbmV0d29yayBl dmVuKSkuICBJIGZvdW5kIDFzIGlzIGxvbmcgZW5vdWdoLCBhbmQKPiBpc24ndCBzbyBsb25nIHRv IGJlIGFubm95aW5nLiAgV291bGQgdGhhdCBiZSBvaz8KClllYWgsIDFzIHdvcmtzIGFzIHdlbGwu IEJ1dCB0aGF0IDEwMG1zIHNob3VsZG4ndCBiZSBlbm91Z2ggc291bmRzIGxpa2UgCmFub3RoZXIg YnVnIHRvIG1lLgoKPgo+PiBBbHNvIGRvbid0IGRlZmluZSBvdXIgb3duIHJhZGVvbl9mZW5jZV93 YWl0X3RpbWVvdXQsIGp1c3QgdXNlCj4+IGZlbmNlX3dhaXRfdGltZW91dCgmZmVuY2UtPmJhc2Us IFJBREVPTl9JQl9URVNUX1RJTUVPVVQpIGZvciB0aGlzLgo+IEkgc3dpdGNoZWQgZXZlcnl0aGlu ZyBvdmVyIHRvIHRoaXMsIGhvd2V2ZXIgdGhlIGliIHRlc3QgYWx3YXlzIHRpbWVzIG91dCBhZnRl cgo+IGEgZ3B1IHJlc2V0IChvbiBzdGFydHVwLCBldmVyeXRoaW5nIGlzIG5vcm1hbCkuICBJJ20g bm90IHN1cmUgd2h5Cj4gZmVuY2Vfd2FpdF90aW1lb3V0IGlzbid0IGJlaW5nIHNpZ25hbGVkIHdo aWxlIHJhZGVvbl9mZW5jZV93YWl0X3NlcV90aW1lb3V0Cj4gaXMuICBJJ20gc3VzcGljaW91cyB0 aGF0IGVpdGhlciByYWRlb25fZmVuY2VfZW5hYmxlX3NpZ25hbGluZyBpcyBub3QgZG9pbmcKPiBz b21ldGhpbmcgbmVjZXNzYXJ5IHRvIGdldCB0aGUgZmVuY2UgY29tcGxldGlvbiB0byBhY3R1YWwg c2lnbmFsCj4gcmFkZW9uX2ZlbmNlX2RlZmF1bHRfd2FpdCwgb3IgYmVjYXVzZSB3ZSBob2xkIHRo ZSBleGNsdXNpdmUgbG9jayBkdXJpbmcgYQo+IHJlc2V0IHJhZGVvbl9mZW5jZV9jaGVja19sb2Nr dXAgbmV2ZXIgcnVucyBhbmQgdGh1cyBuZXZlciB0cmlnZ2VycyB0aGUgZmVuY2UKPiBvciBlbmFi bGVzIHNvbWUgaXJxIGxpbmVzLgo+Cj4gSXMgaXQgd29ydGggZGlnZ2luZyB0aHJvdWdoIHRoZSBp bnRlcmFjdGlvbnMgaGVyZSB0byBnZXQgZG1hLWJ1ZiBmZW5jZXMgdG8KPiB3b3JrIGNvcnJlY3Rs eSBkdXJpbmcgYSBsb2NrdXAsIG9yIHdvdWxkIGl0IGJlIGJldHRlciB0byBqdXN0IGtlZXAKPiBy YWRlb25fZmVuY2Vfd2FpdF90aW1lb3V0PyAgSWYgb3B0aW9uIDEgaXMgcHJlZmVycmVkLCBJJ20g aGFwcHkgdG8gbGVhcm4gYnV0IEkKPiBuZWVkIHNvbWUgaGVscCBsZWFybmluZyBob3cgaXQgaXMg c3VwcG9zZWQgdG8gd29yay4KCkluIHRoaXMgY2FzZSBmZWVsIGZyZWUgdG8gYWRkIHRoZSByYWRl b25fZmVuY2Vfd2FpdF90aW1lb3V0LiBJdCdzIApwcm9iYWJseSBhIGdvb2QgaWRlYSB0byBnZXQg cmlkIG9mIHRoZSBleGNsdXNpdmUgbG9jayBzb29uZXIgb3IgbGF0ZXIgaW4gCnJhZGVvbiBhcyB3 ZWxsLCBidXQgdGhhdCByZWFsbHkgaXMgYSBsb25nIHRlcm0gcHJvamVjdC4KCklmIHlvdSdyZSBy ZWFsbHkgYm9yZWQgSSBjYW4gZ2l2ZSB5b3UgdG9ucyBvZiBpbnB1dCB3aGVyZSB0byBzdGFydCB3 aXRoIAp0aGF0LgoKUmVnYXJkcywKQ2hyaXN0aWFuLgoKPgo+PiBBcGFydCBmcm9tIHRoYXQgdGhl IGlkZWEgbG9va3MgcmVhbGx5IGdvb2QgdG8gbWUuCj4+Cj4+IFJlZ2FyZHMsCj4+IENocmlzdGlh bi4KPj4KPiBUaGFua3MsCj4KPiBNYXR0aGV3Cj4KPj4+IC0tLQo+Pj4KPj4+ICAgIGRyaXZlcnMv Z3B1L2RybS9yYWRlb24vY2lrX3NkbWEuYyAgICAgfCAgMyArKy0KPj4+ICAgIGRyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcjEwMC5jICAgICAgICAgfCAgMyArKy0KPj4+ICAgIGRyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcjYwMC5jICAgICAgICAgfCAgMyArKy0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9y YWRlb24vcjYwMF9kbWEuYyAgICAgfCAgMyArKy0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uLmggICAgICAgfCAgMSArCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9mZW5jZS5jIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKy0tLQo+Pj4gICAgZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdmNlLmMgICB8ICAzICsrLQo+Pj4gICAgZHJpdmVycy9n cHUvZHJtL3JhZGVvbi91dmRfdjFfMC5jICAgICB8ICAzICsrLQo+Pj4gICAgOCBmaWxlcyBjaGFu Z2VkLCAzNSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Npa19zZG1hLmMKPj4+IGIvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9jaWtfc2RtYS5jIGluZGV4IGQxNmYyZWUuLjAxNGY1Y2EgMTAwNjQ0Cj4+PiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Npa19zZG1hLmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vY2lrX3NkbWEuYwo+Pj4gQEAgLTczNyw3ICs3MzcsOCBAQCBpbnQgY2lrX3Nk bWFfaWJfdGVzdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKPj4+IHN0cnVjdCByYWRlb25f cmluZyAqcmluZyk+Cj4+PiAgICAJCURSTV9FUlJPUigicmFkZW9uOiBmYWlsZWQgdG8gc2NoZWR1 bGUgaWIgKCVkKS5cbiIsIHIpOwo+Pj4gICAgCQlyZXR1cm4gcjsKPj4+ICAgIAkKPj4+ICAgIAl9 Cj4+Pgo+Pj4gLQlyID0gcmFkZW9uX2ZlbmNlX3dhaXQoaWIuZmVuY2UsIGZhbHNlKTsKPj4+ICsJ ciA9IHJhZGVvbl9mZW5jZV93YWl0X3RpbWVvdXQoaWIuZmVuY2UsIGZhbHNlLCBtc2Vjc190b19q aWZmaWVzKAo+Pj4gKwkJKHJhZGVvbl9sb2NrdXBfdGltZW91dCkgPyByYWRlb25fbG9ja3VwX3Rp bWVvdXQgOgo+Pj4gTUFYX1NDSEVEVUxFX1RJTUVPVVQpKTs+Cj4+PiAgICAJaWYgKHIpIHsKPj4+ ICAgIAkKPj4+ICAgIAkJRFJNX0VSUk9SKCJyYWRlb246IGZlbmNlIHdhaXQgZmFpbGVkICglZCku XG4iLCByKTsKPj4+ICAgIAkJcmV0dXJuIHI7Cj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcjEwMC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMKPj4+ IGluZGV4IDVlYWUwYTguLjUzODZjMDkgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3IxMDAuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMKPj4+ IEBAIC0zNzMyLDcgKzM3MzIsOCBAQCBpbnQgcjEwMF9pYl90ZXN0KHN0cnVjdCByYWRlb25fZGV2 aWNlICpyZGV2LCBzdHJ1Y3QKPj4+IHJhZGVvbl9yaW5nICpyaW5nKT4KPj4+ICAgIAkJRFJNX0VS Uk9SKCJyYWRlb246IGZhaWxlZCB0byBzY2hlZHVsZSBpYiAoJWQpLlxuIiwgcik7Cj4+PiAgICAJ CWdvdG8gZnJlZV9pYjsKPj4+ICAgIAkKPj4+ICAgIAl9Cj4+Pgo+Pj4gLQlyID0gcmFkZW9uX2Zl bmNlX3dhaXQoaWIuZmVuY2UsIGZhbHNlKTsKPj4+ICsJciA9IHJhZGVvbl9mZW5jZV93YWl0X3Rp bWVvdXQoaWIuZmVuY2UsIGZhbHNlLCBtc2Vjc190b19qaWZmaWVzKAo+Pj4gKwkJKHJhZGVvbl9s b2NrdXBfdGltZW91dCkgPyByYWRlb25fbG9ja3VwX3RpbWVvdXQgOgo+Pj4gTUFYX1NDSEVEVUxF X1RJTUVPVVQpKTs+Cj4+PiAgICAJaWYgKHIpIHsKPj4+ICAgIAkKPj4+ICAgIAkJRFJNX0VSUk9S KCJyYWRlb246IGZlbmNlIHdhaXQgZmFpbGVkICglZCkuXG4iLCByKTsKPj4+ICAgIAkJZ290byBm cmVlX2liOwo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAu YyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jCj4+PiBpbmRleCBjYzJmZGYwLi44ZmJl NWQ3IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMKPj4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jCj4+PiBAQCAtMzM4MSw3ICszMzgxLDgg QEAgaW50IHI2MDBfaWJfdGVzdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0Cj4+ PiByYWRlb25fcmluZyAqcmluZyk+Cj4+PiAgICAJCURSTV9FUlJPUigicmFkZW9uOiBmYWlsZWQg dG8gc2NoZWR1bGUgaWIgKCVkKS5cbiIsIHIpOwo+Pj4gICAgCQlnb3RvIGZyZWVfaWI7Cj4+PiAg ICAJCj4+PiAgICAJfQo+Pj4KPj4+IC0JciA9IHJhZGVvbl9mZW5jZV93YWl0KGliLmZlbmNlLCBm YWxzZSk7Cj4+PiArCXIgPSByYWRlb25fZmVuY2Vfd2FpdF90aW1lb3V0KGliLmZlbmNlLCBmYWxz ZSwgbXNlY3NfdG9famlmZmllcygKPj4+ICsJCShyYWRlb25fbG9ja3VwX3RpbWVvdXQpID8gcmFk ZW9uX2xvY2t1cF90aW1lb3V0IDoKPj4+IE1BWF9TQ0hFRFVMRV9USU1FT1VUKSk7Pgo+Pj4gICAg CWlmIChyKSB7Cj4+PiAgICAJCj4+PiAgICAJCURSTV9FUlJPUigicmFkZW9uOiBmZW5jZSB3YWl0 IGZhaWxlZCAoJWQpLlxuIiwgcik7Cj4+PiAgICAJCWdvdG8gZnJlZV9pYjsKPj4+Cj4+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwX2RtYS5jCj4+PiBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcjYwMF9kbWEuYyBpbmRleCBkMmRkMjlhLi4zZmY2MTRkIDEwMDY0NAo+ Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwX2RtYS5jCj4+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDBfZG1hLmMKPj4+IEBAIC0zNjgsNyArMzY4LDggQEAgaW50 IHI2MDBfZG1hX2liX3Rlc3Qoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCj4+PiBzdHJ1Y3Qg cmFkZW9uX3JpbmcgKnJpbmcpPgo+Pj4gICAgCQlEUk1fRVJST1IoInJhZGVvbjogZmFpbGVkIHRv IHNjaGVkdWxlIGliICglZCkuXG4iLCByKTsKPj4+ICAgIAkJcmV0dXJuIHI7Cj4+PiAgICAJCj4+ PiAgICAJfQo+Pj4KPj4+IC0JciA9IHJhZGVvbl9mZW5jZV93YWl0KGliLmZlbmNlLCBmYWxzZSk7 Cj4+PiArCXIgPSByYWRlb25fZmVuY2Vfd2FpdF90aW1lb3V0KGliLmZlbmNlLCBmYWxzZSwgbXNl Y3NfdG9famlmZmllcygKPj4+ICsJCShyYWRlb25fbG9ja3VwX3RpbWVvdXQpID8gcmFkZW9uX2xv Y2t1cF90aW1lb3V0IDoKPj4+IE1BWF9TQ0hFRFVMRV9USU1FT1VUKSk7Pgo+Pj4gICAgCWlmIChy KSB7Cj4+PiAgICAJCj4+PiAgICAJCURSTV9FUlJPUigicmFkZW9uOiBmZW5jZSB3YWl0IGZhaWxl ZCAoJWQpLlxuIiwgcik7Cj4+PiAgICAJCXJldHVybiByOwo+Pj4KPj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uLmggaW5kZXggNWFlNmRiOS4uMGI2OThiNiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uLmgKPj4+IEBAIC0zODIsNiArMzgyLDcgQEAgdm9pZCByYWRlb25fZmVuY2VfZHJp dmVyX2ZvcmNlX2NvbXBsZXRpb24oc3RydWN0Cj4+PiByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQg cmluZyk7Pgo+Pj4gICAgaW50IHJhZGVvbl9mZW5jZV9lbWl0KHN0cnVjdCByYWRlb25fZGV2aWNl ICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX2ZlbmNlCj4+PiAgICAqKmZlbmNlLCBpbnQgcmluZyk7IHZv aWQgcmFkZW9uX2ZlbmNlX3Byb2Nlc3Moc3RydWN0IHJhZGVvbl9kZXZpY2UKPj4+ICAgICpyZGV2 LCBpbnQgcmluZyk7Cj4+PiAgICBib29sIHJhZGVvbl9mZW5jZV9zaWduYWxlZChzdHJ1Y3QgcmFk ZW9uX2ZlbmNlICpmZW5jZSk7Cj4+Pgo+Pj4gK2ludCByYWRlb25fZmVuY2Vfd2FpdF90aW1lb3V0 KHN0cnVjdCByYWRlb25fZmVuY2UgKmZlbmNlLCBib29sCj4+PiBpbnRlcnJ1cHRpYmxlLCBsb25n IHRpbWVvdXQpOz4KPj4+ICAgIGludCByYWRlb25fZmVuY2Vfd2FpdChzdHJ1Y3QgcmFkZW9uX2Zl bmNlICpmZW5jZSwgYm9vbCBpbnRlcnJ1cHRpYmxlKTsKPj4+ICAgIGludCByYWRlb25fZmVuY2Vf d2FpdF9uZXh0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgcmluZyk7Cj4+PiAgICBp bnQgcmFkZW9uX2ZlbmNlX3dhaXRfZW1wdHkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGlu dCByaW5nKTsKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fZmVuY2UuYwo+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9mZW5jZS5jIGlu ZGV4IDA1ODE1YzQuLjlmZWM4MDUgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9mZW5jZS5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl9mZW5jZS5jCj4+PiBAQCAtNTI3LDcgKzUyNyw3IEBAIHN0YXRpYyBsb25nIHJhZGVvbl9mZW5j ZV93YWl0X3NlcV90aW1lb3V0KHN0cnVjdAo+Pj4gcmFkZW9uX2RldmljZSAqcmRldiw+Cj4+PiAg ICB9Cj4+PiAgICAKPj4+ICAgIC8qKgo+Pj4KPj4+IC0gKiByYWRlb25fZmVuY2Vfd2FpdCAtIHdh aXQgZm9yIGEgZmVuY2UgdG8gc2lnbmFsCj4+PiArICogcmFkZW9uX2ZlbmNlX3dhaXRfdGltZW91 dCAtIHdhaXQgZm9yIGEgZmVuY2UgdG8gc2lnbmFsIHdpdGggdGltZW91dAo+Pj4KPj4+ICAgICAq Cj4+PiAgICAgKiBAZmVuY2U6IHJhZGVvbiBmZW5jZSBvYmplY3QKPj4+ICAgICAqIEBpbnRyOiB1 c2UgaW50ZXJydXB0aWJsZSBzbGVlcAo+Pj4KPj4+IEBAIC01MzUsOSArNTM1LDEwIEBAIHN0YXRp YyBsb25nIHJhZGVvbl9mZW5jZV93YWl0X3NlcV90aW1lb3V0KHN0cnVjdAo+Pj4gcmFkZW9uX2Rl dmljZSAqcmRldiw+Cj4+PiAgICAgKiBXYWl0IGZvciB0aGUgcmVxdWVzdGVkIGZlbmNlIHRvIHNp Z25hbCAoYWxsIGFzaWNzKS4KPj4+ICAgICAqIEBpbnRyIHNlbGVjdHMgd2hldGhlciB0byB1c2Ug aW50ZXJydXB0YWJsZSAodHJ1ZSkgb3IKPj4+ICAgICBub24taW50ZXJydXB0YWJsZQo+Pj4gICAg ICogKGZhbHNlKSBzbGVlcCB3aGVuIHdhaXRpbmcgZm9yIHRoZSBmZW5jZS4KPj4+Cj4+PiArICog QHRpbWVvdXQ6IG1heGltdW0gdGltZSB0byB3YWl0LCBvciBNQVhfU0NIRURVTEVfVElNRU9VVCBm b3IgaW5maW5pdGUKPj4+IHdhaXQ+Cj4+PiAgICAgKiBSZXR1cm5zIDAgaWYgdGhlIGZlbmNlIGhh cyBwYXNzZWQsIGVycm9yIGZvciBhbGwgb3RoZXIgY2FzZXMuCj4+PiAgICAgKi8KPj4+Cj4+PiAt aW50IHJhZGVvbl9mZW5jZV93YWl0KHN0cnVjdCByYWRlb25fZmVuY2UgKmZlbmNlLCBib29sIGlu dHIpCj4+PiAraW50IHJhZGVvbl9mZW5jZV93YWl0X3RpbWVvdXQoc3RydWN0IHJhZGVvbl9mZW5j ZSAqZmVuY2UsIGJvb2wgaW50ciwgbG9uZwo+Pj4gdGltZW91dCk+Cj4+PiAgICB7Cj4+PiAgICAK Pj4+ICAgIAl1aW50NjRfdCBzZXFbUkFERU9OX05VTV9SSU5HU10gPSB7fTsKPj4+ICAgIAlsb25n IHI7Cj4+Pgo+Pj4gQEAgLTU1Miw5ICs1NTMsMTEgQEAgaW50IHJhZGVvbl9mZW5jZV93YWl0KHN0 cnVjdCByYWRlb25fZmVuY2UgKmZlbmNlLAo+Pj4gYm9vbCBpbnRyKT4KPj4+ICAgIAkJcmV0dXJu IGZlbmNlX3dhaXQoJmZlbmNlLT5iYXNlLCBpbnRyKTsKPj4+ICAgIAkKPj4+ICAgIAlzZXFbZmVu Y2UtPnJpbmddID0gZmVuY2UtPnNlcTsKPj4+Cj4+PiAtCXIgPSByYWRlb25fZmVuY2Vfd2FpdF9z ZXFfdGltZW91dChmZW5jZS0+cmRldiwgc2VxLCBpbnRyLAo+Pj4gTUFYX1NDSEVEVUxFX1RJTUVP VVQpOyArCXIgPSByYWRlb25fZmVuY2Vfd2FpdF9zZXFfdGltZW91dChmZW5jZS0+cmRldiwKPj4+ IHNlcSwgaW50ciwgdGltZW91dCk7Pgo+Pj4gICAgCWlmIChyIDwgMCkgewo+Pj4gICAgCQo+Pj4g ICAgCQlyZXR1cm4gcjsKPj4+Cj4+PiArCX0gZWxzZSBpZiAociA9PSAwKSB7Cj4+PiArCQlyZXR1 cm4gLUVUSU1FRE9VVDsKPj4+Cj4+PiAgICAJfQo+Pj4gICAgCQo+Pj4gICAgCXIgPSBmZW5jZV9z aWduYWwoJmZlbmNlLT5iYXNlKTsKPj4+Cj4+PiBAQCAtNTY0LDYgKzU2NywyMiBAQCBpbnQgcmFk ZW9uX2ZlbmNlX3dhaXQoc3RydWN0IHJhZGVvbl9mZW5jZSAqZmVuY2UsCj4+PiBib29sIGludHIp Pgo+Pj4gICAgfQo+Pj4gICAgCj4+PiAgICAvKioKPj4+Cj4+PiArICogcmFkZW9uX2ZlbmNlX3dh aXQgLSB3YWl0IGZvciBhIGZlbmNlIHRvIHNpZ25hbAo+Pj4gKyAqCj4+PiArICogQGZlbmNlOiBy YWRlb24gZmVuY2Ugb2JqZWN0Cj4+PiArICogQGludHI6IHVzZSBpbnRlcnJ1cHRpYmxlIHNsZWVw Cj4+PiArICoKPj4+ICsgKiBXYWl0IGZvciB0aGUgcmVxdWVzdGVkIGZlbmNlIHRvIHNpZ25hbCAo YWxsIGFzaWNzKS4KPj4+ICsgKiBAaW50ciBzZWxlY3RzIHdoZXRoZXIgdG8gdXNlIGludGVycnVw dGFibGUgKHRydWUpIG9yIG5vbi1pbnRlcnJ1cHRhYmxlCj4+PiArICogKGZhbHNlKSBzbGVlcCB3 aGVuIHdhaXRpbmcgZm9yIHRoZSBmZW5jZS4KPj4+ICsgKiBSZXR1cm5zIDAgaWYgdGhlIGZlbmNl IGhhcyBwYXNzZWQsIGVycm9yIGZvciBhbGwgb3RoZXIgY2FzZXMuCj4+PiArICovCj4+PiAraW50 IHJhZGVvbl9mZW5jZV93YWl0KHN0cnVjdCByYWRlb25fZmVuY2UgKmZlbmNlLCBib29sIGludHIp Cj4+PiArewo+Pj4gKwlyZXR1cm4gcmFkZW9uX2ZlbmNlX3dhaXRfdGltZW91dChmZW5jZSwgaW50 ciwgTUFYX1NDSEVEVUxFX1RJTUVPVVQpOwo+Pj4gK30KPj4+ICsKPj4+ICsvKioKPj4+Cj4+PiAg ICAgKiByYWRlb25fZmVuY2Vfd2FpdF9hbnkgLSB3YWl0IGZvciBhIGZlbmNlIHRvIHNpZ25hbCBv biBhbnkgcmluZwo+Pj4gICAgICoKPj4+ICAgICAqIEByZGV2OiByYWRlb24gZGV2aWNlIHBvaW50 ZXIKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdmNl LmMKPj4+IGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdmNlLmMgaW5kZXggN2ViMWFl Ny4uN2Q4MGRhZCAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X3ZjZS5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl92Y2UuYwo+Pj4g QEAgLTgxMCw3ICs4MTAsOCBAQCBpbnQgcmFkZW9uX3ZjZV9pYl90ZXN0KHN0cnVjdCByYWRlb25f ZGV2aWNlICpyZGV2LAo+Pj4gc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nKT4KPj4+ICAgIAkJZ290 byBlcnJvcjsKPj4+ICAgIAkKPj4+ICAgIAl9Cj4+Pgo+Pj4gLQlyID0gcmFkZW9uX2ZlbmNlX3dh aXQoZmVuY2UsIGZhbHNlKTsKPj4+ICsJciA9IHJhZGVvbl9mZW5jZV93YWl0X3RpbWVvdXQoZmVu Y2UsIGZhbHNlLCBtc2Vjc190b19qaWZmaWVzKAo+Pj4gKwkJKHJhZGVvbl9sb2NrdXBfdGltZW91 dCkgPyByYWRlb25fbG9ja3VwX3RpbWVvdXQgOgo+Pj4gTUFYX1NDSEVEVUxFX1RJTUVPVVQpKTs+ Cj4+PiAgICAJaWYgKHIpIHsKPj4+ICAgIAkKPj4+ICAgIAkJRFJNX0VSUk9SKCJyYWRlb246IGZl bmNlIHdhaXQgZmFpbGVkICglZCkuXG4iLCByKTsKPj4+ICAgIAkKPj4+ICAgIAl9IGVsc2Ugewo+ Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3V2ZF92MV8wLmMKPj4+ IGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi91dmRfdjFfMC5jIGluZGV4IGM2YjFjYmMuLjM1Y2Fh ODkgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3V2ZF92MV8wLmMKPj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vdXZkX3YxXzAuYwo+Pj4gQEAgLTUyMiw3ICs1 MjIsOCBAQCBpbnQgdXZkX3YxXzBfaWJfdGVzdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwK Pj4+IHN0cnVjdCByYWRlb25fcmluZyAqcmluZyk+Cj4+PiAgICAJCWdvdG8gZXJyb3I7Cj4+PiAg ICAJCj4+PiAgICAJfQo+Pj4KPj4+IC0JciA9IHJhZGVvbl9mZW5jZV93YWl0KGZlbmNlLCBmYWxz ZSk7Cj4+PiArCXIgPSByYWRlb25fZmVuY2Vfd2FpdF90aW1lb3V0KGZlbmNlLCBmYWxzZSwgbXNl Y3NfdG9famlmZmllcygKPj4+ICsJCShyYWRlb25fbG9ja3VwX3RpbWVvdXQpID8gcmFkZW9uX2xv Y2t1cF90aW1lb3V0IDoKPj4+IE1BWF9TQ0hFRFVMRV9USU1FT1VUKSk7Pgo+Pj4gICAgCWlmIChy KSB7Cj4+PiAgICAJCj4+PiAgICAJCURSTV9FUlJPUigicmFkZW9uOiBmZW5jZSB3YWl0IGZhaWxl ZCAoJWQpLlxuIiwgcik7Cj4+PiAgICAJCWdvdG8gZXJyb3I7Cj4KCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==