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.7 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 EB7CBC63697 for ; Tue, 17 Nov 2020 19:33:18 +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 8EDB824248 for ; Tue, 17 Nov 2020 19:33:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8EDB824248 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=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 256DF89C28; Tue, 17 Nov 2020 19:33:18 +0000 (UTC) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 58F1589C28 for ; Tue, 17 Nov 2020 19:33:16 +0000 (UTC) IronPort-SDR: IouqOkF0aejOtpxC+zF4n0kKciTrjCU1n5VyunAUBluAyRDK33hbv0Vijrsy6vH/OKhZYmzIzW FCnd0CgMew6w== X-IronPort-AV: E=McAfee;i="6000,8403,9808"; a="171093011" X-IronPort-AV: E=Sophos;i="5.77,486,1596524400"; d="scan'208";a="171093011" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2020 11:33:12 -0800 IronPort-SDR: 3pR1XjiSMPbB59UUJAdpePccUHouW3JCdfoaLMBFvoFwICz9Hat1gXEmCaiBQSwcZkb2dtKP/u TcV0Pxv7PH7A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,486,1596524400"; d="scan'208";a="368199850" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by orsmga007.jf.intel.com with ESMTP; 17 Nov 2020 11:33:12 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 17 Nov 2020 11:33:12 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 17 Nov 2020 11:33:11 -0800 Received: from orsmsx610.amr.corp.intel.com ([10.22.229.23]) by ORSMSX610.amr.corp.intel.com ([10.22.229.23]) with mapi id 15.01.1713.004; Tue, 17 Nov 2020 11:33:11 -0800 From: "Souza, Jose" To: "De Marchi, Lucas" Thread-Topic: [Intel-gfx] [PATCH 02/21] drm/i915/tgl: Fix macros for TGL SOC based WA Thread-Index: AQHWvRKOH2GKv0f6z0ikl8bUfI5t+KnNNIqAgAAHMgCAAAE3gA== Date: Tue, 17 Nov 2020 19:33:11 +0000 Message-ID: <0f2771f59b9d25cf2df7fea347ffbefd353ee44a.camel@intel.com> References: <20201117185029.22078-1-aditya.swarup@intel.com> <20201117185029.22078-3-aditya.swarup@intel.com> <02ea7d2b7eb151787abe8cf42771db40a7f0ef7d.camel@intel.com> <20201117192854.57tki3vges6zdenp@ldmartin-desk1> In-Reply-To: <20201117192854.57tki3vges6zdenp@ldmartin-desk1> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.22.254.132] Content-ID: <4AB7DC824AACC54AB3CD6276506F9E67@intel.com> MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 02/21] drm/i915/tgl: Fix macros for TGL SOC based WA 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: "Nikula, Jani" , "intel-gfx@lists.freedesktop.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gVHVlLCAyMDIwLTExLTE3IGF0IDExOjI4IC0wODAwLCBMdWNhcyBEZSBNYXJjaGkgd3JvdGU6 DQo+IE9uIFR1ZSwgTm92IDE3LCAyMDIwIGF0IDA3OjAzOjA1UE0gKzAwMDAsIEpvc2UgU291emEg d3JvdGU6DQo+ID4gT24gVHVlLCAyMDIwLTExLTE3IGF0IDEwOjUwIC0wODAwLCBBZGl0eWEgU3dh cnVwIHdyb3RlOg0KPiA+ID4gRml4IG1hY3JvcyBmb3IgYXBwbHlpbmcgVEdMIFNPQyBXQXMgYnkg dXNpbmcgSU5URUxfUkVWSUQoKQ0KPiA+ID4gYXMgaW5kZXggdG8gZmV0Y2ggY29ycmVjdCByZXZp c2lvbiBvZmZzZXQgaW4gVEdMIEdUL0RJU1Agc3RlcHBpbmcNCj4gPiA+IHRhYmxlLg0KPiA+IA0K PiA+IFBsZWFzZSBleHBsYWluIHdoYXQgZXhhY3RseSBpcyB0aGUgaXNzdWUgeW91IGFyZSBmaXhp bmcsIHRoZSBjaGFuZ2UgeW91IGRpZCBpbiB0Z2xfcmV2aWRzX2dldCgpICsgSVNfVEdMX0dUX1JF VklEIGxvb2tzIGEgaW1wcm92ZW1lbnQgYnV0IG5vdCBhIGZpeC4NCj4gDQo+IG90aGVyd2lzZSBp dCBhbHdheXMgZ2V0cyB0aGUgZmlyc3QgZW50cnkgZnJvbSB0aGUgdGFibGUsIHJlZ2FyZGxlc3MN Cj4gd2hhdCcgcyB0aGUgcmV2aWQgd2UgYXJlIHJ1bm5pbmcgb24uLi4gc28gaXQgZG9lcyBsb29r IGxpa2UgYSB2ZXJ5DQo+IGltcG9ydGFudCBmaXguDQoNCk9vaCBva2F5LCBzbyB0aGUgZml4IHNo b3VsZCBvbmx5IGJlDQp0Z2xfdXlfcmV2aWRzL3RnbF9yZXZpZHMtPmd0X3N0ZXBwaW5nW0lOVEVM X1JFVklEKGRldl9wcml2KV0NCg0KVGhlbiB0aGUgaW1wcm92ZW1lbnRzIGluIG90aGVyIHBhdGNo ZXMuDQoNCj4gDQo+ID4gDQo+ID4gPiANCj4gPiA+IEFsc28sIHJlbW92ZSByZWR1bmRhbnQgbWFj cm9zIGFuZCBzaW1wbGlmeSBpdCB0byB1c2UgR1QgYW5kIERJU1ANCj4gPiA+IG1hY3JvcyBmb3Ig Z2V0dGluZyBhcHBsaWNhYmxlIHN0ZXBwaW5nIGZvciBUR0wuDQo+IA0KPiBBcyBhIGZpeCwgdGhp cyBzaG91bGQgbm90IGJlIG1peGVkIHdpdGggdGhlIG5vaXN5IHMvVEdMX1JFVklEL1JFVklELywg YXMNCj4gaXQgbWFrZXMgaXQgbXVjaCBtb3JlIGRpZmZpY3VsdCBmb3IgYmFja3BvcnRzIGFuZCB0 byByZXZpZXcuIFBsZWFzZQ0KPiBzcGxpdCBpdCBpbiBhbm90aGVyIHBhdGNoIChJIGFjdHVhbGx5 IGRvbicgdCBzZWUgYSByZWFzb24gdG8gZG8gaXQNCj4gYWN0dWFsbHkuLi4gSSdkIHJhdGhlciB0 cnkgdG8gbW92ZSBhd2F5IGZyb20gdGhlc2UgdGFibGVzIGlmIHBvc3NpYmxlKS4NCj4gDQo+IEx1 Y2FzIERlIE1hcmNoaQ0KPiANCj4gPiA+IA0KPiA+ID4gRml4ZXM6ICgiZHJtL2k5MTUvdGdsOiBG aXggc3RlcHBpbmcgV0EgbWF0Y2hpbmciKQ0KPiA+ID4gQ2M6IEpvc8OpIFJvYmVydG8gZGUgU291 emEgPGpvc2Uuc291emFAaW50ZWwuY29tPg0KPiA+ID4gQ2M6IE1hdHQgUm9wZXIgPG1hdHRoZXcu ZC5yb3BlckBpbnRlbC5jb20+DQo+ID4gPiBDYzogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1h cmNoaUBpbnRlbC5jb20+DQo+ID4gPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVs LmNvbT4NCj4gPiA+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50 ZWwuY29tPg0KPiA+ID4gU2lnbmVkLW9mZi1ieTogQWRpdHlhIFN3YXJ1cCA8YWRpdHlhLnN3YXJ1 cEBpbnRlbC5jb20+DQo+ID4gPiAtLS0NCj4gPiA+IMKgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheV9wb3dlci5jICAgIHwgIDIgKy0NCj4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9wc3IuYyAgICAgIHwgIDQgKystLQ0KPiA+ID4gwqBkcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jICAgfCAgMiArLQ0KPiA+ID4gwqBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3JrYXJvdW5kcy5jICAgfCAyMCArKysrKysrKy0t LS0tLS0tDQo+ID4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAg ICAgICB8IDI0ICsrKysrKystLS0tLS0tLS0tLS0NCj4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYyAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gPiA+IMKgNiBmaWxlcyBjaGFu Z2VkLCAyNCBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkNCj4gPiA+IA0KPiA+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dl ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMN Cj4gPiA+IGluZGV4IGZlMmQ5MGJiYTUzNi4uMDZjMDM2ZTIwOTJjIDEwMDY0NA0KPiA+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMNCj4g PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dl ci5jDQo+ID4gPiBAQCAtNTI4Myw3ICs1MjgzLDcgQEAgc3RhdGljIHZvaWQgdGdsX2J3X2J1ZGR5 X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQ0KPiA+ID4gwqAJaW50IGNv bmZpZywgaTsNCj4gPiA+IMKgDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+ IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4g DQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiDCoAlpZiAoSVNfREcxX1JFVklEKGRldl9w cml2LCBERzFfUkVWSURfQTAsIERHMV9SRVZJRF9BMCkgfHwNCj4gPiA+IC0JICAgIElTX1RHTF9E SVNQX1JFVklEKGRldl9wcml2LCBUR0xfUkVWSURfQTAsIFRHTF9SRVZJRF9CMCkpDQo+ID4gPiAr CSAgICBJU19UR0xfRElTUF9SRVZJRChkZXZfcHJpdiwgUkVWSURfQTAsIFJFVklEX0IwKSkNCj4g PiA+IMKgCQkvKiBXYV8xNDA5NzY3MTA4OnRnbCxkZzEgKi8NCj4gPiA+IMKgCQl0YWJsZSA9IHdh XzE0MDk3NjcxMDhfYnVkZHlfcGFnZV9tYXNrczsNCj4gPiA+IMKgCWVsc2UNCj4gPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuYw0KPiA+ID4gaW5kZXggYjM2MzFiNzIy ZGUzLi5jMDU3YTAzYjJlZDQgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX3Bzci5jDQo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX3Bzci5jDQo+ID4gPiBAQCAtNTUwLDcgKzU1MCw3IEBAIHN0YXRpYyB2b2lk IGhzd19hY3RpdmF0ZV9wc3IyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApDQo+ID4gPiDCoA0K PiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4g PiA+IA0KPiA+ID4gwqAJaWYgKGRldl9wcml2LT5wc3IucHNyMl9zZWxfZmV0Y2hfZW5hYmxlZCkg ew0KPiA+ID4gwqAJCS8qIFdBIDE0MDgzMzA4NDcgKi8NCj4gPiA+IC0JCWlmIChJU19UR0xfRElT UF9SRVZJRChkZXZfcHJpdiwgVEdMX1JFVklEX0EwLCBUR0xfUkVWSURfQTApIHx8DQo+ID4gPiAr CQlpZiAoSVNfVEdMX0RJU1BfUkVWSUQoZGV2X3ByaXYsIFJFVklEX0EwLCBSRVZJRF9BMCkgfHwN Cj4gPiA+IMKgCQkgICAgSVNfUktMX1JFVklEKGRldl9wcml2LCBSS0xfUkVWSURfQTAsIFJLTF9S RVZJRF9BMCkpDQo+ID4gPiDCoAkJCWludGVsX2RlX3JtdyhkZXZfcHJpdiwgQ0hJQ0tFTl9QQVIx XzEsDQo+ID4gPiDCoAkJCQkgICAgIERJU19SQU1fQllQQVNTX1BTUjJfTUFOX1RSQUNLLA0KPiA+ ID4gQEAgLTExMDIsNyArMTEwMiw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9kaXNhYmxlX2xv Y2tlZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQ0KPiA+ID4gwqANCj4gPiA+IA0KPiA+ID4g DQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiAN Cj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IMKg CS8qIFdBIDE0MDgzMzA4NDcgKi8NCj4gPiA+IMKgCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfc2Vs X2ZldGNoX2VuYWJsZWQgJiYNCj4gPiA+IC0JICAgIChJU19UR0xfRElTUF9SRVZJRChkZXZfcHJp diwgVEdMX1JFVklEX0EwLCBUR0xfUkVWSURfQTApIHx8DQo+ID4gPiArCSAgICAoSVNfVEdMX0RJ U1BfUkVWSUQoZGV2X3ByaXYsIFJFVklEX0EwLCBSRVZJRF9BMCkgfHwNCj4gPiA+IMKgCSAgICAg SVNfUktMX1JFVklEKGRldl9wcml2LCBSS0xfUkVWSURfQTAsIFJLTF9SRVZJRF9BMCkpKQ0KPiA+ ID4gwqAJCWludGVsX2RlX3JtdyhkZXZfcHJpdiwgQ0hJQ0tFTl9QQVIxXzEsDQo+ID4gPiDCoAkJ CSAgICAgRElTX1JBTV9CWVBBU1NfUFNSMl9NQU5fVFJBQ0ssIDApOw0KPiA+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jDQo+ID4gPiBpbmRleCBhM2FiNDQ2 OTQxMTguLmY3ZGE0YTU2MDU0ZSAxMDA2NDQNCj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMNCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMNCj4gPiA+IEBAIC0zMDIyLDcgKzMwMjIsNyBAQCBz dGF0aWMgYm9vbCBnZW4xMl9wbGFuZV9zdXBwb3J0c19tY19jY3Moc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LA0KPiA+ID4gwqB7DQo+ID4gPiDCoAkvKiBXYV8xNDAxMDQ3NzAwODp0 Z2xbYTAuLmMwXSxya2xbYWxsXSxkZzFbYWxsXSAqLw0KPiA+ID4gwqAJaWYgKElTX0RHMShkZXZf cHJpdikgfHwgSVNfUk9DS0VUTEFLRShkZXZfcHJpdikgfHwNCj4gPiA+IC0JICAgIElTX1RHTF9E SVNQX1JFVklEKGRldl9wcml2LCBUR0xfUkVWSURfQTAsIFRHTF9SRVZJRF9DMCkpDQo+ID4gPiAr CSAgICBJU19UR0xfRElTUF9SRVZJRChkZXZfcHJpdiwgUkVWSURfQTAsIFJFVklEX0MwKSkNCj4g PiA+IMKgCQlyZXR1cm4gZmFsc2U7DQo+ID4gPiDCoA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0K PiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gwqAJcmV0dXJuIHBs YW5lX2lkIDwgUExBTkVfU1BSSVRFNDsNCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF93b3JrYXJvdW5kcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv aW50ZWxfd29ya2Fyb3VuZHMuYw0KPiA+ID4gaW5kZXggYTgyNTU0YmFhNmFjLi5kNzU2MTU1ZDgy ZWEgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3Jr YXJvdW5kcy5jDQo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3Jr YXJvdW5kcy5jDQo+ID4gPiBAQCAtNzEsMTYgKzcxLDE2IEBAIGNvbnN0IHN0cnVjdCBpOTE1X3Jl dl9zdGVwcGluZ3Mga2JsX3Jldmlkc1tdID0gew0KPiA+ID4gwqB9Ow0KPiA+ID4gwqANCj4gPiA+ IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4g DQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiAN Cj4gPiA+IMKgY29uc3Qgc3RydWN0IGk5MTVfcmV2X3N0ZXBwaW5ncyB0Z2xfdXlfcmV2aWRzW10g PSB7DQo+ID4gPiAtCVswXSA9IHsgLmd0X3N0ZXBwaW5nID0gVEdMX1JFVklEX0EwLCAuZGlzcF9z dGVwcGluZyA9IFRHTF9SRVZJRF9BMCB9LA0KPiA+ID4gLQlbMV0gPSB7IC5ndF9zdGVwcGluZyA9 IFRHTF9SRVZJRF9CMCwgLmRpc3Bfc3RlcHBpbmcgPSBUR0xfUkVWSURfQzAgfSwNCj4gPiA+IC0J WzJdID0geyAuZ3Rfc3RlcHBpbmcgPSBUR0xfUkVWSURfQjEsIC5kaXNwX3N0ZXBwaW5nID0gVEdM X1JFVklEX0MwIH0sDQo+ID4gPiAtCVszXSA9IHsgLmd0X3N0ZXBwaW5nID0gVEdMX1JFVklEX0Mw LCAuZGlzcF9zdGVwcGluZyA9IFRHTF9SRVZJRF9EMCB9LA0KPiA+ID4gKwlbMF0gPSB7IC5ndF9z dGVwcGluZyA9IFJFVklEX0EwLCAuZGlzcF9zdGVwcGluZyA9IFJFVklEX0EwIH0sDQo+ID4gPiAr CVsxXSA9IHsgLmd0X3N0ZXBwaW5nID0gUkVWSURfQjAsIC5kaXNwX3N0ZXBwaW5nID0gUkVWSURf QzAgfSwNCj4gPiA+ICsJWzJdID0geyAuZ3Rfc3RlcHBpbmcgPSBSRVZJRF9CMSwgLmRpc3Bfc3Rl cHBpbmcgPSBSRVZJRF9DMCB9LA0KPiA+ID4gKwlbM10gPSB7IC5ndF9zdGVwcGluZyA9IFJFVklE X0MwLCAuZGlzcF9zdGVwcGluZyA9IFJFVklEX0QwIH0sDQo+ID4gPiDCoH07DQo+ID4gPiDCoA0K PiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4g PiA+IA0KPiA+ID4gwqAvKiBTYW1lIEdUIHN0ZXBwaW5nIGJldHdlZW4gdGdsX3V5X3JldmlkcyBh bmQgdGdsX3JldmlkcyBkb24ndCBtZWFuIHRoZSBzYW1lIEhXICovDQo+ID4gPiDCoGNvbnN0IHN0 cnVjdCBpOTE1X3Jldl9zdGVwcGluZ3MgdGdsX3Jldmlkc1tdID0gew0KPiA+ID4gLQlbMF0gPSB7 IC5ndF9zdGVwcGluZyA9IFRHTF9SRVZJRF9BMCwgLmRpc3Bfc3RlcHBpbmcgPSBUR0xfUkVWSURf QjAgfSwNCj4gPiA+IC0JWzFdID0geyAuZ3Rfc3RlcHBpbmcgPSBUR0xfUkVWSURfQjAsIC5kaXNw X3N0ZXBwaW5nID0gVEdMX1JFVklEX0QwIH0sDQo+ID4gPiArCVswXSA9IHsgLmd0X3N0ZXBwaW5n ID0gUkVWSURfQTAsIC5kaXNwX3N0ZXBwaW5nID0gUkVWSURfQjAgfSwNCj4gPiA+ICsJWzFdID0g eyAuZ3Rfc3RlcHBpbmcgPSBSRVZJRF9CMCwgLmRpc3Bfc3RlcHBpbmcgPSBSRVZJRF9EMCB9LA0K PiA+ID4gwqB9Ow0KPiA+ID4gwqANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4g PiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IMKgc3RhdGljIHZvaWQgd2FfaW5pdF9z dGFydChzdHJ1Y3QgaTkxNV93YV9saXN0ICp3YWwsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNo YXIgKmVuZ2luZV9uYW1lKQ0KPiA+ID4gQEAgLTEyNTAsMTMgKzEyNTAsMTMgQEAgdGdsX2d0X3dv cmthcm91bmRzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHN0cnVjdCBpOTE1 X3dhX2xpc3QgKndhbCkNCj4gPiA+IMKgCWdlbjEyX2d0X3dvcmthcm91bmRzX2luaXQoaTkxNSwg d2FsKTsNCj4gPiA+IMKgDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0K PiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiDCoAkvKiBXYV8xNDA5NDIwNjA0OnRnbCAqLw0K PiA+ID4gLQlpZiAoSVNfVEdMX1VZX0dUX1JFVklEKGk5MTUsIFRHTF9SRVZJRF9BMCwgVEdMX1JF VklEX0EwKSkNCj4gPiA+ICsJaWYgKElTX1RHTF9HVF9SRVZJRChpOTE1LCBSRVZJRF9BMCwgUkVW SURfQTApKQ0KPiA+ID4gwqAJCXdhX3dyaXRlX29yKHdhbCwNCj4gPiA+IMKgCQkJICAgIFNVQlNM SUNFX1VOSVRfTEVWRUxfQ0xLR0FURTIsDQo+ID4gPiDCoAkJCSAgICBDUFNTVU5JVF9DTEtHQVRF X0RJUyk7DQo+ID4gPiDCoA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiAN Cj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0K PiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gwqAJLyogV2FfMTYwNzA4NzA1Njp0Z2wgYWxz byBrbm93IGFzIEJVRzoxNDA5MTgwMzM4ICovDQo+ID4gPiAtCWlmIChJU19UR0xfVVlfR1RfUkVW SUQoaTkxNSwgVEdMX1JFVklEX0EwLCBUR0xfUkVWSURfQTApKQ0KPiA+ID4gKwlpZiAoSVNfVEdM X0dUX1JFVklEKGk5MTUsIFJFVklEX0EwLCBSRVZJRF9BMCkpDQo+ID4gPiDCoAkJd2Ffd3JpdGVf b3Iod2FsLA0KPiA+ID4gwqAJCQkgICAgU0xJQ0VfVU5JVF9MRVZFTF9DTEtHQVRFLA0KPiA+ID4g wqAJCQkgICAgTDNfQ0xLR0FURV9ESVMgfCBMM19DUjJYX0NMS0dBVEVfRElTKTsNCj4gPiA+IEBA IC0xNzM0LDcgKzE3MzQsNyBAQCByY3NfZW5naW5lX3dhX2luaXQoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lLCBzdHJ1Y3QgaTkxNV93YV9saXN0ICp3YWwpDQo+ID4gPiDCoAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGVuZ2luZS0+aTkxNTsNCj4gPiA+IMKgDQo+ID4gPiAN Cj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0K PiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ ID4gPiDCoAlpZiAoSVNfREcxX1JFVklEKGk5MTUsIERHMV9SRVZJRF9BMCwgREcxX1JFVklEX0Ew KSB8fA0KPiA+ID4gLQkgICAgSVNfVEdMX1VZX0dUX1JFVklEKGk5MTUsIFRHTF9SRVZJRF9BMCwg VEdMX1JFVklEX0EwKSkgew0KPiA+ID4gKwkgICAgSVNfVEdMX0dUX1JFVklEKGk5MTUsIFJFVklE X0EwLCBSRVZJRF9BMCkpIHsNCj4gPiA+IMKgCQkvKg0KPiA+ID4gwqAJCSAqIFdhXzE2MDcxMzgz MzY6dGdsW2EwXSxkZzFbYTBdDQo+ID4gPiDCoAkJICogV2FfMTYwNzA2Mzk4ODp0Z2xbYTBdLGRn MVthMF0NCj4gPiA+IEBAIC0xNzQ0LDcgKzE3NDQsNyBAQCByY3NfZW5naW5lX3dhX2luaXQoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCBzdHJ1Y3QgaTkxNV93YV9saXN0ICp3YWwpDQo+ ID4gPiDCoAkJCSAgICBHRU4xMl9ESVNBQkxFX1BPU0hfQlVTWV9GRl9ET1BfQ0cpOw0KPiA+ID4g wqAJfQ0KPiA+ID4gwqANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4g PiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IC0JaWYgKElTX1RHTF9VWV9HVF9SRVZJRChpOTE1 LCBUR0xfUkVWSURfQTAsIFRHTF9SRVZJRF9BMCkpIHsNCj4gPiA+ICsJaWYgKElTX1RHTF9HVF9S RVZJRChpOTE1LCBSRVZJRF9BMCwgUkVWSURfQTApKSB7DQo+ID4gPiDCoAkJLyoNCj4gPiA+IMKg CQkgKiBXYV8xNjA2Njc5MTAzOnRnbA0KPiA+ID4gwqAJCSAqIChzZWUgYWxzbyBXYV8xNjA2Njgy MTY2OmljbCkNCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaA0KPiA+ID4gaW5kZXggMTViZThk ZWJhZTU0Li40Mzc5MTZhYWNhYTYgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oDQo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oDQo+ID4gPiBAQCAtMTU2NSwxMSArMTU2NSwxMSBAQCBleHRlcm4gY29uc3Qgc3RydWN0IGk5 MTVfcmV2X3N0ZXBwaW5ncyBrYmxfcmV2aWRzW107DQo+ID4gPiDCoAkoSVNfSlNMX0VITChwKSAm JiBJU19SRVZJRChwLCBzaW5jZSwgdW50aWwpKQ0KPiA+ID4gwqANCj4gPiA+IA0KPiA+ID4gDQo+ ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4g PiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IMKgZW51 bSB7DQo+ID4gPiAtCVRHTF9SRVZJRF9BMCwNCj4gPiA+IC0JVEdMX1JFVklEX0IwLA0KPiA+ID4g LQlUR0xfUkVWSURfQjEsDQo+ID4gPiAtCVRHTF9SRVZJRF9DMCwNCj4gPiA+IC0JVEdMX1JFVklE X0QwLA0KPiA+ID4gKwlSRVZJRF9BMCwNCj4gPiA+ICsJUkVWSURfQjAsDQo+ID4gPiArCVJFVklE X0IxLA0KPiA+ID4gKwlSRVZJRF9DMCwNCj4gPiA+ICsJUkVWSURfRDAsDQo+ID4gDQo+ID4gQmV0 dGVyIGtlZXAgIlRHTF8iIG90aGVyd2lzZSB0aGlzIGNvdWxkIGJlIHVzZWQgaW4gb3RoZXIgcGxh dGZvcm1zIHRoYXQgaGF2ZSBkaWZmZXJlbnQgdmFsdWVzIGZvciBlYWNoIHJldmlzaW9uLg0KPiA+ IA0KPiA+ID4gwqB9Ow0KPiA+ID4gwqANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0K PiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IMKgZXh0ZXJuIGNvbnN0IHN0cnVj dCBpOTE1X3Jldl9zdGVwcGluZ3MgdGdsX3V5X3Jldmlkc1tdOw0KPiA+ID4gQEAgLTE1NzksOSAr MTU3OSw5IEBAIHN0YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IGk5MTVfcmV2X3N0ZXBwaW5ncyAq DQo+ID4gPiDCoHRnbF9yZXZpZHNfZ2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikNCj4gPiA+IMKgew0KPiA+ID4gwqAJaWYgKElTX1RHTF9VKGRldl9wcml2KSB8fCBJU19UR0xf WShkZXZfcHJpdikpDQo+ID4gPiAtCQlyZXR1cm4gdGdsX3V5X3JldmlkczsNCj4gPiA+ICsJCXJl dHVybiB0Z2xfdXlfcmV2aWRzICsgSU5URUxfUkVWSUQoZGV2X3ByaXYpOw0KPiA+ID4gwqAJZWxz ZQ0KPiA+ID4gLQkJcmV0dXJuIHRnbF9yZXZpZHM7DQo+ID4gPiArCQlyZXR1cm4gdGdsX3Jldmlk cyArIElOVEVMX1JFVklEKGRldl9wcml2KTsNCj4gPiANCj4gPiBiZXR0ZXIgZG8gdGdsX3Jldmlk c1tJTlRFTF9SRVZJRChkZXZfcHJpdildIHdpdGggYSBhcnJheSBzaXplIGNoZWNrIGZpcnN0Lg0K PiA+IA0KPiA+ID4gwqB9DQo+ID4gPiDCoA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4g DQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiDCoCNkZWZpbmUgSVNfVEdMX0RJU1BfUkVW SUQocCwgc2luY2UsIHVudGlsKSBcDQo+ID4gPiBAQCAtMTU4OSwxNiArMTU4OSwxMCBAQCB0Z2xf cmV2aWRzX2dldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpDQo+ID4gPiDCoAkg dGdsX3Jldmlkc19nZXQocCktPmRpc3Bfc3RlcHBpbmcgPj0gKHNpbmNlKSAmJiBcDQo+ID4gPiDC oAkgdGdsX3Jldmlkc19nZXQocCktPmRpc3Bfc3RlcHBpbmcgPD0gKHVudGlsKSkNCj4gPiA+IMKg DQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiAN Cj4gPiA+IC0jZGVmaW5lIElTX1RHTF9VWV9HVF9SRVZJRChwLCBzaW5jZSwgdW50aWwpIFwNCj4g PiA+IC0JKChJU19UR0xfVShwKSB8fCBJU19UR0xfWShwKSkgJiYgXA0KPiA+ID4gLQkgdGdsX3V5 X3Jldmlkcy0+Z3Rfc3RlcHBpbmcgPj0gKHNpbmNlKSAmJiBcDQo+ID4gPiAtCSB0Z2xfdXlfcmV2 aWRzLT5ndF9zdGVwcGluZyA8PSAodW50aWwpKQ0KPiA+ID4gLQ0KPiA+ID4gwqAjZGVmaW5lIElT X1RHTF9HVF9SRVZJRChwLCBzaW5jZSwgdW50aWwpIFwNCj4gPiA+IMKgCShJU19USUdFUkxBS0Uo cCkgJiYgXA0KPiA+ID4gLQkgIShJU19UR0xfVShwKSB8fCBJU19UR0xfWShwKSkgJiYgXA0KPiA+ ID4gLQkgdGdsX3Jldmlkcy0+Z3Rfc3RlcHBpbmcgPj0gKHNpbmNlKSAmJiBcDQo+ID4gPiAtCSB0 Z2xfcmV2aWRzLT5ndF9zdGVwcGluZyA8PSAodW50aWwpKQ0KPiA+ID4gKwkgdGdsX3Jldmlkc19n ZXQocCktPmd0X3N0ZXBwaW5nID49IChzaW5jZSkgJiYgXA0KPiA+ID4gKwkgdGdsX3Jldmlkc19n ZXQocCktPmd0X3N0ZXBwaW5nIDw9ICh1bnRpbCkpDQo+ID4gPiDCoA0KPiA+ID4gDQo+ID4gPiAN Cj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiDCoCNkZWZpbmUg UktMX1JFVklEX0EwCQkweDANCj4gPiA+IMKgI2RlZmluZSBSS0xfUkVWSURfQjAJCTB4MQ0KPiA+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jDQo+ID4gPiBpbmRleCBhMjBiNTA1MWYxOGMuLjY5ODQw YWEwZDRkYiAxMDA2NDQNCj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMNCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMNCj4gPiA+IEBA IC03MTEwLDcgKzcxMTAsNyBAQCBzdGF0aWMgdm9pZCB0Z2xfaW5pdF9jbG9ja19nYXRpbmcoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQ0KPiA+ID4gwqAJCSAgIElMS19EUEZDX0NI SUNLRU5fQ09NUF9EVU1NWV9QSVhFTCk7DQo+ID4gPiDCoA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+ IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiDCoAkvKiBXYV8xNDA5ODI1 Mzc2OnRnbCAocHJlLXByb2QpKi8NCj4gPiA+IC0JaWYgKElTX1RHTF9ESVNQX1JFVklEKGRldl9w cml2LCBUR0xfUkVWSURfQTAsIFRHTF9SRVZJRF9CMSkpDQo+ID4gPiArCWlmIChJU19UR0xfRElT UF9SRVZJRChkZXZfcHJpdiwgUkVWSURfQTAsIFJFVklEX0IxKSkNCj4gPiA+IMKgCQlJOTE1X1dS SVRFKEdFTjlfQ0xLR0FURV9ESVNfMywgSTkxNV9SRUFEKEdFTjlfQ0xLR0FURV9ESVNfMykgfA0K PiA+ID4gwqAJCQkgICBUR0xfVlJIX0dBVElOR19ESVMpOw0KPiA+ID4gwqANCj4gPiA+IA0KPiA+ ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+IA0KPiA+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4gSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdA0KPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4g PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK