From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 485B1C433E0 for ; Mon, 11 Jan 2021 20:18:54 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B893E22C7B for ; Mon, 11 Jan 2021 20:18:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B893E22C7B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 266878991C; Mon, 11 Jan 2021 20:18:53 +0000 (UTC) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id E89368991C for ; Mon, 11 Jan 2021 20:18:51 +0000 (UTC) IronPort-SDR: fNjPRR6BJo3VmGDPd4R77DQkOxu/4iQq4+lCK+dg/+4Po1CxdZPgzTMDtdFOZt2mGdkzhVgH7p 0M7GD2T+iNjQ== X-IronPort-AV: E=McAfee;i="6000,8403,9861"; a="262711244" X-IronPort-AV: E=Sophos;i="5.79,339,1602572400"; d="scan'208";a="262711244" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jan 2021 12:18:50 -0800 IronPort-SDR: ihh7/sybCEyTWt7/suZseDWX494c0qvOtdyBfWwupkhoXQOt4BRzXiCMA8KX33XmUm1dQDYj8Z hVvunpfZqTGQ== X-IronPort-AV: E=Sophos;i="5.79,339,1602572400"; d="scan'208";a="352737729" Received: from libresli-mobl1.ger.corp.intel.com (HELO localhost) ([10.213.207.39]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jan 2021 12:18:48 -0800 From: Jani Nikula To: Matt Roper , Aditya Swarup In-Reply-To: <878s8zw7tw.fsf@intel.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20210108231853.2859646-1-aditya.swarup@intel.com> <20210108231853.2859646-2-aditya.swarup@intel.com> <20210108234440.GO3894148@mdroper-desk1.amr.corp.intel.com> <878s8zw7tw.fsf@intel.com> Date: Mon, 11 Jan 2021 22:18:45 +0200 Message-ID: <875z43w7kq.fsf@intel.com> MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915/tgl: Use TGL stepping info for applying WAs X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org, Lucas De Marchi Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gTW9uLCAxMSBKYW4gMjAyMSwgSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVs LmNvbT4gd3JvdGU6Cj4gT24gRnJpLCAwOCBKYW4gMjAyMSwgTWF0dCBSb3BlciA8bWF0dGhldy5k LnJvcGVyQGludGVsLmNvbT4gd3JvdGU6Cj4+IE9uIEZyaSwgSmFuIDA4LCAyMDIxIGF0IDAzOjE4 OjUyUE0gLTA4MDAsIEFkaXR5YSBTd2FydXAgd3JvdGU6Cj4+PiBUR0wgYWRkcyBhbm90aGVyIGxl dmVsIG9mIGluZGlyZWN0aW9uIGZvciBhcHBseWluZyBXQSBiYXNlZCBvbiBzdGVwcGluZwo+Pj4g aW5mb3JtYXRpb24gcmF0aGVyIHRoYW4gUENJIFJFVklELiBTbyBjaGFuZ2UgVEdMX1JFVklEIGVu dW0gaW50bwo+Pj4gc3RlcHBpbmcgZW51bSBhbmQgdXNlIFBDSSBSRVZJRCBhcyBpbmRleCBpbnRv IHJldmlkIHRvIHN0ZXBwaW5nIHRhYmxlIHRvCj4+PiBmZXRjaCBjb3JyZWN0IGRpc3BsYXkgYW5k IEdUIHN0ZXBwaW5nIGZvciBhcHBsaWNhdGlvbiBvZiBXQXMgYXMKPj4+IHN1Z2dlc3RlZCBieSBN YXR0IFJvcGVyLgo+Pgo+PiBTbyB0byBjbGFyaWZ5IHRoZSBnb2FsIGlzIHRvIHJlbmFtZSAicmV2 aWQiIC0+ICJzdGVwcGluZyIgYmVjYXVzZSB0aGUKPj4gdmFsdWVzIGxpa2UgIkExLCIgIkMwLCIg ZXRjLiBhcmUndCB0aGUgYWN0dWFsIFBDSSByZXZpc2lvbiBJRCwgYnV0Cj4+IHJhdGhlciBkZXNj cmlwdGlvbnMgb2YgdGhlIHN0ZXBwaW5nIG9mIGEgZ2l2ZW4gSVAgYmxvY2s7IHRoZSBlbnVtIHZh bHVlcwo+PiB3ZSB1c2UgdG8gcmVwcmVzZW50IHRob3NlIGFyZSBhcmJpdHJhcnkgYW5kIGRvbid0 IG1hdHRlciBhcyBsb25nIGFzCj4+IHRoZXkncmUgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIGZv ciBjb21wYXJpc29ucy4gIFRoZSBQQ0kgcmV2aXNpb24gSUQKPj4gaXMganVzdCB0aGUgaW5wdXQg d2UgdXNlIHRvZGF5IHRvIGRlZHVjZSB3aGF0IHRoZSBJUCBzdGVwcGluZ3MgYXJlLCBhbmQKPj4g dGhlcmUncyB0YWxrIHRoYXQgd2UgY291bGQgZGV0ZXJtaW5lIHRoZSBJUCBzdGVwcGluZ3MgaW4g YSBkaWZmZXJlbnQgd2F5Cj4+IGF0IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZS4KPj4KPj4gRnVy dGhlcm1vcmUsIHNpbmNlIHRoZSBzYW1lIHNjaGVtZSB3aWxsIGJlIHVzZWQgYXQgbGVhc3QgZm9y IEFETC1TLCB3ZQo+PiBzaG91bGQgZHJvcCB0aGUgIlRHTCIgcHJlZml4IHNpbmNlIHRoZXJlJ3Mg bm8gbmVlZCB0byBuYW1lIHRoZXNlIGdlbmVyYWwKPj4gZW51bSB2YWx1ZXMgaW4gYSBwbGF0Zm9y bS1zcGVjaWZpYyBtYW5uZXIuCj4+Cj4+IFJldmlld2VkLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3 LmQucm9wZXJAaW50ZWwuY29tPgo+Pgo+PiBXZSBzaG91bGQgcHJvYmFibHkgbWFrZSB0aGUgc2Ft ZSBraW5kIG9mIGNoYW5nZSB0byBLQkwgKGFuZCB1c2UgdGhlIHNhbWUKPj4gc3RlcHBpbmcgZW51 bSkgdG9vIHNpbmNlIGl0IGhhcyB0aGUgc2FtZSBraW5kIG9mIGV4dHJhIGluZGlyZWN0aW9uIGFz Cj4+IFRHTC9BREwtUywgYnV0IHdlIGNhbiBkbyB0aGF0IGFzIGEgZm9sbG93dXAgcGF0Y2guCj4K PiBGV0lXIEkgaGF2ZSBhIHdpcCBzZXJpZXMgY2hhbmdpbmcgdGhlIHdob2xlIHRoaW5nIHRvIGFi c3RyYWN0IHN0ZXBwaW5ncwo+IGVudW1zIHRoYXQgYXJlIHNoYXJlZCBiZXR3ZWVuIHBsYXRmb3Jt cywgYnV0IGl0J3MgaW4gYSBiaXQgb2YgbGltYm8KPiBiZWNhdXNlIHRoZSBwcmV2aW91cyByZXZp ZCBjaGFuZ2VzIHdlcmUgYXBwbGllZCB0byBkcm0taW50ZWwtZ3QtbmV4dCwKPiBhbmQgaXQncyBm YWxsZW4gcHJldHR5IGZhciBvdXQgb2Ygc3luYyB3aXRoIGRybS1pbnRlbC1uZXh0LiBBbGwgb2Yg dGhpcwo+IHJlYWxseSBiZWxvbmdzIHRvIGRybS1pbnRlbC1uZXh0LCBidXQgY2FuJ3QgZG8gdGhh dCB1bnRpbCB0aGUgYnJhbmNoZXMKPiBzeW5jIHVwIGFnYWluLgoKQnR3IHRoaXMgc2VyaWVzIGRv ZXNuJ3QgYXBwbHkgdG8gZHJtLWludGVsLW5leHQgZWl0aGVyLCBmb3IgdGhlIHNhbWUKcmVhc29u LCBhbmQgdGhlIEFETC1TIHBsYXRmb3JtIGRlZmluaXRpb24gYW5kIFBDSSBJRHMgbXVzdCAqbm90 KiBiZQphcHBsaWVkIHRvIGRybS1pbnRlbC1ndC1uZXh0LgoKQlIsCkphbmkuCgo+Cj4gTXkgc2Vy aWVzIGFsc28gY29tcGxldGVseSBoaWRlcyB0aGUgYXJyYXlzIGludG8gYSBzZXBhcmF0ZSAuYyBm aWxlLAo+IGJlY2F1c2UgdGhlIGV4dGVybnMgd2l0aCBkaXJlY3QgYXJyYXkgYWNjZXNzIGFyZSB0 dXJuaW5nIGludG8KPiBuaWdodG1hcmUuIFRoZSBBUlJBWV9TSVpFKCkgY2hlY2tzIHJlbHkgb24g dGhlIGV4dGVybiBkZWNsYXJhdGlvbiBhbmQKPiB0aGUgYWN0dWFsIGFycmF5IGRlZmluaXRpb24g dG8gaGF2ZSB0aGUgc2l6ZXMgaW4gc3luYywgYnV0IHRoZSBjb21waWxlcgo+IGRvZXMgbm90IGNo ZWNrIHRoYXQuIFJlYWxseS4KPgo+IElESywgZmVlbHMgbGlrZSB0aGlzIG1lcmdpbmcgdGhpcyBz ZXJpZXMgaXMgZ29pbmcgdG8gYmUgZXh0cmEgY2h1cm4uCj4KPgo+IEJSLAo+IEphbmkuCj4KPgo+ Pgo+Pgo+PiBNYXR0Cj4+Cj4+PiAKPj4+IENjOiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJA aW50ZWwuY29tPgo+Pj4gQ2M6IEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlAaW50ZWwu Y29tPgo+Pj4gQ2M6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29t Pgo+Pj4gU2lnbmVkLW9mZi1ieTogQWRpdHlhIFN3YXJ1cCA8YWRpdHlhLnN3YXJ1cEBpbnRlbC5j b20+Cj4+PiAtLS0KPj4+ICAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2Vy LmMgICAgfCAgMiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNy LmMgICAgICB8ICA0ICstCj4+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9z cHJpdGUuYyAgIHwgIDIgKy0KPj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3Jr YXJvdW5kcy5jICAgfCAyNiArKysrKy0tLS0tCj4+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCAgICAgICAgICAgICAgIHwgNTAgKysrKysrKysrLS0tLS0tLS0tLQo+Pj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICAgICAgICAgICB8ICAyICstCj4+PiAgNiBm aWxlcyBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCA0MyBkZWxldGlvbnMoLSkKPj4+IAo+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9w b3dlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2Vy LmMKPj4+IGluZGV4IGQ1MjM3NGYwMTMxNi4uYmIwNGI1MDJhNDQyIDEwMDY0NAo+Pj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMKPj4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jCj4+ PiBAQCAtNTM0MCw3ICs1MzQwLDcgQEAgc3RhdGljIHZvaWQgdGdsX2J3X2J1ZGR5X2luaXQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+Pj4gIAlpbnQgY29uZmlnLCBpOwo+Pj4g IAo+Pj4gIAlpZiAoSVNfREcxX1JFVklEKGRldl9wcml2LCBERzFfUkVWSURfQTAsIERHMV9SRVZJ RF9BMCkgfHwKPj4+IC0JICAgIElTX1RHTF9ESVNQX1JFVklEKGRldl9wcml2LCBUR0xfUkVWSURf QTAsIFRHTF9SRVZJRF9CMCkpCj4+PiArCSAgICBJU19UR0xfRElTUF9TVEVQUElORyhkZXZfcHJp diwgU1RFUF9BMCwgU1RFUF9CMCkpCj4+PiAgCQkvKiBXYV8xNDA5NzY3MTA4OnRnbCxkZzEgKi8K Pj4+ICAJCXRhYmxlID0gd2FfMTQwOTc2NzEwOF9idWRkeV9wYWdlX21hc2tzOwo+Pj4gIAllbHNl Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3Iu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMKPj4+IGluZGV4IGMy NGFlNjk0MjZjZi4uYTkzNzE3MTc4OTU3IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9wc3IuYwo+Pj4gQEAgLTU1MCw3ICs1NTAsNyBAQCBzdGF0aWMgdm9pZCBo c3dfYWN0aXZhdGVfcHNyMihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+Pj4gIAo+Pj4gIAlp ZiAoZGV2X3ByaXYtPnBzci5wc3IyX3NlbF9mZXRjaF9lbmFibGVkKSB7Cj4+PiAgCQkvKiBXQSAx NDA4MzMwODQ3ICovCj4+PiAtCQlpZiAoSVNfVEdMX0RJU1BfUkVWSUQoZGV2X3ByaXYsIFRHTF9S RVZJRF9BMCwgVEdMX1JFVklEX0EwKSB8fAo+Pj4gKwkJaWYgKElTX1RHTF9ESVNQX1NURVBQSU5H KGRldl9wcml2LCBTVEVQX0EwLCBTVEVQX0EwKSB8fAo+Pj4gIAkJICAgIElTX1JLTF9SRVZJRChk ZXZfcHJpdiwgUktMX1JFVklEX0EwLCBSS0xfUkVWSURfQTApKQo+Pj4gIAkJCWludGVsX2RlX3Jt dyhkZXZfcHJpdiwgQ0hJQ0tFTl9QQVIxXzEsCj4+PiAgCQkJCSAgICAgRElTX1JBTV9CWVBBU1Nf UFNSMl9NQU5fVFJBQ0ssCj4+PiBAQCAtMTEwMiw3ICsxMTAyLDcgQEAgc3RhdGljIHZvaWQgaW50 ZWxfcHNyX2Rpc2FibGVfbG9ja2VkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+PiAgCj4+ PiAgCS8qIFdBIDE0MDgzMzA4NDcgKi8KPj4+ICAJaWYgKGRldl9wcml2LT5wc3IucHNyMl9zZWxf ZmV0Y2hfZW5hYmxlZCAmJgo+Pj4gLQkgICAgKElTX1RHTF9ESVNQX1JFVklEKGRldl9wcml2LCBU R0xfUkVWSURfQTAsIFRHTF9SRVZJRF9BMCkgfHwKPj4+ICsJICAgIChJU19UR0xfRElTUF9TVEVQ UElORyhkZXZfcHJpdiwgU1RFUF9BMCwgU1RFUF9BMCkgfHwKPj4+ICAJICAgICBJU19SS0xfUkVW SUQoZGV2X3ByaXYsIFJLTF9SRVZJRF9BMCwgUktMX1JFVklEX0EwKSkpCj4+PiAgCQlpbnRlbF9k ZV9ybXcoZGV2X3ByaXYsIENISUNLRU5fUEFSMV8xLAo+Pj4gIAkJCSAgICAgRElTX1JBTV9CWVBB U1NfUFNSMl9NQU5fVFJBQ0ssIDApOwo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX3Nwcml0ZS5jCj4+PiBpbmRleCBjZjM1ODlmZDBkZGIuLjRjZTMyZGYzODU1ZiAxMDA2 NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMK Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMKPj4+ IEBAIC0zMDMzLDcgKzMwMzMsNyBAQCBzdGF0aWMgYm9vbCBnZW4xMl9wbGFuZV9zdXBwb3J0c19t Y19jY3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+Pj4gIHsKPj4+ICAJLyog V2FfMTQwMTA0NzcwMDg6dGdsW2EwLi5jMF0scmtsW2FsbF0sZGcxW2FsbF0gKi8KPj4+ICAJaWYg KElTX0RHMShkZXZfcHJpdikgfHwgSVNfUk9DS0VUTEFLRShkZXZfcHJpdikgfHwKPj4+IC0JICAg IElTX1RHTF9ESVNQX1JFVklEKGRldl9wcml2LCBUR0xfUkVWSURfQTAsIFRHTF9SRVZJRF9DMCkp Cj4+PiArCSAgICBJU19UR0xfRElTUF9TVEVQUElORyhkZXZfcHJpdiwgU1RFUF9BMCwgU1RFUF9D MCkpCj4+PiAgCQlyZXR1cm4gZmFsc2U7Cj4+PiAgCj4+PiAgCXJldHVybiBwbGFuZV9pZCA8IFBM QU5FX1NQUklURTQ7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfd29ya2Fyb3VuZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3dvcmthcm91 bmRzLmMKPj4+IGluZGV4IGMyMWE5NzI2MzI2YS4uMTExZDAxZTJmODFlIDEwMDY0NAo+Pj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHMuYwo+Pj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHMuYwo+Pj4gQEAgLTcxLDE3 ICs3MSwxNyBAQCBjb25zdCBzdHJ1Y3QgaTkxNV9yZXZfc3RlcHBpbmdzIGtibF9yZXZpZHNbXSA9 IHsKPj4+ICAJWzddID0geyAuZ3Rfc3RlcHBpbmcgPSBLQkxfUkVWSURfRzAsIC5kaXNwX3N0ZXBw aW5nID0gS0JMX1JFVklEX0MwIH0sCj4+PiAgfTsKPj4+ICAKPj4+IC1jb25zdCBzdHJ1Y3QgaTkx NV9yZXZfc3RlcHBpbmdzIHRnbF91eV9yZXZpZHNbXSA9IHsKPj4+IC0JWzBdID0geyAuZ3Rfc3Rl cHBpbmcgPSBUR0xfUkVWSURfQTAsIC5kaXNwX3N0ZXBwaW5nID0gVEdMX1JFVklEX0EwIH0sCj4+ PiAtCVsxXSA9IHsgLmd0X3N0ZXBwaW5nID0gVEdMX1JFVklEX0IwLCAuZGlzcF9zdGVwcGluZyA9 IFRHTF9SRVZJRF9DMCB9LAo+Pj4gLQlbMl0gPSB7IC5ndF9zdGVwcGluZyA9IFRHTF9SRVZJRF9C MSwgLmRpc3Bfc3RlcHBpbmcgPSBUR0xfUkVWSURfQzAgfSwKPj4+IC0JWzNdID0geyAuZ3Rfc3Rl cHBpbmcgPSBUR0xfUkVWSURfQzAsIC5kaXNwX3N0ZXBwaW5nID0gVEdMX1JFVklEX0QwIH0sCj4+ PiArY29uc3Qgc3RydWN0IGk5MTVfcmV2X3N0ZXBwaW5ncyB0Z2xfdXlfcmV2aWRfc3RlcF90Ymxb XSA9IHsKPj4+ICsJWzBdID0geyAuZ3Rfc3RlcHBpbmcgPSBTVEVQX0EwLCAuZGlzcF9zdGVwcGlu ZyA9IFNURVBfQTAgfSwKPj4+ICsJWzFdID0geyAuZ3Rfc3RlcHBpbmcgPSBTVEVQX0IwLCAuZGlz cF9zdGVwcGluZyA9IFNURVBfQzAgfSwKPj4+ICsJWzJdID0geyAuZ3Rfc3RlcHBpbmcgPSBTVEVQ X0IxLCAuZGlzcF9zdGVwcGluZyA9IFNURVBfQzAgfSwKPj4+ICsJWzNdID0geyAuZ3Rfc3RlcHBp bmcgPSBTVEVQX0MwLCAuZGlzcF9zdGVwcGluZyA9IFNURVBfRDAgfSwKPj4+ICB9Owo+Pj4gIAo+ Pj4gIC8qIFNhbWUgR1Qgc3RlcHBpbmcgYmV0d2VlbiB0Z2xfdXlfcmV2aWRzIGFuZCB0Z2xfcmV2 aWRzIGRvbid0IG1lYW4gdGhlIHNhbWUgSFcgKi8KPj4+IC1jb25zdCBzdHJ1Y3QgaTkxNV9yZXZf c3RlcHBpbmdzIHRnbF9yZXZpZHNbXSA9IHsKPj4+IC0JWzBdID0geyAuZ3Rfc3RlcHBpbmcgPSBU R0xfUkVWSURfQTAsIC5kaXNwX3N0ZXBwaW5nID0gVEdMX1JFVklEX0IwIH0sCj4+PiAtCVsxXSA9 IHsgLmd0X3N0ZXBwaW5nID0gVEdMX1JFVklEX0IwLCAuZGlzcF9zdGVwcGluZyA9IFRHTF9SRVZJ RF9EMCB9LAo+Pj4gK2NvbnN0IHN0cnVjdCBpOTE1X3Jldl9zdGVwcGluZ3MgdGdsX3JldmlkX3N0 ZXBfdGJsW10gPSB7Cj4+PiArCVswXSA9IHsgLmd0X3N0ZXBwaW5nID0gU1RFUF9BMCwgLmRpc3Bf c3RlcHBpbmcgPSBTVEVQX0IwIH0sCj4+PiArCVsxXSA9IHsgLmd0X3N0ZXBwaW5nID0gU1RFUF9C MCwgLmRpc3Bfc3RlcHBpbmcgPSBTVEVQX0QwIH0sCj4+PiAgfTsKPj4+ICAKPj4+ICBzdGF0aWMg dm9pZCB3YV9pbml0X3N0YXJ0KHN0cnVjdCBpOTE1X3dhX2xpc3QgKndhbCwgY29uc3QgY2hhciAq bmFtZSwgY29uc3QgY2hhciAqZW5naW5lX25hbWUpCj4+PiBAQCAtMTIxMSwxOSArMTIxMSwxOSBA QCB0Z2xfZ3Rfd29ya2Fyb3VuZHNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwg c3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsKQo+Pj4gIAlnZW4xMl9ndF93b3JrYXJvdW5kc19pbml0 KGk5MTUsIHdhbCk7Cj4+PiAgCj4+PiAgCS8qIFdhXzE0MDk0MjA2MDQ6dGdsICovCj4+PiAtCWlm IChJU19UR0xfVVlfR1RfUkVWSUQoaTkxNSwgVEdMX1JFVklEX0EwLCBUR0xfUkVWSURfQTApKQo+ Pj4gKwlpZiAoSVNfVEdMX1VZX0dUX1NURVBQSU5HKGk5MTUsIFNURVBfQTAsIFNURVBfQTApKQo+ Pj4gIAkJd2Ffd3JpdGVfb3Iod2FsLAo+Pj4gIAkJCSAgICBTVUJTTElDRV9VTklUX0xFVkVMX0NM S0dBVEUyLAo+Pj4gIAkJCSAgICBDUFNTVU5JVF9DTEtHQVRFX0RJUyk7Cj4+PiAgCj4+PiAgCS8q IFdhXzE2MDcwODcwNTY6dGdsIGFsc28ga25vdyBhcyBCVUc6MTQwOTE4MDMzOCAqLwo+Pj4gLQlp ZiAoSVNfVEdMX1VZX0dUX1JFVklEKGk5MTUsIFRHTF9SRVZJRF9BMCwgVEdMX1JFVklEX0EwKSkK Pj4+ICsJaWYgKElTX1RHTF9VWV9HVF9TVEVQUElORyhpOTE1LCBTVEVQX0EwLCBTVEVQX0EwKSkK Pj4+ICAJCXdhX3dyaXRlX29yKHdhbCwKPj4+ICAJCQkgICAgU0xJQ0VfVU5JVF9MRVZFTF9DTEtH QVRFLAo+Pj4gIAkJCSAgICBMM19DTEtHQVRFX0RJUyB8IEwzX0NSMlhfQ0xLR0FURV9ESVMpOwo+ Pj4gIAo+Pj4gIAkvKiBXYV8xNDA4NjE1MDcyOnRnbFthMF0gKi8KPj4+IC0JaWYgKElTX1RHTF9V WV9HVF9SRVZJRChpOTE1LCBUR0xfUkVWSURfQTAsIFRHTF9SRVZJRF9BMCkpCj4+PiArCWlmIChJ U19UR0xfVVlfR1RfU1RFUFBJTkcoaTkxNSwgU1RFUF9BMCwgU1RFUF9BMCkpCj4+PiAgCQl3YV93 cml0ZV9vcih3YWwsIFVOU0xJQ0VfVU5JVF9MRVZFTF9DTEtHQVRFMiwKPj4+ICAJCQkgICAgVlNV TklUX0NMS0dBVEVfRElTX1RHTCk7Cj4+PiAgfQo+Pj4gQEAgLTE3MDAsNyArMTcwMCw3IEBAIHJj c19lbmdpbmVfd2FfaW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHN0cnVjdCBp OTE1X3dhX2xpc3QgKndhbCkKPj4+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBl bmdpbmUtPmk5MTU7Cj4+PiAgCj4+PiAgCWlmIChJU19ERzFfUkVWSUQoaTkxNSwgREcxX1JFVklE X0EwLCBERzFfUkVWSURfQTApIHx8Cj4+PiAtCSAgICBJU19UR0xfVVlfR1RfUkVWSUQoaTkxNSwg VEdMX1JFVklEX0EwLCBUR0xfUkVWSURfQTApKSB7Cj4+PiArCSAgICBJU19UR0xfVVlfR1RfU1RF UFBJTkcoaTkxNSwgU1RFUF9BMCwgU1RFUF9BMCkpIHsKPj4+ICAJCS8qCj4+PiAgCQkgKiBXYV8x NjA3MTM4MzM2OnRnbFthMF0sZGcxW2EwXQo+Pj4gIAkJICogV2FfMTYwNzA2Mzk4ODp0Z2xbYTBd LGRnMVthMF0KPj4+IEBAIC0xNzEwLDcgKzE3MTAsNyBAQCByY3NfZW5naW5lX3dhX2luaXQoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCBzdHJ1Y3QgaTkxNV93YV9saXN0ICp3YWwpCj4+ PiAgCQkJICAgIEdFTjEyX0RJU0FCTEVfUE9TSF9CVVNZX0ZGX0RPUF9DRyk7Cj4+PiAgCX0KPj4+ ICAKPj4+IC0JaWYgKElTX1RHTF9VWV9HVF9SRVZJRChpOTE1LCBUR0xfUkVWSURfQTAsIFRHTF9S RVZJRF9BMCkpIHsKPj4+ICsJaWYgKElTX1RHTF9VWV9HVF9TVEVQUElORyhpOTE1LCBTVEVQX0Ew LCBTVEVQX0EwKSkgewo+Pj4gIAkJLyoKPj4+ICAJCSAqIFdhXzE2MDY2NzkxMDM6dGdsCj4+PiAg CQkgKiAoc2VlIGFsc28gV2FfMTYwNjY4MjE2NjppY2wpCj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKPj4+IGluZGV4IDVlNWJjZWYyMGUzMy4uMTFkNmU4YWJkZTQ2IDEwMDY0NAo+Pj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAo+Pj4gQEAgLTE1NTksNTQgKzE1NTksNTQgQEAgZXh0ZXJuIGNvbnN0 IHN0cnVjdCBpOTE1X3Jldl9zdGVwcGluZ3Mga2JsX3Jldmlkc1tdOwo+Pj4gIAkoSVNfSlNMX0VI TChwKSAmJiBJU19SRVZJRChwLCBzaW5jZSwgdW50aWwpKQo+Pj4gIAo+Pj4gIGVudW0gewo+Pj4g LQlUR0xfUkVWSURfQTAsCj4+PiAtCVRHTF9SRVZJRF9CMCwKPj4+IC0JVEdMX1JFVklEX0IxLAo+ Pj4gLQlUR0xfUkVWSURfQzAsCj4+PiAtCVRHTF9SRVZJRF9EMCwKPj4+ICsJU1RFUF9BMCwKPj4+ ICsJU1RFUF9CMCwKPj4+ICsJU1RFUF9CMSwKPj4+ICsJU1RFUF9DMCwKPj4+ICsJU1RFUF9EMCwK Pj4+ICB9Owo+Pj4gIAo+Pj4gLSNkZWZpbmUgVEdMX1VZX1JFVklEU19TSVpFCTQKPj4+IC0jZGVm aW5lIFRHTF9SRVZJRFNfU0laRQkJMgo+Pj4gKyNkZWZpbmUgVEdMX1VZX1JFVklEX1NURVBfVEJM X1NJWkUJNAo+Pj4gKyNkZWZpbmUgVEdMX1JFVklEX1NURVBfVEJMX1NJWkUJCTIKPj4+ICAKPj4+ IC1leHRlcm4gY29uc3Qgc3RydWN0IGk5MTVfcmV2X3N0ZXBwaW5ncyB0Z2xfdXlfcmV2aWRzW1RH TF9VWV9SRVZJRFNfU0laRV07Cj4+PiAtZXh0ZXJuIGNvbnN0IHN0cnVjdCBpOTE1X3Jldl9zdGVw cGluZ3MgdGdsX3Jldmlkc1tUR0xfUkVWSURTX1NJWkVdOwo+Pj4gK2V4dGVybiBjb25zdCBzdHJ1 Y3QgaTkxNV9yZXZfc3RlcHBpbmdzIHRnbF91eV9yZXZpZF9zdGVwX3RibFtUR0xfVVlfUkVWSURf U1RFUF9UQkxfU0laRV07Cj4+PiArZXh0ZXJuIGNvbnN0IHN0cnVjdCBpOTE1X3Jldl9zdGVwcGlu Z3MgdGdsX3JldmlkX3N0ZXBfdGJsW1RHTF9SRVZJRF9TVEVQX1RCTF9TSVpFXTsKPj4+ICAKPj4+ ICBzdGF0aWMgaW5saW5lIGNvbnN0IHN0cnVjdCBpOTE1X3Jldl9zdGVwcGluZ3MgKgo+Pj4gLXRn bF9yZXZpZHNfZ2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4+ICt0Z2xf c3RlcHBpbmdfZ2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4+ICB7Cj4+ PiAgCXU4IHJldmlkID0gSU5URUxfUkVWSUQoZGV2X3ByaXYpOwo+Pj4gIAl1OCBzaXplOwo+Pj4g LQljb25zdCBzdHJ1Y3QgaTkxNV9yZXZfc3RlcHBpbmdzICp0Z2xfcmV2aWRfdGJsOwo+Pj4gKwlj b25zdCBzdHJ1Y3QgaTkxNV9yZXZfc3RlcHBpbmdzICpyZXZpZF9zdGVwX3RibDsKPj4+ICAKPj4+ ICAJaWYgKElTX1RHTF9VKGRldl9wcml2KSB8fCBJU19UR0xfWShkZXZfcHJpdikpIHsKPj4+IC0J CXRnbF9yZXZpZF90YmwgPSB0Z2xfdXlfcmV2aWRzOwo+Pj4gLQkJc2l6ZSA9IEFSUkFZX1NJWkUo dGdsX3V5X3Jldmlkcyk7Cj4+PiArCQlyZXZpZF9zdGVwX3RibCA9IHRnbF91eV9yZXZpZF9zdGVw X3RibDsKPj4+ICsJCXNpemUgPSBBUlJBWV9TSVpFKHRnbF91eV9yZXZpZF9zdGVwX3RibCk7Cj4+ PiAgCX0gZWxzZSB7Cj4+PiAtCQl0Z2xfcmV2aWRfdGJsID0gdGdsX3JldmlkczsKPj4+IC0JCXNp emUgPSBBUlJBWV9TSVpFKHRnbF9yZXZpZHMpOwo+Pj4gKwkJcmV2aWRfc3RlcF90YmwgPSB0Z2xf cmV2aWRfc3RlcF90Ymw7Cj4+PiArCQlzaXplID0gQVJSQVlfU0laRSh0Z2xfcmV2aWRfc3RlcF90 YmwpOwo+Pj4gIAl9Cj4+PiAgCj4+PiAgCXJldmlkID0gbWluX3QodTgsIHJldmlkLCBzaXplIC0g MSk7Cj4+PiAgCj4+PiAtCXJldHVybiAmdGdsX3JldmlkX3RibFtyZXZpZF07Cj4+PiArCXJldHVy biAmcmV2aWRfc3RlcF90YmxbcmV2aWRdOwo+Pj4gIH0KPj4+ICAKPj4+IC0jZGVmaW5lIElTX1RH TF9ESVNQX1JFVklEKHAsIHNpbmNlLCB1bnRpbCkgXAo+Pj4gKyNkZWZpbmUgSVNfVEdMX0RJU1Bf U1RFUFBJTkcocCwgc2luY2UsIHVudGlsKSBcCj4+PiAgCShJU19USUdFUkxBS0UocCkgJiYgXAo+ Pj4gLQkgdGdsX3Jldmlkc19nZXQocCktPmRpc3Bfc3RlcHBpbmcgPj0gKHNpbmNlKSAmJiBcCj4+ PiAtCSB0Z2xfcmV2aWRzX2dldChwKS0+ZGlzcF9zdGVwcGluZyA8PSAodW50aWwpKQo+Pj4gKwkg dGdsX3N0ZXBwaW5nX2dldChwKS0+ZGlzcF9zdGVwcGluZyA+PSAoc2luY2UpICYmIFwKPj4+ICsJ IHRnbF9zdGVwcGluZ19nZXQocCktPmRpc3Bfc3RlcHBpbmcgPD0gKHVudGlsKSkKPj4+ICAKPj4+ IC0jZGVmaW5lIElTX1RHTF9VWV9HVF9SRVZJRChwLCBzaW5jZSwgdW50aWwpIFwKPj4+ICsjZGVm aW5lIElTX1RHTF9VWV9HVF9TVEVQUElORyhwLCBzaW5jZSwgdW50aWwpIFwKPj4+ICAJKChJU19U R0xfVShwKSB8fCBJU19UR0xfWShwKSkgJiYgXAo+Pj4gLQkgdGdsX3Jldmlkc19nZXQocCktPmd0 X3N0ZXBwaW5nID49IChzaW5jZSkgJiYgXAo+Pj4gLQkgdGdsX3Jldmlkc19nZXQocCktPmd0X3N0 ZXBwaW5nIDw9ICh1bnRpbCkpCj4+PiArCSB0Z2xfc3RlcHBpbmdfZ2V0KHApLT5ndF9zdGVwcGlu ZyA+PSAoc2luY2UpICYmIFwKPj4+ICsJIHRnbF9zdGVwcGluZ19nZXQocCktPmd0X3N0ZXBwaW5n IDw9ICh1bnRpbCkpCj4+PiAgCj4+PiAtI2RlZmluZSBJU19UR0xfR1RfUkVWSUQocCwgc2luY2Us IHVudGlsKSBcCj4+PiArI2RlZmluZSBJU19UR0xfR1RfU1RFUFBJTkcocCwgc2luY2UsIHVudGls KSBcCj4+PiAgCShJU19USUdFUkxBS0UocCkgJiYgXAo+Pj4gIAkgIShJU19UR0xfVShwKSB8fCBJ U19UR0xfWShwKSkgJiYgXAo+Pj4gLQkgdGdsX3Jldmlkc19nZXQocCktPmd0X3N0ZXBwaW5nID49 IChzaW5jZSkgJiYgXAo+Pj4gLQkgdGdsX3Jldmlkc19nZXQocCktPmd0X3N0ZXBwaW5nIDw9ICh1 bnRpbCkpCj4+PiArCSB0Z2xfc3RlcHBpbmdfZ2V0KHApLT5ndF9zdGVwcGluZyA+PSAoc2luY2Up ICYmIFwKPj4+ICsJIHRnbF9zdGVwcGluZ19nZXQocCktPmd0X3N0ZXBwaW5nIDw9ICh1bnRpbCkp Cj4+PiAgCj4+PiAgI2RlZmluZSBSS0xfUkVWSURfQTAJCTB4MAo+Pj4gICNkZWZpbmUgUktMX1JF VklEX0IwCQkweDEKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+Pj4gaW5kZXggYmJjNzNkZjdm NzUzLi4zMTlhY2NhMjYzMGIgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wbS5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4+PiBA QCAtNzExMCw3ICs3MTEwLDcgQEAgc3RhdGljIHZvaWQgdGdsX2luaXRfY2xvY2tfZ2F0aW5nKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4+ICAJCSAgIElMS19EUEZDX0NISUNL RU5fQ09NUF9EVU1NWV9QSVhFTCk7Cj4+PiAgCj4+PiAgCS8qIFdhXzE0MDk4MjUzNzY6dGdsIChw cmUtcHJvZCkqLwo+Pj4gLQlpZiAoSVNfVEdMX0RJU1BfUkVWSUQoZGV2X3ByaXYsIFRHTF9SRVZJ RF9BMCwgVEdMX1JFVklEX0IxKSkKPj4+ICsJaWYgKElTX1RHTF9ESVNQX1NURVBQSU5HKGRldl9w cml2LCBTVEVQX0EwLCBTVEVQX0IxKSkKPj4+ICAJCWludGVsX3VuY29yZV93cml0ZSgmZGV2X3By aXYtPnVuY29yZSwgR0VOOV9DTEtHQVRFX0RJU18zLCBpbnRlbF91bmNvcmVfcmVhZCgmZGV2X3By aXYtPnVuY29yZSwgR0VOOV9DTEtHQVRFX0RJU18zKSB8Cj4+PiAgCQkJICAgVEdMX1ZSSF9HQVRJ TkdfRElTKTsKPj4+ICAKPj4+IC0tIAo+Pj4gMi4yNy4wCj4+PiAKCi0tIApKYW5pIE5pa3VsYSwg SW50ZWwgT3BlbiBTb3VyY2UgR3JhcGhpY3MgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=