From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH v2 1/1] drm/amdgpu: Enable scatter gather display support Date: Thu, 12 Apr 2018 20:47:15 +0200 Message-ID: <18325399-d78e-2442-ccf4-55e30d9f5c52@amd.com> References: <1522189371-13767-1-git-send-email-Samuel.Li@amd.com> <7cc47f78-66eb-148d-96a2-b97760f767bf@gmail.com> <15196bc3-76cb-0a52-c05f-f23131f77e7f@amd.com> <20bdb4b1-1986-22e4-b0d1-1713b8794f83@amd.com> <277e44be-d618-ad29-06d2-ea12466571c9@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <277e44be-d618-ad29-06d2-ea12466571c9-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US 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: Samuel Li , Alexander.Deucher-5C7GfCeVMHo@public.gmane.org, Michel.Daenzer-5C7GfCeVMHo@public.gmane.org, =?UTF-8?B?TWFyZWsgT2zFocOhaw==?= Cc: amd-gfx mailing list UGF0Y2ggIzE6IEF2b2lkIHRoZSBoYXJkd2FyZSBidWchCgpFLmcuIGV2ZW4gd2hlbiB3ZSBhdm9p ZCBkaWZmZXJlbnQgcGxhY2VtZW50cyBpdCB3b3VsZCBiZSBnb29kIHRvIGhhdmUgYSAKcGF0Y2gg d2hpY2ggdHVybnMgb2ZmIGltbWVkaWF0ZSBmbGlwcGluZyB3aGVuIHN3aXRjaGluZyBmcm9tIFZS QU0gdG8gR1RULgoKVGhhdCBpcyBhcyBzYWZldHkgbmV0IGFuZCB0byBkb2N1bWVudCB0aGF0IHdl IG5lZWQgdG8gYXZvaWQgdGhpcyAKY29uZGl0aW9uIG9uIHRoZSBoYXJkd2FyZS4KClBhdGNoICMy OiBHbyBpbnRvIGFtZGdwdV9ib19waW5fcmVzdHJpY3RlZCgpIGFuZCBjaGFuZ2UgdGhlIHBpbm5p bmcgCnByZWZlcmVuY2UuCgpJbiBvdGhlciB3b3JkcyBhZGQgc29tZXRoaW5nIGxpa2UgdGhlIGZv bGxvd2luZzoKCmlmIChkb21haW4gJiBBTURHUFVfR0VNX0RPTUFJTl9HVFQgJiYgYm8tPnByZWZl cnJlZF9kb21haW5zICYgCkFNREdQVV9HRU1fRE9NQUlOX0dUVCkKIMKgwqDCoCBkb21haW4gPSBB TURHUFVfR0VNX0RPTUFJTl9HVFQ7CgpUaGF0IHNob3VsZCBiZSBldmVyeXRoaW5nIHdlIG5lZWQg aGVyZS4KClJlZ2FyZHMsCkNocmlzdGlhbi4KCkFtIDEyLjA0LjIwMTggdW0gMjA6MDcgc2Nocmll YiBTYW11ZWwgTGk6Cj4gUGxlYXNlIGNsYXJpZnksIENocmlzdGlhbi4gSG93IHdvdWxkIHlvdSBs aWtlIGl0IHRvIGJlIGltcGxlbWVudGVkPwo+Cj4gU2FtCj4KPgo+IE9uIDIwMTgtMDQtMTIgMDI6 MDAgUE0sIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4+PiAxKSBUdXJuIG9mZiBpbW1lZGlhdGUg bW9kZSB3aGVuIGZsaXBwaW5nIGJldHdlZW4gVlJBTS9HVFQuCj4+IFRoYXQgbXVzdCBiZSBpbXBs ZW1lbnRlZCBpbmRlcGVuZGVudGx5Lgo+Pgo+PiBTZWUgd29ya2luZyBhcm91bmQgdGhlIGhhcmR3 YXJlIGJ1ZyBzaG91bGQgYmUgYSBkaWZmZXJlbnQgcGF0Y2ggdGhhbiBpbXBsZW1lbnRpbmcgYSBw bGFjZW1lbnQgcG9saWN5Lgo+Pgo+Pj4gQXMgcGVyIGRpc2N1c3Npb24sIHRoZSAzcmQgb25lLCB3 aGljaCBpcyB0aGUgY3VycmVudCBwYXRjaCwgc2VlbXMgdGhlIGJlc3Qgc28gZmFyLgo+PiBBbmQg SSBjYW4gb25seSByZXBlYXQgbXlzZWxmLiBBbGV4IGFuZCBJIGFyZSB0aGUgbWFpbnRhaW5lcnMg b2YgdGhlIGtlcm5lbCBtb2R1bGUsIHNvIHdlIGFyZSB0aGUgb25lIHdobyBkZWNpZGUgb24gaG93 IHRvIGltcGxlbWVudCB0aGluZ3MgaGVyZS4KPj4KPj4gQW5kIHdlIGJvdGggbm90ZWQgdGhhdCB0 aGlzIGFwcHJvYWNoIG9mIG92ZXJyaWRpbmcgdXNlciBzcGFjZSBkZWNpc2lvbnMgaXMgbm90IGEg Z29vZCBkZXNpZ24uCj4+Cj4+IFRoZSBwbGFjZW1lbnQgcG9saWN5IEkgc3VnZ2VzdCBieSBwcmVm ZXJyaW5nIEdUVCBvdmVyIFZSQU0gb24gQVBVcyBzaG91bGQgYmUgdHJpdmlhbCB0byBpbXBsZW1l bnQgYW5kIGFzIGZhciBhcyBJIGNhbiBzZWUgYXZvaWRzIGFsbCBuZWdhdGl2ZSBzaWRlIGVmZmVj dHMuCj4+Cj4+IFJlZ2FyZHMsCj4+IENocmlzdGlhbi4KPj4KPj4gQW0gMTIuMDQuMjAxOCB1bSAx OToyMSBzY2hyaWViIFNhbXVlbCBMaToKPj4+PiBUaGUgcG9pbnQgaXMgdGhpcyBrZXJuZWwgY2hh bmdlIG5vdyBuZWVkcyB0byBiZSByZXdvcmtlZCBhbmQgYWRhcHRlZCB0byB3aGF0IE1lc2EgaXMg ZG9pbmcuCj4+PiBUaHJlZSBvcHRpb25zIGhhdmUgYmVlbiBicm91Z2h0IHVwIGZvciBrZXJuZWws Cj4+PiAxKSBUdXJuIG9mZiBpbW1lZGlhdGUgbW9kZSB3aGVuIGZsaXBwaW5nIGJldHdlZW4gVlJB TS9HVFQuCj4+PiAyKSBDaGVjayB0aGUgZG9tYWluIG9mIHRoZSBjdXJyZW50IGZiIGFuZCB0aGVu IGFkanVzdCB0aGUgbmV3IG9uZSBiZWZvcmUgcGlubmluZyBpdC4KPj4+IDMpIFVzZSBvbmx5IFZS QU0gb3IgR1RUIGRlcGVuZGluZyBvbiBhIHRocmVzaGhvbGQuCj4+Pgo+Pj4gQXMgcGVyIGRpc2N1 c3Npb24sIHRoZSAzcmQgb25lLCB3aGljaCBpcyB0aGUgY3VycmVudCBwYXRjaCwgc2VlbXMgdGhl IGJlc3Qgc28gZmFyLgo+Pj4KPj4+IFJlZ2FyZHMsCj4+PiBTYW11ZWwgTGkKPj4+Cj4+Pgo+Pj4K Pj4+IE9uIDIwMTgtMDQtMTIgMDE6MDMgUE0sIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4+Pj4+ IENhbiB5b3UgYmUgbW9yZSBzcGVjaWZpYywgQ2hyaXN0aWFuPyBNZXNhIGhhcyB0aGlzLCBJIGRv bid0IHRoaW5rIGl0IG5lZWRzIGFueXRoaW5nIGVsc2U6Cj4+Pj4gQ29tcGxldGVseSBhZ3JlZSwg dGhhdCdzIHdoYXQgSSBzdWdnZXN0ZWQgdG8gaW1wbGVtZW50Lgo+Pj4+Cj4+Pj4gVGhlIHBvaW50 IGlzIHRoaXMga2VybmVsIGNoYW5nZSBub3cgbmVlZHMgdG8gYmUgcmV3b3JrZWQgYW5kIGFkYXB0 ZWQgdG8gd2hhdCBNZXNhIGlzIGRvaW5nLgo+Pj4+Cj4+Pj4gUmVnYXJkcywKPj4+PiBDaHJpc3Rp YW4uCj4+Pj4KPj4+PiBBbSAxMi4wNC4yMDE4IHVtIDE4OjQwIHNjaHJpZWIgTWFyZWsgT2zFocOh azoKPj4+Pj4gQ2FuIHlvdSBiZSBtb3JlIHNwZWNpZmljLCBDaHJpc3RpYW4/IE1lc2EgaGFzIHRo aXMsIEkgZG9uJ3QgdGhpbmsgaXQgbmVlZHMgYW55dGhpbmcgZWxzZToKPj4+Pj4gaHR0cHM6Ly9j Z2l0LmZyZWVkZXNrdG9wLm9yZy9tZXNhL21lc2EvY29tbWl0Lz9pZD03ZDIwNzk5MDhkOWVmMDVl YzNmMzViNzA3ODgzM2U1Nzg0NmNhYjViCj4+Pj4+Cj4+Pj4+IE1hcmVrCj4+Pj4+Cj4+Pj4+IE9u IFdlZCwgTWFyIDI4LCAyMDE4IGF0IDM6NDYgQU0sIENocmlzdGlhbiBLw7ZuaWcgPGNrb2VuaWcu bGVpY2h0enVtZXJrZW5AZ21haWwuY29tIDxtYWlsdG86Y2tvZW5pZy5sZWljaHR6dW1lcmtlbkBn bWFpbC5jb20+PiB3cm90ZToKPj4+Pj4KPj4+Pj4gIMKgwqDCoMKgIEFtIDI4LjAzLjIwMTggdW0g MDA6MjIgc2NocmllYiBTYW11ZWwgTGk6Cj4+Pj4+Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIEl0 J3MgYXV0byBieSBkZWZhdWx0LiBGb3IgQ1ovU1QsIGF1dG8gc2V0dGluZyBlbmFibGVzIHNnIGRp c3BsYXkKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgd2hlbiB2cmFtIHNpemUgaXMgc21hbGw7IG90 aGVyd2lzZSBzdGlsbCB1c2VzIHZyYW0uCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIFRoaXMgcGF0 Y2ggZml4ZWQgc29tZSBwb3RlbnRpYWwgaGFuZyBpc3N1ZSBpbnRyb2R1Y2VkIGJ5IGNoYW5nZQo+ Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCAiYWxsb3cgZnJhbWVidWZmZXIgaW4gR0FSVCBtZW1vcnkg YXMgd2VsbCIgZHVlIHRvIENaL1NUIGhhcmR3YXJlCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIGxp bWl0YXRpb24uCj4+Pj4+Cj4+Pj4+Cj4+Pj4+ICDCoMKgwqDCoCBXZWxsIHRoYXQgaXMgc3RpbGwg YSBOQUsuCj4+Pj4+Cj4+Pj4+ICDCoMKgwqDCoCBBcyBkaXNjdXNzZWQgbm93IG11bHRpcGxlIHRp bWVzIHBsZWFzZSBpbXBsZW1lbnQgdGhlIG5lY2Vzc2FyeQo+Pj4+PiAgwqDCoMKgwqAgY2hhbmdl cyBpbiBNZXNhLgo+Pj4+Pgo+Pj4+PiAgwqDCoMKgwqAgUmVnYXJkcywKPj4+Pj4gIMKgwqDCoMKg IENocmlzdGlhbi4KPj4+Pj4KPj4+Pj4KPj4+Pj4KPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgdjI6 IENoYW5nZSBkZWZhdWx0IHNldHRpbmcgdG8gYXV0bywgYWxzbyBzb21lIG1pc2MgY2hhbmdlcy4K Pj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgU2lnbmVkLW9mZi1ieTogU2FtdWVsIExpIDxTYW11ZWwu TGlAYW1kLmNvbQo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCA8bWFpbHRvOlNhbXVlbC5MaUBhbWQu Y29tPj4KPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgLS0tCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKg IMKgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIMKgIMKgfMKgIDEgKwo+Pj4+ PiAgwqDCoMKgwqDCoMKgwqDCoCDCoCBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf ZGlzcGxheS5jIMKgIMKgfCAxMCArKysrKysrKy0tCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIMKg IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kaXNwbGF5LmggwqAgwqB8wqAgMiAr Kwo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCDCoCBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZHJ2LmMgwqAgwqB8wqAgNCArKysrCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIMKgIGRy aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mYi5jIMKgIHzCoCAyICsrCj4+Pj4+ICDC oMKgwqDCoMKgwqDCoMKgIMKgIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0v YW1kZ3B1X2RtLmMgfMKgIDMgKystCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIMKgIDYgZmlsZXMg Y2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPj4+Pj4KPj4+Pj4gIMKg wqDCoMKgwqDCoMKgwqAgZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdS5oCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1LmgKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgaW5kZXggYTdlMjIyOS4uYzk0MjM2 MiAxMDA2NDQKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1LmgKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgQEAgLTEy OSw2ICsxMjksNyBAQCBleHRlcm4gaW50IGFtZGdwdV9sYnB3Owo+Pj4+PiAgwqDCoMKgwqDCoMKg wqDCoCDCoCBleHRlcm4gaW50IGFtZGdwdV9jb21wdXRlX211bHRpcGlwZTsKPj4+Pj4gIMKgwqDC oMKgwqDCoMKgwqAgwqAgZXh0ZXJuIGludCBhbWRncHVfZ3B1X3JlY292ZXJ5Owo+Pj4+PiAgwqDC oMKgwqDCoMKgwqDCoCDCoCBleHRlcm4gaW50IGFtZGdwdV9lbXVfbW9kZTsKPj4+Pj4gIMKgwqDC oMKgwqDCoMKgwqAgK2V4dGVybiBpbnQgYW1kZ3B1X3NnX2Rpc3BsYXk7Cj4+Pj4+ICDCoMKgwqDC oMKgwqDCoMKgIMKgIMKgICNpZmRlZiBDT05GSUdfRFJNX0FNREdQVV9TSQo+Pj4+PiAgwqDCoMKg wqDCoMKgwqDCoCDCoCBleHRlcm4gaW50IGFtZGdwdV9zaV9zdXBwb3J0Owo+Pj4+PiAgwqDCoMKg wqDCoMKgwqDCoCBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2Rpc3BsYXkuYwo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9kaXNwbGF5LmMKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgaW5kZXggNTQ5 NWIyOS4uMWU3Yjk1MCAxMDA2NDQKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rpc3BsYXkuYwo+Pj4+PiAgwqDCoMKgwqDCoMKg wqDCoCArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGlzcGxheS5jCj4+ Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIEBAIC01MTMsOCArNTEzLDE0IEBAIHVpbnQzMl90Cj4+Pj4+ ICDCoMKgwqDCoMKgwqDCoMKgIGFtZGdwdV9kaXNwbGF5X2ZyYW1lYnVmZmVyX2RvbWFpbnMoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIMKgICNpZiBk ZWZpbmVkKENPTkZJR19EUk1fQU1EX0RDKQo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCDCoCDCoCDC oCDCoCBpZiAoYWRldi0+YXNpY190eXBlID49IENISVBfQ0FSUklaTyAmJiBhZGV2LT5hc2ljX3R5 cGUKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgPCBDSElQX1JBVkVOICYmCj4+Pj4+ICDCoMKgwqDC oMKgwqDCoMKgIMKgIMKgIMKgIMKgIMKgIMKgIGFkZXYtPmZsYWdzICYgQU1EX0lTX0FQVSAmJgo+ Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCAtwqAgwqAgwqAgwqAgwqAgwqBhbWRncHVfZGV2aWNlX2Fz aWNfaGFzX2RjX3N1cHBvcnQoYWRldi0+YXNpY190eXBlKSkKPj4+Pj4gIMKgwqDCoMKgwqDCoMKg wqAgLcKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgZG9tYWluIHw9IEFNREdQVV9HRU1fRE9NQUlOX0dU VDsKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgK8KgIMKgIMKgIMKgIMKgIMKgYW1kZ3B1X2Rldmlj ZV9hc2ljX2hhc19kY19zdXBwb3J0KGFkZXYtPmFzaWNfdHlwZSkpIHsKPj4+Pj4gIMKgwqDCoMKg wqDCoMKgwqAgK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgaWYgKGFtZGdwdV9zZ19kaXNwbGF5ID09 IDEpCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgICvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoGRvbWFpbiA9IEFNREdQVV9HRU1fRE9NQUlOX0dUVDsKPj4+Pj4gIMKgwqDCoMKgwqDC oMKgwqAgK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgZWxzZSBpZiAoYW1kZ3B1X3NnX2Rpc3BsYXkg PT0gLTEpIHsKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgaWYgKGFkZXYtPmdtYy5yZWFsX3ZyYW1fc2l6ZSA8Cj4+Pj4+ICDCoMKgwqDC oMKgwqDCoMKgIEFNREdQVV9TR19USFJFU0hPTEQpCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgICvC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGRvbWFpbiA9IEFN REdQVV9HRU1fRE9NQUlOX0dUVDsKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgK8KgIMKgIMKgIMKg IMKgIMKgIMKgIMKgfQo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCArwqAgwqAgwqAgwqB9Cj4+Pj4+ ICDCoMKgwqDCoMKgwqDCoMKgIMKgICNlbmRpZgo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCDCoCDC oCDCoCDCoCByZXR1cm4gZG9tYWluOwo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rpc3BsYXkuaAo+Pj4+PiAgwqDC oMKgwqDCoMKgwqDCoCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kaXNwbGF5 LmgKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgaW5kZXggMmIxMWQ4MC4uMmIyNTM5MyAxMDA2NDQK Pj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2Rpc3BsYXkuaAo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCArKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGlzcGxheS5oCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKg IEBAIC0yMyw2ICsyMyw4IEBACj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIMKgICNpZm5kZWYgX19B TURHUFVfRElTUExBWV9IX18KPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgwqAgI2RlZmluZSBfX0FN REdQVV9ESVNQTEFZX0hfXwo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCDCoCArI2RlZmluZSBBTURH UFVfU0dfVEhSRVNIT0xEwqAgKDI1NioxMDI0KjEwMjQpCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKg ICsKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgwqAgdWludDMyX3QgYW1kZ3B1X2Rpc3BsYXlfZnJh bWVidWZmZXJfZG9tYWlucyhzdHJ1Y3QKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgYW1kZ3B1X2Rl dmljZSAqYWRldik7Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIMKgIHN0cnVjdCBkcm1fZnJhbWVi dWZmZXIgKgo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCDCoCBhbWRncHVfZGlzcGxheV91c2VyX2Zy YW1lYnVmZmVyX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4+PiAgwqDCoMKgwqDC oMKgwqDCoCBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Ry di5jCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2Rydi5jCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIGluZGV4IDFiZmNlNzkuLjE5ZjEx YTUgMTAwNjQ0Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9kcnYuYwo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCArKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKPj4+Pj4gIMKgwqDCoMKgwqDCoMKg wqAgQEAgLTEzMiw2ICsxMzIsNyBAQCBpbnQgYW1kZ3B1X2xicHcgPSAtMTsKPj4+Pj4gIMKgwqDC oMKgwqDCoMKgwqAgwqAgaW50IGFtZGdwdV9jb21wdXRlX211bHRpcGlwZSA9IC0xOwo+Pj4+PiAg wqDCoMKgwqDCoMKgwqDCoCDCoCBpbnQgYW1kZ3B1X2dwdV9yZWNvdmVyeSA9IC0xOyAvKiBhdXRv ICovCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIMKgIGludCBhbWRncHVfZW11X21vZGUgPSAwOwo+ Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCAraW50IGFtZGdwdV9zZ19kaXNwbGF5ID0gLTE7Cj4+Pj4+ ICDCoMKgwqDCoMKgwqDCoMKgIMKgIMKgIE1PRFVMRV9QQVJNX0RFU0ModnJhbWxpbWl0LCAiUmVz dHJpY3QgVlJBTSBmb3IgdGVzdGluZywgaW4KPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgbWVnYWJ5 dGVzIik7Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIMKgIG1vZHVsZV9wYXJhbV9uYW1lZCh2cmFt bGltaXQsIGFtZGdwdV92cmFtX2xpbWl0LCBpbnQsIDA2MDApOwo+Pj4+PiAgwqDCoMKgwqDCoMKg wqDCoCBAQCAtMjkwLDYgKzI5MSw5IEBAIG1vZHVsZV9wYXJhbV9uYW1lZChncHVfcmVjb3Zlcnks Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIGFtZGdwdV9ncHVfcmVjb3ZlcnksIGludCwgMDQ0NCk7 Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIMKgIE1PRFVMRV9QQVJNX0RFU0MoZW11X21vZGUsICJF bXVsYXRpb24gbW9kZSwgKDEgPSBlbmFibGUsIDAgPQo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCBk aXNhYmxlKSIpOwo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCDCoCBtb2R1bGVfcGFyYW1fbmFtZWQo ZW11X21vZGUsIGFtZGdwdV9lbXVfbW9kZSwgaW50LCAwNDQ0KTsKPj4+Pj4gIMKgwqDCoMKgwqDC oMKgwqAgwqAgK01PRFVMRV9QQVJNX0RFU0Moc2dfZGlzcGxheSwgIkVuYWJsZSBzY2F0dGVyIGdh dGhlcgo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCBkaXNwbGF5LCAoMSA9IGVuYWJsZSwgMCA9IGRp c2FibGUsIC0xID0gYXV0byIpOwo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCArbW9kdWxlX3BhcmFt X25hbWVkKHNnX2Rpc3BsYXksIGFtZGdwdV9zZ19kaXNwbGF5LCBpbnQsIDA0NDQpOwo+Pj4+PiAg wqDCoMKgwqDCoMKgwqDCoCArCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIMKgICNpZmRlZiBDT05G SUdfRFJNX0FNREdQVV9TSQo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCDCoCDCoCAjaWYgZGVmaW5l ZChDT05GSUdfRFJNX1JBREVPTikgfHwKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgZGVmaW5lZChD T05GSUdfRFJNX1JBREVPTl9NT0RVTEUpCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmIuYwo+Pj4+PiAgwqDCoMKg wqDCoMKgwqDCoCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mYi5jCj4+Pj4+ ICDCoMKgwqDCoMKgwqDCoMKgIGluZGV4IDEyMDYzMDEuLmY1N2MzNTUgMTAwNjQ0Cj4+Pj4+ICDC oMKgwqDCoMKgwqDCoMKgIC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9m Yi5jCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9mYi5jCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIEBAIC0xMzgsNiArMTM4LDgg QEAgc3RhdGljIGludAo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCBhbWRncHVmYl9jcmVhdGVfcGlu bmVkX29iamVjdChzdHJ1Y3QgYW1kZ3B1X2ZiZGV2ICpyZmJkZXYsCj4+Pj4+ICDCoMKgwqDCoMKg wqDCoMKgIMKgIMKgIMKgIMKgIG1vZGVfY21kLT5waXRjaGVzWzBdID0gYW1kZ3B1X2FsaWduX3Bp dGNoKGFkZXYsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIG1vZGVfY21kLT53aWR0aCwgY3BwLAo+ Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCBmYl90aWxlZCk7Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKg IMKgIMKgIMKgIMKgIGRvbWFpbiA9IGFtZGdwdV9kaXNwbGF5X2ZyYW1lYnVmZmVyX2RvbWFpbnMo YWRldik7Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgICvCoCDCoCDCoCDCoGlmIChkb21haW4gJiBB TURHUFVfR0VNX0RPTUFJTl9HVFQpCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgICvCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoERSTV9ERUJVR19EUklWRVIoIlNjYXR0ZXIgZ2F0aGVyIGRpc3BsYXk6Cj4+ Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIGVuYWJsZWRcbiIpOwo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDC oCDCoCDCoCDCoCDCoCBoZWlnaHQgPSBBTElHTihtb2RlX2NtZC0+aGVpZ2h0LCA4KTsKPj4+Pj4g IMKgwqDCoMKgwqDCoMKgwqAgwqAgwqAgwqAgwqAgc2l6ZSA9IG1vZGVfY21kLT5waXRjaGVzWzBd ICogaGVpZ2h0Owo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYwo+Pj4+PiAgwqDCoMKgwqDC oMKgwqDCoCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2Rt LmMKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgaW5kZXggNjhhYjMyNS4uN2U5ZjI0NyAxMDA2NDQK Pj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2FtZGdwdV9kbS9hbWRncHVfZG0uYwo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCArKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCj4+Pj4+ICDCoMKg wqDCoMKgwqDCoMKgIEBAIC0zMDc0LDcgKzMwNzQsOCBAQCBzdGF0aWMgaW50Cj4+Pj4+ICDCoMKg wqDCoMKgwqDCoMKgIGRtX3BsYW5lX2hlbHBlcl9wcmVwYXJlX2ZiKHN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lLAo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBk b21haW4gPSBBTURHUFVfR0VNX0RPTUFJTl9WUkFNOwo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCDC oCDCoCDCoCDCoCByID0gYW1kZ3B1X2JvX3BpbihyYm8sIGRvbWFpbiwgJmFmYi0+YWRkcmVzcyk7 Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIC0KPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgK8KgIMKg IMKgIMKgcmJvLT5wcmVmZXJyZWRfZG9tYWlucyA9IGRvbWFpbjsKPj4+Pj4gIMKgwqDCoMKgwqDC oMKgwqAgK8KgIMKgIMKgIMKgcmJvLT5hbGxvd2VkX2RvbWFpbnMgPSBkb21haW47Cj4+Pj4+ICDC oMKgwqDCoMKgwqDCoMKgIMKgIMKgIMKgIMKgIGFtZGdwdV9ib191bnJlc2VydmUocmJvKTsKPj4+ Pj4gIMKgwqDCoMKgwqDCoMKgwqAgwqAgwqAgwqAgwqAgaWYgKHVubGlrZWx5KHIgIT0gMCkpIHsK Pj4+Pj4KPj4+Pj4KPj4+Pj4gIMKgwqDCoMKgIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4+Pj4+ICDCoMKgwqDCoCBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+ Pj4+PiAgwqDCoMKgwqAgYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcgPG1haWx0bzphbWQt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4KPj4+Pj4gIMKgwqDCoMKgIGh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo+Pj4+PiAgwqDCoMKgwqAg PGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeD4K Pj4+Pj4KPj4+Pj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=