From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: Re: [RESEND PATCH v2 1/2] drm/dp/mst: Reprobe EDID for MST ports on resume Date: Wed, 24 Oct 2018 19:02:16 -0400 Message-ID: References: <20181024021925.27026-1-juston.li@intel.com> <20181024021925.27026-2-juston.li@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Juston Li , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: mario.limonciello@dell.com, linux-kernel@vger.kernel.org, nathan.d.ciobanu@intel.com, jared_dominguez@dell.com, stable@vger.kernel.org, Lyude List-Id: intel-gfx@lists.freedesktop.org R2FoLCB0aGUgbW9yZSBJIHRoaW5rIGFib3V0IHRoaXMgdGhlIG1vcmUgSSByZWFsaXplIHRoaXMg d2FzIG5ldmVyIHRoZSBjb3JyZWN0CmFwcHJvYWNoIHRvIGJlZ2luIHdpdGguIEkgd3JvdGUgdGhp cyBwYXRjaCBhIGxvbmcgdGltZSBhZ28gd2hlbiBJIHdhc24ndApuZWFybHkgYXMgZXhwZXJpZW5j ZWQsIHNvIHRoYXQncyBub3QgdGVycmlibHkgc3VycHJpc2luZy4KClNvOiB0aGUgdGhpbmcgaXMg dGhpcyBpc24ndCBhY3R1YWxseSBhIHByb2JsZW0gdGhhdCdzIHNwZWNpZmljIHRvIE1TVC4gUHJl dHR5Cm11Y2ggYWxsIG9mIHRoZSBkaWZmZXJlbnQgY29ubmVjdG9yIHR5cGVzIGhhdmUgdGhpcyBp c3N1ZSwgc2luY2UgYW55IEdQVSBpcwpnb2luZyB0byBtaXNzIGhvdHBsdWdzIGlmIHRoZSBlbnRp cmUgc3lzdGVtIGlzIGluIFMzLiBTbyBpdCBkb2Vzbid0IG1ha2UgbXVjaApzZW5zZSB0byBoYXZl IHRoaXMgYmUgaW4gTVNUIGhlbHBlcnM7IHdlIHNob3VsZCBqdXN0IHJlcHJvYmUgYWxsIG9mIHRo ZQpjb25uZWN0b3JzIG9uIHRoZSBzeXN0ZW0uCgpIb25lc3RseTogSSB0aGluayBpdCBtaWdodCBq dXN0IGJlIGEgYmV0dGVyIGlkZWEgdG8ganVzdCBzZW5kIGEgc3lzZnMgaG90cGx1Zwp3aGVuIHdl IHdha2UgdXAgZnJvbSBzdXNwZW5kL3Jlc3VtZSwgc28gdGhhdCB1c2Vyc3BhY2UganVzdCByZWNo ZWNrcyBhbGwgb2YKdGhlIGNvbm5lY3RvcnMgYW55d2F5LiBOb3V2ZWF1IGFscmVhZHkgZG9lcyB0 aGlzLCBqZnlpLgoKT24gV2VkLCAyMDE4LTEwLTI0IGF0IDE4OjA5IC0wNDAwLCBMeXVkZSBQYXVs IHdyb3RlOgo+IFRob3VnaHQgdGhpcyB3YXMgZ29pbmcgdG8gYmUgYW4gZWFzeSByZXZpZXcgdW50 aWwgSSByZWFsaXplZCB0aGF0IHRoZXJlJ3MKPiBtdWx0aXBsZSBwcm9ibGVtcyBpbiBub3V2ZWF1 IHRoaXMgd291bGQgY2F1c2UgaXNzdWVzIHdpdGgsIGV2ZW4gaWYgd2UgZGlkbid0Cj4gcGF5IGF0 dGVudGlvbiB0byB0aGUgLUVJTlZBTCB0aGF0IGdldHMgcmV0dXJuZWQuIFRoZSBzdXNwZW5kL3Jl c3VtZSBvcmRlciBpbgo+IG5vdXZlYXUgbmVlZHMgc29tZSBmaXhpbmcgdXAgdG8gcHJldmVudCB0 aGlzIHBhdGNoIGZyb20gY2F1c2luZyB0aW1lb3V0cywKPiBhbmQKPiB0aGVuIGFsc28gdGhlcmUn cyBhIGhpZGRlbiBzdXJwcmlzZQo+IAo+IFsgIDk3Mi4yOTQ0MzddID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gWyAgOTcyLjI5NTIyNV0gV0FSTklORzogcG9z c2libGUgcmVjdXJzaXZlIGxvY2tpbmcgZGV0ZWN0ZWQKPiBbICA5NzIuMjk2MDQyXSA0LjE5LjAt cmM4bXN0LXJlcHJvYmUrICMyIE5vdCB0YWludGVkCj4gWyAgOTcyLjI5Njg0Ml0gLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiBbICA5NzIuMjk3NjE0XSB6c2gv Njg0MCBpcyB0cnlpbmcgdG8gYWNxdWlyZSBsb2NrOgo+IFsgIDk3Mi4yOTg0NDFdIDAwMDAwMDAw NzJlNTIxZjcgKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KXsrLisufSwgYXQ6Cj4gZHJtX2RwX21z dF9lZGlkc19jaGFuZ2VkKzB4YzAvMHgxODAgW2RybV9rbXNfaGVscGVyXQo+IFsgIDk3Mi4yOTky OTldIAo+ICAgICAgICAgICAgICAgIGJ1dCB0YXNrIGlzIGFscmVhZHkgaG9sZGluZyBsb2NrOgo+ IFsgIDk3Mi4zMDA5OTFdIDAwMDAwMDAwNzJlNTIxZjcgKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4 KXsrLisufSwgYXQ6Cj4gc3RhdHVzX3N0b3JlKzB4MzQvMHgxODAgW2RybV0KPiBbICA5NzIuMzAx ODc1XSAKPiAgICAgICAgICAgICAgICBvdGhlciBpbmZvIHRoYXQgbWlnaHQgaGVscCB1cyBkZWJ1 ZyB0aGlzOgo+IFsgIDk3Mi4zMDM1NjNdICBQb3NzaWJsZSB1bnNhZmUgbG9ja2luZyBzY2VuYXJp bzoKPiAKPiBbICA5NzIuMzA1MzE1XSAgICAgICAgQ1BVMAo+IFsgIDk3Mi4zMDYxODJdICAgICAg ICAtLS0tCj4gWyAgOTcyLjMwNzA2MV0gICBsb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsK PiBbICA5NzIuMzA3OTQzXSAgIGxvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwo+IFsgIDk3 Mi4zMDg4MTldIAo+ICAgICAgICAgICAgICAgICAqKiogREVBRExPQ0sgKioqCj4gCj4gWyAgOTcy LjMxMTQ0Nl0gIE1heSBiZSBkdWUgdG8gbWlzc2luZyBsb2NrIG5lc3Rpbmcgbm90YXRpb24KPiAK PiBbICA5NzIuMzEzMjM0XSA2IGxvY2tzIGhlbGQgYnkgenNoLzY4NDA6Cj4gWyAgOTcyLjMxNDEz NV0gICMwOiAwMDAwMDAwMDkyYjViYTlkIChzYl93cml0ZXJzIzQpey4rLit9LCBhdDoKPiB2ZnNf d3JpdGUrMHgxM2UvMHgxYTAKPiBbICA5NzIuMzE1MDQ5XSAgIzE6IDAwMDAwMDAwZTYyOGU2ZTkg KCZvZi0+bXV0ZXgpeysuKy59LCBhdDoKPiBrZXJuZnNfZm9wX3dyaXRlKzB4YmQvMHgxYTAKPiBb ICA5NzIuMzE1OTgwXSAgIzI6IDAwMDAwMDAwMGZiNjVlNmMgKGtuLT5jb3VudCMyNDApey4rLit9 LCBhdDoKPiBrZXJuZnNfZm9wX3dyaXRlKzB4YzUvMHgxYTAKPiBbICA5NzIuMzE2OTI4XSAgIzM6 IDAwMDAwMDAwNzJlNTIxZjcgKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KXsrLisufSwgYXQ6Cj4g c3RhdHVzX3N0b3JlKzB4MzQvMHgxODAgW2RybV0KPiBbICA5NzIuMzE3ODkyXSAgIzQ6IDAwMDAw MDAwMzQ0MjI0YzIgKGNydGNfd3dfY2xhc3NfYWNxdWlyZSl7Ky4rLn0sIGF0Ogo+IGRybV9oZWxw ZXJfcHJvYmVfc2luZ2xlX2Nvbm5lY3Rvcl9tb2RlcysweDY2LzB4NmMwIFtkcm1fa21zX2hlbHBl cl0KPiBbICA5NzIuMzE4ODYzXSAgIzU6IDAwMDAwMDAwZDY1MzUyZTIgKGNydGNfd3dfY2xhc3Nf bXV0ZXgpeysuKy59LCBhdDoKPiBkcm1fbW9kZXNldF9sb2NrKzB4NDQvMHgxMTAgW2RybV0KPiBb ICA5NzIuMzE5ODYwXSAKPiAgICAgICAgICAgICAgICBzdGFjayBiYWNrdHJhY2U6Cj4gWyAgOTcy LjMyMTgwMF0gQ1BVOiA1IFBJRDogNjg0MCBDb21tOiB6c2ggS2R1bXA6IGxvYWRlZCBOb3QgdGFp bnRlZCA0LjE5LjAtCj4gcmM4bXN0LXJlcHJvYmUrICMyCj4gWyAgOTcyLjMyMjc3Ml0gSGFyZHdh cmUgbmFtZTogTEVOT1ZPIDIwRVFaMUo3VVMvMjBFUVoxSjdVUywgQklPUyBOMUVFVDgwVwo+ICgx LjUzICkgMDkvMTQvMjAxOAo+IFsgIDk3Mi4zMjM3OTJdIENhbGwgVHJhY2U6Cj4gWyAgOTcyLjMy NDgyMV0gIGR1bXBfc3RhY2srMHg4NS8weGMwCj4gWyAgOTcyLjMyNTgzMl0gIF9fbG9ja19hY3F1 aXJlLmNvbGQuNTkrMHgxNTgvMHgyMjcKPiBbICA5NzIuMzI2ODg3XSAgPyByZXRpbnRfa2VybmVs KzB4MTAvMHgxMAo+IFsgIDk3Mi4zMjc5MThdICBsb2NrX2FjcXVpcmUrMHg5ZS8weDE3MAo+IFsg IDk3Mi4zMjg5NDhdICA/IGRybV9kcF9tc3RfZWRpZHNfY2hhbmdlZCsweGMwLzB4MTgwIFtkcm1f a21zX2hlbHBlcl0KPiBbICA5NzIuMzI5OTg2XSAgPyBkcm1fZHBfbXN0X2VkaWRzX2NoYW5nZWQr MHhjMC8weDE4MCBbZHJtX2ttc19oZWxwZXJdCj4gWyAgOTcyLjMzMTA2Nl0gIF9fbXV0ZXhfbG9j aysweDY4LzB4OTAwCj4gWyAgOTcyLjMzMjA5NF0gID8gZHJtX2RwX21zdF9lZGlkc19jaGFuZ2Vk KzB4YzAvMHgxODAgW2RybV9rbXNfaGVscGVyXQo+IFsgIDk3Mi4zMzMxNDZdICA/IF9fbXV0ZXhf dW5sb2NrX3Nsb3dwYXRoKzB4NGIvMHgyYjAKPiBbICA5NzIuMzM0MjIxXSAgPyBkcm1fZHBfbXN0 X2VkaWRzX2NoYW5nZWQrMHhjMC8weDE4MCBbZHJtX2ttc19oZWxwZXJdCj4gWyAgOTcyLjMzNTI1 NV0gIGRybV9kcF9tc3RfZWRpZHNfY2hhbmdlZCsweGMwLzB4MTgwIFtkcm1fa21zX2hlbHBlcl0K PiBbICA5NzIuMzM2MzE4XSAgZHJtX2RwX21zdF90b3BvbG9neV9tZ3JfcmVzdW1lKzB4MTA0LzB4 MTkwIFtkcm1fa21zX2hlbHBlcl0KPiBbICA5NzIuMzM3Mzk3XSAgbnY1MF9kaXNwbGF5X2luaXQr MHg3My8weGQwIFtub3V2ZWF1XQo+IFsgIDk3Mi4zMzg0ODNdICBub3V2ZWF1X2Rpc3BsYXlfaW5p dCsweDhlLzB4ZTAgW25vdXZlYXVdCj4gWyAgOTcyLjMzOTU0N10gIG5vdXZlYXVfZGlzcGxheV9y ZXN1bWUrMHgzOS8weDI1MCBbbm91dmVhdV0KPiBbICA5NzIuMzQwNjM0XSAgPyBwY2lfcmVzdG9y ZV9zdGFuZGFyZF9jb25maWcrMHg0MC8weDQwCj4gWyAgOTcyLjM0MTc2Ml0gIG5vdXZlYXVfZG9f cmVzdW1lKzB4NzkvMHgxNTAgW25vdXZlYXVdCj4gWyAgOTcyLjM0Mjg1MF0gIG5vdXZlYXVfcG1v cHNfcnVudGltZV9yZXN1bWUrMHg4OC8weDE1MCBbbm91dmVhdV0KPiBbICA5NzIuMzQzOTE1XSAg cGNpX3BtX3J1bnRpbWVfcmVzdW1lKzB4NzgvMHhiMAo+IFsgIDk3Mi4zNDUwMDRdICBfX3JwbV9j YWxsYmFjaysweDc1LzB4MWIwCj4gWyAgOTcyLjM0NjA4NF0gID8gcGNpX3Jlc3RvcmVfc3RhbmRh cmRfY29uZmlnKzB4NDAvMHg0MAo+IFsgIDk3Mi4zNDcxNDhdICBycG1fY2FsbGJhY2srMHgxZi8w eDcwCj4gWyAgOTcyLjM0ODI1Nl0gID8gcGNpX3Jlc3RvcmVfc3RhbmRhcmRfY29uZmlnKzB4NDAv MHg0MAo+IFsgIDk3Mi4zNDkzNTFdICBycG1fcmVzdW1lKzB4NWQ0LzB4ODEwCj4gWyAgOTcyLjM1 MDQ0Nl0gID8gZHJtX21vZGVzZXRfbG9jaysweDQ0LzB4MTEwIFtkcm1dCj4gWyAgOTcyLjM1MTU3 M10gIF9fcG1fcnVudGltZV9yZXN1bWUrMHg0Ny8weDcwCj4gWyAgOTcyLjM1MjczN10gIG5vdXZl YXVfY29ubmVjdG9yX2RldGVjdCsweDM3My8weDQ3MCBbbm91dmVhdV0KPiBbICA5NzIuMzUzODQx XSAgPyBfY29uZF9yZXNjaGVkKzB4MTUvMHgzMAo+IFsgIDk3Mi4zNTQ5NDVdICA/IHd3X211dGV4 X2xvY2srMHgzMC8weDYwCj4gWyAgOTcyLjM1NjA0NF0gID8gZHJtX21vZGVzZXRfbG9jaysweDQ0 LzB4MTEwIFtkcm1dCj4gWyAgOTcyLjM1NzE0Nl0gIGRybV9oZWxwZXJfcHJvYmVfc2luZ2xlX2Nv bm5lY3Rvcl9tb2RlcysweGQ5LzB4NmMwCj4gW2RybV9rbXNfaGVscGVyXQo+IFsgIDk3Mi4zNTgy NzRdICA/IHByaW50aysweDU4LzB4NmYKPiBbICA5NzIuMzU5NDAwXSAgc3RhdHVzX3N0b3JlKzB4 YjIvMHgxODAgW2RybV0KPiBbICA5NzIuMzYwNTE5XSAga2VybmZzX2ZvcF93cml0ZSsweGYwLzB4 MWEwCj4gWyAgOTcyLjM2MTcxMV0gIF9fdmZzX3dyaXRlKzB4MzYvMHgxODAKPiBbICA5NzIuMzYy ODQyXSAgPyByY3VfcmVhZF9sb2NrX3NjaGVkX2hlbGQrMHg1NS8weDYwCj4gWyAgOTcyLjM2Mzk3 NF0gID8gcmN1X3N5bmNfbG9ja2RlcF9hc3NlcnQrMHgyZS8weDYwCj4gWyAgOTcyLjM2NTEwM10g ID8gX19zYl9zdGFydF93cml0ZSsweDExNS8weDE3MAo+IFsgIDk3Mi4zNjYyNDFdICA/IHZmc193 cml0ZSsweDEzZS8weDFhMAo+IFsgIDk3Mi4zNjczNjVdICB2ZnNfd3JpdGUrMHhhNS8weDFhMAo+ IFsgIDk3Mi4zNjg0ODZdICBrc3lzX3dyaXRlKzB4NTIvMHhjMAo+IFsgIDk3Mi4zNjk1OTZdICBk b19zeXNjYWxsXzY0KzB4NjAvMHgxYTAKPiBbICA5NzIuMzcwNzgyXSAgZW50cnlfU1lTQ0FMTF82 NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQo+IFsgIDk3Mi4zNzE4OTBdIFJJUDogMDAzMzoweDdm YzkzZTE2OWVmNAo+IFsgIDk3Mi4zNzMwMTJdIENvZGU6IDg5IDAyIDQ4IGM3IGMwIGZmIGZmIGZm IGZmIGMzIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwCj4gMDAKPiAwMCA2NiA5MCA0OCA4ZCAwNSBm MSAzYSAyZCAwMCA4YiAwMCA4NSBjMCA3NSAxMyBiOCAwMSAwMCAwMCAwMCAwZiAwNSA8NDg+IDNk Cj4gMDAgZjAgZmYgZmYgNzcgNTQgYzMgMGYgMWYgMDAgNDEgNTQgNDkgODkgZDQgNTUgNDggODkg ZjUgNTMKPiBbICA5NzIuMzc0MjE0XSBSU1A6IDAwMmI6MDAwMDdmZmNkN2FkMTkxOCBFRkxBR1M6 IDAwMDAwMjQ2IE9SSUdfUkFYOgo+IDAwMDAwMDAwMDAwMDAwMDEKPiBbICA5NzIuMzc1NDIxXSBS QVg6IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwMDAwMDAwMDAwMDA3IFJDWDoKPiAwMDAwN2Zj OTNlMTY5ZWY0Cj4gWyAgOTcyLjM3NjYyOF0gUkRYOiAwMDAwMDAwMDAwMDAwMDA3IFJTSTogMDAw MDU1YWVmZTVjMzBjMCBSREk6Cj4gMDAwMDAwMDAwMDAwMDAwMQo+IFsgIDk3Mi4zNzc4NzJdIFJC UDogMDAwMDU1YWVmZTVjMzBjMCBSMDg6IDAwMDA3ZmM5M2U0M2E4YzAgUjA5Ogo+IDAwMDA3ZmM5 M2Y2Y2RiODAKPiBbICA5NzIuMzc5MDgyXSBSMTA6IDAwMDAwMDAwMDAwMDAwMGEgUjExOiAwMDAw MDAwMDAwMDAwMjQ2IFIxMjoKPiAwMDAwN2ZjOTNlNDM5NzYwCj4gWyAgOTcyLjM4MDMxMV0gUjEz OiAwMDAwMDAwMDAwMDAwMDA3IFIxNDogMDAwMDdmYzkzZTQzNDc2MCBSMTU6Cj4gMDAwMDAwMDAw MDAwMDAwNwo+IAo+IEkgbXVzdCBub3QgaGF2ZSBub3RpY2VkIHRoYXQgYmFjayB3aGVuIEkgd3Jv dGUgdGhlc2UgcGF0Y2hlcyEgV2hvb3BzLgo+IAo+IFNpbmNlIHRoZXJlJ3MgZ29pbmcgdG8gYmUg cXVpdGUgYSBudW1iZXIgb2YgY2hhbmdlcyBJIG5lZWQgdG8gbWFrZSB0byB0aGlzCj4gSSdtCj4g anVzdCBnb2luZyB0byBtYWtlIHRoZSBjaGFuZ2VzIG15c2VsZiEgSSdsbCBtYWtlIHN1cmUgdG8g Q2MgeW91IHdpdGggdGhlCj4gcmVzcGluCj4gCj4gT24gVHVlLCAyMDE4LTEwLTIzIGF0IDE5OjE5 IC0wNzAwLCBKdXN0b24gTGkgd3JvdGU6Cj4gPiBGcm9tOiBMeXVkZSA8Y3BhdWxAcmVkaGF0LmNv bT4KPiA+IAo+ID4gQXMgb2JzZXJ2ZWQgd2l0aCB0aGUgbGF0ZXN0IFRoaW5rUGFkIGRvY2tzLCB3 ZSB1bmZvcnR1bmF0ZWx5IGNhbid0IHJlbHkKPiA+IG9uIGRvY2tzIGtlZXBpbmcgdXMgdXBkYXRl ZCB3aXRoIGhvdHBsdWcgZXZlbnRzIHRoYXQgaGFwcGVuZWQgd2hpbGUgd2UKPiA+IHdlcmUgc3Vz cGVuZGVkLiBPbiB0b3Agb2YgdGhhdCwgZXZlbiBpZiB0aGUgbnVtYmVyIG9mIGNvbm5lY3RvcnMg cmVtYWlucwo+ID4gdGhlIHNhbWUgYmV0d2VlbiBzdXNwZW5kIGFuZCByZXN1bWUgaXQncyBzdGls bCBub3Qgc2FmZSB0byBhc3N1bWUgdGhhdAo+ID4gdGhlcmUgd2VyZSBubyBob3RwbHVncywgc2lu Y2UgYSBkaWZmZXJlbnQgbW9uaXRvciBtaWdodCBoYXZlIGJlZW4KPiA+IHBsdWdnZWQgaW50byBh IHBvcnQgYW5vdGhlciBtb25pdG9yIHByZXZpb3VzbHkgb2NjdXBpZWQuIEFzIHN1Y2gsIHdlCj4g PiBuZWVkIHRvIGdvIHRocm91Z2ggYWxsIG9mIHRoZSBNU1QgcG9ydHMgYW5kIGNoZWNrIHdoZXRo ZXIgb3Igbm90IHRoZWlyCj4gPiBFRElEcyBoYXZlIGNoYW5nZWQuCj4gPiAKPiA+IEluIGFkZGl0 aW9uIHRvIHRoYXQsIHdlIGFsc28gbm93IHJldHVybiAtRUlOVkFMIGZyb20KPiA+IGRybV9kcF9t c3RfdG9wb2xvZ3lfbWdyX3Jlc3VtZSB0byBpbmRpY2F0ZSB0byBjYWxsZXJzIHRoYXQgdGhleSBu ZWVkIHRvCj4gPiByZXNldCB0aGUgTVNUIGNvbm5lY3Rpb24sIGFuZCB0aGF0IHRoZXkgY2FuJ3Qg cmVseSBvbiBhbnkgb3RoZXIgbWV0aG9kCj4gPiBvZiByZXByb2JpbmcuCj4gPiAKPiA+IENjOiBz dGFibGVAdmdlci5rZXJuZWwub3JnCj4gPiBTaWduZWQtb2ZmLWJ5OiBMeXVkZSA8Y3BhdWxAcmVk aGF0LmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IEp1c3RvbiBMaSA8anVzdG9uLmxpQGludGVsLmNv bT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMgfCA5 NCArKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgOTMgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rw X21zdF90b3BvbG9neS5jCj4gPiBpbmRleCA1ZmYxZDc5Yjg2YzQuLjg4YWJlYmU1MjAyMSAxMDA2 NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMKPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMKPiA+IEBAIC0yOSw2ICsy OSw3IEBACj4gPiAgI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgo+ID4gICNpbmNsdWRlIDxkcm0vZHJt X2RwX21zdF9oZWxwZXIuaD4KPiA+ICAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KPiA+ICsjaW5jbHVk ZSA8ZHJtL2RybV9lZGlkLmg+Cj4gPiAgCj4gPiAgI2luY2x1ZGUgPGRybS9kcm1fZml4ZWQuaD4K PiA+ICAjaW5jbHVkZSA8ZHJtL2RybV9hdG9taWMuaD4KPiA+IEBAIC0yMjAxLDYgKzIyMDIsNjQg QEAgdm9pZCBkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9zdXNwZW5kKHN0cnVjdAo+ID4gZHJtX2Rw X21zdF90b3BvbG9neV9tZ3IgKm1ncikKPiA+ICB9Cj4gPiAgRVhQT1JUX1NZTUJPTChkcm1fZHBf bXN0X3RvcG9sb2d5X21ncl9zdXNwZW5kKTsKPiA+ICAKPiA+ICtzdGF0aWMgYm9vbCBkcm1fZHBf bXN0X2VkaWRzX2NoYW5nZWQoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCj4g PiArCQkJCSAgICAgc3RydWN0IGRybV9kcF9tc3RfcG9ydCAqcG9ydCkKPiA+ICt7Cj4gPiArCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXY7Cj4gPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3I7Cj4gPiArCXN0cnVjdCBkcm1fZHBfbXN0X3BvcnQgKmRwb3J0Owo+ID4gKwlzdHJ1Y3QgZHJt X2RwX21zdF9icmFuY2ggKm1zdGI7Cj4gPiArCXN0cnVjdCBlZGlkICpjdXJyZW50X2VkaWQsICpj YWNoZWRfZWRpZDsKPiA+ICsJYm9vbCByZXQgPSBmYWxzZTsKPiA+ICsKPiA+ICsJcG9ydCA9IGRy bV9kcF9nZXRfdmFsaWRhdGVkX3BvcnRfcmVmKG1nciwgcG9ydCk7Cj4gPiArCWlmICghcG9ydCkK PiA+ICsJCXJldHVybiBmYWxzZTsKPiA+ICsKPiA+ICsJbXN0YiA9IGRybV9kcF9nZXRfdmFsaWRh dGVkX21zdGJfcmVmKG1nciwgcG9ydC0+bXN0Yik7Cj4gPiArCWlmIChtc3RiKSB7Cj4gPiArCQls aXN0X2Zvcl9lYWNoX2VudHJ5KGRwb3J0LCAmcG9ydC0+bXN0Yi0+cG9ydHMsIG5leHQpIHsKPiA+ ICsJCQlyZXQgPSBkcm1fZHBfbXN0X2VkaWRzX2NoYW5nZWQobWdyLCBkcG9ydCk7Cj4gPiArCQkJ aWYgKHJldCkKPiA+ICsJCQkJYnJlYWs7Cj4gPiArCQl9Cj4gPiArCj4gPiArCQlkcm1fZHBfcHV0 X21zdF9icmFuY2hfZGV2aWNlKG1zdGIpOwo+ID4gKwkJaWYgKHJldCkKPiA+ICsJCQlnb3RvIG91 dDsKPiA+ICsJfQo+ID4gKwo+ID4gKwljb25uZWN0b3IgPSBwb3J0LT5jb25uZWN0b3I7Cj4gPiAr CWlmICghY29ubmVjdG9yIHx8ICFwb3J0LT5hdXguZGRjLmFsZ28pCj4gPiArCQlnb3RvIG91dDsK PiA+ICsKPiA+ICsJZGV2ID0gY29ubmVjdG9yLT5kZXY7Cj4gPiArCW11dGV4X2xvY2soJmRldi0+ bW9kZV9jb25maWcubXV0ZXgpOwo+ID4gKwo+ID4gKwljdXJyZW50X2VkaWQgPSBkcm1fZ2V0X2Vk aWQoY29ubmVjdG9yLCAmcG9ydC0+YXV4LmRkYyk7Cj4gPiArCWlmIChjb25uZWN0b3ItPmVkaWRf YmxvYl9wdHIpCj4gPiArCQljYWNoZWRfZWRpZCA9ICh2b2lkICopY29ubmVjdG9yLT5lZGlkX2Js b2JfcHRyLT5kYXRhOwo+ID4gKwllbHNlCj4gPiArCQlyZXR1cm4gZmFsc2U7Cj4gPiArCj4gPiAr CWlmICgoY3VycmVudF9lZGlkICYmIGNhY2hlZF9lZGlkICYmIG1lbWNtcChjdXJyZW50X2VkaWQs IGNhY2hlZF9lZGlkLAo+ID4gKwkJCQkJCSAgIHNpemVvZihzdHJ1Y3QgZWRpZCkpICE9IDApCj4g PiA+ID4gCj4gPiAKPiA+ICsJICAgICghY3VycmVudF9lZGlkICYmIGNhY2hlZF9lZGlkKSB8fCAo Y3VycmVudF9lZGlkICYmICFjYWNoZWRfZWRpZCkpCj4gPiB7Cj4gPiArCQlyZXQgPSB0cnVlOwo+ ID4gKwkJRFJNX0RFQlVHX0tNUygiRURJRCBvbiAlcyBjaGFuZ2VkLCByZXByb2JpbmcgY29ubmVj dG9yc1xuIiwKPiA+ICsJCQkgICAgICBjb25uZWN0b3ItPm5hbWUpOwo+ID4gKwl9Cj4gPiArCj4g PiArCW11dGV4X3VubG9jaygmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7Cj4gPiArCj4gPiArCWtm cmVlKGN1cnJlbnRfZWRpZCk7Cj4gPiArCj4gPiArb3V0Ogo+ID4gKwlkcm1fZHBfcHV0X3BvcnQo cG9ydCk7Cj4gPiArCj4gPiArCXJldHVybiByZXQ7Cj4gPiArfQo+ID4gKwo+ID4gIC8qKgo+ID4g ICAqIGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyX3Jlc3VtZSgpIC0gcmVzdW1lIHRoZSBNU1QgbWFu YWdlcgo+ID4gICAqIEBtZ3I6IG1hbmFnZXIgdG8gcmVzdW1lCj4gPiBAQCAtMjIxMCw5ICsyMjY5 LDE1IEBAIEVYUE9SVF9TWU1CT0woZHJtX2RwX21zdF90b3BvbG9neV9tZ3Jfc3VzcGVuZCk7Cj4g PiAgICoKPiA+ICAgKiBpZiB0aGUgZGV2aWNlIGZhaWxzIHRoaXMgcmV0dXJucyAtMSwgYW5kIHRo ZSBkcml2ZXIgc2hvdWxkIGRvCj4gPiAgICogYSBmdWxsIE1TVCByZXByb2JlLCBpbiBjYXNlIHdl IHdlcmUgdW5kb2NrZWQuCj4gPiArICoKPiA+ICsgKiBpZiB0aGUgZGV2aWNlIGNhbiBubyBsb25n ZXIgYmUgdHJ1c3RlZCwgdGhpcyByZXR1cm5zIC1FSU5WQUwKPiA+ICsgKiBhbmQgdGhlIGRyaXZl ciBzaG91bGQgdW5jb25kaXRpb25hbGx5IGRpc2Nvbm5lY3QgYW5kIHJlY29ubmVjdAo+ID4gKyAq IHRoZSBkb2NrLgo+ID4gICAqLwo+ID4gIGludCBkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9yZXN1 bWUoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IpCj4gPiAgewo+ID4gKwlzdHJ1 Y3QgZHJtX2RwX21zdF9icmFuY2ggKm1zdGI7Cj4gPiArCXN0cnVjdCBkcm1fZHBfbXN0X3BvcnQg KnBvcnQ7Cj4gPiAgCWludCByZXQgPSAwOwo+ID4gIAo+ID4gIAltdXRleF9sb2NrKCZtZ3ItPmxv Y2spOwo+ID4gQEAgLTIyNDYsOCArMjMxMSwzNSBAQCBpbnQgZHJtX2RwX21zdF90b3BvbG9neV9t Z3JfcmVzdW1lKHN0cnVjdAo+ID4gZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1ncikKPiA+ICAJ CWRybV9kcF9jaGVja19tc3RiX2d1aWQobWdyLT5tc3RfcHJpbWFyeSwgZ3VpZCk7Cj4gPiAgCj4g PiAgCQlyZXQgPSAwOwo+ID4gLQl9IGVsc2UKPiA+ICsKPiA+ICsJCS8qCj4gPiArCQkgKiBTb21l IGh1YnMgYWxzbyBmb3JnZXQgdG8gbm90aWZ5IHVzIG9mIGhvdHBsdWdzIHRoYXQKPiA+IGhhcHBl bmVkCj4gPiArCQkgKiB3aGlsZSB3ZSB3ZXJlIGluIHN1c3BlbmQsIHNvIHdlIG5lZWQgdG8gdmVy aWZ5IHRoYXQgdGhlCj4gPiBlZGlkCj4gPiArCQkgKiBoYXNuJ3QgY2hhbmdlZCBmb3IgYW55IG9m IHRoZSBjb25uZWN0b3JzLiBJZiBpdCBoYXMgYmVlbiwKPiA+ICsJCSAqIHdlIHVuZm9ydHVuYXRl bHkgY2FuJ3QgcmVseSBvbiB0aGUgZG9jayB1cGRhdGluZyB1cyB3aXRoCj4gPiArCQkgKiBob3Rw bHVnIGV2ZW50cywgc28gaW5kaWNhdGUgd2UgbmVlZCBhIGZ1bGwgcmVjb25uZWN0Lgo+ID4gKwkJ ICovCj4gPiArCj4gPiArCQkvKiBNU1QncyBJMkMgaGVscGVycyBjYW4ndCBiZSB1c2VkIHdoaWxl IGhvbGRpbmcgdGhpcyBsb2NrICovCj4gPiArCQltdXRleF91bmxvY2soJm1nci0+bG9jayk7Cj4g PiArCj4gPiArCQltc3RiID0gZHJtX2RwX2dldF92YWxpZGF0ZWRfbXN0Yl9yZWYobWdyLCBtZ3It Pm1zdF9wcmltYXJ5KTsKPiA+ICsJCWlmIChtc3RiKSB7Cj4gPiArCQkJbGlzdF9mb3JfZWFjaF9l bnRyeShwb3J0LCAmbXN0Yi0+cG9ydHMsIG5leHQpIHsKPiA+ICsJCQkJaWYgKGRybV9kcF9tc3Rf ZWRpZHNfY2hhbmdlZChtZ3IsIHBvcnQpKSB7Cj4gPiArCQkJCQlyZXQgPSAtRUlOVkFMOwo+ID4g KwkJCQkJYnJlYWs7Cj4gPiArCQkJCX0KPiA+ICsJCQl9Cj4gPiArCj4gPiArCQkJZHJtX2RwX3B1 dF9tc3RfYnJhbmNoX2RldmljZShtc3RiKTsKPiA+ICsJCX0KPiA+ICsJfSBlbHNlIHsKPiA+ICAJ CXJldCA9IC0xOwo+ID4gKwkJbXV0ZXhfdW5sb2NrKCZtZ3ItPmxvY2spOwo+ID4gKwl9Cj4gPiAr Cj4gPiArCXJldHVybiByZXQ7Cj4gPiAgCj4gPiAgb3V0X3VubG9jazoKPiA+ICAJbXV0ZXhfdW5s b2NrKCZtZ3ItPmxvY2spOwotLSAKQ2hlZXJzLAoJTHl1ZGUgUGF1bAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==