From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Yet another if/else sort of newer to older platforms. Date: Mon, 25 Feb 2019 18:32:51 +0200 Message-ID: <20190225163251.GE20097@intel.com> References: <20190222221112.9833-1-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 170CE892B7 for ; Mon, 25 Feb 2019 16:32:56 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190222221112.9833-1-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 Cc: intel-gfx@lists.freedesktop.org, Lucas De Marchi List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBGZWIgMjIsIDIwMTkgYXQgMDI6MTE6MTJQTSAtMDgwMCwgUm9kcmlnbyBWaXZpIHdy b3RlOgo+IE5vIGZ1bmN0aW9uYWwgY2hhbmdlLiBKdXN0IGEgcmVvcmcgdG8gbWF0Y2ggdGhlIHBy ZWZlcnJlZAo+IGJlaGF2aW9yLgo+IAo+IFdoZW4gcmViYXNpbmcgaW50ZXJuYWwgYnJhbmNoIG9u IHRvcCBvZiBsYXRlc3Qgc29ydCBJIG5vdGljZWQKPiBmZXcgbW9yZSBjYXNlcyB0aGF0IG5lZWRz IHRvIGdldCByZW9yZGVyZWQuCj4gCj4gTGV0J3MgZG8gaW4gYSBidW5kbGUgdGhpcyB0aW1lIGFu ZCBob3BpbmcgdGhlcmUncyBubyBvdGhlcgo+IG1pc3NpbmcgcGxhY2VzLgo+IAo+IENjOiBWaWxs ZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IENjOiBDaHJpcyBX aWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBDYzogTHVjYXMgRGUgTWFyY2hpIDxs dWNhcy5kZW1hcmNoaUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxy b2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jICAgICAgICAgIHwgMjQgKysrKy0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcGVyZi5jICAgICAgICAgfCA1MCArKysrKysrKystLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfY2RjbGsuYyAgICAgICB8IDM4ICsrKysrKystLS0tLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3dvcmthcm91bmRzLmMgfCA2NCArKysrKysrKysrKystLS0t LS0tLS0tLS0KPiAgNCBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCA4OCBkZWxldGlv bnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBpbmRleCBjNjM1NGY2Y2RiZGIuLjBl M2Q1Y2YyYzRmOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+IEBAIC0yMTksMjAgKzIx OSwyMCBAQCBpbnRlbF92aXJ0X2RldGVjdF9wY2goY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ICAJICogbWFrZSBhbiBlZHVjYXRlZCBndWVzcyBhcyB0byB3aGljaCBQ Q0ggaXMgcmVhbGx5IHRoZXJlLgo+ICAJICovCj4gIAo+IC0JaWYgKElTX0dFTihkZXZfcHJpdiwg NSkpCj4gLQkJaWQgPSBJTlRFTF9QQ0hfSUJYX0RFVklDRV9JRF9UWVBFOwo+IC0JZWxzZSBpZiAo SVNfR0VOKGRldl9wcml2LCA2KSB8fCBJU19JVllCUklER0UoZGV2X3ByaXYpKQo+IC0JCWlkID0g SU5URUxfUENIX0NQVF9ERVZJQ0VfSURfVFlQRTsKPiAtCWVsc2UgaWYgKElTX0hTV19VTFQoZGV2 X3ByaXYpIHx8IElTX0JEV19VTFQoZGV2X3ByaXYpKQo+IC0JCWlkID0gSU5URUxfUENIX0xQVF9M UF9ERVZJQ0VfSURfVFlQRTsKPiAtCWVsc2UgaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8IElT X0JST0FEV0VMTChkZXZfcHJpdikpCj4gLQkJaWQgPSBJTlRFTF9QQ0hfTFBUX0RFVklDRV9JRF9U WVBFOwo+IC0JZWxzZSBpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikgfHwgSVNfS0FCWUxBS0UoZGV2 X3ByaXYpKQo+IC0JCWlkID0gSU5URUxfUENIX1NQVF9ERVZJQ0VfSURfVFlQRTsKPiArCWlmIChJ U19JQ0VMQUtFKGRldl9wcml2KSkKPiArCQlpZCA9IElOVEVMX1BDSF9JQ1BfREVWSUNFX0lEX1RZ UEU7Cj4gIAllbHNlIGlmIChJU19DT0ZGRUVMQUtFKGRldl9wcml2KSB8fCBJU19DQU5OT05MQUtF KGRldl9wcml2KSkKPiAgCQlpZCA9IElOVEVMX1BDSF9DTlBfREVWSUNFX0lEX1RZUEU7Cj4gLQll bHNlIGlmIChJU19JQ0VMQUtFKGRldl9wcml2KSkKPiAtCQlpZCA9IElOVEVMX1BDSF9JQ1BfREVW SUNFX0lEX1RZUEU7Cj4gKwllbHNlIGlmIChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZ TEFLRShkZXZfcHJpdikpCj4gKwkJaWQgPSBJTlRFTF9QQ0hfU1BUX0RFVklDRV9JRF9UWVBFOwo+ ICsJZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgSVNfQlJPQURXRUxMKGRldl9wcml2 KSkKPiArCQlpZCA9IElOVEVMX1BDSF9MUFRfREVWSUNFX0lEX1RZUEU7Cj4gKwllbHNlIGlmIChJ U19IU1dfVUxUKGRldl9wcml2KSB8fCBJU19CRFdfVUxUKGRldl9wcml2KSkKPiArCQlpZCA9IElO VEVMX1BDSF9MUFRfTFBfREVWSUNFX0lEX1RZUEU7CgpHZW5lcmljIG1hdGNoIGJlZm9yZSB0aGUg bW9yZSBzcGVjaWZpYyBvbmUuIFRoYXQncyBub3QgZ29pbmcgdG8gd29yay4KCj4gKwllbHNlIGlm IChJU19HRU4oZGV2X3ByaXYsIDYpIHx8IElTX0lWWUJSSURHRShkZXZfcHJpdikpCj4gKwkJaWQg PSBJTlRFTF9QQ0hfQ1BUX0RFVklDRV9JRF9UWVBFOwo+ICsJZWxzZSBpZiAoSVNfR0VOKGRldl9w cml2LCA1KSkKPiArCQlpZCA9IElOVEVMX1BDSF9JQlhfREVWSUNFX0lEX1RZUEU7Cj4gIAo+ICAJ aWYgKGlkKQo+ICAJCURSTV9ERUJVR19LTVMoIkFzc3VtaW5nIFBDSCBJRCAlMDR4XG4iLCBpZCk7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMKPiBpbmRleCA5ZWJmOTlmM2Q4ZDMuLjcyYTlhMzVi NDBlMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jCj4gQEAgLTI4ODEsMTIgKzI4ODEs MjQgQEAgdm9pZCBpOTE1X3BlcmZfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQo+ICAKPiAgCXN5c2ZzX2F0dHJfaW5pdCgmZGV2X3ByaXYtPnBlcmYub2EudGVzdF9j b25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHIpOwo+ICAKPiAtCWlmIChJU19IQVNXRUxMKGRldl9w cml2KSkgewo+IC0JCWk5MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmlnX2hzdyhkZXZfcHJpdik7Cj4g LQl9IGVsc2UgaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikpIHsKPiAtCQlpOTE1X3BlcmZfbG9h ZF90ZXN0X2NvbmZpZ19iZHcoZGV2X3ByaXYpOwo+IC0JfSBlbHNlIGlmIChJU19DSEVSUllWSUVX KGRldl9wcml2KSkgewo+IC0JCWk5MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmlnX2NodihkZXZfcHJp dik7Cj4gKwlpZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpIHsKPiArCQlpOTE1X3BlcmZfbG9hZF90 ZXN0X2NvbmZpZ19pY2woZGV2X3ByaXYpOwo+ICsJfSBlbHNlIGlmIChJU19DQU5OT05MQUtFKGRl dl9wcml2KSkgewo+ICsJCWk5MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmlnX2NubChkZXZfcHJpdik7 Cj4gKwl9IGVsc2UgaWYgKElTX0NPRkZFRUxBS0UoZGV2X3ByaXYpKSB7Cj4gKwkJaWYgKElTX0NG TF9HVDIoZGV2X3ByaXYpKQo+ICsJCQlpOTE1X3BlcmZfbG9hZF90ZXN0X2NvbmZpZ19jZmxndDIo ZGV2X3ByaXYpOwo+ICsJCWlmIChJU19DRkxfR1QzKGRldl9wcml2KSkKPiArCQkJaTkxNV9wZXJm X2xvYWRfdGVzdF9jb25maWdfY2ZsZ3QzKGRldl9wcml2KTsKPiArCX0gZWxzZSBpZiAoSVNfR0VN SU5JTEFLRShkZXZfcHJpdikpIHsKPiArCQlpOTE1X3BlcmZfbG9hZF90ZXN0X2NvbmZpZ19nbGso ZGV2X3ByaXYpOwo+ICsJfSBlbHNlIGlmIChJU19LQUJZTEFLRShkZXZfcHJpdikpIHsKPiArCQlp ZiAoSVNfS0JMX0dUMihkZXZfcHJpdikpCj4gKwkJCWk5MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmln X2tibGd0MihkZXZfcHJpdik7Cj4gKwkJZWxzZSBpZiAoSVNfS0JMX0dUMyhkZXZfcHJpdikpCj4g KwkJCWk5MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmlnX2tibGd0MyhkZXZfcHJpdik7Cj4gKwl9IGVs c2UgaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKSB7Cj4gKwkJaTkxNV9wZXJmX2xvYWRfdGVzdF9j b25maWdfYnh0KGRldl9wcml2KTsKPiAgCX0gZWxzZSBpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikp IHsKPiAgCQlpZiAoSVNfU0tMX0dUMihkZXZfcHJpdikpCj4gIAkJCWk5MTVfcGVyZl9sb2FkX3Rl c3RfY29uZmlnX3NrbGd0MihkZXZfcHJpdik7Cj4gQEAgLTI4OTQsMjUgKzI5MDYsMTMgQEAgdm9p ZCBpOTE1X3BlcmZfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ ICAJCQlpOTE1X3BlcmZfbG9hZF90ZXN0X2NvbmZpZ19za2xndDMoZGV2X3ByaXYpOwo+ICAJCWVs c2UgaWYgKElTX1NLTF9HVDQoZGV2X3ByaXYpKQo+ICAJCQlpOTE1X3BlcmZfbG9hZF90ZXN0X2Nv bmZpZ19za2xndDQoZGV2X3ByaXYpOwo+IC0JfSBlbHNlIGlmIChJU19CUk9YVE9OKGRldl9wcml2 KSkgewo+IC0JCWk5MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmlnX2J4dChkZXZfcHJpdik7Cj4gLQl9 IGVsc2UgaWYgKElTX0tBQllMQUtFKGRldl9wcml2KSkgewo+IC0JCWlmIChJU19LQkxfR1QyKGRl dl9wcml2KSkKPiAtCQkJaTkxNV9wZXJmX2xvYWRfdGVzdF9jb25maWdfa2JsZ3QyKGRldl9wcml2 KTsKPiAtCQllbHNlIGlmIChJU19LQkxfR1QzKGRldl9wcml2KSkKPiAtCQkJaTkxNV9wZXJmX2xv YWRfdGVzdF9jb25maWdfa2JsZ3QzKGRldl9wcml2KTsKPiAtCX0gZWxzZSBpZiAoSVNfR0VNSU5J TEFLRShkZXZfcHJpdikpIHsKPiAtCQlpOTE1X3BlcmZfbG9hZF90ZXN0X2NvbmZpZ19nbGsoZGV2 X3ByaXYpOwo+IC0JfSBlbHNlIGlmIChJU19DT0ZGRUVMQUtFKGRldl9wcml2KSkgewo+IC0JCWlm IChJU19DRkxfR1QyKGRldl9wcml2KSkKPiAtCQkJaTkxNV9wZXJmX2xvYWRfdGVzdF9jb25maWdf Y2ZsZ3QyKGRldl9wcml2KTsKPiAtCQlpZiAoSVNfQ0ZMX0dUMyhkZXZfcHJpdikpCj4gLQkJCWk5 MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmlnX2NmbGd0MyhkZXZfcHJpdik7Cj4gLQl9IGVsc2UgaWYg KElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKSB7Cj4gLQkJaTkxNV9wZXJmX2xvYWRfdGVzdF9jb25m aWdfY25sKGRldl9wcml2KTsKPiAtCX0gZWxzZSBpZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpIHsK PiAtCQlpOTE1X3BlcmZfbG9hZF90ZXN0X2NvbmZpZ19pY2woZGV2X3ByaXYpOwo+IC0JfQo+ICsJ fSBlbHNlIGlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewo+ICsJCWk5MTVfcGVyZl9sb2Fk X3Rlc3RfY29uZmlnX2NodihkZXZfcHJpdik7Cj4gKwl9IGVsc2UgaWYgKElTX0JST0FEV0VMTChk ZXZfcHJpdikpIHsKPiArCQlpOTE1X3BlcmZfbG9hZF90ZXN0X2NvbmZpZ19iZHcoZGV2X3ByaXYp Owo+ICsJfSBlbHNlIGlmIChJU19IQVNXRUxMKGRldl9wcml2KSkgewo+ICsJCWk5MTVfcGVyZl9s b2FkX3Rlc3RfY29uZmlnX2hzdyhkZXZfcHJpdik7Cj4gK30KPiAgCj4gIAlpZiAoZGV2X3ByaXYt PnBlcmYub2EudGVzdF9jb25maWcuaWQgPT0gMCkKPiAgCQlnb3RvIHN5c2ZzX2Vycm9yOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+IGluZGV4IDI2ZTAxYTg0NjVhZi4uNWQyNjY1Mzgw MzZkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4gQEAgLTI3NDQsMTggKzI3 NDQsMTMgQEAgdm9pZCBpbnRlbF91cGRhdGVfcmF3Y2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKPiAgICovCj4gIHZvaWQgaW50ZWxfaW5pdF9jZGNsa19ob29rcyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiAtCWlmIChJU19DSEVSUllWSUVXKGRl dl9wcml2KSkgewo+IC0JCWRldl9wcml2LT5kaXNwbGF5LnNldF9jZGNsayA9IGNodl9zZXRfY2Rj bGs7Cj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KPiAtCQkJdmx2 X21vZGVzZXRfY2FsY19jZGNsazsKPiAtCX0gZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJp dikpIHsKPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5zZXRfY2RjbGsgPSB2bHZfc2V0X2NkY2xrOwo+ IC0JCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayA9Cj4gLQkJCXZsdl9tb2Rl c2V0X2NhbGNfY2RjbGs7Cj4gLQl9IGVsc2UgaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikpIHsK PiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5zZXRfY2RjbGsgPSBiZHdfc2V0X2NkY2xrOwo+ICsJaWYg KElTX0lDRUxBS0UoZGV2X3ByaXYpKSB7Cj4gKwkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2NkY2xr ID0gaWNsX3NldF9jZGNsazsKPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2Rj bGsgPSBpY2xfbW9kZXNldF9jYWxjX2NkY2xrOwo+ICsJfSBlbHNlIGlmIChJU19DQU5OT05MQUtF KGRldl9wcml2KSkgewo+ICsJCWRldl9wcml2LT5kaXNwbGF5LnNldF9jZGNsayA9IGNubF9zZXRf Y2RjbGs7Cj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KPiAtCQkJ YmR3X21vZGVzZXRfY2FsY19jZGNsazsKPiArCQkJY25sX21vZGVzZXRfY2FsY19jZGNsazsKPiAg CX0gZWxzZSBpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpIHsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxh eS5zZXRfY2RjbGsgPSBieHRfc2V0X2NkY2xrOwo+ICAJCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVz ZXRfY2FsY19jZGNsayA9Cj4gQEAgLTI3NjQsMjMgKzI3NTksMjggQEAgdm9pZCBpbnRlbF9pbml0 X2NkY2xrX2hvb2tzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCQlkZXZf cHJpdi0+ZGlzcGxheS5zZXRfY2RjbGsgPSBza2xfc2V0X2NkY2xrOwo+ICAJCWRldl9wcml2LT5k aXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayA9Cj4gIAkJCXNrbF9tb2Rlc2V0X2NhbGNfY2RjbGs7 Cj4gLQl9IGVsc2UgaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKSB7Cj4gLQkJZGV2X3ByaXYt PmRpc3BsYXkuc2V0X2NkY2xrID0gY25sX3NldF9jZGNsazsKPiArCX0gZWxzZSBpZiAoSVNfQlJP QURXRUxMKGRldl9wcml2KSkgewo+ICsJCWRldl9wcml2LT5kaXNwbGF5LnNldF9jZGNsayA9IGJk d19zZXRfY2RjbGs7Cj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0K PiAtCQkJY25sX21vZGVzZXRfY2FsY19jZGNsazsKPiAtCX0gZWxzZSBpZiAoSVNfSUNFTEFLRShk ZXZfcHJpdikpIHsKPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5zZXRfY2RjbGsgPSBpY2xfc2V0X2Nk Y2xrOwo+IC0JCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNsayA9IGljbF9tb2Rl c2V0X2NhbGNfY2RjbGs7Cj4gKwkJCWJkd19tb2Rlc2V0X2NhbGNfY2RjbGs7Cj4gKwl9IGVsc2Ug aWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7Cj4gKwkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0 X2NkY2xrID0gY2h2X3NldF9jZGNsazsKPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2Nh bGNfY2RjbGsgPQo+ICsJCQl2bHZfbW9kZXNldF9jYWxjX2NkY2xrOwo+ICsJfSBlbHNlIGlmIChJ U19WQUxMRVlWSUVXKGRldl9wcml2KSkgewo+ICsJCWRldl9wcml2LT5kaXNwbGF5LnNldF9jZGNs ayA9IHZsdl9zZXRfY2RjbGs7Cj4gKwkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2Nk Y2xrID0KPiArCQkJdmx2X21vZGVzZXRfY2FsY19jZGNsazsKPiAgCX0KPiAgCj4gIAlpZiAoSVNf SUNFTEFLRShkZXZfcHJpdikpCj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2NkY2xrID0gaWNs X2dldF9jZGNsazsKPiAgCWVsc2UgaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKQo+ICAJCWRl dl9wcml2LT5kaXNwbGF5LmdldF9jZGNsayA9IGNubF9nZXRfY2RjbGs7Cj4gLQllbHNlIGlmIChJ U19HRU45X0JDKGRldl9wcml2KSkKPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfY2RjbGsgPSBz a2xfZ2V0X2NkY2xrOwo+ICAJZWxzZSBpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpCj4gIAkJZGV2 X3ByaXYtPmRpc3BsYXkuZ2V0X2NkY2xrID0gYnh0X2dldF9jZGNsazsKPiArCWVsc2UgaWYgKElT X0dFTjlfQkMoZGV2X3ByaXYpKQo+ICsJCWRldl9wcml2LT5kaXNwbGF5LmdldF9jZGNsayA9IHNr bF9nZXRfY2RjbGs7Cj4gIAllbHNlIGlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQo+ICAJCWRl dl9wcml2LT5kaXNwbGF5LmdldF9jZGNsayA9IGJkd19nZXRfY2RjbGs7Cj4gIAllbHNlIGlmIChJ U19IQVNXRUxMKGRldl9wcml2KSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfd29ya2Fyb3VuZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3dvcmthcm91 bmRzLmMKPiBpbmRleCA3NDNjZjViMDAxNTUuLjNlODEzOGI2NjE5MSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93b3JrYXJvdW5kcy5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfd29ya2Fyb3VuZHMuYwo+IEBAIC04NjIsMjYgKzg2MiwyNiBAQCBp Y2xfZ3Rfd29ya2Fyb3VuZHNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgc3Ry dWN0IGk5MTVfd2FfbGlzdCAqd2FsKQo+ICBzdGF0aWMgdm9pZAo+ICBndF9pbml0X3dvcmthcm91 bmRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBzdHJ1Y3QgaTkxNV93YV9saXN0ICp3 YWwpCj4gIHsKPiAtCWlmIChJTlRFTF9HRU4oaTkxNSkgPCA4KQo+ICsJaWYgKElTX0lDRUxBS0Uo aTkxNSkpCj4gKwkJaWNsX2d0X3dvcmthcm91bmRzX2luaXQoaTkxNSwgd2FsKTsKPiArCWVsc2Ug aWYgKElTX0NBTk5PTkxBS0UoaTkxNSkpCj4gKwkJY25sX2d0X3dvcmthcm91bmRzX2luaXQoaTkx NSwgd2FsKTsKPiArCWVsc2UgaWYgKElTX0NPRkZFRUxBS0UoaTkxNSkpCj4gKwkJY2ZsX2d0X3dv cmthcm91bmRzX2luaXQoaTkxNSwgd2FsKTsKPiArCWVsc2UgaWYgKElTX0dFTUlOSUxBS0UoaTkx NSkpCj4gKwkJZ2xrX2d0X3dvcmthcm91bmRzX2luaXQoaTkxNSwgd2FsKTsKPiArCWVsc2UgaWYg KElTX0tBQllMQUtFKGk5MTUpKQo+ICsJCWtibF9ndF93b3JrYXJvdW5kc19pbml0KGk5MTUsIHdh bCk7Cj4gKwllbHNlIGlmIChJU19CUk9YVE9OKGk5MTUpKQo+ICsJCWJ4dF9ndF93b3JrYXJvdW5k c19pbml0KGk5MTUsIHdhbCk7Cj4gKwllbHNlIGlmIChJU19TS1lMQUtFKGk5MTUpKQo+ICsJCXNr bF9ndF93b3JrYXJvdW5kc19pbml0KGk5MTUsIHdhbCk7Cj4gKwllbHNlIGlmIChJU19DSEVSUllW SUVXKGk5MTUpKQo+ICAJCXJldHVybjsKPiAgCWVsc2UgaWYgKElTX0JST0FEV0VMTChpOTE1KSkK PiAgCQlyZXR1cm47Cj4gLQllbHNlIGlmIChJU19DSEVSUllWSUVXKGk5MTUpKQo+ICsJZWxzZSBp ZiAoSU5URUxfR0VOKGk5MTUpIDwgOCkKPiAgCQlyZXR1cm47CgplbHNlIGlmIChnZW4gPj0gOCkK CU1JU1NJTkdfQ0FTRSguLi4pOwo/Cgo+IC0JZWxzZSBpZiAoSVNfU0tZTEFLRShpOTE1KSkKPiAt CQlza2xfZ3Rfd29ya2Fyb3VuZHNfaW5pdChpOTE1LCB3YWwpOwo+IC0JZWxzZSBpZiAoSVNfQlJP WFRPTihpOTE1KSkKPiAtCQlieHRfZ3Rfd29ya2Fyb3VuZHNfaW5pdChpOTE1LCB3YWwpOwo+IC0J ZWxzZSBpZiAoSVNfS0FCWUxBS0UoaTkxNSkpCj4gLQkJa2JsX2d0X3dvcmthcm91bmRzX2luaXQo aTkxNSwgd2FsKTsKPiAtCWVsc2UgaWYgKElTX0dFTUlOSUxBS0UoaTkxNSkpCj4gLQkJZ2xrX2d0 X3dvcmthcm91bmRzX2luaXQoaTkxNSwgd2FsKTsKPiAtCWVsc2UgaWYgKElTX0NPRkZFRUxBS0Uo aTkxNSkpCj4gLQkJY2ZsX2d0X3dvcmthcm91bmRzX2luaXQoaTkxNSwgd2FsKTsKPiAtCWVsc2Ug aWYgKElTX0NBTk5PTkxBS0UoaTkxNSkpCj4gLQkJY25sX2d0X3dvcmthcm91bmRzX2luaXQoaTkx NSwgd2FsKTsKPiAtCWVsc2UgaWYgKElTX0lDRUxBS0UoaTkxNSkpCj4gLQkJaWNsX2d0X3dvcmth cm91bmRzX2luaXQoaTkxNSwgd2FsKTsKPiAgCWVsc2UKPiAgCQlNSVNTSU5HX0NBU0UoSU5URUxf R0VOKGk5MTUpKTsKPiAgfQo+IEBAIC0xMDYzLDI2ICsxMDYzLDI2IEBAIHZvaWQgaW50ZWxfZW5n aW5lX2luaXRfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgCj4g IAl3YV9pbml0X3N0YXJ0KHcsICJ3aGl0ZWxpc3QiKTsKPiAgCj4gLQlpZiAoSU5URUxfR0VOKGk5 MTUpIDwgOCkKPiArCWlmIChJU19JQ0VMQUtFKGk5MTUpKQo+ICsJCWljbF93aGl0ZWxpc3RfYnVp bGQodyk7Cj4gKwllbHNlIGlmIChJU19DQU5OT05MQUtFKGk5MTUpKQo+ICsJCWNubF93aGl0ZWxp c3RfYnVpbGQodyk7Cj4gKwllbHNlIGlmIChJU19DT0ZGRUVMQUtFKGk5MTUpKQo+ICsJCWNmbF93 aGl0ZWxpc3RfYnVpbGQodyk7Cj4gKwllbHNlIGlmIChJU19HRU1JTklMQUtFKGk5MTUpKQo+ICsJ CWdsa193aGl0ZWxpc3RfYnVpbGQodyk7Cj4gKwllbHNlIGlmIChJU19LQUJZTEFLRShpOTE1KSkK PiArCQlrYmxfd2hpdGVsaXN0X2J1aWxkKHcpOwo+ICsJZWxzZSBpZiAoSVNfQlJPWFRPTihpOTE1 KSkKPiArCQlieHRfd2hpdGVsaXN0X2J1aWxkKHcpOwo+ICsJZWxzZSBpZiAoSVNfU0tZTEFLRShp OTE1KSkKPiArCQlza2xfd2hpdGVsaXN0X2J1aWxkKHcpOwo+ICsJZWxzZSBpZiAoSVNfQ0hFUlJZ VklFVyhpOTE1KSkKPiAgCQlyZXR1cm47Cj4gIAllbHNlIGlmIChJU19CUk9BRFdFTEwoaTkxNSkp Cj4gIAkJcmV0dXJuOwo+IC0JZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhpOTE1KSkKPiArCWVsc2Ug aWYgKElOVEVMX0dFTihpOTE1KSA8IDgpCj4gIAkJcmV0dXJuOwo+IC0JZWxzZSBpZiAoSVNfU0tZ TEFLRShpOTE1KSkKPiAtCQlza2xfd2hpdGVsaXN0X2J1aWxkKHcpOwo+IC0JZWxzZSBpZiAoSVNf QlJPWFRPTihpOTE1KSkKPiAtCQlieHRfd2hpdGVsaXN0X2J1aWxkKHcpOwo+IC0JZWxzZSBpZiAo SVNfS0FCWUxBS0UoaTkxNSkpCj4gLQkJa2JsX3doaXRlbGlzdF9idWlsZCh3KTsKPiAtCWVsc2Ug aWYgKElTX0dFTUlOSUxBS0UoaTkxNSkpCj4gLQkJZ2xrX3doaXRlbGlzdF9idWlsZCh3KTsKPiAt CWVsc2UgaWYgKElTX0NPRkZFRUxBS0UoaTkxNSkpCj4gLQkJY2ZsX3doaXRlbGlzdF9idWlsZCh3 KTsKPiAtCWVsc2UgaWYgKElTX0NBTk5PTkxBS0UoaTkxNSkpCj4gLQkJY25sX3doaXRlbGlzdF9i dWlsZCh3KTsKPiAtCWVsc2UgaWYgKElTX0lDRUxBS0UoaTkxNSkpCj4gLQkJaWNsX3doaXRlbGlz dF9idWlsZCh3KTsKPiAgCWVsc2UKPiAgCQlNSVNTSU5HX0NBU0UoSU5URUxfR0VOKGk5MTUpKTsK PiAgCj4gLS0gCj4gMi4yMC4xCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==