From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oscar Mateo Subject: Re: [PATCH 12/67] drm/i915/cnl: Introduce initial Cannonlake Workarounds. Date: Fri, 28 Apr 2017 17:11:58 +0000 Message-ID: <7fadf316-8bbb-d5c0-57f1-a9bf9aa6561f@intel.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"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5AA736E01B for ; Sat, 29 Apr 2017 00:11:57 +0000 (UTC) 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 CgpPbiAwNC8wNi8yMDE3IDA3OjE1IFBNLCBSb2RyaWdvIFZpdmkgd3JvdGU6Cj4gTGV0J3MgaW5o ZXJpdCB3b3JrYXJvdW5kcyBmcm9tIHByZXZpb3VzIHBsYXRmb3JtcyB0aGF0Cj4gYWNjb3JkaW5n IHRvIHdhX2RhdGFiYXNlIGFuZCBCU3BlYyBhcmUgc3RpbGwgdmFsaWQgZm9yCj4gQ2Fubm9ubGFr ZS4KPgo+IHYyOiBBZGQgbWlzc2VkIHdvcmthcm91bmRzLgo+IHYzOiBSZWJhc2UKPgo+IENjOiBN aWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBS b2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyAgICB8ICA0ICsrLS0KPiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmggICAgICAgIHwgIDYgKysrKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2VuZ2luZV9jcy5jIHwgMjYgKysrKysrKysrKysrKysrKysrKysKPiAgIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgIHwgIDEgKwo+ICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgICAgfCA0NCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tCj4gICA1IGZpbGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDggZGVsZXRp b25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+IGluZGV4IDhiYWI0YWUu LjNjODQ1N2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0 LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+IEBAIC0xODgx LDEyICsxODgxLDEyIEBAIHN0YXRpYyB2b2lkIGd0dF93cml0ZV93b3JrYXJvdW5kcyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICAJICogY2FsbGVkIG9uIGRyaXZlciBsb2Fk IGFuZCBhZnRlciBhIEdQVSByZXNldCwgc28geW91IGNhbiBwbGFjZQo+ICAgCSAqIHdvcmthcm91 bmRzIGhlcmUgZXZlbiBpZiB0aGV5IGdldCBvdmVyd3JpdHRlbiBieSBHUFUgcmVzZXQuCj4gICAJ ICovCj4gLQkvKiBXYUluY3JlYXNlRGVmYXVsdFRMQkVudHJpZXM6Y2h2LGJkdyxza2wsYnh0LGti bCxnbGsgKi8KPiArCS8qIFdhSW5jcmVhc2VEZWZhdWx0VExCRW50cmllczpjaHYsYmR3LHNrbCxi eHQsa2JsLGdsayxjbmwgKi8KPiAgIAlpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSkKPiAgIAkJ STkxNV9XUklURShHRU44X0wzX0xSQV8xX0dQR1BVLCBHRU44X0wzX0xSQV8xX0dQR1BVX0RFRkFV TFRfVkFMVUVfQkRXKTsKPiAgIAllbHNlIGlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkKPiAg IAkJSTkxNV9XUklURShHRU44X0wzX0xSQV8xX0dQR1BVLCBHRU44X0wzX0xSQV8xX0dQR1BVX0RF RkFVTFRfVkFMVUVfQ0hWKTsKPiAtCWVsc2UgaWYgKElTX0dFTjlfQkMoZGV2X3ByaXYpKQo+ICsJ ZWxzZSBpZiAoSVNfR0VOOV9CQyhkZXZfcHJpdikgfHwgSVNfR0VOMTAoZGV2X3ByaXYpKQo+ICAg CQlJOTE1X1dSSVRFKEdFTjhfTDNfTFJBXzFfR1BHUFUsIEdFTjlfTDNfTFJBXzFfR1BHUFVfREVG QVVMVF9WQUxVRV9TS0wpOwo+ICAgCWVsc2UgaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKQo+ICAg CQlJOTE1X1dSSVRFKEdFTjhfTDNfTFJBXzFfR1BHUFUsIEdFTjlfTDNfTFJBXzFfR1BHUFVfREVG QVVMVF9WQUxVRV9CWFQpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGluZGV4IGVmYmJlYjgu LmEwOWEwZDcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAtMzQyNCw2ICszNDI0 LDEyIEBAIGVudW0gewo+ICAgI2RlZmluZSAgIFBXTTFfR0FUSU5HX0RJUwkJKDEgPDwgMTMpCj4g ICAKPiAgIC8qCj4gKyAqIEdFTjEwIGNsb2NrIGdhdGluZyByZWdzCj4gKyAqLwo+ICsjZGVmaW5l IFNMSUNFX1VOSVRfTEVWRUxfQ0xLR0FURQlfTU1JTygweDk0ZDQpCj4gKyNkZWZpbmUgIFNBUkJV TklUX0NMS0dBVEVfRElTCQkoMSA8PCA1KQo+ICsKPiArLyoKPiAgICAqIERpc3BsYXkgZW5naW5l IHJlZ3MKPiAgICAqLwo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMK PiBpbmRleCA4NTRlOGUwLi5kYTgxOWE3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2VuZ2luZV9jcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZW5naW5lX2NzLmMKPiBAQCAtOTQ2LDYgKzk0NiwzMCBAQCBzdGF0aWMgaW50IGJ4dF9pbml0X3dv cmthcm91bmRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIAlyZXR1cm4gMDsK PiAgIH0KPiAgIAo+ICtzdGF0aWMgaW50IGNubF9pbml0X3dvcmthcm91bmRzKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZW5naW5lLT5pOTE1Owo+ICsJaW50IHJldDsKPiArCj4gKwkvKiBXYUluUGxhY2VE ZWNvbXByZXNzaW9uSGFuZzpjbmwgKi8KPiArCVdBX1NFVF9CSVQoR0VOOV9HQU1UX0VDT19SRUdf UldfSUEsCj4gKwkJICAgR0FNVF9FQ09fRU5BQkxFX0lOX1BMQUNFX0RFQ09NUFJFU1MpOwo+ICsK PiArCS8qIFdhRW5hYmxlUHJlZW1wdGlvbkdyYW51bGFyaXR5Q29udHJvbEJ5VU1EOmNubCAqLwo+ ICsJcmV0PSB3YV9yaW5nX3doaXRlbGlzdF9yZWcoZW5naW5lLCBHRU44X0NTX0NISUNLRU4xKTsK PiArCWlmIChyZXQpCj4gKwkJcmV0dXJuIHJldDsKPiArCj4gKwkvKiBXYUFsbG93VU1EVG9Nb2Rp ZnlIRENDaGlja2VuMTpjbmwgKHByZS1wcm9kKSAqLwo+ICsJaWYgKElTX0NOTF9SRVZJRChkZXZf cHJpdiwgQ05MX1JFVklEX0EwLCBDTkxfUkVWSURfQTApKSB7Cj4gKwkJcmV0ID0gd2FfcmluZ193 aGl0ZWxpc3RfcmVnKGVuZ2luZSwgR0VOOF9IRENfQ0hJQ0tFTjEpOwo+ICsJCWlmIChyZXQpCj4g KwkJCXJldHVybiByZXQ7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gICBzdGF0 aWMgaW50IGtibF9pbml0X3dvcmthcm91bmRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSkKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBlbmdpbmUt Pmk5MTU7Cj4gQEAgLTEwMzIsNiArMTA1Niw4IEBAIGludCBpbml0X3dvcmthcm91bmRzX3Jpbmco c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgCQllcnIgPSBrYmxfaW5pdF93b3Jr YXJvdW5kcyhlbmdpbmUpOwo+ICAgCWVsc2UgaWYgKElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQo+ ICAgCQllcnIgPSAgZ2xrX2luaXRfd29ya2Fyb3VuZHMoZW5naW5lKTsKPiArCWVsc2UgaWYgKElT X0NBTk5PTkxBS0UoZGV2X3ByaXYpKQo+ICsJCWVyciA9IGNubF9pbml0X3dvcmthcm91bmRzKGVu Z2luZSk7Cj4gICAJZWxzZQo+ICAgCQllcnIgPSAwOwo+ICAgCWlmIChlcnIpCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKPiBpbmRleCAwZGMxY2M0Li4yM2UyYmVkIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKPiBAQCAtMTA5Myw2ICsxMDkzLDcgQEAgc3RhdGljIGludCBpbnRlbF9p bml0X3dvcmthcm91bmRfYmIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgCQly ZXR1cm4gLUVJTlZBTDsKPiAgIAo+ICAgCXN3aXRjaCAoSU5URUxfR0VOKGVuZ2luZS0+aTkxNSkp IHsKPiArCWNhc2UgMTA6CgpBcmUgeW91IHN1cmUgdGhpcyBpcyB3aGF0IHlvdSB3YW50PyBnZW45 X2luaXRfcGVyY3R4X2JiIGlzIGp1c3QgYW4gZW1wdHkgCmJhdGNoYnVmZmVyLCBidXQgZ2VuOV9p bml0X2luZGlyZWN0Y3R4X2JiIGludHJvZHVjZXMgc29tZSBXQXMgdGhhdCBkbyAKbm90IGFwcGx5 IHRvIENOTCAoV2FGbHVzaENvaGVyZW50TDNDYWNoZUxpbmVzQXRDb250ZXh0U3dpdGNoLCAKV2FD bGVhclNsbVNwYWNlQXRDb250ZXh0U3dpdGNoLCBldGMuLi4pCgo+ICAgCWNhc2UgOToKPiAgIAkJ d2FfYmJfZm5bMF0gPSBnZW45X2luaXRfaW5kaXJlY3RjdHhfYmI7Cj4gICAJCXdhX2JiX2ZuWzFd ID0gZ2VuOV9pbml0X3BlcmN0eF9iYjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBpbmRleCA1 NWUxZTg4Li5iNmVjYWI5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAgLTU4LDI0 ICs1OCwyNCBAQAo+ICAgCj4gICBzdGF0aWMgdm9pZCBnZW45X2luaXRfY2xvY2tfZ2F0aW5nKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgIHsKPiAtCS8qIFNlZSBCc3BlYyBu b3RlIGZvciBQU1IyX0NUTCBiaXQgMzEsIFdhIzgyODpza2wsYnh0LGtibCAqLwo+ICsJLyogU2Vl IEJzcGVjIG5vdGUgZm9yIFBTUjJfQ1RMIGJpdCAzMSwgV2EjODI4OnNrbCxieHQsa2JsLGNubCAq Lwo+ICAgCUk5MTVfV1JJVEUoQ0hJQ0tFTl9QQVIxXzEsCj4gICAJCSAgIEk5MTVfUkVBRChDSElD S0VOX1BBUjFfMSkgfCBTS0xfRURQX1BTUl9GSVhfUkRXUkFQKTsKPiAgIAo+ICAgCUk5MTVfV1JJ VEUoR0VOOF9DT05GSUcwLAo+ICAgCQkgICBJOTE1X1JFQUQoR0VOOF9DT05GSUcwKSB8IEdFTjlf REVGQVVMVF9GSVhFUyk7Cj4gICAKPiAtCS8qIFdhRW5hYmxlQ2hpY2tlbkRDUFI6c2tsLGJ4dCxr YmwsZ2xrICovCj4gKwkvKiBXYUVuYWJsZUNoaWNrZW5EQ1BSOnNrbCxieHQsa2JsLGdsayxjbmwg Ki8KPiAgIAlJOTE1X1dSSVRFKEdFTjhfQ0hJQ0tFTl9EQ1BSXzEsCj4gICAJCSAgIEk5MTVfUkVB RChHRU44X0NISUNLRU5fRENQUl8xKSB8IE1BU0tfV0FLRU1FTSk7Cj4gICAKPiAtCS8qIFdhRmJj VHVybk9mZkZiY1dhdGVybWFyazpza2wsYnh0LGtibCAqLwo+IC0JLyogV2FGYmNXYWtlTWVtT246 c2tsLGJ4dCxrYmwsZ2xrICovCj4gKwkvKiBXYUZiY1R1cm5PZmZGYmNXYXRlcm1hcms6c2tsLGJ4 dCxrYmwsY25sICovCj4gKwkvKiBXYUZiY1dha2VNZW1Pbjpza2wsYnh0LGtibCxnbGssY25sICov Cj4gICAJSTkxNV9XUklURShESVNQX0FSQl9DVEwsIEk5MTVfUkVBRChESVNQX0FSQl9DVEwpIHwK PiAgIAkJICAgRElTUF9GQkNfV01fRElTIHwKPiAgIAkJICAgRElTUF9GQkNfTUVNT1JZX1dBS0Up Owo+ICAgCj4gLQkvKiBXYUZiY0hpZ2hNZW1Cd0NvcnJ1cHRpb25Bdm9pZGFuY2U6c2tsLGJ4dCxr YmwgKi8KPiArCS8qIFdhRmJjSGlnaE1lbUJ3Q29ycnVwdGlvbkF2b2lkYW5jZTpza2wsYnh0LGti bCxjbmwgKi8KPiAgIAlJOTE1X1dSSVRFKElMS19EUEZDX0NISUNLRU4sIEk5MTVfUkVBRChJTEtf RFBGQ19DSElDS0VOKSB8Cj4gICAJCSAgIElMS19EUEZDX0RJU0FCTEVfRFVNTVkwKTsKPiAgIH0K PiBAQCAtNTQyOCw4ICs1NDI4LDE5IEBAIGludCBpbnRlbF9zZXRfcnBzKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgdTggdmFsKQo+ICAgCj4gICBzdGF0aWMgdm9pZCBnZW45X2Rp c2FibGVfcmM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgIHsKPiArCWdl bjlfaW5pdF9jbG9ja19nYXRpbmcoZGV2X3ByaXYpOwo+ICsKPiAgIAlJOTE1X1dSSVRFKEdFTjZf UkNfQ09OVFJPTCwgMCk7Cj4gICAJSTkxNV9XUklURShHRU45X1BHX0VOQUJMRSwgMCk7Cj4gKwo+ ICsJLyogV2FEaXNhYmxlR2FtQ2xvY2tHYXRpbmc6Y25sIChwcmUtcHJvZCkgKi8KPiArCWlmIChJ U19DTkxfUkVWSUQoZGV2X3ByaXYsIENOTF9SRVZJRF9BMCwgQ05MX1JFVklEX0EwKSkKPiArCQlJ OTE1X1dSSVRFKEdFTjZfVUNHQ1RMMSwgSTkxNV9SRUFEKEdFTjZfVUNHQ1RMMSkgfAo+ICsJCQkg ICBHRU42X0dBTVVOSVRfQ0xPQ0tfR0FURV9ESVNBQkxFKTsKPiArCj4gKwkvKiBXYUZiY051a2VP bkhvc3RNb2RpZnk6Y25sICovCj4gKwlJOTE1X1dSSVRFKElMS19EUEZDX0NISUNLRU4sIEk5MTVf UkVBRChJTEtfRFBGQ19DSElDS0VOKSB8Cj4gKwkJICAgSUxLX0RQRkNfTlVLRV9PTl9BTllfTU9E SUZJQ0FUSU9OKTsKPiAgIH0KPiAgIAo+ICAgc3RhdGljIHZvaWQgZ2VuOV9kaXNhYmxlX3Jwcyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gQEAgLTc0NzQsNiArNzQ4NSwyNSBA QCBzdGF0aWMgdm9pZCBnZW44X3NldF9sM3NxY19jcmVkaXRzKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKPiAgIAlJOTE1X1dSSVRFKEdFTjdfTUlTQ0NQQ1RMLCBtaXNjY3BjdGwp Owo+ICAgfQo+ICAgCj4gK3N0YXRpYyB2b2lkIGNhbm5vbmxha2VfaW5pdF9jbG9ja19nYXRpbmco c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICt7Cj4gKwlnZW45X2luaXRfY2xv Y2tfZ2F0aW5nKGRldl9wcml2KTsKPiArCj4gKwkvKiBXYURpc2FibGVHYW1DbG9ja0dhdGluZzpj bmwgKHByZS1wcm9kKSAqLwo+ICsJaWYgKElTX0NOTF9SRVZJRChkZXZfcHJpdiwgQ05MX1JFVklE X0EwLCBDTkxfUkVWSURfQTApKQo+ICsJICAgICAgICBJOTE1X1dSSVRFKEdFTjZfVUNHQ1RMMSwg STkxNV9SRUFEKEdFTjZfVUNHQ1RMMSkgfAo+ICsJCQkgICBHRU42X0dBTVVOSVRfQ0xPQ0tfR0FU RV9ESVNBQkxFKTsKPiArCj4gKwkvKiBXYUZiY051a2VPbkhvc3RNb2RpZnk6Y25sICovCj4gKwlJ OTE1X1dSSVRFKElMS19EUEZDX0NISUNLRU4sIEk5MTVfUkVBRChJTEtfRFBGQ19DSElDS0VOKSB8 Cj4gKwkJICAgSUxLX0RQRkNfTlVLRV9PTl9BTllfTU9ESUZJQ0FUSU9OKTsKPiArCj4gKwkvKiBX YVNhcmJVbml0Q2xvY2tHYXRpbmdEaXNhYmxlOmNubCAocHJlLXByb2QpICovCj4gKwlpZiAoSVNf Q05MX1JFVklEKGRldl9wcml2LCBDTkxfUkVWSURfQTAsIENOTF9SRVZJRF9CMCkpCj4gKwkJSTkx NV9XUklURShTTElDRV9VTklUX0xFVkVMX0NMS0dBVEUsIEk5MTVfUkVBRChTTElDRV9VTklUX0xF VkVMX0NMS0dBVEUpIHwKPiArCQkJICAgU0FSQlVOSVRfQ0xLR0FURV9ESVMpOwo+ICt9Cj4gKwo+ ICAgc3RhdGljIHZvaWQga2FieWxha2VfaW5pdF9jbG9ja19nYXRpbmcoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+ICAgewo+ICAgCWdlbjlfaW5pdF9jbG9ja19nYXRpbmcoZGV2 X3ByaXYpOwo+IEBAIC03OTU0LDcgKzc5ODQsOSBAQCBzdGF0aWMgdm9pZCBub3BfaW5pdF9jbG9j a19nYXRpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAgICovCj4gICB2 b2lkIGludGVsX2luaXRfY2xvY2tfZ2F0aW5nX2hvb2tzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKPiAgIHsKPiAtCWlmIChJU19TS1lMQUtFKGRldl9wcml2KSkKPiArCWlmIChJ U19DQU5OT05MQUtFKGRldl9wcml2KSkKPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2Nr X2dhdGluZyA9IGNhbm5vbmxha2VfaW5pdF9jbG9ja19nYXRpbmc7Cj4gKwllbHNlIGlmIChJU19T S1lMQUtFKGRldl9wcml2KSkKPiAgIAkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9ja19nYXRp bmcgPSBza3lsYWtlX2luaXRfY2xvY2tfZ2F0aW5nOwo+ICAgCWVsc2UgaWYgKElTX0tBQllMQUtF KGRldl9wcml2KSkKPiAgIAkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9ja19nYXRpbmcgPSBr YWJ5bGFrZV9pbml0X2Nsb2NrX2dhdGluZzsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=