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 A2E99C64E7B for ; Tue, 1 Dec 2020 18:47:03 +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 4E20E208C3 for ; Tue, 1 Dec 2020 18:47:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4E20E208C3 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 7B2D76E86F; Tue, 1 Dec 2020 18:47:02 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 38E2C6E554 for ; Tue, 1 Dec 2020 18:47:01 +0000 (UTC) IronPort-SDR: 9cWFHPJd+ldHouTMH92pliwvwZgUWrPCzsu3zFYXt1e3RNM6onQDhV5gWcQgkUksSHDNmjfdlK +zNyuTDjsjOw== X-IronPort-AV: E=McAfee;i="6000,8403,9822"; a="173045932" X-IronPort-AV: E=Sophos;i="5.78,385,1599548400"; d="scan'208";a="173045932" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Dec 2020 10:47:00 -0800 IronPort-SDR: NMFftDMFEqQtH3UsF+XlpbQMRPOBuCefreWIna3ST1httlul6Qk9XHQEjDy0KI5DLKVd8R83IW HoMB3240QXig== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,385,1599548400"; d="scan'208";a="364886306" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga004.fm.intel.com with ESMTP; 01 Dec 2020 10:46:59 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 1 Dec 2020 10:46:59 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 1 Dec 2020 10:46:59 -0800 Received: from fmsmsx611.amr.corp.intel.com ([10.18.126.91]) by fmsmsx611.amr.corp.intel.com ([10.18.126.91]) with mapi id 15.01.1713.004; Tue, 1 Dec 2020 10:46:59 -0800 From: "Srivatsa, Anusha" To: "Swarup, Aditya" , "intel-gfx@lists.freedesktop.org" Thread-Topic: [Intel-gfx] [PATCH 15/21] drm/i915/adl_s: Add display, gt, ctx and ADL-S Thread-Index: AQHWvRLnXm1p5Xq/zE6yOPSZv2XmOKniqkbA Date: Tue, 1 Dec 2020 18:46:58 +0000 Message-ID: <7c78eb2a1d5440cf89a76e17e90d0cfa@intel.com> References: <20201117185029.22078-1-aditya.swarup@intel.com> <20201117185029.22078-16-aditya.swarup@intel.com> In-Reply-To: <20201117185029.22078-16-aditya.swarup@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action x-originating-ip: [10.22.254.132] MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 15/21] drm/i915/adl_s: Add display, gt, ctx and ADL-S 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" , "De Marchi, Lucas" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" cy9BZGQgZGlzcGxheSwgZ3QsIGN0eCBhbmQgQURMLVMvIEFkZCBkaXNwbGF5LCBndCwgY3R4IFdB IGZvciBBREwtUw0KDQpBbnVzaGENCg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ IEZyb206IEludGVsLWdmeCA8aW50ZWwtZ2Z4LWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn PiBPbiBCZWhhbGYgT2YNCj4gQWRpdHlhIFN3YXJ1cA0KPiBTZW50OiBUdWVzZGF5LCBOb3ZlbWJl ciAxNywgMjAyMCAxMDo1MCBBTQ0KPiBUbzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zw0KPiBDYzogTmlrdWxhLCBKYW5pIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+OyBEZSBNYXJjaGks IEx1Y2FzDQo+IDxsdWNhcy5kZW1hcmNoaUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFtJbnRlbC1n ZnhdIFtQQVRDSCAxNS8yMV0gZHJtL2k5MTUvYWRsX3M6IEFkZCBkaXNwbGF5LCBndCwgY3R4IGFu ZA0KPiBBREwtUw0KPiANCj4gLSBJbmhlcml0IHRoZSBnZW4xMiB3b3JrYXJvdW5kcy4NCj4gLSBB ZGQgcGxhY2Vob2xkZXJzIHRvIHNldHVwIEdUIFdBLg0KPiAtIEV4dGVuZCBwZXJtYW5lbnQgZHJp dmVyIFdBIFdhXzE0MDk3NjcxMDggdG8gYWRsLXMgYW5kDQo+ICAgV2FfMTQwMTA2ODUzMzIgdG8g YWRsLXMuDQo+IC0gRXh0ZW5kIHBlcm1hbmVudCBkcml2ZXIgV0EgV2FfMTYwNjA1NDE4OCB0byBh ZGwtcw0KPiAtIEFkZCBXYV8xNDAxMTc2NTI0MiBmb3IgYWRsLXMgQTAgc3RlcHBpbmcuDQo+IA0K PiB2MjoNCj4gLSBFeHRlbmQgV2FfMTQwMTA5MTkxMzggYW5kIFdhXzE0MDEwMjI5MjA2IHRvIEFE TC1TIChNYWRodW1pdGhhKQ0KPiAtIEV4dGVuZCBXYV8yMjAxMDI3MTAyMSB0byBBRExTIChjeW9r b3lhbSkNCj4gDQo+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPg0KPiBD YzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4NCj4gQ2M6 IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4NCj4gQ2M6IE1hdHQgUm9wZXIgPG1hdHRo ZXcuZC5yb3BlckBpbnRlbC5jb20+DQo+IENjOiBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFy Y2hpQGludGVsLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogTWFkaHVtaXRoYSBUb2xha2FuYWhhbGxp IFByYWRlZXANCj4gPG1hZGh1bWl0aGEudG9sYWthbmFoYWxsaS5wcmFkZWVwQGludGVsLmNvbT4N Cj4gU2lnbmVkLW9mZi1ieTogQWRpdHlhIFN3YXJ1cCA8YWRpdHlhLnN3YXJ1cEBpbnRlbC5jb20+ DQo+IC0tLQ0KPiAgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jICAg IHwgIDcgKy0NCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMg ICB8ICA0ICstDQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3JrYXJvdW5kcy5j ICAgfCA5MSArKysrKysrKysrKysrLS0tLS0tDQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZXZpY2VfaW5mby5jICAgICAgfCAgNiArLQ0KPiAgNCBmaWxlcyBjaGFuZ2VkLCA3MiBpbnNl cnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYw0KPiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jDQo+IGluZGV4IDA2YzAzNmUy MDkyYy4uOGIxNjNkODA0YTQxIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYw0KPiBAQCAtNTI4Miw5ICs1MjgyLDEwIEBA IHN0YXRpYyB2b2lkIHRnbF9id19idWRkeV9pbml0KHN0cnVjdA0KPiBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikNCj4gIAl1bnNpZ25lZCBsb25nIGFib3hfbWFzayA9IElOVEVMX0lORk8oZGV2 X3ByaXYpLT5hYm94X21hc2s7DQo+ICAJaW50IGNvbmZpZywgaTsNCj4gDQo+IC0JaWYgKElTX0RH MV9SRVZJRChkZXZfcHJpdiwgREcxX1JFVklEX0EwLCBERzFfUkVWSURfQTApIHx8DQo+ICsJaWYg KElTX0FMREVSTEFLRV9TKGRldl9wcml2KSB8fA0KPiArCSAgICBJU19ERzFfUkVWSUQoZGV2X3By aXYsIERHMV9SRVZJRF9BMCwgREcxX1JFVklEX0EwKSB8fA0KPiAgCSAgICBJU19UR0xfRElTUF9S RVZJRChkZXZfcHJpdiwgUkVWSURfQTAsIFJFVklEX0IwKSkNCj4gLQkJLyogV2FfMTQwOTc2NzEw ODp0Z2wsZGcxICovDQo+ICsJCS8qIFdhXzE0MDk3NjcxMDg6dGdsLGRnMSxhZGwtcyAqLw0KPiAg CQl0YWJsZSA9IHdhXzE0MDk3NjcxMDhfYnVkZHlfcGFnZV9tYXNrczsNCj4gIAllbHNlDQo+ICAJ CXRhYmxlID0gdGdsX2J1ZGR5X3BhZ2VfbWFza3M7DQo+IEBAIC01MzIyLDcgKzUzMjMsNyBAQCBz dGF0aWMgdm9pZCBpY2xfZGlzcGxheV9jb3JlX2luaXQoc3RydWN0DQo+IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LA0KPiANCj4gIAlnZW45X3NldF9kY19zdGF0ZShkZXZfcHJpdiwgRENfU1RB VEVfRElTQUJMRSk7DQo+IA0KPiAtCS8qIFdhXzE0MDExMjk0MTg4OmVobCxqc2wsdGdsLHJrbCAq Lw0KPiArCS8qIFdhXzE0MDExMjk0MTg4OmVobCxqc2wsdGdsLHJrbCxhZGwtcyAqLw0KPiAgCWlm IChJTlRFTF9QQ0hfVFlQRShkZXZfcHJpdikgPj0gUENIX0pTUCAmJg0KPiAgCSAgICBJTlRFTF9Q Q0hfVFlQRShkZXZfcHJpdikgPCBQQ0hfREcxKQ0KPiAgCQlpbnRlbF9kZV9ybXcoZGV2X3ByaXYs IFNPVVRIX0RTUENMS19HQVRFX0QsIDAsIGRpZmYgLS1naXQNCj4gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jDQo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9zcHJpdGUuYw0KPiBpbmRleCBmN2RhNGE1NjA1NGUuLjFlOTU0ZTI5MjhmZSAx MDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zcHJpdGUu Yw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jDQo+ IEBAIC0yMzU5LDggKzIzNTksOCBAQCBzdGF0aWMgaW50IHNrbF9wbGFuZV9jaGVja19mYihjb25z dCBzdHJ1Y3QNCj4gaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwNCj4gIAkJcmV0dXJuIC1F SU5WQUw7DQo+ICAJfQ0KPiANCj4gLQkvKiBXYV8xNjA2MDU0MTg4OnRnbCAqLw0KPiAtCWlmIChJ U19USUdFUkxBS0UoZGV2X3ByaXYpICYmDQo+ICsJLyogV2FfMTYwNjA1NDE4ODp0Z2wsYWRsLXMg Ki8NCj4gKwlpZiAoKElTX0FMREVSTEFLRV9TKGRldl9wcml2KSB8fCBJU19USUdFUkxBS0UoZGV2 X3ByaXYpKSAmJg0KPiAgCSAgICBwbGFuZV9zdGF0ZS0+Y2tleS5mbGFncyAmIEk5MTVfU0VUX0NP TE9SS0VZX1NPVVJDRSAmJg0KPiAgCSAgICBpbnRlbF9mb3JtYXRfaXNfcDAxeChmYi0+Zm9ybWF0 LT5mb3JtYXQpKSB7DQo+ICAJCWRybV9kYmdfa21zKCZkZXZfcHJpdi0+ZHJtLA0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHMuYw0KPiBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3dvcmthcm91bmRzLmMNCj4gaW5kZXggZDg4ZDNk NjBmYjFjLi5lNmYxNDliZDUzN2YgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX3dvcmthcm91bmRzLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv aW50ZWxfd29ya2Fyb3VuZHMuYw0KPiBAQCAtNjY0LDIyICs2NjQsNiBAQCBzdGF0aWMgdm9pZCB0 Z2xfY3R4X3dvcmthcm91bmRzX2luaXQoc3RydWN0DQo+IGludGVsX2VuZ2luZV9jcyAqZW5naW5l LA0KPiAgCQkJCSAgICAgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsKQ0KPiAgew0KPiAgCWdlbjEy X2N0eF93b3JrYXJvdW5kc19pbml0KGVuZ2luZSwgd2FsKTsNCj4gLQ0KPiAtCS8qDQo+IC0JICog V2FfMTYwNDU1NTYwNzp0Z2wscmtsDQo+IC0JICoNCj4gLQkgKiBOb3RlIHRoYXQgdGhlIGltcGxl bWVudGF0aW9uIG9mIHRoaXMgd29ya2Fyb3VuZCBpcyBmdXJ0aGVyDQo+IG1vZGlmaWVkDQo+IC0J ICogYWNjb3JkaW5nIHRvIHRoZSBGRl9NT0RFMiBndWlkYW5jZSBnaXZlbiBieQ0KPiBXYV8xNjA4 MDA4MDg0OmdlbjEyLg0KPiAtCSAqIEZGX01PREUyIHJlZ2lzdGVyIHdpbGwgcmV0dXJuIHRoZSB3 cm9uZyB2YWx1ZSB3aGVuIHJlYWQuIFRoZQ0KPiBkZWZhdWx0DQo+IC0JICogdmFsdWUgZm9yIHRo aXMgcmVnaXN0ZXIgaXMgemVybyBmb3IgYWxsIGZpZWxkcyBhbmQgdGhlcmUgYXJlIG5vIGJpdA0K PiAtCSAqIG1hc2tzLiBTbyBpbnN0ZWFkIG9mIGRvaW5nIGEgUk1XIHdlIHNob3VsZCBqdXN0IHdy aXRlIHRoZSBHUw0KPiBUaW1lcg0KPiAtCSAqIGFuZCBURFMgdGltZXIgdmFsdWVzIGZvciBXYV8x NjA0NTU1NjA3IGFuZCBXYV8xNjAxMTE2MzMzNy4NCj4gLQkgKi8NCj4gLQl3YV9hZGQod2FsLA0K PiAtCSAgICAgICBGRl9NT0RFMiwNCj4gLQkgICAgICAgRkZfTU9ERTJfR1NfVElNRVJfTUFTSyB8 IEZGX01PREUyX1REU19USU1FUl9NQVNLLA0KPiAtCSAgICAgICBGRl9NT0RFMl9HU19USU1FUl8y MjQgIHwgRkZfTU9ERTJfVERTX1RJTUVSXzEyOCwNCj4gLQkgICAgICAgMCk7DQo+ICB9DQo+IA0K PiAgc3RhdGljIHZvaWQgZGcxX2N0eF93b3JrYXJvdW5kc19pbml0KHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwgQEAgLQ0KPiA2OTYsNiArNjgwLDEyIEBAIHN0YXRpYyB2b2lkIGRnMV9j dHhfd29ya2Fyb3VuZHNfaW5pdChzdHJ1Y3QNCj4gaW50ZWxfZW5naW5lX2NzICplbmdpbmUsDQo+ IA0KPiBERzFfSFpfUkVBRF9TVVBQUkVTU0lPTl9PUFRJTUlaQVRJT05fRElTQUJMRSk7DQo+ICB9 DQo+IA0KPiArc3RhdGljIHZvaWQgYWRsc19jdHhfd29ya2Fyb3VuZHNfaW5pdChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsDQo+ICsJCQkJICAgICAgc3RydWN0IGk5MTVfd2FfbGlzdCAq d2FsKQ0KPiArew0KPiArCWdlbjEyX2N0eF93b3JrYXJvdW5kc19pbml0KGVuZ2luZSwgd2FsKTsg fQ0KPiArDQo+ICBzdGF0aWMgdm9pZA0KPiAgX19pbnRlbF9lbmdpbmVfaW5pdF9jdHhfd2Eoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLA0KPiAgCQkJICAgc3RydWN0IGk5MTVfd2FfbGlz dCAqd2FsLA0KPiBAQCAtNzA4LDcgKzY5OCwzMSBAQCBfX2ludGVsX2VuZ2luZV9pbml0X2N0eF93 YShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzDQo+ICplbmdpbmUsDQo+IA0KPiAgCXdhX2luaXRfc3Rh cnQod2FsLCBuYW1lLCBlbmdpbmUtPm5hbWUpOw0KPiANCj4gLQlpZiAoSVNfREcxKGk5MTUpKQ0K PiArCWlmIChJTlRFTF9HRU4oaTkxNSkgPj0gMTIpIHsNCj4gKwkJLyoNCj4gKwkJICogVGhpcyBz ZXR0aW5nIGlzbid0IGFjdHVhbGx5IGEgd29ya2Fyb3VuZCwgYnV0IGlzIGEgZ2VuZXJhbA0KPiAr CQkgKiB0dW5pbmcgc2V0dGluZyB0aGF0IG5lZWRzIHRvIGJlIHByb2dyYW1tZWQgb24gYWxsDQo+ IHBsYXRmb3Jtcw0KPiArCQkgKiBnZW4xMisuIEFsdGhvdWdoIHNvbWUgcGxhdGZvcm1zIGFsc28g cmVmZXIgdG8gdGhpcw0KPiBzZXR0aW5nDQo+ICsJCSAqIGFzIFdhXzE2MDQ1NTU2MDcsIHdlIG5l ZWQgdG8gcHJvZ3JhbSBpdCBldmVuIG9uDQo+IHBsYXRmb3JtcyB0aGF0DQo+ICsJCSAqIGRvbid0 IGV4cGxpY2l0bHkgbGlzdCB0aGF0IHdvcmthcm91bmQuDQo+ICsJCSAqDQo+ICsJCSAqIE5vdGUg dGhhdCB0aGUgaW1wbGVtZW50YXRpb24gaXMgZnVydGhlciBtb2RpZmllZA0KPiBhY2NvcmRpbmcN Cj4gKwkJICogdG8gdGhlIEZGX01PREUyIGd1aWRhbmNlIGdpdmVuIGJ5DQo+IFdhXzE2MDgwMDgw ODQ6Z2VuMTIuDQo+ICsJCSAqIEZGX01PREUyIHJlZ2lzdGVyIHdpbGwgcmV0dXJuIHRoZSB3cm9u ZyB2YWx1ZSB3aGVuDQo+IHJlYWQuDQo+ICsJCSAqIFRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGlz IHJlZ2lzdGVyIGlzIHplcm8gZm9yIGFsbCBmaWVsZHMNCj4gKwkJICogYW5kIHRoZXJlIGFyZSBu byBiaXQgbWFza3MuIFNvIGluc3RlYWQgb2YgZG9pbmcgYSBSTVcsDQo+IHdlDQo+ICsJCSAqIHNo b3VsZCBqdXN0IHdyaXRlIHRoZSB2YWx1ZSBkaXJlY3RseS4NCj4gKwkJICovDQo+ICsJCXdhX2Fk ZCh3YWwsDQo+ICsJCQlGRl9NT0RFMiwNCj4gKwkJCUZGX01PREUyX1REU19USU1FUl9NQVNLLA0K PiArCQkJRkZfTU9ERTJfVERTX1RJTUVSXzEyOCwNCj4gKwkJCTApOw0KPiArCX0NCj4gKw0KPiAr CWlmIChJU19BTERFUkxBS0VfUyhpOTE1KSkNCj4gKwkJYWRsc19jdHhfd29ya2Fyb3VuZHNfaW5p dChlbmdpbmUsIHdhbCk7DQo+ICsJZWxzZSBpZiAoSVNfREcxKGk5MTUpKQ0KPiAgCQlkZzFfY3R4 X3dvcmthcm91bmRzX2luaXQoZW5naW5lLCB3YWwpOw0KPiAgCWVsc2UgaWYgKElTX1JPQ0tFVExB S0UoaTkxNSkgfHwgSVNfVElHRVJMQUtFKGk5MTUpKQ0KPiAgCQl0Z2xfY3R4X3dvcmthcm91bmRz X2luaXQoZW5naW5lLCB3YWwpOyBAQCAtMTI5NCwxMA0KPiArMTMwOCwxOCBAQCBkZzFfZ3Rfd29y a2Fyb3VuZHNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwNCj4gc3RydWN0IGk5 MTVfd2FfbGlzdCAqd2FsKQ0KPiAgCQkJICAgIFZTVU5JVF9DTEtHQVRFX0RJU19UR0wpOw0KPiAg fQ0KPiANCj4gK3N0YXRpYyB2b2lkDQo+ICthZGxzX2d0X3dvcmthcm91bmRzX2luaXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHN0cnVjdA0KPiAraTkxNV93YV9saXN0ICp3YWwpIHsN Cj4gKwlnZW4xMl9ndF93b3JrYXJvdW5kc19pbml0KGk5MTUsIHdhbCk7DQo+ICt9DQo+ICsNCj4g IHN0YXRpYyB2b2lkDQo+ICBndF9pbml0X3dvcmthcm91bmRzKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1LCBzdHJ1Y3QgaTkxNV93YV9saXN0DQo+ICp3YWwpICB7DQo+IC0JaWYgKElTX0RH MShpOTE1KSkNCj4gKwlpZiAoSVNfQUxERVJMQUtFX1MoaTkxNSkpDQo+ICsJCWFkbHNfZ3Rfd29y a2Fyb3VuZHNfaW5pdChpOTE1LCB3YWwpOw0KPiArCWVsc2UgaWYgKElTX0RHMShpOTE1KSkNCj4g IAkJZGcxX2d0X3dvcmthcm91bmRzX2luaXQoaTkxNSwgd2FsKTsNCj4gIAllbHNlIGlmIChJU19U SUdFUkxBS0UoaTkxNSkpDQo+ICAJCXRnbF9ndF93b3JrYXJvdW5kc19pbml0KGk5MTUsIHdhbCk7 DQo+IEBAIC0xNjc4LDYgKzE3MDAsMTEgQEAgc3RhdGljIHZvaWQgZGcxX3doaXRlbGlzdF9idWls ZChzdHJ1Y3QNCj4gaW50ZWxfZW5naW5lX2NzICplbmdpbmUpDQo+ICAJCQkJICBSSU5HX0ZPUkNF X1RPX05PTlBSSVZfQUNDRVNTX1JEKTsgIH0NCj4gDQo+ICtzdGF0aWMgdm9pZCBhZGxzX3doaXRl bGlzdF9idWlsZChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpIHsNCj4gKwl0Z2xfd2hp dGVsaXN0X2J1aWxkKGVuZ2luZSk7DQo+ICt9DQo+ICsNCj4gIHZvaWQgaW50ZWxfZW5naW5lX2lu aXRfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkgIHsNCj4gIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGVuZ2luZS0+aTkxNTsgQEAgLTE2ODUsNyArMTcx Miw5DQo+IEBAIHZvaWQgaW50ZWxfZW5naW5lX2luaXRfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSkNCj4gDQo+ICAJd2FfaW5pdF9zdGFydCh3LCAid2hpdGVsaXN0Iiwg ZW5naW5lLT5uYW1lKTsNCj4gDQo+IC0JaWYgKElTX0RHMShpOTE1KSkNCj4gKwlpZiAoSVNfQUxE RVJMQUtFX1MoaTkxNSkpDQo+ICsJCWFkbHNfd2hpdGVsaXN0X2J1aWxkKGVuZ2luZSk7DQo+ICsJ ZWxzZSBpZiAoSVNfREcxKGk5MTUpKQ0KPiAgCQlkZzFfd2hpdGVsaXN0X2J1aWxkKGVuZ2luZSk7 DQo+ICAJZWxzZSBpZiAoSVNfR0VOKGk5MTUsIDEyKSkNCj4gIAkJdGdsX3doaXRlbGlzdF9idWls ZChlbmdpbmUpOw0KPiBAQCAtMTc2NiwzNyArMTc5NSwzOCBAQCByY3NfZW5naW5lX3dhX2luaXQo c3RydWN0IGludGVsX2VuZ2luZV9jcw0KPiAqZW5naW5lLCBzdHJ1Y3QgaTkxNV93YV9saXN0ICp3 YWwpDQo+ICAJCQkgICAgVlNVTklUX0NMS0dBVEVfRElTX1RHTCk7DQo+ICAJfQ0KPiANCj4gLQlp ZiAoSVNfREcxKGk5MTUpIHx8IElTX1JPQ0tFVExBS0UoaTkxNSkgfHwgSVNfVElHRVJMQUtFKGk5 MTUpKSB7DQo+IC0JCS8qIFdhXzE2MDY5MzE2MDE6dGdsLHJrbCxkZzEgKi8NCj4gKwlpZiAoSVNf QUxERVJMQUtFX1MoaTkxNSkgfHwgSVNfREcxKGk5MTUpIHx8DQo+ICsJICAgIElTX1JPQ0tFVExB S0UoaTkxNSkgfHwgSVNfVElHRVJMQUtFKGk5MTUpKSB7DQo+ICsJCS8qIFdhXzE2MDY5MzE2MDE6 dGdsLHJrbCxkZzEsYWRsLXMgKi8NCj4gIAkJd2FfbWFza2VkX2VuKHdhbCwgR0VON19ST1dfQ0hJ Q0tFTjIsDQo+IEdFTjEyX0RJU0FCTEVfRUFSTFlfUkVBRCk7DQo+IA0KPiAgCQkvKg0KPiAgCQkg KiBXYV8xNDA3OTI4OTc5OnRnbCBBKg0KPiAgCQkgKiBXYV8xODAxMTQ2NDE2NDp0Z2xbQjArXSxk ZzFbQjArXQ0KPiAgCQkgKiBXYV8yMjAxMDkzMTI5Njp0Z2xbQjArXSxkZzFbQjArXQ0KPiAtCQkg KiBXYV8xNDAxMDkxOTEzODpya2wsIGRnMQ0KPiArCQkgKiBXYV8xNDAxMDkxOTEzODpya2wsZGcx LGFkbC1zDQo+ICAJCSAqLw0KPiAgCQl3YV93cml0ZV9vcih3YWwsIEdFTjdfRkZfVEhSRUFEX01P REUsDQo+ICAJCQkgICAgR0VOMTJfRkZfVEVTU0VMQVRJT05fRE9QX0dBVEVfRElTQUJMRSk7DQo+ IA0KPiAgCQkvKg0KPiAgCQkgKiBXYV8xNjA2NzAwNjE3OnRnbCxkZzENCj4gLQkJICogV2FfMjIw MTAyNzEwMjE6dGdsLHJrbCxkZzENCj4gKwkJICogV2FfMjIwMTAyNzEwMjE6dGdsLHJrbCxkZzEs IGFkbC1zDQo+ICAJCSAqLw0KPiAgCQl3YV9tYXNrZWRfZW4od2FsLA0KPiAgCQkJICAgICBHRU45 X0NTX0RFQlVHX01PREUxLA0KPiAgCQkJICAgICBGRl9ET1BfQ0xPQ0tfR0FURV9ESVNBQkxFKTsN Cj4gIAl9DQo+IA0KPiAtCWlmIChJU19ERzFfUkVWSUQoaTkxNSwgREcxX1JFVklEX0EwLCBERzFf UkVWSURfQTApIHx8DQo+ICsJaWYgKElTX0FMREVSTEFLRV9TKGk5MTUpIHx8IElTX0RHMV9SRVZJ RChpOTE1LCBERzFfUkVWSURfQTAsDQo+ICtERzFfUkVWSURfQTApIHx8DQo+ICAJICAgIElTX1JP Q0tFVExBS0UoaTkxNSkgfHwgSVNfVElHRVJMQUtFKGk5MTUpKSB7DQo+IC0JCS8qIFdhXzE0MDk4 MDQ4MDg6dGdsLHJrbCxkZzFbYTBdICovDQo+ICsJCS8qIFdhXzE0MDk4MDQ4MDg6dGdsLHJrbCxk ZzFbYTBdLGFkbC1zICovDQo+ICAJCXdhX21hc2tlZF9lbih3YWwsIEdFTjdfUk9XX0NISUNLRU4y LA0KPiAgCQkJICAgICBHRU4xMl9QVVNIX0NPTlNUX0RFUkVGX0hPTERfRElTKTsNCj4gDQo+ICAJ CS8qDQo+ICAJCSAqIFdhXzE0MDkwODUyMjU6dGdsDQo+IC0JCSAqIFdhXzE0MDEwMjI5MjA2OnRn bCxya2wsZGcxW2EwXQ0KPiArCQkgKiBXYV8xNDAxMDIyOTIwNjp0Z2wscmtsLGRnMVthMF0sYWRs LXMNCj4gIAkJICovDQo+ICAJCXdhX21hc2tlZF9lbih3YWwsIEdFTjlfUk9XX0NISUNLRU40LA0K PiBHRU4xMl9ESVNBQkxFX1RETF9QVVNIKTsNCj4gDQo+IEBAIC0xODEwLDEwICsxODQwLDExIEBA IHJjc19lbmdpbmVfd2FfaW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzDQo+ICplbmdpbmUsIHN0 cnVjdCBpOTE1X3dhX2xpc3QgKndhbCkNCj4gIAkJICogaXQgYXBwbGllcyB0byBhbGwgc3RlcHBp bmdzIHNvIHdlIHRydXN0IHRoZSAiYWxsIHN0ZXBwaW5ncy4iDQo+ICAJCSAqIEZvciBERzEgdGhp cyBvbmx5IGFwcGxpZXMgdG8gQTAuDQo+ICAJCSAqLw0KPiAtCQl3YV9tYXNrZWRfZW4od2FsLA0K PiAtCQkJICAgICBHRU42X1JDX1NMRUVQX1BTTUlfQ09OVFJPTCwNCj4gLQ0KPiBHRU4xMl9XQUlU X0ZPUl9FVkVOVF9QT1dFUl9ET1dOX0RJU0FCTEUgfA0KPiAtCQkJICAgICBHRU44X1JDX1NFTUFf SURMRV9NU0dfRElTQUJMRSk7DQo+ICsJCWlmICghSVNfQUxERVJMQUtFX1MoaTkxNSkpDQo+ICsJ CQl3YV9tYXNrZWRfZW4od2FsLA0KPiArCQkJCSAgICAgR0VONl9SQ19TTEVFUF9QU01JX0NPTlRS T0wsDQo+ICsNCj4gR0VOMTJfV0FJVF9GT1JfRVZFTlRfUE9XRVJfRE9XTl9ESVNBQkxFIHwNCj4g KwkJCQkgICAgIEdFTjhfUkNfU0VNQV9JRExFX01TR19ESVNBQkxFKTsNCj4gIAl9DQo+IA0KPiAg CWlmIChJU19HRU4oaTkxNSwgMTIpKSB7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jDQo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGV2aWNlX2luZm8uYw0KPiBpbmRleCA3MzEwZTAxOWM2MTEuLjY0YTA5OTU0ZmQ1NCAxMDA2NDQN Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYw0KPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jDQo+IEBAIC0zOTQsNyAr Mzk0LDExIEBAIHZvaWQgaW50ZWxfZGV2aWNlX2luZm9fcnVudGltZV9pbml0KHN0cnVjdA0KPiBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikNCj4gIAlzdHJ1Y3QgaW50ZWxfcnVudGltZV9pbmZv ICpydW50aW1lID0gUlVOVElNRV9JTkZPKGRldl9wcml2KTsNCj4gIAllbnVtIHBpcGUgcGlwZTsN Cj4gDQo+IC0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTApIHsNCj4gKwkvKiBXYV8xNDAx MTc2NTI0MjogYWRsLXMgQTAgKi8NCj4gKwlpZiAoSVNfQURMU19ESVNQX1JFVklEKGRldl9wcml2 LCBSRVZJRF9BMCwgUkVWSURfQTApKQ0KPiArCQlmb3JfZWFjaF9waXBlKGRldl9wcml2LCBwaXBl KQ0KPiArCQkJcnVudGltZS0+bnVtX3NjYWxlcnNbcGlwZV0gPSAwOw0KPiArCWVsc2UgaWYgKElO VEVMX0dFTihkZXZfcHJpdikgPj0gMTApIHsNCj4gIAkJZm9yX2VhY2hfcGlwZShkZXZfcHJpdiwg cGlwZSkNCj4gIAkJCXJ1bnRpbWUtPm51bV9zY2FsZXJzW3BpcGVdID0gMjsNCj4gIAl9IGVsc2Ug aWYgKElTX0dFTihkZXZfcHJpdiwgOSkpIHsNCj4gLS0NCj4gMi4yNy4wDQo+IA0KPiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBJbnRlbC1nZnggbWFp bGluZyBsaXN0DQo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4gaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngNCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=