From mboxrd@z Thu Jan 1 00:00:00 1970 From: "james qian wang (Arm Technology China)" Subject: Re: drm/komeda: SW workaround for D71 doesn't flush shadow registers Date: Fri, 27 Sep 2019 08:00:41 +0000 Message-ID: <20190927080034.GA23652@jamwan02-TSP300> References: <20190906071750.4563-1-lowry.li@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0622.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1f::622]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7A7FA6EE9D for ; Fri, 27 Sep 2019 08:01:01 +0000 (UTC) In-Reply-To: <20190906071750.4563-1-lowry.li@arm.com> Content-Language: en-US Content-ID: <796F5E2AED0D0B41BFBD9F370FF6AE2F@eurprd08.prod.outlook.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Lowry Li (Arm Technology China)" Cc: nd , Ayan Halder , "airlied@linux.ie" , Liviu Dudau , "Jonathan Chai (Arm Technology China)" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "Julien Yin (Arm Technology China)" , "seanpaul@chromium.org" , Mihail Atanassov List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBTZXAgMDYsIDIwMTkgYXQgMDc6MTg6MDZBTSArMDAwMCwgTG93cnkgTGkgKEFybSBU ZWNobm9sb2d5IENoaW5hKSB3cm90ZToKPiBUaGlzIGlzIGEgU1cgd29ya2Fyb3VuZCBmb3Igc2hh ZG93IHVuLWZsdXNoZWQgd2hlbiB0b2dldGhlciB3aXRoIHRoZQo+IERPVSBUaW1pbmctZGlzYWJs ZS4KPiAKPiBENzEgSFcgZG9lc24ndCB1cGRhdGUgc2hhZG93IHJlZ2lzdGVycyB3aGVuIGRpc3Bs YXkgb3V0cHV0IGlzIHR1cm5lZAo+IG9mZi4gU28gd2hlbiB3ZSBkaXNhYmxlIGFsbCBwaXBlbGlu ZSBjb21wb25lbnRzIHRvZ2V0aGVyIHdpdGggZGlzcGxheQo+IG91dHB1dCBkaXNhYmxpbmcgYnkg b25lIGZsdXNoIG9yIG9uZSBvcGVyYXRpb24sIHRoZSBkaXNhYmxlIG9wZXJhdGlvbgo+IHVwZGF0 ZWQgcmVnaXN0ZXJzIHdpbGwgbm90IGJlIGZsdXNoZWQgb3IgdmFsaWQgaW4gSFcsIHdoaWNoIG1h eSBsZWFkCj4gcHJvYmxlbS4gVG8gd29ya2Fyb3VuZCB0aGlzIHByb2JsZW0sIGludHJvZHVjZSBh IHR3byBwaGFzZSBkaXNhYmxlIGZvcgo+IHBpcGVsaW5lIGRpc2FibGUuCj4gCj4gUGhhc2UxOiBE aXNhYmxlIGNvbXBvbmVudHMgd2l0aCBkaXNwbGF5IGlzIG9uIGFuZCBmbHVzaCBpdCwgdGhpcyBw aGFzZQo+ICAgICAgICAgZm9yIGZsdXNoaW5nIG9yIHZhbGlkYXRpbmcgdGhlIHNoYWRvdyByZWdp c3RlcnMuCj4gUGhhc2UyOiBUdXJuLW9mZiBkaXNwbGF5IG91dHB1dC4KPiAKPiBTaWduZWQtb2Zm LWJ5OiBMb3dyeSBMaSAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpIDxsb3dyeS5saUBhcm0uY29tPgo+ IC0tLQo+ICAuLi4vZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9kZXYuYyAgfCAx NiArKysrCj4gIC4uLi9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY3J0Yy5jICB8 IDczICsrKysrKysrKysrKy0tLS0tLS0KPiAgLi4uL2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX3BpcGVsaW5lLmggIHwgMTQgKysrLQo+ICAuLi4vZGlzcGxheS9rb21lZGEva29tZWRhX3Bp cGVsaW5lX3N0YXRlLmMgICAgfCAzMCArKysrKysrLQo+ICA0IGZpbGVzIGNoYW5nZWQsIDEwMyBp bnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2Rldi5jIGIvZHJpdmVycy9ncHUvZHJt L2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2Rldi5jCj4gaW5kZXggMjE1MWNiM2Y5ZTY4Li5l NzQwNjllZjNiN2IgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tv bWVkYS9kNzEvZDcxX2Rldi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tv bWVkYS9kNzEvZDcxX2Rldi5jCj4gQEAgLTQ4Nyw2ICs0ODcsMjIgQEAgc3RhdGljIGludCBkNzFf ZW51bV9yZXNvdXJjZXMoc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYpCj4gIAkJCWVyciA9IFBUUl9F UlIocGlwZSk7Cj4gIAkJCWdvdG8gZXJyX2NsZWFudXA7Cj4gIAkJfQo+ICsKPiArCQkvKiBENzEg SFcgZG9lc24ndCB1cGRhdGUgc2hhZG93IHJlZ2lzdGVycyB3aGVuIGRpc3BsYXkgb3V0cHV0Cj4g KwkJICogaXMgdHVybmluZyBvZmYsIHNvIHdoZW4gd2UgZGlzYWJsZSBhbGwgcGlwZWxpbmUgY29t cG9uZW50cwo+ICsJCSAqIHRvZ2V0aGVyIHdpdGggZGlzcGxheSBvdXRwdXQgZGlzYWJsZSBieSBv bmUgZmx1c2ggb3Igb25lCj4gKwkJICogb3BlcmF0aW9uLCB0aGUgZGlzYWJsZSBvcGVyYXRpb24g dXBkYXRlZCByZWdpc3RlcnMgd2lsbCBub3QKPiArCQkgKiBiZSBmbHVzaCB0byBvciB2YWxpZCBp biBIVywgd2hpY2ggbWF5IGxlYWRzIHByb2JsZW0uCj4gKwkJICogVG8gd29ya2Fyb3VuZCB0aGlz IHByb2JsZW0sIGludHJvZHVjZSBhIHR3byBwaGFzZSBkaXNhYmxlLgo+ICsJCSAqIFBoYXNlMTog RGlzYWJsaW5nIGNvbXBvbmVudHMgd2l0aCBkaXNwbGF5IGlzIG9uIHRvIG1ha2Ugc3VyZQo+ICsJ CSAqCSAgIHRoZSBkaXNhYmxlIGNhbiBiZSBmbHVzaGVkIHRvIEhXLgo+ICsJCSAqIFBoYXNlMjog T25seSB0dXJuLW9mZiBkaXNwbGF5IG91dHB1dC4KPiArCQkgKi8KPiArCQl2YWx1ZSA9IEtPTUVE QV9QSVBFTElORV9JTVBST0NTIHwKPiArCQkJQklUKEtPTUVEQV9DT01QT05FTlRfVElNSU5HX0NU UkxSKTsKPiArCj4gKwkJcGlwZS0+c3RhbmRhbG9uZV9kaXNhYmxlZF9jb21wcyA9IHZhbHVlOwo+ ICsKPiAgCQlkNzEtPnBpcGVzW2ldID0gdG9fZDcxX3BpcGVsaW5lKHBpcGUpOwo+ICAJfQo+ICAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf Y3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY3J0Yy5j Cj4gaW5kZXggMzE1NWJiMTdlYTFiLi5jMGM4MDNkNTZkNWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY3J0Yy5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY3J0Yy5jCj4gQEAgLTI4MCwyMCAr MjgwLDUzIEBAIGtvbWVkYV9jcnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRj LAo+ICAJa29tZWRhX2NydGNfZG9fZmx1c2goY3J0Yywgb2xkKTsKPiAgfQo+ICAKPiArc3RhdGlj IHZvaWQKPiAra29tZWRhX2NydGNfZmx1c2hfYW5kX3dhaXRfZm9yX2ZsaXBfZG9uZShzdHJ1Y3Qg a29tZWRhX2NydGMgKmtjcnRjLAo+ICsJCQkJCSBzdHJ1Y3QgY29tcGxldGlvbiAqaW5wdXRfZmxp cF9kb25lKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtID0ga2NydGMtPmJhc2UuZGV2 Owo+ICsJc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYgPSBrY3J0Yy0+bWFzdGVyLT5tZGV2Owo+ICsJ c3RydWN0IGNvbXBsZXRpb24gKmZsaXBfZG9uZTsKPiArCXN0cnVjdCBjb21wbGV0aW9uIHRlbXA7 Cj4gKwlpbnQgdGltZW91dDsKPiArCj4gKwkvKiBpZiBjYWxsZXIgZG9lc24ndCBzZW5kIGEgZmxp cF9kb25lLCB1c2UgYSBwcml2YXRlIGZsaXBfZG9uZSAqLwo+ICsJaWYgKGlucHV0X2ZsaXBfZG9u ZSkgewo+ICsJCWZsaXBfZG9uZSA9IGlucHV0X2ZsaXBfZG9uZTsKPiArCX0gZWxzZSB7Cj4gKwkJ aW5pdF9jb21wbGV0aW9uKCZ0ZW1wKTsKPiArCQlrY3J0Yy0+ZGlzYWJsZV9kb25lID0gJnRlbXA7 Cj4gKwkJZmxpcF9kb25lID0gJnRlbXA7Cj4gKwl9Cj4gKwo+ICsJbWRldi0+ZnVuY3MtPmZsdXNo KG1kZXYsIGtjcnRjLT5tYXN0ZXItPmlkLCAwKTsKPiArCj4gKwkvKiB3YWl0IHRoZSBmbGlwIHRh a2UgYWZmZWN0LiovCj4gKwl0aW1lb3V0ID0gd2FpdF9mb3JfY29tcGxldGlvbl90aW1lb3V0KGZs aXBfZG9uZSwgSFopOwo+ICsJaWYgKHRpbWVvdXQgPT0gMCkgewo+ICsJCURSTV9FUlJPUigid2Fp dCBwaXBlJWQgZmxpcCBkb25lIHRpbWVvdXRcbiIsIGtjcnRjLT5tYXN0ZXItPmlkKTsKPiArCQlp ZiAoIWlucHV0X2ZsaXBfZG9uZSkgewo+ICsJCQl1bnNpZ25lZCBsb25nIGZsYWdzOwo+ICsKPiAr CQkJc3Bpbl9sb2NrX2lycXNhdmUoJmRybS0+ZXZlbnRfbG9jaywgZmxhZ3MpOwo+ICsJCQlrY3J0 Yy0+ZGlzYWJsZV9kb25lID0gTlVMTDsKPiArCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZHJt LT5ldmVudF9sb2NrLCBmbGFncyk7Cj4gKwkJfQo+ICsJfQo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9p ZAo+ICBrb21lZGFfY3J0Y19hdG9taWNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4g IAkJCSAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkKQo+ICB7Cj4gIAlzdHJ1Y3Qga29tZWRh X2NydGMgKmtjcnRjID0gdG9fa2NydGMoY3J0Yyk7Cj4gIAlzdHJ1Y3Qga29tZWRhX2NydGNfc3Rh dGUgKm9sZF9zdCA9IHRvX2tjcnRjX3N0KG9sZCk7Cj4gLQlzdHJ1Y3Qga29tZWRhX2RldiAqbWRl diA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpt YXN0ZXIgPSBrY3J0Yy0+bWFzdGVyOwo+ICAJc3RydWN0IGtvbWVkYV9waXBlbGluZSAqc2xhdmUg ID0ga2NydGMtPnNsYXZlOwo+ICAJc3RydWN0IGNvbXBsZXRpb24gKmRpc2FibGVfZG9uZSA9ICZj cnRjLT5zdGF0ZS0+Y29tbWl0LT5mbGlwX2RvbmU7Cj4gLQlzdHJ1Y3QgY29tcGxldGlvbiB0ZW1w Owo+IC0JaW50IHRpbWVvdXQ7Cj4gKwlib29sIG5lZWRzX3BoYXNlMiA9IGZhbHNlOwo+ICAKPiAt CURSTV9ERUJVR19BVE9NSUMoIkNSVEMlZF9ESVNBQkxFOiBhY3RpdmVfcGlwZXM6IDB4JXgsIGFm ZmVjdGVkOiAweCV4LlxuIiwKPiArCURSTV9ERUJVR19BVE9NSUMoIkNSVEMlZF9ESVNBQkxFOiBh Y3RpdmVfcGlwZXM6IDB4JXgsIGFmZmVjdGVkOiAweCV4XG4iLAo+ICAJCQkgZHJtX2NydGNfaW5k ZXgoY3J0YyksCj4gIAkJCSBvbGRfc3QtPmFjdGl2ZV9waXBlcywgb2xkX3N0LT5hZmZlY3RlZF9w aXBlcyk7Cj4gIAo+IEBAIC0zMDEsNyArMzM0LDcgQEAga29tZWRhX2NydGNfYXRvbWljX2Rpc2Fi bGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCWtvbWVkYV9waXBlbGluZV9kaXNhYmxlKHNs YXZlLCBvbGQtPnN0YXRlKTsKPiAgCj4gIAlpZiAoaGFzX2JpdChtYXN0ZXItPmlkLCBvbGRfc3Qt PmFjdGl2ZV9waXBlcykpCj4gLQkJa29tZWRhX3BpcGVsaW5lX2Rpc2FibGUobWFzdGVyLCBvbGQt PnN0YXRlKTsKPiArCQluZWVkc19waGFzZTIgPSBrb21lZGFfcGlwZWxpbmVfZGlzYWJsZShtYXN0 ZXIsIG9sZC0+c3RhdGUpOwo+ICAKPiAgCS8qIGNydGNfZGlzYWJsZSBoYXMgdHdvIHNjZW5hcmlv cyBhY2NvcmRpbmcgdG8gdGhlIHN0YXRlLT5hY3RpdmUgc3dpdGNoLgo+ICAJICogMS4gYWN0aXZl IC0+IGluYWN0aXZlCj4gQEAgLTMyMCwzMCArMzUzLDIwIEBAIGtvbWVkYV9jcnRjX2F0b21pY19k aXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCSAqICAgIFRoYXQncyBhbHNvIHRoZSBy ZWFzb24gd2h5IHNraXAgbW9kZXNldCBjb21taXQgaW4KPiAgCSAqICAgIGtvbWVkYV9jcnRjX2F0 b21pY19mbHVzaCgpCj4gIAkgKi8KPiAtCWlmIChjcnRjLT5zdGF0ZS0+YWN0aXZlKSB7Cj4gLQkJ c3RydWN0IGtvbWVkYV9waXBlbGluZV9zdGF0ZSAqcGlwZV9zdDsKPiAtCQkvKiBjbGVhciB0aGUg b2xkIGFjdGl2ZV9jb21wcyB0byB6ZXJvICovCj4gLQkJcGlwZV9zdCA9IGtvbWVkYV9waXBlbGlu ZV9nZXRfb2xkX3N0YXRlKG1hc3Rlciwgb2xkLT5zdGF0ZSk7Cj4gLQkJcGlwZV9zdC0+YWN0aXZl X2NvbXBzID0gMDsKPiArCWRpc2FibGVfZG9uZSA9IChuZWVkc19waGFzZTIgfHwgY3J0Yy0+c3Rh dGUtPmFjdGl2ZSkgPwo+ICsJCSAgICAgICBOVUxMIDogJmNydGMtPnN0YXRlLT5jb21taXQtPmZs aXBfZG9uZTsKPiAgCj4gLQkJaW5pdF9jb21wbGV0aW9uKCZ0ZW1wKTsKPiAtCQlrY3J0Yy0+ZGlz YWJsZV9kb25lID0gJnRlbXA7Cj4gLQkJZGlzYWJsZV9kb25lID0gJnRlbXA7Cj4gLQl9Cj4gKwkv KiB3YWl0IHBoYXNlIDEgZGlzYWJsZSBkb25lICovCj4gKwlrb21lZGFfY3J0Y19mbHVzaF9hbmRf d2FpdF9mb3JfZmxpcF9kb25lKGtjcnRjLCBkaXNhYmxlX2RvbmUpOwo+ICAKPiAtCW1kZXYtPmZ1 bmNzLT5mbHVzaChtZGV2LCBtYXN0ZXItPmlkLCAwKTsKPiArCS8qIHBoYXNlIDIgKi8KPiArCWlm IChuZWVkc19waGFzZTIpIHsKPiArCQlrb21lZGFfcGlwZWxpbmVfZGlzYWJsZShrY3J0Yy0+bWFz dGVyLCBvbGQtPnN0YXRlKTsKPiAgCj4gLQkvKiB3YWl0IHRoZSBkaXNhYmxlIHRha2UgYWZmZWN0 LiovCj4gLQl0aW1lb3V0ID0gd2FpdF9mb3JfY29tcGxldGlvbl90aW1lb3V0KGRpc2FibGVfZG9u ZSwgSFopOwo+IC0JaWYgKHRpbWVvdXQgPT0gMCkgewo+IC0JCURSTV9FUlJPUigiZGlzYWJsZSBw aXBlbGluZSVkIHRpbWVvdXQuXG4iLCBrY3J0Yy0+bWFzdGVyLT5pZCk7Cj4gLQkJaWYgKGNydGMt PnN0YXRlLT5hY3RpdmUpIHsKPiAtCQkJdW5zaWduZWQgbG9uZyBmbGFnczsKPiArCQlkaXNhYmxl X2RvbmUgPSBjcnRjLT5zdGF0ZS0+YWN0aXZlID8KPiArCQkJICAgICAgIE5VTEwgOiAmY3J0Yy0+ c3RhdGUtPmNvbW1pdC0+ZmxpcF9kb25lOwo+ICAKPiAtCQkJc3Bpbl9sb2NrX2lycXNhdmUoJmNy dGMtPmRldi0+ZXZlbnRfbG9jaywgZmxhZ3MpOwo+IC0JCQlrY3J0Yy0+ZGlzYWJsZV9kb25lID0g TlVMTDsKPiAtCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY3J0Yy0+ZGV2LT5ldmVudF9sb2Nr LCBmbGFncyk7Cj4gLQkJfQo+ICsJCWtvbWVkYV9jcnRjX2ZsdXNoX2FuZF93YWl0X2Zvcl9mbGlw X2RvbmUoa2NydGMsIGRpc2FibGVfZG9uZSk7Cj4gIAl9Cj4gIAo+ICAJZHJtX2NydGNfdmJsYW5r X29mZihjcnRjKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tv bWVkYS9rb21lZGFfcGlwZWxpbmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21l ZGEva29tZWRhX3BpcGVsaW5lLmgKPiBpbmRleCA0ZWFjMjNlZjU2YzEuLjJhZmQwNzU3OTEzOCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9w aXBlbGluZS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21l ZGFfcGlwZWxpbmUuaAo+IEBAIC00OTYsNiArNDk2LDE4IEBAIHN0cnVjdCBrb21lZGFfcGlwZWxp bmUgewo+ICAJaW50IGlkOwo+ICAJLyoqIEBhdmFpbF9jb21wczogYXZhaWxhYmxlIGNvbXBvbmVu dHMgbWFzayBvZiBwaXBlbGluZSAqLwo+ICAJdTMyIGF2YWlsX2NvbXBzOwo+ICsJLyoqCj4gKwkg KiBAc3RhbmRhbG9uZV9kaXNhYmxlZF9jb21wczoKPiArCSAqCj4gKwkgKiBXaGVuIGRpc2FibGUg dGhlIHBpcGVsaW5lLCBzb21lIGNvbXBvbmVudHMgY2FuIG5vdCBiZSBkaXNhYmxlZAo+ICsJICog dG9nZXRoZXIgd2l0aCBvdGhlcnMsIGJ1dCBuZWVkIGEgc3BhcmF0ZWQgYW5kIHN0YW5kYWxvbmUg ZGlzYWJsZS4KPiArCSAqIFRoZSBzdGFuZGFsb25lX2Rpc2FibGVkX2NvbXBzIGFyZSB0aGUgY29t cG9uZW50cyB3aGljaCBuZWVkIHRvIGJlCj4gKwkgKiBkaXNhYmxlZCBzdGFuZGFsb25lLCBhbmQg dGhpcyBjb25jZXB0IGFsc28gaW50cm9kdWNlIGNvbmNlcHQgb2YKPiArCSAqIHR3byBwaGFzZS4K PiArCSAqIHBoYXNlIDE6IGZvciBkaXNhYmxpbmcgdGhlIGNvbW1vbiBjb21wb25lbnRzLgo+ICsJ ICogcGhhc2UgMjogZm9yIGRpc2FibGluZyB0aGUgc3RhbmRhbG9uZ19kaXNhYmxlZF9jb21wcy4K PiArCSAqLwo+ICsJdTMyIHN0YW5kYWxvbmVfZGlzYWJsZWRfY29tcHM7Cj4gIAkvKiogQG5fbGF5 ZXJzOiB0aGUgbnVtYmVyIG9mIGxheWVyIG9uIEBsYXllcnMgKi8KPiAgCWludCBuX2xheWVyczsK PiAgCS8qKiBAbGF5ZXJzOiB0aGUgcGlwZWxpbmUgbGF5ZXJzICovCj4gQEAgLTY3NCw3ICs2ODYs NyBAQCBpbnQga29tZWRhX3JlbGVhc2VfdW5jbGFpbWVkX3Jlc291cmNlcyhzdHJ1Y3Qga29tZWRh X3BpcGVsaW5lICpwaXBlLAo+ICBzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lX3N0YXRlICoKPiAga29t ZWRhX3BpcGVsaW5lX2dldF9vbGRfc3RhdGUoc3RydWN0IGtvbWVkYV9waXBlbGluZSAqcGlwZSwK PiAgCQkJICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiAtdm9pZCBrb21l ZGFfcGlwZWxpbmVfZGlzYWJsZShzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlLAo+ICtib29s IGtvbWVkYV9waXBlbGluZV9kaXNhYmxlKHN0cnVjdCBrb21lZGFfcGlwZWxpbmUgKnBpcGUsCj4g IAkJCSAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSk7Cj4gIHZvaWQga29t ZWRhX3BpcGVsaW5lX3VwZGF0ZShzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlLAo+ICAJCQkg ICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSk7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lX3N0YXRlLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZV9zdGF0 ZS5jCj4gaW5kZXggZjJjNWQ2YzhmNTA4Li43Njk5MzIyOTQ5YmIgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5l X3N0YXRlLmMKPiBAQCAtMTg5OSw3ICsxODk5LDE3IEBAIGludCBrb21lZGFfcmVsZWFzZV91bmNs YWltZWRfcmVzb3VyY2VzKHN0cnVjdCBrb21lZGFfcGlwZWxpbmUgKnBpcGUsCj4gIAlyZXR1cm4g MDsKPiAgfQo+ICAKPiAtdm9pZCBrb21lZGFfcGlwZWxpbmVfZGlzYWJsZShzdHJ1Y3Qga29tZWRh X3BpcGVsaW5lICpwaXBlLAo+ICsvKiBTaW5jZSBzdGFuZGFsb25nIGRpc2FibGVkIGNvbXBvbmVu dHMgbXVzdCBiZSBkaXNhYmxlZCBzZXBhcmF0ZWx5IGFuZCBpbiB0aGUKPiArICogbGFzdCwgU28g YSBjb21wbGV0ZSBkaXNhYmxlIG9wZXJhdGlvbiBtYXkgbmVlZHMgdG8gY2FsbCBwaXBlbGluZV9k aXNhYmxlCj4gKyAqIHR3aWNlICh0d28gcGhhc2UgZGlzYWJsaW5nKS4KPiArICogUGhhc2UgMTog ZGlzYWJsZSB0aGUgY29tbW9uIGNvbXBvbmVudHMsIGZsdXNoIGl0Lgo+ICsgKiBQaGFzZSAyOiBk aXNhYmxlIHRoZSBzdGFuZGFsb25lIGRpc2FibGVkIGNvbXBvbmVudHMsIGZsdXNoIGl0Lgo+ICsg Kgo+ICsgKiBSRVRVUk5TOgo+ICsgKiB0cnVlOiBkaXNhYmxlIGlzIG5vdCBjb21wbGV0ZSwgbmVl ZHMgYSBwaGFzZSAyIGRpc2FibGUuCj4gKyAqIGZhbHNlOiBkaXNhYmxlIGlzIGNvbXBsZXRlLgo+ ICsgKi8KPiArYm9vbCBrb21lZGFfcGlwZWxpbmVfZGlzYWJsZShzdHJ1Y3Qga29tZWRhX3BpcGVs aW5lICpwaXBlLAo+ICAJCQkgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUp Cj4gIHsKPiAgCXN0cnVjdCBrb21lZGFfcGlwZWxpbmVfc3RhdGUgKm9sZDsKPiBAQCAtMTkwOSw5 ICsxOTE5LDE0IEBAIHZvaWQga29tZWRhX3BpcGVsaW5lX2Rpc2FibGUoc3RydWN0IGtvbWVkYV9w aXBlbGluZSAqcGlwZSwKPiAgCj4gIAlvbGQgPSBrb21lZGFfcGlwZWxpbmVfZ2V0X29sZF9zdGF0 ZShwaXBlLCBvbGRfc3RhdGUpOwo+ICAKPiAtCWRpc2FibGluZ19jb21wcyA9IG9sZC0+YWN0aXZl X2NvbXBzOwo+IC0JRFJNX0RFQlVHX0FUT01JQygiUElQRSVkOiBkaXNhYmxpbmdfY29tcHM6IDB4 JXguXG4iLAo+IC0JCQkgcGlwZS0+aWQsIGRpc2FibGluZ19jb21wcyk7Cj4gKwlkaXNhYmxpbmdf Y29tcHMgPSBvbGQtPmFjdGl2ZV9jb21wcyAmCj4gKwkJCSAgKH5waXBlLT5zdGFuZGFsb25lX2Rp c2FibGVkX2NvbXBzKTsKPiArCWlmICghZGlzYWJsaW5nX2NvbXBzKQo+ICsJCWRpc2FibGluZ19j b21wcyA9IG9sZC0+YWN0aXZlX2NvbXBzICYKPiArCQkJCSAgcGlwZS0+c3RhbmRhbG9uZV9kaXNh YmxlZF9jb21wczsKPiArCj4gKwlEUk1fREVCVUdfQVRPTUlDKCJQSVBFJWQ6IGFjdGl2ZV9jb21w czogMHgleCwgZGlzYWJsaW5nX2NvbXBzOiAweCV4LlxuIiwKPiArCQkJIHBpcGUtPmlkLCBvbGQt PmFjdGl2ZV9jb21wcywgZGlzYWJsaW5nX2NvbXBzKTsKPiAgCj4gIAlkcF9mb3JfZWFjaF9zZXRf Yml0KGlkLCBkaXNhYmxpbmdfY29tcHMpIHsKPiAgCQljID0ga29tZWRhX3BpcGVsaW5lX2dldF9j b21wb25lbnQocGlwZSwgaWQpOwo+IEBAIC0xOTI5LDYgKzE5NDQsMTMgQEAgdm9pZCBrb21lZGFf cGlwZWxpbmVfZGlzYWJsZShzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlLAo+ICAKPiAgCQlj LT5mdW5jcy0+ZGlzYWJsZShjKTsKPiAgCX0KPiArCj4gKwkvKiBVcGRhdGUgdGhlIHBpcGVsaW5l IHN0YXRlLCBpZiB0aGVyZSBhcmUgY29tcG9uZW50cyB0aGF0IGFyZSBzdGlsbAo+ICsJICogYWN0 aXZlLCByZXR1cm4gdHJ1ZSBmb3IgY2FsbGluZyB0aGUgcGhhc2UgMiBkaXNhYmxlLgo+ICsJICov Cj4gKwlvbGQtPmFjdGl2ZV9jb21wcyAmPSB+ZGlzYWJsaW5nX2NvbXBzOwo+ICsKPiArCXJldHVy biBvbGQtPmFjdGl2ZV9jb21wcyA/IHRydWUgOiBmYWxzZTsKPiAgfQo+CgpMb29rcyBnb29kIGl0 IG1lLgoKd2lsbCBwdXNoIGl0IHRvIGRybS1taXNjLW5leHQKClJldmlld2VkLWJ5OiBKYW1lcyBR aWFuIFdhbmcgKEFybSBUZWNobm9sb2d5IENoaW5hKSA8amFtZXMucWlhbi53YW5nQGFybS5jb20+ Cgo+ICB2b2lkIGtvbWVkYV9waXBlbGluZV91cGRhdGUoc3RydWN0IGtvbWVkYV9waXBlbGluZSAq cGlwZSwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs