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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D0AF4C433EF for ; Tue, 12 Oct 2021 08:03:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id ACBA460F21 for ; Tue, 12 Oct 2021 08:03:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234264AbhJLIFz (ORCPT ); Tue, 12 Oct 2021 04:05:55 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:51164 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S234812AbhJLIE1 (ORCPT ); Tue, 12 Oct 2021 04:04:27 -0400 X-UUID: d677631277814708b9e9187196c5ca84-20211012 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=1fxw5Wy/1Cn8f9MKoHraZrSRl2YubPfQhjOnX9wMbxI=; b=S5+i5vl1R9gN40H9TrFEazmuhLG26YK2sxWQ+vzGpK/7mBOtrCBV6sIOjJXbtwC0xFv4R1kltrIbrBT4sZ+EYSviIYCXn1R4CrDpIkOQzU5qfqiTKpkMmRiG0guDzw66v9X2lFTo1DfPmPT5MztIrAX1nSty3Z5VHhPtSDAMTt4=; X-UUID: d677631277814708b9e9187196c5ca84-20211012 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw02.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1289288363; Tue, 12 Oct 2021 16:01:16 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 12 Oct 2021 16:01:15 +0800 Received: from mcddlt001.gcn.mediatek.inc (10.19.240.15) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 12 Oct 2021 16:01:14 +0800 Message-ID: <14ca08ba9fe6fed0d19b1887484e39bdadad5837.camel@mediatek.com> Subject: Re: [v4] PCI: Avoid unsync of LTR mechanism configuration From: Mingchuang Qiao To: Rajat Jain CC: Bjorn Helgaas , , , , , , , , , , , , , Date: Tue, 12 Oct 2021 16:01:13 +0800 In-Reply-To: References: <20210930194853.GA903868@bhelgaas> <3a96ce7e536ff1645b263b193f3742f2c713c467.camel@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.1-2 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org SGksDQoNCk9uIE1vbiwgMjAyMS0xMC0xMSBhdCAxOTo0OCAtMDcwMCwgUmFqYXQgSmFpbiB3cm90 ZToNCj4gSGVsbG8sDQo+IA0KPiANCj4gT24gVGh1LCBPY3QgNywgMjAyMSBhdCAxMTozMCBQTSBt aW5nY2h1YW5nIHFpYW8NCj4gPG1pbmdjaHVhbmcucWlhb0BtZWRpYXRlay5jb20+IHdyb3RlOg0K PiA+IA0KPiA+IEhpIEJqb3JuLA0KPiA+IA0KPiA+IE11Y2ggYXBwcmVjaWF0ZSB0aGUgY29tbWVu dHMuIFNlZSBiZWxvdyBmb3IgbXkgcmVzcG9uc2UuDQo+ID4gDQo+ID4gT24gVGh1LCAyMDIxLTA5 LTMwIGF0IDE0OjQ4IC0wNTAwLCBCam9ybiBIZWxnYWFzIHdyb3RlOg0KPiA+ID4gT24gVGh1LCBT ZXAgMzAsIDIwMjEgYXQgMDM6MDI6MjRQTSArMDgwMCwgbWluZ2NodWFuZyBxaWFvIHdyb3RlOg0K PiA+ID4gPiBIaSBCam9ybiwNCj4gPiA+ID4gDQo+ID4gPiA+IEEgZnJpZW5kbHkgcGluZy4NCj4g PiA+ID4gVGhhbmtzLg0KPiA+ID4gDQo+ID4gPiBJIHBvaW50ZWQgb3V0IGEgY291cGxlIGlzc3Vl cywgYnV0IHlvdSBuZXZlciByZXNwb25kZWQuICBTZWUNCj4gPiA+IGJlbG93Lg0KPiA+ID4gDQo+ ID4gPiA+IE9uIE1vbiwgMjAyMS0wOS0wNiBhdCAxMzozNiArMDgwMCwgbWluZ2NodWFuZyBxaWFv IHdyb3RlOg0KPiA+ID4gPiA+IEhpIEJqb3JuLA0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IE9uIFRo dSwgMjAyMS0wMi0xOCBhdCAxMDo1MCAtMDYwMCwgQmpvcm4gSGVsZ2FhcyB3cm90ZToNCj4gPiA+ ID4gPiA+IE9uIFRodSwgRmViIDA0LCAyMDIxIGF0IDA1OjUxOjI1UE0gKzA4MDAsIG1pbmdjaHVh bmcucWlhb0BtDQo+ID4gPiA+ID4gPiBlZGlhDQo+ID4gPiA+ID4gPiB0ZWsuDQo+ID4gPiA+ID4g PiBjbw0KPiA+ID4gPiA+ID4gbSB3cm90ZToNCj4gPiA+ID4gPiA+ID4gRnJvbTogTWluZ2NodWFu ZyBRaWFvIDxtaW5nY2h1YW5nLnFpYW9AbWVkaWF0ZWsuY29tPg0KPiA+ID4gPiA+ID4gPiANCj4g PiA+ID4gPiA+ID4gSW4gYnVzIHNjYW4gZmxvdywgdGhlICJMVFIgTWVjaGFuaXNtIEVuYWJsZSIg Yml0IG9mDQo+ID4gPiA+ID4gPiA+IERFVkNUTDINCj4gPiA+ID4gPiA+ID4gcmVnaXN0ZXIgaXMN Cj4gPiA+ID4gPiA+ID4gY29uZmlndXJlZCBpbiBwY2lfY29uZmlndXJlX2x0cigpLiBJZiBkZXZp Y2UgYW5kIGJyaWRnZQ0KPiA+ID4gPiA+ID4gPiBib3RoDQo+ID4gPiA+ID4gPiA+IHN1cHBvcnQg TFRSDQo+ID4gPiA+ID4gPiA+IG1lY2hhbmlzbSwgdGhlICJMVFIgTWVjaGFuaXNtIEVuYWJsZSIg Yml0IG9mIGRldmljZSBhbmQNCj4gPiA+ID4gPiA+ID4gYnJpZGdlDQo+ID4gPiA+ID4gPiA+IHdp bGwNCj4gPiA+ID4gPiA+ID4gYmUNCj4gPiA+ID4gPiA+ID4gZW5hYmxlZCBpbiBERVZDVEwyIHJl Z2lzdGVyLiBBbmQgcGNpX2Rldi0+bHRyX3BhdGggd2lsbA0KPiA+ID4gPiA+ID4gPiBiZQ0KPiA+ ID4gPiA+ID4gPiBzZXQgYXMNCj4gPiA+ID4gPiA+ID4gMS4NCj4gPiA+ID4gPiA+ID4gDQo+ID4g PiA+ID4gPiA+IElmIFBDSWUgbGluayBnb2VzIGRvd24gd2hlbiBkZXZpY2UgcmVzZXRzLCB0aGUg IkxUUg0KPiA+ID4gPiA+ID4gPiBNZWNoYW5pc20NCj4gPiA+ID4gPiA+ID4gRW5hYmxlIiBiaXQN Cj4gPiA+ID4gPiA+ID4gb2YgYnJpZGdlIHdpbGwgY2hhbmdlIHRvIDAgYWNjb3JkaW5nIHRvIFBD SWUgcjUuMCwgc2VjDQo+ID4gPiA+ID4gPiA+IDcuNS4zLjE2Lg0KPiA+ID4gPiA+ID4gPiBIb3dl dmVyLA0KPiA+ID4gPiA+ID4gPiB0aGUgcGNpX2Rldi0+bHRyX3BhdGggdmFsdWUgb2YgYnJpZGdl IGlzIHN0aWxsIDEuDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBGb3IgZm9sbG93aW5n IGNvbmRpdGlvbnMsIGNoZWNrIGFuZCByZS1jb25maWd1cmUgIkxUUg0KPiA+ID4gPiA+ID4gPiBN ZWNoYW5pc20NCj4gPiA+ID4gPiA+ID4gRW5hYmxlIiBiaXQNCj4gPiA+ID4gPiA+ID4gb2YgYnJp ZGdlIHRvIG1ha2UgIkxUUiBNZWNoYW5pc20gRW5hYmxlIiBiaXQgbWF0Y2gNCj4gPiA+ID4gPiA+ ID4gbHRyX3BhdGgNCj4gPiA+ID4gPiA+ID4gdmFsdWUuDQo+ID4gPiA+ID4gPiA+ICAgIC1iZWZv cmUgY29uZmlndXJpbmcgZGV2aWNlJ3MgTFRSIGZvciBob3QtcmVtb3ZlL2hvdC0NCj4gPiA+ID4g PiA+ID4gYWRkDQo+ID4gPiA+ID4gPiA+ICAgIC1iZWZvcmUgcmVzdG9yaW5nIGRldmljZSdzIERF VkNUTDIgcmVnaXN0ZXIgd2hlbg0KPiA+ID4gPiA+ID4gPiByZXN0b3JlDQo+ID4gPiA+ID4gPiA+ IGRldmljZQ0KPiA+ID4gPiA+ID4gPiBzdGF0ZQ0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBU aGVyZSdzIGRlZmluaXRlbHkgYSBidWcgaGVyZS4gIFRoZSBjb21taXQgbG9nIHNob3VsZCBzYXkg YQ0KPiA+ID4gPiA+ID4gbGl0dGxlDQo+ID4gPiA+ID4gPiBtb3JlIGFib3V0IHdoYXQgaXQgaXMu ICBJICp0aGluayogaWYgTFRSIGlzIGVuYWJsZWQgYW5kIHdlDQo+ID4gPiA+ID4gPiBzdXNwZW5k DQo+ID4gPiA+ID4gPiAocHV0dGluZyB0aGUgZGV2aWNlIGluIEQzY29sZCkgYW5kIHJlc3VtZSwg TFRSIHByb2JhYmx5DQo+ID4gPiA+ID4gPiBkb2Vzbid0DQo+ID4gPiA+ID4gPiB3b3JrDQo+ID4g PiA+ID4gPiBhZnRlciByZXN1bWUgYmVjYXVzZSBMVFIgaXMgZGlzYWJsZWQgaW4gdGhlIHVwc3Ry ZWFtDQo+ID4gPiA+ID4gPiBicmlkZ2UsDQo+ID4gPiA+ID4gPiB3aGljaA0KPiA+ID4gPiA+ID4g d291bGQgYmUgYW4gb2J2aW91cyBidWcuDQo+ID4gPiANCj4gPiA+IEhlcmUncyBvbmUgdGhpbmcu ICBBYm92ZSBJIHdhcyBhc2tpbmcgZm9yIG1vcmUgZGV0YWlscy4gIEluDQo+ID4gPiBwYXJ0aWN1 bGFyLCBob3cgd291bGQgYSB1c2VyIG5vdGljZSB0aGlzIGJ1Zz8gIEhvdyBkaWQgKnlvdSoNCj4g PiA+IG5vdGljZQ0KPiA+ID4gdGhlIGJ1Zz8NCj4gPiA+IA0KPiA+IA0KPiA+IEkgd2lsbCB1cGRh dGUgbW9yZSBkZXRhaWxzIGluIHRoZSBjb21taXQgbG9nLg0KPiANCj4gTWluZ2NodWFuZzogQ2Fu IHlvdSBwbGVhc2Ugc2VuZCBhIHJldmlzZWQgdmVyc2lvbiBvZiB0aGlzIHBhdGNoIHdpdGgNCj4g ZW5oYW5jZWQgbG9nIGFzIEJqb3JuIHN1Z2dlc3RlZC4NCj4gDQo+IElmIHlvdSdkIGxpa2UsIHlv dSBjYW4gYWRkIHRoYXQgdGhpcyBwcm9ibGVtIHdhcyBhbHNvIG5vdGljZWQgd2hlbg0KPiBQQ0ll IGRldmljZXMgKHRodW5kZXJib2x0IGRvY2tzKSB3ZXJlIGhvdCByZW1vdmVkIGZyb20gY2hyb21l Ym9va3MsDQo+IGFuZCB0aGVuIGhvdC1wbHVnZ2VkIGJhY2sgYWdhaW4uIE9uY2UgaG90cGx1Z2dl ZCBiYWNrLCB0aGUgbmV3ZXINCj4gSW50ZWwNCj4gY2hyb21lYm9va3MgZmFpbCB0byBnbyBpbnRv IFMwaXggbG93IHBvd2VyIHN0YXRlIGJlY2F1c2Ugb2YgdGhpcyBMVFINCj4gaXNzdWUsIGFuZCB0 aGlzIHBhdGNoIGZpeGVzIHRoYXQuDQo+IA0KDQpUaGFua3MgZm9yIHlvdXIgY29tbWVudHMgOikN CkkgaGF2ZSBzZW50IGEgbmV3IHZlcnNpb24gb2YgdGhpcyBwYXRjaCB3aXRoIG1vcmUgZGV0YWls cyBpbiBjb21taXQNCmxvZy4NCg0KPiBCam9ybjogdGhpcyB3YXMgYWxzbyBwcm9wb3NlZCBlYXJs aWVyIChidXQgdGhlIHBhdGNoIHdhcyBuZXZlcg0KPiBtZXJnZWQpIGhlcmU6DQo+IGh0dHBzOi8v cGF0Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC9saW51eC1wY2kvcGF0Y2gvMjAyMTAxMTQxMzQ3 MjQuNw0KPiA5NTExLTEtbWlrYS53ZXN0ZXJiZXJnQGxpbnV4LmludGVsLmNvbS8NCj4gKEl0IHNh eXMgInN1cGVyY2VkZWQiLCBidXQgSSBjb3VsZG4ndCBmaW5kIHRoZSBwYXRjaCB0aGF0IHN1cGVy Y2VkZWQNCj4gTWlrYSdzIHBhdGNoLiBQZXJoYXBzIGl0IGlzICp0aGlzKiBwYXRjaD8pDQo+IA0K PiA+IA0KPiA+IEZvciB0aGUgc3VzcGVuZChEMyBjb2xkKSBhbmQgcmVzdW1lIGNhc2UsIHRoZSBM VFIgZW5hYmxlIGJpdCB2YWx1ZQ0KPiA+IG9mIGJyaWRnZSBpcyBzYXZlZChieSBwY2lfc2F2ZV9z dGF0ZSgpKSBpbiBzdXNwZW5kIGZsb3cgYW5kDQo+ID4gcmVzdG9yZWQoYnkNCj4gPiBwY2lfcmVz dG9yZV9zdGF0ZSgpKSBpbiByZXN1bWUgZmxvdy4NCj4gPiAgIC1JZiBsaW5rIGdvZXMgZG93biBh ZnRlciBicmlkZ2UgYWxyZWFkeSBkb2VzIHBjaV9zYXZlX3N0YXRlKCkNCj4gPiAgICAgTFRSIGNv dWxkIHdvcmsgYWZ0ZXIgcmVzdW1lIGR1ZSB0byBwY2lfcmVzdG9yZV9zdGF0ZSgpIHdpbGwNCj4g PiBlbmFibGUNCj4gPiB0aGUgTFRSIG9mIGJyaWRnZS4NCj4gPiAgIC1JZiBsaW5rIGdvZXMgZG93 biBiZWZvcmUgYnJpZGdlIGRvZXMgcGNpX3NhdmVfc3RhdGUoKQ0KPiA+ICAgICBMVFIgcHJvYmFi bHkgZG9lc24ndCB3b3JrIGFmdGVyIHJlc3VtZSBkdWUgdG8gdGhlIExUUiBiaXQgaXMNCj4gPiBh bHJlYWR5IGRpc2FibGUgd2hlbiBwY2lfc2F2ZV9zdGF0ZSgpIGFuZCB3aWxsIG5vdCBlbmFibGUg YWZ0ZXINCj4gPiBwY2lfcmVzdG9yZV9zYXRlKCkuDQo+ID4gDQo+ID4gVGhlIHNlcXVlbmNlIG9m IGxpbmsgZ29lcyBkb3duIGFuZCBicmRpZ2Ugc3VzcGVuZCBtYXliZSBwbGF0Zm9ybQ0KPiA+IHNw ZWNpZmljLg0KPiA+IA0KPiA+IFRoZSBpc3N1ZSBpcyBub3RpY2VkIGJ5IEFFUiBsb2cgYXMgZm9s bG93aW5nIHNob3dzLg0KPiA+IA0KPiA+IHBjaWVwb3J0IDAwMDA6MDA6MWQuMDogQUVSOiBVbmNv cnJlY3RlZCAoTm9uLUZhdGFsKSBlcnJvciByZWNlaXZlZDoNCj4gPiBpZD0wMGU4DQo+ID4gcGNp ZXBvcnQgMDAwMDowMDoxZC4wOiBQQ0llIEJ1cyBFcnJvcjogc2V2ZXJpdHk9VW5jb3JyZWN0ZWQg KE5vbi0NCj4gPiBGYXRhbCksIHR5cGU9VHJhbnNhY3Rpb24gTGF5ZXIsIGlkPTAwZTgoUmVxdWVz dGVyIElEKQ0KPiA+IHBjaWVwb3J0IDAwMDA6MDA6MWQuMDogICBkZXZpY2UgWzgwODY6OWQxOF0g ZXJyb3INCj4gPiBzdGF0dXMvbWFzaz0wMDEwMDAwMC8wMDAxMDAwMA0KPiA+IHBjaWVwb3J0IDAw MDA6MDA6MWQuMDogICAgWzIwXSBVbnN1cHBvcnRlZCBSZXF1ZXN0ICAgIChGaXJzdCkNCj4gDQo+ IFllcywgdGhpcyBpcyBleHBlY3RlZCwgYmVjYXVzZSBhbiBMVFIgbWVzc2FnZSBmcm9tIGEgZG93 bnN0cmVhbQ0KPiBkZXZpY2UNCj4gc2hhbGwgYmUgdHJlYXRlZCBhcyB1bnN1cHBvcnRlZCByZXF1 ZXN0IGlmIExUUiBpcyBkaXNhYmxlZCBhdCB0aGUNCj4gcm9vdHBvcnQuDQo+IA0KPiA+IHBjaWVw b3J0IDAwMDA6MDA6MWQuMDogICBUTFAgSGVhZGVyOiAzNDAwMDAwMCAwMzAwMDAxMCAwMDAwMDAw MA0KPiA+IDAwMDAwMDAwDQo+ID4gDQo+ID4gPiA+ID4gPiBBbHNvLCBpZiBhIGRldmljZSB3aXRo IExUUiBlbmFibGVkIGlzIGhvdC1yZW1vdmVkLCBhbmQgd2UNCj4gPiA+ID4gPiA+IGhvdC0NCj4g PiA+ID4gPiA+IGFkZCBhDQo+ID4gPiA+ID4gPiBkZXZpY2UsIEkgdGhpbmsgTFRSIHdpbGwgbm90 IHdvcmsgb24gdGhlIG5ldw0KPiA+ID4gPiA+ID4gZGV2aWNlLiAgUG9zc2libHkNCj4gPiA+ID4g PiA+IGFsc28NCj4gPiA+ID4gPiA+IGENCj4gPiA+ID4gPiA+IGJ1ZywgYWx0aG91Z2ggSSdtIG5v dCBjb252aW5jZWQgd2Uga25vdyBob3cgdG8gY29uZmlndXJlDQo+ID4gPiA+ID4gPiBMVFIgb24N Cj4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gbmV3IGRldmljZSBhbnl3YXkuDQo+ID4gPiA+ ID4gPiANCj4gPiA+ID4gPiA+IFNvIEknZCAqbGlrZSogdG8gbWVyZ2UgdGhlIGJ1ZyBmaXggZm9y IHY1LjEyLCBidXQgSSB0aGluaw0KPiA+ID4gPiA+ID4gSSdsbA0KPiA+ID4gPiA+ID4gd2FpdA0K PiA+ID4gPiA+ID4gYmVjYXVzZSBvZiB0aGUgaXNzdWUgYmVsb3cuDQo+ID4gPiA+ID4gPiANCj4g PiA+ID4gPiANCj4gPiA+ID4gPiBBIGZyaWVuZGx5IHBpbmcuDQo+ID4gPiA+ID4gQW55IGZ1cnRo ZXIgcHJvY2VzcyBzaGFsbCBJIG1ha2UgdG8gZ2V0IHRoaXMgcGF0Y2ggbWVyZ2VkPw0KPiA+ID4g PiA+IA0KPiA+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBNaW5nY2h1YW5nIFFpYW8gPG1pbmdj aHVhbmcucWlhb0BtZWRpYXRlay4NCj4gPiA+ID4gPiA+ID4gY29tPg0KPiA+ID4gPiA+ID4gPiAt LS0NCj4gPiA+ID4gPiA+ID4gY2hhbmdlcyBvZiB2NA0KPiA+ID4gPiA+ID4gPiAgLWZpeCB0eXBv IG9mIGNvbW1pdCBtZXNzYWdlDQo+ID4gPiA+ID4gPiA+ICAtcmVuYW1lOiBwY2lfcmVjb25maWd1 cmVfYnJpZGdlX2x0cigpLQ0KPiA+ID4gPiA+ID4gPiA+IHBjaV9icmlkZ2VfcmVjb25maWd1cmVf bHRyKCkNCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IGNoYW5nZXMgb2YgdjMNCj4gPiA+ ID4gPiA+ID4gIC1jYWxsIHBjaV9yZWNvbmZpZ3VyZV9icmlkZ2VfbHRyKCkgaW4gcHJvYmUuYw0K PiA+ID4gPiA+ID4gPiBjaGFuZ2VzIG9mIHYyDQo+ID4gPiA+ID4gPiA+ICAtbW9kaWZ5IHBhdGNo IGRlc2NyaXB0aW9uDQo+ID4gPiA+ID4gPiA+ICAtcmVjb25maWd1cmUgYnJpZGdlJ3MgTFRSIGJl Zm9yZSByZXN0b3JpbmcgZGV2aWNlDQo+ID4gPiA+ID4gPiA+IERFVkNUTDINCj4gPiA+ID4gPiA+ ID4gcmVnaXN0ZXINCj4gPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPiA+ICBkcml2ZXJzL3Bj aS9wY2kuYyAgIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiA+ID4gPiAg ZHJpdmVycy9wY2kvcGNpLmggICB8ICAxICsNCj4gPiA+ID4gPiA+ID4gIGRyaXZlcnMvcGNpL3By b2JlLmMgfCAxMyArKysrKysrKysrLS0tDQo+ID4gPiA+ID4gPiA+ICAzIGZpbGVzIGNoYW5nZWQs IDM2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4g PiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvcGNpLmMgYi9kcml2ZXJzL3BjaS9wY2ku Yw0KPiA+ID4gPiA+ID4gPiBpbmRleCBiOWZlY2MyNWQyMTMuLjZiZjY1ZDI5NTMzMSAxMDA2NDQN Cj4gPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9wY2kvcGNpLmMNCj4gPiA+ID4gPiA+ID4gKysr IGIvZHJpdmVycy9wY2kvcGNpLmMNCj4gPiA+ID4gPiA+ID4gQEAgLTE0MzcsNiArMTQzNywyNCBA QCBzdGF0aWMgaW50DQo+ID4gPiA+ID4gPiA+IHBjaV9zYXZlX3BjaWVfc3RhdGUoc3RydWN0DQo+ ID4gPiA+ID4gPiA+IHBjaV9kZXYgKmRldikNCj4gPiA+ID4gPiA+ID4gICAgICAgcmV0dXJuIDA7 DQo+ID4gPiA+ID4gPiA+ICB9DQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiArdm9pZCBw Y2lfYnJpZGdlX3JlY29uZmlndXJlX2x0cihzdHJ1Y3QgcGNpX2RldiAqZGV2KQ0KPiA+ID4gPiA+ ID4gPiArew0KPiA+ID4gPiA+ID4gPiArI2lmZGVmIENPTkZJR19QQ0lFQVNQTQ0KPiA+ID4gPiA+ ID4gPiArICAgICBzdHJ1Y3QgcGNpX2RldiAqYnJpZGdlOw0KPiA+ID4gPiA+ID4gPiArICAgICB1 MzIgY3RsOw0KPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ICsgICAgIGJyaWRnZSA9IHBj aV91cHN0cmVhbV9icmlkZ2UoZGV2KTsNCj4gPiA+ID4gPiA+ID4gKyAgICAgaWYgKGJyaWRnZSAm JiBicmlkZ2UtPmx0cl9wYXRoKSB7DQo+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgcGNpZV9j YXBhYmlsaXR5X3JlYWRfZHdvcmQoYnJpZGdlLA0KPiA+ID4gPiA+ID4gPiBQQ0lfRVhQX0RFVkNU TDIsICZjdGwpOw0KPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgIGlmICghKGN0bCAmIFBDSV9F WFBfREVWQ1RMMl9MVFJfRU4pKSB7DQo+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICBwY2lfZGJnKGJyaWRnZSwgInJlLWVuYWJsaW5nDQo+ID4gPiA+ID4gPiA+IExUUlxuIik7DQo+ ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBwY2llX2NhcGFiaWxpdHlfc2V0X3dv cmQoYnJpZGdlLA0KPiA+ID4gPiA+ID4gPiBQQ0lfRVhQX0RFVkNUTDIsDQo+ID4gPiA+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJX0VYUF9E RQ0KPiA+ID4gPiA+ID4gPiBWDQo+ID4gPiA+ID4gPiA+IENUTDINCj4gPiA+ID4gPiA+ID4gX0wN Cj4gPiA+ID4gPiA+ID4gVFJfRU4pOw0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBUaGlzIHBh dHRlcm4gb2YgdXBkYXRpbmcgdGhlIHVwc3RyZWFtIGJyaWRnZSBvbiBiZWhhbGYgb2YNCj4gPiA+ ID4gPiA+ICJkZXYiDQo+ID4gPiA+ID4gPiBpcw0KPiA+ID4gPiA+ID4gcHJvYmxlbWF0aWMgYmVj YXVzZSBpdCdzIHJhY3k6DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ICAgQ1BVIDEgICAgICAg ICAgICAgICAgICAgICBDUFUgMg0KPiA+ID4gPiA+ID4gICAtLS0tLS0tLS0tLS0tLS0tLS0tICAg ICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ID4gICBjdGwgPSByZWFkIERFVkNU TDIgICAgICAgIGN0bCA9IHJlYWQoREVWQ1RMMikNCj4gPiA+ID4gPiA+ICAgY3RsIHw9IERFVkNU TDJfTFRSX0VOICAgICBjdGwgfD0gREVWQ1RMMl9BUkkNCj4gPiA+ID4gPiA+ICAgd3JpdGUoREVW Q1RMMiwgY3RsKQ0KPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRl KERFVkNUTDIsIGN0bCkNCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gTm93IHRoZSBicmlkZ2Ug aGFzIEFSSSBzZXQsIGJ1dCBub3QgTFRSX0VOLg0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBX ZSBoYXZlIHRoZSBzYW1lIHByb2JsZW0gaW4gdGhlIHBjaV9lbmFibGVfZGV2aWNlKCkNCj4gPiA+ ID4gPiA+IHBhdGguICBUaGUNCj4gPiA+ID4gPiA+IG1vc3QNCj4gPiA+ID4gPiA+IHJlY2VudCB0 cnkgYXQgZml4aW5nIGl0IGlzIFsxXS4NCj4gPiA+IA0KPiA+ID4gSSB3YXMgaG9waW5nIHlvdSB3 b3VsZCByZXNwb25kIHdpdGggInllcywgSSB1bmRlcnN0YW5kIHRoZQ0KPiA+ID4gcHJvYmxlbSwN Cj4gPiA+IGJ1dCBkb24ndCB0aGluayBpdCdzIGxpa2VseSIgb3IgIm5vLCB0aGlzIGlzbid0IGFj dHVhbGx5IGENCj4gPiA+IHByb2JsZW0NCj4gPiA+IGJlY2F1c2UgLi4uIg0KPiA+ID4gDQo+ID4g PiBJIHRoaW5rIGl0ICppcyogYSBwcm9ibGVtLCBidXQgd2UncmUgcHJvYmFibHkgdW5saWtlbHkg dG8gaGl0IGl0LA0KPiA+ID4gc28NCj4gPiA+IHdlIGNhbiBwcm9iYWJseSBsaXZlIHdpdGggaXQg Zm9yIG5vdy4NCj4gPiA+IA0KPiA+IA0KPiA+IFllcywgSSB1bmRlcnN0YW5kIHRoZSBwcm9ibGVt LiBJIGFsc28gdGhpbmsgaXQgdW5saWtlbHkgdG8gaGl0IGFuZA0KPiA+IHdlDQo+ID4gY2FuIHBy b2JhYmx5IGxpdmUgd2l0aCBpdCBmb3Igbm93Lg0KPiA+IFRoYW5rcy4NCj4gDQo+IEdpdmVuIHRo YXQgTFRSIGFwcGxpZXMgdG8gb25seSBQQ0kgRXhwcmVzcyBkZXZpY2VzLCBhbmQgMiBvZiBzdWNo DQo+IGRldmljZXMgY2Fubm90IGJlIHNpbXVsdGFuZW91c2x5IGhvdC1hZGRlZCB1bmRlciB0aGUg c2FtZSBwYXJlbnQsIEkNCj4gdGhpbmsgaXQgaXMgaGlnaGx5IHVubGlrZWx5IHRvIGhpdC4NCj4g SSBhZ3JlZSB0aGF0IGl0IGlzIGEgcHJvYmxlbSBpbiBnZW5lcmFsIHRob3VnaC4gQnV0IEl0IGRv ZXNuJ3QgbG9vaw0KPiBsaWtlIHdlIGFyZSBub3QgYW55IGNsb3NlIHRvIGEgbWVyZ2luZyB0aGUg b3RoZXIgcGF0Y2ggc2VyaWVzIEJqb3JuDQo+IHBvaW50ZWQgb3V0IChodHRwczovL2xvcmUua2Vy bmVsLm9yZy9saW51eC1wY2kvMjAyMDEyMTgxNzQwMTEuMzQwNTE0LQ0KPiAyLXMubWlyb3Nobmlj aGVua29AeWFkcm8uY29tLykuDQo+IA0KPiBTbyBwZXJoYXBzIHdlIGNvdWxkIG1lcmdlIHRoaXMg cGF0Y2gsIGFuZCB3aGlsZSB0aGlzIHBhdGNoIG1heSBub3QgYmUNCj4gaWRlYWwsIGl0IGhlbHBz IGluIGZpeGluZyB0aGUgY3VycmVudCBzZXQgb2YgaXNzdWVzIHNlZW4gd2l0aCBob3RwbHVnDQo+ IG9mIHRodW5kZXJib2x0IGRldmljZXMgKHdoaWNoIGFyZSB2ZXJ5IG5vdGljYWJsZSBvbiBJbnRl bCBjaHJvbWVib29rcw0KPiBhdGxlYXN0IHNpbmNlIGl0IHByZXZlbnRzIHRoZW0gZnJvbSBnb2lu ZyBpbnRvIFMwaXgpPw0KPiANCj4gVGhhbmtzLA0KPiANCj4gUmFqYXQNCj4gDQo+IA0KPiANCj4g PiANCj4gPiA+ID4gPiA+IFsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1wY2kvMjAy MDEyMTgxNzQwMTEuMzQwNTE0DQo+ID4gPiA+ID4gPiAtMi0NCj4gPiA+ID4gPiA+IHMubWlyDQo+ ID4gPiA+ID4gPiBvcw0KPiA+ID4gPiA+ID4gaG5pY2hlbmtvQHlhZHJvLmNvbS8NCj4gPiA+ID4g PiA+IA0KPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgIH0NCj4gPiA+ID4gPiA+ID4gKyAgICAg fQ0KPiA+ID4gPiA+ID4gPiArI2VuZGlmDQo+ID4gPiA+ID4gPiA+ICt9DQo+ID4gPiA+ID4gPiA+ ICsNCj4gPiA+ID4gPiA+ID4gIHN0YXRpYyB2b2lkIHBjaV9yZXN0b3JlX3BjaWVfc3RhdGUoc3Ry dWN0IHBjaV9kZXYgKmRldikNCj4gPiA+ID4gPiA+ID4gIHsNCj4gPiA+ID4gPiA+ID4gICAgICAg aW50IGkgPSAwOw0KPiA+ID4gPiA+ID4gPiBAQCAtMTQ0Nyw2ICsxNDY1LDEzIEBAIHN0YXRpYyB2 b2lkDQo+ID4gPiA+ID4gPiA+IHBjaV9yZXN0b3JlX3BjaWVfc3RhdGUoc3RydWN0DQo+ID4gPiA+ ID4gPiA+IHBjaV9kZXYgKmRldikNCj4gPiA+ID4gPiA+ID4gICAgICAgaWYgKCFzYXZlX3N0YXRl KQ0KPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgIHJldHVybjsNCj4gPiA+ID4gPiA+ID4gDQo+ ID4gPiA+ID4gPiA+ICsgICAgIC8qDQo+ID4gPiA+ID4gPiA+ICsgICAgICAqIERvd25zdHJlYW0g cG9ydHMgcmVzZXQgdGhlIExUUiBlbmFibGUgYml0IHdoZW4NCj4gPiA+ID4gPiA+ID4gbGluaw0K PiA+ID4gPiA+ID4gPiBnb2VzIGRvd24uDQo+ID4gPiA+ID4gPiA+ICsgICAgICAqIENoZWNrIGFu ZCByZS1jb25maWd1cmUgdGhlIGJpdCBoZXJlIGJlZm9yZQ0KPiA+ID4gPiA+ID4gPiByZXN0b3Jp bmcNCj4gPiA+ID4gPiA+ID4gZGV2aWNlLg0KPiA+ID4gPiA+ID4gPiArICAgICAgKiBQQ0llIHI1 LjAsIHNlYyA3LjUuMy4xNi4NCj4gPiA+ID4gPiA+ID4gKyAgICAgICovDQo+ID4gPiA+ID4gPiA+ ICsgICAgIHBjaV9icmlkZ2VfcmVjb25maWd1cmVfbHRyKGRldik7DQo+ID4gPiA+ID4gPiA+ICsN Cj4gPiA+ID4gPiA+ID4gICAgICAgY2FwID0gKHUxNiAqKSZzYXZlX3N0YXRlLT5jYXAuZGF0YVsw XTsNCj4gPiA+ID4gPiA+ID4gICAgICAgcGNpZV9jYXBhYmlsaXR5X3dyaXRlX3dvcmQoZGV2LCBQ Q0lfRVhQX0RFVkNUTCwNCj4gPiA+ID4gPiA+ID4gY2FwW2krK10pOw0KPiA+ID4gPiA+ID4gPiAg ICAgICBwY2llX2NhcGFiaWxpdHlfd3JpdGVfd29yZChkZXYsIFBDSV9FWFBfTE5LQ1RMLA0KPiA+ ID4gPiA+ID4gPiBjYXBbaSsrXSk7DQo+ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3BjaS9wY2kuaCBiL2RyaXZlcnMvcGNpL3BjaS5oDQo+ID4gPiA+ID4gPiA+IGluZGV4IDVjNTkz NjUwOTJmYS4uYjNhNWU1Mjg3Y2I3IDEwMDY0NA0KPiA+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJz L3BjaS9wY2kuaA0KPiA+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL3BjaS9wY2kuaA0KPiA+ID4g PiA+ID4gPiBAQCAtMTExLDYgKzExMSw3IEBAIHZvaWQgcGNpX2ZyZWVfY2FwX3NhdmVfYnVmZmVy cyhzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gcGNpX2Rldg0KPiA+ID4gPiA+ID4gPiAqZGV2KTsNCj4g PiA+ID4gPiA+ID4gIGJvb2wgcGNpX2JyaWRnZV9kM19wb3NzaWJsZShzdHJ1Y3QgcGNpX2RldiAq ZGV2KTsNCj4gPiA+ID4gPiA+ID4gIHZvaWQgcGNpX2JyaWRnZV9kM191cGRhdGUoc3RydWN0IHBj aV9kZXYgKmRldik7DQo+ID4gPiA+ID4gPiA+ICB2b2lkIHBjaV9icmlkZ2Vfd2FpdF9mb3Jfc2Vj b25kYXJ5X2J1cyhzdHJ1Y3QgcGNpX2Rldg0KPiA+ID4gPiA+ID4gPiAqZGV2KTsNCj4gPiA+ID4g PiA+ID4gK3ZvaWQgcGNpX2JyaWRnZV9yZWNvbmZpZ3VyZV9sdHIoc3RydWN0IHBjaV9kZXYgKmRl dik7DQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiAgc3RhdGljIGlubGluZSB2b2lkIHBj aV93YWtldXBfZXZlbnQoc3RydWN0IHBjaV9kZXYgKmRldikNCj4gPiA+ID4gPiA+ID4gIHsNCj4g PiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3Byb2JlLmMgYi9kcml2ZXJzL3Bj aS9wcm9iZS5jDQo+ID4gPiA+ID4gPiA+IGluZGV4IDk1M2YxNWFiYzg1MC4uYWRlMDU1ZTlmYjU4 IDEwMDY0NA0KPiA+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL3BjaS9wcm9iZS5jDQo+ID4gPiA+ ID4gPiA+ICsrKyBiL2RyaXZlcnMvcGNpL3Byb2JlLmMNCj4gPiA+ID4gPiA+ID4gQEAgLTIxMzIs OSArMjEzMiwxNiBAQCBzdGF0aWMgdm9pZA0KPiA+ID4gPiA+ID4gPiBwY2lfY29uZmlndXJlX2x0 cihzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gcGNpX2Rldg0KPiA+ID4gPiA+ID4gPiAqZGV2KQ0KPiA+ ID4gPiA+ID4gPiAgICAgICAgKiBDb21wbGV4IGFuZCBhbGwgaW50ZXJtZWRpYXRlIFN3aXRjaGVz IGluZGljYXRlDQo+ID4gPiA+ID4gPiA+IHN1cHBvcnQNCj4gPiA+ID4gPiA+ID4gZm9yIExUUi4N Cj4gPiA+ID4gPiA+ID4gICAgICAgICogUENJZSByNC4wLCBzZWMgNi4xOC4NCj4gPiA+ID4gPiA+ ID4gICAgICAgICovDQo+ID4gPiA+ID4gPiA+IC0gICAgIGlmIChwY2lfcGNpZV90eXBlKGRldikg PT0gUENJX0VYUF9UWVBFX1JPT1RfUE9SVCB8fA0KPiA+ID4gPiA+ID4gPiAtICAgICAgICAgKChi cmlkZ2UgPSBwY2lfdXBzdHJlYW1fYnJpZGdlKGRldikpICYmDQo+ID4gPiA+ID4gPiA+IC0gICAg ICAgICAgIGJyaWRnZS0+bHRyX3BhdGgpKSB7DQo+ID4gPiA+ID4gPiA+ICsgICAgIGlmIChwY2lf cGNpZV90eXBlKGRldikgPT0gUENJX0VYUF9UWVBFX1JPT1RfUE9SVCkgew0KPiA+ID4gPiA+ID4g PiArICAgICAgICAgICAgIHBjaWVfY2FwYWJpbGl0eV9zZXRfd29yZChkZXYsDQo+ID4gPiA+ID4g PiA+IFBDSV9FWFBfREVWQ1RMMiwNCj4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUENJX0VYUF9ERVZDVEwyX0xUDQo+ID4gPiA+ID4gPiA+IFINCj4g PiA+ID4gPiA+ID4gX0VOKQ0KPiA+ID4gPiA+ID4gPiA7DQo+ID4gPiA+ID4gPiA+ICsgICAgICAg ICAgICAgZGV2LT5sdHJfcGF0aCA9IDE7DQo+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgcmV0 dXJuOw0KPiA+ID4gPiA+ID4gPiArICAgICB9DQo+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ ID4gKyAgICAgYnJpZGdlID0gcGNpX3Vwc3RyZWFtX2JyaWRnZShkZXYpOw0KPiA+ID4gPiA+ID4g PiArICAgICBpZiAoYnJpZGdlICYmIGJyaWRnZS0+bHRyX3BhdGgpIHsNCj4gPiA+ID4gPiA+ID4g KyAgICAgICAgICAgICBwY2lfYnJpZGdlX3JlY29uZmlndXJlX2x0cihkZXYpOw0KPiA+ID4gPiA+ ID4gPiAgICAgICAgICAgICAgIHBjaWVfY2FwYWJpbGl0eV9zZXRfd29yZChkZXYsDQo+ID4gPiA+ ID4gPiA+IFBDSV9FWFBfREVWQ1RMMiwNCj4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUENJX0VYUF9ERVZDVEwyX0xUDQo+ID4gPiA+ID4gPiA+IFIN Cj4gPiA+ID4gPiA+ID4gX0VOKQ0KPiA+ID4gPiA+ID4gPiA7DQo+ID4gPiA+ID4gPiA+ICAgICAg ICAgICAgICAgZGV2LT5sdHJfcGF0aCA9IDE7DQo+ID4gPiA+ID4gPiA+IC0tDQo+ID4gPiA+ID4g PiA+IDIuMTguMA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+ID4gPiA+ID4gTGludXgtbWVkaWF0ZWsg bWFpbGluZyBsaXN0DQo+ID4gPiA+ID4gPiBMaW51eC1tZWRpYXRla0BsaXN0cy5pbmZyYWRlYWQu b3JnDQo+ID4gPiA+ID4gPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LW1lZGlhdGVr