From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH 12/67] drm/i915/cnl: Introduce initial Cannonlake Workarounds. Date: Wed, 10 May 2017 14:17:16 +0300 Message-ID: <1494415036.4164.6.camel@gmail.com> References: <1491506163-14587-1-git-send-email-rodrigo.vivi@intel.com> <1491506163-14587-12-git-send-email-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pg0-x241.google.com (mail-pg0-x241.google.com [IPv6:2607:f8b0:400e:c05::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5601E6E076 for ; Wed, 10 May 2017 11:17:22 +0000 (UTC) Received: by mail-pg0-x241.google.com with SMTP id u187so3721056pgb.1 for ; Wed, 10 May 2017 04:17:22 -0700 (PDT) In-Reply-To: <1491506163-14587-12-git-send-email-rodrigo.vivi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Rodrigo Vivi , intel-gfx@lists.freedesktop.org Cc: Mika Kuoppala List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE3LTA0LTA2IGF0IDEyOjE1IC0wNzAwLCBSb2RyaWdvIFZpdmkgd3JvdGU6Cj4g TGV0J3MgaW5oZXJpdCB3b3JrYXJvdW5kcyBmcm9tIHByZXZpb3VzIHBsYXRmb3JtcyB0aGF0Cj4g YWNjb3JkaW5nIHRvIHdhX2RhdGFiYXNlIGFuZCBCU3BlYyBhcmUgc3RpbGwgdmFsaWQgZm9yCj4g Q2Fubm9ubGFrZS4KPiAKPiB2MjogQWRkIG1pc3NlZCB3b3JrYXJvdW5kcy4KPiB2MzogUmViYXNl Cj4gCj4gQ2M6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAaW50ZWwuY29tPgo+IFNpZ25l ZC1vZmYtYnk6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiAtLS0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgfCAgNCArKy0tCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICAgIHwgIDYgKysrKysKPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgfCAyNiArKysrKysrKysrKysrKysrKysrKwo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICB8ICAxICsKPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgICAgfCA0NCArKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tCj4gIDUgZmlsZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKSwgOCBk ZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+IGluZGV4IDhi YWI0YWUuLjNjODQ1N2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+IEBA IC0xODgxLDEyICsxODgxLDEyIEBAIHN0YXRpYyB2b2lkIGd0dF93cml0ZV93b3JrYXJvdW5kcyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkgKiBjYWxsZWQgb24gZHJpdmVy IGxvYWQgYW5kIGFmdGVyIGEgR1BVIHJlc2V0LCBzbyB5b3UgY2FuIHBsYWNlCj4gIAkgKiB3b3Jr YXJvdW5kcyBoZXJlIGV2ZW4gaWYgdGhleSBnZXQgb3ZlcndyaXR0ZW4gYnkgR1BVIHJlc2V0Lgo+ ICAJICovCj4gLQkvKiBXYUluY3JlYXNlRGVmYXVsdFRMQkVudHJpZXM6Y2h2LGJkdyxza2wsYnh0 LGtibCxnbGsgKi8KPiArCS8qIFdhSW5jcmVhc2VEZWZhdWx0VExCRW50cmllczpjaHYsYmR3LHNr bCxieHQsa2JsLGdsayxjbmwgKi8KPiAgCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQo+ICAJ CUk5MTVfV1JJVEUoR0VOOF9MM19MUkFfMV9HUEdQVSwgR0VOOF9MM19MUkFfMV9HUEdQVV9ERUZB VUxUX1ZBTFVFX0JEVyk7Cj4gIAllbHNlIGlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkKPiAg CQlJOTE1X1dSSVRFKEdFTjhfTDNfTFJBXzFfR1BHUFUsIEdFTjhfTDNfTFJBXzFfR1BHUFVfREVG QVVMVF9WQUxVRV9DSFYpOwo+IC0JZWxzZSBpZiAoSVNfR0VOOV9CQyhkZXZfcHJpdikpCj4gKwll bHNlIGlmIChJU19HRU45X0JDKGRldl9wcml2KSB8fCBJU19HRU4xMChkZXZfcHJpdikpCj4gIAkJ STkxNV9XUklURShHRU44X0wzX0xSQV8xX0dQR1BVLCBHRU45X0wzX0xSQV8xX0dQR1BVX0RFRkFV TFRfVkFMVUVfU0tMKTsKPiAgCWVsc2UgaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKQo+ICAJCUk5 MTVfV1JJVEUoR0VOOF9MM19MUkFfMV9HUEdQVSwgR0VOOV9MM19MUkFfMV9HUEdQVV9ERUZBVUxU X1ZBTFVFX0JYVCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5kZXggZWZiYmViOC4uYTA5 YTBkNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IEBAIC0zNDI0LDYgKzM0MjQsMTIg QEAgZW51bSB7Cj4gICNkZWZpbmUgICBQV00xX0dBVElOR19ESVMJCSgxIDw8IDEzKQo+ICAKPiAg LyoKPiArICogR0VOMTAgY2xvY2sgZ2F0aW5nIHJlZ3MKPiArICovCj4gKyNkZWZpbmUgU0xJQ0Vf VU5JVF9MRVZFTF9DTEtHQVRFCV9NTUlPKDB4OTRkNCkKPiArI2RlZmluZSAgU0FSQlVOSVRfQ0xL R0FURV9ESVMJCSgxIDw8IDUpCj4gKwo+ICsvKgo+ICAgKiBEaXNwbGF5IGVuZ2luZSByZWdzCj4g ICAqLwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5l X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+IGluZGV4IDg1 NGU4ZTAuLmRhODE5YTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZW5naW5lX2NzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3Mu Ywo+IEBAIC05NDYsNiArOTQ2LDMwIEBAIHN0YXRpYyBpbnQgYnh0X2luaXRfd29ya2Fyb3VuZHMo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4g K3N0YXRpYyBpbnQgY25sX2luaXRfd29ya2Fyb3VuZHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBlbmdp bmUtPmk5MTU7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCS8qIFdhSW5QbGFjZURlY29tcHJlc3Npb25I YW5nOmNubCAqLwo+ICsJV0FfU0VUX0JJVChHRU45X0dBTVRfRUNPX1JFR19SV19JQSwKPiArCQkg ICBHQU1UX0VDT19FTkFCTEVfSU5fUExBQ0VfREVDT01QUkVTUyk7Cj4gKwo+ICsJLyogV2FFbmFi bGVQcmVlbXB0aW9uR3JhbnVsYXJpdHlDb250cm9sQnlVTUQ6Y25sICovCj4gKwlyZXQ9IHdhX3Jp bmdfd2hpdGVsaXN0X3JlZyhlbmdpbmUsIEdFTjhfQ1NfQ0hJQ0tFTjEpOwo+ICsJaWYgKHJldCkK PiArCQlyZXR1cm4gcmV0Owo+ICsKPiArCS8qIFdhQWxsb3dVTURUb01vZGlmeUhEQ0NoaWNrZW4x OmNubCAocHJlLXByb2QpICovCj4gKwlpZiAoSVNfQ05MX1JFVklEKGRldl9wcml2LCBDTkxfUkVW SURfQTAsIENOTF9SRVZJRF9BMCkpIHsKPiArCQlyZXQgPSB3YV9yaW5nX3doaXRlbGlzdF9yZWco ZW5naW5lLCBHRU44X0hEQ19DSElDS0VOMSk7Cj4gKwkJaWYgKHJldCkKPiArCQkJcmV0dXJuIHJl dDsKPiArCX0KPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiAgc3RhdGljIGludCBrYmxfaW5p dF93b3JrYXJvdW5kcyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIHsKPiAgCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVuZ2luZS0+aTkxNTsKPiBAQCAtMTAz Miw2ICsxMDU2LDggQEAgaW50IGluaXRfd29ya2Fyb3VuZHNfcmluZyhzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpCj4gIAkJZXJyID0ga2JsX2luaXRfd29ya2Fyb3VuZHMoZW5naW5lKTsK PiAgCWVsc2UgaWYgKElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQo+ICAJCWVyciA9ICBnbGtfaW5p dF93b3JrYXJvdW5kcyhlbmdpbmUpOwo+ICsJZWxzZSBpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJp dikpCj4gKwkJZXJyID0gY25sX2luaXRfd29ya2Fyb3VuZHMoZW5naW5lKTsKPiAgCWVsc2UKPiAg CQllcnIgPSAwOwo+ICAJaWYgKGVycikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IGluZGV4 IDBkYzFjYzQuLjIzZTJiZWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IEBAIC0x MDkzLDYgKzEwOTMsNyBAQCBzdGF0aWMgaW50IGludGVsX2luaXRfd29ya2Fyb3VuZF9iYihzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gIAo+ICAJ c3dpdGNoIChJTlRFTF9HRU4oZW5naW5lLT5pOTE1KSkgewo+ICsJY2FzZSAxMDoKPiAgCWNhc2Ug OToKPiAgCQl3YV9iYl9mblswXSA9IGdlbjlfaW5pdF9pbmRpcmVjdGN0eF9iYjsKPiAgCQl3YV9i Yl9mblsxXSA9IGdlbjlfaW5pdF9wZXJjdHhfYmI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4g aW5kZXggNTVlMWU4OC4uYjZlY2FiOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9wbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IEBA IC01OCwyNCArNTgsMjQgQEAKPiAgCj4gIHN0YXRpYyB2b2lkIGdlbjlfaW5pdF9jbG9ja19nYXRp bmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gLQkvKiBTZWUgQnNw ZWMgbm90ZSBmb3IgUFNSMl9DVEwgYml0IDMxLCBXYSM4Mjg6c2tsLGJ4dCxrYmwgKi8KPiArCS8q IFNlZSBCc3BlYyBub3RlIGZvciBQU1IyX0NUTCBiaXQgMzEsIFdhIzgyODpza2wsYnh0LGtibCxj bmwgKi8KPiAgCUk5MTVfV1JJVEUoQ0hJQ0tFTl9QQVIxXzEsCj4gIAkJICAgSTkxNV9SRUFEKENI SUNLRU5fUEFSMV8xKSB8IFNLTF9FRFBfUFNSX0ZJWF9SRFdSQVApOwo+ICAKPiAgCUk5MTVfV1JJ VEUoR0VOOF9DT05GSUcwLAo+ICAJCSAgIEk5MTVfUkVBRChHRU44X0NPTkZJRzApIHwgR0VOOV9E RUZBVUxUX0ZJWEVTKTsKPiAgCj4gLQkvKiBXYUVuYWJsZUNoaWNrZW5EQ1BSOnNrbCxieHQsa2Js LGdsayAqLwo+ICsJLyogV2FFbmFibGVDaGlja2VuRENQUjpza2wsYnh0LGtibCxnbGssY25sICov Cj4gIAlJOTE1X1dSSVRFKEdFTjhfQ0hJQ0tFTl9EQ1BSXzEsCj4gIAkJICAgSTkxNV9SRUFEKEdF TjhfQ0hJQ0tFTl9EQ1BSXzEpIHwgTUFTS19XQUtFTUVNKTsKPiAgCj4gLQkvKiBXYUZiY1R1cm5P ZmZGYmNXYXRlcm1hcms6c2tsLGJ4dCxrYmwgKi8KPiAtCS8qIFdhRmJjV2FrZU1lbU9uOnNrbCxi eHQsa2JsLGdsayAqLwo+ICsJLyogV2FGYmNUdXJuT2ZmRmJjV2F0ZXJtYXJrOnNrbCxieHQsa2Js LGNubCAqLwo+ICsJLyogV2FGYmNXYWtlTWVtT246c2tsLGJ4dCxrYmwsZ2xrLGNubCAqLwo+ICAJ STkxNV9XUklURShESVNQX0FSQl9DVEwsIEk5MTVfUkVBRChESVNQX0FSQl9DVEwpIHwKPiAgCQkg ICBESVNQX0ZCQ19XTV9ESVMgfAo+ICAJCSAgIERJU1BfRkJDX01FTU9SWV9XQUtFKTsKPiAgCj4g LQkvKiBXYUZiY0hpZ2hNZW1Cd0NvcnJ1cHRpb25Bdm9pZGFuY2U6c2tsLGJ4dCxrYmwgKi8KPiAr CS8qIFdhRmJjSGlnaE1lbUJ3Q29ycnVwdGlvbkF2b2lkYW5jZTpza2wsYnh0LGtibCxjbmwgKi8K PiAgCUk5MTVfV1JJVEUoSUxLX0RQRkNfQ0hJQ0tFTiwgSTkxNV9SRUFEKElMS19EUEZDX0NISUNL RU4pIHwKPiAgCQkgICBJTEtfRFBGQ19ESVNBQkxFX0RVTU1ZMCk7Cj4gIH0KPiBAQCAtNTQyOCw4 ICs1NDI4LDE5IEBAIGludCBpbnRlbF9zZXRfcnBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwgdTggdmFsKQo+ICAKPiAgc3RhdGljIHZvaWQgZ2VuOV9kaXNhYmxlX3JjNihzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiArCWdlbjlfaW5pdF9jbG9ja19n YXRpbmcoZGV2X3ByaXYpOwo+ICsKCgpUaGlzIG1heSBiZSBjYWxsZWQgZnJvbSBpOTE1X2RybV9y ZXN1bWVfZWFybHkoKSB0aHJvdWdoCgoJaW50ZWxfdW5jb3JlX3Nhbml0aXplKCkKCWludGVsX3Nh bml0aXplX2d0X3Bvd2Vyc2F2ZSgpCglpbnRlbF9kaXNhYmxlX2d0X3Bvd2Vyc2F2ZSgpCgphdCB3 aGljaCBwb2ludCBwb3dlciB3ZWxscyBoYXZlbid0IGJlZW4gaW5pdGlhbGl6ZWQgeWV0LiBUaGlz IG1heSBjYXVzZSBwcm9ibGVtcwphdCBsZWFzdCB3aXRoIElMS19EUEZDX0NISUNLRU4gcmVnaXN0 ZXJzLCB3aGljaCByZXF1aXJlcyBwb3dlciB3ZWxsIDEgaW4gZ2VuOQpkZXZpY2VzLgoKQW5kZXIK CQoKPiAgCUk5MTVfV1JJVEUoR0VONl9SQ19DT05UUk9MLCAwKTsKPiAgCUk5MTVfV1JJVEUoR0VO OV9QR19FTkFCTEUsIDApOwo+ICsKPiArCS8qIFdhRGlzYWJsZUdhbUNsb2NrR2F0aW5nOmNubCAo cHJlLXByb2QpICovCj4gKwlpZiAoSVNfQ05MX1JFVklEKGRldl9wcml2LCBDTkxfUkVWSURfQTAs IENOTF9SRVZJRF9BMCkpCj4gKwkJSTkxNV9XUklURShHRU42X1VDR0NUTDEsIEk5MTVfUkVBRChH RU42X1VDR0NUTDEpIHwKPiArCQkJICAgR0VONl9HQU1VTklUX0NMT0NLX0dBVEVfRElTQUJMRSk7 Cj4gKwo+ICsJLyogV2FGYmNOdWtlT25Ib3N0TW9kaWZ5OmNubCAqLwo+ICsJSTkxNV9XUklURShJ TEtfRFBGQ19DSElDS0VOLCBJOTE1X1JFQUQoSUxLX0RQRkNfQ0hJQ0tFTikgfAo+ICsJCSAgIElM S19EUEZDX05VS0VfT05fQU5ZX01PRElGSUNBVElPTik7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lk IGdlbjlfZGlzYWJsZV9ycHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+IEBA IC03NDc0LDYgKzc0ODUsMjUgQEAgc3RhdGljIHZvaWQgZ2VuOF9zZXRfbDNzcWNfY3JlZGl0cyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlJOTE1X1dSSVRFKEdFTjdfTUlT Q0NQQ1RMLCBtaXNjY3BjdGwpOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBjYW5ub25sYWtlX2lu aXRfY2xvY2tfZ2F0aW5nKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiArewo+ ICsJZ2VuOV9pbml0X2Nsb2NrX2dhdGluZyhkZXZfcHJpdik7Cj4gKwo+ICsJLyogV2FEaXNhYmxl R2FtQ2xvY2tHYXRpbmc6Y25sIChwcmUtcHJvZCkgKi8KPiArCWlmIChJU19DTkxfUkVWSUQoZGV2 X3ByaXYsIENOTF9SRVZJRF9BMCwgQ05MX1JFVklEX0EwKSkKPiArCSAgICAgICAgSTkxNV9XUklU RShHRU42X1VDR0NUTDEsIEk5MTVfUkVBRChHRU42X1VDR0NUTDEpIHwKPiArCQkJICAgR0VONl9H QU1VTklUX0NMT0NLX0dBVEVfRElTQUJMRSk7Cj4gKwo+ICsJLyogV2FGYmNOdWtlT25Ib3N0TW9k aWZ5OmNubCAqLwo+ICsJSTkxNV9XUklURShJTEtfRFBGQ19DSElDS0VOLCBJOTE1X1JFQUQoSUxL X0RQRkNfQ0hJQ0tFTikgfAo+ICsJCSAgIElMS19EUEZDX05VS0VfT05fQU5ZX01PRElGSUNBVElP Tik7Cj4gKwo+ICsJLyogV2FTYXJiVW5pdENsb2NrR2F0aW5nRGlzYWJsZTpjbmwgKHByZS1wcm9k KSAqLwo+ICsJaWYgKElTX0NOTF9SRVZJRChkZXZfcHJpdiwgQ05MX1JFVklEX0EwLCBDTkxfUkVW SURfQjApKQo+ICsJCUk5MTVfV1JJVEUoU0xJQ0VfVU5JVF9MRVZFTF9DTEtHQVRFLCBJOTE1X1JF QUQoU0xJQ0VfVU5JVF9MRVZFTF9DTEtHQVRFKSB8Cj4gKwkJCSAgIFNBUkJVTklUX0NMS0dBVEVf RElTKTsKPiArfQo+ICsKPiAgc3RhdGljIHZvaWQga2FieWxha2VfaW5pdF9jbG9ja19nYXRpbmco c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gIAlnZW45X2luaXRfY2xv Y2tfZ2F0aW5nKGRldl9wcml2KTsKPiBAQCAtNzk1NCw3ICs3OTg0LDkgQEAgc3RhdGljIHZvaWQg bm9wX2luaXRfY2xvY2tfZ2F0aW5nKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK PiAgICovCj4gIHZvaWQgaW50ZWxfaW5pdF9jbG9ja19nYXRpbmdfaG9va3Moc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gLQlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikp Cj4gKwlpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpCj4gKwkJZGV2X3ByaXYtPmRpc3BsYXku aW5pdF9jbG9ja19nYXRpbmcgPSBjYW5ub25sYWtlX2luaXRfY2xvY2tfZ2F0aW5nOwo+ICsJZWxz ZSBpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikpCj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9j bG9ja19nYXRpbmcgPSBza3lsYWtlX2luaXRfY2xvY2tfZ2F0aW5nOwo+ICAJZWxzZSBpZiAoSVNf S0FCWUxBS0UoZGV2X3ByaXYpKQo+ICAJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0 aW5nID0ga2FieWxha2VfaW5pdF9jbG9ja19nYXRpbmc7Cl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=