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=-9.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, 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 5DF92C2D0A8 for ; Wed, 23 Sep 2020 17:07:07 +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 0CB4B20BED for ; Wed, 23 Sep 2020 17:07:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0CB4B20BED 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 774306E9E2; Wed, 23 Sep 2020 17:07:06 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2F98E6E9E2 for ; Wed, 23 Sep 2020 17:07:05 +0000 (UTC) IronPort-SDR: +rSpPi0w0/eCGmwYxBTURN5jyDluGCjPt62Du72U/+1eXHfT+auYmjA6jjQypnTR5Na2yJBX6W kn+473UNC1OQ== X-IronPort-AV: E=McAfee;i="6000,8403,9753"; a="179043713" X-IronPort-AV: E=Sophos;i="5.77,293,1596524400"; d="scan'208";a="179043713" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Sep 2020 10:07:04 -0700 IronPort-SDR: T0OIUjrRxct/ycpdca013mkoQagrKJhm5KYnZuofruSnw/8uMQkEQIYKcwZLIdvA4XhtBQMJo9 LlLBmu/Jwi9g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,293,1596524400"; d="scan'208";a="290862106" Received: from irsmsx603.ger.corp.intel.com ([163.33.146.9]) by fmsmga007.fm.intel.com with ESMTP; 23 Sep 2020 10:07:03 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by irsmsx603.ger.corp.intel.com (163.33.146.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 23 Sep 2020 18:07:01 +0100 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; Wed, 23 Sep 2020 10:07:00 -0700 From: "Souza, Jose" To: "Mun, Gwan-gyeong" , "intel-gfx@lists.freedesktop.org" Thread-Topic: [PATCH v3 3/3] drm/i915/display: Program PSR2 selective fetch registers Thread-Index: AQHWjVcBsfjlK73e6UqQRu05uc6lAal2rmGAgABFE4A= Date: Wed, 23 Sep 2020 17:07:00 +0000 Message-ID: References: <20200918010245.772724-1-jose.souza@intel.com> <20200918010245.772724-3-jose.souza@intel.com> <3d5c287e563a17b04e27b338532952621e26bef4.camel@intel.com> In-Reply-To: <3d5c287e563a17b04e27b338532952621e26bef4.camel@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.1.200.100] Content-ID: MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH v3 3/3] drm/i915/display: Program PSR2 selective fetch registers 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" T24gV2VkLCAyMDIwLTA5LTIzIGF0IDE0OjAyICswMTAwLCBNdW4sIEd3YW4tZ3llb25nIHdyb3Rl Og0KPiBPbiBUaHUsIDIwMjAtMDktMTcgYXQgMTg6MDIgLTA3MDAsIEpvc8OpIFJvYmVydG8gZGUg U291emEgd3JvdGU6DQo+ID4gQW5vdGhlciBzdGVwIHRvd2FyZHMgUFNSMiBzZWxlY3RpdmUgZmV0 Y2gsIGhlcmUgcHJvZ3JhbW1pbmcgcGxhbmUNCj4gPiBzZWxlY3RpdmUgZmV0Y2ggcmVnaXN0ZXJz IGFuZCBNQU5fVFJLX0NUTCBlbmFibGluZyBzZWxlY3RpdmUgZmV0Y2gNCj4gPiBidXQNCj4gPiBm b3Igbm93IGl0IGlzIGZldGNoaW5nIHRoZSB3aG9sZSBhcmVhIG9mIHRoZSBwbGFuZXMuDQo+ID4g VGhlIGRhbWFnZWQgYXJlYSBjYWxjdWxhdGlvbiB3aWxsIGNvbWUgYXMgbmV4dCBhbmQgZmluYWwg c3RlcC4NCj4gPiANCj4gPiB2MjoNCj4gPiAtIHJlbW92ZWQgd2FybiBvbiB3aGVuIG5vIHBsYW5l IGlzIHZpc2libGUgaW4gc3RhdGUNCj4gPiAtIHJlbW92ZWQgY2FsY3VsYXRpb25zIHVzaW5nIHBs YW5lIGRhbWFnZWQgYXJlYSBpbg0KPiA+IGludGVsX3BzcjJfcHJvZ3JhbV9wbGFuZV9zZWxfZmV0 Y2goKQ0KPiA+IA0KPiA+IHYzOg0KPiA+IC0gZG8gbm90IHNoaWZ0IDE2IHBvc2l0aW9ucyB0aGUg cGxhbmUgZHN0IGNvb3JkaW5hdGVzLCBvbmx5IHNyYyBpcw0KPiA+IHNoaWZ0ZWQNCj4gPiANCj4g PiBCU3BlYzogNTUyMjkNCj4gPiBDYzogR3dhbi1neWVvbmcgTXVuIDwNCj4gPiBnd2FuLWd5ZW9u Zy5tdW5AaW50ZWwuY29tDQo+ID4gPg0KPiA+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPA0KPiA+IHZp bGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tDQo+ID4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEpv c8OpIFJvYmVydG8gZGUgU291emEgPA0KPiA+IGpvc2Uuc291emFAaW50ZWwuY29tDQo+ID4gPg0K PiA+IC0tLQ0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXku YyB8ICAxMCArLQ0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5j ICAgICB8IDEyMA0KPiA+ICsrKysrKysrKysrKysrKysrKy0NCj4gPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuaCAgICAgfCAgMTAgKy0NCj4gPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zcHJpdGUuYyAgfCAgIDMgKw0KPiA+ICA0IGZpbGVzIGNo YW5nZWQsIDEzNCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQ0KPiA+IA0KPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYw0KPiA+ IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMNCj4gPiBpbmRl eCA1YTlkOTMzZTQyNWEuLjk2YmM1MTU0OTdjMSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jDQo+ID4gQEAgLTExODEyLDYgKzExODEy LDkgQEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfY3Vyc29yKHN0cnVjdA0KPiA+IGludGVsX3Bs YW5lICpwbGFuZSwNCj4gPiAgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpDQo+ID4gIAkJ c2tsX3dyaXRlX2N1cnNvcl93bShwbGFuZSwgY3J0Y19zdGF0ZSk7DQo+ID4gIA0KPiA+ICsJaWYg KCFuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpKQ0KPiA+ICsJCWludGVsX3BzcjJfcHJvZ3JhbV9w bGFuZV9zZWxfZmV0Y2gocGxhbmUsIGNydGNfc3RhdGUsDQo+ID4gcGxhbmVfc3RhdGUsIDApOw0K PiA+ICsNCj4gPiAgCWlmIChwbGFuZS0+Y3Vyc29yLmJhc2UgIT0gYmFzZSB8fA0KPiA+ICAJICAg IHBsYW5lLT5jdXJzb3Iuc2l6ZSAhPSBmYmNfY3RsIHx8DQo+ID4gIAkgICAgcGxhbmUtPmN1cnNv ci5jbnRsICE9IGNudGwpIHsNCj4gPiBAQCAtMTI4MjMsOCArMTI4MjYsMTEgQEAgc3RhdGljIGlu dCBpbnRlbF9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QNCj4gPiBpbnRlbF9hdG9taWNfc3RhdGUg KnN0YXRlLA0KPiA+ICANCj4gPiAgCX0NCj4gPiAgDQo+ID4gLQlpZiAoIW1vZGVfY2hhbmdlZCkN Cj4gPiAtCQlpbnRlbF9wc3IyX3NlbF9mZXRjaF91cGRhdGUoc3RhdGUsIGNydGMpOw0KPiA+ICsJ aWYgKCFtb2RlX2NoYW5nZWQpIHsNCj4gPiArCQlyZXQgPSBpbnRlbF9wc3IyX3NlbF9mZXRjaF91 cGRhdGUoc3RhdGUsIGNydGMpOw0KPiA+ICsJCWlmIChyZXQpDQo+ID4gKwkJCXJldHVybiByZXQ7 DQo+ID4gKwl9DQo+ID4gIA0KPiA+ICAJcmV0dXJuIDA7DQo+ID4gIH0NCj4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuYw0KPiA+IGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuYw0KPiA+IGluZGV4IDAyZjc0YjBkZGVj MS4uZGViMDUyM2Y5ZjI5IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfcHNyLmMNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX3Bzci5jDQo+ID4gQEAgLTExNjYsNiArMTE2Niw0MSBAQCBzdGF0aWMgdm9pZCBwc3Jf Zm9yY2VfaHdfdHJhY2tpbmdfZXhpdChzdHJ1Y3QNCj4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikNCj4gPiAgCQlpbnRlbF9wc3JfZXhpdChkZXZfcHJpdik7DQo+ID4gIH0NCj4gPiAgDQo+ ID4gK3ZvaWQgaW50ZWxfcHNyMl9wcm9ncmFtX3BsYW5lX3NlbF9mZXRjaChzdHJ1Y3QgaW50ZWxf cGxhbmUgKnBsYW5lLA0KPiA+ICsJCQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlDQo+ ID4gKmNydGNfc3RhdGUsDQo+ID4gKwkJCQkJY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRl DQo+ID4gKnBsYW5lX3N0YXRlLA0KPiA+ICsJCQkJCWludCBjb2xvcl9wbGFuZSkNCj4gPiArew0K PiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwbGFuZS0+ YmFzZS5kZXYpOw0KPiA+ICsJZW51bSBwaXBlIHBpcGUgPSBwbGFuZS0+cGlwZTsNCj4gPiArCXUz MiB2YWw7DQo+ID4gKw0KPiA+ICsJaWYgKCFjcnRjX3N0YXRlLT5lbmFibGVfcHNyMl9zZWxfZmV0 Y2gpDQo+ID4gKwkJcmV0dXJuOw0KPiA+ICsNCj4gPiArCS8qDQo+ID4gKwkgKiBza2xfcGxhbmVf Y3RsX2NydGMoKS9pOXh4X2N1cnNvcl9jdGxfY3J0YygpIHJldHVybiAwIGZvcg0KPiA+IGdlbjEx Kywgc28NCj4gPiArCSAqIHBsYW5lX3N0YXRlLT5jdGwgaXMgdGhlIHJpZ2h0IHZhbHVlDQo+ID4g KwkgKi8NCj4gPiArCXZhbCA9IHBsYW5lX3N0YXRlID8gcGxhbmVfc3RhdGUtPmN0bCA6IDA7DQo+ IA0KPiBJTUhPLCBza2xfcGxhbmVfY3RsKCkgbWlnaHQgc2V0IG90aGVyIGN0bCBiaXRzLCBpdCB3 b3VsZCBiZSBiZXR0ZXIgdG8NCj4gaGF2ZSBzZXBhcmF0ZWQgY3RsIGJpdCB2YWx1ZSBmb3IgInNl bGVjdGl2ZSBmZXRjaCBjdGwiLg0KDQpMaWtlIHNhaWQgYWxsIG90aGVyIGJpdHMgYXJlIHNwYXJl cyBzbyBjYW4gYmUgc2V0IHdpdGhvdXQgaXNzdWVzIGJ1dCBva2F5IHdpbGwgYSAicGxhbmVfc3Rh dGUtPmN0bCAmIFBMQU5FX1NFTF9GRVRDSF9DVExfRU5BQkxFIi4NCg0KPiA+ICsJaW50ZWxfZGVf d3JpdGVfZncoZGV2X3ByaXYsIFBMQU5FX1NFTF9GRVRDSF9DVEwocGlwZSwgcGxhbmUtDQo+ID4g PiBpZCksIHZhbCk7DQo+ID4gDQo+ID4gKwlpZiAoIXZhbCB8fCBwbGFuZS0+aWQgPT0gUExBTkVf Q1VSU09SKQ0KPiA+ICsJCXJldHVybjsNCj4gPiArDQo+ID4gKwl2YWwgPSBwbGFuZV9zdGF0ZS0+ dWFwaS5kc3QueTEgPDwgMTYgfCBwbGFuZV9zdGF0ZS0NCj4gPiA+IHVhcGkuZHN0LngxOw0KPiA+ IA0KPiA+ICsJaW50ZWxfZGVfd3JpdGVfZncoZGV2X3ByaXYsIFBMQU5FX1NFTF9GRVRDSF9QT1Mo cGlwZSwgcGxhbmUtDQo+ID4gPiBpZCksIHZhbCk7DQo+ID4gDQo+ID4gKw0KPiA+ICsJdmFsID0g cGxhbmVfc3RhdGUtPmNvbG9yX3BsYW5lW2NvbG9yX3BsYW5lXS55IDw8IDE2Ow0KPiA+ICsJdmFs IHw9IHBsYW5lX3N0YXRlLT5jb2xvcl9wbGFuZVtjb2xvcl9wbGFuZV0ueDsNCj4gPiArCWludGVs X2RlX3dyaXRlX2Z3KGRldl9wcml2LCBQTEFORV9TRUxfRkVUQ0hfT0ZGU0VUKHBpcGUsIHBsYW5l LQ0KPiA+ID4gaWQpLA0KPiA+IA0KPiA+ICsJCQkgIHZhbCk7DQo+ID4gKw0KPiA+ICsJLyogU2l6 ZXMgYXJlIDAgYmFzZWQgKi8NCj4gPiArCXZhbCA9ICgoZHJtX3JlY3RfaGVpZ2h0KCZwbGFuZV9z dGF0ZS0+dWFwaS5zcmMpID4+IDE2KSAtIDEpIDw8DQo+ID4gMTY7DQo+ID4gKwl2YWwgfD0gKGRy bV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+dWFwaS5zcmMpID4+IDE2KSAtIDE7DQo+ID4gKwlp bnRlbF9kZV93cml0ZV9mdyhkZXZfcHJpdiwgUExBTkVfU0VMX0ZFVENIX1NJWkUocGlwZSwgcGxh bmUtDQo+ID4gPiBpZCksIHZhbCk7DQo+ID4gDQo+ID4gK30NCj4gPiArDQo+ID4gIHZvaWQgaW50 ZWxfcHNyMl9wcm9ncmFtX3RyYW5zX21hbl90cmtfY3RsKGNvbnN0IHN0cnVjdA0KPiA+IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpDQo+ID4gIHsNCj4gPiAgCXN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOw0KPiA+IEBAIC0x MTgwLDE2ICsxMjE1LDkxIEBAIHZvaWQNCj4gPiBpbnRlbF9wc3IyX3Byb2dyYW1fdHJhbnNfbWFu X3Rya19jdGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUNCj4gPiAqY3J0Y19zdA0KPiA+ ICAJCSAgICAgICBjcnRjX3N0YXRlLT5wc3IyX21hbl90cmFja19jdGwpOw0KPiA+ICB9DQo+ID4g IA0KPiA+IC12b2lkIGludGVsX3BzcjJfc2VsX2ZldGNoX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfYXRv bWljX3N0YXRlICpzdGF0ZSwNCj4gPiAtCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykNCj4g PiArc3RhdGljIHZvaWQgcHNyMl9tYW5fdHJrX2N0bF9jYWxjKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlDQo+ID4gKmNydGNfc3RhdGUsDQo+ID4gKwkJCQkgIHN0cnVjdCBkcm1fcmVjdCAqY2xpcCwg Ym9vbA0KPiA+IGZ1bGxfdXBkYXRlKQ0KPiA+ICt7DQo+ID4gKwl1MzIgdmFsID0gUFNSMl9NQU5f VFJLX0NUTF9FTkFCTEU7DQo+ID4gKw0KPiA+ICsJaWYgKGZ1bGxfdXBkYXRlKSB7DQo+ID4gKwkJ dmFsIHw9IFBTUjJfTUFOX1RSS19DVExfU0ZfU0lOR0xFX0ZVTExfRlJBTUU7DQo+ID4gKwkJZ290 byBleGl0Ow0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCWlmIChjbGlwLT55MSA9PSAtMSkNCj4gPiAr CQlnb3RvIGV4aXQ7DQo+ID4gKw0KPiA+ICsJdmFsIHw9IFBTUjJfTUFOX1RSS19DVExfU0ZfUEFS VElBTF9GUkFNRV9VUERBVEU7DQo+ID4gKwl2YWwgfD0gUFNSMl9NQU5fVFJLX0NUTF9TVV9SRUdJ T05fU1RBUlRfQUREUihjbGlwLT55MSAvIDQgKyAxKTsNCj4gDQo+IEkgdGhpbmsgdGhlIHN0YXJ0 IGFkZHJlc3MgYmxvY2sgd291bGQgYmUgbGlrZSB0aGlzIHRvby4NCj4gUFNSMl9NQU5fVFJLX0NU TF9TVV9SRUdJT05fU1RBUlRfQUREUihESVZfUk9VTkRfVVAoY2xpcC0+eTEgLCA0KSk7DQoNClRo aXMgd291bGQgbm90IG1hdGNoIGZvciBudW1iZXJzIHRoYXQgZGl2aWRlIGJ5IDQuDQp5IHBvcyAw ID0gcmVnaW9uIDF5IHBvcyAxID0gcmVnaW9uIDENCnkgcG9zIDQgPSByZWdpb24gMg0KDQoNCj4g PiArCXZhbCB8PSBQU1IyX01BTl9UUktfQ1RMX1NVX1JFR0lPTl9FTkRfQUREUihESVZfUk9VTkRf VVAoY2xpcC0NCj4gPiA+IHkyLCA0KSArIDEpOw0KPiA+IA0KPiA+ICtleGl0Og0KPiA+ICsJY3J0 Y19zdGF0ZS0+cHNyMl9tYW5fdHJhY2tfY3RsID0gdmFsOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtz dGF0aWMgdm9pZCBjbGlwX2FyZWFfdXBkYXRlKHN0cnVjdCBkcm1fcmVjdCAqb3ZlcmxhcF9kYW1h Z2VfYXJlYSwNCj4gPiArCQkJICAgICBzdHJ1Y3QgZHJtX3JlY3QgKmRhbWFnZV9hcmVhKQ0KPiA+ ICt7DQo+ID4gKwlpZiAob3ZlcmxhcF9kYW1hZ2VfYXJlYS0+eTEgPT0gLTEpIHsNCj4gPiArCQlv dmVybGFwX2RhbWFnZV9hcmVhLT55MSA9IGRhbWFnZV9hcmVhLT55MTsNCj4gPiArCQlvdmVybGFw X2RhbWFnZV9hcmVhLT55MiA9IGRhbWFnZV9hcmVhLT55MjsNCj4gPiArCQlyZXR1cm47DQo+ID4g Kwl9DQo+ID4gKw0KPiA+ICsJaWYgKGRhbWFnZV9hcmVhLT55MSA8IG92ZXJsYXBfZGFtYWdlX2Fy ZWEtPnkxKQ0KPiA+ICsJCW92ZXJsYXBfZGFtYWdlX2FyZWEtPnkxID0gZGFtYWdlX2FyZWEtPnkx Ow0KPiA+ICsNCj4gPiArCWlmIChkYW1hZ2VfYXJlYS0+eTIgPiBvdmVybGFwX2RhbWFnZV9hcmVh LT55MikNCj4gPiArCQlvdmVybGFwX2RhbWFnZV9hcmVhLT55MiA9IGRhbWFnZV9hcmVhLT55MjsN Cj4gPiArfQ0KPiA+ICsNCj4gPiAraW50IGludGVsX3BzcjJfc2VsX2ZldGNoX3VwZGF0ZShzdHJ1 Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwNCj4gPiArCQkJCXN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjKQ0KPiA+ICB7DQo+ID4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSA9DQo+ID4gaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7DQo+ ID4gKwlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKm5ld19wbGFuZV9zdGF0ZSwgKm9sZF9wbGFu ZV9zdGF0ZTsNCj4gPiArCXN0cnVjdCBkcm1fcmVjdCBwaXBlX2NsaXAgPSB7IC55MSA9IC0xIH07 DQo+ID4gKwlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lOw0KPiA+ICsJYm9vbCBmdWxsX3VwZGF0 ZSA9IGZhbHNlOw0KPiA+ICsJaW50IGksIHJldDsNCj4gPiAgDQo+ID4gIAlpZiAoIWNydGNfc3Rh dGUtPmVuYWJsZV9wc3IyX3NlbF9mZXRjaCkNCj4gPiAtCQlyZXR1cm47DQo+ID4gKwkJcmV0dXJu IDA7DQo+ID4gKw0KPiA+ICsJcmV0ID0gZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRfcGxhbmVzKCZz dGF0ZS0+YmFzZSwgJmNydGMtDQo+ID4gPiBiYXNlKTsNCj4gPiANCj4gPiArCWlmIChyZXQpDQo+ ID4gKwkJcmV0dXJuIHJldDsNCj4gPiArDQo+ID4gKwlmb3JfZWFjaF9vbGRuZXdfaW50ZWxfcGxh bmVfaW5fc3RhdGUoc3RhdGUsIHBsYW5lLA0KPiA+IG9sZF9wbGFuZV9zdGF0ZSwNCj4gPiArCQkJ CQkgICAgIG5ld19wbGFuZV9zdGF0ZSwgaSkgew0KPiA+ICsJCXN0cnVjdCBkcm1fcmVjdCB0ZW1w Ow0KPiA+ICsNCj4gPiArCQlpZiAobmV3X3BsYW5lX3N0YXRlLT51YXBpLmNydGMgIT0gY3J0Y19z dGF0ZS0NCj4gPiA+IHVhcGkuY3J0YykNCj4gPiANCj4gPiArCQkJY29udGludWU7DQo+ID4gIA0K PiA+IC0JY3J0Y19zdGF0ZS0+cHNyMl9tYW5fdHJhY2tfY3RsID0gUFNSMl9NQU5fVFJLX0NUTF9F TkFCTEUgfA0KPiA+IC0JCQkJCSBQU1IyX01BTl9UUktfQ1RMX1NGX1NJTkdMRV9GVUwNCj4gPiBM X0ZSQU1FOw0KPiA+ICsJCS8qDQo+ID4gKwkJICogVE9ETzogTm90IGNsZWFyIGhvdyB0byBoYW5k bGUgcGxhbmVzIHdpdGggbmVnYXRpdmUNCj4gPiBwb3NpdGlvbiwNCj4gPiArCQkgKiBhbHNvIHBs YW5lcyBhcmUgbm90IHVwZGF0ZWQgaWYgdGhleSBoYXZlIGEgbmVnYXRpdmUNCj4gPiBYDQo+ID4g KwkJICogcG9zaXRpb24gc28gZm9yIG5vdyBkb2luZyBhIGZ1bGwgdXBkYXRlIGluIHRoaXMNCj4g PiBjYXNlcw0KPiA+ICsJCSAqLw0KPiA+ICsJCWlmIChuZXdfcGxhbmVfc3RhdGUtPnVhcGkuZHN0 LnkxIDwgMCB8fA0KPiA+ICsJCSAgICBuZXdfcGxhbmVfc3RhdGUtPnVhcGkuZHN0LngxIDwgMCkg ew0KPiA+ICsJCQlmdWxsX3VwZGF0ZSA9IHRydWU7DQo+ID4gKwkJCWJyZWFrOw0KPiA+ICsJCX0N Cj4gPiArDQo+ID4gKwkJaWYgKCFuZXdfcGxhbmVfc3RhdGUtPnVhcGkudmlzaWJsZSkNCj4gPiAr CQkJY29udGludWU7DQo+ID4gKw0KPiA+ICsJCS8qDQo+ID4gKwkJICogRm9yIG5vdyBkb2luZyBh IHNlbGVjdGl2ZSBmZXRjaCBpbiB0aGUgd2hvbGUgcGxhbmUNCj4gPiBhcmVhLA0KPiA+ICsJCSAq IG9wdGltaXphdGlvbnMgd2lsbCBjb21lIGluIHRoZSBmdXR1cmUuDQo+ID4gKwkJICovDQo+ID4g KwkJdGVtcC55MSA9IG5ld19wbGFuZV9zdGF0ZS0+dWFwaS5kc3QueTE7DQo+ID4gKwkJdGVtcC55 MiA9IG5ld19wbGFuZV9zdGF0ZS0+dWFwaS5kc3QueTI7DQo+ID4gKwkJY2xpcF9hcmVhX3VwZGF0 ZSgmcGlwZV9jbGlwLCAmdGVtcCk7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJcHNyMl9tYW5fdHJr X2N0bF9jYWxjKGNydGNfc3RhdGUsICZwaXBlX2NsaXAsIGZ1bGxfdXBkYXRlKTsNCj4gPiArCXJl dHVybiAwOw0KPiA+ICB9DQo+ID4gIA0KPiA+ICAvKioNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuaA0KPiA+IGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuaA0KPiA+IGluZGV4IDZhODNjOGU2ODJlNi4uM2VjYTlk Y2VjM2MwIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfcHNyLmgNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bz ci5oDQo+ID4gQEAgLTE1LDYgKzE1LDggQEAgc3RydWN0IGludGVsX2NydGNfc3RhdGU7DQo+ID4g IHN0cnVjdCBpbnRlbF9kcDsNCj4gPiAgc3RydWN0IGludGVsX2NydGM7DQo+ID4gIHN0cnVjdCBp bnRlbF9hdG9taWNfc3RhdGU7DQo+ID4gK3N0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZTsNCj4gPiAr c3RydWN0IGludGVsX3BsYW5lOw0KPiA+ICANCj4gPiAgI2RlZmluZSBDQU5fUFNSKGRldl9wcml2 KSAoSEFTX1BTUihkZXZfcHJpdikgJiYgZGV2X3ByaXYtDQo+ID4gPiBwc3Iuc2lua19zdXBwb3J0 KQ0KPiA+IA0KPiA+ICB2b2lkIGludGVsX3Bzcl9pbml0X2RwY2Qoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCk7DQo+ID4gQEAgLTQ1LDggKzQ3LDEyIEBAIHZvaWQgaW50ZWxfcHNyX2F0b21pY19j aGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcg0KPiA+ICpjb25uZWN0b3IsDQo+ID4gIAkJCSAgICBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX3N0YXRlLA0KPiA+ICAJCQkgICAgc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgKm5ld19zdGF0ZSk7DQo+ID4gIHZvaWQgaW50ZWxfcHNyX3Nl dF9mb3JjZV9tb2RlX2NoYW5nZWQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7DQo+ID4gLXZv aWQgaW50ZWxfcHNyMl9zZWxfZmV0Y2hfdXBkYXRlKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUg KnN0YXRlLA0KPiA+IC0JCQkJIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKTsNCj4gPiAraW50IGlu dGVsX3BzcjJfc2VsX2ZldGNoX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0 ZSwNCj4gPiArCQkJCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKTsNCj4gPiAgdm9pZCBpbnRlbF9w c3IyX3Byb2dyYW1fdHJhbnNfbWFuX3Rya19jdGwoY29uc3Qgc3RydWN0DQo+ID4gaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7DQo+ID4gK3ZvaWQgaW50ZWxfcHNyMl9wcm9ncmFtX3BsYW5l X3NlbF9mZXRjaChzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLA0KPiA+ICsJCQkJCWNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlDQo+ID4gKmNydGNfc3RhdGUsDQo+ID4gKwkJCQkJY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlDQo+ID4gKnBsYW5lX3N0YXRlLA0KPiA+ICsJCQkJCWlu dCBjb2xvcl9wbGFuZSk7DQo+ID4gIA0KPiA+ICAjZW5kaWYgLyogX19JTlRFTF9QU1JfSF9fICov DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3By aXRlLmMNCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMN Cj4gPiBpbmRleCA2MzA0MGNiMGQ0ZTEuLmYxMjQyNWI5MDYwNyAxMDA2NDQNCj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jDQo+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zcHJpdGUuYw0KPiA+IEBAIC02OTAsNiAr NjkwLDkgQEAgc2tsX3Byb2dyYW1fcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwNCj4g PiAgCQlpbnRlbF9kZV93cml0ZV9mdyhkZXZfcHJpdiwgUExBTkVfQVVYX09GRlNFVChwaXBlLA0K PiA+IHBsYW5lX2lkKSwNCj4gPiAgCQkJCSAgKHBsYW5lX3N0YXRlLT5jb2xvcl9wbGFuZVsxXS55 IDw8IDE2KQ0KPiA+ID4gcGxhbmVfc3RhdGUtPmNvbG9yX3BsYW5lWzFdLngpOw0KPiA+IA0KPiA+ ICANCj4gPiArCWlmICghZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQoJmNydGNfc3RhdGUt PnVhcGkpKQ0KPiA+ICsJCWludGVsX3BzcjJfcHJvZ3JhbV9wbGFuZV9zZWxfZmV0Y2gocGxhbmUs IGNydGNfc3RhdGUsDQo+ID4gcGxhbmVfc3RhdGUsIGNvbG9yX3BsYW5lKTsNCj4gPiArDQo+ID4g IAkvKg0KPiA+ICAJICogVGhlIGNvbnRyb2wgcmVnaXN0ZXIgc2VsZi1hcm1zIGlmIHRoZSBwbGFu ZSB3YXMgcHJldmlvdXNseQ0KPiA+ICAJICogZGlzYWJsZWQuIFRyeSB0byBtYWtlIHRoZSBwbGFu ZSBlbmFibGUgYXRvbWljIGJ5IHdyaXRpbmcNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=