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 C0108C7EE25 for ; Fri, 9 Jun 2023 16:11:08 +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=IFX9PtyvvjX3C5IF1UNo49+tEH2tZrAytN7yCywzTpw=; b=wk+dwc0/F4XDWM TcGFJMOBqPWekAGOA0hJjHAWizRUyE8DjTJfQMKpUsG4A+XhTsghQfASL5OrC5p13eidkm9YFhxhC NZvw0ran6jO1H4tX1Co1WP2y0DlpJyHAkaIE3LtQBVX8pvjrjXLh6JvbKkKNpF5OGNHmdf6BaPG2m 0t65/OeurBOzCkfQ21UUt2/o6mmTbifsKGD3ayHZ2KKLV1MHjXvyLbbrWiQnO9DrnsuIGDk2OBiE8 dS4J6bkBwTAPozfrUVl9gz9IWh51YaRWqd+7/uYhRLRVVRkoylColJt2p/oT+h/FpI6QbhipEcfxX d27sNgrHXYk1znJzQ41g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q7ehF-00DZ5m-2A; Fri, 09 Jun 2023 16:10:41 +0000 Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q7ehB-00DZ3g-1y for linux-arm-kernel@lists.infradead.org; Fri, 09 Jun 2023 16:10:40 +0000 Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-5440e98616cso768406a12.0 for ; Fri, 09 Jun 2023 09:10:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1686327036; x=1688919036; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=sFUAFP5ptKF9i1DX/sdXd+RC2UZtcoQAkwMutNG+aSc=; b=TE8HaICBN/0Ax7Okr7xnZeVgpaM0mni9irF6vSYt7KtO7JKzU6aguLbz7IwHMgihTj xqv8rI81jumHhIBfN78ajHTDkA9+yoYXlSWz1DbLdC9RVGLmiqg8gKCQEiAUkBYfHMpA 7hn7uqLRZyzNpxD+ua3VzVTTNDZq5fRExdysAmR7AUynaXbjMa25O33t5jelW1Q90+Am ShHLt8kPhtMqOspeKSgnVFd0nHm+jMUxKooYYuyObH9fJ7C7bxD/np6vn6nBIibQD1uh KEOxriTaMCx/nZhig9tm2eV3HpiM+IFBpi9/9u9RdF773RSWnn5cpVVJniMAq6eTjOU6 cPTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686327036; x=1688919036; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sFUAFP5ptKF9i1DX/sdXd+RC2UZtcoQAkwMutNG+aSc=; b=MkswoNgCcqgYkOs++1NBBlnhfk4vpebEP/+DiM974KqDe0OzUB9g+WrwI/C5hhrxpN o7ALGg6OAupCAAQyBjSXb7+Fhgyey0Et82d93ItoD9oCXR8uYzuH1Awk6uQafgRJSOis uum1SwS6+2HK4m/URDjpqlLx+p7E0Vp17VF6SqfcKFgx3M4siJBLIVPfDF8tU9hE+aHT cRfZKnMDUx6xpKOtyHanXMQniVnQ0joeZPDdo/kjuTyGgQgg/jvPS5+6+GMmmXvc5Tjo l7nJQ/qlqvPBXGUUFMR6uiVel8l2gET9V8NIaL/wyku6EHom/vODp6PdL4KyCFiC8SiU QN2g== X-Gm-Message-State: AC+VfDyJdZaK+pITay9PD65tbPUZksGex+RBjZxSYpshQn7f+LudjdvC aRe1XZPabkNATzV8ncD2TjWx X-Google-Smtp-Source: ACHHUZ6nGqlsmw10WFMwRr0+VqM/PpRECoAhWjX1RfecCN76SnaBVOc8xmTt0Td+nbYpd9/Fh2zfnw== X-Received: by 2002:a17:902:db12:b0:1b1:99c9:8ce5 with SMTP id m18-20020a170902db1200b001b199c98ce5mr6111685plx.16.1686327035563; Fri, 09 Jun 2023 09:10:35 -0700 (PDT) Received: from thinkpad ([117.202.185.129]) by smtp.gmail.com with ESMTPSA id r17-20020a170902c61100b001ac84f5559csm3472967plr.126.2023.06.09.09.10.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jun 2023 09:10:34 -0700 (PDT) Date: Fri, 9 Jun 2023 21:40:29 +0530 From: Manivannan Sadhasivam To: Siddharth Vadapalli Cc: tjoseph@cadence.com, lpieralisi@kernel.org, robh@kernel.org, kw@linux.com, bhelgaas@google.com, nadeem@cadence.com, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, vigneshr@ti.com, srk@ti.com, nm@ti.com Subject: Re: [PATCH v3] PCI: cadence: Fix Gen2 Link Retraining process Message-ID: <20230609161029.GG6847@thinkpad> References: <20230607091427.852473-1-s-vadapalli@ti.com> <20230608154206.GI5672@thinkpad> <67865af6-7ea4-63e3-6c35-4cd038f36af3@ti.com> <20230609055737.GA6847@thinkpad> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230609_091037_662791_B120A688 X-CRM114-Status: GOOD ( 51.32 ) 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 T24gRnJpLCBKdW4gMDksIDIwMjMgYXQgMTE6NTk6MDlBTSArMDUzMCwgU2lkZGhhcnRoIFZhZGFw YWxsaSB3cm90ZToKPiAKPiAKPiBPbiAwOS8wNi8yMyAxMToyNywgTWFuaXZhbm5hbiBTYWRoYXNp dmFtIHdyb3RlOgo+ID4gT24gRnJpLCBKdW4gMDksIDIwMjMgYXQgMDk6NDY6MjBBTSArMDUzMCwg U2lkZGhhcnRoIFZhZGFwYWxsaSB3cm90ZToKPiA+PiBIZWxsbyBNYW5pLAo+ID4+Cj4gPj4gVGhh bmsgeW91IGZvciByZXZpZXdpbmcgdGhpcyBwYXRjaC4KPiA+Pgo+ID4+IE9uIDA4LzA2LzIzIDIx OjEyLCBNYW5pdmFubmFuIFNhZGhhc2l2YW0gd3JvdGU6Cj4gPj4+IE9uIFdlZCwgSnVuIDA3LCAy MDIzIGF0IDAyOjQ0OjI3UE0gKzA1MzAsIFNpZGRoYXJ0aCBWYWRhcGFsbGkgd3JvdGU6Cj4gPj4+ PiBUaGUgTGluayBSZXRyYWluaW5nIHByb2Nlc3MgaXMgaW5pdGlhdGVkIHRvIGFjY291bnQgZm9y IHRoZSBHZW4yIGRlZmVjdCBpbgo+ID4+Pj4gdGhlIENhZGVuY2UgUENJZSBjb250cm9sbGVyIGlu IEo3MjFFIFNvQy4gVGhlIGVycmF0YSBjb3JyZXNwb25kaW5nIHRvIHRoaXMKPiA+Pj4+IGlzIGky MDg1LCBkb2N1bWVudGVkIGF0Ogo+ID4+Pj4gaHR0cHM6Ly93d3cudGkuY29tL2xpdC9lci9zcHJ6 NDU1Yy9zcHJ6NDU1Yy5wZGYKPiA+Pj4+Cj4gPj4+PiBUaGUgZXhpc3Rpbmcgd29ya2Fyb3VuZCBp bXBsZW1lbnRlZCBmb3IgdGhlIGVycmF0YSB3YWl0cyBmb3IgdGhlIERhdGEgTGluawo+ID4+Pj4g aW5pdGlhbGl6YXRpb24gdG8gY29tcGxldGUgYW5kIGFzc3VtZXMgdGhhdCB0aGUgbGluayByZXRy YWluaW5nIHByb2Nlc3MKPiA+Pj4+IGF0IHRoZSBQaHlzaWNhbCBMYXllciBoYXMgY29tcGxldGVk LiBIb3dldmVyLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHRoZQo+ID4+Pj4gUGh5c2ljYWwgTGF5ZXIg dHJhaW5pbmcgbWlnaHQgYmUgb25nb2luZyBhcyBpbmRpY2F0ZWQgYnkgdGhlCj4gPj4+PiBQQ0lf RVhQX0xOS1NUQV9MVCBiaXQgaW4gdGhlIFBDSV9FWFBfTE5LU1RBIHJlZ2lzdGVyLgo+ID4+Pj4K PiA+Pj4+IEZpeCB0aGUgZXhpc3Rpbmcgd29ya2Fyb3VuZCwgdG8gZW5zdXJlIHRoYXQgdGhlIFBo eXNpY2FsIExheWVyIHRyYWluaW5nCj4gPj4+PiBoYXMgYWxzbyBjb21wbGV0ZWQsIGluIGFkZGl0 aW9uIHRvIHRoZSBEYXRhIExpbmsgaW5pdGlhbGl6YXRpb24uCj4gPj4+Pgo+ID4+Pgo+ID4+PiBj ZG5zX3BjaWVfaG9zdF93YWl0X2Zvcl9saW5rKCkgZnVuY3Rpb24gaXMgY2FsbGVkIGV2ZW4gZm9y IHRoZSBub24tcXVpcmt5IGNhc2VzCj4gPj4+IGFzIHdlbGwsIHNvIGRvZXMgdGhpcyBwYXRjaC4g QnV0IGlmIHlvdXIgcGF0Y2ggaXMgb25seSB0YXJnZXRpbmcgdGhlIGxpbmsKPiA+Pj4gcmV0cmFp bmluZyBjYXNlLCB5b3Ugc2hvdWxkIG1vdmUgdGhlIGxvZ2ljIHRvIGNkbnNfcGNpZV9yZXRyYWlu KCkuCj4gPj4KPiA+PiBJbiB0aGUgdjIgdmVyc2lvbiBvZiB0aGlzIHBhdGNoIGF0Ogo+ID4+IGh0 dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMjAyMzAzMTUwNzA4MDAuMTYxNTUyNy0xLXMtdmFkYXBh bGxpQHRpLmNvbS8KPiA+PiBJIGhhZCBpbXBsZW1lbnRlZCBpdCBhcyBzdWdnZXN0ZWQgYWJvdmUg YnkgeW91LiBIb3dldmVyLCBiYXNlZCBvbiB0aGUgZGlzY3Vzc2lvbgo+ID4+IHdpdGggQmpvcm4g YXQ6Cj4gPj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8yMDIzMDUwOTE4MjQxNi5HQTEyNTk4 NDFAYmhlbGdhYXMvCj4gPj4gaXQgd2FzIGFncmVlZCB1cG9uIHRoYXQgd2FpdGluZyBmb3IgdHdv IHRoaW5ncyBpbiBzdWNjZXNzaW9uIGRvZXNuJ3Qgc2VlbSB0byBiZQo+ID4+IHRoZSBiZXN0IHdh eSB0byBpbXBsZW1lbnQgaXQuIFRoZXJlZm9yZSwgdGhlIGNkbnNfcGNpZV9ob3N0X3RyYWluaW5n X2NvbXBsZXRlKCkKPiA+PiBmdW5jdGlvbiBpbiB0aGUgdjIgcGF0Y2ggaXMgbWVyZ2VkIGludG8g dGhlIGNkbnNfcGNpZV9ob3N0X3dhaXRfZm9yX2xpbmsoKQo+ID4+IGZ1bmN0aW9uIGluIHRoaXMg cGF0Y2guCj4gPj4KPiA+IAo+ID4gSSB0aGluayBCam9ybidzIHBvaW50IHdhcyB0byBtYWtlIHRo ZSB3YWl0X2Zvcl9saW5rKCkgYmVoYXZpb3Igc2FtZSBhY3Jvc3MKPiA+IGRyaXZlcnMuIFdoaWxl IEkgYWdyZWUgd2l0aCB0aGF0LCBJJ2QgbGlrZSB0byBrbm93IHdoZXRoZXIgYWRkaW5nIHRoaXMg d2FpdCBmb3IKPiA+IGFsbCBjYXNlcyAobm90IGp1c3QgZHVyaW5nIGxpbmsgcmV0cmFpbmluZyBx dWlyaykgYWRkcyB1cCBhbnkgbGF0ZW5jeSBvciBub3QuCj4gPiAKPiA+IENhbiB5b3UgbWVhc3Vy ZSB0aGF0Pwo+IAo+IEZvciBKNzIwMCBTb0Mgd2hpY2ggZG9lc24ndCBoYXZlIHRoZSBsaW5rIHJl dHJhaW5pbmcgcXVpcmsgc2V0LCBJIGFkZGVkIHByaW50cwo+IGJlZm9yZSBhbmQgYWZ0ZXIgdGhl IGV4YWN0IHNlY3Rpb24gb2YgbmV3bHkgYWRkZWQgY29kZSB3aXRoIHRoaXMgcGF0Y2guIFRoZQo+ IG91dHB1dCB3aXRoIHRpbWVzdGFtcHMgZm9yIHRoZSBjYXNlIHdoZXJlIG5vIEVQIGlzIGNvbm5l Y3RlZCB0byB0aGUgYm9hcmQgaXM6Cj4gWyAgICAxLjM1MDA2MV0gajcyMWUtcGNpZSAyOTEwMDAw LnBjaWU6IDwxPiBCZWZvcmUgbGluayB0cmFpbmluZyBjaGVjawo+IFsgICAgMS4zNTYzMjRdIGo3 MjFlLXBjaWUgMjkxMDAwMC5wY2llOiBMaW5rIHRyYWluaW5nIGNvbXBsZXRlCj4gWyAgICAxLjM2 MTg4M10gajcyMWUtcGNpZSAyOTEwMDAwLnBjaWU6IDwxPiBBZnRlciBsaW5rIHRyYWluaW5nIGNo ZWNrCj4gaW5kaWNhdGluZyBhIGxhdGVuY3kgb2YgYWJvdXQgMTIgbWlsbGlzZWNvbmRzLgo+IAo+ IE9uIHRoZSBvdGhlciBoYW5kLCB3aXRoIGFuIEVQIGRldmljZSBjb25uZWN0ZWQsIHRoZSBvdXRw dXQgaXM6Cj4gWyAgICAxLjM0OTgyMl0gajcyMWUtcGNpZSAyOTEwMDAwLnBjaWU6IDwxPiBCZWZv cmUgbGluayB0cmFpbmluZyBjaGVjawo+IFsgICAgMS4zNTYwODNdIGo3MjFlLXBjaWUgMjkxMDAw MC5wY2llOiBMaW5rIHRyYWluaW5nIGNvbXBsZXRlCj4gWyAgICAxLjM2MTY0MV0gajcyMWUtcGNp ZSAyOTEwMDAwLnBjaWU6IDwxPiBBZnRlciBsaW5rIHRyYWluaW5nIGNoZWNrCj4gYWdhaW4gaW5k aWNhdGluZyBhIGxhdGVuY3kgb2YgYWJvdXQgMTIgbWlsbGlzZWNvbmRzLgo+IAo+IEZvciB0aGUg SjcyMWUgU29DIHdoaWNoIGhhcyB0aGUgcXVpcmssIHdpdGhvdXQgYW4gRVAgZGV2aWNlIGNvbm5l Y3RlZCwgdGhlCj4gb3V0cHV0IGlzOgo+IFsgICAgMi42Njg5MjZdIGo3MjFlLXBjaWUgMjkxMDAw MC5wY2llOiA8MT4gQmVmb3JlIGxpbmsgdHJhaW5pbmcgY2hlY2sKPiBbICAgIDIuNjc1MTc4XSBq NzIxZS1wY2llIDI5MTAwMDAucGNpZTogTGluayB0cmFpbmluZyBjb21wbGV0ZQo+IFsgICAgMi42 ODA3MzRdIGo3MjFlLXBjaWUgMjkxMDAwMC5wY2llOiA8MT4gQWZ0ZXIgbGluayB0cmFpbmluZyBj aGVjawo+IHdpdGggdGhlIGxhdGVuY3kgYWdhaW4gYmVpbmcgYWJvdXQgMTIgbWlsbGlzZWNvbmRz Lgo+IAo+IE5vdywgd2l0aCB0aGUgRVAgZGV2aWNlIGNvbm5lY3RlZCB0byB0aGUgYm9hcmQgd2l0 aCBKNzIxZSBTb0MsIHRoZSBvdXRwdXQgZm9yCj4gdGhlIHRyYWluaW5nIHBoYXNlIGlzOgo+IFsg ICAgMi42ODUzMzVdIGo3MjFlLXBjaWUgMjkxMDAwMC5wY2llOiA8MT4gQmVmb3JlIGxpbmsgdHJh aW5pbmcgY2hlY2sKPiBbICAgIDIuNjkxNTkyXSBqNzIxZS1wY2llIDI5MTAwMDAucGNpZTogTGlu ayB0cmFpbmluZyBjb21wbGV0ZQo+IFsgICAgMi42OTcxNTBdIGo3MjFlLXBjaWUgMjkxMDAwMC5w Y2llOiA8MT4gQWZ0ZXIgbGluayB0cmFpbmluZyBjaGVjawo+IGFuZCBmb3IgdGhlIHJldHJhaW5p bmcgcGhhc2UgaXM6Cj4gWyAgICAyLjgwNzU4MV0gajcyMWUtcGNpZSAyOTEwMDAwLnBjaWU6IDwx PiBCZWZvcmUgbGluayB0cmFpbmluZyBjaGVjawo+IFsgICAgMi44MzE1NzhdIGo3MjFlLXBjaWUg MjkxMDAwMC5wY2llOiBMSU5LIERPV04hCj4gWyAgICAyLjgzMTkwNV0gajcyMWUtcGNpZSAyOTEw MDAwLnBjaWU6IExpbmsgdHJhaW5pbmcgY29tcGxldGUKPiBbICAgIDIuODQxNjUzXSBqNzIxZS1w Y2llIDI5MTAwMDAucGNpZTogPDE+IEFmdGVyIGxpbmsgdHJhaW5pbmcgY2hlY2sKPiBEdXJpbmcg dGhlIHRyYWluaW5nIHBoYXNlLCB0aGUgbGF0ZW5jeSBhZ2FpbiBpcyBhYm91dCAxMiBtaWxsaXNl Y29uZHMsIHdoaWxlCj4gZHVyaW5nIHRoZSByZXRyYWluaW5nIHBoYXNlLCB0aGUgbGF0ZW5jeSBp cyBhYm91dCAzNCBtaWxsaXNlY29uZHMuCj4gCj4gTm90ZSwgdGhlIGFib3ZlIGxhdGVuY3kgaXMg bWVhc3VyZWQgZm9yIHRoZSBOb24tUlQgTGludXgga2VybmVsLCB3aXRoIHRoZQo+IGFzc3VtcHRp b24gdGhhdCB0aGUgbGF0ZW5jeSB3aWxsIGJlIGxvd2VyIGZvciB0aGUgUlQgTGludXgga2VybmVs Lgo+IAo+IEkgc3VwcG9zZSB0aGlzIGluZGljYXRlcyBhIGxhdGVuY3kgb2YgYWJvdXQgMTIgbWls bGlzZWNvbmRzIGZvciB0aGUgUENJZQo+IGNvbnRyb2xsZXJzIHdpdGhvdXQgdGhlIEdlbjIgTGlu ayBSZXRyYWluaW5nIHF1aXJrLCB3aGlsZSBmb3IgdGhlIFBDSWUKPiBjb250cm9sbGVyIHdpdGgg dGhlIEdlbjIgTGluayBSZXRyYWluaW5nIHF1aXJrLCBpdCBpcyBhIG5ldCBsYXRlbmN5IG9mIDEy KzM0Cj4gbWlsbGlzZWNvbmRzID0gNDYgbWlsbGlzZWNvbmRzIGZvciB0aGUgdHJhaW5pbmcgYW5k IHJldHJhaW5pbmcgcGhhc2VzLgo+IAoKVGhhbmtzIGZvciB0aGUgZGV0YWlsZWQgbWVhc3VyZW1l bnQuIFNvIHRoZSBsYXRlbmN5IG9mIDEybXMgZm9yIG5vbi1xdWlya3kKZGV2aWNlcyBzZWVtcyBm aW5lIHRvIG1lLCB1bmxlc3Mgc29tZW9uZSByZWFsbHkgY2FyZXMgYWJvdXQgb3B0aW1pemluZyBi b290CnRpbWUuCgotIE1hbmkKCj4gPiAKPiA+Pj4KPiA+Pj4KPiA+Pj4+IEZpeGVzOiA0NzQwYjk2 OWFhZjUgKCJQQ0k6IGNhZGVuY2U6IFJldHJhaW4gTGluayB0byB3b3JrIGFyb3VuZCBHZW4yIHRy YWluaW5nIGRlZmVjdCIpCj4gPj4+PiBTaWduZWQtb2ZmLWJ5OiBTaWRkaGFydGggVmFkYXBhbGxp IDxzLXZhZGFwYWxsaUB0aS5jb20+Cj4gPj4+PiBSZXZpZXdlZC1ieTogVmlnbmVzaCBSYWdoYXZl bmRyYSA8dmlnbmVzaHJAdGkuY29tPgo+ID4+Pj4gLS0tCj4gPj4+Pgo+ID4+Pj4gSGVsbG8sCj4g Pj4+Pgo+ID4+Pj4gVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiBsaW51eC1uZXh0IHRhZ2dlZCBuZXh0 LTIwMjMwNjA2Lgo+ID4+Pj4KPiA+Pj4+IHYyOgo+ID4+Pj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvci8yMDIzMDMxNTA3MDgwMC4xNjE1NTI3LTEtcy12YWRhcGFsbGlAdGkuY29tLwo+ID4+Pj4g Q2hhbmdlcyBzaW5jZSB2MjoKPiA+Pj4+IC0gTWVyZ2UgdGhlIGNkbnNfcGNpZV9ob3N0X3RyYWlu aW5nX2NvbXBsZXRlKCkgZnVuY3Rpb24gd2l0aCB0aGUKPiA+Pj4+ICAgY2Ruc19wY2llX2hvc3Rf d2FpdF9mb3JfbGluaygpIGZ1bmN0aW9uLCBhcyBzdWdnZXN0ZWQgYnkgQmpvcm4KPiA+Pj4+ICAg Zm9yIHRoZSB2MiBwYXRjaC4KPiA+Pj4+IC0gQWRkIGRldl9lcnIoKSB0byBub3RpZnkgd2hlbiBM aW5rIFRyYWluaW5nIGZhaWxzLCBzaW5jZSB0aGlzIGlzIGEKPiA+Pj4+ICAgZmF0YWwgZXJyb3Ig YW5kIHByb2NlZWRpbmcgZnJvbSB0aGlzIHBvaW50IHdpbGwgYWxtb3N0IGFsd2F5cyBjcmFzaAo+ ID4+Pj4gICB0aGUga2VybmVsLgo+ID4+Pj4KPiA+Pj4+IHYxOgo+ID4+Pj4gaHR0cHM6Ly9sb3Jl Lmtlcm5lbC5vcmcvci8yMDIzMDEwMjA3NTY1Ni4yNjAzMzMtMS1zLXZhZGFwYWxsaUB0aS5jb20v Cj4gPj4+PiBDaGFuZ2VzIHNpbmNlIHYxOgo+ID4+Pj4gLSBDb2xsZWN0IFJldmlld2VkLWJ5IHRh ZyBmcm9tIFZpZ25lc2ggUmFnaGF2ZW5kcmEuCj4gPj4+PiAtIFJlYmFzZSBvbiBuZXh0LTIwMjMw MzE1Lgo+ID4+Pj4KPiA+Pj4+IFJlZ2FyZHMsCj4gPj4+PiBTaWRkaGFydGguCj4gPj4+Pgo+ID4+ Pj4gIC4uLi9jb250cm9sbGVyL2NhZGVuY2UvcGNpZS1jYWRlbmNlLWhvc3QuYyAgICB8IDIwICsr KysrKysrKysrKysrKysrKysKPiA+Pj4+ICAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygr KQo+ID4+Pj4KPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2NhZGVu Y2UvcGNpZS1jYWRlbmNlLWhvc3QuYyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvY2FkZW5jZS9w Y2llLWNhZGVuY2UtaG9zdC5jCj4gPj4+PiBpbmRleCA5NDBjN2RkNzAxZDYuLjcwYTVmNTgxZmY0 ZiAxMDA2NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvY2FkZW5jZS9wY2ll LWNhZGVuY2UtaG9zdC5jCj4gPj4+PiArKysgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2NhZGVu Y2UvcGNpZS1jYWRlbmNlLWhvc3QuYwo+ID4+Pj4gQEAgLTEyLDYgKzEyLDggQEAKPiA+Pj4+ICAK PiA+Pj4+ICAjaW5jbHVkZSAicGNpZS1jYWRlbmNlLmgiCj4gPj4+PiAgCj4gPj4+PiArI2RlZmlu ZSBMSU5LX1JFVFJBSU5fVElNRU9VVCBIWgo+ID4+Pj4gKwo+ID4+Pj4gIHN0YXRpYyB1NjQgYmFy X21heF9zaXplW10gPSB7Cj4gPj4+PiAgCVtSUF9CQVIwXSA9IF9VTEwoMTI4ICogU1pfMkcpLAo+ ID4+Pj4gIAlbUlBfQkFSMV0gPSBTWl8yRywKPiA+Pj4+IEBAIC04MCw4ICs4MiwyNiBAQCBzdGF0 aWMgc3RydWN0IHBjaV9vcHMgY2Ruc19wY2llX2hvc3Rfb3BzID0gewo+ID4+Pj4gIHN0YXRpYyBp bnQgY2Ruc19wY2llX2hvc3Rfd2FpdF9mb3JfbGluayhzdHJ1Y3QgY2Ruc19wY2llICpwY2llKQo+ ID4+Pj4gIHsKPiA+Pj4+ICAJc3RydWN0IGRldmljZSAqZGV2ID0gcGNpZS0+ZGV2Owo+ID4+Pj4g Kwl1bnNpZ25lZCBsb25nIGVuZF9qaWZmaWVzOwo+ID4+Pj4gKwl1MTYgbGlua19zdGF0dXM7Cj4g Pj4+PiAgCWludCByZXRyaWVzOwo+ID4+Pj4gIAo+ID4+Pj4gKwkvKiBXYWl0IGZvciBsaW5rIHRy YWluaW5nIHRvIGNvbXBsZXRlICovCj4gPj4+PiArCWVuZF9qaWZmaWVzID0gamlmZmllcyArIExJ TktfUkVUUkFJTl9USU1FT1VUOwo+ID4+Pj4gKwlkbyB7Cj4gPj4+PiArCQlsaW5rX3N0YXR1cyA9 IGNkbnNfcGNpZV9ycF9yZWFkdyhwY2llLCBDRE5TX1BDSUVfUlBfQ0FQX09GRlNFVCArIFBDSV9F WFBfTE5LU1RBKTsKPiA+Pj4+ICsJCWlmICghKGxpbmtfc3RhdHVzICYgUENJX0VYUF9MTktTVEFf TFQpKQo+ID4+Pj4gKwkJCWJyZWFrOwo+ID4+Pj4gKwkJdXNsZWVwX3JhbmdlKDAsIDEwMDApOwo+ ID4+Pj4gKwl9IHdoaWxlICh0aW1lX2JlZm9yZShqaWZmaWVzLCBlbmRfamlmZmllcykpOwo+ID4+ Pj4gKwo+ID4+Pj4gKwlpZiAoIShsaW5rX3N0YXR1cyAmIFBDSV9FWFBfTE5LU1RBX0xUKSkgewo+ ID4+Pj4gKwkJZGV2X2luZm8oZGV2LCAiTGluayB0cmFpbmluZyBjb21wbGV0ZVxuIik7Cj4gPj4+ Cj4gPj4+IFRoaXMgaW5mbyBpcyBub3QgbmVlZGVkLgo+ID4+Cj4gPj4gU3VyZS4gSSB3aWxsIGRy b3AgaXQgaW4gdGhlIHY0IHBhdGNoLgo+ID4+Cj4gPj4+Cj4gPj4+PiArCX0gZWxzZSB7Cj4gPj4+ PiArCQlkZXZfZXJyKGRldiwgIkZhdGFsISBMaW5rIHRyYWluaW5nIGluY29tcGxldGVcbiIpOwo+ ID4+Pgo+ID4+PiBUaGlzIGNvdWxkIGJlLCAiTGluayByZXRyYWluaW5nIGluY29tcGxldGUiLgo+ ID4+Cj4gPj4gSSBhZGRlZCB0aGUgd29yZCAiRmF0YWwiIHNpbmNlIExpbnV4IGlzIGFsbW9zdCBh bHdheXMgZ3VhcmFudGVlZCB0byBjcmFzaCBpZiB0aGUKPiA+PiBsaW5rIHRyYWluaW5nIGRvZXNu J3QgY29tcGxldGUgYmVmb3JlIHRoZSBQQ0kgc3Vic3lzdGVtIGF0dGVtcHRzIHRvIGVudW1lcmF0 ZQo+ID4+IHRoZSBFUCBkZXZpY2VzLiBUaGVyZWZvcmUsIGFkZGluZyB0aGUgd29yZCAiRmF0YWwi IHdpbGwgaGVscCB0aGUgdXNlcnMgaWRlbnRpZnkKPiA+PiB3aGF0IHRoZSBjYXVzZSBvZiB0aGUg Y3Jhc2ggaXMsIHdoaWNoIHdvdWxkIG90aGVyd2lzZSBiZSBvdmVybG9va2VkLCB1bmxlc3MgdGhl Cj4gPj4gY3JpdGljYWwgbmF0dXJlIG9mIHRoaXMgZXJyb3IgaXMgY29udmV5ZWQgdG8gdGhlIHVz ZXIuCj4gPj4KPiA+IAo+ID4gT2suCj4gPiAKPiA+IC0gTWFuaQo+ID4gCj4gPj4+Cj4gPj4+IC0g TWFuaQo+ID4+Pgo+ID4+Pj4gKwkJcmV0dXJuIC1FVElNRURPVVQ7Cj4gPj4+PiArCX0KPiA+Pj4+ ICsKPiA+Pj4+ICAJLyogQ2hlY2sgaWYgdGhlIGxpbmsgaXMgdXAgb3Igbm90ICovCj4gPj4+PiAg CWZvciAocmV0cmllcyA9IDA7IHJldHJpZXMgPCBMSU5LX1dBSVRfTUFYX1JFVFJJRVM7IHJldHJp ZXMrKykgewo+ID4+Pj4gIAkJaWYgKGNkbnNfcGNpZV9saW5rX3VwKHBjaWUpKSB7Cj4gPj4+PiAt LSAKPiA+Pj4+IDIuMjUuMQo+ID4+Pj4KPiA+Pj4KPiA+Pgo+ID4+IC0tIAo+ID4+IFJlZ2FyZHMs Cj4gPj4gU2lkZGhhcnRoLgo+ID4gCj4gCj4gLS0gCj4gUmVnYXJkcywKPiBTaWRkaGFydGguCgot LSAK4K6u4K6j4K6/4K614K6j4K+N4K6j4K6p4K+NIOCumuCupOCuvuCumuCuv+CuteCuruCvjQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJt LWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtl cm5lbAo=