From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 1/5] drm/amdgpu:keep ctx alive till all job finished Date: Wed, 3 May 2017 15:34:22 +0200 Message-ID: <200bd9aa-1374-69be-c155-689013ba49c5@vodafone.de> References: <1493623371-32614-1-git-send-email-Monk.Liu@amd.com> <1493623371-32614-2-git-send-email-Monk.Liu@amd.com> <059fe927-90c8-0cf3-336c-56818d9277f0@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: 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: "Liu, Monk" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" PiBDYW4gd2UgZ3VhcmFudGVlIHRoZSBwZGUvcHRlIGFuZCBQUlQvQ1NBIGFyZSBhbGwgYWxpdmUg KEJPLCBtYXBwaW5ncykgd2hlbiByZXN1Ym1pdHRpbmcgdGhlIHRpbWVvdXQgam9iIChhc3N1bWUg dGhpcyB0aW1lIG91dCBqb2IgY2FuIHNpZ25hbCBhZnRlciB0aGUgcmVzdWJtaXQpPwpZZXMsIHRo YXQncyB3aHkgd2UgYWRkIGFsbCBmZW5jZXMgb2YgZWFjaCBjb21tYW5kIHN1Ym1pc3Npb24gdG8g dGhlIApQRC9QVCBCT3MuCgpSZWdhcmRzLApDaHJpc3RpYW4uCgpBbSAwMy4wNS4yMDE3IHVtIDE1 OjMxIHNjaHJpZWIgTGl1LCBNb25rOgo+IEV2ZW4gd2UgcmVsZWFzZSB0aGUgY3R4IGFzIHVzdWFs IHdheSwKPiBDYW4gd2UgZ3VhcmFudGVlIHRoZSBwZGUvcHRlIGFuZCBQUlQvQ1NBIGFyZSBhbGwg YWxpdmUgKEJPLCBtYXBwaW5ncykgd2hlbiByZXN1Ym1pdHRpbmcgdGhlIHRpbWVvdXQgam9iIChh c3N1bWUgdGhpcyB0aW1lIG91dCBqb2IgY2FuIHNpZ25hbCBhZnRlciB0aGUgcmVzdWJtaXQpPwo+ Cj4gWW91IGtub3cgQXBwIGNhbiBzdWJtaXQgYSBjb21tYW5kIGEgcmVsZWFzZSBhbGwgQk8gYW5k IGZyZWVfY3R4LCBjbG9zZSBGRC9WTSwgYW5kIGV4aXQgdmVyeSBzb29uLCBpdCBqdXN0IGRvZXNu J3Qgd2FpdCBmb3IgdGhlICBmZW5jZSBzaWduYWwKPgo+IEJSIE1vbmsKPgo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tCj4gRnJvbTogQ2hyaXN0aWFuIEvDtm5pZyBbbWFpbHRvOmRlYXRoc2lt cGxlQHZvZGFmb25lLmRlXQo+IFNlbnQ6IFdlZG5lc2RheSwgTWF5IDAzLCAyMDE3IDg6NTAgUE0K PiBUbzogTGl1LCBNb25rIDxNb25rLkxpdUBhbWQuY29tPjsgYW1kLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiBTdWJqZWN0OiBSZTogW1BBVENIIDEvNV0gZHJtL2FtZGdwdTprZWVwIGN0eCBh bGl2ZSB0aWxsIGFsbCBqb2IgZmluaXNoZWQKPgo+PiBhbmQgdGhlIGlyb25pYyB0aGluZyBpcyBJ IHdhbnQgdG8gYWxpdmUgYXMgd2VsbCAoZXNwZWNpYWxseSBDU0EsIFBUUikKPiBZZXMsIGFuZCBl eGFjdGx5IHRoYXQgaXMgdGhlIGRhbmdlciBJIHdhcyB0YWxraW5nIGFib3V0LiBXZSBtZXNzZWQg dXAgdGhlIHRlYXIgZG93biBvZGVyIHdpdGggdGhhdCBhbmQgdHJ5IHRvIGFjY2VzcyByZXNvdXJj ZXMgd2hpY2ggYXJlIGFscmVhZHkgZnJlZWQgd2hlbiB0aGUgam9iIGlzIG5vdyBzY2hlZHVsZWQu Cj4KPiBJIHdvdWxkIHJhdGhlciBzYXkgd2Ugc2hvdWxkIGdldCBjb21wbGV0ZWx5IHJpZCBvZiB0 aGUgY3R4IGtyZWYgY291bnRpbmcsIHRoYXQgd2FzIGEgcmF0aGVyIGJhZCBpZGVhIGluIHRoZSBm aXJzdCBwbGFjZS4KPgo+IFJlZ2FyZHMsCj4gQ2hyaXN0aWFuLgo+Cj4gQW0gMDMuMDUuMjAxNyB1 bSAxMTozNiBzY2hyaWViIExpdSwgTW9uazoKPj4gU2luY2UgSSBnZXQgb25lIG1vcmUga3JlZiBm b3IgY3R4IHdoZW4gY3JlYXRpbmcgam9icywgc28gYW1kZ3B1X2N0eF9tZ3JfZmluaSgmZnByaXYt PmN0eF9tZ3IpIGhlcmUgd29uJ3QgYWN0dWFsbHkgd2FpdGluZyAuLi4gYmVjYXVzZSB0aGUgIiBh bWRncHVfY3R4X2RvX3JlbGVhc2UiCj4+IFdvbid0IGdvaW5nIHRvIHJ1biAoa3JlZiA+IDAgYmVm b3JlIGFsbCBqb2Igc2lnbmFsZWQpLgo+Pgo+PiBUaGF0IHdheSBhbWRncHVfZHJpdmVyX3Bvc3Rj bG9zZV9rbXMoKSBjYW4gY29udGludWUgZ28gb24gLCBTbwo+PiBhY3R1YWxseSAiIFVWRCBhbmQg VkNFIGhhbmRsZSwgdGhlIFBSVCBWQXMsIHRoZSBDU0EgYW5kIGV2ZW4gdGhlIHdob2xlCj4+IFZN IHN0cnVjdHVyZSIgd29uJ3QgYmUga2VwdCBhbGl2ZSAsIGFuZCB0aGUgaXJvbmljIHRoaW5nIGlz IEkgd2FudCB0bwo+PiBhbGl2ZSBhcyB3ZWxsIChlc3BlY2lhbGx5IENTQSwgUFRSKQo+Pgo+Pgo+ PiBCUiBNb25rCj4+Cj4+Cj4+Cj4+Cj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4+IEZy b206IENocmlzdGlhbiBLw7ZuaWcgW21haWx0bzpkZWF0aHNpbXBsZUB2b2RhZm9uZS5kZV0KPj4g U2VudDogV2VkbmVzZGF5LCBNYXkgMDMsIDIwMTcgNToxOSBQTQo+PiBUbzogTGl1LCBNb25rIDxN b25rLkxpdUBhbWQuY29tPjsgYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gU3ViamVj dDogUmU6IFtQQVRDSCAxLzVdIGRybS9hbWRncHU6a2VlcCBjdHggYWxpdmUgdGlsbCBhbGwgam9i Cj4+IGZpbmlzaGVkCj4+Cj4+Pj4gSSdtIGFmcmFpZCBub3Q6ICBDU0EgaXMgZ29uZSB3aXRoIHRo ZSBWTSwgYW5kIFZNIGlzIGdvbmUgYWZ0ZXIgYXBwIGNsb3NlIG91ciBGRCwgSSBkb24ndCBzZWUg YW1kZ3B1X3ZtX2ZpbmkoKSBpcyBkZXBlbmRlZCBvbiBjb250ZXh0IGxpdmluZyBvciBub3QgLi4u Cj4+IFNlZSB0aGUgdGVhcmRvd24gb3JkZXIgaW4gYW1kZ3B1X2RyaXZlcl9wb3N0Y2xvc2Vfa21z KCk6Cj4+PiBhbWRncHVfY3R4X21ncl9maW5pKCZmcHJpdi0+Y3R4X21ncik7Cj4+Pgo+Pj4gICAg ICAgICAgIGFtZGdwdV91dmRfZnJlZV9oYW5kbGVzKGFkZXYsIGZpbGVfcHJpdik7Cj4+PiAgICAg ICAgICAgYW1kZ3B1X3ZjZV9mcmVlX2hhbmRsZXMoYWRldiwgZmlsZV9wcml2KTsKPj4+Cj4+PiAg ICAgICAgICAgYW1kZ3B1X3ZtX2JvX3JtdihhZGV2LCBmcHJpdi0+cHJ0X3ZhKTsKPj4+Cj4+PiAg ICAgICAgICAgaWYgKGFtZGdwdV9zcmlvdl92ZihhZGV2KSkgewo+Pj4gICAgICAgICAgICAgICAg ICAgLyogVE9ETzogaG93IHRvIGhhbmRsZSByZXNlcnZlIGZhaWx1cmUgKi8KPj4+ICAgICAgICAg ICAgICAgICAgIEJVR19PTihhbWRncHVfYm9fcmVzZXJ2ZShhZGV2LT52aXJ0LmNzYV9vYmosIGZh bHNlKSk7Cj4+PiAgICAgICAgICAgICAgICAgICBhbWRncHVfdm1fYm9fcm12KGFkZXYsIGZwcml2 LT52bS5jc2FfYm9fdmEpOwo+Pj4gICAgICAgICAgICAgICAgICAgZnByaXYtPnZtLmNzYV9ib192 YSA9IE5VTEw7Cj4+PiAgICAgICAgICAgICAgICAgICBhbWRncHVfYm9fdW5yZXNlcnZlKGFkZXYt PnZpcnQuY3NhX29iaik7Cj4+PiAgICAgICAgICAgfQo+Pj4KPj4+ICAgICAgICAgICBhbWRncHVf dm1fZmluaShhZGV2LCAmZnByaXYtPnZtKTsKPj4gYW1kZ3B1X2N0eF9tZ3JfZmluaSgpIHdhaXRz IGZvciBzY2hlZHVsaW5nIHRvIGZpbmlzaCBhbmQgcmVsZWFzZXMgYWxsIGNvbnRleHRzIG9mIHRo ZSBjdXJyZW50IGZkLgo+Pgo+PiBJZiB3ZSBkb24ndCByZWxlYXNlIHRoZSBjb250ZXh0IGhlcmUg YmVjYXVzZSBzb21lIGpvYnMgYXJlIHN0aWxsIGV4ZWN1dGVkIHdlIG5lZWQgdG8ga2VlcCB0aGUg VVZEIGFuZCBWQ0UgaGFuZGxlLCB0aGUgUFJUIFZBcywgdGhlIENTQSBhbmQgZXZlbiB0aGUgd2hv bGUgVk0gc3RydWN0dXJlIGFsaXZlLgo+Pgo+Pj4gSSdsbCBzZWUgaWYgZG1hX2ZlbmNlIGNvdWxk IHNvbHZlIG15IGlzc3VlLCBidXQgSSB3aXNoIHlvdSBjYW4gZ2l2ZQo+Pj4gbWUgeW91ciBkZXRh aWwgaWRlYQo+PiBQbGVhc2UgdGFrZSBhIGxvb2sgYXQgRGF2aWQncyBpZGVhIG9mIHVzaW5nIHRo ZSBmZW5jZV9jb250ZXh0IHRvIGZpbmQgd2hpY2ggam9icyBhbmQgZW50aXR5IHRvIHNraXAsIHRo YXQgaXMgZXZlbiBiZXR0ZXIgdGhhbiBtaW5lIGFib3V0IHRoZSBmZW5jZSBzdGF0dXMgYW5kIHNo b3VsZCBiZSB0cml2aWFsIHRvIGltcGxlbWVudCBiZWNhdXNlIGFsbCB0aGUgZGF0YSBpcyBhbHJl YWR5IHByZXNlbnQgd2UganVzdCBuZWVkIHRvIHVzZSBpdC4KPj4KPj4gUmVnYXJkcywKPj4gQ2hy aXN0aWFuLgo+Pgo+PiBBbSAwMy4wNS4yMDE3IHVtIDExOjA4IHNjaHJpZWIgTGl1LCBNb25rOgo+ Pj4gMSxNeSBpZGVhIGlzIHRoYXQgdXNlcnNwYWNlIHNob3VsZCByYXRoZXIgZ2F0aGVyIHRoZSBm ZWVkYmFjayBkdXJpbmcgdGhlIG5leHQgY29tbWFuZCBzdWJtaXNzaW9uLiBUaGlzIGhhcyB0aGUg YWR2YW50YWdlIHRoYXQgeW91IGRvbid0IG5lZWQgdG8ga2VlcCB1c2Vyc3BhY2UgYWxpdmUgdGls bCBhbGwgam9icyBhcmUgZG9uZS4KPj4+Cj4+Pj4gTm8sIHdlIG5lZWQgdG8gY2xlYW4gdGhlIGh3 IHJpbmcgKGNoZXJyeS1waWNrIG91dCBndWlsdHkgZW50aXRpZXMnIGpvYiBpbiBhbGwgcmluZ3Mp IGFmdGVyIGdwdSByZXNldCwgYW5kIHdlIG5lZWQgZmFja2x5IHNpZ25hbCBhbGwgc2NoZWRfZmVu Y2UgaW4gdGhlIGd1aXR5IGVudGl0eSBhcyB3ZWxsLCBhbmQgd2UgbmVlZCBtYXJrIGNvbnRleHQg YXMgZ3VpbHR5IHNvIHRoZSBuZXh0IElPQ1RMIG9uIGl0IHdpbGwgcmV0dXJuIC1FTk9ERVYuCj4+ Pj4gSSBkb24ndCB1bmRlcnN0YW5kIGhvdyB5b3VyIGlkZWEgY2FuIHNvbHZlIG15IHJlcXVlc3Qg Li4uCj4+PiAyLFlvdSBuZWVkIHRvIGtlZXAgcXVpdGUgYSBidW5jaCBvZiBzdHVmZiBhbGl2ZSAo Vk0sIENTQSkgd2hlbiB5b3UgZG9uJ3QgdGVhciBkb3duIHRoZSBjdHggaW1tZWRpYXRlbHkuCj4+ Pgo+Pj4+IEknbSBhZnJhaWQgbm90OiAgQ1NBIGlzIGdvbmUgd2l0aCB0aGUgVk0sIGFuZCBWTSBp cyBnb25lIGFmdGVyIGFwcCBjbG9zZSBvdXIgRkQsIEkgZG9uJ3Qgc2VlIGFtZGdwdV92bV9maW5p KCkgaXMgZGVwZW5kZWQgb24gY29udGV4dCBsaXZpbmcgb3Igbm90IC4uLgo+Pj4gMywgc3RydWN0 IGZlbmNlIHdhcyByZW5hbWVkIHRvIHN0cnVjdCBkbWFfZmVuY2Ugb24gbmV3ZXIga2VybmVscyBh bmQgYSBzdGF0dXMgZmllbGQgYWRkZWQgdG8gZXhhY3RseSB0aGlzIHB1cnBvc2UuCj4+Pgo+Pj4g VGhlIEludGVsIGd1eXMgZGlkIHRoaXMgYmVjYXVzZSB0aGV5IHJhbiBpbnRvIHRoZSBleGFjdGx5 IHNhbWUgcHJvYmxlbS4KPj4+Cj4+Pj4gSSdsbCBzZWUgaWYgZG1hX2ZlbmNlIGNvdWxkIHNvbHZl IG15IGlzc3VlLCBidXQgSSB3aXNoIHlvdSBjYW4gZ2l2ZQo+Pj4+IG1lIHlvdXIgZGV0YWlsIGlk ZWEKPj4+IEJSIE1vbmsKPj4+Cj4+Pgo+Pj4KPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t Cj4+PiBGcm9tOiBDaHJpc3RpYW4gS8O2bmlnIFttYWlsdG86ZGVhdGhzaW1wbGVAdm9kYWZvbmUu ZGVdCj4+PiBTZW50OiBXZWRuZXNkYXksIE1heSAwMywgMjAxNyA0OjU5IFBNCj4+PiBUbzogTGl1 LCBNb25rIDxNb25rLkxpdUBhbWQuY29tPjsgYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK Pj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMS81XSBkcm0vYW1kZ3B1OmtlZXAgY3R4IGFsaXZlIHRp bGwgYWxsIGpvYgo+Pj4gZmluaXNoZWQKPj4+Cj4+Pj4gMSwgVGhpcyBpcyBuZWNlc3Nhcnkgb3Ro ZXJ3aXNlIGhvdyBjYW4gSSBhY2Nlc3MgZW50aXR5IHBvaW50ZXIgYWZ0ZXIKPj4+PiBhIGpvYiB0 aW1lZG91dAo+Pj4gTm8gdGhhdCBpc24ndCBuZWNlc3NhcnkuCj4+Pgo+Pj4gVGhlIHByb2JsZW0g d2l0aCB5b3VyIGlkZWEgaXMgdGhhdCB5b3Ugd2FudCB0byBhY3RpdmVseSBwdXNoIHRoZQo+Pj4g ZmVlZGJhY2svc3RhdHVzIGZyb20gdGhlIGpvYiBleGVjdXRpb24gYmFjayB0byB1c2Vyc3BhY2Ug d2hlbiBhbgo+Pj4gZXJyb3IKPj4+ICh0aW1lb3V0KSBoYXBwZW5zLgo+Pj4KPj4+IE15IGlkZWEg aXMgdGhhdCB1c2Vyc3BhY2Ugc2hvdWxkIHJhdGhlciBnYXRoZXIgdGhlIGZlZWRiYWNrIGR1cmlu ZyB0aGUgbmV4dCBjb21tYW5kIHN1Ym1pc3Npb24uIFRoaXMgaGFzIHRoZSBhZHZhbnRhZ2UgdGhh dCB5b3UgZG9uJ3QgbmVlZCB0byBrZWVwIHVzZXJzcGFjZSBhbGl2ZSB0aWxsIGFsbCBqb2JzIGFy ZSBkb25lLgo+Pj4KPj4+PiAgICAgICwgYW5kIHdoeSBpdCBpcyBkYW5nZXJvdXMgPwo+Pj4gWW91 IG5lZWQgdG8ga2VlcCBxdWl0ZSBhIGJ1bmNoIG9mIHN0dWZmIGFsaXZlIChWTSwgQ1NBKSB3aGVu IHlvdSBkb24ndCB0ZWFyIGRvd24gdGhlIGN0eCBpbW1lZGlhdGVseS4KPj4+Cj4+PiBXZSBjb3Vs ZCBzcGxpdCBjdHggdGVhciBkb3duIGludG8gZnJlZWluZyB0aGUgcmVzb3VyY2VzIGFuZCBmcmVl aW5nIHRoZSBzdHJ1Y3R1cmUsIGJ1dCBJIHRoaW5rIGp1c3QgZ2F0aGVyaW5nIHRoZSBpbmZvcm1h dGlvbiBuZWVkZWQgb24gQ1MgaXMgZWFzaWVyIHRvIGRvLgo+Pj4KPj4+PiAyLCB3aGF0J3MgdGhl IHN0YXR1cyBmaWVsZCBpbiB0aGUgZmVuY2VzIHlvdSB3ZXJlIHJlZmVycmluZyB0byA/IEkKPj4+ PiBuZWVkIHRvIGp1ZGdlIGlmIGl0IGNvdWxkIHNhdGlzZnkgbXkgcmVxdWlyZW1lbnQKPj4+IHN0 cnVjdCBmZW5jZSB3YXMgcmVuYW1lZCB0byBzdHJ1Y3QgZG1hX2ZlbmNlIG9uIG5ld2VyIGtlcm5l bHMgYW5kIGEgc3RhdHVzIGZpZWxkIGFkZGVkIHRvIGV4YWN0bHkgdGhpcyBwdXJwb3NlLgo+Pj4K Pj4+IFRoZSBJbnRlbCBndXlzIGRpZCB0aGlzIGJlY2F1c2UgdGhleSByYW4gaW50byB0aGUgZXhh Y3RseSBzYW1lIHByb2JsZW0uCj4+Pgo+Pj4gUmVnYXJkcywKPj4+IENocmlzdGlhbi4KPj4+Cj4+ PiBBbSAwMy4wNS4yMDE3IHVtIDA1OjMwIHNjaHJpZWIgTGl1LCBNb25rOgo+Pj4+IDEsIFRoaXMg aXMgbmVjZXNzYXJ5IG90aGVyd2lzZSBob3cgY2FuIEkgYWNjZXNzIGVudGl0eSBwb2ludGVyIGFm dGVyIGEgam9iIHRpbWVkb3V0ICwgYW5kIHdoeSBpdCBpcyBkYW5nZXJvdXMgPwo+Pj4+IDIsIHdo YXQncyB0aGUgc3RhdHVzIGZpZWxkIGluIHRoZSBmZW5jZXMgeW91IHdlcmUgcmVmZXJyaW5nIHRv ID8gSQo+Pj4+IG5lZWQgdG8ganVkZ2UgaWYgaXQgY291bGQgc2F0aXNmeSBteSByZXF1aXJlbWVu dAo+Pj4+Cj4+Pj4KPj4+Pgo+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4+Pj4gRnJv bTogQ2hyaXN0aWFuIEvDtm5pZyBbbWFpbHRvOmRlYXRoc2ltcGxlQHZvZGFmb25lLmRlXQo+Pj4+ IFNlbnQ6IE1vbmRheSwgTWF5IDAxLCAyMDE3IDEwOjQ4IFBNCj4+Pj4gVG86IExpdSwgTW9uayA8 TW9uay5MaXVAYW1kLmNvbT47IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+Pj4gU3Vi amVjdDogUmU6IFtQQVRDSCAxLzVdIGRybS9hbWRncHU6a2VlcCBjdHggYWxpdmUgdGlsbCBhbGwg am9iCj4+Pj4gZmluaXNoZWQKPj4+Pgo+Pj4+IEFtIDAxLjA1LjIwMTcgdW0gMDk6MjIgc2Nocmll YiBNb25rIExpdToKPj4+Pj4gZm9yIFREUiBndWlsdHkgY29udGV4dCBmZWF0dXJlLCB3ZSBuZWVk IGFjY2VzcyBjdHgvc19lbnRpdHkgZmllbGQKPj4+Pj4gbWVtYmVyIHRocm91Z2ggc2NoZWQgam9i IHBvaW50ZXIsc28gY3R4IG11c3Qga2VlcCBhbGl2ZSB0aWxsIGFsbAo+Pj4+PiBqb2IgZnJvbSBp dCBzaWduYWxlZC4KPj4+PiBOQUssIHRoYXQgaXMgdW5uZWNlc3NhcnkgYW5kIHF1aXRlIGRhbmdl cm91cy4KPj4+Pgo+Pj4+IEluc3RlYWQgd2UgaGF2ZSB0aGUgZGVzaWduZWQgc3RhdHVzIGZpZWxk IGluIHRoZSBmZW5jZXMgd2hpY2ggc2hvdWxkIGJlIGNoZWNrZWQgZm9yIHRoYXQuCj4+Pj4KPj4+ PiBSZWdhcmRzLAo+Pj4+IENocmlzdGlhbi4KPj4+Pgo+Pj4+PiBDaGFuZ2UtSWQ6IEliODdlOTUw MmY3YTVjOGMwNTRjN2U1Njk1NmQ3ZjdhZDc1OTk4ZTQzCj4+Pj4+IFNpZ25lZC1vZmYtYnk6IE1v bmsgTGl1IDxNb25rLkxpdUBhbWQuY29tPgo+Pj4+PiAtLS0KPj4+Pj4gICAgICAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggICAgICAgICAgIHwgNiArKysrKy0KPj4+Pj4gICAg ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMgICAgICAgIHwgMiArLQo+ Pj4+PiAgICAgICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3R4LmMgICAgICAg fCA5ICsrKysrKysrKwo+Pj4+PiAgICAgICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfam9iLmMgICAgICAgfCA5ICsrKysrKystLQo+Pj4+PiAgICAgICBkcml2ZXJzL2dwdS9kcm0v YW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVyLmMgfCA2IC0tLS0tLQo+Pj4+PiAgICAgICBkcml2 ZXJzL2dwdS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVyLmggfCAxICsKPj4+Pj4gICAg ICAgNiBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKPj4+ Pj4KPj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5o Cj4+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPj4+Pj4gaW5kZXgg ZTMzMDAwOS4uOGUwMzFkNiAxMDA2NDQKPj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1LmgKPj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1LmgKPj4+Pj4gQEAgLTc2MCwxMCArNzYwLDEyIEBAIHN0cnVjdCBhbWRncHVfaWIgewo+Pj4+ PiAgICAgICAJdWludDMyX3QJCQlmbGFnczsKPj4+Pj4gICAgICAgfTsKPj4+Pj4gICAgICAgCj4+ Pj4+ICtzdHJ1Y3QgYW1kZ3B1X2N0eDsKPj4+Pj4gKwo+Pj4+PiAgICAgICBleHRlcm4gY29uc3Qg c3RydWN0IGFtZF9zY2hlZF9iYWNrZW5kX29wcyBhbWRncHVfc2NoZWRfb3BzOwo+Pj4+PiAgICAg ICAKPj4+Pj4gICAgICAgaW50IGFtZGdwdV9qb2JfYWxsb2Moc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYsIHVuc2lnbmVkIG51bV9pYnMsCj4+Pj4+IC0JCSAgICAgc3RydWN0IGFtZGdwdV9qb2Ig Kipqb2IsIHN0cnVjdCBhbWRncHVfdm0gKnZtKTsKPj4+Pj4gKwkJICAgICBzdHJ1Y3QgYW1kZ3B1 X2pvYiAqKmpvYiwgc3RydWN0IGFtZGdwdV92bSAqdm0sIHN0cnVjdAo+Pj4+PiArYW1kZ3B1X2N0 eCAqY3R4KTsKPj4+Pj4gICAgICAgaW50IGFtZGdwdV9qb2JfYWxsb2Nfd2l0aF9pYihzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwgdW5zaWduZWQgc2l6ZSwKPj4+Pj4gICAgICAgCQkJICAgICBz dHJ1Y3QgYW1kZ3B1X2pvYiAqKmpvYik7Cj4+Pj4+ICAgICAgIAo+Pj4+PiBAQCAtODAyLDYgKzgw NCw3IEBAIHN0cnVjdCBhbWRncHVfY3R4X21nciB7Cj4+Pj4+ICAgICAgIAo+Pj4+PiAgICAgICBz dHJ1Y3QgYW1kZ3B1X2N0eCAqYW1kZ3B1X2N0eF9nZXQoc3RydWN0IGFtZGdwdV9mcHJpdiAqZnBy aXYsIHVpbnQzMl90IGlkKTsKPj4+Pj4gICAgICAgaW50IGFtZGdwdV9jdHhfcHV0KHN0cnVjdCBh bWRncHVfY3R4ICpjdHgpOwo+Pj4+PiArc3RydWN0IGFtZGdwdV9jdHggKmFtZGdwdV9jdHhfa3Jl Zl9nZXQoc3RydWN0IGFtZGdwdV9jdHggKmN0eCk7Cj4+Pj4+ICAgICAgIAo+Pj4+PiAgICAgICB1 aW50NjRfdCBhbWRncHVfY3R4X2FkZF9mZW5jZShzdHJ1Y3QgYW1kZ3B1X2N0eCAqY3R4LCBzdHJ1 Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCj4+Pj4+ICAgICAgIAkJCSAgICAgIHN0cnVjdCBmZW5jZSAq ZmVuY2UpOyBAQCAtMTEyOSw2ICsxMTMyLDcgQEAgc3RydWN0Cj4+Pj4+IGFtZGdwdV9qb2Igewo+ Pj4+PiAgICAgICAJc3RydWN0IGFtZGdwdV9zeW5jCXN5bmM7Cj4+Pj4+ICAgICAgIAlzdHJ1Y3Qg YW1kZ3B1X2liCSppYnM7Cj4+Pj4+ICAgICAgIAlzdHJ1Y3QgZmVuY2UJCSpmZW5jZTsgLyogdGhl IGh3IGZlbmNlICovCj4+Pj4+ICsJc3RydWN0IGFtZGdwdV9jdHggKmN0eDsKPj4+Pj4gICAgICAg CXVpbnQzMl90CQlwcmVhbWJsZV9zdGF0dXM7Cj4+Pj4+ICAgICAgIAl1aW50MzJfdAkJbnVtX2li czsKPj4+Pj4gICAgICAgCXZvaWQJCQkqb3duZXI7Cj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+Pj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9jcy5jCj4+Pj4+IGluZGV4IDY5OWY1ZmUuLjI2N2ZiNjUgMTAwNjQ0 Cj4+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCj4+Pj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCj4+Pj4+IEBAIC0y MzQsNyArMjM0LDcgQEAgaW50IGFtZGdwdV9jc19wYXJzZXJfaW5pdChzdHJ1Y3QgYW1kZ3B1X2Nz X3BhcnNlciAqcCwgdm9pZCAqZGF0YSkKPj4+Pj4gICAgICAgCQl9Cj4+Pj4+ICAgICAgIAl9Cj4+ Pj4+ICAgICAgIAo+Pj4+PiAtCXJldCA9IGFtZGdwdV9qb2JfYWxsb2MocC0+YWRldiwgbnVtX2li cywgJnAtPmpvYiwgdm0pOwo+Pj4+PiArCXJldCA9IGFtZGdwdV9qb2JfYWxsb2MocC0+YWRldiwg bnVtX2licywgJnAtPmpvYiwgdm0sIHAtPmN0eCk7Cj4+Pj4+ICAgICAgIAlpZiAocmV0KQo+Pj4+ PiAgICAgICAJCWdvdG8gZnJlZV9hbGxfa2RhdGE7Cj4+Pj4+ICAgICAgIAo+Pj4+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2N0eC5jCj4+Pj4+IGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2N0eC5jCj4+Pj4+IGluZGV4IGI0YmJiYjMu LjgxNDM4YWYgMTAwNjQ0Cj4+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9jdHguYwo+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf Y3R4LmMKPj4+Pj4gQEAgLTI1LDYgKzI1LDEzIEBACj4+Pj4+ICAgICAgICNpbmNsdWRlIDxkcm0v ZHJtUC5oPgo+Pj4+PiAgICAgICAjaW5jbHVkZSAiYW1kZ3B1LmgiCj4+Pj4+ICAgICAgIAo+Pj4+ PiArc3RydWN0IGFtZGdwdV9jdHggKmFtZGdwdV9jdHhfa3JlZl9nZXQoc3RydWN0IGFtZGdwdV9j dHggKmN0eCkgewo+Pj4+PiArCWlmIChjdHgpCj4+Pj4+ICsJCWtyZWZfZ2V0KCZjdHgtPnJlZmNv dW50KTsKPj4+Pj4gKwlyZXR1cm4gY3R4Owo+Pj4+PiArfQo+Pj4+PiArCj4+Pj4+ICAgICAgIHN0 YXRpYyBpbnQgYW1kZ3B1X2N0eF9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1 Y3QgYW1kZ3B1X2N0eCAqY3R4KQo+Pj4+PiAgICAgICB7Cj4+Pj4+ICAgICAgIAl1bnNpZ25lZCBp LCBqOwo+Pj4+PiBAQCAtNTYsNiArNjMsOCBAQCBzdGF0aWMgaW50IGFtZGdwdV9jdHhfaW5pdChz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV9jdHggKmN0eCkKPj4+Pj4g ICAgICAgCQkJCQkgIHJxLCBhbWRncHVfc2NoZWRfam9icyk7Cj4+Pj4+ICAgICAgIAkJaWYgKHIp Cj4+Pj4+ICAgICAgIAkJCWdvdG8gZmFpbGVkOwo+Pj4+PiArCj4+Pj4+ICsJCWN0eC0+cmluZ3Nb aV0uZW50aXR5LnB0cl9ndWlsdHkgPSAmY3R4LT5ndWlsdHk7IC8qIGtlcm5lbCBlbnRpdHkKPj4+ Pj4gK2RvZXNuJ3QgaGF2ZSBwdHJfZ3VpbHR5ICovCj4+Pj4+ICAgICAgIAl9Cj4+Pj4+ICAgICAg IAo+Pj4+PiAgICAgICAJcmV0dXJuIDA7Cj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfam9iLmMKPj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfam9iLmMKPj4+Pj4gaW5kZXggNjkwZWYzZC4uMjA4ZGExMSAxMDA2NDQKPj4+ Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2pvYi5jCj4+Pj4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9qb2IuYwo+Pj4+PiBAQCAtNDAs NyArNDAsNyBAQCBzdGF0aWMgdm9pZCBhbWRncHVfam9iX3RpbWVkb3V0KHN0cnVjdCBhbWRfc2No ZWRfam9iICpzX2pvYikKPj4+Pj4gICAgICAgfQo+Pj4+PiAgICAgICAKPj4+Pj4gICAgICAgaW50 IGFtZGdwdV9qb2JfYWxsb2Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVkIG51 bV9pYnMsCj4+Pj4+IC0JCSAgICAgc3RydWN0IGFtZGdwdV9qb2IgKipqb2IsIHN0cnVjdCBhbWRn cHVfdm0gKnZtKQo+Pj4+PiArCQkgICAgIHN0cnVjdCBhbWRncHVfam9iICoqam9iLCBzdHJ1Y3Qg YW1kZ3B1X3ZtICp2bSwgc3RydWN0Cj4+Pj4+ICthbWRncHVfY3R4ICpjdHgpCj4+Pj4+ICAgICAg IHsKPj4+Pj4gICAgICAgCXNpemVfdCBzaXplID0gc2l6ZW9mKHN0cnVjdCBhbWRncHVfam9iKTsK Pj4+Pj4gICAgICAgCj4+Pj4+IEBAIC01Nyw2ICs1Nyw3IEBAIGludCBhbWRncHVfam9iX2FsbG9j KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1bnNpZ25lZCBudW1faWJzLAo+Pj4+PiAgICAg ICAJKCpqb2IpLT52bSA9IHZtOwo+Pj4+PiAgICAgICAJKCpqb2IpLT5pYnMgPSAodm9pZCAqKSYo KmpvYilbMV07Cj4+Pj4+ICAgICAgIAkoKmpvYiktPm51bV9pYnMgPSBudW1faWJzOwo+Pj4+PiAr CSgqam9iKS0+Y3R4ID0gYW1kZ3B1X2N0eF9rcmVmX2dldChjdHgpOwo+Pj4+PiAgICAgICAKPj4+ Pj4gICAgICAgCWFtZGdwdV9zeW5jX2NyZWF0ZSgmKCpqb2IpLT5zeW5jKTsKPj4+Pj4gICAgICAg Cj4+Pj4+IEBAIC02OCw3ICs2OSw3IEBAIGludCBhbWRncHVfam9iX2FsbG9jX3dpdGhfaWIoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVkIHNpemUsCj4+Pj4+ICAgICAgIHsKPj4+ Pj4gICAgICAgCWludCByOwo+Pj4+PiAgICAgICAKPj4+Pj4gLQlyID0gYW1kZ3B1X2pvYl9hbGxv YyhhZGV2LCAxLCBqb2IsIE5VTEwpOwo+Pj4+PiArCXIgPSBhbWRncHVfam9iX2FsbG9jKGFkZXYs IDEsIGpvYiwgTlVMTCwgTlVMTCk7Cj4+Pj4+ICAgICAgIAlpZiAocikKPj4+Pj4gICAgICAgCQly ZXR1cm4gcjsKPj4+Pj4gICAgICAgCj4+Pj4+IEBAIC05NCw2ICs5NSwxMCBAQCB2b2lkIGFtZGdw dV9qb2JfZnJlZV9yZXNvdXJjZXMoc3RydWN0IGFtZGdwdV9qb2IgKmpvYikKPj4+Pj4gICAgICAg c3RhdGljIHZvaWQgYW1kZ3B1X2pvYl9mcmVlX2NiKHN0cnVjdCBhbWRfc2NoZWRfam9iICpzX2pv YikKPj4+Pj4gICAgICAgewo+Pj4+PiAgICAgICAJc3RydWN0IGFtZGdwdV9qb2IgKmpvYiA9IGNv bnRhaW5lcl9vZihzX2pvYiwgc3RydWN0Cj4+Pj4+IGFtZGdwdV9qb2IsIGJhc2UpOwo+Pj4+PiAr CXN0cnVjdCBhbWRncHVfY3R4ICpjdHggPSBqb2ItPmN0eDsKPj4+Pj4gKwo+Pj4+PiArCWlmIChj dHgpCj4+Pj4+ICsJCWFtZGdwdV9jdHhfcHV0KGN0eCk7Cj4+Pj4+ICAgICAgIAo+Pj4+PiAgICAg ICAJZmVuY2VfcHV0KGpvYi0+ZmVuY2UpOwo+Pj4+PiAgICAgICAJYW1kZ3B1X3N5bmNfZnJlZSgm am9iLT5zeW5jKTsgZGlmZiAtLWdpdAo+Pj4+PiBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvc2NoZWR1 bGVyL2dwdV9zY2hlZHVsZXIuYwo+Pj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvc2NoZWR1bGVy L2dwdV9zY2hlZHVsZXIuYwo+Pj4+PiBpbmRleCA2ZjRlMzFmLi45MTAwY2E4IDEwMDY0NAo+Pj4+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVyLmMKPj4+ Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9zY2hlZHVsZXIvZ3B1X3NjaGVkdWxlci5jCj4+ Pj4+IEBAIC0yMDgsMTIgKzIwOCw2IEBAIHZvaWQgYW1kX3NjaGVkX2VudGl0eV9maW5pKHN0cnVj dCBhbWRfZ3B1X3NjaGVkdWxlciAqc2NoZWQsCj4+Pj4+ICAgICAgIAlpZiAoIWFtZF9zY2hlZF9l bnRpdHlfaXNfaW5pdGlhbGl6ZWQoc2NoZWQsIGVudGl0eSkpCj4+Pj4+ICAgICAgIAkJcmV0dXJu Owo+Pj4+PiAgICAgICAKPj4+Pj4gLQkvKioKPj4+Pj4gLQkgKiBUaGUgY2xpZW50IHdpbGwgbm90 IHF1ZXVlIG1vcmUgSUJzIGR1cmluZyB0aGlzIGZpbmksIGNvbnN1bWUgZXhpc3RpbmcKPj4+Pj4g LQkgKiBxdWV1ZWQgSUJzCj4+Pj4+IC0JKi8KPj4+Pj4gLQl3YWl0X2V2ZW50KHNjaGVkLT5qb2Jf c2NoZWR1bGVkLCBhbWRfc2NoZWRfZW50aXR5X2lzX2lkbGUoZW50aXR5KSk7Cj4+Pj4+IC0KPj4+ Pj4gICAgICAgCWFtZF9zY2hlZF9ycV9yZW1vdmVfZW50aXR5KHJxLCBlbnRpdHkpOwo+Pj4+PiAg ICAgICAJa2ZpZm9fZnJlZSgmZW50aXR5LT5qb2JfcXVldWUpOwo+Pj4+PiAgICAgICB9Cj4+Pj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVy LmgKPj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVyLmgK Pj4+Pj4gaW5kZXggOGNiNDFkMy4uY2NiYmNiMCAxMDA2NDQKPj4+Pj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9zY2hlZHVsZXIvZ3B1X3NjaGVkdWxlci5oCj4+Pj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvc2NoZWR1bGVyL2dwdV9zY2hlZHVsZXIuaAo+Pj4+PiBAQCAtNDksNiArNDks NyBAQCBzdHJ1Y3QgYW1kX3NjaGVkX2VudGl0eSB7Cj4+Pj4+ICAgICAgIAo+Pj4+PiAgICAgICAJ c3RydWN0IGZlbmNlCQkJKmRlcGVuZGVuY3k7Cj4+Pj4+ICAgICAgIAlzdHJ1Y3QgZmVuY2VfY2IJ CQljYjsKPj4+Pj4gKwlib29sICpwdHJfZ3VpbHR5Owo+Pj4+PiAgICAgICB9Owo+Pj4+PiAgICAg ICAKPj4+Pj4gICAgICAgLyoqCj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPj4+PiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+Pj4+IGFtZC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4+Pj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9hbWQtZ2Z4Cj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+Pj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QKPj4+IGFtZC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2FtZC1nZngKPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QKPj4gYW1kLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9hbWQtZ2Z4Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IGFtZC1nZnggbWFpbGluZyBsaXN0Cj4gYW1kLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2FtZC1nZngKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK