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=-7.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY,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 1F8C5C43465 for ; Thu, 17 Sep 2020 20:52:21 +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 CAFC620838 for ; Thu, 17 Sep 2020 20:52:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CAFC620838 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 2AFC56E311; Thu, 17 Sep 2020 20:52:20 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 101336E311 for ; Thu, 17 Sep 2020 20:52:18 +0000 (UTC) IronPort-SDR: bcwr+zngYTn2bfcTvspGj1xdGZyWYB4QouAL55al+lAeVaLzpfKd/bbdz9Mu5EsG/3iMs1r3bp S8Ipi2fQ0pJw== X-IronPort-AV: E=McAfee;i="6000,8403,9747"; a="139295959" X-IronPort-AV: E=Sophos;i="5.77,272,1596524400"; d="scan'208";a="139295959" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Sep 2020 13:52:14 -0700 IronPort-SDR: BN7vo12j650INCAPUWDVZA6bhdbgtVqDTqozOn7u0xpgakVAEiyFkt8Fu0oipGLYngMCwC8pC3 zqEngsC3/Fxg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,272,1596524400"; d="scan'208";a="483903560" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga005.jf.intel.com with ESMTP; 17 Sep 2020 13:52:13 -0700 Received: from bgsmsx604.gar.corp.intel.com (10.67.234.6) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 17 Sep 2020 13:52:12 -0700 Received: from bgsmsx604.gar.corp.intel.com (10.67.234.6) by BGSMSX604.gar.corp.intel.com (10.67.234.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 18 Sep 2020 02:22:10 +0530 Received: from bgsmsx604.gar.corp.intel.com ([10.67.234.6]) by BGSMSX604.gar.corp.intel.com ([10.67.234.6]) with mapi id 15.01.1713.004; Fri, 18 Sep 2020 02:22:10 +0530 From: "Shankar, Uma" To: Ville Syrjala , "intel-gfx@lists.freedesktop.org" Thread-Topic: [Intel-gfx] [PATCH 14/20] drm/i915: Replace some gamma_mode ifs with switches Thread-Index: AQHWXH9KK1lDjlKBjEm9+M0KjVp+W6ltr0Rw Date: Thu, 17 Sep 2020 20:52:10 +0000 Message-ID: References: <20200717211345.26851-1-ville.syrjala@linux.intel.com> <20200717211345.26851-15-ville.syrjala@linux.intel.com> In-Reply-To: <20200717211345.26851-15-ville.syrjala@linux.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 x-originating-ip: [10.223.10.1] MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 14/20] drm/i915: Replace some gamma_mode ifs with switches 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSW50ZWwtZ2Z4IDxpbnRl bC1nZngtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmc+IE9uIEJlaGFsZiBPZiBWaWxsZQ0K PiBTeXJqYWxhDQo+IFNlbnQ6IFNhdHVyZGF5LCBKdWx5IDE4LCAyMDIwIDI6NDQgQU0NCj4gVG86 IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4gU3ViamVjdDogW0ludGVsLWdmeF0g W1BBVENIIDE0LzIwXSBkcm0vaTkxNTogUmVwbGFjZSBzb21lIGdhbW1hX21vZGUgaWZzIHdpdGgN Cj4gc3dpdGNoZXMNCj4gDQo+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+DQo+IA0KPiBTaW5jZSBnYW1tYV9tb2RlIGNhbiBoYXZlIG1vcmUgdGhh biB0d28gdmFsdWVzIG9uIGlsaysgbGV0J3MgdXNlIHN3aXRjaA0KPiBzdGF0ZW1udHMgd2hlbiBp bnRlcnByZXRpbmcgdGhlbS4NCg0KTml0OiBUeXBvIGluIHN0YXRlbWVudHMNCldpdGggdGhpcyBm aXhlZCwNClJldmlld2VkLWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPg0K DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPg0KPiAtLS0NCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfY29sb3IuYyB8IDkzICsrKysrKysrKysrKysrKystLS0tLS0NCj4gIDEgZmlsZSBjaGFuZ2Vk LCA3MCBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NvbG9yLmMNCj4gYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NvbG9yLmMNCj4gaW5kZXggODg2ZjNmMGQ4NzNhLi5k NWNlNThjM2JjMTEgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfY29sb3IuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2NvbG9yLmMNCj4gQEAgLTYzOCwxMCArNjM4LDE3IEBAIHN0YXRpYyB2b2lkIGlsa19sb2FkX2x1 dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUNCj4gKmNydGNfc3RhdGUpDQo+ICAJc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0 Yyk7DQo+ICAJY29uc3Qgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpnYW1tYV9sdXQgPSBjcnRj X3N0YXRlLQ0KPiA+aHcuZ2FtbWFfbHV0Ow0KPiANCj4gLQlpZiAoY3J0Y19zdGF0ZS0+Z2FtbWFf bW9kZSA9PSBHQU1NQV9NT0RFX01PREVfOEJJVCkNCj4gKwlzd2l0Y2ggKGNydGNfc3RhdGUtPmdh bW1hX21vZGUpIHsNCj4gKwljYXNlIEdBTU1BX01PREVfTU9ERV84QklUOg0KPiAgCQlpbGtfbG9h ZF9sdXRfOChjcnRjLCBnYW1tYV9sdXQpOw0KPiAtCWVsc2UNCj4gKwkJYnJlYWs7DQo+ICsJY2Fz ZSBHQU1NQV9NT0RFX01PREVfMTBCSVQ6DQo+ICAJCWlsa19sb2FkX2x1dF8xMChjcnRjLCBnYW1t YV9sdXQpOw0KPiArCQlicmVhazsNCj4gKwlkZWZhdWx0Og0KPiArCQlNSVNTSU5HX0NBU0UoY3J0 Y19zdGF0ZS0+Z2FtbWFfbW9kZSk7DQo+ICsJCWJyZWFrOw0KPiArCX0NCj4gIH0NCj4gDQo+ICBz dGF0aWMgaW50IGl2Yl9sdXRfMTBfc2l6ZSh1MzIgcHJlY19pbmRleCkgQEAgLTc0NSwyMSArNzUy LDI3IEBAIHN0YXRpYyB2b2lkDQo+IGl2Yl9sb2FkX2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUpDQo+ICAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19p bnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7DQo+ICAJY29uc3Qgc3RydWN0IGRybV9w cm9wZXJ0eV9ibG9iICpnYW1tYV9sdXQgPSBjcnRjX3N0YXRlLQ0KPiA+aHcuZ2FtbWFfbHV0Ow0K PiAgCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZGVnYW1tYV9sdXQgPSBjcnRjX3N0 YXRlLQ0KPiA+aHcuZGVnYW1tYV9sdXQ7DQo+ICsJY29uc3Qgc3RydWN0IGRybV9wcm9wZXJ0eV9i bG9iICpibG9iID0gZ2FtbWFfbHV0ID86IGRlZ2FtbWFfbHV0Ow0KPiANCj4gLQlpZiAoY3J0Y19z dGF0ZS0+Z2FtbWFfbW9kZSA9PSBHQU1NQV9NT0RFX01PREVfOEJJVCkgew0KPiAtCQlpbGtfbG9h ZF9sdXRfOChjcnRjLCBnYW1tYV9sdXQpOw0KPiAtCX0gZWxzZSBpZiAoY3J0Y19zdGF0ZS0+Z2Ft bWFfbW9kZSA9PSBHQU1NQV9NT0RFX01PREVfU1BMSVQpIHsNCj4gKwlzd2l0Y2ggKGNydGNfc3Rh dGUtPmdhbW1hX21vZGUpIHsNCj4gKwljYXNlIEdBTU1BX01PREVfTU9ERV84QklUOg0KPiArCQlp bGtfbG9hZF9sdXRfOChjcnRjLCBibG9iKTsNCj4gKwkJYnJlYWs7DQo+ICsJY2FzZSBHQU1NQV9N T0RFX01PREVfU1BMSVQ6DQo+ICAJCWl2Yl9sb2FkX2x1dF8xMChjcnRjLCBkZWdhbW1hX2x1dCwg UEFMX1BSRUNfU1BMSVRfTU9ERSB8DQo+ICAJCQkJUEFMX1BSRUNfSU5ERVhfVkFMVUUoMCkpOw0K PiAgCQlpdmJfbG9hZF9sdXRfZXh0X21heChjcnRjX3N0YXRlKTsNCj4gIAkJaXZiX2xvYWRfbHV0 XzEwKGNydGMsIGdhbW1hX2x1dCwgUEFMX1BSRUNfU1BMSVRfTU9ERSB8DQo+ICAJCQkJUEFMX1BS RUNfSU5ERVhfVkFMVUUoNTEyKSk7DQo+IC0JfSBlbHNlIHsNCj4gLQkJY29uc3Qgc3RydWN0IGRy bV9wcm9wZXJ0eV9ibG9iICpibG9iID0gZ2FtbWFfbHV0ID86DQo+IGRlZ2FtbWFfbHV0Ow0KPiAt DQo+ICsJCWJyZWFrOw0KPiArCWNhc2UgR0FNTUFfTU9ERV9NT0RFXzEwQklUOg0KPiAgCQlpdmJf bG9hZF9sdXRfMTAoY3J0YywgYmxvYiwNCj4gIAkJCQlQQUxfUFJFQ19JTkRFWF9WQUxVRSgwKSk7 DQo+ICAJCWl2Yl9sb2FkX2x1dF9leHRfbWF4KGNydGNfc3RhdGUpOw0KPiArCQlicmVhazsNCj4g KwlkZWZhdWx0Og0KPiArCQlNSVNTSU5HX0NBU0UoY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSk7DQo+ ICsJCWJyZWFrOw0KPiAgCX0NCj4gIH0NCj4gDQo+IEBAIC03NjgsMjEgKzc4MSwyNyBAQCBzdGF0 aWMgdm9pZCBiZHdfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlDQo+ICpj cnRjX3N0YXRlKQ0KPiAgCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT51YXBpLmNydGMpOw0KPiAgCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxv YiAqZ2FtbWFfbHV0ID0gY3J0Y19zdGF0ZS0NCj4gPmh3LmdhbW1hX2x1dDsNCj4gIAljb25zdCBz dHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmRlZ2FtbWFfbHV0ID0gY3J0Y19zdGF0ZS0NCj4gPmh3 LmRlZ2FtbWFfbHV0Ow0KPiArCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYiA9 IGdhbW1hX2x1dCA/OiBkZWdhbW1hX2x1dDsNCj4gDQo+IC0JaWYgKGNydGNfc3RhdGUtPmdhbW1h X21vZGUgPT0gR0FNTUFfTU9ERV9NT0RFXzhCSVQpIHsNCj4gLQkJaWxrX2xvYWRfbHV0XzgoY3J0 YywgZ2FtbWFfbHV0KTsNCj4gLQl9IGVsc2UgaWYgKGNydGNfc3RhdGUtPmdhbW1hX21vZGUgPT0g R0FNTUFfTU9ERV9NT0RFX1NQTElUKSB7DQo+ICsJc3dpdGNoIChjcnRjX3N0YXRlLT5nYW1tYV9t b2RlKSB7DQo+ICsJY2FzZSBHQU1NQV9NT0RFX01PREVfOEJJVDoNCj4gKwkJaWxrX2xvYWRfbHV0 XzgoY3J0YywgYmxvYik7DQo+ICsJCWJyZWFrOw0KPiArCWNhc2UgR0FNTUFfTU9ERV9NT0RFX1NQ TElUOg0KPiAgCQliZHdfbG9hZF9sdXRfMTAoY3J0YywgZGVnYW1tYV9sdXQsIFBBTF9QUkVDX1NQ TElUX01PREUgfA0KPiAgCQkJCVBBTF9QUkVDX0lOREVYX1ZBTFVFKDApKTsNCj4gIAkJaXZiX2xv YWRfbHV0X2V4dF9tYXgoY3J0Y19zdGF0ZSk7DQo+ICAJCWJkd19sb2FkX2x1dF8xMChjcnRjLCBn YW1tYV9sdXQsIFBBTF9QUkVDX1NQTElUX01PREUgfA0KPiAgCQkJCVBBTF9QUkVDX0lOREVYX1ZB TFVFKDUxMikpOw0KPiAtCX0gZWxzZSB7DQo+IC0JCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlf YmxvYiAqYmxvYiA9IGdhbW1hX2x1dCA/Og0KPiBkZWdhbW1hX2x1dDsNCj4gLQ0KPiArCQlicmVh azsNCj4gKwljYXNlIEdBTU1BX01PREVfTU9ERV8xMEJJVDoNCj4gIAkJYmR3X2xvYWRfbHV0XzEw KGNydGMsIGJsb2IsDQo+ICAJCQkJUEFMX1BSRUNfSU5ERVhfVkFMVUUoMCkpOw0KPiAgCQlpdmJf bG9hZF9sdXRfZXh0X21heChjcnRjX3N0YXRlKTsNCj4gKwkJYnJlYWs7DQo+ICsJZGVmYXVsdDoN Cj4gKwkJTUlTU0lOR19DQVNFKGNydGNfc3RhdGUtPmdhbW1hX21vZGUpOw0KPiArCQlicmVhazsN Cj4gIAl9DQo+ICB9DQo+IA0KPiBAQCAtODc1LDExICs4OTQsMTcgQEAgc3RhdGljIHZvaWQgZ2xr X2xvYWRfbHV0cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQ0KPiAqY3J0Y19zdGF0ZSkN Cj4gIAllbHNlDQo+ICAJCWdsa19sb2FkX2RlZ2FtbWFfbHV0X2xpbmVhcihjcnRjX3N0YXRlKTsN Cj4gDQo+IC0JaWYgKGNydGNfc3RhdGUtPmdhbW1hX21vZGUgPT0gR0FNTUFfTU9ERV9NT0RFXzhC SVQpIHsNCj4gKwlzd2l0Y2ggKGNydGNfc3RhdGUtPmdhbW1hX21vZGUpIHsNCj4gKwljYXNlIEdB TU1BX01PREVfTU9ERV84QklUOg0KPiAgCQlpbGtfbG9hZF9sdXRfOChjcnRjLCBnYW1tYV9sdXQp Ow0KPiAtCX0gZWxzZSB7DQo+ICsJCWJyZWFrOw0KPiArCWNhc2UgR0FNTUFfTU9ERV9NT0RFXzEw QklUOg0KPiAgCQliZHdfbG9hZF9sdXRfMTAoY3J0YywgZ2FtbWFfbHV0LCBQQUxfUFJFQ19JTkRF WF9WQUxVRSgwKSk7DQo+ICAJCWl2Yl9sb2FkX2x1dF9leHRfbWF4KGNydGNfc3RhdGUpOw0KPiAr CQlicmVhazsNCj4gKwlkZWZhdWx0Og0KPiArCQlNSVNTSU5HX0NBU0UoY3J0Y19zdGF0ZS0+Z2Ft bWFfbW9kZSk7DQo+ICsJCWJyZWFrOw0KPiAgCX0NCj4gIH0NCj4gDQo+IEBAIC0xMDExLDkgKzEw MzYsMTMgQEAgc3RhdGljIHZvaWQgaWNsX2xvYWRfbHV0cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZQ0KPiAqY3J0Y19zdGF0ZSkNCj4gIAkJaWNsX3Byb2dyYW1fZ2FtbWFfc3VwZXJmaW5l X3NlZ21lbnQoY3J0Y19zdGF0ZSk7DQo+ICAJCWljbF9wcm9ncmFtX2dhbW1hX211bHRpX3NlZ21l bnQoY3J0Y19zdGF0ZSk7DQo+ICAJCWJyZWFrOw0KPiAtCWRlZmF1bHQ6DQo+ICsJY2FzZSBHQU1N QV9NT0RFX01PREVfMTBCSVQ6DQo+ICAJCWJkd19sb2FkX2x1dF8xMChjcnRjLCBnYW1tYV9sdXQs IFBBTF9QUkVDX0lOREVYX1ZBTFVFKDApKTsNCj4gIAkJaXZiX2xvYWRfbHV0X2V4dF9tYXgoY3J0 Y19zdGF0ZSk7DQo+ICsJCWJyZWFrOw0KPiArCWRlZmF1bHQ6DQo+ICsJCU1JU1NJTkdfQ0FTRShj cnRjX3N0YXRlLT5nYW1tYV9tb2RlKTsNCj4gKwkJYnJlYWs7DQo+ICAJfQ0KPiANCj4gIAlpbnRl bF9kc2JfY29tbWl0KGNydGNfc3RhdGUpOw0KPiBAQCAtMTc0NCw3ICsxNzczLDcgQEAgYm9vbCBp bnRlbF9jb2xvcl9sdXRfZXF1YWwoc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iDQo+ICpibG9iMSwN Cj4gIAkJYnJlYWs7DQo+ICAJZGVmYXVsdDoNCj4gIAkJTUlTU0lOR19DQVNFKGdhbW1hX21vZGUp Ow0KPiAtCQkJcmV0dXJuIGZhbHNlOw0KPiArCQlyZXR1cm4gZmFsc2U7DQo+ICAJfQ0KPiANCj4g IAlyZXR1cm4gdHJ1ZTsNCj4gQEAgLTE5NTMsMTAgKzE5ODIsMTcgQEAgc3RhdGljIHZvaWQgaWxr X3JlYWRfbHV0cyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQ0KPiAqY3J0Y19zdGF0ZSkNCj4gIAlp ZiAoKGNydGNfc3RhdGUtPmNzY19tb2RlICYgQ1NDX1BPU0lUSU9OX0JFRk9SRV9HQU1NQSkgPT0g MCkNCj4gIAkJcmV0dXJuOw0KPiANCj4gLQlpZiAoY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSA9PSBH QU1NQV9NT0RFX01PREVfOEJJVCkNCj4gKwlzd2l0Y2ggKGNydGNfc3RhdGUtPmdhbW1hX21vZGUp IHsNCj4gKwljYXNlIEdBTU1BX01PREVfTU9ERV84QklUOg0KPiAgCQljcnRjX3N0YXRlLT5ody5n YW1tYV9sdXQgPSBpbGtfcmVhZF9sdXRfOChjcnRjKTsNCj4gLQllbHNlDQo+ICsJCWJyZWFrOw0K PiArCWNhc2UgR0FNTUFfTU9ERV9NT0RFXzEwQklUOg0KPiAgCQljcnRjX3N0YXRlLT5ody5nYW1t YV9sdXQgPSBpbGtfcmVhZF9sdXRfMTAoY3J0Yyk7DQo+ICsJCWJyZWFrOw0KPiArCWRlZmF1bHQ6 DQo+ICsJCU1JU1NJTkdfQ0FTRShjcnRjX3N0YXRlLT5nYW1tYV9tb2RlKTsNCj4gKwkJYnJlYWs7 DQo+ICsJfQ0KPiAgfQ0KPiANCj4gIC8qDQo+IEBAIC0yMTQ5LDEwICsyMTg1LDE3IEBAIHN0YXRp YyB2b2lkIGdsa19yZWFkX2x1dHMoc3RydWN0IGludGVsX2NydGNfc3RhdGUNCj4gKmNydGNfc3Rh dGUpDQo+ICAJaWYgKCFjcnRjX3N0YXRlLT5nYW1tYV9lbmFibGUpDQo+ICAJCXJldHVybjsNCj4g DQo+IC0JaWYgKGNydGNfc3RhdGUtPmdhbW1hX21vZGUgPT0gR0FNTUFfTU9ERV9NT0RFXzhCSVQp DQo+ICsJc3dpdGNoIChjcnRjX3N0YXRlLT5nYW1tYV9tb2RlKSB7DQo+ICsJY2FzZSBHQU1NQV9N T0RFX01PREVfOEJJVDoNCj4gIAkJY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0ID0gaWxrX3JlYWRf bHV0XzgoY3J0Yyk7DQo+IC0JZWxzZQ0KPiArCQlicmVhazsNCj4gKwljYXNlIEdBTU1BX01PREVf TU9ERV8xMEJJVDoNCj4gIAkJY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0ID0gYmR3X3JlYWRfbHV0 XzEwKGNydGMsDQo+IFBBTF9QUkVDX0lOREVYX1ZBTFVFKDApKTsNCj4gKwkJYnJlYWs7DQo+ICsJ ZGVmYXVsdDoNCj4gKwkJTUlTU0lOR19DQVNFKGNydGNfc3RhdGUtPmdhbW1hX21vZGUpOw0KPiAr CQlicmVhazsNCj4gKwl9DQo+ICB9DQo+IA0KPiAgc3RhdGljIHN0cnVjdCBkcm1fcHJvcGVydHlf YmxvYiAqDQo+IEBAIC0yMjA3LDExICsyMjUwLDE1IEBAIHN0YXRpYyB2b2lkIGljbF9yZWFkX2x1 dHMoc3RydWN0IGludGVsX2NydGNfc3RhdGUNCj4gKmNydGNfc3RhdGUpDQo+ICAJY2FzZSBHQU1N QV9NT0RFX01PREVfOEJJVDoNCj4gIAkJY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0ID0gaWxrX3Jl YWRfbHV0XzgoY3J0Yyk7DQo+ICAJCWJyZWFrOw0KPiArCWNhc2UgR0FNTUFfTU9ERV9NT0RFXzEw QklUOg0KPiArCQljcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQgPSBiZHdfcmVhZF9sdXRfMTAoY3J0 YywNCj4gUEFMX1BSRUNfSU5ERVhfVkFMVUUoMCkpOw0KPiArCQlicmVhazsNCj4gIAljYXNlIEdB TU1BX01PREVfTU9ERV8xMkJJVF9NVUxUSV9TRUdNRU5URUQ6DQo+ICAJCWNydGNfc3RhdGUtPmh3 LmdhbW1hX2x1dCA9IGljbF9yZWFkX2x1dF9tdWx0aV9zZWdtZW50KGNydGMpOw0KPiAgCQlicmVh azsNCj4gIAlkZWZhdWx0Og0KPiAtCQljcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQgPSBiZHdfcmVh ZF9sdXRfMTAoY3J0YywNCj4gUEFMX1BSRUNfSU5ERVhfVkFMVUUoMCkpOw0KPiArCQlNSVNTSU5H X0NBU0UoY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSk7DQo+ICsJCWJyZWFrOw0KPiAgCX0NCj4gIH0N Cj4gDQo+IC0tDQo+IDIuMjYuMg0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18NCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdA0KPiBJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK