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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5EC2FC433FE for ; Thu, 13 Oct 2022 16:52:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=CTO+/0+wkYRalIGWvYCXD8M8E6x1U+xXdlQuG/3/w+4=; b=FAVhucx24s3VZC WC8EZLTGXepSDdup2DYK0OFY+N+HOzmvhmQvmHtV2moK3k3GRfp3HgJ6DoQCDYxn6XLN3aZZZvHRL V5krVwnX1SstZSnAb4zwj2c+Gfb9skOZ1rxLZw0/R+6uJh1J0Gy3Mlbypymof+Y0Vhp05amhh2kLH CDT5pD3HF41uB80Nvq0rT7BeXx3snH2qSYnSZ+wA7iIO3R3D9qdpDdoVfhmR5qaP7OJGV8OzUHCG9 H92RgALw1a3b/T7JUeR3omDsJlrA3GO/GkZjXeL7PCgN6/UPPfH5HTkdMlROMm/00BqkQIhRDn00o w/zBkdgQj1TXPWGencbg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oj1Q3-00CT8d-7T; Thu, 13 Oct 2022 16:50:51 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oj1Pz-00CT8E-Dd for linux-arm-kernel@lists.infradead.org; Thu, 13 Oct 2022 16:50:49 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D38E3618BB; Thu, 13 Oct 2022 16:50:45 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E0342C433C1; Thu, 13 Oct 2022 16:50:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1665679845; bh=5GFgw6QTHtEZ01GdWve/MitmH27Csb+Mh/SvvIm9Y98=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Bs9Eqk0uiZzTaEBf4pbqi2hzjp7SqbvlAQikV/tjrUkOwNKInW81cTVN3Km1SIEhY ioD599Op+rCC6kqEwlkVfMOApCM1rPevHM38ovgmlNMmyMU/NQWRpRkppsOCYfAcpM amhLhQMEpULqkzPcQ/6DgtNCUzK1iQ9DtKtnLEyAi3pFrWBZ86ZGM8wpkBqDhrCC4+ +oNYxuoFLiRxKeU+4GRqa4UqHA+2wve6lc8tO2aH1yIkAgcH+G7cTyb2unOvjoVArW ziD0/jCDoZNdECzTXowXGQ95pwHtUAgtIgR2Ps7kjjdpdzVCeiokcY3+zPZD4NETPX hUPe/bozLSIVw== Received: by pali.im (Postfix) id C0B767F0; Thu, 13 Oct 2022 18:50:41 +0200 (CEST) Date: Thu, 13 Oct 2022 18:50:41 +0200 From: Pali =?utf-8?B?Um9ow6Fy?= To: Elad Nachman , Lorenzo Pieralisi Cc: Bjorn Helgaas , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , "linux-pci@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" Subject: Re: [EXT] Re: [PATCH v2] PCI: aardvark: Implement workaround for PCIe Completion Timeout Message-ID: <20221013165041.h23yz7xxi2nejygg@pali> References: <20220802123816.21817-1-pali@kernel.org> <20220926123434.2tqx4t6u3cnlrcx3@pali> <20221003211412.5pqfjvcxyszd4ai6@pali> <20221004083957.qtfkn4eyi42lsd4j@pali> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20180716 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221013_095047_584156_88DFEDA4 X-CRM114-Status: GOOD ( 61.07 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGVsbG8gRWxhZCEgVGhhbmsgeW91IHZlcnkgbXVjaCBmb3IgZGV0YWlsZWQgZXhwbGFuYXRpb24u CgpMb3JlbnpvLCBpdCBpcyBPSywgb3IgZG8geW91IG5lZWQgc29tZSBvdGhlciBkZXRhaWxzPwoK T24gVGh1cnNkYXkgMDYgT2N0b2JlciAyMDIyIDA4OjE0OjQ4IEVsYWQgTmFjaG1hbiB3cm90ZToK PiBIaSwKPiAKPiBSZWdhcmRpbmcgbnVtYmVyICMxIDoKPiBUaGUgSC9XIGVycmF0dW0gbWVhbnMg c3Ryb25nIG9yZGVyaW5nIG1vZGUgaXMgbm90IHByb3Blcmx5IGltcGxlbWVudGVkIGluIHRoZSBI L1cuCj4gVGhlIHdvcmthcm91bmQgaXMgdG8gc2V0IERJU19PUkRfQ0hLIHRvIGRpc2FibGUgdGhl IG9yZGVyZWQgY2hlY2ssIHRvIHByZXZlbnQgdGhlIGlzc3VlcyBQYWxpIG1lbnRpb25lZC4KPiBM ZWF2aW5nIGl0IHdpdGhvdXQgdGhlIHdvcmthcm91bmQgbWVhbnMgZW5jb3VudGVyaW5nIHRoZSBj cmFzaGVzIFBhbGkgbWVudGlvbmVkLgo+IFRoZSBIL1cgd2FzIG9yaWdpbmFsbHkgZGVzaWduZWQg dG8gaGF2ZSB0aGUgc3Ryb25nIG9yZGVyaW5nIG1vZGUsIHBlciB3aGF0IGlzIGV4cGVjdGVkIG9m IFBDSSBFeHByZXNzLCBidXQgZHVlIHRvIHRoaXMgZXJyYXR1bSwgaXQgY2Fubm90IGJlIHN1cHBv cnRlZCBieSB0aGUgdGFwZWQtb3V0IEgvVy4KPiBUaGVyZSBpcyBub3RoaW5nIHRvIGRvIGFib3V0 IGl0IG5vdyBpbiB0aGUgSC9XLCBhcyB0aGlzIGlzIGEgeWVhcnMgb2xkIFNPQy4KPiBTb2Z0d2Fy ZSB3aXNlIHRoZSBvbmx5IG9wdGlvbiBpcyB0aGUgd29ya2Fyb3VuZCBhYm92ZSwgb3IgdG8gYWNj ZXB0IHNwb3JhZGljIGNyYXNoZXMgb2YgdGhlIGtlcm5lbC4KPiAKPiBSZWdhcmRpbmcgbnVtYmVy ICMyIDoKPiBUaGUgaW1wYWN0IG9mIHRoZSB3b3JrYXJvdW5kIGlzIHRoYXQgdGhlIERNQSBkb25l IHN0YXR1cyBjb3VsZCBiZSBzZXQgYmVmb3JlIHRoZSBsYXN0IGRhdGEgaXMgd3JpdHRlbiB0byB0 aGUgaG9zdCBtZW1vcnksIGNhdXNpbmcgdGhlIGhvc3QgdG8gcmVhZCBpbmNvbXBsZXRlIGRhdGEu IFRoaXMgaXMgdGhlIHJlYXNvbiB3aHkgSSByZWNvbW1lbmRlZCB0byBhZGQgYSBtZW1vcnkgYmFy cmllci4gSWYgdGhpcyBpcyBib3RoZXJpbmcsIHRoZSBtZW1vcnkgYmFycmllciBjYW4gYmUgcmVt b3ZlZCBmcm9tIHRoZSBwYXRjaCwgYWx0aG91Z2ggSSBzdWdnZXN0IHRvIHRob3JvdWdobHkgdGVz dCB0aGUgZGF0YSBpbnRlZ3JpdHkgaWYgaW1wbGVtZW50aW5nIHRoZSBwYXRjaCB3aXRob3V0IHRo ZSBtZW1vcnkgYmFycmllci4KPiAKPiBGWUksCj4gCj4gRWxhZC4KPiAKPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQo+IEZyb206IFBhbGkgUm9ow6FyIDxwYWxpQGtlcm5lbC5vcmc+IAo+IFNl bnQ6IFR1ZXNkYXksIE9jdG9iZXIgNCwgMjAyMiAxMTo0MCBBTQo+IFRvOiBFbGFkIE5hY2htYW4g PGVuYWNobWFuQG1hcnZlbGwuY29tPjsgTG9yZW56byBQaWVyYWxpc2kgPGxwaWVyYWxpc2lAa2Vy bmVsLm9yZz4KPiBDYzogQmpvcm4gSGVsZ2FhcyA8YmhlbGdhYXNAZ29vZ2xlLmNvbT47IEtyenlz enRvZiBXaWxjennFhHNraSA8a3dAbGludXguY29tPjsgbGludXgtcGNpQHZnZXIua2VybmVsLm9y ZzsgbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOyBsaW51eC1rZXJuZWxAdmdl ci5rZXJuZWwub3JnCj4gU3ViamVjdDogUmU6IFtFWFRdIFJlOiBbUEFUQ0ggdjJdIFBDSTogYWFy ZHZhcms6IEltcGxlbWVudCB3b3JrYXJvdW5kIGZvciBQQ0llIENvbXBsZXRpb24gVGltZW91dAo+ IAo+ICsgRWxhZAo+IAo+IENvdWxkIHlvdSBwbGVhc2UgbG9vayBhdCBMb3JlbnpvJ3MgY29tbWVu dHMgYW5kIGhlbHAgd2l0aCB0aGlzIGZpeD8KPiAKPiBPbiBUdWVzZGF5IDA0IE9jdG9iZXIgMjAy MiAxMDowMjozMiBMb3JlbnpvIFBpZXJhbGlzaSB3cm90ZToKPiA+IE9uIE1vbiwgT2N0IDAzLCAy MDIyIGF0IDExOjE0OjEyUE0gKzAyMDAsIFBhbGkgUm9ow6FyIHdyb3RlOgo+ID4gPiBMb3Jlbnpv LCBpcyBzb21ldGhpbmcgbW9yZSBuZWVkZWQgZm9yIHRoaXMgcGF0Y2g/IEFzIGl0IHdvcmthcm91 bmRzIAo+ID4gPiBjcmFzaGluZyBpdCBpcyByZWFsbHkgbmVlZGVkIHRvIGhhdmUgaXQgaW4gbWFp bmxpbmUgYW5kIGJhY2twb3J0cy4KPiA+IAo+ID4gWWVzLCBhIGNsZWFyIGV4cGxhbmF0aW9uIGZy b20gTWFydmVsbCBhYm91dCB3aGF0IHRoaXMgaXMgYWN0dWFsbHkgCj4gPiBmaXhpbmcgLSBpdCB0 b29rIG1lIGEgd2hpbGUgdG8gZ28gdGhyb3VnaCB0aGUgd2hvbGUgdGhyZWFkIGJ1dCBJIHN0aWxs IAo+ID4gZG9uJ3QgdW5kZXJzdGFuZCB3aGF0IHRoaXMgcGF0Y2ggYWN0dWFsbHkgZG9lcyBhbmQg d2h5Lgo+ID4gCj4gPiBBbiBFcnJhdHVtIHdvcmthcm91bmQgKGlmIHRoZXJlIGlzIGFueSkgc2hv dWxkIGRlZmluZSBhbmQgZXhwbGFpbiBhIFNXIAo+ID4gd29ya2Fyb3VuZC4KPiA+IAo+ID4gKDEp IEJqb3JuJ3MgY29uY2VybnMgaW4gcmVsYXRpb24gdG8gUENJIG1lbW9yeSBtb2RlbCB3ZXJlbid0 IGFkZHJlc3NlZAo+ID4gKDIpIFdlIGRvbid0IGFkZCB1bmRvY3VtZW50ZWQgbWVtb3J5IGJhcnJp ZXJzIHRvIHRoZSBrZXJuZWwgdG8gIm1pbmltaXplCj4gPiAgICAgcmlza3MiLiBFaXRoZXIgd2Ug Zml4IGEgYnVnIG9yIHdlIGRvbid0LiBJZiB3ZSBkbywgd3JpdGUgdGhhdCBkb3duCj4gPiAgICAg YW5kIGRvY3VtZW50IHdoeSB0aGUgYmFycmllciBpcyB0aGVyZSBhbmQgdGhlIGlzc3VlIGl0IHNv bHZlcy4KPiA+IAo+ID4gSSB1bmRlcnN0YW5kIHRoYXQgYmFzaWNhbGx5IHlvdSBhcmUgcmV2ZXJz ZSBlbmdpbmVlcmluZyBhIEhXIGJ1ZyBidXQgSSAKPiA+IGFtIGFmcmFpZCB3ZSBjYW4ndCBmaXgg dGhlIGtlcm5lbCB0aGlzIHdheSAtIG1vcmUgc28gd2l0aCBwYXRjaGVzIAo+ID4gZ29pbmcgdG8g YmUgYmFja3BvcnRlZCB0byBzdGFibGUga2VybmVscy4KPiA+IAo+ID4gTG9yZW56bwo+ID4gCj4g PiA+IE9uIFdlZG5lc2RheSAyOCBTZXB0ZW1iZXIgMjAyMiAxNDowNToxMCBFbGFkIE5hY2htYW4g d3JvdGU6Cj4gPiA+ID4gUmV2aWV3ZWQtYnk6IEVsYWQgTmFjaG1hbiA8ZW5hY2htYW5AbWFydmVs bC5jb20+Cj4gPiA+ID4gCj4gPiA+ID4gVGhhbmtzLAo+ID4gPiA+IAo+ID4gPiA+IEVsYWQuCj4g PiA+ID4gCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+ID4gPiBGcm9tOiBQ YWxpIFJvaMOhciA8cGFsaUBrZXJuZWwub3JnPgo+ID4gPiA+IFNlbnQ6IE1vbmRheSwgU2VwdGVt YmVyIDI2LCAyMDIyIDM6MzUgUE0KPiA+ID4gPiBUbzogRWxhZCBOYWNobWFuIDxlbmFjaG1hbkBt YXJ2ZWxsLmNvbT4KPiA+ID4gPiBDYzogVGhvbWFzIFBldGF6em9uaSA8dGhvbWFzLnBldGF6em9u aUBib290bGluLmNvbT47IExvcmVuem8gCj4gPiA+ID4gUGllcmFsaXNpIDxscGllcmFsaXNpQGtl cm5lbC5vcmc+OyBCam9ybiBIZWxnYWFzIAo+ID4gPiA+IDxiaGVsZ2Fhc0Bnb29nbGUuY29tPjsg S3J6eXN6dG9mIFdpbGN6ecWEc2tpIDxrd0BsaW51eC5jb20+OyBSb2IgCj4gPiA+ID4gSGVycmlu ZyA8cm9iaEBrZXJuZWwub3JnPjsgbGludXgtcGNpQHZnZXIua2VybmVsLm9yZzsgCj4gPiA+ID4g bGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOyAKPiA+ID4gPiBsaW51eC1rZXJu ZWxAdmdlci5rZXJuZWwub3JnOyBHcmVnb3J5IENsZW1lbnQgCj4gPiA+ID4gPGdyZWdvcnkuY2xl bWVudEBib290bGluLmNvbT47IE1hcmVrIEJlaMO6biA8a2FiZWxAa2VybmVsLm9yZz47IAo+ID4g PiA+IFJlbWkgUG9tbWFyZWwgPHJlcGtAdHJpcGxlZmF1Lmx0PjsgWG9naXVtIDxjb250YWN0QHhv Z2l1bS5tZT47IAo+ID4gPiA+IFRvbWFzeiBNYWNpZWogTm93YWsgPHRtbjUwNUBnbWFpbC5jb20+ Cj4gPiA+ID4gU3ViamVjdDogW0VYVF0gUmU6IFtQQVRDSCB2Ml0gUENJOiBhYXJkdmFyazogSW1w bGVtZW50IHdvcmthcm91bmQgCj4gPiA+ID4gZm9yIFBDSWUgQ29tcGxldGlvbiBUaW1lb3V0Cj4g PiA+ID4gCj4gPiA+ID4gRXh0ZXJuYWwgRW1haWwKPiA+ID4gPiAKPiA+ID4gPiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K PiA+ID4gPiAtLS0tIEhlbGxvIEVsYWQsIGNvdWxkIHlvdSBwbGVhc2UgcmV2aWV3IHRoaXMgcGF0 Y2g/IEkgaGF2ZSAKPiA+ID4gPiBpbXBsZW1lbnRlZCBpdCBhY2NvcmRpbmcgeW91ciBpbnN0cnVj dGlvbnMsIGluY2x1ZGluZyB0aGF0IGZ1bGwgbWVtb3J5IGJhcnJpZXIgYXMgeW91IGRlc2NyaWJl ZC4KPiA+ID4gPiAKPiA+ID4gPiBPbiBUdWVzZGF5IDAyIEF1Z3VzdCAyMDIyIDE0OjM4OjE2IFBh bGkgUm9ow6FyIHdyb3RlOgo+ID4gPiA+ID4gTWFydmVsbCBBcm1hZGEgMzcwMCBGdW5jdGlvbmFs IEVycmF0YSwgR3VpZGVsaW5lcywgYW5kIAo+ID4gPiA+ID4gUmVzdHJpY3Rpb25zIGRvY3VtZW50 IGRlc2NyaWJlcyBpbiBlcnJhdHVtIDMuMTIgUENJZSBDb21wbGV0aW9uIFRpbWVvdXQgKFJlZiAj Ogo+ID4gPiA+ID4gMjUxKSwgdGhhdCBQQ0llIElQIGRvZXMgbm90IHN1cHBvcnQgYSBzdHJvbmct b3JkZXJlZCBtb2RlbCBmb3IgaW5ib3VuZCBwb3N0ZWQgdnMuCj4gPiA+ID4gPiBvdXRib3VuZCBj b21wbGV0aW9uLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBBcyBhIHdvcmthcm91bmQgZm9yIHRoaXMg ZXJyYXR1bSwgRElTX09SRF9DSEsgZmxhZyBpbiBEZWJ1ZyBNdXggCj4gPiA+ID4gPiBDb250cm9s IHJlZ2lzdGVyIG11c3QgYmUgc2V0LiBJdCBkaXNhYmxlcyB0aGUgb3JkZXJpbmcgY2hlY2sgaW4g Cj4gPiA+ID4gPiB0aGUgY29yZSBiZXR3ZWVuIENvbXBsZXRpb25zIGFuZCBQb3N0ZWQgcmVxdWVz dHMgcmVjZWl2ZWQgZnJvbSB0aGUgbGluay4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gTWFydmVsbCBh bHNvIHN1Z2dlc3RzIHRvIGRvIGZ1bGwgbWVtb3J5IGJhcnJpZXIgYXQgdGhlIGJlZ2lubmluZyAK PiA+ID4gPiA+IG9mIGFhcmR2YXJrIHN1bW1hcnkgaW50ZXJydXB0IGhhbmRsZXIgYmVmb3JlIGNh bGxpbmcgaW50ZXJydXB0IAo+ID4gPiA+ID4gaGFuZGxlcnMgb2YgZW5kcG9pbnQgZHJpdmVycyBp biBvcmRlciB0byBtaW5pbWl6ZSB0aGUgcmlzayBmb3IgCj4gPiA+ID4gPiB0aGUgcmFjZSBjb25k aXRpb24gZG9jdW1lbnRlZCBpbiB0aGUgRXJyYXR1bSBiZXR3ZWVuIHRoZSBETUEgCj4gPiA+ID4g PiBkb25lIHN0YXR1cyByZWFkaW5nIGFuZCB0aGUgY29tcGxldGlvbiBvZiB3cml0aW5nIHRvIHRo ZSBob3N0IG1lbW9yeS4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gTW9yZSBkZXRhaWxzIGFib3V0IHRo aXMgaXNzdWUgYW5kIHN1Z2dlc3RlZCB3b3JrYXJvdW5kcyBhcmUgaW4gZGlzY3Vzc2lvbjoKPiA+ ID4gPiA+IGh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwcy0z QV9fbG9yZS5rZXJuZWwKPiA+ID4gPiA+IC5vcmdfbCAKPiA+ID4gPiA+IGludXgtMkRwY2lfQk45 UFIxOE1CNDI1MTU0RkU1MDE5RENBRjIwMjhBMUQ1REI4RDktNDBCTjlQUjE4TUI0MjUKPiA+ID4g PiA+IDEubmFtcCAKPiA+ID4gPiA+IHJkMTgucHJvZC5vdXRsb29rLmNvbV90Xy0yM3UmZD1Ed0lE YVEmYz1uS2pXZWMyYjZSMG1PeVBhejd4dGZRJnIKPiA+ID4gPiA+ID1lVGVOVAo+ID4gPiA+ID4g TEVLNS1UeFhjempPY0tQaEFOSUZ0bEI5cFA0bHE5cWhkbEZyd1EmbT1iamdraGdQZ09qcUNFc2JI WUhPTkNaTQo+ID4gPiA+ID4gaUZEWDcyIAo+ID4gPiA+ID4gTXp0V2FFMEF2V0JrdFFWbjN6S0VE dFVkbjAyS3hfS0oxNEImcz1TVG9Hc0RHRU9id2JaR2lsVnRWWlB5TUU4ago+ID4gPiA+ID4gTmlS Z3JxCj4gPiA+ID4gPiA0U0RZdnFxVDBUQSZlPQo+ID4gPiA+ID4gCj4gPiA+ID4gPiBJdCB3YXMg cmVwb3J0ZWQgdGhhdCBlbmFibGluZyB0aGlzIHdvcmthcm91bmQgZml4ZXMgaW5zdGFiaWxpdHkg Cj4gPiA+ID4gPiBpc3N1ZXMgYW5kICJVbmhhbmRsZWQgZmF1bHQiIGVycm9ycyB3aGVuIHVzaW5n IDYwIEdIeiBXaUZpIAo+ID4gPiA+ID4gODAyLjExYWQgY2FyZCB3aXRoIFF1YWxjb21tCj4gPiA+ ID4gPiBRQ0E2MzM1IGNoaXAgdW5kZXIgc2lnbmlmaWNhbnQgbG9hZCB3aGljaCB3ZXJlIGNhdXNl ZCBieSAKPiA+ID4gPiA+IGludGVycnVwdCBzdGF0dXMgc3R1Y2sgaW4gdGhlIG91dGJvdW5kIENN UExUIHF1ZXVlIHRyYWNlZCBiYWNrIHRvIHRoaXMgZXJyYXR1bS4KPiA+ID4gPiA+IAo+ID4gPiA+ ID4gVGhpcyB3b3JrYXJvdW5kIGZpeGVzIGFsc28ga2VybmVsIHBhbmljIHRyaWdnZXJlZCBhZnRl ciBzb21lIAo+ID4gPiA+ID4gbWludXRlcyBvZiB1c2FnZSA1IEdIeiBXaUZpIDgwMi4xMWF4IGNh cmQgd2l0aCBNZWRpYXRlayBNVDc5MTUgY2hpcDoKPiA+ID4gPiA+IAo+ID4gPiA+ID4gICAgIElu dGVybmFsIGVycm9yOiBzeW5jaHJvbm91cyBleHRlcm5hbCBhYm9ydDogOTYwMDAyMTAgWyMxXSBT TVAKPiA+ID4gPiA+ICAgICBLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogRmF0YWwgZXhjZXB0 aW9uIGluIGludGVycnVwdAo+ID4gPiA+ID4gCj4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBUaG9t YXMgUGV0YXp6b25pIDx0aG9tYXMucGV0YXp6b25pQGJvb3RsaW4uY29tPgo+ID4gPiA+ID4gU2ln bmVkLW9mZi1ieTogUGFsaSBSb2jDoXIgPHBhbGlAa2VybmVsLm9yZz4KPiA+ID4gPiA+IEZpeGVz OiA4YzM5ZDcxMDM2M2MgKCJQQ0k6IGFhcmR2YXJrOiBBZGQgQWFyZHZhcmsgUENJIGhvc3QgCj4g PiA+ID4gPiBjb250cm9sbGVyCj4gPiA+ID4gPiBkcml2ZXIiKQo+ID4gPiA+ID4gQ2M6IHN0YWJs ZUB2Z2VyLmtlcm5lbC5vcmcKPiA+ID4gPiA+IC0tLQo+ID4gPiA+ID4gIGRyaXZlcnMvcGNpL2Nv bnRyb2xsZXIvcGNpLWFhcmR2YXJrLmMgfCAxMCArKysrKysrKysrCj4gPiA+ID4gPiAgMSBmaWxl IGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKPiA+ID4gPiA+IAo+ID4gPiA+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLWFhcmR2YXJrLmMKPiA+ID4gPiA+IGIvZHJp dmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsuYwo+ID4gPiA+ID4gaW5kZXggMDYwOTM2 ZWYwMWZlLi4zYWU4YTg1ZWM3MmUgMTAwNjQ0Cj4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL3BjaS9j b250cm9sbGVyL3BjaS1hYXJkdmFyay5jCj4gPiA+ID4gPiArKysgYi9kcml2ZXJzL3BjaS9jb250 cm9sbGVyL3BjaS1hYXJkdmFyay5jCj4gPiA+ID4gPiBAQCAtMjEwLDYgKzIxMCw4IEBAIGVudW0g ewo+ID4gPiA+ID4gIH07Cj4gPiA+ID4gPiAgCj4gPiA+ID4gPiAgI2RlZmluZSBWRU5ET1JfSURf UkVHCQkJCShMTUlfQkFTRV9BRERSICsgMHg0NCkKPiA+ID4gPiA+ICsjZGVmaW5lIERFQlVHX01V WF9DVFJMX1JFRwkJCShMTUlfQkFTRV9BRERSICsgMHgyMDgpCj4gPiA+ID4gPiArI2RlZmluZSAg ICAgRElTX09SRF9DSEsJCQkJQklUKDMwKQo+ID4gPiA+ID4gIAo+ID4gPiA+ID4gIC8qIFBDSWUg Y29yZSBjb250cm9sbGVyIHJlZ2lzdGVycyAqLwo+ID4gPiA+ID4gICNkZWZpbmUgQ1RSTF9DT1JF X0JBU0VfQUREUgkJCTB4MTgwMDAKPiA+ID4gPiA+IEBAIC01NTgsNiArNTYwLDExIEBAIHN0YXRp YyB2b2lkIGFkdmtfcGNpZV9zZXR1cF9odyhzdHJ1Y3QgYWR2a19wY2llICpwY2llKQo+ID4gPiA+ ID4gIAkJUENJRV9DT1JFX0NUUkwyX1REX0VOQUJMRTsKPiA+ID4gPiA+ICAJYWR2a193cml0ZWwo cGNpZSwgcmVnLCBQQ0lFX0NPUkVfQ1RSTDJfUkVHKTsKPiA+ID4gPiA+ICAKPiA+ID4gPiA+ICsJ LyogRGlzYWJsZSBvcmRlcmluZyBjaGVja3MsIHdvcmthcm91bmQgZm9yIGVycmF0dW0gMy4xMiAi UENJZSBjb21wbGV0aW9uIHRpbWVvdXQiICovCj4gPiA+ID4gPiArCXJlZyA9IGFkdmtfcmVhZGwo cGNpZSwgREVCVUdfTVVYX0NUUkxfUkVHKTsKPiA+ID4gPiA+ICsJcmVnIHw9IERJU19PUkRfQ0hL Owo+ID4gPiA+ID4gKwlhZHZrX3dyaXRlbChwY2llLCByZWcsIERFQlVHX01VWF9DVFJMX1JFRyk7 Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiAgCS8qIFNldCBsYW5lIFgxICovCj4gPiA+ID4gPiAgCXJl ZyA9IGFkdmtfcmVhZGwocGNpZSwgUENJRV9DT1JFX0NUUkwwX1JFRyk7Cj4gPiA+ID4gPiAgCXJl ZyAmPSB+TEFORV9DTlRfTVNLOwo+ID4gPiA+ID4gQEAgLTE1ODEsNiArMTU4OCw5IEBAIHN0YXRp YyBpcnFyZXR1cm5fdCBhZHZrX3BjaWVfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqYXJnKQo+ ID4gPiA+ID4gIAlzdHJ1Y3QgYWR2a19wY2llICpwY2llID0gYXJnOwo+ID4gPiA+ID4gIAl1MzIg c3RhdHVzOwo+ID4gPiA+ID4gIAo+ID4gPiA+ID4gKwkvKiBGdWxsIG1lbW9yeSBiYXJyaWVyIChB Uk0gZHNiIHN5KSwgd29ya2Fyb3VuZCBmb3IgZXJyYXR1bSAzLjEyICJQQ0llIGNvbXBsZXRpb24g dGltZW91dCIgKi8KPiA+ID4gPiA+ICsJbWIoKTsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICAJc3Rh dHVzID0gYWR2a19yZWFkbChwY2llLCBIT1NUX0NUUkxfSU5UX1NUQVRVU19SRUcpOwo+ID4gPiA+ ID4gIAlpZiAoIShzdGF0dXMgJiBQQ0lFX0lSUV9DT1JFX0lOVCkpCj4gPiA+ID4gPiAgCQlyZXR1 cm4gSVJRX05PTkU7Cj4gPiA+ID4gPiAtLQo+ID4gPiA+ID4gMi4yMC4xCj4gPiA+ID4gPiAKPiA+ ID4gCj4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gPiA+IGxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cj4gPiA+IGxpbnV4LWFybS1rZXJu ZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwo+ID4gPiBodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2lu dC5jb20vdjIvdXJsP3U9aHR0cC0zQV9fbGlzdHMuaW5mcmFkZWFkLgo+ID4gPiBvcmdfbWFpbG1h bl9saXN0aW5mb19saW51eC0yRGFybS0yRGtlcm5lbCZkPUR3SURhUSZjPW5LaldlYzJiNlIwbU95 UAo+ID4gPiBhejd4dGZRJnI9ZVRlTlRMRUs1LVR4WGN6ak9jS1BoQU5JRnRsQjlwUDRscTlxaGRs RnJ3USZtPTJOemtUOUtMTzI2awo+ID4gPiBlZlVPdzJuSWVTZVJuSlZaTHhFaUJYcUVvUnZEUTB1 ZXd3Nm40WWFYV2dBTjF1Q0pYMjBvJnM9bmN6QUNTXzJqRVJiQQo+ID4gPiAtYzRHZmFyMC1IVEE0 UHR2WmRKbXNCdjhqaFc4RzAmZT0KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJu ZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK