From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 4/4] drm/i915: Add modular FIA Date: Wed, 10 Jul 2019 22:31:32 +0300 Message-ID: <20190710193132.GP5942@intel.com> References: <20190708172815.6814-1-lucas.demarchi@intel.com> <20190708172815.6814-5-lucas.demarchi@intel.com> <20190710183339.GI5942@intel.com> <20190710192251.ktp3pgbdtrslqr74@ldmartin-desk1> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 528AB6E127 for ; Wed, 10 Jul 2019 19:31:38 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190710192251.ktp3pgbdtrslqr74@ldmartin-desk1> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lucas De Marchi Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKdWwgMTAsIDIwMTkgYXQgMTI6MjI6NTFQTSAtMDcwMCwgTHVjYXMgRGUgTWFyY2hp IHdyb3RlOgo+IE9uIFdlZCwgSnVsIDEwLCAyMDE5IGF0IDA5OjMzOjM5UE0gKzAzMDAsIFZpbGxl IFN5cmrDpGzDpCB3cm90ZToKPiA+T24gTW9uLCBKdWwgMDgsIDIwMTkgYXQgMTA6Mjg6MTVBTSAt MDcwMCwgTHVjYXMgRGUgTWFyY2hpIHdyb3RlOgo+ID4+IEZyb206IEFudXNoYSBTcml2YXRzYSA8 YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KPiA+Pgo+ID4+IFNvbWUgcGxhdGZvcm1zIG1heSBo YXZlIE1vZHVsYXIgRklBLiBJZiBNb2R1bGFyIEZJQSBpcyB1c2VkIGluIHRoZSBTT0MsCj4gPj4g dGhlbiBEaXNwbGF5IERyaXZlciB3aWxsIGFjY2VzcyB0aGUgYWRkaXRpb25hbCBpbnN0YW5jZXMg b2YKPiA+PiBGSUEgYmFzZWQgb24gcHJlLWFzc2lnbmVkIG9mZnNldCBpbiBHVFRNQUREUiBzcGFj ZS4KPiA+Pgo+ID4+IEVhY2ggTW9kdWxhciBGSUEgaW5zdGFuY2UgaGFzIGl0cyBvd24gSU9TRiBT aWRlYmFuZCBQb3J0IElECj4gPj4gYW5kIGl0IGhvdXNlcyBvbmx5IDIgVHlwZS1DIFBvcnQuIElu IFNPQyB0aGF0IGhhcyBtb3JlIHRoYW4KPiA+PiB0d28gVHlwZS1DIFBvcnRzLCB0aGVyZSBhcmUg bXVsdGlwbGUgaW5zdGFuY2VzIG9mIE1vZHVsYXIgRklBLgo+ID4+IEd1bml0IHdpbGwgbmVlZCB0 byB1c2UgZGlmZmVyZW50IGRlc3RpbmF0aW9uIElEIHdoZW4gaXQgYWNjZXNzCj4gPj4gZGlmZmVy ZW50IHBhaXIgb2YgVHlwZS1DIFBvcnQuCj4gPj4KPiA+PiBUaGUgREZMRVhEUFNQIHJlZ2lzdGVy IGhhcyBNb2R1bGFyIEZJQSBiaXQgc3RhcnRpbmcgb24gVGlnZXIgTGFrZS4gIElmCj4gPj4gTW9k dWxhciBGSUEgaXMgdXNlZCBpbiB0aGUgU09DLCB0aGlzIHJlZ2lzdGVyIGJpdCBleGlzdHMgaW4g YWxsIHRoZQo+ID4+IGluc3RhbmNlcyBvZiBNb2R1bGFyIEZJQS4gSU9NIEZXIGlzIHJlcXVpcmVk IHRvIHByb2dyYW0gb25seSB0aGUgTUYgYml0Cj4gPj4gaW4gZmlyc3QgRklBIGluc3RhbmNlIHRo YXQgaG91c2VzIHRoZSBUeXBlLUMgUG9ydCAwIGFuZCBQb3J0IDEsIGZvcgo+ID4+IERpc3BsYXkg RHJpdmVyIHRvIHJlYWQgZnJvbS4KPiA+Pgo+ID4+IHYyIChMdWNhcyk6Cj4gPj4gICAtIE1vdmUg YWxsIGFjY2Vzc2VzIHRvIEZJQSB0byBiZSBjb250YWluZWQgaW4gaW50ZWxfdGMuYywgYWxvbmcg d2l0aAo+ID4+ICAgICBkaXNwbGF5X2ZpYSB0aGF0IGlzIG5vdyBjYWxsZWQgdGNfcGh5X2ZpYQo+ ID4+ICAgLSBTYXZlIHRoZSBmaWEgaW5zdGFuY2UgbnVtYmVyIG9uIGludGVsX2RpZ2l0YWxfcG9y dCwgc28gd2UgZG9uJ3QgaGF2ZQo+ID4+ICAgICB0byBxdWVyeSBpZiBtb2R1bGFyIEZJQSBpcyB1 c2VkIG9uIGV2ZXJ5IGFjY2Vzcwo+ID4+IHYzIChMdWNhcyk6Cj4gPj4gICAtIE1ha2UgZnVuY3Rp b24gc3RhdGljCj4gPj4KPiA+PiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNv bT4KPiA+PiBTaWduZWQtb2ZmLWJ5OiBBbnVzaGEgU3JpdmF0c2EgPGFudXNoYS5zcml2YXRzYUBp bnRlbC5jb20+Cj4gPj4gU2lnbmVkLW9mZi1ieTogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1h cmNoaUBpbnRlbC5jb20+Cj4gPj4gLS0tCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfdGMuYyAgfCA0OSArKysrKysrKysrKysrKysrKysrKy0tLS0KPiA+PiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgICB8IDEzICsrKysrLS0KPiA+PiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaCB8ICAxICsKPiA+PiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgICB8ICAxICsKPiA+PiAgNCBmaWxlcyBj aGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKPiA+Pgo+ID4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMKPiA+PiBpbmRleCBmNDRlZTRiZmU3Yzgu LjY3MTI2MWI1NWQxMSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX3RjLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX3RjLmMKPiA+PiBAQCAtOCw2ICs4LDEyIEBACj4gPj4gICNpbmNsdWRlICJpbnRlbF9kcF9t c3QuaCIKPiA+PiAgI2luY2x1ZGUgImludGVsX3RjLmgiCj4gPj4KPiA+PiArZW51bSBwaHlfZmlh IHsKPiA+PiArCUZJQTEsCj4gPj4gKwlGSUEyLAo+ID4+ICsJRklBMywKPiA+PiArfTsKPiA+PiAr Cj4gPj4gIHN0YXRpYyBjb25zdCBjaGFyICp0Y19wb3J0X21vZGVfbmFtZShlbnVtIHRjX3BvcnRf bW9kZSBtb2RlKQo+ID4+ICB7Cj4gPj4gIAlzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG5hbWVz W10gPSB7Cj4gPj4gQEAgLTIyLDYgKzI4LDI0IEBAIHN0YXRpYyBjb25zdCBjaGFyICp0Y19wb3J0 X21vZGVfbmFtZShlbnVtIHRjX3BvcnRfbW9kZSBtb2RlKQo+ID4+ICAJcmV0dXJuIG5hbWVzW21v ZGVdOwo+ID4+ICB9Cj4gPj4KPiA+PiArc3RhdGljIGJvb2wgaGFzX21vZHVsYXJfZmlhKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ID4+ICt7Cj4gPj4gKwlpZiAoIUlOVEVMX0lORk8o aTkxNSktPmRpc3BsYXkuaGFzX21vZHVsYXJfZmlhKQo+ID4+ICsJCXJldHVybiBmYWxzZTsKPiA+ PiArCj4gPj4gKwlyZXR1cm4gaW50ZWxfdW5jb3JlX3JlYWQoJmk5MTUtPnVuY29yZSwKPiA+PiAr CQkJCSBQT1JUX1RYX0RGTEVYRFBTUChGSUExKSkgJiBNT0RVTEFSX0ZJQV9NQVNLOwo+ID4+ICt9 Cj4gPj4gKwo+ID4+ICtzdGF0aWMgZW51bSBwaHlfZmlhIHRjX3BvcnRfdG9fZmlhKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1LAo+ID4+ICsJCQkJICAgZW51bSB0Y19wb3J0IHRjX3BvcnQp Cj4gPj4gK3sKPiA+PiArCWlmICghaGFzX21vZHVsYXJfZmlhKGk5MTUpKQo+ID4+ICsJCXJldHVy biBGSUExOwo+ID4+ICsKPiA+PiArCXJldHVybiB0Y19wb3J0IC8gMjsKPiA+PiArfQo+ID4+ICsK PiA+PiAgdTMyIGludGVsX3RjX3BvcnRfZ2V0X2xhbmVfbWFzayhzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICpkaWdfcG9ydCkKPiA+PiAgewo+ID4+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsKPiA+PiBAQCAtMjksNyAr NTMsOCBAQCB1MzIgaW50ZWxfdGNfcG9ydF9nZXRfbGFuZV9tYXNrKHN0cnVjdCBpbnRlbF9kaWdp dGFsX3BvcnQgKmRpZ19wb3J0KQo+ID4+ICAJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlID0g Jmk5MTUtPnVuY29yZTsKPiA+PiAgCXUzMiBsYW5lX21hc2s7Cj4gPj4KPiA+PiAtCWxhbmVfbWFz ayA9IGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwgUE9SVF9UWF9ERkxFWERQU1ApOwo+ID4+ICsJ bGFuZV9tYXNrID0gaW50ZWxfdW5jb3JlX3JlYWQodW5jb3JlLAo+ID4+ICsJCQkJICAgICAgUE9S VF9UWF9ERkxFWERQU1AoZGlnX3BvcnQtPnRjX3BoeV9maWEpKTsKPiA+Pgo+ID4+ICAJV0FSTl9P TihsYW5lX21hc2sgPT0gMHhmZmZmZmZmZik7Cj4gPj4KPiA+PiBAQCAtNzgsNyArMTAzLDggQEAg dm9pZCBpbnRlbF90Y19wb3J0X3NldF9maWFfbGFuZV9jb3VudChzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICpkaWdfcG9ydCwKPiA+Pgo+ID4+ICAJV0FSTl9PTihsYW5lX3JldmVyc2FsICYmIGRp Z19wb3J0LT50Y19tb2RlICE9IFRDX1BPUlRfTEVHQUNZKTsKPiA+Pgo+ID4+IC0JdmFsID0gaW50 ZWxfdW5jb3JlX3JlYWQodW5jb3JlLCBQT1JUX1RYX0RGTEVYRFBNTEUxKTsKPiA+PiArCXZhbCA9 IGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwKPiA+PiArCQkJCVBPUlRfVFhfREZMRVhEUE1MRTEo ZGlnX3BvcnQtPnRjX3BoeV9maWEpKTsKPiA+PiAgCXZhbCAmPSB+REZMRVhEUE1MRTFfRFBNTEVU Q19NQVNLKHRjX3BvcnQpOwo+ID4+Cj4gPj4gIAlzd2l0Y2ggKHJlcXVpcmVkX2xhbmVzKSB7Cj4g Pj4gQEAgLTk3LDcgKzEyMyw4IEBAIHZvaWQgaW50ZWxfdGNfcG9ydF9zZXRfZmlhX2xhbmVfY291 bnQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQsCj4gPj4gIAkJTUlTU0lOR19D QVNFKHJlcXVpcmVkX2xhbmVzKTsKPiA+PiAgCX0KPiA+Pgo+ID4+IC0JaW50ZWxfdW5jb3JlX3dy aXRlKHVuY29yZSwgUE9SVF9UWF9ERkxFWERQTUxFMSwgdmFsKTsKPiA+PiArCWludGVsX3VuY29y ZV93cml0ZSh1bmNvcmUsCj4gPj4gKwkJCSAgIFBPUlRfVFhfREZMRVhEUE1MRTEoZGlnX3BvcnQt PnRjX3BoeV9maWEpLCB2YWwpOwo+ID4+ICB9Cj4gPj4KPiA+PiAgc3RhdGljIHZvaWQgdGNfcG9y dF9maXh1cF9sZWdhY3lfZmxhZyhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwK PiA+PiBAQCAtMTI5LDcgKzE1Niw4IEBAIHN0YXRpYyB1MzIgdGNfcG9ydF9saXZlX3N0YXR1c19t YXNrKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+ID4+ICAJdTMyIG1hc2sg PSAwOwo+ID4+ICAJdTMyIHZhbDsKPiA+Pgo+ID4+IC0JdmFsID0gaW50ZWxfdW5jb3JlX3JlYWQo dW5jb3JlLCBQT1JUX1RYX0RGTEVYRFBTUCk7Cj4gPj4gKwl2YWwgPSBpbnRlbF91bmNvcmVfcmVh ZCh1bmNvcmUsCj4gPj4gKwkJCQlQT1JUX1RYX0RGTEVYRFBTUChkaWdfcG9ydC0+dGNfcGh5X2Zp YSkpOwo+ID4+Cj4gPj4gIAlpZiAodmFsID09IDB4ZmZmZmZmZmYpIHsKPiA+PiAgCQlEUk1fREVC VUdfS01TKCJQb3J0ICVzOiBQSFkgaW4gVENDT0xELCBub3RoaW5nIGNvbm5lY3RlZFxuIiwKPiA+ PiBAQCAtMTU5LDcgKzE4Nyw4IEBAIHN0YXRpYyBib29sIGljbF90Y19waHlfc3RhdHVzX2NvbXBs ZXRlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+ID4+ICAJc3RydWN0IGlu dGVsX3VuY29yZSAqdW5jb3JlID0gJmk5MTUtPnVuY29yZTsKPiA+PiAgCXUzMiB2YWw7Cj4gPj4K PiA+PiAtCXZhbCA9IGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwgUE9SVF9UWF9ERkxFWERQUE1T KTsKPiA+PiArCXZhbCA9IGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwKPiA+PiArCQkJCVBPUlRf VFhfREZMRVhEUFBNUyhkaWdfcG9ydC0+dGNfcGh5X2ZpYSkpOwo+ID4+ICAJaWYgKHZhbCA9PSAw eGZmZmZmZmZmKSB7Cj4gPj4gIAkJRFJNX0RFQlVHX0tNUygiUG9ydCAlczogUEhZIGluIFRDQ09M RCwgYXNzdW1pbmcgbm90IGNvbXBsZXRlXG4iLAo+ID4+ICAJCQkgICAgICBkaWdfcG9ydC0+dGNf cG9ydF9uYW1lKTsKPiA+PiBAQCAtMTc3LDcgKzIwNiw4IEBAIHN0YXRpYyBib29sIGljbF90Y19w aHlfc2V0X3NhZmVfbW9kZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwKPiA+ PiAgCXN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSA9ICZpOTE1LT51bmNvcmU7Cj4gPj4gIAl1 MzIgdmFsOwo+ID4+Cj4gPj4gLQl2YWwgPSBpbnRlbF91bmNvcmVfcmVhZCh1bmNvcmUsIFBPUlRf VFhfREZMRVhEUENTU1MpOwo+ID4+ICsJdmFsID0gaW50ZWxfdW5jb3JlX3JlYWQodW5jb3JlLAo+ ID4+ICsJCQkJUE9SVF9UWF9ERkxFWERQQ1NTUyhkaWdfcG9ydC0+dGNfcGh5X2ZpYSkpOwo+ID4+ ICAJaWYgKHZhbCA9PSAweGZmZmZmZmZmKSB7Cj4gPj4gIAkJRFJNX0RFQlVHX0tNUygiUG9ydCAl czogUEhZIGluIFRDQ09MRCwgY2FuJ3Qgc2V0IHNhZmUtbW9kZSB0byAlc1xuIiwKPiA+PiAgCQkJ ICAgICAgZGlnX3BvcnQtPnRjX3BvcnRfbmFtZSwKPiA+PiBAQCAtMTkwLDcgKzIyMCw4IEBAIHN0 YXRpYyBib29sIGljbF90Y19waHlfc2V0X3NhZmVfbW9kZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICpkaWdfcG9ydCwKPiA+PiAgCWlmICghZW5hYmxlKQo+ID4+ICAJCXZhbCB8PSBEUF9QSFlf TU9ERV9TVEFUVVNfTk9UX1NBRkUodGNfcG9ydCk7Cj4gPj4KPiA+PiAtCWludGVsX3VuY29yZV93 cml0ZSh1bmNvcmUsIFBPUlRfVFhfREZMRVhEUENTU1MsIHZhbCk7Cj4gPj4gKwlpbnRlbF91bmNv cmVfd3JpdGUodW5jb3JlLAo+ID4+ICsJCQkgICBQT1JUX1RYX0RGTEVYRFBDU1NTKGRpZ19wb3J0 LT50Y19waHlfZmlhKSwgdmFsKTsKPiA+Pgo+ID4+ICAJaWYgKGVuYWJsZSAmJiB3YWl0X2Zvcigh aWNsX3RjX3BoeV9zdGF0dXNfY29tcGxldGUoZGlnX3BvcnQpLCAxMCkpCj4gPj4gIAkJRFJNX0RF QlVHX0tNUygiUG9ydCAlczogUEhZIGNvbXBsZXRlIGNsZWFyIHRpbWVkIG91dFxuIiwKPiA+PiBA QCAtMjA2LDcgKzIzNyw4IEBAIHN0YXRpYyBib29sIGljbF90Y19waHlfaXNfaW5fc2FmZV9tb2Rl KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+ID4+ICAJc3RydWN0IGludGVs X3VuY29yZSAqdW5jb3JlID0gJmk5MTUtPnVuY29yZTsKPiA+PiAgCXUzMiB2YWw7Cj4gPj4KPiA+ PiAtCXZhbCA9IGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwgUE9SVF9UWF9ERkxFWERQQ1NTUyk7 Cj4gPj4gKwl2YWwgPSBpbnRlbF91bmNvcmVfcmVhZCh1bmNvcmUsCj4gPj4gKwkJCQlQT1JUX1RY X0RGTEVYRFBDU1NTKGRpZ19wb3J0LT50Y19waHlfZmlhKSk7Cj4gPj4gIAlpZiAodmFsID09IDB4 ZmZmZmZmZmYpIHsKPiA+PiAgCQlEUk1fREVCVUdfS01TKCJQb3J0ICVzOiBQSFkgaW4gVENDT0xE LCBhc3N1bWUgc2FmZSBtb2RlXG4iLAo+ID4+ICAJCQkgICAgICBkaWdfcG9ydC0+dGNfcG9ydF9u YW1lKTsKPiA+PiBAQCAtNTAzLDQgKzUzNSw1IEBAIHZvaWQgaW50ZWxfdGNfcG9ydF9pbml0KHN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0LCBib29sIGlzX2xlZ2FjeSkKPiA+PiAg CW11dGV4X2luaXQoJmRpZ19wb3J0LT50Y19sb2NrKTsKPiA+PiAgCWRpZ19wb3J0LT50Y19sZWdh Y3lfcG9ydCA9IGlzX2xlZ2FjeTsKPiA+PiAgCWRpZ19wb3J0LT50Y19saW5rX3JlZmNvdW50ID0g MDsKPiA+PiArCWRpZ19wb3J0LT50Y19waHlfZmlhID0gdGNfcG9ydF90b19maWEoaTkxNSwgdGNf cG9ydCk7Cj4gPj4gIH0KPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+PiBpbmRleCA1ODk4 ZjU5ZTNkZDcuLjc0ZjJiMzE0NDNmYiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aAo+ID4+IEBAIC0yMjAzLDkgKzIyMDMsMTMgQEAgZW51bSBpOTE1X3Bvd2VyX3dlbGxfaWQgewo+ ID4+ICAjZGVmaW5lICAgRFc2X09MRE9fRFlOX1BXUl9ET1dOX0VOCSgxIDw8IDI4KQo+ID4+Cj4g Pj4gICNkZWZpbmUgRklBMV9CQVNFCQkJMHgxNjMwMDAKPiA+PiArI2RlZmluZSBGSUEyX0JBU0UJ CQkweDE2RTAwMAo+ID4+ICsjZGVmaW5lIEZJQTNfQkFTRQkJCTB4MTZGMDAwCj4gPj4gKyNkZWZp bmUgX0ZJQShmaWEpCQkJX1BJQ0soKGZpYSksIEZJQTFfQkFTRSwgRklBMl9CQVNFLCBGSUEzX0JB U0UpCj4gPj4gKyNkZWZpbmUgX01NSU9fRklBKGZpYSwgb2ZmKQkJX01NSU8oX0ZJQShmaWEpICsg KG9mZikpCj4gPj4KPiA+PiAgLyogSUNMIFBIWSBERkxFWCByZWdpc3RlcnMgKi8KPiA+PiAtI2Rl ZmluZSBQT1JUX1RYX0RGTEVYRFBNTEUxCQlfTU1JTyhGSUExX0JBU0UgKyAweDAwOEMwKQo+ID4+ ICsjZGVmaW5lIFBPUlRfVFhfREZMRVhEUE1MRTEoZmlhKQlfTU1JT19GSUEoKGZpYSksICAweDAw OEMwKQo+ID4+ICAjZGVmaW5lICAgREZMRVhEUE1MRTFfRFBNTEVUQ19NQVNLKHRjX3BvcnQpCSgw eGYgPDwgKDQgKiAodGNfcG9ydCkpKQo+ID4+ICAjZGVmaW5lICAgREZMRVhEUE1MRTFfRFBNTEVU Q19NTDAodGNfcG9ydCkJKDEgPDwgKDQgKiAodGNfcG9ydCkpKQo+ID4+ICAjZGVmaW5lICAgREZM RVhEUE1MRTFfRFBNTEVUQ19NTDFfMCh0Y19wb3J0KQkoMyA8PCAoNCAqICh0Y19wb3J0KSkpCj4g Pj4gQEAgLTExNDgwLDE3ICsxMTQ4NCwxOCBAQCBlbnVtIHNrbF9wb3dlcl9nYXRlIHsKPiA+PiAg CQkJCQkJX0lDTF9EU0MxX1JDX0JVRl9USFJFU0hfMV9VRFdfUEIsIFwKPiA+PiAgCQkJCQkJX0lD TF9EU0MxX1JDX0JVRl9USFJFU0hfMV9VRFdfUEMpCj4gPj4KPiA+PiAtI2RlZmluZSBQT1JUX1RY X0RGTEVYRFBTUAkJCV9NTUlPKEZJQTFfQkFTRSArIDB4MDA4QTApCj4gPj4gKyNkZWZpbmUgUE9S VF9UWF9ERkxFWERQU1AoZmlhKQkJCV9NTUlPX0ZJQSgoZmlhKSwgMHgwMDhBMCkKPiA+PiArI2Rl ZmluZSAgIE1PRFVMQVJfRklBX01BU0sJCQkoMSA8PCA0KQo+ID4+ICAjZGVmaW5lICAgVENfTElW RV9TVEFURV9UQlQodGNfcG9ydCkJCSgxIDw8ICgodGNfcG9ydCkgKiA4ICsgNikpCj4gPj4gICNk ZWZpbmUgICBUQ19MSVZFX1NUQVRFX1RDKHRjX3BvcnQpCQkoMSA8PCAoKHRjX3BvcnQpICogOCAr IDUpKQo+ID4+ICAjZGVmaW5lICAgRFBfTEFORV9BU1NJR05NRU5UX1NISUZUKHRjX3BvcnQpCSgo dGNfcG9ydCkgKiA4KQo+ID4+ICAjZGVmaW5lICAgRFBfTEFORV9BU1NJR05NRU5UX01BU0sodGNf cG9ydCkJKDB4ZiA8PCAoKHRjX3BvcnQpICogOCkpCj4gPj4gICNkZWZpbmUgICBEUF9MQU5FX0FT U0lHTk1FTlQodGNfcG9ydCwgeCkJKCh4KSA8PCAoKHRjX3BvcnQpICogOCkpCj4gPj4KPiA+PiAt I2RlZmluZSBQT1JUX1RYX0RGTEVYRFBQTVMJCQkJX01NSU8oRklBMV9CQVNFICsgMHgwMDg5MCkK PiA+PiArI2RlZmluZSBQT1JUX1RYX0RGTEVYRFBQTVMoZmlhKQkJCV9NTUlPX0ZJQSgoZmlhKSwg MHgwMDg5MCkKPiA+PiAgI2RlZmluZSAgIERQX1BIWV9NT0RFX1NUQVRVU19DT01QTEVURUQodGNf cG9ydCkJCSgxIDw8ICh0Y19wb3J0KSkKPiA+Pgo+ID4+IC0jZGVmaW5lIFBPUlRfVFhfREZMRVhE UENTU1MJCQlfTU1JTyhGSUExX0JBU0UgKyAweDAwODk0KQo+ID4+ICsjZGVmaW5lIFBPUlRfVFhf REZMRVhEUENTU1MoZmlhKQkJX01NSU9fRklBKChmaWEpLCAweDAwODk0KQo+ID4+ICAjZGVmaW5l ICAgRFBfUEhZX01PREVfU1RBVFVTX05PVF9TQUZFKHRjX3BvcnQpCQkoMSA8PCAodGNfcG9ydCkp Cj4gPj4KPiA+PiAgI2VuZGlmIC8qIF9JOTE1X1JFR19IXyAqLwo+ID4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaAo+ID4+IGluZGV4IGRkYWZjODE5YmYzMC4uZTlkYzg2 ZWQ1MTdiIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rldmlj ZV9pbmZvLmgKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5m by5oCj4gPj4gQEAgLTEzNiw2ICsxMzYsNyBAQCBlbnVtIGludGVsX3BwZ3R0X3R5cGUgewo+ID4+ ICAJZnVuYyhoYXNfZ21jaCk7IFwKPiA+PiAgCWZ1bmMoaGFzX2hvdHBsdWcpOyBcCj4gPj4gIAlm dW5jKGhhc19pcGMpOyBcCj4gPj4gKwlmdW5jKGhhc19tb2R1bGFyX2ZpYSk7IFwKPiA+PiAgCWZ1 bmMoaGFzX292ZXJsYXkpOyBcCj4gPj4gIAlmdW5jKGhhc19wc3IpOyBcCj4gPj4gIAlmdW5jKG92 ZXJsYXlfbmVlZHNfcGh5c2ljYWwpOyBcCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ PiBpbmRleCAyNGM2M2VkNDVjNmYuLjdlYTk3OWM4YzVmNyAxMDA2NDQKPiA+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCj4gPj4gQEAgLTEyNDUsNiArMTI0NSw3IEBAIHN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgewo+ID4+ICAJYm9vbCB0Y19sZWdhY3lfcG9ydDoxOwo+ID4+ICAJY2hhciB0 Y19wb3J0X25hbWVbOF07Cj4gPj4gIAllbnVtIHRjX3BvcnRfbW9kZSB0Y19tb2RlOwo+ID4+ICsJ dTggdGNfcGh5X2ZpYTsKPiA+Cj4gPmVudW0gcGh5X2ZpYSA/Cj4gCj4gYnV0IHRoZW4gd2UgbmVl ZCB0byBtb3ZlIGl0cyBkZWZpbml0aW9uIHRvIHRoZSBoZWFkZXIuCj4gCj4gSXMgaXQgcmVhbGx5 IG5lZWRlZD8gVGhlIG9ubHkgcGxhY2UgdGhhdCBzaG91bGQgY2FyZSBhYm91dCBpdCBpcwo+IGlu dGVsX3RjLmMKCkkgdGhpbmsgaWYgd2UgaGF2ZSBhIG5hbWUgZm9yIGl0IHdlIHNob3VsZCB1c2Ug aXQuIE90aGVyd2lzZSBpdCdzIGp1c3QKY29uZnVzaW5nLCBhbmQgc29tZW9uZSBpcyBnb2luZyB0 byBjbGVhbiBpdCB1cCBhY2NpZGVudGFsbHkgYW55d2F5LgoKPiAKPiBMdWNhcyBEZSBNYXJjaGkK PiAKPiA+Cj4gPkkgZGlkbid0IHJlYWQgdGhlb3VnaCB0aGUgbnV0cyBhbmQgYm9sdHMgb2YgdGhl IHJlZ2lzdGVyIG9mZnNldHMgYnV0IHRoZQo+ID5hcHByb2FjaCBzZWVtcyBPSyB0byBtZS4KPiA+ Cj4gPkFja2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+ID4KPiA+Pgo+ID4+ICAJdm9pZCAoKndyaXRlX2luZm9mcmFtZSkoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCj4gPj4gIAkJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKPiA+PiAtLQo+ID4+IDIuMjEuMAo+ID4KPiA+LS0gCj4gPlZpbGxlIFN5 cmrDpGzDpAo+ID5JbnRlbAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=