From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Kocialkowski Subject: Re: [PATCH v3 2/4] drm/vc4: Report underrun errors Date: Fri, 25 Jan 2019 15:43:07 +0100 Message-ID: <70a1887da5ca55adeeceb0d1758ec7cfe2d747bb.camel@bootlin.com> References: <20190108145056.2276-1-paul.kocialkowski@bootlin.com> <20190108145056.2276-3-paul.kocialkowski@bootlin.com> <87a7jrus68.fsf@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bootlin.com (mail.bootlin.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id 44FE26E60D for ; Fri, 25 Jan 2019 14:43:19 +0000 (UTC) In-Reply-To: <87a7jrus68.fsf@anholt.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Eric Anholt , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Thomas Petazzoni , Boris Brezillon , David Airlie , Eben Upton , Maxime Ripard List-Id: dri-devel@lists.freedesktop.org SGkgRXJpYywKCk9uIFdlZCwgMjAxOS0wMS0yMyBhdCAxMDo0NyAtMDgwMCwgRXJpYyBBbmhvbHQg d3JvdGU6Cj4gUGF1bCBLb2NpYWxrb3dza2kgPHBhdWwua29jaWFsa293c2tpQGJvb3RsaW4uY29t PiB3cml0ZXM6Cj4gCj4gPiBGcm9tOiBCb3JpcyBCcmV6aWxsb24gPGJvcmlzLmJyZXppbGxvbkBi b290bGluLmNvbT4KPiA+IAo+ID4gVGhlIERSTSBmcmFtZXdvcmsgcHJvdmlkZXMgYSBnZW5lcmlj IHdheSB0byByZXBvcnQgdW5kZXJydW4gZXJyb3JzLgo+ID4gTGV0J3MgaW1wbGVtZW50IHRoZSBu ZWNlc3NhcnkgaG9va3MgdG8gc3VwcG9ydCBpdCBpbiB0aGUgVkM0IGRyaXZlci4KPiA+IAo+ID4g U2lnbmVkLW9mZi1ieTogQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25AYm9vdGxpbi5j b20+Cj4gPiAtLS0KPiA+IENoYW5nZXMgaW4gdjM6Cj4gPiAtIEdlbmVyaWMgdW5kZXJydW4gcmVw b3J0IGZ1bmN0aW9uIGhhcyBiZWVuIGRyb3BwZWQsIGFkanVzdCB0aGUKPiA+ICAgY29kZSBhY2Nv cmRpbmdseQo+IAo+IFVwZGF0ZSBjb21taXQgbWVzc2FnZSBmb3IgRFJNIGZyYW1ld29yayBub3Qg cHJvdmlkaW5nIGEgZ2VuZXJpYyB3YXkgYW55Cj4gbW9yZT8KCldvb3BzLCBzb3JyeSBJIG1pc3Nl ZCB0aGF0IGFuZCBsZWZ0IHRoZSBjb21taXQgaW5jb25zaXN0ZW50IHdpdGggdGhlCmNoYW5nZWxv ZywgaW5kZWVkLgoKWy4uLl0KCj4gPiArdm9pZCB2YzRfaHZzX21hc2tfdW5kZXJydW4oc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiA+ICt7Cj4gPiArCXN0cnVjdCB2YzRfZGV2ICp2YzQgPSB0b192 YzRfZGV2KGRldik7Cj4gPiArCXUzMiBkaXNwY3RybCA9IEhWU19SRUFEKFNDQUxFUl9ESVNQQ1RS TCk7Cj4gPiArCj4gPiArCWRpc3BjdHJsICY9IH4oU0NBTEVSX0RJU1BDVFJMX0RTUEVJU0xVUigw KSB8Cj4gPiArCQkgICAgICBTQ0FMRVJfRElTUENUUkxfRFNQRUlTTFVSKDEpIHwKPiA+ICsJCSAg ICAgIFNDQUxFUl9ESVNQQ1RSTF9EU1BFSVNMVVIoMikpOwo+ID4gKwo+ID4gKwlIVlNfV1JJVEUo U0NBTEVSX0RJU1BDVFJMLCBkaXNwY3RybCk7Cj4gPiArfQo+ID4gKwo+ID4gK3ZvaWQgdmM0X2h2 c191bm1hc2tfdW5kZXJydW4oc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICt7Cj4gPiArCXN0 cnVjdCB2YzRfZGV2ICp2YzQgPSB0b192YzRfZGV2KGRldik7Cj4gPiArCXUzMiBkaXNwY3RybCA9 IEhWU19SRUFEKFNDQUxFUl9ESVNQQ1RSTCk7Cj4gPiArCj4gPiArCWRpc3BjdHJsIHw9IFNDQUxF Ul9ESVNQQ1RSTF9EU1BFSVNMVVIoMCkgfAo+ID4gKwkJICAgIFNDQUxFUl9ESVNQQ1RSTF9EU1BF SVNMVVIoMSkgfAo+ID4gKwkJICAgIFNDQUxFUl9ESVNQQ1RSTF9EU1BFSVNMVVIoMik7Cj4gPiAr Cj4gPiArCUhWU19XUklURShTQ0FMRVJfRElTUFNUQVQsCj4gPiArCQkgIFNDQUxFUl9ESVNQU1RB VF9FVUZMT1coMCkgfAo+ID4gKwkJICBTQ0FMRVJfRElTUFNUQVRfRVVGTE9XKDEpIHwKPiA+ICsJ CSAgU0NBTEVSX0RJU1BTVEFUX0VVRkxPVygyKSk7Cj4gPiArCUhWU19XUklURShTQ0FMRVJfRElT UENUUkwsIGRpc3BjdHJsKTsKPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIHZvaWQgdmM0X2h2c19y ZXBvcnRfdW5kZXJydW4oc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICt7Cj4gPiArCXN0cnVj dCB2YzRfZGV2ICp2YzQgPSB0b192YzRfZGV2KGRldik7Cj4gPiArCj4gPiArCWF0b21pY19pbmMo JnZjNC0+dW5kZXJydW4pOwo+ID4gKwlEUk1fREVWX0VSUk9SKGRldi0+ZGV2LCAiSFZTIHVuZGVy cnVuXG4iKTsKPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIGlycXJldHVybl90IHZjNF9odnNfaXJx X2hhbmRsZXIoaW50IGlycSwgdm9pZCAqZGF0YSkKPiA+ICt7Cj4gPiArCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBkYXRhOwo+ID4gKwlzdHJ1Y3QgdmM0X2RldiAqdmM0ID0gdG9fdmM0X2Rldihk ZXYpOwo+ID4gKwl1MzIgc3RhdHVzOwo+ID4gKwo+ID4gKwlzdGF0dXMgPSBIVlNfUkVBRChTQ0FM RVJfRElTUFNUQVQpOwo+ID4gKwo+ID4gKwlpZiAoc3RhdHVzICYKPiA+ICsJICAgIChTQ0FMRVJf RElTUFNUQVRfRVVGTE9XKDApIHwgU0NBTEVSX0RJU1BTVEFUX0VVRkxPVygxKSB8Cj4gPiArCSAg ICAgU0NBTEVSX0RJU1BTVEFUX0VVRkxPVygyKSkpIHsKPiA+ICsJCXZjNF9odnNfbWFza191bmRl cnJ1bihkZXYpOwo+ID4gKwkJdmM0X2h2c19yZXBvcnRfdW5kZXJydW4oZGV2KTsKPiA+ICsJfQo+ ID4gKwo+ID4gKwlIVlNfV1JJVEUoU0NBTEVSX0RJU1BTVEFULCBzdGF0dXMpOwo+ID4gKwo+ID4g KwlyZXR1cm4gc3RhdHVzID8gSVJRX0hBTkRMRUQgOiBJUlFfTk9ORTsKPiA+ICt9Cj4gCj4gU28s IGlmIFVGTE9XIGlzIHNldCB0aGVuIHdlIGluY3JlbWVudGVkIHRoZSBjb3VudGVyIGFuZCBkaXNh YmxlZCB0aGUKPiBpbnRlcnJ1cHQsIG90aGVyd2lzZSB3ZSBhY2tlZCB0aGlzIHNwZWNpZmljIGlu dGVycnVwdCBhbmQgcmV0dXJuPyAgR2l2ZW4KPiB0aGF0IGEgc2hvcnQtbGluZSBlcnJvciAodGhl IG90aGVyIHBvdGVudGlhbCBjYXVzZSBvZiBFSVNMVVIpIHdvdWxkIGJlCj4gbGlrZWx5IHRvIHBl cnNpc3QsIHdlIHNob3VsZCBwcm9iYWJseSBlaXRoZXIgdmM0X2h2c19tYXNrX3VuZGVycnVuKCkg aW4KPiB0aGF0IGNhc2UgdG9vLCBvciBvbmx5IHJldHVybiBJUlFfSEFORExFRCBmb3IgdGhlIGNh c2Ugd2UgYWN0dWFsbHkKPiBoYW5kbGVkLgoKSSBzZWUsIHRoZXJlIGlzIGRlZmluaXRlbHkgYW4g aW5jb25zaXN0ZW5jeSBoZXJlLiBJIGRvbid0IHRoaW5rIHdlCnNob3VsZCBiZSBkaXNhYmxpbmcg dGhlIGludGVycnVwdCBpZiB3ZSBnZXQgYSBzaG9ydCBsaW5lIGluZGljYXRpb24sCmp1c3QgaW4g Y2FzZSB0aGUgaW50ZXJydXB0IGdldHMgdHJpZ2dlcmVkIGxhdGVyIGZvciBhIGxlZ2l0aW1hdGUK dW5kZXJydW4gKGJlZm9yZSB0aGUgbmV4dCBjb21taXQpLgoKU28gSSB0aGluayB3ZSBzaG91bGQg anVzdCB0b3RhbGx5IGlnbm9yZSB0aGUgc2hvcnQgbGluZSBzdGF0dXMgYml0IGZvcgp0aGUgSVJR IHJldHVybiAoYWx0aG91Z2ggaXQgY2VydGFpbmx5IGRvZXNuJ3QgaHVydCB0byBjbGVhciBpdCBh cwp3ZWxsKS4gV2hhdCBkbyB5b3UgdGhpbms/Cgo+ID4gKwo+ID4gIHN0YXRpYyBpbnQgdmM0X2h2 c19iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2b2lkICpk YXRhKQo+ID4gIHsKPiA+ICAJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiA9IHRvX3BsYXRm b3JtX2RldmljZShkZXYpOwo+ID4gQEAgLTIzNiwxNSArMzA1LDMzIEBAIHN0YXRpYyBpbnQgdmM0 X2h2c19iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2b2lk ICpkYXRhKQo+ID4gIAlkaXNwY3RybCA9IEhWU19SRUFEKFNDQUxFUl9ESVNQQ1RSTCk7Cj4gPiAg Cj4gPiAgCWRpc3BjdHJsIHw9IFNDQUxFUl9ESVNQQ1RSTF9FTkFCTEU7Cj4gPiArCWRpc3BjdHJs IHw9IFNDQUxFUl9ESVNQQ1RSTF9EU1BFSVNMVVIoMCkgfCBTQ0FMRVJfRElTUENUUkxfRElTUEVJ UlEoMCkgfAo+ID4gKwkJICAgIFNDQUxFUl9ESVNQQ1RSTF9EU1BFSVNMVVIoMSkgfCBTQ0FMRVJf RElTUENUUkxfRElTUEVJUlEoMSkgfAo+ID4gKwkJICAgIFNDQUxFUl9ESVNQQ1RSTF9EU1BFSVNM VVIoMikgfCBTQ0FMRVJfRElTUENUUkxfRElTUEVJUlEoMik7Cj4gPiAgCj4gPiAgCS8qIFNldCBE U1AzIChQVjEpIHRvIHVzZSBIVlMgY2hhbm5lbCAyLCB3aGljaCB3b3VsZCBvdGhlcndpc2UKPiA+ ICAJICogYmUgdW51c2VkLgo+ID4gIAkgKi8KPiA+ICAJZGlzcGN0cmwgJj0gflNDQUxFUl9ESVNQ Q1RSTF9EU1AzX01VWF9NQVNLOwo+ID4gKwlkaXNwY3RybCAmPSB+KFNDQUxFUl9ESVNQQ1RSTF9E TUFFSVJRIHwKPiA+ICsJCSAgICAgIFNDQUxFUl9ESVNQQ1RSTF9TTFZXUkVJUlEgfAo+ID4gKwkJ ICAgICAgU0NBTEVSX0RJU1BDVFJMX1NMVlJERUlSUSB8Cj4gPiArCQkgICAgICBTQ0FMRVJfRElT UENUUkxfRFNQRUlFT0YoMCkgfAo+ID4gKwkJICAgICAgU0NBTEVSX0RJU1BDVFJMX0RTUEVJRU9G KDEpIHwKPiA+ICsJCSAgICAgIFNDQUxFUl9ESVNQQ1RSTF9EU1BFSUVPRigyKSB8Cj4gPiArCQkg ICAgICBTQ0FMRVJfRElTUENUUkxfRFNQRUlFT0xOKDApIHwKPiA+ICsJCSAgICAgIFNDQUxFUl9E SVNQQ1RSTF9EU1BFSUVPTE4oMSkgfAo+ID4gKwkJICAgICAgU0NBTEVSX0RJU1BDVFJMX0RTUEVJ RU9MTigyKSB8Cj4gPiArCQkgICAgICBTQ0FMRVJfRElTUENUUkxfU0NMRUlSUSk7Cj4gPiAgCWRp c3BjdHJsIHw9IFZDNF9TRVRfRklFTEQoMiwgU0NBTEVSX0RJU1BDVFJMX0RTUDNfTVVYKTsKPiAK PiBmdXR1cmUgd29yazogQXQgc29tZSBwb2ludCwgd2Ugc2hvdWxkIHN0b3AgaW5oZXJpdGluZyBv bGQgZGlzcGN0cmwgc2V0dXAKPiBhbmQganVzdCBpbml0aWFsaXplIGl0IG9uIG91ciBvd24gKHNv IHdlIGdldCBwcmlvcml0eSBmbGFncyBldmVuIGlmIHRoZQo+IGZpcm13YXJlIGRpZG4ndCBzZXQg dGhlbSB1cCBmb3IgdXMpCgpTb3VuZHMgZ29vZCwgSSdtIHRha2luZyBhIG5vdGUgb2YgdGhhdCBm b3IgY3JhZnRpbmcgYSBwYXRjaCBpbiB0aGF0CmRpcmVjdGlvbi4KCj4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9r bXMuYwo+ID4gaW5kZXggMmQ2NmEyYjU3YTkxLi5hMjhlODAxYWVhZTIgMTAwNjQ0Cj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9rbXMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L3ZjNC92YzRfa21zLmMKPiA+IEBAIC0xMzksNiArMTM5LDggQEAgdmM0X2F0b21pY19jb21wbGV0 ZV9jb21taXQoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gc3RhdGUtPmRldjsKPiA+ICAJc3RydWN0IHZjNF9kZXYgKnZjNCA9IHRv X3ZjNF9kZXYoZGV2KTsKPiA+ICAKPiA+ICsJdmM0X2h2c19tYXNrX3VuZGVycnVuKGRldik7Cj4g PiArCj4gPiAgCWRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX2ZlbmNlcyhkZXYsIHN0YXRlLCBm YWxzZSk7Cj4gPiAgCj4gPiAgCWRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX2RlcGVuZGVuY2ll cyhzdGF0ZSk7Cj4gPiBAQCAtMTU3LDYgKzE1OSw4IEBAIHZjNF9hdG9taWNfY29tcGxldGVfY29t bWl0KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiA+ICAKPiA+ICAJdmM0X2h2c19z eW5jX2RsaXN0KGRldik7Cj4gPiAgCj4gPiArCXZjNF9odnNfdW5tYXNrX3VuZGVycnVuKGRldik7 Cj4gPiArCj4gPiAgCWRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX2ZsaXBfZG9uZShkZXYsIHN0 YXRlKTsKPiA+ICAKPiA+ICAJZHJtX2F0b21pY19oZWxwZXJfY2xlYW51cF9wbGFuZXMoZGV2LCBz dGF0ZSk7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcmVncy5oIGIv ZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcmVncy5oCj4gPiBpbmRleCA1MGM2NTMzMDlhZWMuLjdl MjY5MmU5YTgzZSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3JlZ3Mu aAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcmVncy5oCj4gPiBAQCAtMjE3LDgg KzIxNyw2IEBACj4gPiAgI2RlZmluZSBTQ0FMRVJfRElTUENUUkwgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMDAwMDAwMAo+ID4gIC8qIEdsb2JhbCByZWdpc3RlciBmb3IgY2xvY2sgZ2F0aW5n IHRoZSBIVlMgKi8KPiA+ICAjIGRlZmluZSBTQ0FMRVJfRElTUENUUkxfRU5BQkxFCQkJQklUKDMx KQo+ID4gLSMgZGVmaW5lIFNDQUxFUl9ESVNQQ1RSTF9EU1AyRUlTTFVSCQlCSVQoMTUpCj4gPiAt IyBkZWZpbmUgU0NBTEVSX0RJU1BDVFJMX0RTUDFFSVNMVVIJCUJJVCgxNCkKPiA+ICAjIGRlZmlu ZSBTQ0FMRVJfRElTUENUUkxfRFNQM19NVVhfTUFTSwkJVkM0X01BU0soMTksIDE4KQo+ID4gICMg ZGVmaW5lIFNDQUxFUl9ESVNQQ1RSTF9EU1AzX01VWF9TSElGVAkJMTgKPiA+ICAKPiA+IEBAIC0y MjYsNDUgKzIyNCwyNSBAQAo+ID4gICAqIFNDQUxFUl9ESVNQU1RBVF9JUlFESVNQMC4gIE5vdGUg dGhhdCBzaG9ydCBmcmFtZSBjb250cmlidXRpb25zIGFyZQo+ID4gICAqIGFsd2F5cyBlbmFibGVk Lgo+ID4gICAqLwo+ID4gLSMgZGVmaW5lIFNDQUxFUl9ESVNQQ1RSTF9EU1AwRUlTTFVSCQlCSVQo MTMpCj4gPiAtIyBkZWZpbmUgU0NBTEVSX0RJU1BDVFJMX0RTUDJFSUVPTE4JCUJJVCgxMikKPiA+ IC0jIGRlZmluZSBTQ0FMRVJfRElTUENUUkxfRFNQMkVJRU9GCQlCSVQoMTEpCj4gPiAtIyBkZWZp bmUgU0NBTEVSX0RJU1BDVFJMX0RTUDFFSUVPTE4JCUJJVCgxMCkKPiA+IC0jIGRlZmluZSBTQ0FM RVJfRElTUENUUkxfRFNQMUVJRU9GCQlCSVQoOSkKPiA+ICsjIGRlZmluZSBTQ0FMRVJfRElTUENU UkxfRFNQRUlTTFVSKHgpCQlCSVQoMTMgKyAoeCkpCj4gPiAgLyogRW5hYmxlcyBEaXNwbGF5IDAg ZW5kLW9mLWxpbmUtTiBjb250cmlidXRpb24gdG8KPiA+ICAgKiBTQ0FMRVJfRElTUFNUQVRfSVJR RElTUDAKPiA+ICAgKi8KPiA+IC0jIGRlZmluZSBTQ0FMRVJfRElTUENUUkxfRFNQMEVJRU9MTgkJ QklUKDgpCj4gPiArIyBkZWZpbmUgU0NBTEVSX0RJU1BDVFJMX0RTUEVJRU9MTih4KQkJQklUKDgg KyAoKHgpICogMikpCj4gPiAgLyogRW5hYmxlcyBEaXNwbGF5IDAgRU9GIGNvbnRyaWJ1dGlvbiB0 byBTQ0FMRVJfRElTUFNUQVRfSVJRRElTUDAgKi8KPiA+IC0jIGRlZmluZSBTQ0FMRVJfRElTUENU UkxfRFNQMEVJRU9GCQlCSVQoNykKPiA+ICsjIGRlZmluZSBTQ0FMRVJfRElTUENUUkxfRFNQRUlF T0YoeCkJCUJJVCg3ICsgKCh4KSAqIDIpKQo+ID4gIAo+ID4gICMgZGVmaW5lIFNDQUxFUl9ESVNQ Q1RSTF9TTFZSREVJUlEJCUJJVCg2KQo+ID4gICMgZGVmaW5lIFNDQUxFUl9ESVNQQ1RSTF9TTFZX UkVJUlEJCUJJVCg1KQo+ID4gICMgZGVmaW5lIFNDQUxFUl9ESVNQQ1RSTF9ETUFFSVJRCQlCSVQo NCkKPiA+IC0jIGRlZmluZSBTQ0FMRVJfRElTUENUUkxfRElTUDJFSVJRCQlCSVQoMykKPiA+IC0j IGRlZmluZSBTQ0FMRVJfRElTUENUUkxfRElTUDFFSVJRCQlCSVQoMikKPiA+ICAvKiBFbmFibGVz IGludGVycnVwdCBnZW5lcmF0aW9uIG9uIHRoZSBlbmFibGVkIEVPRi9FT0xOL0VJU0xVUgo+ID4g ICAqIGJpdHMgYW5kIHNob3J0IGZyYW1lcy4uCj4gPiAgICovCj4gPiAtIyBkZWZpbmUgU0NBTEVS X0RJU1BDVFJMX0RJU1AwRUlSUQkJQklUKDEpCj4gPiArIyBkZWZpbmUgU0NBTEVSX0RJU1BDVFJM X0RJU1BFSVJRKHgpCQlCSVQoMSArICh4KSkKPiA+ICAvKiBFbmFibGVzIGludGVycnVwdCBnZW5l cmF0aW9uIG9uIHNjYWxlciBwcm9maWxlciBpbnRlcnJ1cHQuICovCj4gPiAgIyBkZWZpbmUgU0NB TEVSX0RJU1BDVFJMX1NDTEVJUlEJCUJJVCgwKQo+ID4gIAo+ID4gICNkZWZpbmUgU0NBTEVSX0RJ U1BTVEFUICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDQKPiA+IC0jIGRlZmluZSBT Q0FMRVJfRElTUFNUQVRfQ09CTE9XMgkJQklUKDI5KQo+ID4gLSMgZGVmaW5lIFNDQUxFUl9ESVNQ U1RBVF9FT0xOMgkJCUJJVCgyOCkKPiA+IC0jIGRlZmluZSBTQ0FMRVJfRElTUFNUQVRfRVNGUkFN RTIJCUJJVCgyNykKPiA+IC0jIGRlZmluZSBTQ0FMRVJfRElTUFNUQVRfRVNMSU5FMgkJQklUKDI2 KQo+ID4gLSMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9FVUZMT1cyCQlCSVQoMjUpCj4gPiAtIyBk ZWZpbmUgU0NBTEVSX0RJU1BTVEFUX0VPRjIJCQlCSVQoMjQpCj4gPiAtCj4gPiAtIyBkZWZpbmUg U0NBTEVSX0RJU1BTVEFUX0NPQkxPVzEJCUJJVCgyMSkKPiA+IC0jIGRlZmluZSBTQ0FMRVJfRElT UFNUQVRfRU9MTjEJCQlCSVQoMjApCj4gPiAtIyBkZWZpbmUgU0NBTEVSX0RJU1BTVEFUX0VTRlJB TUUxCQlCSVQoMTkpCj4gPiAtIyBkZWZpbmUgU0NBTEVSX0RJU1BTVEFUX0VTTElORTEJCUJJVCgx OCkKPiA+IC0jIGRlZmluZSBTQ0FMRVJfRElTUFNUQVRfRVVGTE9XMQkJQklUKDE3KQo+ID4gLSMg ZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9FT0YxCQkJQklUKDE2KQo+ID4gLQo+ID4gICMgZGVmaW5l IFNDQUxFUl9ESVNQU1RBVF9SRVNQX01BU0sJCVZDNF9NQVNLKDE1LCAxNCkKPiA+ICAjIGRlZmlu ZSBTQ0FMRVJfRElTUFNUQVRfUkVTUF9TSElGVAkJMTQKPiA+ICAjIGRlZmluZSBTQ0FMRVJfRElT UFNUQVRfUkVTUF9PS0FZCQkwCj4gPiBAQCAtMjcyLDIzICsyNTAsMjMgQEAKPiA+ICAjIGRlZmlu ZSBTQ0FMRVJfRElTUFNUQVRfUkVTUF9TTFZFUlIJCTIKPiA+ICAjIGRlZmluZSBTQ0FMRVJfRElT UFNUQVRfUkVTUF9ERUNFUlIJCTMKPiA+ICAKPiA+IC0jIGRlZmluZSBTQ0FMRVJfRElTUFNUQVRf Q09CTE9XMAkJQklUKDEzKQo+ID4gKyMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9DT0JMT1coeCkJ CUJJVCg1ICsgKCgoeCkgKyAxKSAqIDgpKQo+IAo+IFRoZXNlIGFyZSB3ZWlyZCB0byBtZSAtLSB3 aHkgYXJlIHdlIGRvaW5nIDUgKyAoeCArIDEpICogOCwgaW5zdGVhZCBvZiAxMwo+ICsgeCAqIDg/ ICBUaGUgYm90dG9tIDggYml0cyBkb24ndCBzZWVtIHRvIGJlIHJlbGF0ZWQgdG8gdGhlIDMgc2V0 cyBpbgo+IHRoZSB0b3AgMjQuCgpUaGUgcmVhc29uaW5nIGJlaGluZCBpdCBpcyB0byB0aGluayBp biB0ZXJtcyBvZiAiYml0IG9mZnNldCB3aXRoaW4gdGhlCmJ5dGUgZm9yIGRpc3BsYXkgeCIgKyAi bnVtYmVyIG9mIGJ5dGVzIHRvIHRoZSBieXRlIGZvciBkaXNwbGF5IHgiIHdoaWNoCkkgZmVlbCBj b21lcyBzb21ld2hhdCBuYXR1cmFsbHkgd2hlbiByZWFkaW5nIHRoZSBkYXRhc2hlZXQgKHRoZSBi aXRzCmZvciBlYWNoIGRpc3BsYXkgc3RhcnQgYnl0ZS1hbGlnbmVkKS4KCkJ1dCB3aXRob3V0IHRo ZSBvdmVyYWxsIHN0cnVjdHVyZSBpbiBtaW5kLCBJIGFncmVlIGl0J3MgYSBiaXQKZGlzdHVyYmlu ZyBhbmQgaXQncyBhIG1vcmUgY29tcGxleCBleHByZXNzaW9uIHRoYW4gd2hhdCB5b3Ugc3VnZ2Vz dGVkCmVpdGhlciB3YXksIHNvIEknbGwgdXNlIHlvdXIgc3VnZ2VzdGlvbiBpbiB0aGUgbmV4dCBy ZXZpc2lvbi4KCkNoZWVycyBhbmQgdGhhbmtzIGZvciB0aGUgcmV2aWV3LAoKUGF1bAoKPiA+ICAv KiBTZXQgd2hlbiB0aGUgRElTUEVPTE4gbGluZSBpcyBkb25lIGNvbXBvc2l0aW5nLiAqLwo+ID4g LSMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9FT0xOMAkJCUJJVCgxMikKPiA+ICsjIGRlZmluZSBT Q0FMRVJfRElTUFNUQVRfRU9MTih4KQkJQklUKDQgKyAoKCh4KSArIDEpICogOCkpCj4gPiAgLyog U2V0IHdoZW4gVlNUQVJUIGlzIHNlZW4gYnV0IHRoZXJlIGFyZSBzdGlsbCBwaXhlbHMgaW4gdGhl IGN1cnJlbnQKPiA+ICAgKiBvdXRwdXQgbGluZS4KPiA+ICAgKi8KPiA+IC0jIGRlZmluZSBTQ0FM RVJfRElTUFNUQVRfRVNGUkFNRTAJCUJJVCgxMSkKPiA+ICsjIGRlZmluZSBTQ0FMRVJfRElTUFNU QVRfRVNGUkFNRSh4KQkJQklUKDMgKyAoKCh4KSArIDEpICogOCkpCj4gPiAgLyogU2V0IHdoZW4g SFNUQVJUIGlzIHNlZW4gYnV0IHRoZXJlIGFyZSBzdGlsbCBwaXhlbHMgaW4gdGhlIGN1cnJlbnQK PiA+ICAgKiBvdXRwdXQgbGluZS4KPiA+ICAgKi8KPiA+IC0jIGRlZmluZSBTQ0FMRVJfRElTUFNU QVRfRVNMSU5FMAkJQklUKDEwKQo+ID4gKyMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9FU0xJTkUo eCkJCUJJVCgyICsgKCgoeCkgKyAxKSAqIDgpKQo+ID4gIC8qIFNldCB3aGVuIHRoZSB0aGUgZG93 bnN0cmVhbSB0cmllcyB0byByZWFkIGZyb20gdGhlIGRpc3BsYXkgRklGTwo+ID4gICAqIHdoaWxl IGl0J3MgZW1wdHkuCj4gPiAgICovCj4gPiAtIyBkZWZpbmUgU0NBTEVSX0RJU1BTVEFUX0VVRkxP VzAJCUJJVCg5KQo+ID4gKyMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9FVUZMT1coeCkJCUJJVCgx ICsgKCgoeCkgKyAxKSAqIDgpKQo+ID4gIC8qIFNldCB3aGVuIHRoZSBkaXNwbGF5IG1vZGUgY2hh bmdlcyBmcm9tIFJVTiB0byBFT0YgKi8KPiA+IC0jIGRlZmluZSBTQ0FMRVJfRElTUFNUQVRfRU9G MAkJCUJJVCg4KQo+ID4gKyMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9FT0YoeCkJCQlCSVQoKCh4 KSArIDEpICogOCkKPiA+ICAKPiA+ICAvKiBTZXQgb24gQVhJIGludmFsaWQgRE1BIElEIGVycm9y LiAqLwo+ID4gICMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9ETUFfRVJST1IJCUJJVCg3KQo+ID4g QEAgLTMwMCwxMiArMjc4LDEwIEBACj4gPiAgICogU0NBTEVSX0RJU1BTVEFUX1JFU1BfRVJST1Ig aXMgbm90IFNDQUxFUl9ESVNQU1RBVF9SRVNQX09LQVkuCj4gPiAgICovCj4gPiAgIyBkZWZpbmUg U0NBTEVSX0RJU1BTVEFUX0lSUURNQQkJCUJJVCg0KQo+ID4gLSMgZGVmaW5lIFNDQUxFUl9ESVNQ U1RBVF9JUlFESVNQMgkJQklUKDMpCj4gPiAtIyBkZWZpbmUgU0NBTEVSX0RJU1BTVEFUX0lSUURJ U1AxCQlCSVQoMikKPiA+ICAvKiBTZXQgd2hlbiBhbnkgb2YgdGhlIEVPRi9FT0xOL0VTRlJBTUUv RVNMSU5FIGJpdHMgYXJlIHNldCBhbmQgdGhlaXIKPiA+ICAgKiBjb3JyZXNwb25kaW5nIGludGVy cnVwdCBiaXQgaXMgZW5hYmxlZCBpbiBESVNQQ1RSTC4KPiA+ICAgKi8KPiA+IC0jIGRlZmluZSBT Q0FMRVJfRElTUFNUQVRfSVJRRElTUDAJCUJJVCgxKQo+ID4gKyMgZGVmaW5lIFNDQUxFUl9ESVNQ U1RBVF9JUlFESVNQKHgpCQlCSVQoMSArICh4KSkKPiA+ICAvKiBPbiByZWFkLCB0aGUgcHJvZmls ZXIgaW50ZXJydXB0LiAgT24gd3JpdGUsIGNsZWFyICphbGwqIGludGVycnVwdCBiaXRzLiAqLwo+ ID4gICMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9JUlFTQ0wJCQlCSVQoMCkKPiA+ICAKPiA+IC0t IAo+ID4gMi4yMC4xCi0tIApQYXVsIEtvY2lhbGtvd3NraSwgQm9vdGxpbgpFbWJlZGRlZCBMaW51 eCBhbmQga2VybmVsIGVuZ2luZWVyaW5nCmh0dHBzOi8vYm9vdGxpbi5jb20KCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=