From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?TWljaGVsIETDpG56ZXI=?= Subject: Re: [PATCH 1/2] drm/radeon: Only enable and handle pageflip interrupts when needed Date: Mon, 30 Jun 2014 18:34:48 +0900 Message-ID: <53B12F38.2050208@daenzer.net> References: <1403774992-3323-1-git-send-email-michel@daenzer.net> <53ABF846.4080401@vodafone.de> <53ACDDBC.80201@daenzer.net> <53AD28EB.1020304@vodafone.de> <53AD3D14.1040504@daenzer.net> <53AD4BD6.5080401@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.gna.ch (darkcity.gna.ch [195.226.6.51]) by gabe.freedesktop.org (Postfix) with ESMTP id 7B0DC6E1AA for ; Mon, 30 Jun 2014 02:34:56 -0700 (PDT) In-Reply-To: <53AD4BD6.5080401@vodafone.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gMjcuMDYuMjAxNCAxOTo0NywgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPiBBbSAyNy4wNi4y MDE0IDExOjQ0LCBzY2hyaWViIE1pY2hlbCBEw6RuemVyOgo+PiBPbiAyNy4wNi4yMDE0IDE3OjE4 LCBDaHJpc3RpYW4gS8O2bmlnIHdyb3RlOgo+Pj4gQW0gMjcuMDYuMjAxNCAwNDo1OCwgc2Nocmll YiBNaWNoZWwgRMOkbnplcjoKPj4+PiBPbiAyNi4wNi4yMDE0IDE5OjM5LCBDaHJpc3RpYW4gS8O2 bmlnIHdyb3RlOgo+Pj4+PiBBbSAyNi4wNi4yMDE0IDExOjI5LCBzY2hyaWViIE1pY2hlbCBEw6Ru emVyOgo+Pj4+Pj4gRnJvbTogTWljaGVsIETDpG56ZXIgPG1pY2hlbC5kYWVuemVyQGFtZC5jb20+ Cj4+Pj4+Pgo+Pj4+Pj4gUHJldmVudHMgcmFkZW9uX2NydGNfaGFuZGxlX2ZsaXAoKSBmcm9tIHJ1 bm5pbmcgYmVmb3JlCj4+Pj4+PiByYWRlb25fZmxpcF93b3JrX2Z1bmMoKSwgcmVzdWx0aW5nIGlu IGEga2VybmVsIHBhbmljIGR1ZSB0bwo+Pj4+Pj4gdGhlIEJVR19PTigpIGluIGRybV92Ymxhbmtf cHV0KCkuCj4+Pj4+Pgo+Pj4+Pj4gVGVzdGVkLWJ5OiBEaWV0ZXIgTsO8dHplbCA8RGlldGVyQG51 ZXR6ZWwtaGguZGU+IFNpZ25lZC1vZmYtYnk6Cj4+Pj4+PiBNaWNoZWwgRMOkbnplciA8bWljaGVs LmRhZW56ZXJAYW1kLmNvbT4KPj4+Pj4gRG9lcyBwYXRjaCAjMiBhbG9uZSBmaXhlcyB0aGUgcHJv YmxlbSBhcyB3ZWxsPwo+Pj4+IEl0IHNob3VsZCBhdm9pZCB0aGUgcGFuaWMgYXMgd2VsbC4KCkkn dmUgc2VudCBhIHYyIG9mIHRoYXQgcGF0Y2ggd2l0aCBhbiB1cGRhdGVkIGNvbW1pdCBsb2cuIEFs ZXgsIHBsZWFzZSBnZXQKdGhhdCBpbnRvIDMuMTYgQVNBUCB0byBwcmV2ZW50IHBlb3BsZSBmcm9t IHJ1bm5pbmcgaW50byB0aGUgcGFuaWMuCgoKPj4+Pj4gSSB3b3VsZCByYXRoZXIgd2FudCB0byBh dm9pZCB0dXJuaW5nIHRoZSBwZmxpcCBpbnRlcnJ1cHQgb24gYW5kCj4+Pj4+IG9mZi4KPj4+PiBX aGF0J3MgdGhlIHByb2JsZW0gd2l0aCB0aGF0PyBJdCdzIG5vdCBsaWtlIHdlJ3JlIHNhdmluZyBh bnkKPj4+PiByZWdpc3RlciB3cml0ZXMgYnkgbm90IGRvaW5nIGl0Lgo+Pj4gV2UgZG9uJ3Q/IEFz IGZhciBhcyBJIGNhbiBzZWUgd2UgcmVwcm9ncmFtIGFsbCBpbnRlcnJ1cHQgcmVnaXN0ZXJzCj4+ PiBpZiBhbnkgb2YgdGhlIGludGVycnVwdHMgY2hhbmdlZCwKPj4gTWF5YmUgSSdtIG1pc3Npbmcg c29tZXRoaW5nLCBidXQ6IHJhZGVvbl9pcnFfa21zX3BmbGlwX2lycV9nZXQvcHV0KCkKPj4gY2Fs bCByYWRlb25faXJxX3NldCgpIGV2ZXJ5IHRpbWUsIGFzIHRoZXJlIGNhbiBvbmx5IGJlIG9uZSBh Y3RpdmUgcGFnZQo+PiBmbGlwIHBlciBDUlRDLiBBbmQgcmFkZW9uX2lycV9zZXQoKSBhbHdheXMg d3JpdGVzIHRoZSBzYW1lIHJlZ2lzdGVycywKPj4gb25seSB0aGUgYml0cyBpdCB3cml0ZXMgdG8g dGhlbSBjaGFuZ2UgZGVwZW5kaW5nIG9uIHdoaWNoIGludGVycnVwdHMgdGhlCj4+IGRyaXZlciBp cyBjdXJyZW50bHkgaW50ZXJlc3RlZCBpbi4KPiAKPiBXZSBmaXJzdCB0dXJuIG9uIHRoZSB2Ymxh bmsgaW50ZXJydXB0IHdoaWNoIHJlc3VsdHMgaW4gYQo+IHJhZGVvbl9pcnFfc2V0KCkgYW5kIHRo ZW4gdHVybiBvbiB0aGUgcGZsaXAsIHdoaWNoIHJlc3VsdHMgaW4gYW5vdGhlcgo+IHJhZGVvbl9p cnFfc2V0KCkgLgoKVGhlIERSTSBjb3JlIGRlbGF5cyBkaXNhYmxpbmcgdGhlIGhhcmR3YXJlIHZi bGFuayBpbnRlcnJ1cHQsIHNvCnJhZGVvbl9pcnFfc2V0KCkgc2hvdWxkIG9ubHkgYmUgY2FsbGVk IG9uY2UgZm9yIHRoYXQuCgpyYWRlb25faXJxX2ttc19wZmxpcF9pcnFfZ2V0L3B1dCgpIGFsd2F5 cyBjYWxsIHJhZGVvbl9pcnFfc2V0KCkgZXZlbiBiZWZvcmUKbXkgY2hhbmdlcy4KCgpBbnl3YXks IGZvciB0aGUgaXNzdWVzIHN1cnJvdW5kaW5nIHRoZSBwZmxpcCBpbnRlcnJ1cHQsIEkgdG9vayBh IHN0ZXAgYmFjawphbmQgY29uc2lkZXJlZCBhIGZ1bmRhbWVudGFsbHkgZGlmZmVyZW50IGFwcHJv YWNoOiBJdCBvY2N1cnJlZCB0byBtZSB0aGF0IGEKbG90IG9mIHRoZSBpc3N1ZXMgd2UndmUgYmVl biBzdHJ1Z2dsaW5nIHdpdGggYXJlIHJlbGF0ZWQgdG8gcHJvZ3JhbW1pbmcgdGhlCmZsaXBzIHRv IHRoZSBoYXJkd2FyZSBzdWNoIHRoYXQgdGhleSBleGVjdXRlIGR1cmluZyB0aGUgdmVydGljYWwg YmxhbmsKcGVyaW9kLiBXZSBkb24ndCBrbm93IGV4YWN0bHkgd2hlbiB0aGUgaGFyZHdhcmUgdXBk YXRlIGhhcHBlbnMgb3Igd2hlbiB3b3VsZApiZSBhIGdvb2QgdGltZSB0byBwcm9ncmFtIHRoZSBm bGlwLiBTbyB3aHkgYm90aGVyIHdpdGggdGhhdCBhdCBhbGw/CgpUaGUgcGF0Y2ggYmVsb3cgKG9u bHkgZmxlc2hlZCBvdXQgZm9yIENJSykgbW92ZXMgdGhlIHByb2dyYW1taW5nIG9mIHRoZQpmbGlw IHRvIHRoZSBoYXJkd2FyZSBiYWNrIHRvIHRoZSB2ZXJ0aWNhbCBibGFuayBpbnRlcnJ1cHQgaGFu ZGxlciwgYnV0CmNoYW5nZXMgaXQgdG8gZXhlY3V0ZSBkdXJpbmcgdGhlIGhvcml6b250YWwgYmxh bmsgcGVyaW9kLiBJbiBhZGRpdGlvbiB0bwphbGxvd2luZyB0aGUgcGZsaXAgaW50ZXJydXB0IGhh bmRsaW5nLCByYWRlb25fY3J0Y19oYW5kbGVfdmJsYW5rKCkgYW5kCnJhZGVvbl9mbGlwX3BlbmRp bmcoKSB0byBiZSByZW1vdmVkLCB0aGlzIHNob3VsZCBtYWtlIGFkZGluZyBzdXBwb3J0IGZvcgph c3luY2hyb25vdXMgZmxpcHMgdHJpdmlhbCBhbmQgc3VwcG9ydCBmb3IgcmVwbGFjaW5nIHBlbmRp bmcgZmxpcHMgbXVjaAplYXNpZXIuIFdoYXQgZG8geW91IHRoaW5rPwoKCj4gVGhlIGRlbGF5IGJl dHdlZW4gdmJsYW5rIHN0YXJ0IGFuZCB0aGUgZmxpcCBiZWluZyBleGVjdXRlZCBzZWVtZWQgdG8g YmUKPiBkZXBlbmRpbmcgb24gdGhlIHBpeGVsIGNsb2NrICh3aGljaCBtYWtlcyBzZW5zZSBiZWNh dXNlIHRoZSBDUlRDIGlzCj4gZHJpdmVuIGJ5IGl0KSwgc28gd2hlbiBpdCBtaWdodCB3b3JrIG9r IGZvciBhIDUwSHogbW9kZSB3ZSBjYW4gc3RpbGwgcnVuCj4gaW50byBwcm9ibGVtcyB3aXRoIDI0 SHogbW9kZXMuCgpJIGNvdWxkbid0IHNlZSBhbnkgdGVhcmluZyB3aXRoIHRoaXMgcGF0Y2ggYXQg NjQweDQ4MCBhdCA2MCBIeiBhbmQgcmVkdWNlZApibGFua2luZywgd2hpY2ggc2hvdWxkIGhhdmUg YSBsb3dlciBwaXhlbCBjbG9jayBhbmQgc2hvcnRlciB2ZXJ0aWNhbCBibGFuawpwZXJpb2QgdGhh biAxOTIweDEwODAgYXQgMjQgSHo/CgoKY29tbWl0IDdiMjg2MTU4OWYwNWM1YzVjNzUyMTA4Y2Ux MDUxNjFlYmMwZDZiZjUKQXV0aG9yOiBNaWNoZWwgRMOkbnplciA8bWljaGVsLmRhZW56ZXJAYW1k LmNvbT4KRGF0ZTogICBNb24gSnVuIDMwIDE3OjU3OjAxIDIwMTQgKzA5MDAKCiAgICBkcm0vcmFk ZW9uOiBQcm9ncmFtIHBhZ2UgZmxpcHMgdG8gZXhlY3V0ZSBpbiBoYmxhbmsgaW5zdGVhZCBvZiB2 YmxhbmsKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2F0b21iaW9zX2NydGMu YyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRvbWJpb3NfY3J0Yy5jCmluZGV4IGU5MTE4OTgu LjI4NDIwMTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRvbWJpb3NfY3J0 Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRvbWJpb3NfY3J0Yy5jCkBAIC0xMjg0 LDYgKzEyODQsMTAgQEAgc3RhdGljIGludCBkY2U0X2NydGNfZG9fc2V0X2Jhc2Uoc3RydWN0IGRy bV9jcnRjICpjcnRjLAogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKKyAgICAgICAv KiBNYWtlIHN1cmUgdXBkYXRlcyBoYXBwZW4gYXQgdmVydGljYWwgYmxhbmsgKi8KKyAgICAgICBX UkVHMzIoRVZFUkdSRUVOX0dSUEhfRkxJUF9DT05UUk9MICsgcmFkZW9uX2NydGMtPmNydGNfb2Zm c2V0LCAwKTsKKyAgICAgICBXUkVHMzIoRVZFUkdSRUVOX01BU1RFUl9VUERBVEVfTU9ERSArIHJh ZGVvbl9jcnRjLT5jcnRjX29mZnNldCwgMCk7CisKICAgICAgICBXUkVHMzIoRVZFUkdSRUVOX0dS UEhfUFJJTUFSWV9TVVJGQUNFX0FERFJFU1NfSElHSCArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNl dCwKICAgICAgICAgICAgICAgdXBwZXJfMzJfYml0cyhmYl9sb2NhdGlvbikpOwogICAgICAgIFdS RUczMihFVkVSR1JFRU5fR1JQSF9TRUNPTkRBUllfU1VSRkFDRV9BRERSRVNTX0hJR0ggKyByYWRl b25fY3J0Yy0+Y3J0Y19vZmZzZXQsCkBAIC0xMzIxLDE1ICsxMzI1LDYgQEAgc3RhdGljIGludCBk Y2U0X2NydGNfZG9fc2V0X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLAogICAgICAgIFdSRUcz MihFVkVSR1JFRU5fVklFV1BPUlRfU0laRSArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCwKICAg ICAgICAgICAgICAgKHZpZXdwb3J0X3cgPDwgMTYpIHwgdmlld3BvcnRfaCk7CgotICAgICAgIC8q IHBhZ2VmbGlwIHNldHVwICovCi0gICAgICAgLyogbWFrZSBzdXJlIGZsaXAgaXMgYXQgdmIgcmF0 aGVyIHRoYW4gaGIgKi8KLSAgICAgICB0bXAgPSBSUkVHMzIoRVZFUkdSRUVOX0dSUEhfRkxJUF9D T05UUk9MICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0KTsKLSAgICAgICB0bXAgJj0gfkVWRVJH UkVFTl9HUlBIX1NVUkZBQ0VfVVBEQVRFX0hfUkVUUkFDRV9FTjsKLSAgICAgICBXUkVHMzIoRVZF UkdSRUVOX0dSUEhfRkxJUF9DT05UUk9MICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0LCB0bXAp OwotCi0gICAgICAgLyogc2V0IHBhZ2VmbGlwIHRvIGhhcHBlbiBhbnl3aGVyZSBpbiB2Ymxhbmsg aW50ZXJ2YWwgKi8KLSAgICAgICBXUkVHMzIoRVZFUkdSRUVOX01BU1RFUl9VUERBVEVfTU9ERSAr IHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCwgMCk7Ci0KICAgICAgICBpZiAoIWF0b21pYyAmJiBm YiAmJiBmYiAhPSBjcnRjLT5wcmltYXJ5LT5mYikgewogICAgICAgICAgICAgICAgcmFkZW9uX2Zi ID0gdG9fcmFkZW9uX2ZyYW1lYnVmZmVyKGZiKTsKICAgICAgICAgICAgICAgIHJibyA9IGdlbV90 b19yYWRlb25fYm8ocmFkZW9uX2ZiLT5vYmopOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9jaWsuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vY2lrLmMKaW5kZXggMGY0YjM4 Zi4uZDBhOTk0YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9jaWsuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Npay5jCkBAIC03MTQzLDI1ICs3MTQzLDYgQEAgaW50 IGNpa19pcnFfc2V0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogICAgICAgICAgICAgICAg V1JFRzMyKExCX0lOVEVSUlVQVF9NQVNLICsgRVZFUkdSRUVOX0NSVEM1X1JFR0lTVEVSX09GRlNF VCwgY3J0YzYpOwogICAgICAgIH0KCi0gICAgICAgaWYgKHJkZXYtPm51bV9jcnRjID49IDIpIHsK LSAgICAgICAgICAgICAgIFdSRUczMihHUlBIX0lOVF9DT05UUk9MICsgRVZFUkdSRUVOX0NSVEMw X1JFR0lTVEVSX09GRlNFVCwKLSAgICAgICAgICAgICAgICAgICAgICBHUlBIX1BGTElQX0lOVF9N QVNLKTsKLSAgICAgICAgICAgICAgIFdSRUczMihHUlBIX0lOVF9DT05UUk9MICsgRVZFUkdSRUVO X0NSVEMxX1JFR0lTVEVSX09GRlNFVCwKLSAgICAgICAgICAgICAgICAgICAgICBHUlBIX1BGTElQ X0lOVF9NQVNLKTsKLSAgICAgICB9Ci0gICAgICAgaWYgKHJkZXYtPm51bV9jcnRjID49IDQpIHsK LSAgICAgICAgICAgICAgIFdSRUczMihHUlBIX0lOVF9DT05UUk9MICsgRVZFUkdSRUVOX0NSVEMy X1JFR0lTVEVSX09GRlNFVCwKLSAgICAgICAgICAgICAgICAgICAgICBHUlBIX1BGTElQX0lOVF9N QVNLKTsKLSAgICAgICAgICAgICAgIFdSRUczMihHUlBIX0lOVF9DT05UUk9MICsgRVZFUkdSRUVO X0NSVEMzX1JFR0lTVEVSX09GRlNFVCwKLSAgICAgICAgICAgICAgICAgICAgICBHUlBIX1BGTElQ X0lOVF9NQVNLKTsKLSAgICAgICB9Ci0gICAgICAgaWYgKHJkZXYtPm51bV9jcnRjID49IDYpIHsK LSAgICAgICAgICAgICAgIFdSRUczMihHUlBIX0lOVF9DT05UUk9MICsgRVZFUkdSRUVOX0NSVEM0 X1JFR0lTVEVSX09GRlNFVCwKLSAgICAgICAgICAgICAgICAgICAgICBHUlBIX1BGTElQX0lOVF9N QVNLKTsKLSAgICAgICAgICAgICAgIFdSRUczMihHUlBIX0lOVF9DT05UUk9MICsgRVZFUkdSRUVO X0NSVEM1X1JFR0lTVEVSX09GRlNFVCwKLSAgICAgICAgICAgICAgICAgICAgICBHUlBIX1BGTElQ X0lOVF9NQVNLKTsKLSAgICAgICB9Ci0KICAgICAgICBXUkVHMzIoRENfSFBEMV9JTlRfQ09OVFJP TCwgaHBkMSk7CiAgICAgICAgV1JFRzMyKERDX0hQRDJfSU5UX0NPTlRST0wsIGhwZDIpOwogICAg ICAgIFdSRUczMihEQ19IUEQzX0lOVF9DT05UUk9MLCBocGQzKTsKQEAgLTcyMTUsMTIgKzcxOTYs NiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY2lrX2lycV9hY2soc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYpCiAgICAgICAgICAgICAgICAgICAgICAgIEVWRVJHUkVFTl9DUlRDNV9SRUdJU1RFUl9P RkZTRVQpOwogICAgICAgIH0KCi0gICAgICAgaWYgKHJkZXYtPmlycS5zdGF0X3JlZ3MuY2lrLmQx Z3JwaF9pbnQgJiBHUlBIX1BGTElQX0lOVF9PQ0NVUlJFRCkKLSAgICAgICAgICAgICAgIFdSRUcz MihHUlBIX0lOVF9TVEFUVVMgKyBFVkVSR1JFRU5fQ1JUQzBfUkVHSVNURVJfT0ZGU0VULAotICAg ICAgICAgICAgICAgICAgICAgIEdSUEhfUEZMSVBfSU5UX0NMRUFSKTsKLSAgICAgICBpZiAocmRl di0+aXJxLnN0YXRfcmVncy5jaWsuZDJncnBoX2ludCAmIEdSUEhfUEZMSVBfSU5UX09DQ1VSUkVE KQotICAgICAgICAgICAgICAgV1JFRzMyKEdSUEhfSU5UX1NUQVRVUyArIEVWRVJHUkVFTl9DUlRD MV9SRUdJU1RFUl9PRkZTRVQsCi0gICAgICAgICAgICAgICAgICAgICAgR1JQSF9QRkxJUF9JTlRf Q0xFQVIpOwogICAgICAgIGlmIChyZGV2LT5pcnEuc3RhdF9yZWdzLmNpay5kaXNwX2ludCAmIExC X0QxX1ZCTEFOS19JTlRFUlJVUFQpCiAgICAgICAgICAgICAgICBXUkVHMzIoTEJfVkJMQU5LX1NU QVRVUyArIEVWRVJHUkVFTl9DUlRDMF9SRUdJU1RFUl9PRkZTRVQsIFZCTEFOS19BQ0spOwogICAg ICAgIGlmIChyZGV2LT5pcnEuc3RhdF9yZWdzLmNpay5kaXNwX2ludCAmIExCX0QxX1ZMSU5FX0lO VEVSUlVQVCkKQEAgLTcyMzEsMTIgKzcyMDYsNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY2lrX2ly cV9hY2soc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAgICAgICAgICAgICAgICBXUkVHMzIo TEJfVkxJTkVfU1RBVFVTICsgRVZFUkdSRUVOX0NSVEMxX1JFR0lTVEVSX09GRlNFVCwgVkxJTkVf QUNLKTsKCiAgICAgICAgaWYgKHJkZXYtPm51bV9jcnRjID49IDQpIHsKLSAgICAgICAgICAgICAg IGlmIChyZGV2LT5pcnEuc3RhdF9yZWdzLmNpay5kM2dycGhfaW50ICYgR1JQSF9QRkxJUF9JTlRf T0NDVVJSRUQpCi0gICAgICAgICAgICAgICAgICAgICAgIFdSRUczMihHUlBIX0lOVF9TVEFUVVMg KyBFVkVSR1JFRU5fQ1JUQzJfUkVHSVNURVJfT0ZGU0VULAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgR1JQSF9QRkxJUF9JTlRfQ0xFQVIpOwotICAgICAgICAgICAgICAgaWYgKHJkZXYt PmlycS5zdGF0X3JlZ3MuY2lrLmQ0Z3JwaF9pbnQgJiBHUlBIX1BGTElQX0lOVF9PQ0NVUlJFRCkK LSAgICAgICAgICAgICAgICAgICAgICAgV1JFRzMyKEdSUEhfSU5UX1NUQVRVUyArIEVWRVJHUkVF Tl9DUlRDM19SRUdJU1RFUl9PRkZTRVQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH UlBIX1BGTElQX0lOVF9DTEVBUik7CiAgICAgICAgICAgICAgICBpZiAocmRldi0+aXJxLnN0YXRf cmVncy5jaWsuZGlzcF9pbnRfY29udDIgJiBMQl9EM19WQkxBTktfSU5URVJSVVBUKQogICAgICAg ICAgICAgICAgICAgICAgICBXUkVHMzIoTEJfVkJMQU5LX1NUQVRVUyArIEVWRVJHUkVFTl9DUlRD Ml9SRUdJU1RFUl9PRkZTRVQsIFZCTEFOS19BQ0spOwogICAgICAgICAgICAgICAgaWYgKHJkZXYt PmlycS5zdGF0X3JlZ3MuY2lrLmRpc3BfaW50X2NvbnQyICYgTEJfRDNfVkxJTkVfSU5URVJSVVBU KQpAQCAtNzI0OCwxMiArNzIxNyw2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjaWtfaXJxX2Fjayhz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKICAgICAgICB9CgogICAgICAgIGlmIChyZGV2LT5u dW1fY3J0YyA+PSA2KSB7Ci0gICAgICAgICAgICAgICBpZiAocmRldi0+aXJxLnN0YXRfcmVncy5j aWsuZDVncnBoX2ludCAmIEdSUEhfUEZMSVBfSU5UX09DQ1VSUkVEKQotICAgICAgICAgICAgICAg ICAgICAgICBXUkVHMzIoR1JQSF9JTlRfU1RBVFVTICsgRVZFUkdSRUVOX0NSVEM0X1JFR0lTVEVS X09GRlNFVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdSUEhfUEZMSVBfSU5UX0NM RUFSKTsKLSAgICAgICAgICAgICAgIGlmIChyZGV2LT5pcnEuc3RhdF9yZWdzLmNpay5kNmdycGhf aW50ICYgR1JQSF9QRkxJUF9JTlRfT0NDVVJSRUQpCi0gICAgICAgICAgICAgICAgICAgICAgIFdS RUczMihHUlBIX0lOVF9TVEFUVVMgKyBFVkVSR1JFRU5fQ1JUQzVfUkVHSVNURVJfT0ZGU0VULAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1JQSF9QRkxJUF9JTlRfQ0xFQVIpOwogICAg ICAgICAgICAgICAgaWYgKHJkZXYtPmlycS5zdGF0X3JlZ3MuY2lrLmRpc3BfaW50X2NvbnQ0ICYg TEJfRDVfVkJMQU5LX0lOVEVSUlVQVCkKICAgICAgICAgICAgICAgICAgICAgICAgV1JFRzMyKExC X1ZCTEFOS19TVEFUVVMgKyBFVkVSR1JFRU5fQ1JUQzRfUkVHSVNURVJfT0ZGU0VULCBWQkxBTktf QUNLKTsKICAgICAgICAgICAgICAgIGlmIChyZGV2LT5pcnEuc3RhdF9yZWdzLmNpay5kaXNwX2lu dF9jb250NCAmIExCX0Q1X1ZMSU5FX0lOVEVSUlVQVCkKQEAgLTc0NTksNyArNzQyMiw3IEBAIHJl c3RhcnRfaWg6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHdha2VfdXAoJnJkZXYtPmlycS52YmxhbmtfcXVldWUpOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaWYgKGF0b21pY19yZWFkKCZyZGV2LT5pcnEucGZsaXBbMF0pKQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWRlb25fY3J0Y19oYW5kbGVfdmJsYW5r KHJkZXYsIDApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICByYWRlb25fY3J0Y19oYW5kbGVfZmxpcChyZGV2LCAwKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHJkZXYtPmlycS5zdGF0X3JlZ3MuY2lrLmRpc3BfaW50ICY9IH5M Ql9EMV9WQkxBTktfSU5URVJSVVBUOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRFJNX0RFQlVHKCJJSDogRDEgdmJsYW5rXG4iKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CkBAIC03NDg1LDcgKzc0NDgsNyBAQCByZXN0YXJ0X2loOgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YWtlX3VwKCZyZGV2LT5pcnEu dmJsYW5rX3F1ZXVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdG9taWNfcmVhZCgm cmRldi0+aXJxLnBmbGlwWzFdKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmFkZW9uX2NydGNfaGFuZGxlX3ZibGFuayhyZGV2LCAxKTsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkZW9uX2NydGNfaGFuZGxl X2ZsaXAocmRldiwgMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy ZGV2LT5pcnEuc3RhdF9yZWdzLmNpay5kaXNwX2ludF9jb250ICY9IH5MQl9EMl9WQkxBTktfSU5U RVJSVVBUOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0RFQlVH KCJJSDogRDIgdmJsYW5rXG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CkBA IC03NTExLDcgKzc0NzQsNyBAQCByZXN0YXJ0X2loOgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB3YWtlX3VwKCZyZGV2LT5pcnEudmJsYW5rX3F1ZXVlKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlw WzJdKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFk ZW9uX2NydGNfaGFuZGxlX3ZibGFuayhyZGV2LCAyKTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmFkZW9uX2NydGNfaGFuZGxlX2ZsaXAocmRldiwgMik7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZGV2LT5pcnEuc3RhdF9y ZWdzLmNpay5kaXNwX2ludF9jb250MiAmPSB+TEJfRDNfVkJMQU5LX0lOVEVSUlVQVDsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERSTV9ERUJVRygiSUg6IEQzIHZibGFu a1xuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQpAQCAtNzUzNyw3ICs3NTAw LDcgQEAgcmVzdGFydF9paDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgd2FrZV91cCgmcmRldi0+aXJxLnZibGFua19xdWV1ZSk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpZiAoYXRvbWljX3JlYWQoJnJkZXYtPmlycS5wZmxpcFszXSkpCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGVvbl9jcnRjX2hhbmRs ZV92YmxhbmsocmRldiwgMyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHJkZXYsIDMpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmRldi0+aXJxLnN0YXRfcmVncy5jaWsuZGlzcF9p bnRfY29udDMgJj0gfkxCX0Q0X1ZCTEFOS19JTlRFUlJVUFQ7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBEUk1fREVCVUcoIklIOiBENCB2YmxhbmtcbiIpOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTc1NjMsNyArNzUyNiw3IEBAIHJlc3RhcnRf aWg6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdha2Vf dXAoJnJkZXYtPmlycS52YmxhbmtfcXVldWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg KGF0b21pY19yZWFkKCZyZGV2LT5pcnEucGZsaXBbNF0pKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByYWRlb25fY3J0Y19oYW5kbGVfdmJsYW5rKHJkZXYs IDQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWRl b25fY3J0Y19oYW5kbGVfZmxpcChyZGV2LCA0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJkZXYtPmlycS5zdGF0X3JlZ3MuY2lrLmRpc3BfaW50X2NvbnQ0ICY9IH5M Ql9ENV9WQkxBTktfSU5URVJSVVBUOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRFJNX0RFQlVHKCJJSDogRDUgdmJsYW5rXG4iKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CkBAIC03NTg5LDcgKzc1NTIsNyBAQCByZXN0YXJ0X2loOgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YWtlX3VwKCZyZGV2LT5pcnEu dmJsYW5rX3F1ZXVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdG9taWNfcmVhZCgm cmRldi0+aXJxLnBmbGlwWzVdKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmFkZW9uX2NydGNfaGFuZGxlX3ZibGFuayhyZGV2LCA1KTsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkZW9uX2NydGNfaGFuZGxl X2ZsaXAocmRldiwgNSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy ZGV2LT5pcnEuc3RhdF9yZWdzLmNpay5kaXNwX2ludF9jb250NSAmPSB+TEJfRDZfVkJMQU5LX0lO VEVSUlVQVDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERSTV9ERUJV RygiSUg6IEQ2IHZibGFua1xuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQpA QCAtNzYwNSwxNSArNzU2OCw2IEBAIHJlc3RhcnRfaWg6CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICBjYXNlIDg6IC8qIEQxIHBhZ2UgZmxpcCAq LwotICAgICAgICAgICAgICAgY2FzZSAxMDogLyogRDIgcGFnZSBmbGlwICovCi0gICAgICAgICAg ICAgICBjYXNlIDEyOiAvKiBEMyBwYWdlIGZsaXAgKi8KLSAgICAgICAgICAgICAgIGNhc2UgMTQ6 IC8qIEQ0IHBhZ2UgZmxpcCAqLwotICAgICAgICAgICAgICAgY2FzZSAxNjogLyogRDUgcGFnZSBm bGlwICovCi0gICAgICAgICAgICAgICBjYXNlIDE4OiAvKiBENiBwYWdlIGZsaXAgKi8KLSAgICAg ICAgICAgICAgICAgICAgICAgRFJNX0RFQlVHKCJJSDogRCVkIGZsaXBcbiIsICgoc3JjX2lkIC0g OCkgPj4gMSkgKyAxKTsKLSAgICAgICAgICAgICAgICAgICAgICAgcmFkZW9uX2NydGNfaGFuZGxl X2ZsaXAocmRldiwgKHNyY19pZCAtIDgpID4+IDEpOwotICAgICAgICAgICAgICAgICAgICAgICBi cmVhazsKICAgICAgICAgICAgICAgIGNhc2UgNDI6IC8qIEhQRCBob3RwbHVnICovCiAgICAgICAg ICAgICAgICAgICAgICAgIHN3aXRjaCAoc3JjX2RhdGEpIHsKICAgICAgICAgICAgICAgICAgICAg ICAgY2FzZSAwOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4u YyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuLmMKaW5kZXggMDQ0MzE4My4uNDc5 OGQ2MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jCkBAIC0xMzE3LDcgKzEzMTcsMTAg QEAgdm9pZCBldmVyZ3JlZW5fcGFnZV9mbGlwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBp bnQgY3J0Y19pZCwgdTY0IGNydGNfYmFzZSkKIHsKICAgICAgICBzdHJ1Y3QgcmFkZW9uX2NydGMg KnJhZGVvbl9jcnRjID0gcmRldi0+bW9kZV9pbmZvLmNydGNzW2NydGNfaWRdOwogICAgICAgIHUz MiB0bXAgPSBSUkVHMzIoRVZFUkdSRUVOX0dSUEhfVVBEQVRFICsgcmFkZW9uX2NydGMtPmNydGNf b2Zmc2V0KTsKLSAgICAgICBpbnQgaTsKKworICAgICAgIC8qIFRha2Ugc3VyZmFjZSB1cGRhdGVz IGF0IGhvcml6b250YWwgYmxhbmsgKi8KKyAgICAgICBXUkVHMzIoRVZFUkdSRUVOX0dSUEhfRkxJ UF9DT05UUk9MICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0LAorICAgICAgICAgICAgICBFVkVS R1JFRU5fR1JQSF9TVVJGQUNFX1VQREFURV9IX1JFVFJBQ0VfRU4pOwoKICAgICAgICAvKiBMb2Nr IHRoZSBncmFwaGljcyB1cGRhdGUgbG9jayAqLwogICAgICAgIHRtcCB8PSBFVkVSR1JFRU5fR1JQ SF9VUERBVEVfTE9DSzsKQEAgLTEzMzQsMTUgKzEzMzcsNyBAQCB2b2lkIGV2ZXJncmVlbl9wYWdl X2ZsaXAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjX2lkLCB1NjQgY3J0Y19i YXNlKQogICAgICAgIFdSRUczMihFVkVSR1JFRU5fR1JQSF9QUklNQVJZX1NVUkZBQ0VfQUREUkVT UyArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCwKICAgICAgICAgICAgICAgKHUzMiljcnRjX2Jh c2UpOwoKLSAgICAgICAvKiBXYWl0IGZvciB1cGRhdGVfcGVuZGluZyB0byBnbyBoaWdoLiAqLwot ICAgICAgIGZvciAoaSA9IDA7IGkgPCByZGV2LT51c2VjX3RpbWVvdXQ7IGkrKykgewotICAgICAg ICAgICAgICAgaWYgKFJSRUczMihFVkVSR1JFRU5fR1JQSF9VUERBVEUgKyByYWRlb25fY3J0Yy0+ Y3J0Y19vZmZzZXQpICYgRVZFUkdSRUVOX0dSUEhfU1VSRkFDRV9VUERBVEVfUEVORElORykKLSAg ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICB1ZGVsYXkoMSk7Ci0g ICAgICAgfQotICAgICAgIERSTV9ERUJVRygiVXBkYXRlIHBlbmRpbmcgbm93IGhpZ2guIFVubG9j a2luZyB2dXBkYXRlX2xvY2suXG4iKTsKLQotICAgICAgIC8qIFVubG9jayB0aGUgbG9jaywgc28g ZG91YmxlLWJ1ZmZlcmluZyBjYW4gdGFrZSBwbGFjZSBpbnNpZGUgdmJsYW5rICovCisgICAgICAg LyogVW5sb2NrIHRoZSBsb2NrLCBzbyBkb3VibGUtYnVmZmVyaW5nIGNhbiB0YWtlIHBsYWNlIGlu c2lkZSBoYmxhbmsgKi8KICAgICAgICB0bXAgJj0gfkVWRVJHUkVFTl9HUlBIX1VQREFURV9MT0NL OwogICAgICAgIFdSRUczMihFVkVSR1JFRU5fR1JQSF9VUERBVEUgKyByYWRlb25fY3J0Yy0+Y3J0 Y19vZmZzZXQsIHRtcCk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbi5oIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaAppbmRleCA4ZThlZjA4Li5j OGI3ZjI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKQEAgLTY4MSw2ICs2ODEsNyBAQCBzdHJ1 Y3QgcmFkZW9uX2ZsaXBfd29yayB7CiAgICAgICAgc3RydWN0IHdvcmtfc3RydWN0ICAgICAgICAg ICAgICB1bnBpbl93b3JrOwogICAgICAgIHN0cnVjdCByYWRlb25fZGV2aWNlICAgICAgICAgICAg KnJkZXY7CiAgICAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcnRjX2lkOwor ICAgICAgIHVpbnQ2NF90ICAgICAgICAgICAgICAgICAgICAgICAgYmFzZTsKICAgICAgICBzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICAgICAgICAgICpmYjsKICAgICAgICBzdHJ1Y3QgZHJtX3BlbmRp bmdfdmJsYW5rX2V2ZW50ICpldmVudDsKICAgICAgICBzdHJ1Y3QgcmFkZW9uX2JvICAgICAgICAg ICAgICAgICpvbGRfcmJvOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGlzcGxheS5jCmlu ZGV4IDY1ODgyY2QuLjlhNzU1NGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kaXNw bGF5LmMKQEAgLTM1NCw2ICszNTQsOSBAQCB2b2lkIHJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0Y19pZCkKICAgICAgICAgICAgICAgIHJl dHVybjsKICAgICAgICB9CgorICAgICAgIC8qIGRvIHRoZSBmbGlwIChtbWlvKSAqLworICAgICAg IHJhZGVvbl9wYWdlX2ZsaXAocmRldiwgcmFkZW9uX2NydGMtPmNydGNfaWQsIHdvcmstPmJhc2Up OworCiAgICAgICAgLyogUGFnZWZsaXAgY29tcGxldGVkLiBDbGVhbiB1cC4gKi8KICAgICAgICBy YWRlb25fY3J0Yy0+ZmxpcF9zdGF0dXMgPSBSQURFT05fRkxJUF9OT05FOwogICAgICAgIHJhZGVv bl9jcnRjLT5mbGlwX3dvcmsgPSBOVUxMOwpAQCAtNDc5LDkgKzQ4Miw3IEBAIHN0YXRpYyB2b2lk IHJhZGVvbl9mbGlwX3dvcmtfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKl9fd29yaykKICAgICAg ICAvKiBzZXQgdGhlIHByb3BlciBpbnRlcnJ1cHQgKi8KICAgICAgICByYWRlb25faXJxX2ttc19w ZmxpcF9pcnFfZ2V0KHJkZXYsIHJhZGVvbl9jcnRjLT5jcnRjX2lkKTsKCi0gICAgICAgLyogZG8g dGhlIGZsaXAgKG1taW8pICovCi0gICAgICAgcmFkZW9uX3BhZ2VfZmxpcChyZGV2LCByYWRlb25f Y3J0Yy0+Y3J0Y19pZCwgYmFzZSk7Ci0KKyAgICAgICB3b3JrLT5iYXNlID0gYmFzZTsKICAgICAg ICByYWRlb25fY3J0Yy0+ZmxpcF9zdGF0dXMgPSBSQURFT05fRkxJUF9TVUJNSVRURUQ7CiAgICAg ICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY3J0Yy0+ZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7 CiAgICAgICAgdXBfcmVhZCgmcmRldi0+ZXhjbHVzaXZlX2xvY2spOwoKCi0tIApFYXJ0aGxpbmcg TWljaGVsIETDpG56ZXIgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5h bWQuY29tCkxpYnJlIHNvZnR3YXJlIGVudGh1c2lhc3QgICAgICAgICAgfCAgICAgICAgICAgICAg ICBNZXNhIGFuZCBYIGRldmVsb3BlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=