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: Mon, 8 Feb 2016 10:38:35 +0100 Message-ID: <56B8621B.4070005@vodafone.de> References: <1454881872-23969-1-git-send-email-matthew@mjdsystems.ca> 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 41A116E381 for ; Mon, 8 Feb 2016 01:38:45 -0800 (PST) In-Reply-To: <1454881872-23969-1-git-send-email-matthew@mjdsystems.ca> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Matthew Dawson , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org QW0gMDcuMDIuMjAxNiB1bSAyMjo1MSBzY2hyaWViIE1hdHRoZXcgRGF3c29uOgo+IFdoZW4gdGhl IHJhZGVvbiBkcml2ZXIgcmVzZXRzIGEgZ3B1LCBpdCBhdHRlbXB0cyB0byB0ZXN0IHdoZXRoZXIg YWxsIHRoZQo+IHJpbmdzIGNhbiBzdWNjZXNzZnVsbHkgaGFuZGxlIGFuIElCLiAgSWYgdGhlc2Ug cmluZ3MgZmFpbCB0byByZXNwb25kLCB0aGUKPiBwcm9jZXNzIHdpbGwgd2FpdCBmb3JldmVyLiAg QW5vdGhlciBncHUgcmVzZXQgY2FuJ3QgaGFwcGVuIGF0IHRoaXMgcG9pbnQsCj4gYXMgdGhlIGN1 cnJlbnQgcmVzZXQgaG9sZHMgYSBsb2NrIHJlcXVpcmVkIHRvIGRvIHNvLiAgSW5zdGVhZCwgbWFr ZSBhbGwKPiB0aGUgSUIgdGVzdHMgcnVuIHdpdGggYSB0aW1lb3V0LCBzbyB0aGUgc3lzdGVtIGNh biBhdHRlbXB0IHRvIHJlY292ZXIKPiBpbiB0aGlzIGNhc2UuCj4KPiBXaGlsZSB0aGlzIGRvZXNu J3QgZml4IHRoZSB1bmRlcmx5aW5nIGlzc3VlIHdpdGggY2FyZCByZXNldHMgZmFpbGluZywgaXQK PiBnaXZlcyB0aGUgc3lzdGVtIGEgaGlnaGVyIGNoYW5jZSBvZiByZWNvdmVyaW5nLiAgVGhlc2Ug dGltZW91dHMgaGF2ZSBiZWVuCj4gY29uZmlybWVkIHRvIGhlbHAgYm90aCBhIFRhdGhpIGFuZCBI YXdhaWkgY2FyZCByZWNvdmVyIGFmdGVyIGEgZ3B1IHJlc2V0Lgo+Cj4gVGhpcyBhbHNvIGFkZHMg YSBuZXcgZnVuY3Rpb24sIHJhZGVvbl9mZW5jZV93YWl0X3RpbWVvdXQsIHRoYXQgYmVoYXZlcyBs aWtlCj4gZmVuY2Vfd2FpdF90aW1lb3V0LiAgSXQgaXMgdXNlZCBpbnN0ZWFkIG9mIGZlbmNlX3dh aXRfdGltZW91dCBhcyBpdCBjb250aW51ZXMKPiB0byB3b3JrIGR1cmluZyBhIHJlc2V0LiAgcmFk ZW9uX2ZlbmNlX3dhaXQgaXMgY2hhbmdlZCB0byBiZSBpbXBsZW1lbnRlZAo+IHVzaW5nIHRoaXMg ZnVuY3Rpb24uCj4KPiBWMjoKPiAgIC0gQ2hhbmdlZCB0aGUgdGltZW91dCB0byAxcywgYXMgdGhl IGRlZmF1bHQgMTBzIGZyb20gcmFkZW9uX3dhaXRfdGltZW91dCB3YXMKPiB0b28gbG9uZy4gIEEg dGltZW91dCBvZiAxMDBtcyB3YXMgdGVzdGVkIGFuZCBmb3VuZCB0byBiZSB0b28gc2hvcnQuCj4g ICAtIENoYW5nZWQgcmFkZW9uX2ZlbmNlX3dhaXRfdGltZW91dCB0byBiZWhhdmUgbW9yZSBsaWtl IGZlbmNlX3dhaXRfdGltZW91dC4KPgo+IFNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgRGF3c29uIDxt YXR0aGV3QG1qZHN5c3RlbXMuY2E+CgpSZXZpZXdlZC1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hy aXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKUmVnYXJkcywKQ2hyaXN0aWFuLgoKPiAtLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9yYWRlb24vY2lrLmMgICAgICAgICAgfCAxMSArKysrKysrKy0tCj4gICBk cml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Npa19zZG1hLmMgICAgIHwgIDkgKysrKysrLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jICAgICAgICAgfCAxMCArKysrKysrLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jICAgICAgICAgfCAxMCArKysrKysrLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMF9kbWEuYyAgICAgfCAgOSArKysrKystLQo+ICAgZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCAgICAgICB8ICAyICsrCj4gICBkcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9mZW5jZS5jIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3ZjZS5jICAgfCAx MSArKysrKysrLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3V2ZF92MV8wLmMgICAgIHwg MTAgKysrKysrKy0tCj4gICA5IGZpbGVzIGNoYW5nZWQsIDg5IGluc2VydGlvbnMoKyksIDIzIGRl bGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vY2lrLmMg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Npay5jCj4gaW5kZXggNGMzMGQ4Yy4uMDYwMDE0MCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Npay5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9jaWsuYwo+IEBAIC00MjE5LDEzICs0MjE5LDIwIEBAIGludCBjaWtf aWJfdGVzdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpy aW5nKQo+ICAgCQlEUk1fRVJST1IoInJhZGVvbjogZmFpbGVkIHRvIHNjaGVkdWxlIGliICglZCku XG4iLCByKTsKPiAgIAkJcmV0dXJuIHI7Cj4gICAJfQo+IC0JciA9IHJhZGVvbl9mZW5jZV93YWl0 KGliLmZlbmNlLCBmYWxzZSk7Cj4gLQlpZiAocikgewo+ICsJciA9IHJhZGVvbl9mZW5jZV93YWl0 X3RpbWVvdXQoaWIuZmVuY2UsIGZhbHNlLCB1c2Vjc190b19qaWZmaWVzKAo+ICsJCVJBREVPTl9V U0VDX0lCX1RFU1RfVElNRU9VVCkpOwo+ICsJaWYgKHIgPCAwKSB7Cj4gICAJCURSTV9FUlJPUigi cmFkZW9uOiBmZW5jZSB3YWl0IGZhaWxlZCAoJWQpLlxuIiwgcik7Cj4gICAJCXJhZGVvbl9zY3Jh dGNoX2ZyZWUocmRldiwgc2NyYXRjaCk7Cj4gICAJCXJhZGVvbl9pYl9mcmVlKHJkZXYsICZpYik7 Cj4gICAJCXJldHVybiByOwo+ICsJfSBlbHNlIGlmIChyID09IDApIHsKPiArCQlEUk1fRVJST1Io InJhZGVvbjogZmVuY2Ugd2FpdCB0aW1lZCBvdXQuXG4iKTsKPiArCQlyYWRlb25fc2NyYXRjaF9m cmVlKHJkZXYsIHNjcmF0Y2gpOwo+ICsJCXJhZGVvbl9pYl9mcmVlKHJkZXYsICZpYik7Cj4gKwkJ cmV0dXJuIC1FVElNRURPVVQ7Cj4gICAJfQo+ICsJciA9IDA7Cj4gICAJZm9yIChpID0gMDsgaSA8 IHJkZXYtPnVzZWNfdGltZW91dDsgaSsrKSB7Cj4gICAJCXRtcCA9IFJSRUczMihzY3JhdGNoKTsK PiAgIAkJaWYgKHRtcCA9PSAweERFQURCRUVGKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL2Npa19zZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Npa19zZG1hLmMK PiBpbmRleCBkMTZmMmVlLi45YzM1MWRjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vY2lrX3NkbWEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vY2lrX3NkbWEu Ywo+IEBAIC03MzcsMTEgKzczNywxNiBAQCBpbnQgY2lrX3NkbWFfaWJfdGVzdChzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nKQo+ICAgCQlEUk1fRVJS T1IoInJhZGVvbjogZmFpbGVkIHRvIHNjaGVkdWxlIGliICglZCkuXG4iLCByKTsKPiAgIAkJcmV0 dXJuIHI7Cj4gICAJfQo+IC0JciA9IHJhZGVvbl9mZW5jZV93YWl0KGliLmZlbmNlLCBmYWxzZSk7 Cj4gLQlpZiAocikgewo+ICsJciA9IHJhZGVvbl9mZW5jZV93YWl0X3RpbWVvdXQoaWIuZmVuY2Us IGZhbHNlLCB1c2Vjc190b19qaWZmaWVzKAo+ICsJCVJBREVPTl9VU0VDX0lCX1RFU1RfVElNRU9V VCkpOwo+ICsJaWYgKHIgPCAwKSB7Cj4gICAJCURSTV9FUlJPUigicmFkZW9uOiBmZW5jZSB3YWl0 IGZhaWxlZCAoJWQpLlxuIiwgcik7Cj4gICAJCXJldHVybiByOwo+ICsJfSBlbHNlIGlmIChyID09 IDApIHsKPiArCQlEUk1fRVJST1IoInJhZGVvbjogZmVuY2Ugd2FpdCB0aW1lZCBvdXQuXG4iKTsK PiArCQlyZXR1cm4gLUVUSU1FRE9VVDsKPiAgIAl9Cj4gKwlyID0gMDsKPiAgIAlmb3IgKGkgPSAw OyBpIDwgcmRldi0+dXNlY190aW1lb3V0OyBpKyspIHsKPiAgIAkJdG1wID0gbGUzMl90b19jcHUo cmRldi0+d2Iud2JbaW5kZXgvNF0pOwo+ICAgCQlpZiAodG1wID09IDB4REVBREJFRUYpCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jIGIvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yMTAwLmMKPiBpbmRleCA1ZWFlMGE4Li42ZTQ3OGEyIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yMTAwLmMKPiBAQCAtMzczMiwxMSArMzczMiwxNyBAQCBpbnQgcjEwMF9pYl90ZXN0KHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcpCj4gICAJCURS TV9FUlJPUigicmFkZW9uOiBmYWlsZWQgdG8gc2NoZWR1bGUgaWIgKCVkKS5cbiIsIHIpOwo+ICAg CQlnb3RvIGZyZWVfaWI7Cj4gICAJfQo+IC0JciA9IHJhZGVvbl9mZW5jZV93YWl0KGliLmZlbmNl LCBmYWxzZSk7Cj4gLQlpZiAocikgewo+ICsJciA9IHJhZGVvbl9mZW5jZV93YWl0X3RpbWVvdXQo aWIuZmVuY2UsIGZhbHNlLCB1c2Vjc190b19qaWZmaWVzKAo+ICsJCVJBREVPTl9VU0VDX0lCX1RF U1RfVElNRU9VVCkpOwo+ICsJaWYgKHIgPCAwKSB7Cj4gICAJCURSTV9FUlJPUigicmFkZW9uOiBm ZW5jZSB3YWl0IGZhaWxlZCAoJWQpLlxuIiwgcik7Cj4gICAJCWdvdG8gZnJlZV9pYjsKPiArCX0g ZWxzZSBpZiAociA9PSAwKSB7Cj4gKwkJRFJNX0VSUk9SKCJyYWRlb246IGZlbmNlIHdhaXQgdGlt ZWQgb3V0LlxuIik7Cj4gKwkJciA9IC1FVElNRURPVVQ7Cj4gKwkJZ290byBmcmVlX2liOwo+ICAg CX0KPiArCXIgPSAwOwo+ICAgCWZvciAoaSA9IDA7IGkgPCByZGV2LT51c2VjX3RpbWVvdXQ7IGkr Kykgewo+ICAgCQl0bXAgPSBSUkVHMzIoc2NyYXRjaCk7Cj4gICAJCWlmICh0bXAgPT0gMHhERUFE QkVFRikgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAuYyBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jCj4gaW5kZXggY2MyZmRmMC4uZWQxMjEwNCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcjYwMC5jCj4gQEAgLTMzODEsMTEgKzMzODEsMTcgQEAgaW50IHI2MDBf aWJfdGVzdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpy aW5nKQo+ICAgCQlEUk1fRVJST1IoInJhZGVvbjogZmFpbGVkIHRvIHNjaGVkdWxlIGliICglZCku XG4iLCByKTsKPiAgIAkJZ290byBmcmVlX2liOwo+ICAgCX0KPiAtCXIgPSByYWRlb25fZmVuY2Vf d2FpdChpYi5mZW5jZSwgZmFsc2UpOwo+IC0JaWYgKHIpIHsKPiArCXIgPSByYWRlb25fZmVuY2Vf d2FpdF90aW1lb3V0KGliLmZlbmNlLCBmYWxzZSwgdXNlY3NfdG9famlmZmllcygKPiArCQlSQURF T05fVVNFQ19JQl9URVNUX1RJTUVPVVQpKTsKPiArCWlmIChyIDwgMCkgewo+ICAgCQlEUk1fRVJS T1IoInJhZGVvbjogZmVuY2Ugd2FpdCBmYWlsZWQgKCVkKS5cbiIsIHIpOwo+ICAgCQlnb3RvIGZy ZWVfaWI7Cj4gKwl9IGVsc2UgaWYgKHIgPT0gMCkgewo+ICsJCURSTV9FUlJPUigicmFkZW9uOiBm ZW5jZSB3YWl0IHRpbWVkIG91dC5cbiIpOwo+ICsJCXIgPSAtRVRJTUVET1VUOwo+ICsJCWdvdG8g ZnJlZV9pYjsKPiAgIAl9Cj4gKwlyID0gMDsKPiAgIAlmb3IgKGkgPSAwOyBpIDwgcmRldi0+dXNl Y190aW1lb3V0OyBpKyspIHsKPiAgIAkJdG1wID0gUlJFRzMyKHNjcmF0Y2gpOwo+ICAgCQlpZiAo dG1wID09IDB4REVBREJFRUYpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cjYwMF9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMF9kbWEuYwo+IGluZGV4IGQy ZGQyOWEuLmZiNjVlNmYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAw X2RtYS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwX2RtYS5jCj4gQEAgLTM2 OCwxMSArMzY4LDE2IEBAIGludCByNjAwX2RtYV9pYl90ZXN0KHN0cnVjdCByYWRlb25fZGV2aWNl ICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcpCj4gICAJCURSTV9FUlJPUigicmFkZW9u OiBmYWlsZWQgdG8gc2NoZWR1bGUgaWIgKCVkKS5cbiIsIHIpOwo+ICAgCQlyZXR1cm4gcjsKPiAg IAl9Cj4gLQlyID0gcmFkZW9uX2ZlbmNlX3dhaXQoaWIuZmVuY2UsIGZhbHNlKTsKPiAtCWlmIChy KSB7Cj4gKwlyID0gcmFkZW9uX2ZlbmNlX3dhaXRfdGltZW91dChpYi5mZW5jZSwgZmFsc2UsIHVz ZWNzX3RvX2ppZmZpZXMoCj4gKwkJUkFERU9OX1VTRUNfSUJfVEVTVF9USU1FT1VUKSk7Cj4gKwlp ZiAociA8IDApIHsKPiAgIAkJRFJNX0VSUk9SKCJyYWRlb246IGZlbmNlIHdhaXQgZmFpbGVkICgl ZCkuXG4iLCByKTsKPiAgIAkJcmV0dXJuIHI7Cj4gKwl9IGVsc2UgaWYgKHIgPT0gMCkgewo+ICsJ CURSTV9FUlJPUigicmFkZW9uOiBmZW5jZSB3YWl0IHRpbWVkIG91dC5cbiIpOwo+ICsJCXJldHVy biAtRVRJTUVET1VUOwo+ICAgCX0KPiArCXIgPSAwOwo+ICAgCWZvciAoaSA9IDA7IGkgPCByZGV2 LT51c2VjX3RpbWVvdXQ7IGkrKykgewo+ICAgCQl0bXAgPSBsZTMyX3RvX2NwdShyZGV2LT53Yi53 YltpbmRleC80XSk7Cj4gICAJCWlmICh0bXAgPT0gMHhERUFEQkVFRikKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uLmgKPiBpbmRleCA3OGE1MWIzLi4wMDdiZTI5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbi5oCj4gQEAgLTEyMCw2ICsxMjAsNyBAQCBleHRlcm4gaW50IHJhZGVvbl9tc3Q7Cj4gICAg Ki8KPiAgICNkZWZpbmUgUkFERU9OX01BWF9VU0VDX1RJTUVPVVQJCQkxMDAwMDAJLyogMTAwIG1z ICovCj4gICAjZGVmaW5lIFJBREVPTl9GRU5DRV9KSUZGSUVTX1RJTUVPVVQJCShIWiAvIDIpCj4g KyNkZWZpbmUgUkFERU9OX1VTRUNfSUJfVEVTVF9USU1FT1VUCQkxMDAwMDAwIC8qIDFzICovCj4g ICAvKiBSQURFT05fSUJfUE9PTF9TSVpFIG11c3QgYmUgYSBwb3dlciBvZiAyICovCj4gICAjZGVm aW5lIFJBREVPTl9JQl9QT09MX1NJWkUJCQkxNgo+ICAgI2RlZmluZSBSQURFT05fREVCVUdGU19N QVhfQ09NUE9ORU5UUwkJMzIKPiBAQCAtMzgyLDYgKzM4Myw3IEBAIHZvaWQgcmFkZW9uX2ZlbmNl X2RyaXZlcl9mb3JjZV9jb21wbGV0aW9uKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQg cmluZyk7Cj4gICBpbnQgcmFkZW9uX2ZlbmNlX2VtaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJk ZXYsIHN0cnVjdCByYWRlb25fZmVuY2UgKipmZW5jZSwgaW50IHJpbmcpOwo+ICAgdm9pZCByYWRl b25fZmVuY2VfcHJvY2VzcyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IHJpbmcpOwo+ ICAgYm9vbCByYWRlb25fZmVuY2Vfc2lnbmFsZWQoc3RydWN0IHJhZGVvbl9mZW5jZSAqZmVuY2Up Owo+ICtsb25nIHJhZGVvbl9mZW5jZV93YWl0X3RpbWVvdXQoc3RydWN0IHJhZGVvbl9mZW5jZSAq ZmVuY2UsIGJvb2wgaW50ZXJydXB0aWJsZSwgbG9uZyB0aW1lb3V0KTsKPiAgIGludCByYWRlb25f ZmVuY2Vfd2FpdChzdHJ1Y3QgcmFkZW9uX2ZlbmNlICpmZW5jZSwgYm9vbCBpbnRlcnJ1cHRpYmxl KTsKPiAgIGludCByYWRlb25fZmVuY2Vfd2FpdF9uZXh0KHN0cnVjdCByYWRlb25fZGV2aWNlICpy ZGV2LCBpbnQgcmluZyk7Cj4gICBpbnQgcmFkZW9uX2ZlbmNlX3dhaXRfZW1wdHkoc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYsIGludCByaW5nKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb25fZmVuY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X2ZlbmNlLmMKPiBpbmRleCAwNTgxNWM0Li43ZWYwNzVhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX2ZlbmNlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9mZW5jZS5jCj4gQEAgLTUyNyw3ICs1MjcsNyBAQCBzdGF0aWMgbG9uZyByYWRl b25fZmVuY2Vfd2FpdF9zZXFfdGltZW91dChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKPiAg IH0KPiAgIAo+ICAgLyoqCj4gLSAqIHJhZGVvbl9mZW5jZV93YWl0IC0gd2FpdCBmb3IgYSBmZW5j ZSB0byBzaWduYWwKPiArICogcmFkZW9uX2ZlbmNlX3dhaXRfdGltZW91dCAtIHdhaXQgZm9yIGEg ZmVuY2UgdG8gc2lnbmFsIHdpdGggdGltZW91dAo+ICAgICoKPiAgICAqIEBmZW5jZTogcmFkZW9u IGZlbmNlIG9iamVjdAo+ICAgICogQGludHI6IHVzZSBpbnRlcnJ1cHRpYmxlIHNsZWVwCj4gQEAg LTUzNSwxMiArNTM1LDE1IEBAIHN0YXRpYyBsb25nIHJhZGVvbl9mZW5jZV93YWl0X3NlcV90aW1l b3V0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAo+ICAgICogV2FpdCBmb3IgdGhlIHJlcXVl c3RlZCBmZW5jZSB0byBzaWduYWwgKGFsbCBhc2ljcykuCj4gICAgKiBAaW50ciBzZWxlY3RzIHdo ZXRoZXIgdG8gdXNlIGludGVycnVwdGFibGUgKHRydWUpIG9yIG5vbi1pbnRlcnJ1cHRhYmxlCj4g ICAgKiAoZmFsc2UpIHNsZWVwIHdoZW4gd2FpdGluZyBmb3IgdGhlIGZlbmNlLgo+IC0gKiBSZXR1 cm5zIDAgaWYgdGhlIGZlbmNlIGhhcyBwYXNzZWQsIGVycm9yIGZvciBhbGwgb3RoZXIgY2FzZXMu Cj4gKyAqIEB0aW1lb3V0OiBtYXhpbXVtIHRpbWUgdG8gd2FpdCwgb3IgTUFYX1NDSEVEVUxFX1RJ TUVPVVQgZm9yIGluZmluaXRlIHdhaXQKPiArICogUmV0dXJucyByZW1haW5pbmcgdGltZSBpZiB0 aGUgc2VxdWVuY2UgbnVtYmVyIGhhcyBwYXNzZWQsIDAgd2hlbgo+ICsgKiB0aGUgd2FpdCB0aW1l b3V0LCBvciBhbiBlcnJvciBmb3IgYWxsIG90aGVyIGNhc2VzLgo+ICAgICovCj4gLWludCByYWRl b25fZmVuY2Vfd2FpdChzdHJ1Y3QgcmFkZW9uX2ZlbmNlICpmZW5jZSwgYm9vbCBpbnRyKQo+ICts b25nIHJhZGVvbl9mZW5jZV93YWl0X3RpbWVvdXQoc3RydWN0IHJhZGVvbl9mZW5jZSAqZmVuY2Us IGJvb2wgaW50ciwgbG9uZyB0aW1lb3V0KQo+ICAgewo+ICAgCXVpbnQ2NF90IHNlcVtSQURFT05f TlVNX1JJTkdTXSA9IHt9Owo+ICAgCWxvbmcgcjsKPiArCWludCByX3NpZzsKPiAgIAo+ICAgCS8q Cj4gICAJICogVGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIGNhbGxlZCBvbiAhcmFkZW9uIGZl bmNlcy4KPiBAQCAtNTUyLDE1ICs1NTUsMzYgQEAgaW50IHJhZGVvbl9mZW5jZV93YWl0KHN0cnVj dCByYWRlb25fZmVuY2UgKmZlbmNlLCBib29sIGludHIpCj4gICAJCXJldHVybiBmZW5jZV93YWl0 KCZmZW5jZS0+YmFzZSwgaW50cik7Cj4gICAKPiAgIAlzZXFbZmVuY2UtPnJpbmddID0gZmVuY2Ut PnNlcTsKPiAtCXIgPSByYWRlb25fZmVuY2Vfd2FpdF9zZXFfdGltZW91dChmZW5jZS0+cmRldiwg c2VxLCBpbnRyLCBNQVhfU0NIRURVTEVfVElNRU9VVCk7Cj4gLQlpZiAociA8IDApIHsKPiArCXIg PSByYWRlb25fZmVuY2Vfd2FpdF9zZXFfdGltZW91dChmZW5jZS0+cmRldiwgc2VxLCBpbnRyLCB0 aW1lb3V0KTsKPiArCWlmIChyIDw9IDApIHsKPiAgIAkJcmV0dXJuIHI7Cj4gICAJfQo+ICAgCj4g LQlyID0gZmVuY2Vfc2lnbmFsKCZmZW5jZS0+YmFzZSk7Cj4gLQlpZiAoIXIpCj4gKwlyX3NpZyA9 IGZlbmNlX3NpZ25hbCgmZmVuY2UtPmJhc2UpOwo+ICsJaWYgKCFyX3NpZykKPiAgIAkJRkVOQ0Vf VFJBQ0UoJmZlbmNlLT5iYXNlLCAic2lnbmFsZWQgZnJvbSBmZW5jZV93YWl0XG4iKTsKPiAtCXJl dHVybiAwOwo+ICsJcmV0dXJuIHI7Cj4gK30KPiArCj4gKy8qKgo+ICsgKiByYWRlb25fZmVuY2Vf d2FpdCAtIHdhaXQgZm9yIGEgZmVuY2UgdG8gc2lnbmFsCj4gKyAqCj4gKyAqIEBmZW5jZTogcmFk ZW9uIGZlbmNlIG9iamVjdAo+ICsgKiBAaW50cjogdXNlIGludGVycnVwdGlibGUgc2xlZXAKPiAr ICoKPiArICogV2FpdCBmb3IgdGhlIHJlcXVlc3RlZCBmZW5jZSB0byBzaWduYWwgKGFsbCBhc2lj cykuCj4gKyAqIEBpbnRyIHNlbGVjdHMgd2hldGhlciB0byB1c2UgaW50ZXJydXB0YWJsZSAodHJ1 ZSkgb3Igbm9uLWludGVycnVwdGFibGUKPiArICogKGZhbHNlKSBzbGVlcCB3aGVuIHdhaXRpbmcg Zm9yIHRoZSBmZW5jZS4KPiArICogUmV0dXJucyAwIGlmIHRoZSBmZW5jZSBoYXMgcGFzc2VkLCBl cnJvciBmb3IgYWxsIG90aGVyIGNhc2VzLgo+ICsgKi8KPiAraW50IHJhZGVvbl9mZW5jZV93YWl0 KHN0cnVjdCByYWRlb25fZmVuY2UgKmZlbmNlLCBib29sIGludHIpCj4gK3sKPiArCWxvbmcgciA9 IHJhZGVvbl9mZW5jZV93YWl0X3RpbWVvdXQoZmVuY2UsIGludHIsIE1BWF9TQ0hFRFVMRV9USU1F T1VUKTsKPiArCWlmIChyID4gMCkgewo+ICsJCXJldHVybiAwOwo+ICsJfSBlbHNlIHsKPiArCQly ZXR1cm4gcjsKPiArCX0KPiAgIH0KPiAgIAo+ICAgLyoqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX3ZjZS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fdmNlLmMKPiBpbmRleCA3ZWIxYWU3Li41NjZhMWEwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX3ZjZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fdmNlLmMKPiBAQCAtODEwLDExICs4MTAsMTYgQEAgaW50IHJhZGVvbl92Y2VfaWJf dGVzdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5n KQo+ICAgCQlnb3RvIGVycm9yOwo+ICAgCX0KPiAgIAo+IC0JciA9IHJhZGVvbl9mZW5jZV93YWl0 KGZlbmNlLCBmYWxzZSk7Cj4gLQlpZiAocikgewo+ICsJciA9IHJhZGVvbl9mZW5jZV93YWl0X3Rp bWVvdXQoZmVuY2UsIGZhbHNlLCB1c2Vjc190b19qaWZmaWVzKAo+ICsJCVJBREVPTl9VU0VDX0lC X1RFU1RfVElNRU9VVCkpOwo+ICsJaWYgKHIgPCAwKSB7Cj4gICAJCURSTV9FUlJPUigicmFkZW9u OiBmZW5jZSB3YWl0IGZhaWxlZCAoJWQpLlxuIiwgcik7Cj4gKwl9IGVsc2UgaWYgKHIgPT0gMCkg ewo+ICsJCURSTV9FUlJPUigicmFkZW9uOiBmZW5jZSB3YWl0IHRpbWVkIG91dC5cbiIpOwo+ICsJ CXIgPSAtRVRJTUVET1VUOwo+ICAgCX0gZWxzZSB7Cj4gLQkgICAgICAgIERSTV9JTkZPKCJpYiB0 ZXN0IG9uIHJpbmcgJWQgc3VjY2VlZGVkXG4iLCByaW5nLT5pZHgpOwo+ICsJCURSTV9JTkZPKCJp YiB0ZXN0IG9uIHJpbmcgJWQgc3VjY2VlZGVkXG4iLCByaW5nLT5pZHgpOwo+ICsJCXIgPSAwOwo+ ICAgCX0KPiAgIGVycm9yOgo+ICAgCXJhZGVvbl9mZW5jZV91bnJlZigmZmVuY2UpOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3V2ZF92MV8wLmMgYi9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3V2ZF92MV8wLmMKPiBpbmRleCBjNmIxY2JjLi4xMmRkY2ZhIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vdXZkX3YxXzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vdXZkX3YxXzAuYwo+IEBAIC01MjIsMTEgKzUyMiwxNyBAQCBpbnQgdXZkX3Yx XzBfaWJfdGVzdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5n ICpyaW5nKQo+ICAgCQlnb3RvIGVycm9yOwo+ICAgCX0KPiAgIAo+IC0JciA9IHJhZGVvbl9mZW5j ZV93YWl0KGZlbmNlLCBmYWxzZSk7Cj4gLQlpZiAocikgewo+ICsJciA9IHJhZGVvbl9mZW5jZV93 YWl0X3RpbWVvdXQoZmVuY2UsIGZhbHNlLCB1c2Vjc190b19qaWZmaWVzKAo+ICsJCVJBREVPTl9V U0VDX0lCX1RFU1RfVElNRU9VVCkpOwo+ICsJaWYgKHIgPCAwKSB7Cj4gICAJCURSTV9FUlJPUigi cmFkZW9uOiBmZW5jZSB3YWl0IGZhaWxlZCAoJWQpLlxuIiwgcik7Cj4gICAJCWdvdG8gZXJyb3I7 Cj4gKwl9IGVsc2UgaWYgKHIgPT0gMCkgewo+ICsJCURSTV9FUlJPUigicmFkZW9uOiBmZW5jZSB3 YWl0IHRpbWVkIG91dC5cbiIpOwo+ICsJCXIgPSAtRVRJTUVET1VUOwo+ICsJCWdvdG8gZXJyb3I7 Cj4gICAJfQo+ICsJciA9IDA7Cj4gICAJRFJNX0lORk8oImliIHRlc3Qgb24gcmluZyAlZCBzdWNj ZWVkZWRcbiIsICByaW5nLT5pZHgpOwo+ICAgZXJyb3I6Cj4gICAJcmFkZW9uX2ZlbmNlX3VucmVm KCZmZW5jZSk7CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK