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 61974C433E0 for ; Thu, 4 Mar 2021 10:52:37 +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 0F88A64E12 for ; Thu, 4 Mar 2021 10:52:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0F88A64E12 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 7D78C6EA17; Thu, 4 Mar 2021 10:52:36 +0000 (UTC) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 90C5A6EA17 for ; Thu, 4 Mar 2021 10:52:34 +0000 (UTC) IronPort-SDR: 64gNQSRYd75hW5VmbK8dapZgfLNv83TNtZS7KYFUEbjqkYVkYWP8yGVzI6iEJwKea2IEgdnGgS jA/IWTADOOfA== X-IronPort-AV: E=McAfee;i="6000,8403,9912"; a="248787153" X-IronPort-AV: E=Sophos;i="5.81,222,1610438400"; d="scan'208";a="248787153" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2021 02:52:31 -0800 IronPort-SDR: y53SjgMPF0R5r90AvyKHUrq7nDI/HfA2fO43TKWY4ZerT1PbMP2RdZmZwMlkk0C5XIMbKooiHa P7vdQQ3IeRsQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,222,1610438400"; d="scan'208";a="407730710" Received: from irsmsx601.ger.corp.intel.com ([163.33.146.7]) by orsmga008.jf.intel.com with ESMTP; 04 Mar 2021 02:52:31 -0800 Received: from irsmsx605.ger.corp.intel.com (163.33.146.138) by irsmsx601.ger.corp.intel.com (163.33.146.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Thu, 4 Mar 2021 10:52:30 +0000 Received: from irsmsx605.ger.corp.intel.com ([163.33.146.138]) by IRSMSX605.ger.corp.intel.com ([163.33.146.138]) with mapi id 15.01.2106.013; Thu, 4 Mar 2021 10:52:30 +0000 From: "Kahola, Mika" To: Ville Syrjala , "intel-gfx@lists.freedesktop.org" Thread-Topic: [Intel-gfx] [PATCH 3/6] drm/i915: Use pipes instead crtc indices in PLL state tracking Thread-Index: AQHXCrtUYkrYv6lohk6M+aR2abUiEapzs2TQ Date: Thu, 4 Mar 2021 10:52:30 +0000 Message-ID: References: <20210224144214.24803-1-ville.syrjala@linux.intel.com> <20210224144214.24803-4-ville.syrjala@linux.intel.com> In-Reply-To: <20210224144214.24803-4-ville.syrjala@linux.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.0.76 dlp-product: dlpe-windows dlp-reaction: no-action x-originating-ip: [163.33.253.164] MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 3/6] drm/i915: Use pipes instead crtc indices in PLL state tracking 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBJbnRlbC1nZnggPGludGVsLWdm eC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4gT24gQmVoYWxmIE9mIFZpbGxlDQo+IFN5 cmphbGENCj4gU2VudDogV2VkbmVzZGF5LCBGZWJydWFyeSAyNCwgMjAyMSA0OjQyIFBNDQo+IFRv OiBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+IFN1YmplY3Q6IFtJbnRlbC1nZnhd IFtQQVRDSCAzLzZdIGRybS9pOTE1OiBVc2UgcGlwZXMgaW5zdGVhZCBjcnRjIGluZGljZXMgaW4g UExMDQo+IHN0YXRlIHRyYWNraW5nDQo+IA0KPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tPg0KPiANCj4gQWxsIHRoZSBvdGhlciBwbGFjZXMgd2Ug aGF2ZSB1c2UgcGlwZXMgaW5zdGVhZCBvZiBjcnRjIGluZGljZXMgd2hlbiB0cmFja2luZw0KPiBy ZXNvdXJjZSB1c2FnZS4gTGlmZSBpcyBlYXNpZXIgd2hlbiB3ZSBkbyBpdCB0aGUgc2FtZSB3YXkg YWx3YXlzLCBzbyBzd2l0Y2gNCj4gdGhlIGRwbGwgbWdyIHRvIHVzaW5nIHBpcGVzIGFzIHdlbGwu IExvb2tzIGxpa2UgaXQgd2FzIGFjdHVhbGx5IG1peGluZyB0aGVzZSB1cA0KPiBpbiBzb21lIGNh c2VzIHNvIGl0IHdvdWxkIG5vdCBldmVuIGhhdmUgd29ya2VkIGNvcnJlY3RseSBleGNlcHQgd2hl biB0aGUNCj4gZGV2aWNlIGhhcyBhIGNvbnRpZ3VvdXMgc2V0IG9mIHBpcGVzIHN0YXJ0aW5nIGZy b20gcGlwZSBBLg0KPiBHcmFudGVkLCB0aGF0IGlzIHRoZSB0eXBpY2FsIGNhc2UgYnV0IHN1cHBv c2VkbHkgaXQgbWF5IG5vdCBhbHdheXMgaG9sZCBvbg0KPiBtb2Rlcm4gaHcuDQo+IA0KPiBTaWdu ZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t Pg0KDQpSZXZpZXdlZC1ieTogTWlrYSBLYWhvbGEgPG1pa2Eua2Fob2xhQGludGVsLmNvbT4NCg0K PiAtLS0NCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jICB8 IDQwICsrKysrKysrLS0tLS0tLS0NCj4gLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eV9kZWJ1Z2ZzLmMgIHwgIDQgKy0NCj4gZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kcGxsX21nci5jIHwgNDggKysrKysrKysrKy0tLS0tLS0tLQ0KPiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2RwbGxfbWdyLmggfCAgOCArKy0tDQo+ICA0IGZpbGVzIGNoYW5n ZWQsIDUxIGluc2VydGlvbnMoKyksIDQ5IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jDQo+IGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMNCj4gaW5kZXggYjM0NjIwNTQ1 ZDNiLi45NThjMmE3OTZiYWUgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheS5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheS5jDQo+IEBAIC05NjUzLDcgKzk2NTMsNyBAQCB2ZXJpZnlfc2luZ2xl X2RwbGxfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUNCj4gKmRldl9wcml2LA0KPiAgCQkJ IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkgIHsNCj4gIAlzdHJ1Y3Qg aW50ZWxfZHBsbF9od19zdGF0ZSBkcGxsX2h3X3N0YXRlOw0KPiAtCXVuc2lnbmVkIGludCBjcnRj X21hc2s7DQo+ICsJdTggcGlwZV9tYXNrOw0KPiAgCWJvb2wgYWN0aXZlOw0KPiANCj4gIAltZW1z ZXQoJmRwbGxfaHdfc3RhdGUsIDAsIHNpemVvZihkcGxsX2h3X3N0YXRlKSk7IEBAIC05NjY2LDM0 DQo+ICs5NjY2LDM0IEBAIHZlcmlmeV9zaW5nbGVfZHBsbF9zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsDQo+ICAJCUk5MTVfU1RBVEVfV0FSTighcGxsLT5vbiAmJiBwbGwt PmFjdGl2ZV9tYXNrLA0KPiAgCQkgICAgICJwbGwgaW4gYWN0aXZlIHVzZSBidXQgbm90IG9uIGlu IHN3IHRyYWNraW5nXG4iKTsNCj4gIAkJSTkxNV9TVEFURV9XQVJOKHBsbC0+b24gJiYgIXBsbC0+ YWN0aXZlX21hc2ssDQo+IC0JCSAgICAgInBsbCBpcyBvbiBidXQgbm90IHVzZWQgYnkgYW55IGFj dGl2ZSBjcnRjXG4iKTsNCj4gKwkJICAgICAicGxsIGlzIG9uIGJ1dCBub3QgdXNlZCBieSBhbnkg YWN0aXZlIHBpcGVcbiIpOw0KPiAgCQlJOTE1X1NUQVRFX1dBUk4ocGxsLT5vbiAhPSBhY3RpdmUs DQo+ICAJCSAgICAgInBsbCBvbiBzdGF0ZSBtaXNtYXRjaCAoZXhwZWN0ZWQgJWksIGZvdW5kICVp KVxuIiwNCj4gIAkJICAgICBwbGwtPm9uLCBhY3RpdmUpOw0KPiAgCX0NCj4gDQo+ICAJaWYgKCFj cnRjKSB7DQo+IC0JCUk5MTVfU1RBVEVfV0FSTihwbGwtPmFjdGl2ZV9tYXNrICYgfnBsbC0+c3Rh dGUuY3J0Y19tYXNrLA0KPiAtCQkJCSJtb3JlIGFjdGl2ZSBwbGwgdXNlcnMgdGhhbiByZWZlcmVu Y2VzOiAleCB2cw0KPiAleFxuIiwNCj4gLQkJCQlwbGwtPmFjdGl2ZV9tYXNrLCBwbGwtPnN0YXRl LmNydGNfbWFzayk7DQo+ICsJCUk5MTVfU1RBVEVfV0FSTihwbGwtPmFjdGl2ZV9tYXNrICYgfnBs bC0NCj4gPnN0YXRlLnBpcGVfbWFzaywNCj4gKwkJCQkibW9yZSBhY3RpdmUgcGxsIHVzZXJzIHRo YW4gcmVmZXJlbmNlczogMHgleA0KPiB2cyAweCV4XG4iLA0KPiArCQkJCXBsbC0+YWN0aXZlX21h c2ssIHBsbC0+c3RhdGUucGlwZV9tYXNrKTsNCj4gDQo+ICAJCXJldHVybjsNCj4gIAl9DQo+IA0K PiAtCWNydGNfbWFzayA9IGRybV9jcnRjX21hc2soJmNydGMtPmJhc2UpOw0KPiArCXBpcGVfbWFz ayA9IEJJVChjcnRjLT5waXBlKTsNCj4gDQo+ICAJaWYgKG5ld19jcnRjX3N0YXRlLT5ody5hY3Rp dmUpDQo+IC0JCUk5MTVfU1RBVEVfV0FSTighKHBsbC0+YWN0aXZlX21hc2sgJiBjcnRjX21hc2sp LA0KPiAtCQkJCSJwbGwgYWN0aXZlIG1pc21hdGNoIChleHBlY3RlZCBwaXBlICVjIGluDQo+IGFj dGl2ZSBtYXNrIDB4JTAyeClcbiIsDQo+ICsJCUk5MTVfU1RBVEVfV0FSTighKHBsbC0+YWN0aXZl X21hc2sgJiBwaXBlX21hc2spLA0KPiArCQkJCSJwbGwgYWN0aXZlIG1pc21hdGNoIChleHBlY3Rl ZCBwaXBlICVjIGluDQo+IGFjdGl2ZSBtYXNrIDB4JXgpXG4iLA0KPiAgCQkJCXBpcGVfbmFtZShj cnRjLT5waXBlKSwgcGxsLT5hY3RpdmVfbWFzayk7DQo+ICAJZWxzZQ0KPiAtCQlJOTE1X1NUQVRF X1dBUk4ocGxsLT5hY3RpdmVfbWFzayAmIGNydGNfbWFzaywNCj4gLQkJCQkicGxsIGFjdGl2ZSBt aXNtYXRjaCAoZGlkbid0IGV4cGVjdCBwaXBlICVjIGluDQo+IGFjdGl2ZSBtYXNrIDB4JTAyeClc biIsDQo+ICsJCUk5MTVfU1RBVEVfV0FSTihwbGwtPmFjdGl2ZV9tYXNrICYgcGlwZV9tYXNrLA0K PiArCQkJCSJwbGwgYWN0aXZlIG1pc21hdGNoIChkaWRuJ3QgZXhwZWN0IHBpcGUgJWMgaW4NCj4g YWN0aXZlIG1hc2sNCj4gKzB4JXgpXG4iLA0KPiAgCQkJCXBpcGVfbmFtZShjcnRjLT5waXBlKSwg cGxsLT5hY3RpdmVfbWFzayk7DQo+IA0KPiAtCUk5MTVfU1RBVEVfV0FSTighKHBsbC0+c3RhdGUu Y3J0Y19tYXNrICYgY3J0Y19tYXNrKSwNCj4gLQkJCSJwbGwgZW5hYmxlZCBjcnRjcyBtaXNtYXRj aCAoZXhwZWN0ZWQgMHgleCBpbg0KPiAweCUwMngpXG4iLA0KPiAtCQkJY3J0Y19tYXNrLCBwbGwt PnN0YXRlLmNydGNfbWFzayk7DQo+ICsJSTkxNV9TVEFURV9XQVJOKCEocGxsLT5zdGF0ZS5waXBl X21hc2sgJiBwaXBlX21hc2spLA0KPiArCQkJInBsbCBlbmFibGVkIGNydGNzIG1pc21hdGNoIChl eHBlY3RlZCAweCV4IGluDQo+IDB4JXgpXG4iLA0KPiArCQkJcGlwZV9tYXNrLCBwbGwtPnN0YXRl LnBpcGVfbWFzayk7DQo+IA0KPiAgCUk5MTVfU1RBVEVfV0FSTihwbGwtPm9uICYmIG1lbWNtcCgm cGxsLT5zdGF0ZS5od19zdGF0ZSwNCj4gIAkJCQkJICAmZHBsbF9od19zdGF0ZSwNCj4gQEAgLTk3 MTMsMTUgKzk3MTMsMTUgQEAgdmVyaWZ5X3NoYXJlZF9kcGxsX3N0YXRlKHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjLA0KPiANCj4gIAlpZiAob2xkX2NydGNfc3RhdGUtPnNoYXJlZF9kcGxsICYmDQo+ ICAJICAgIG9sZF9jcnRjX3N0YXRlLT5zaGFyZWRfZHBsbCAhPSBuZXdfY3J0Y19zdGF0ZS0+c2hh cmVkX2RwbGwpIHsNCj4gLQkJdW5zaWduZWQgaW50IGNydGNfbWFzayA9IGRybV9jcnRjX21hc2so JmNydGMtPmJhc2UpOw0KPiArCQl1OCBwaXBlX21hc2sgPSBCSVQoY3J0Yy0+cGlwZSk7DQo+ICAJ CXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsID0gb2xkX2NydGNfc3RhdGUtPnNoYXJlZF9k cGxsOw0KPiANCj4gLQkJSTkxNV9TVEFURV9XQVJOKHBsbC0+YWN0aXZlX21hc2sgJiBjcnRjX21h c2ssDQo+IC0JCQkJInBsbCBhY3RpdmUgbWlzbWF0Y2ggKGRpZG4ndCBleHBlY3QgcGlwZSAlYyBp bg0KPiBhY3RpdmUgbWFzaylcbiIsDQo+IC0JCQkJcGlwZV9uYW1lKGNydGMtPnBpcGUpKTsNCj4g LQkJSTkxNV9TVEFURV9XQVJOKHBsbC0+c3RhdGUuY3J0Y19tYXNrICYgY3J0Y19tYXNrLA0KPiAt CQkJCSJwbGwgZW5hYmxlZCBjcnRjcyBtaXNtYXRjaCAoZm91bmQgJXggaW4NCj4gZW5hYmxlZCBt YXNrKVxuIiwNCj4gLQkJCQlwaXBlX25hbWUoY3J0Yy0+cGlwZSkpOw0KPiArCQlJOTE1X1NUQVRF X1dBUk4ocGxsLT5hY3RpdmVfbWFzayAmIHBpcGVfbWFzaywNCj4gKwkJCQkicGxsIGFjdGl2ZSBt aXNtYXRjaCAoZGlkbid0IGV4cGVjdCBwaXBlICVjIGluDQo+IGFjdGl2ZSBtYXNrICgweCV4KSlc biIsDQo+ICsJCQkJcGlwZV9uYW1lKGNydGMtPnBpcGUpLCBwbGwtPmFjdGl2ZV9tYXNrKTsNCj4g KwkJSTkxNV9TVEFURV9XQVJOKHBsbC0+c3RhdGUucGlwZV9tYXNrICYgcGlwZV9tYXNrLA0KPiAr CQkJCSJwbGwgZW5hYmxlZCBjcnRjcyBtaXNtYXRjaCAoZm91bmQgJXggaW4NCj4gZW5hYmxlZCBt YXNrICgweCV4KSlcbiIsDQo+ICsJCQkJcGlwZV9uYW1lKGNydGMtPnBpcGUpLCBwbGwtDQo+ID5z dGF0ZS5waXBlX21hc2spOw0KPiAgCX0NCj4gIH0NCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZGVidWdmcy5jDQo+IGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RlYnVnZnMuYw0KPiBpbmRleCAz NWYxNzZlYTgyODAuLjIwMTk0Y2NmZWMwNSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RlYnVnZnMuYw0KPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZGVidWdmcy5jDQo+IEBAIC0xMDk0LDgg KzEwOTQsOCBAQCBzdGF0aWMgaW50IGk5MTVfc2hhcmVkX2RwbGxzX2luZm8oc3RydWN0IHNlcV9m aWxlDQo+ICptLCB2b2lkICp1bnVzZWQpDQo+IA0KPiAgCQlzZXFfcHJpbnRmKG0sICJEUExMJWk6 ICVzLCBpZDogJWlcbiIsIGksIHBsbC0+aW5mby0+bmFtZSwNCj4gIAkJCSAgIHBsbC0+aW5mby0+ aWQpOw0KPiAtCQlzZXFfcHJpbnRmKG0sICIgY3J0Y19tYXNrOiAweCUwOHgsIGFjdGl2ZTogMHgl eCwgb246ICVzXG4iLA0KPiAtCQkJICAgcGxsLT5zdGF0ZS5jcnRjX21hc2ssIHBsbC0+YWN0aXZl X21hc2ssIHllc25vKHBsbC0NCj4gPm9uKSk7DQo+ICsJCXNlcV9wcmludGYobSwgIiBwaXBlX21h c2s6IDB4JXgsIGFjdGl2ZTogMHgleCwgb246ICVzXG4iLA0KPiArCQkJICAgcGxsLT5zdGF0ZS5w aXBlX21hc2ssIHBsbC0+YWN0aXZlX21hc2ssIHllc25vKHBsbC0NCj4gPm9uKSk7DQo+ICAJCXNl cV9wcmludGYobSwgIiB0cmFja2VkIGhhcmR3YXJlIHN0YXRlOlxuIik7DQo+ICAJCXNlcV9wcmlu dGYobSwgIiBkcGxsOiAgICAweCUwOHhcbiIsIHBsbC0+c3RhdGUuaHdfc3RhdGUuZHBsbCk7DQo+ ICAJCXNlcV9wcmludGYobSwgIiBkcGxsX21kOiAweCUwOHhcbiIsDQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwbGxfbWdyLmMNCj4gYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwbGxfbWdyLmMNCj4gaW5kZXggNTI5YjFkNTY5 YWYyLi5hNjhhZTkwYjA3ZTMgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZHBsbF9tZ3IuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2RwbGxfbWdyLmMNCj4gQEAgLTE3Niw3ICsxNzYsNyBAQCB2b2lkIGludGVsX3By ZXBhcmVfc2hhcmVkX2RwbGwoY29uc3Qgc3RydWN0DQo+IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpDQo+ICAJCXJldHVybjsNCj4gDQo+ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRwbGwu bG9jayk7DQo+IC0JZHJtX1dBUk5fT04oJmRldl9wcml2LT5kcm0sICFwbGwtPnN0YXRlLmNydGNf bWFzayk7DQo+ICsJZHJtX1dBUk5fT04oJmRldl9wcml2LT5kcm0sICFwbGwtPnN0YXRlLnBpcGVf bWFzayk7DQo+ICAJaWYgKCFwbGwtPmFjdGl2ZV9tYXNrKSB7DQo+ICAJCWRybV9kYmcoJmRldl9w cml2LT5kcm0sICJzZXR0aW5nIHVwICVzXG4iLCBwbGwtPmluZm8tDQo+ID5uYW1lKTsNCj4gIAkJ ZHJtX1dBUk5fT04oJmRldl9wcml2LT5kcm0sIHBsbC0+b24pOyBAQCAtMTk4LDcNCj4gKzE5OCw3 IEBAIHZvaWQgaW50ZWxfZW5hYmxlX3NoYXJlZF9kcGxsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlDQo+ICpjcnRjX3N0YXRlKQ0KPiAgCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOw0KPiAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOw0KPiAgCXN0cnVjdCBp bnRlbF9zaGFyZWRfZHBsbCAqcGxsID0gY3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGw7DQo+IC0JdW5z aWduZWQgaW50IGNydGNfbWFzayA9IGRybV9jcnRjX21hc2soJmNydGMtPmJhc2UpOw0KPiArCXVu c2lnbmVkIGludCBwaXBlX21hc2sgPSBCSVQoY3J0Yy0+cGlwZSk7DQo+ICAJdW5zaWduZWQgaW50 IG9sZF9tYXNrOw0KPiANCj4gIAlpZiAoZHJtX1dBUk5fT04oJmRldl9wcml2LT5kcm0sIHBsbCA9 PSBOVUxMKSkgQEAgLTIwNywxNg0KPiArMjA3LDE2IEBAIHZvaWQgaW50ZWxfZW5hYmxlX3NoYXJl ZF9kcGxsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlDQo+ICpjcnRjX3N0YXRlKQ0KPiAg CW11dGV4X2xvY2soJmRldl9wcml2LT5kcGxsLmxvY2spOw0KPiAgCW9sZF9tYXNrID0gcGxsLT5h Y3RpdmVfbWFzazsNCj4gDQo+IC0JaWYgKGRybV9XQVJOX09OKCZkZXZfcHJpdi0+ZHJtLCAhKHBs bC0+c3RhdGUuY3J0Y19tYXNrICYNCj4gY3J0Y19tYXNrKSkgfHwNCj4gLQkgICAgZHJtX1dBUk5f T04oJmRldl9wcml2LT5kcm0sIHBsbC0+YWN0aXZlX21hc2sgJiBjcnRjX21hc2spKQ0KPiArCWlm IChkcm1fV0FSTl9PTigmZGV2X3ByaXYtPmRybSwgIShwbGwtPnN0YXRlLnBpcGVfbWFzayAmDQo+ IHBpcGVfbWFzaykpIHx8DQo+ICsJICAgIGRybV9XQVJOX09OKCZkZXZfcHJpdi0+ZHJtLCBwbGwt PmFjdGl2ZV9tYXNrICYgcGlwZV9tYXNrKSkNCj4gIAkJZ290byBvdXQ7DQo+IA0KPiAtCXBsbC0+ YWN0aXZlX21hc2sgfD0gY3J0Y19tYXNrOw0KPiArCXBsbC0+YWN0aXZlX21hc2sgfD0gcGlwZV9t YXNrOw0KPiANCj4gIAlkcm1fZGJnX2ttcygmZGV2X3ByaXYtPmRybSwNCj4gLQkJICAgICJlbmFi bGUgJXMgKGFjdGl2ZSAleCwgb24/ICVkKSBmb3IgY3J0YyAlZFxuIiwNCj4gKwkJICAgICJlbmFi bGUgJXMgKGFjdGl2ZSAweCV4LCBvbj8gJWQpIGZvciBbQ1JUQzolZDolc11cbiIsDQo+ICAJCSAg ICBwbGwtPmluZm8tPm5hbWUsIHBsbC0+YWN0aXZlX21hc2ssIHBsbC0+b24sDQo+IC0JCSAgICBj cnRjLT5iYXNlLmJhc2UuaWQpOw0KPiArCQkgICAgY3J0Yy0+YmFzZS5iYXNlLmlkLCBjcnRjLT5i YXNlLm5hbWUpOw0KPiANCj4gIAlpZiAob2xkX21hc2spIHsNCj4gIAkJZHJtX1dBUk5fT04oJmRl dl9wcml2LT5kcm0sICFwbGwtPm9uKTsgQEAgLTI0NCw3DQo+ICsyNDQsNyBAQCB2b2lkIGludGVs X2Rpc2FibGVfc2hhcmVkX2RwbGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUNCj4gKmNy dGNfc3RhdGUpDQo+ICAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNy dGNfc3RhdGUtPnVhcGkuY3J0Yyk7DQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7DQo+ICAJc3RydWN0IGludGVsX3NoYXJlZF9k cGxsICpwbGwgPSBjcnRjX3N0YXRlLT5zaGFyZWRfZHBsbDsNCj4gLQl1bnNpZ25lZCBpbnQgY3J0 Y19tYXNrID0gZHJtX2NydGNfbWFzaygmY3J0Yy0+YmFzZSk7DQo+ICsJdW5zaWduZWQgaW50IHBp cGVfbWFzayA9IEJJVChjcnRjLT5waXBlKTsNCj4gDQo+ICAJLyogUENIIG9ubHkgYXZhaWxhYmxl IG9uIElMSysgKi8NCj4gIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDUpDQo+IEBAIC0yNTQs MTggKzI1NCwyMCBAQCB2b2lkIGludGVsX2Rpc2FibGVfc2hhcmVkX2RwbGwoY29uc3Qgc3RydWN0 DQo+IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpDQo+ICAJCXJldHVybjsNCj4gDQo+ICAJ bXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRwbGwubG9jayk7DQo+IC0JaWYgKGRybV9XQVJOX09OKCZk ZXZfcHJpdi0+ZHJtLCAhKHBsbC0+YWN0aXZlX21hc2sgJg0KPiBjcnRjX21hc2spKSkNCj4gKwlp ZiAoZHJtX1dBUk4oJmRldl9wcml2LT5kcm0sICEocGxsLT5hY3RpdmVfbWFzayAmIHBpcGVfbWFz ayksDQo+ICsJCSAgICAgIiVzIG5vdCB1c2VkIGJ5IFtDUlRDOiVkOiVzXVxuIiwgcGxsLT5pbmZv LT5uYW1lLA0KPiArCQkgICAgIGNydGMtPmJhc2UuYmFzZS5pZCwgY3J0Yy0+YmFzZS5uYW1lKSkN Cj4gIAkJZ290byBvdXQ7DQo+IA0KPiAgCWRybV9kYmdfa21zKCZkZXZfcHJpdi0+ZHJtLA0KPiAt CQkgICAgImRpc2FibGUgJXMgKGFjdGl2ZSAleCwgb24/ICVkKSBmb3IgY3J0YyAlZFxuIiwNCj4g KwkJICAgICJkaXNhYmxlICVzIChhY3RpdmUgMHgleCwgb24/ICVkKSBmb3IgW0NSVEM6JWQ6JXNd XG4iLA0KPiAgCQkgICAgcGxsLT5pbmZvLT5uYW1lLCBwbGwtPmFjdGl2ZV9tYXNrLCBwbGwtPm9u LA0KPiAtCQkgICAgY3J0Yy0+YmFzZS5iYXNlLmlkKTsNCj4gKwkJICAgIGNydGMtPmJhc2UuYmFz ZS5pZCwgY3J0Yy0+YmFzZS5uYW1lKTsNCj4gDQo+ICAJYXNzZXJ0X3NoYXJlZF9kcGxsX2VuYWJs ZWQoZGV2X3ByaXYsIHBsbCk7DQo+ICAJZHJtX1dBUk5fT04oJmRldl9wcml2LT5kcm0sICFwbGwt Pm9uKTsNCj4gDQo+IC0JcGxsLT5hY3RpdmVfbWFzayAmPSB+Y3J0Y19tYXNrOw0KPiArCXBsbC0+ YWN0aXZlX21hc2sgJj0gfnBpcGVfbWFzazsNCj4gIAlpZiAocGxsLT5hY3RpdmVfbWFzaykNCj4g IAkJZ290byBvdXQ7DQo+IA0KPiBAQCAtMjk2LDcgKzI5OCw3IEBAIGludGVsX2ZpbmRfc2hhcmVk X2RwbGwoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZQ0KPiAqc3RhdGUsDQo+ICAJCXBsbCA9ICZk ZXZfcHJpdi0+ZHBsbC5zaGFyZWRfZHBsbHNbaV07DQo+IA0KPiAgCQkvKiBPbmx5IHdhbnQgdG8g Y2hlY2sgZW5hYmxlZCB0aW1pbmdzIGZpcnN0ICovDQo+IC0JCWlmIChzaGFyZWRfZHBsbFtpXS5j cnRjX21hc2sgPT0gMCkgew0KPiArCQlpZiAoc2hhcmVkX2RwbGxbaV0ucGlwZV9tYXNrID09IDAp IHsNCj4gIAkJCWlmICghdW51c2VkX3BsbCkNCj4gIAkJCQl1bnVzZWRfcGxsID0gcGxsOw0KPiAg CQkJY29udGludWU7DQo+IEBAIC0zMDYsMTAgKzMwOCwxMCBAQCBpbnRlbF9maW5kX3NoYXJlZF9k cGxsKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUNCj4gKnN0YXRlLA0KPiAgCQkJICAgJnNoYXJl ZF9kcGxsW2ldLmh3X3N0YXRlLA0KPiAgCQkJICAgc2l6ZW9mKCpwbGxfc3RhdGUpKSA9PSAwKSB7 DQo+ICAJCQlkcm1fZGJnX2ttcygmZGV2X3ByaXYtPmRybSwNCj4gLQkJCQkgICAgIltDUlRDOiVk OiVzXSBzaGFyaW5nIGV4aXN0aW5nICVzIChjcnRjDQo+IG1hc2sgMHglMDh4LCBhY3RpdmUgJXgp XG4iLA0KPiArCQkJCSAgICAiW0NSVEM6JWQ6JXNdIHNoYXJpbmcgZXhpc3RpbmcgJXMgKHBpcGUN Cj4gbWFzayAweCV4LCBhY3RpdmUNCj4gKzB4JXgpXG4iLA0KPiAgCQkJCSAgICBjcnRjLT5iYXNl LmJhc2UuaWQsIGNydGMtPmJhc2UubmFtZSwNCj4gIAkJCQkgICAgcGxsLT5pbmZvLT5uYW1lLA0K PiAtCQkJCSAgICBzaGFyZWRfZHBsbFtpXS5jcnRjX21hc2ssDQo+ICsJCQkJICAgIHNoYXJlZF9k cGxsW2ldLnBpcGVfbWFzaywNCj4gIAkJCQkgICAgcGxsLT5hY3RpdmVfbWFzayk7DQo+ICAJCQly ZXR1cm4gcGxsOw0KPiAgCQl9DQo+IEBAIC0zMzgsMTMgKzM0MCwxMyBAQCBpbnRlbF9yZWZlcmVu Y2Vfc2hhcmVkX2RwbGwoc3RydWN0DQo+IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsDQo+IA0K PiAgCXNoYXJlZF9kcGxsID0gaW50ZWxfYXRvbWljX2dldF9zaGFyZWRfZHBsbF9zdGF0ZSgmc3Rh dGUtPmJhc2UpOw0KPiANCj4gLQlpZiAoc2hhcmVkX2RwbGxbaWRdLmNydGNfbWFzayA9PSAwKQ0K PiArCWlmIChzaGFyZWRfZHBsbFtpZF0ucGlwZV9tYXNrID09IDApDQo+ICAJCXNoYXJlZF9kcGxs W2lkXS5od19zdGF0ZSA9ICpwbGxfc3RhdGU7DQo+IA0KPiAgCWRybV9kYmcoJmk5MTUtPmRybSwg InVzaW5nICVzIGZvciBwaXBlICVjXG4iLCBwbGwtPmluZm8tPm5hbWUsDQo+ICAJCXBpcGVfbmFt ZShjcnRjLT5waXBlKSk7DQo+IA0KPiAtCXNoYXJlZF9kcGxsW2lkXS5jcnRjX21hc2sgfD0gMSA8 PCBjcnRjLT5waXBlOw0KPiArCXNoYXJlZF9kcGxsW2lkXS5waXBlX21hc2sgfD0gQklUKGNydGMt PnBpcGUpOw0KPiAgfQ0KPiANCj4gIHN0YXRpYyB2b2lkIGludGVsX3VucmVmZXJlbmNlX3NoYXJl ZF9kcGxsKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLA0KPiBAQCAtMzU0LDcgKzM1 Niw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3VucmVmZXJlbmNlX3NoYXJlZF9kcGxsKHN0cnVjdA0K PiBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLA0KPiAgCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBs bF9zdGF0ZSAqc2hhcmVkX2RwbGw7DQo+IA0KPiAgCXNoYXJlZF9kcGxsID0gaW50ZWxfYXRvbWlj X2dldF9zaGFyZWRfZHBsbF9zdGF0ZSgmc3RhdGUtPmJhc2UpOw0KPiAtCXNoYXJlZF9kcGxsW3Bs bC0+aW5mby0+aWRdLmNydGNfbWFzayAmPSB+KDEgPDwgY3J0Yy0+cGlwZSk7DQo+ICsJc2hhcmVk X2RwbGxbcGxsLT5pbmZvLT5pZF0ucGlwZV9tYXNrICY9IH5CSVQoY3J0Yy0+cGlwZSk7DQo+ICB9 DQo+IA0KPiAgc3RhdGljIHZvaWQgaW50ZWxfcHV0X2RwbGwoc3RydWN0IGludGVsX2F0b21pY19z dGF0ZSAqc3RhdGUsIEBAIC00NTk3LDE5DQo+ICs0NTk5LDE5IEBAIHN0YXRpYyB2b2lkIHJlYWRv dXRfZHBsbF9od19zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQ0KPiAqaTkxNSwNCj4gDQo+ IFBPV0VSX0RPTUFJTl9EUExMX0RDX09GRik7DQo+ICAJfQ0KPiANCj4gLQlwbGwtPnN0YXRlLmNy dGNfbWFzayA9IDA7DQo+ICsJcGxsLT5zdGF0ZS5waXBlX21hc2sgPSAwOw0KPiAgCWZvcl9lYWNo X2ludGVsX2NydGMoJmk5MTUtPmRybSwgY3J0Yykgew0KPiAgCQlzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSA9DQo+ICAJCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJhc2Uu c3RhdGUpOw0KPiANCj4gIAkJaWYgKGNydGNfc3RhdGUtPmh3LmFjdGl2ZSAmJiBjcnRjX3N0YXRl LT5zaGFyZWRfZHBsbCA9PSBwbGwpDQo+IC0JCQlwbGwtPnN0YXRlLmNydGNfbWFzayB8PSAxIDw8 IGNydGMtPnBpcGU7DQo+ICsJCQlwbGwtPnN0YXRlLnBpcGVfbWFzayB8PSBCSVQoY3J0Yy0+cGlw ZSk7DQo+ICAJfQ0KPiAtCXBsbC0+YWN0aXZlX21hc2sgPSBwbGwtPnN0YXRlLmNydGNfbWFzazsN Cj4gKwlwbGwtPmFjdGl2ZV9tYXNrID0gcGxsLT5zdGF0ZS5waXBlX21hc2s7DQo+IA0KPiAgCWRy bV9kYmdfa21zKCZpOTE1LT5kcm0sDQo+IC0JCSAgICAiJXMgaHcgc3RhdGUgcmVhZG91dDogY3J0 Y19tYXNrIDB4JTA4eCwgb24gJWlcbiIsDQo+IC0JCSAgICBwbGwtPmluZm8tPm5hbWUsIHBsbC0+ c3RhdGUuY3J0Y19tYXNrLCBwbGwtPm9uKTsNCj4gKwkJICAgICIlcyBodyBzdGF0ZSByZWFkb3V0 OiBwaXBlX21hc2sgMHgleCwgb24gJWlcbiIsDQo+ICsJCSAgICBwbGwtPmluZm8tPm5hbWUsIHBs bC0+c3RhdGUucGlwZV9tYXNrLCBwbGwtPm9uKTsNCj4gIH0NCj4gDQo+ICB2b2lkIGludGVsX2Rw bGxfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkgZGlmZiAt LWdpdA0KPiBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBsbF9tZ3IuaA0K PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBsbF9tZ3IuaA0KPiBpbmRl eCAyZWI3NjE4ZWY5NTcuLmViNTJlODUwMjJlMiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21nci5oDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBsbF9tZ3IuaA0KPiBAQCAtMjQxLDkgKzI0MSw5IEBAIHN0 cnVjdCBpbnRlbF9kcGxsX2h3X3N0YXRlIHsNCj4gICAqLw0KPiAgc3RydWN0IGludGVsX3NoYXJl ZF9kcGxsX3N0YXRlIHsNCj4gIAkvKioNCj4gLQkgKiBAY3J0Y19tYXNrOiBtYXNrIG9mIENSVEMg dXNpbmcgdGhpcyBEUExMLCBhY3RpdmUgb3Igbm90DQo+ICsJICogQHBpcGVfbWFzazogbWFzayBv ZiBwaXBlcyB1c2luZyB0aGlzIERQTEwsIGFjdGl2ZSBvciBub3QNCj4gIAkgKi8NCj4gLQl1bnNp Z25lZCBjcnRjX21hc2s7DQo+ICsJdTggcGlwZV9tYXNrOw0KPiANCj4gIAkvKioNCj4gIAkgKiBA aHdfc3RhdGU6IGhhcmR3YXJlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBEUExMIHN0b3JlZCBpbiBA QCAtDQo+IDM1MSw5ICszNTEsOSBAQCBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgew0KPiAgCXN0 cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9zdGF0ZSBzdGF0ZTsNCj4gDQo+ICAJLyoqDQo+IC0JICog QGFjdGl2ZV9tYXNrOiBtYXNrIG9mIGFjdGl2ZSBDUlRDcyAoaS5lLiBEUE1TIG9uKSB1c2luZyB0 aGlzIERQTEwNCj4gKwkgKiBAYWN0aXZlX21hc2s6IG1hc2sgb2YgYWN0aXZlIHBpcGVzIChpLmUu IERQTVMgb24pIHVzaW5nIHRoaXMgRFBMTA0KPiAgCSAqLw0KPiAtCXVuc2lnbmVkIGFjdGl2ZV9t YXNrOw0KPiArCXU4IGFjdGl2ZV9tYXNrOw0KPiANCj4gIAkvKioNCj4gIAkgKiBAb246IGlzIHRo ZSBQTEwgYWN0dWFsbHkgYWN0aXZlPyBEaXNhYmxlZCBkdXJpbmcgbW9kZXNldA0KPiAtLQ0KPiAy LjI2LjINCj4gDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fDQo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QNCj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZw0KPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeA0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==