From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH] amdgpu/dc: Use DRM new-style object iterators. Date: Thu, 12 Oct 2017 08:00:24 +0200 Message-ID: References: <1507731880-5843-1-git-send-email-sunpeng.li@amd.com> <7dbcabe8-d3de-7cfa-1e4d-b61be746f0cd@linux.intel.com> <2b80ac05-111f-02c7-067a-50b73c5cf3c1@linux.intel.com> <7dca3262-5210-67f9-8e68-2f229ef4df51@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <7dca3262-5210-67f9-8e68-2f229ef4df51@amd.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Harry Wentland , Leo , airlied@gmail.com, amd-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org List-Id: amd-gfx.lists.freedesktop.org T3AgMTEtMTAtMTcgb20gMjI6NDAgc2NocmVlZiBIYXJyeSBXZW50bGFuZDoKPiBPbiAyMDE3LTEw LTExIDAzOjQ2IFBNLCBNYWFydGVuIExhbmtob3JzdCB3cm90ZToKPj4gT3AgMTEtMTAtMTcgb20g MjA6NTUgc2NocmVlZiBMZW86Cj4+Pgo+Pj4gT24gMjAxNy0xMC0xMSAxMDozMCBBTSwgTWFhcnRl biBMYW5raG9yc3Qgd3JvdGU6Cj4+Pj4gT3AgMTEtMTAtMTcgb20gMTY6MjQgc2NocmVlZiBzdW5w ZW5nLmxpQGFtZC5jb206Cj4+Pj4+IEZyb206ICJMZW8gKFN1bnBlbmcpIExpIiA8c3VucGVuZy5s aUBhbWQuY29tPgo+Pj4+Pgo+Pj4+PiBVc2UgdGhlIGNvcnJlY3QgZm9yX2VhY2hfbmV3L29sZF8q IGl0ZXJhdG9ycyBpbnN0ZWFkIG9mIGZvcl9lYWNoXyoKPj4+Pj4KPj4+Pj4gTGlzdCBvZiBhZmZl Y3RlZCBmdW5jdGlvbnM6Cj4+Pj4+Cj4+Pj4+IGFtZGdwdV9kbV9maW5kX2ZpcnN0X2NydGNfbWF0 Y2hpbmdfY29ubmVjdG9yOiB1c2UgZm9yX2VhY2hfbmV3Cj4+Pj4+ICAgICAgLSBPbGQgZnJvbV9z dGF0ZV92YXIgZmxhZyB3YXMgYWx3YXlzIGNob29zaW5nIHRoZSBuZXcgc3RhdGUKPj4+Pj4KPj4+ Pj4gYW1kZ3B1X2RtX2Rpc3BsYXlfcmVzdW1lOiB1c2UgZm9yX2VhY2hfbmV3Cj4+Pj4+ICAgICAg LSBkcm1fYXRvbWljX2hlbHBlcl9kdXBsaWNhdGVfc3RhdGUgaXMgY2FsbGVkIGR1cmluZyBzdXNw ZW5kIHRvCj4+Pj4+ICAgICAgICBjYWNoZSB0aGUgc3RhdGUKPj4+Pj4gICAgICAtIEl0IHNldHMg J3N0YXRlJyB3aXRoaW4gdGhlIHN0YXRlIHRyaXBsZXQgdG8gJ25ld19zdGF0ZScKPj4+Pj4KPj4+ Pj4gYW1kZ3B1X2RtX2NvbW1pdF9wbGFuZXM6IHVzZSBmb3JfZWFjaF9vbGQKPj4+Pj4gICAgICAt IENhbGxlZCBhZnRlciB0aGUgc3RhdGUgd2FzIHN3YXBwZWQgKHZpYSBhdG9taWMgY29tbWl0IHRh aWwpCj4+Pj4+Cj4+Pj4+IGFtZGdwdV9kbV9hdG9taWNfY29tbWl0OiB1c2UgZm9yX2VhY2hfbmV3 Cj4+Pj4+ICAgICAgLSBDYWxsZWQgYmVmb3JlIHRoZSBzdGF0ZSBpcyBzd2FwcGVkCj4+Pj4+Cj4+ Pj4+IGFtZGdwdV9kbV9hdG9taWNfY29tbWl0X3RhaWw6IHVzZSBmb3JfZWFjaF9vbGQKPj4+Pj4g ICAgICAtIENhbGxlZCBhZnRlciB0aGUgc3RhdGUgd2FzIHN3YXBwZWQKPj4+Pj4KPj4+Pj4gZG1f dXBkYXRlX2NydGNzX3N0YXRlOiB1c2UgZm9yX2VhY2hfbmV3Cj4+Pj4+ICAgICAgLSBDYWxsZWQg YmVmb3JlIHRoZSBzdGF0ZSBpcyBzd2FwcGVkICh2aWEgYXRvbWljIGNoZWNrKQo+Pj4+Pgo+Pj4+ PiBhbWRncHVfZG1fYXRvbWljX2NoZWNrOiB1c2UgZm9yX2VhY2hfbmV3Cj4+Pj4+ICAgICAgLSBD YWxsZWQgYmVmb3JlIHRoZSBzdGF0ZSBpcyBzd2FwcGVkCj4+Pj4+Cj4+Pj4+IEFsc28gZml4IHNv bWUgdHlwb3MuCj4+Pj4+Cj4+Pj4+IGNyY3QgLT4gY3J0Ywo+Pj4+PiB1bmRlcnNhY24gLT4gdW5k ZXJzY2FuCj4+Pj4+Cj4+Pj4+IFNpZ25lZC1vZmYtYnk6IExlbyAoU3VucGVuZykgTGkgPHN1bnBl bmcubGlAYW1kLmNvbT4KPj4+Pj4gLS0tCj4+Pj4+Cj4+Pj4+IEhpIERhdmUsCj4+Pj4+Cj4+Pj4+ IFRoaXMgcGF0Y2ggZ29lcyBvbiB0b3Agb2YgeW91ciBmaXh1cCBmb3IgbmV3IGFwaSdzIHBhdGNo LiBQbGVhc2UgZmVlbAo+Pj4+PiBmcmVlIHRvIHNxdWFzaCB0aGVtLgo+Pj4+Pgo+Pj4+PiBUaGFu a3MsCj4+Pj4+IExlbwo+Pj4+Pgo+Pj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9h bWRncHVfZG0vYW1kZ3B1X2RtLmMgfCAzOCArKysrKysrKystLS0tLS0tLS0tLS0tLQo+Pj4+PiAg IGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmggfCAgNSAr Ky0KPj4+Pj4gICAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9u cygtKQo+Pj4+Pgo+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2FtZGdwdV9kbS9hbWRncHVfZG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRn cHVfZG0vYW1kZ3B1X2RtLmMKPj4+Pj4gaW5kZXggOWJmZTFmOS4uOTM5NDU1OCAxMDA2NDQKPj4+ Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0u Ywo+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdw dV9kbS5jCj4+Pj4+IEBAIC01NjgsMjUgKzU2OCwxNyBAQCBzdGF0aWMgaW50IGRtX3N1c3BlbmQo dm9pZCAqaGFuZGxlKQo+Pj4+PiAgICAgICByZXR1cm4gcmV0Owo+Pj4+PiAgIH0KPj4+Pj4gICAt c3RydWN0IGFtZGdwdV9kbV9jb25uZWN0b3IgKmFtZGdwdV9kbV9maW5kX2ZpcnN0X2NyY3RfbWF0 Y2hpbmdfY29ubmVjdG9yKAo+Pj4+PiArc3RydWN0IGFtZGdwdV9kbV9jb25uZWN0b3IgKmFtZGdw dV9kbV9maW5kX2ZpcnN0X2NydGNfbWF0Y2hpbmdfY29ubmVjdG9yKAo+Pj4+PiAgICAgICBzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4+Pj4+IC0gICAgc3RydWN0IGRybV9jcnRjICpj cnRjLAo+Pj4+PiAtICAgIGJvb2wgZnJvbV9zdGF0ZV92YXIpCj4+Pj4+ICsgICAgc3RydWN0IGRy bV9jcnRjICpjcnRjKQo+Pj4+PiAgIHsKPj4+Pj4gICAgICAgdWludDMyX3QgaTsKPj4+Pj4gICAg ICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGU7Cj4+Pj4+ICAgICAgIHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7Cj4+Pj4+ICAgICAgIHN0cnVjdCBkcm1fY3J0 YyAqY3J0Y19mcm9tX3N0YXRlOwo+Pj4+PiAgIC0gICAgZm9yX2VhY2hfbmV3X2Nvbm5lY3Rvcl9p bl9zdGF0ZSgKPj4+Pj4gLSAgICAgICAgc3RhdGUsCj4+Pj4+IC0gICAgICAgIGNvbm5lY3RvciwK Pj4+Pj4gLSAgICAgICAgY29ubl9zdGF0ZSwKPj4+Pj4gLSAgICAgICAgaSkgewo+Pj4+PiAtICAg ICAgICBjcnRjX2Zyb21fc3RhdGUgPQo+Pj4+PiAtICAgICAgICAgICAgZnJvbV9zdGF0ZV92YXIg Pwo+Pj4+PiAtICAgICAgICAgICAgICAgIGNvbm5fc3RhdGUtPmNydGMgOgo+Pj4+PiAtICAgICAg ICAgICAgICAgIGNvbm5lY3Rvci0+c3RhdGUtPmNydGM7Cj4+Pj4+ICsgICAgZm9yX2VhY2hfbmV3 X2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBjb25uX3N0YXRlLCBpKSB7Cj4+ Pj4+ICsgICAgICAgIGNydGNfZnJvbV9zdGF0ZSA9IGNvbm5fc3RhdGUtPmNydGM7Cj4+Pj4gUGxl YXNlIGFzc2lnbiBjcnRjX2Zyb21fc3RhdGUgaGVyZSB3aXRoIGRybV9hdG9taWNfZ2V0XyhuZXcv b2xkKV9jcnRjX3N0YXRlLgo+Pj4gV2UncmUgdHJ5aW5nIHRvIGZldGNoIGEgZHJtX2NydGMgZnJv bSBhIGRybV9jb25uZWN0b3Jfc3RhdGUsIEkgZG9uJ3QgdGhpbmsgdGhlIHN0YXRlIGdldHRlcnMg YXJlIGFwcGxpY2FibGUgaGVyZS4KPj4+Cj4+PiBBbHNvLCB0aGUgZnVuY3Rpb24gc2hvdWxkIHJl YWxseSBiZSBuYW1lZCAnZmluZF9maXJzdF9jb25uZWN0b3JfbWF0Y2hpbmdfY3J0YycuIEknbGwg Zml4IHRoYXQuCj4+IE9oIEkgbWlzdW5kZXJzdG9vZC4gQnV0IGluIGdlbmVyYWwgZGVyZWZlbmNp bmcgJG9iai0+c3RhdGUgc2hvdWxkIGJlIGZyb3duZWQgdXBvbi4gSWYgeW91IGV2ZXIgd2FudCB0 byBzdXBwb3J0IGF0b21pYyBmbGlwIGRlcHRoID4gMSwKPj4gYWxsIHRob3NlIHJlZmVyZW5jZXMg c2hvdWxkIGJlIGdvbmUgZnJvbSB5b3VyIGRyaXZlciwgYW5kIHJlcGxhY2VkIHdpdGggZ2V0X29s ZC9uZXdfc3RhdGUuLgo+IElmIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHkgdGhpcyBpcyB0aGUgZm9y d2FyZC1sb29raW5nIHdheSBvZiBob3cgd2UgZ2V0IHRoZQo+IHN0YXRlIG5vdz8gSSBzdGlsbCBz ZWUgcGxlbnR5IG9mICRvYmotPnN0YXRlIGluIGk5MTUgYW5kIG90aGVyIGRyaXZlcnMuCj4KPiBB bnkgb2JqZWN0aW9ucyB0byBkb2luZyB0aGlzIGFzIGEgZm9sbG93LXVwIHBhdGNoPwo+Cj4gV2hh dCdzIGF0b21pYyBmbGlwIGRlcHRoID4gMT8KClRoYXQgd2UgYWxsb3cgbXVsdGlwbGUgdW5jb21w bGV0ZWQgbm9uYmxvY2tpbmcgYXRvbWljIGNvbW1pdHMgdG8gdGhlIHNhbWUgY3J0YywKd2hpY2gg cmVxdWlyZXMgdGhhdCBkdXJpbmcgY29tbWl0LCAkb2JqLT5zdGF0ZSBpcyBub3QgdGhlIHNhbWUg YXMKbmV3XyRvYmpfc3RhdGUgYW55IG1vcmUuIEl0IGNhbiBiZSBzZXQgdG8gYW4gZXZlbiBuZXdl ciBzdGF0ZSwgYnV0IHRoZSBjdXJyZW50CmNvbW1pdCBoYXMgdG8gc2V0IHRoZSBzdGF0ZSB0aGF0 IGlzIGluIHN0YXRlLT4kb2JqW2ldLm5ld19zdGF0ZS4gVGhpcyBjYW4gYmUKb2J0YWluZWQgd2l0 aCBlaXRoZXIgdGhlIGl0ZXJhdG9ycywgb3IgZHJtX2F0b21pY19nZXRfbmV3XyRvYmpfc3RhdGUu CgpUaGlzIGlzIHdoeSB3ZSB3ZSBnb3QgcmlkIG9mIHRoZSBvbGQgaXRlcmF0b3JzLCBnZXRfZXhp c3Rpbmdfc3RhdGUgYW5kICRvYmotPnN0YXRlCndlcmUgbm8gbG9uZ2VyIHN1ZmZpY2llbnQgZm9y IHRoaXMuCgpVc2luZyBkcm1fYXRvbWljX2dldF9vbGQvbmV3X29ial9zdGF0ZSBzaG91bGQgYmUg YSBzZXBhcmF0ZSBwYXRjaCwgYnV0IGNhbiBiZSBmaXhlZApvcHBvcnR1bmlzdGljYWxseS4KCkJ1 dCBzb21ldGhpbmcgbGlrZQoKZm9yX2VhY2hfb2xkX2NydGNfaW5fc3RhdGUoLi4uKSB7CgluZXdf Y3J0Y19zdGF0ZSA9IGNydGMtPnN0YXRlCgoJLi4uLgp9CgpzaG91bGQgZGVmaW5pdGVseSBiZSBm aXhlZCBpbiB0aGlzIHBhdGNoLiBJdCdzIHdoYXQgdGhlIGl0ZXJhdG9ycyBhcmUgZm9yLiA6KQoK SSBrbm93IGk5MTUgaXMgc3RpbGwgZGVyZWZlcmVuY2luZyAkb2JqLT5zdGF0ZSwgYnV0IHdlJ3Jl IHRyeWluZyB0byBzbG93bHkgZml4IHRoZXNlCndoZW4gd2UgY29tZSBhY3Jvc3MgdGhlbS4gVGhp cyB1c3VhbGx5IGludm9sdmVzIHBhc3NpbmcgdGhlIGNvcnJlY3Qgc3RhdGUgb2JqZWN0IHVwCnRo ZSBjYWxsY2hhaW4sIHdoaWNoIGNhbiBiZSBxdWl0ZSBkZWVwLgoKQ2hlZXJzLApNYWFydGVuCgo+ IEhhcnJ5Cj4KPj4+Pgo+Pj4+PiAgICAgICAgICAgaWYgKGNydGNfZnJvbV9zdGF0ZSA9PSBjcnRj KQo+Pj4+PiAgICAgICAgICAgICAgIHJldHVybiB0b19hbWRncHVfZG1fY29ubmVjdG9yKGNvbm5l Y3Rvcik7Cj4+Pj4+IEBAIC0zODkwLDcgKzM4ODIsNyBAQCBzdGF0aWMgdm9pZCBhbWRncHVfZG1f Y29tbWl0X3BsYW5lcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4+Pj4+ICAgICAg IHVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4+Pj4+ICAgICAgICAgLyogdXBkYXRlIHBsYW5lcyB3aGVu IG5lZWRlZCAqLwo+Pj4+PiAtICAgIGZvcl9lYWNoX25ld19wbGFuZV9pbl9zdGF0ZShzdGF0ZSwg cGxhbmUsIG9sZF9wbGFuZV9zdGF0ZSwgaSkgewo+Pj4+PiArICAgIGZvcl9lYWNoX29sZF9wbGFu ZV9pbl9zdGF0ZShzdGF0ZSwgcGxhbmUsIG9sZF9wbGFuZV9zdGF0ZSwgaSkgewo+Pj4+PiAgICAg ICAgICAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUgPSBwbGFuZS0+c3RhdGU7 Cj4+Pj4+ICAgICAgICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBwbGFuZV9zdGF0ZS0+Y3J0 YzsKPj4+Pj4gICAgICAgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3Rh dGUtPmZiOwo+Pj4+IFVzZSBmb3JfZWFjaF9vbGRuZXdfKl9pbl9zdGF0ZQo+Pj4+PiBAQCAtNDAy NCw3ICs0MDE2LDcgQEAgdm9pZCBhbWRncHVfZG1fYXRvbWljX2NvbW1pdF90YWlsKAo+Pj4+PiAg ICAgICBkbV9zdGF0ZSA9IHRvX2RtX2F0b21pY19zdGF0ZShzdGF0ZSk7Cj4+Pj4+ICAgICAgICAg LyogdXBkYXRlIGNoYW5nZWQgaXRlbXMgKi8KPj4+Pj4gLSAgICBmb3JfZWFjaF9uZXdfY3J0Y19p bl9zdGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsIGkpIHsKPj4+Pj4gKyAgICBmb3Jf ZWFjaF9vbGRfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsIGkpIHsK Pj4+Pj4gICAgICAgICAgIHN0cnVjdCBhbWRncHVfY3J0YyAqYWNydGMgPSB0b19hbWRncHVfY3J0 YyhjcnRjKTsKPj4+Pj4gICAgICAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqbmV3X3N0YXRl ID0gY3J0Yy0+c3RhdGU7Cj4+Pj4gU2FtZS4KPj4+IEdvb2QgcG9pbnRzLCBpdCBzZWVtcyBsaWtl IHRoZXJlJ3MgcXVpdGUgYSBmZXcgcGxhY2VzIHdoZXJlIGRybSBpbnRlcmZhY2VzIGNhbiBiZSB1 c2VkLiBUaGFua3MgZm9yIHBvaW50aW5nIHRoaXMgb3V0Lgo+Pj4KPj4+IExlbwo+Pj4KPj4+Pj4g ICBAQCAtNDExMywxMSArNDEwNSw5IEBAIHZvaWQgYW1kZ3B1X2RtX2F0b21pY19jb21taXRfdGFp bCgKPj4+Pj4gICAgICAgICAgICAgICBuZXdfYWNydGNfc3RhdGUgPSB0b19kbV9jcnRjX3N0YXRl KG5ld19jcnRjc1tpXS0+YmFzZS5zdGF0ZSk7Cj4+Pj4+ICAgICAgICAgICAgICAgICBuZXdfc3Ry ZWFtID0gbmV3X2FjcnRjX3N0YXRlLT5zdHJlYW07Cj4+Pj4+IC0gICAgICAgICAgICBhY29ubmVj dG9yID0KPj4+Pj4gLSAgICAgICAgICAgICAgICBhbWRncHVfZG1fZmluZF9maXJzdF9jcmN0X21h dGNoaW5nX2Nvbm5lY3RvcigKPj4+Pj4gKyAgICAgICAgICAgIGFjb25uZWN0b3IgPSBhbWRncHVf ZG1fZmluZF9maXJzdF9jcnRjX21hdGNoaW5nX2Nvbm5lY3RvcigKPj4+Pj4gICAgICAgICAgICAg ICAgICAgICAgIHN0YXRlLAo+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAmbmV3X2NydGNzW2ld LT5iYXNlLAo+Pj4+PiAtICAgICAgICAgICAgICAgICAgICBmYWxzZSk7Cj4+Pj4+ICsgICAgICAg ICAgICAgICAgICAgICZuZXdfY3J0Y3NbaV0tPmJhc2UpOwo+Pj4+PiAgICAgICAgICAgICAgIGlm ICghYWNvbm5lY3Rvcikgewo+Pj4+PiAgICAgICAgICAgICAgICAgICBEUk1fREVCVUdfRFJJVkVS KCJBdG9taWMgY29tbWl0OiBGYWlsZWQgdG8gZmluZCBjb25uZWN0b3IgZm9yIGFjcnRjIGlkOiVk ICIKPj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAic2tpcHBpbmcgZnJlZXN5bmMgaW5pdFxu IiwKPj4+Pj4gQEAgLTQxNTAsOCArNDE0MCw4IEBAIHZvaWQgYW1kZ3B1X2RtX2F0b21pY19jb21t aXRfdGFpbCgKPj4+Pj4gICAgICAgICAgIH0KPj4+Pj4gICAgICAgfQo+Pj4+PiAgIC0gICAgLyog SGFuZGxlIHNjYWxpbmcgYW5kIHVuZGVyc2FjbiBjaGFuZ2VzKi8KPj4+Pj4gLSAgICBmb3JfZWFj aF9uZXdfY29ubmVjdG9yX2luX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IsIG9sZF9jb25uX3N0YXRl LCBpKSB7Cj4+Pj4+ICsgICAgLyogSGFuZGxlIHNjYWxpbmcgYW5kIHVuZGVyc2NhbiBjaGFuZ2Vz Ki8KPj4+Pj4gKyAgICBmb3JfZWFjaF9vbGRfY29ubmVjdG9yX2luX3N0YXRlKHN0YXRlLCBjb25u ZWN0b3IsIG9sZF9jb25uX3N0YXRlLCBpKSB7Cj4+Pj4+ICAgICAgICAgICBzdHJ1Y3QgYW1kZ3B1 X2RtX2Nvbm5lY3RvciAqYWNvbm5lY3RvciA9IHRvX2FtZGdwdV9kbV9jb25uZWN0b3IoY29ubmVj dG9yKTsKPj4+Pj4gICAgICAgICAgIHN0cnVjdCBkbV9jb25uZWN0b3Jfc3RhdGUgKmNvbl9uZXdf c3RhdGUgPQo+Pj4+PiAgICAgICAgICAgICAgICAgICB0b19kbV9jb25uZWN0b3Jfc3RhdGUoYWNv bm5lY3Rvci0+YmFzZS5zdGF0ZSk7Cj4+Pj4gU2FtZSBoZXJlLi4KPj4+Pj4gQEAgLTQyMDUsNyAr NDE5NSw3IEBAIHZvaWQgYW1kZ3B1X2RtX2F0b21pY19jb21taXRfdGFpbCgKPj4+Pj4gICAgICAg fQo+Pj4+PiAgICAgICAgIC8qIHVwZGF0ZSBwbGFuZXMgd2hlbiBuZWVkZWQgcGVyIGNydGMqLwo+ Pj4+PiAtICAgIGZvcl9lYWNoX25ld19jcnRjX2luX3N0YXRlKHN0YXRlLCBwY3J0Yywgb2xkX2Ny dGNfc3RhdGUsIGopIHsKPj4+Pj4gKyAgICBmb3JfZWFjaF9vbGRfY3J0Y19pbl9zdGF0ZShzdGF0 ZSwgcGNydGMsIG9sZF9jcnRjX3N0YXRlLCBqKSB7Cj4+Pj4+ICAgICAgICAgICBuZXdfYWNydGNf c3RhdGUgPSB0b19kbV9jcnRjX3N0YXRlKHBjcnRjLT5zdGF0ZSk7Cj4+Pj4gU2FtZS4KPj4+Pj4g ICAgICAgICAgIGlmIChuZXdfYWNydGNfc3RhdGUtPnN0cmVhbSkKPj4+Pj4gQEAgLTQyMTgsNyAr NDIwOCw3IEBAIHZvaWQgYW1kZ3B1X2RtX2F0b21pY19jb21taXRfdGFpbCgKPj4+Pj4gICAgICAg ICogbWFyayBjb25zdW1lZCBldmVudCBmb3IgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2h3X2Rv bmUKPj4+Pj4gICAgICAgICovCj4+Pj4+ICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZhZGV2LT5k ZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7Cj4+Pj4+IC0gICAgZm9yX2VhY2hfbmV3X2NydGNfaW5f c3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLCBpKSB7Cj4+Pj4+ICsgICAgZm9yX2Vh Y2hfb2xkX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLCBpKSB7Cj4+ Pj4+ICAgICAgICAgICBzdHJ1Y3QgYW1kZ3B1X2NydGMgKmFjcnRjID0gdG9fYW1kZ3B1X2NydGMo Y3J0Yyk7Cj4+Pj4+ICAgICAgICAgICAgIGlmIChhY3J0Yy0+YmFzZS5zdGF0ZS0+ZXZlbnQpCj4+ Pj4gU2FtZS4gWW91J3JlIGRlcmVmZXJlbmNpbmcgY3J0Yy0+c3RhdGUKPj4+Pj4gQEAgLTQ0MDIs NyArNDM5Miw3IEBAIHN0YXRpYyBpbnQgZG1fdXBkYXRlX2NydGNzX3N0YXRlKAo+Pj4+PiAgICAg ICAgICAgbmV3X2FjcnRjX3N0YXRlID0gdG9fZG1fY3J0Y19zdGF0ZShjcnRjX3N0YXRlKTsKPj4+ Pj4gICAgICAgICAgIGFjcnRjID0gdG9fYW1kZ3B1X2NydGMoY3J0Yyk7Cj4+Pj4+ICAgLSAgICAg ICAgYWNvbm5lY3RvciA9IGFtZGdwdV9kbV9maW5kX2ZpcnN0X2NyY3RfbWF0Y2hpbmdfY29ubmVj dG9yKHN0YXRlLCBjcnRjLCB0cnVlKTsKPj4+Pj4gKyAgICAgICAgYWNvbm5lY3RvciA9IGFtZGdw dV9kbV9maW5kX2ZpcnN0X2NydGNfbWF0Y2hpbmdfY29ubmVjdG9yKHN0YXRlLCBjcnRjKTsKPj4+ Pj4gICAgICAgICAgICAgLyogVE9ETyBUaGlzIGhhY2sgc2hvdWxkIGdvIGF3YXkgKi8KPj4+Pj4g ICAgICAgICAgIGlmIChhY29ubmVjdG9yKSB7Cj4+Pj4+IEBAIC00NzE1LDcgKzQ3MDUsNyBAQCBp bnQgYW1kZ3B1X2RtX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4+PiAg ICAgICAgaWYgKHJldCkKPj4+Pj4gICAgICAgICAgICBnb3RvIGZhaWw7Cj4+Pj4+ICAgLSAgICAv KiBDaGVjayBzY2FsaW5nIGFuZCB1bmRlcnNhY24gY2hhbmdlcyovCj4+Pj4+ICsgICAgLyogQ2hl Y2sgc2NhbGluZyBhbmQgdW5kZXJzY2FuIGNoYW5nZXMqLwo+Pj4+PiAgICAgICAvKlRPRE8gUmVt b3ZlZCBzY2FsaW5nIGNoYW5nZXMgdmFsaWRhdGlvbiBkdWUgdG8gaW5hYmlsaXR5IHRvIGNvbW1p dAo+Pj4+PiAgICAgICAgKiBuZXcgc3RyZWFtIGludG8gY29udGV4dCB3XG8gY2F1c2luZyBmdWxs IHJlc2V0LiBOZWVkIHRvCj4+Pj4+ICAgICAgICAqIGRlY2lkZSBob3cgdG8gaGFuZGxlLgo+Pj4+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRn cHVfZG0uaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2Rt LmgKPj4+Pj4gaW5kZXggNjMwZTZjZC4uYzFiNzdiZCAxMDA2NDQKPj4+Pj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uaAo+Pj4+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5oCj4+Pj4+IEBA IC0yMjYsMTAgKzIyNiw5IEBAIGV4dGVybiBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2lwX2Jsb2NrX3Zl cnNpb24gZG1faXBfYmxvY2s7Cj4+Pj4+ICAgdm9pZCBhbWRncHVfZG1fdXBkYXRlX2Nvbm5lY3Rv cl9hZnRlcl9kZXRlY3QoCj4+Pj4+ICAgICAgIHN0cnVjdCBhbWRncHVfZG1fY29ubmVjdG9yICph Y29ubmVjdG9yKTsKPj4+Pj4gICAtc3RydWN0IGFtZGdwdV9kbV9jb25uZWN0b3IgKmFtZGdwdV9k bV9maW5kX2ZpcnN0X2NyY3RfbWF0Y2hpbmdfY29ubmVjdG9yKAo+Pj4+PiArc3RydWN0IGFtZGdw dV9kbV9jb25uZWN0b3IgKmFtZGdwdV9kbV9maW5kX2ZpcnN0X2NydGNfbWF0Y2hpbmdfY29ubmVj dG9yKAo+Pj4+PiAgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4+Pj4+IC0g ICAgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+Pj4+PiAtICAgIGJvb2wgZnJvbV9zdGF0ZV92YXIp Owo+Pj4+PiArICAgIHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4+Pj4+ICAgICAgIHN0cnVjdCBh bWRncHVfZnJhbWVidWZmZXI7Cj4+Pj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo=