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=-5.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no 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 ADD4FC2B9F4 for ; Tue, 22 Jun 2021 22:25:18 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 792BF60FF1 for ; Tue, 22 Jun 2021 22:25:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 792BF60FF1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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=b6tJggnvDlT8psdEU/piFmfzm81ZdlAUwu78LnM7hxo=; b=DhsTkl1fantOzX bOuuu7SzIrQl0+A5wmSPJ71+zsN8JYISMpw2qyfSO2vA497u2jqc8pz2O8wGtiPBbquzH6Im+wFS8 0mH/jwq0tog36qZfQuS0lAMc/Rfwj1MXJbc7M2RiPdg5FVq9+NlGHS4TnMCE2quZCoBYmh6B5VeEN 9uBX7CSRCjG0nbQOy4Tq38HMGUrb0anlSDvxvzDLnp173qKfnBPEtNMv3Caw/2Y0Qy5HriYCBMq6c fEYuWMZUq9exkh3a+POVpAcRooKp5Apr/WiTuqZ26tS2dnObi8BMBPGD6hv7YcjtRYpN5TbaxP1NA ZagXP4QcAG2SOrVqYJJA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lvonw-008bmK-ON; Tue, 22 Jun 2021 22:23:36 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lvonr-008blS-Rh for linux-arm-kernel@lists.infradead.org; Tue, 22 Jun 2021 22:23:33 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3429E60FF1; Tue, 22 Jun 2021 22:23:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1624400611; bh=iqnw0H7/UtpoNSuitDlm9IHI3TDZqcMqMbO9123dzWQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=pa7scjEPYzKwbh7np3cUhrvPriM37WrzN11qm2Srew1d7KnnsCWgA4hdD5GVb3DgQ KfOEqLnt7urnwUkHkCuKnV5i8PxhFlbzmwGGV+Nddp+4hYLfiQtnL5LXA2ecMnQ07b Z/dgTFgXACjbfs2NQuemNiAVks2UQSj7Y7u04AuuQilaeL4Dw6EjeQRcIFwGdCVXmw WY6R+3K3KG1d/y0+S2v/Z5cN+/sGDMQQruTAUVjbizNv9vDWMDILPLrCTYBVakCfK5 JPshTG1s45nYuu1gtd+e2ty49bkwUoiWSNR4D1X6sib9X1PHlREDxUgyIKxtIIgQnJ Zwwh7zGuG6W9g== Received: by pali.im (Postfix) id C1726CBA; Wed, 23 Jun 2021 00:23:28 +0200 (CEST) Date: Wed, 23 Jun 2021 00:23:28 +0200 From: Pali =?utf-8?B?Um9ow6Fy?= To: Luca Ceresoli Cc: Kishon Vijay Abraham I , Lorenzo Pieralisi , linus.walleij@linaro.org, linux-pci@vger.kernel.org, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Rob Herring , Bjorn Helgaas Subject: Re: [PATCH v2] PCI: dra7xx: Fix reset behaviour Message-ID: <20210622222328.3lfgkrhsdy6izedv@pali> References: <8207a53c-4de9-d0e5-295a-c165e7237e36@lucaceresoli.net> <20210622110627.aqzxxtf2j3uxfeyl@pali> <20210622115604.GA25503@lpieralisi> <20210622121649.ouiaecdvwutgdyy5@pali> <18a104a9-2cb8-7535-a5b2-f5f049adff47@lucaceresoli.net> <4d4c0d4d-41b4-4756-5189-bffa15f88406@ti.com> <20210622205220.ypu22tuxhpdn2jwz@pali> <2873969e-ac56-a41f-0cc9-38e387542aa1@lucaceresoli.net> <20210622211901.ikulpy32d6qlr4yw@pali> <588741e4-b085-8ae2-3311-27037c040a57@lucaceresoli.net> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <588741e4-b085-8ae2-3311-27037c040a57@lucaceresoli.net> User-Agent: NeoMutt/20180716 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210622_152331_998766_518A3CC1 X-CRM114-Status: GOOD ( 50.44 ) 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 T24gVHVlc2RheSAyMiBKdW5lIDIwMjEgMjM6MzY6MzUgTHVjYSBDZXJlc29saSB3cm90ZToKPiBI aSBQYWxpLAo+IAo+IE9uIDIyLzA2LzIxIDIzOjE5LCBQYWxpIFJvaMOhciB3cm90ZToKPiA+IE9u IFR1ZXNkYXkgMjIgSnVuZSAyMDIxIDIzOjA4OjA3IEx1Y2EgQ2VyZXNvbGkgd3JvdGU6Cj4gPj4g T24gMjIvMDYvMjEgMjI6NTIsIFBhbGkgUm9ow6FyIHdyb3RlOgo+ID4+PiBPbiBUdWVzZGF5IDIy IEp1bmUgMjAyMSAxOToyNzozNyBLaXNob24gVmlqYXkgQWJyYWhhbSBJIHdyb3RlOgo+ID4+Pj4g SGkgTHVjYSwgUGFsaSwKPiA+Pj4+Cj4gPj4+PiBPbiAyMi8wNi8yMSA3OjAxIHBtLCBMdWNhIENl cmVzb2xpIHdyb3RlOgo+ID4+Pj4+IEhpLAo+ID4+Pj4+Cj4gPj4+Pj4gT24gMjIvMDYvMjEgMTQ6 MTYsIFBhbGkgUm9ow6FyIHdyb3RlOgo+ID4+Pj4+PiBPbiBUdWVzZGF5IDIyIEp1bmUgMjAyMSAx Mjo1NjowNCBMb3JlbnpvIFBpZXJhbGlzaSB3cm90ZToKPiA+Pj4+Pj4+IFtBZGRpbmcgTGludXMg Zm9yIEdQSU8gZGlzY3Vzc2lvbiwgdGhyZWFkOgo+ID4+Pj4+Pj4gaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvbGludXgtcGNpLzIwMjEwNTMxMDkwNTQwLjI2NjMxNzEtMS1sdWNhQGx1Y2FjZXJlc29s aS5uZXRdCj4gPj4+Pj4+Pgo+ID4+Pj4+Pj4gT24gVHVlLCBKdW4gMjIsIDIwMjEgYXQgMDE6MDY6 MjdQTSArMDIwMCwgUGFsaSBSb2jDoXIgd3JvdGU6Cj4gPj4+Pj4+Pj4gSGVsbG8hCj4gPj4+Pj4+ Pj4KPiA+Pj4+Pj4+PiBPbiBUdWVzZGF5IDIyIEp1bmUgMjAyMSAxMjo1NzoyMiBMdWNhIENlcmVz b2xpIHdyb3RlOgo+ID4+Pj4+Pj4+PiBOb3RoaW5nIGhhcHBlbmVkIGFmdGVyIGEgZmV3IHdlZWtz Li4uIEkgdW5kZXJzdGFuZCB0aGF0IGtub3dpbmcgdGhlCj4gPj4+Pj4+Pj4+IGNvcnJlY3QgcmVz ZXQgdGltaW5ncyBpcyByZWxldmFudCwgYnV0IHVuZm9ydHVuYXRlbHkgSSBjYW5ub3QgaGVscCBt dWNoCj4gPj4+Pj4+Pj4+IGluIGZpbmRpbmcgb3V0IHRoZSBjb3JyZWN0IHZhbHVlcy4KPiA+Pj4+ Pj4+Pj4KPiA+Pj4+Pj4+Pj4gSG93ZXZlciBJJ20gd29uZGVyaW5nIHdoYXQgc2hvdWxkIGhhcHBl biB0byB0aGlzIHBhdGNoLiBJdCAqZG9lcyogZml4IGEKPiA+Pj4+Pj4+Pj4gcmVhbCBidWcsIGJ1 dCBwb3RlbnRpYWxseSB3aXRoIGFuIGluY29ycmVjdCBvciBub24tb3B0aW1hbCB1c2xlZXAgcmFu Z2UuCj4gPj4+Pj4+Pj4+IERvIHdlIHJlYWxseSB3YW50IHRvIGlnbm9yZSBhIGJ1Z2ZpeCBiZWNh dXNlIHdlIGFyZSBub3Qgc3VyZSBhYm91dCBob3cKPiA+Pj4+Pj4+Pj4gbG9uZyB0aGlzIGRlbGF5 IHNob3VsZCBiZT8KPiA+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+IEFzIHRoZXJlIGlzIG5vIGJldHRlciBz b2x1dGlvbiByaWdodCBub3csIEknbSBmaW5lIHdpdGggeW91ciBwYXRjaC4gQnV0Cj4gPj4+Pj4+ Pj4gcGF0Y2ggbmVlZHMgdG8gYmUgYXBwcm92ZWQgYnkgTG9yZW56bywgc28gcGxlYXNlIHdhaXQg Zm9yIGhpcyBmaW5hbAo+ID4+Pj4+Pj4+IGFuc3dlci4KPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBJIGFt IG5vdCBhIEdQSU8gZXhwZXJ0IGFuZCBJIGhhdmUgYSBmZWVsaW5nIHRoaXMgaXMgcGxhdGZvcm0g c3BlY2lmaWMKPiA+Pj4+Pj4+IGJleW9uZCB3aGF0IHRoZSBQQ0kgc3BlY2lmaWNhdGlvbiBjYW4g YWN0dWFsbHkgZGVmaW5lIGFyY2hpdGVjdHVyYWxseS4KPiA+Pj4+Pj4KPiA+Pj4+Pj4gSW4gbXkg b3BpbmlvbiB0aW1lb3V0IGlzIG5vdCBwbGF0Zm9ybSBzcGVjaWZpYyBhcyBJIHdyb3RlIGluIGVt YWlsOgo+ID4+Pj4+PiBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1wY2kvMjAyMTAzMTAx MTA1MzUuemg0cG5uNHZwbXZ6d2w1cUBwYWxpLwo+ID4+Pj4+Pgo+ID4+Pj4+PiBNeSBleHBlcmlt ZW50cyBhbHJlYWR5IHByb3ZlZCB0aGF0IHNvbWUgUENJZSBjYXJkcyBuZWVkcyB0byBiZSBpbiBy ZXNldAo+ID4+Pj4+PiBzdGF0ZSBmb3Igc29tZSBtaW5pbWFsIHRpbWUgb3RoZXJ3aXNlIHRoZXkg Y2Fubm90IGJlIGVudW1lcmF0ZWQuIEFuZCBpdAo+ID4+Pj4+PiBkb2VzIG5vdCBtYXR0ZXIgdG8g d2hpY2ggcGxhdGZvcm0geW91IGNvbm5lY3QgdGhvc2UgKGVuZHBvaW50KSBjYXJkcy4KPiA+Pj4+ Pj4KPiA+Pj4+Pj4gSSBkbyBub3QgdGhpbmsgdGhhdCB0aW1lb3V0IGl0c2VsZiBpcyBwbGF0Zm9y bSBzcGVjaWZpYy4gR1BJTyBjb250cm9scwo+ID4+Pj4+PiBQRVJTVCMgcGluIGFuZCB0aGVyZWZv cmUgc3BlY2lmaWVkIHNsZWVwIHZhbHVlIGRpcmVjdGx5IGRyaXZlcyBob3cgbG9uZwo+ID4+Pj4+ PiBpcyBjYXJkIG9uIHRoZSBvdGhlciBlbmQgb2YgUENJZSBzbG90IGluIFdhcm0gUmVzZXQgc3Rh dGUuIFBDSWUgQ0VNIHNwZWMKPiA+Pj4+Pj4gZGlyZWN0bHkgc2F5cyB0aGF0IFBFUlNUIyBzaWdu YWwgY29udHJvbHMgUENJZSBXYXJtIFJlc2V0Lgo+ID4+Pj4+Pgo+ID4+Pj4+PiBXaGF0IGlzIGhl cmUgcGxhdGZvcm0gc3BlY2lmaWMgdGhpbmcgaXMgdGhhdCBQRVJTVCMgc2lnbmFsIGlzIGNvbnRy b2xsZWQKPiA+Pj4+Pj4gYnkgR1BJTy4gQnV0IHZhbHVlIG9mIHNpZ25hbCAoaGlnaCAvIGxvdykg YW5kIGhvdyBsb25nIGlzIGluIHNpZ25hbCBpbgo+ID4+Pj4+PiB3aGljaCBzdGF0ZSBmb3IgbWUg c291bmRzIGxpa2Ugbm90IGFuIHBsYXRmb3JtIHNwZWNpZmljIHRoaW5nLCBidXQgYXMKPiA+Pj4+ Pj4gUENJZSAvIENFTSByZWxhdGVkLgo+ID4+Pj4+Cj4gPj4+Pj4gVGhhdCdzIGV4YWN0bHkgbXkg dW5kZXJzdGFuZGluZyBvZiB0aGlzIG1hdHRlci4gQXQgbGVhc3QgZm9yIHRoZSBkcmE3eHgKPiA+ Pj4+PiBjb250cm9sbGVyIGl0IHdvcmtzIGV4YWN0bHkgbGlrZSB0aGlzLCBQRVJTVG4jIGlzIG5v dGhpbmcgYnV0IGEgR1BJTwo+ID4+Pj4+IG91dHB1dCBmcm9tIHRoZSBTb0MgdGhhdCBkcml2ZXMg dGhlIFBFUlNUbiMgaW5wdXQgb2YgdGhlIGV4dGVybmFsIGNoaXAKPiA+Pj4+PiB3aXRob3V0IGFm ZmVjdGluZyB0aGUgY29udHJvbGxlciBkaXJlY3RseS4KPiA+Pj4+Pgo+ID4+Pj4KPiA+Pj4+IFdo aWxlIHRoZSBwYXRjaCBpdHNlbGYgaXMgY29ycmVjdCwgdGhpcyBraW5kLW9mIGNoYW5nZXMgdGhl IGJlaGF2aW9yIG9uCj4gPj4+PiBhbHJlYWR5IHVwc3RyZWFtZWQgcGxhdGZvcm1zLiBQcmV2aW91 c2x5IHRoZSBkcml2ZXIgZXhwZWN0ZWQgI1BFUlNUIHRvCj4gPj4+PiBiZSBhc3NlcnRlZCBiZSBl eHRlcm5hbCBtZWFucyAob3IgZGVmYXVsdCBwb3dlci11cCBzdGF0ZSkgYW5kIG9ubHkgdGFrZXMK PiA+Pj4+IGNhcmUgb2YgZGUtYXNzZXJ0aW5nIHRoZSAjUEVSU1QgbGluZS4KPiA+Pj4+Cj4gPj4+ PiBUaGVyZSBhcmUgMiBwbGF0Zm9ybXMgdGhhdCB3aWxsIGJlIGltcGFjdGVkIGR1ZSB0byB0aGlz IGNoYW5nZQo+ID4+Pj4gMSkgYXJjaC9hcm0vYm9vdC9kdHMvYW01N3h4LWJlYWdsZS14MTUtY29t bW9uLmR0c2kgKGhhcyBhbiBpbnZlcnRlciBvbgo+ID4+Pj4gR1BJTyBsaW5lKQo+ID4+Pj4gMikg YXJjaC9hcm0vYm9vdC9kdHMvYW01NzF4LWlkay5kdHMgKGRpcmVjdGx5IGNvbm5lY3RlZCB0byAj UEVSU1QpCj4gPj4+Pgo+ID4+Pj4gRm9yIDEpLCBncGlvZF9zZXRfdmFsdWUocmVzZXQsIDApIHdp bGwgYXNzZXJ0IHRoZSBQRVJTVCBsaW5lIGR1ZSB0byB0aGUKPiA+Pj4+IGludmVydGVyIChhbmQg R1BJT19BQ1RJVkVfTE9XKQo+ID4+Pj4gRm9yIDIpLCBncGlvZF9zZXRfdmFsdWUocmVzZXQsIDAp IHdpbGwgYXNzZXJ0IHRoZSBQRVJTVCBsaW5lIGJlY2F1c2Ugd2UKPiA+Pj4+IGhhdmUgR1BJT19B Q1RJVkVfSElHSAo+ID4+Pgo+ID4+PiBPdSEgVGhpcyBpcyBhIHByb2JsZW0gaW4gRFQuIEl0IG5l ZWRzIHRvIGJlIGRlZmluZWQgaW4gYSB3YXkgdGhhdCBzdGF0ZQo+ID4+PiBpcyBzYW1lIGZvciBl dmVyeSBEVFMgZGV2aWNlIHdoaWNoIHVzZXMgdGhpcyBkcml2ZXIuCj4gPj4KPiA+PiBXaHk/Cj4g PiAKPiA+IEknbSBzdGFydGluZyB0byBiZSBjb25mdXNlZCBieSB0cmlwbGUgb3IgbW9yZSBuZWdh dGlvbnMgKGFzc2VydGluZywKPiA+IHNpZ25hbCBpbnZlcnRlciwgYWN0aXZlIGxvdykuLi4KPiA+ IAo+ID4gSW4geW91ciBwYXRjaCBpcyBHUElPIHNldCB2YWx1ZSB0byAwIGFuZCBLaXNob24gd3Jv dGUgdGhhdCBHUElPIHNldAo+ID4gdmFsdWUgdG8gMCBmb3IgdGhvc2UgdHdvIGJvYXJkcyBhc3Nl cnQgUEVSU1QjIGxpbmUuIEFzc2VydGluZyBQRVJTVCMKPiA+IGxpbmUgY2F1c2UgZW5kcG9pbnQg UENJZSBjYXJkIHRvIGJlIGluIHJlc2V0IHN0YXRlLiBBbmQgaW4gcGNpLWRyYTd4eC5jCj4gPiBk cml2ZXIgdGhlcmUgaXMgbm8gb3RoZXIgY29kZSB3aGljaCBkZS1hc3NlcnRzIFBFUlNUIyBsaW5l Lgo+ID4gCj4gPiBTbyBiYXNlZCBvbiBhbGwgdGhpcyBpbmZvcm1hdGlvbiBJIGRlZHVjZWQgdGhh dCB5b3VyIHBhdGNoIHdpbGwgY2F1c2UKPiA+IHB1dHRpbmcgUENJZSBjYXJkcyBpbnRvIHJlc2V0 IHN0YXRlIChmb3JldmVyKSBhbmQgdGhlcmVmb3JlIHRoZXkgd291bGQKPiA+IG5vdCB3b3JrLgo+ ID4gCj4gPiBPciBkbyBJIGhhdmUgaGVyZSBzb21lIG1pc3Rha2U/Cj4gCj4gVWhtLCBhdCB0aW1l IHRpbWUgaW4gdGhlIG5pZ2h0IEknbSBub3Qgc3VyZSBJIGNhbiBkbyBtdWNoIG1vcmUgdGhhbgo+ IGFkZGluZyBhIGZldyBub3RlcyBvbiB0b3Agb2YgdGhlIGNvbW1pdCBtZXNzYWdlLiBJIGhvcGUg aXQgaGVscHMgYW55d2F5Lgo+IAo+IFRoZSBQQ0llIFBFUlNUbiByZXNldCBwaW4gaXMgYWN0aXZl IGxvdyBhbmQgc2hvdWxkIGJlIGFzc2VydGVkLCB0aGVuCj4gZGVhc3NlcnRlZC4KPiAKPiBUaGUg Y3VycmVudCBpbXBsZW1lbnRhdGlvbiBvbmx5IGRyaXZlcyB0aGUgcGluIG9uY2UgaW4gIkhJR0gi IHBvc2l0aW9uLAo+IHRodXMgcHJlc3VtYWJseSBpdCB3YXMgaW50ZW5kZWQgdG8gZGVhc3NlcnQg dGhlIHBpbi4gVGhpcyBoYXMgdHdvIHByb2JsZW1zOgo+IAo+ICAgMSkgaXQgYXNzdW1lcyB0aGUg cGluIHdhcyBhc3NlcnRlZCBieSBvdGhlciBtZWFucyBiZWZvcmUgbG9hZGluZyB0aGUKPiAgICAg IGRyaXZlciBbTm90ZTogS2lzaG9uIGNvbmZpcm1lZCBzbyBmYXJdCgpUaGlzIGlzIGVhc2lseSBz b2x2YWJsZS4gSnVzdCBhc3NlcnQgUEVSU1QjIHBpbiBleHBsaWNpdGx5IHZpYQpncGlvZF9zZXRf dmFsdWUoKSBjYWxsIHByaW9yIGNhbGxpbmcgdGhhdCBzbGVlcCBmdW5jdGlvbi4gQW5kIGl0IHdv dWxkCndvcmsgd2hhdGV2ZXIgc3RhdGUgdGhhdCBwaW4gaGFzIGF0IGluaXQgdGltZS4gVGhpcyBo YXMgYWR2YW50YWdlIHRoYXQKcmVhZGVyIG9mIHRoYXQgY29kZSBkb2VzIG5vdCBuZWVkIHRvIGRv IHRvbyBtdWNoIGludmVzdGlnYXRpb24gdG8gY2hlY2sKYXQgd2hpY2ggc3RhdGUgaXMgR1BJTyBh dCBwcm9iZSB0aW1lIGFuZCB3aGF0IGltcGxpY2F0aW9uIGl0IGhhcy4uLgoKU29tZSBvdGhlciBk cml2ZXIgYXJlIGRvaW5nIGl0IHRvbywgZS5nLiBwY2ktYWFyZHZhcmsuYy4KCkR1ZSB0byBmYWN0 IHRoYXQgYWxzbyBib290bG9hZGVyIG1heSB1c2UgUENJZSBidXMgKG1heWJlIG5vdCBub3csIGJ1 dCBpbgpmdXR1cmU7IGxpa2UgaXQgaGFwcGVuZWQgd2l0aCBwY2ktYWFyZHZhcmsgYWZ0ZXIgaW50 cm9kdWNpbmcgYm9vdApzdXBwb3J0IGZyb20gTlZNZSBkaXNrcyksIGluaXRpYWwgc3RhdGUgbWF5 IGNoYW5nZS4KCj4gICAyKSBpdCBoYXMgdGhlIHdyb25nIHBvbGFyaXR5LCBzaW5jZSAiSElHSCIg bWVhbnMgImFjdGl2ZSIsIGFuZCB0aGUgcGluIGlzCj4gICAgICBwcmVzdW1hYmx5IGNvbmZpZ3Vy ZWQgYXMgYWN0aXZlIGxvdyBjb2hlcmVudGx5IHdpdGggdGhlIFBDSWUKPiAgICAgIGNvbnZlbnRp b24sIHRodXMgaXQgaXMgZHJpdmVuIHBoeXNpY2FsbHkgdG8gMCwga2VlcGluZyB0aGUgZGV2aWNl Cj4gICAgICB1bmRlciByZXNldCB1bmxlc3MgdGhlIHBpbiBpcyBjb25maWd1cmVkIGFzIGFjdGl2 ZSBoaWdoLgo+ICAgICAgW05vdGU6IHRoZSBjdXJyZW4gMiBEVFMgZmlsZXMgcG9pbnRlZCB0byBi eSBLaXNob24gaGF2ZSBkaWZmZXJlbnQKPiAgICAgICBwb2xhcml0aWVzXQo+IAo+IEZpeCBib3Ro IHByb2JsZW1zIGJ5Ogo+IAo+ICAgMSkga2VlcGluZyBkZXZtX2dwaW9kX2dldF9vcHRpb25hbChk ZXYsIE5VTEwsIEdQSU9EX09VVF9ISUdIKSBhcyBpcywgYnV0Cj4gICAgICBhc3N1bWluZyB0aGUg cGluIGlzIGNvcnJlY3RseSBjb25maWd1cmVkIGFzICJhY3RpdmUgbG93IiB0aGlzIG5vdwo+ICAg ICAgYmVjb21lcyBhIHJlc2V0IGFzc2VydGlvbgo+ICAgMikgYWRkaW5nIGdwaW9kX3NldF92YWx1 ZShyZXNldCwgMCkgYWZ0ZXIgYSBkZWxheSB0byBkZWFzc2VydCByZXNldAo+IFtOb3RlOiB0aGlz IGlzIGV4YWN0bHkgdGhlIGN1cnJlbnQgaWRlYSwgYnV0IHdpdGggdGhlIGFkZGl0aW9uYWwgbmVl ZCB0bwo+IGZpeCAoPWludmVydCkgdGhlIGN1cnJlbnQgcG9sYXJpdGllcyBpbiBEVF0KCkxvcmVu em8gYXNrZWQgYSBnb29kIHF1ZXN0aW9uIGhvdyBHUElPIGRyaXZlcyBQRVJTVCMuIEFuZCBtYXli ZSBpdCB3b3VsZApiZSBhIGdvb2QgaWRlYSB0byB1bmlmeSBhbGwgcGNpIGNvbnRyb2xsZXIgZHJp dmVycyB0byB1c2Ugc2FtZSBHUElPCnZhbHVlIGZvciBhc3NlcnRpbmcgUEVSU1QjIHBpbi4gSWYg aXQgaXMgcG9zc2libGUuIEFzIHdlIGNhbiBzZWUgaXQgaXMgYQpiaWcgbWVzcy4KClBlcnNvbmFs bHkgSSB3b3VsZCBsaWtlIHRvIGEgc2VlIHR3byBoZWxwZXIgZnVuY3Rpb25zIGxpa2UKCiAgdm9p ZCBwY2llX2Fzc2VydF9wZXJzdChzdHJ1Y3QgZ3Bpb19kZXNjICpncGlvKTsKICB2b2lkIHBjaWVf ZGVhc3NlcnRfcGVyc3Qoc3RydWN0IGdwaW9fZGVzYyAqZ3Bpbyk7Cgp3aGljaCBwY2kgY29udHJv bGxlciBkcml2ZXIgd2lsbCB1c2UgYW5kIHdlIHdpbGwgbm90IG1vcmUgaGFuZGxlIGFjdGl2ZQpo aWdoIC8gbG93IHN0YXRlIG9yIHBvbGFyaXR5IGludmVyc2lvbiBhbmQgbWVkaXRhdGUgaWYgZ3Bp byBzZXQgdG8gemVybwptZWFucyBhc3NlcnQgb3IgZGUtYXNzZXJ0LgoKPiAKPiAtLSAKPiBMdWNh Cj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51 eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1h cm0ta2VybmVsCg==