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=-2.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS, USER_AGENT_MUTT 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 ECA4BC10F11 for ; Wed, 10 Apr 2019 11:35:10 +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 B9F8B2083E for ; Wed, 10 Apr 2019 11:35:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ZQVMadhb" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B9F8B2083E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-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.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject: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=BWb77XsBAwT8pguUloE9eLRuWNlT1lhlMuTffNPe1fk=; b=ZQVMadhbvV2EqN OSxUgLXZCfsAR8IVNLL81gg+JdU8XJadcwOe2qzM0QdvtKIquukYCy7Ntgl2dL8tAn8wlZhSBUfoQ fvZogoEUomJ6sVRWtgUoc+H0h9ErSM4+KQ944YyN8pVkjMhs/CQVI8mnxJF558O3B0mBvrsILBboJ Ak2dGBGcPSxbVlbuWxlr+ZoQ5z5MJ4+ry2EyANsSFYXbXjrzw0Pxp5z5FSCKPcBreyotfSk/kOchm 1y1S5QcaMCNlcDPqAav/mSo7hLNSgRoygoyOMYNUs0kBX7elwYYlNnpAFMn4CPtZqR/cqmX/ASWwW WbvKIYGCC+YXcv0QyZUg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hEBVV-0001m7-Vd; Wed, 10 Apr 2019 11:35:09 +0000 Received: from foss.arm.com ([217.140.101.70]) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hEBVS-0001My-9D for linux-arm-kernel@lists.infradead.org; Wed, 10 Apr 2019 11:35:07 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7529080D; Wed, 10 Apr 2019 04:35:04 -0700 (PDT) Received: from e110455-lin.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1CDF43F68F; Wed, 10 Apr 2019 04:35:04 -0700 (PDT) Received: by e110455-lin.cambridge.arm.com (Postfix, from userid 1000) id 73CED68240B; Wed, 10 Apr 2019 12:35:02 +0100 (BST) Date: Wed, 10 Apr 2019 12:35:02 +0100 From: Liviu Dudau To: Vidya Sagar Subject: Re: [PATCH 09/10] PCI: tegra: Add Tegra194 PCIe support Message-ID: <20190410113502.GD15144@e110455-lin.cambridge.arm.com> References: <20190402183110.GE141706@google.com> <20190403173641.GI141706@google.com> <6cc7e047-bc7e-fa60-88ba-0b69c3d5a3f0@nvidia.com> <20190405185842.GC26522@google.com> <40c97eaa-e37e-860e-111d-879a135d9f51@nvidia.com> <20190409132604.GA256045@google.com> <20190410081448.GC15144@e110455-lin.cambridge.arm.com> <31385c64-86b9-ebe3-99e3-6d156b66fb6a@nvidia.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <31385c64-86b9-ebe3-99e3-6d156b66fb6a@nvidia.com> User-Agent: Mutt/1.11.4 (2019-03-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190410_043506_342248_8D0C963C X-CRM114-Status: GOOD ( 51.00 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mark.rutland@arm.com, heiko@sntech.de, hayashi.kunihiko@socionext.com, tiwai@suse.de, catalin.marinas@arm.com, spujar@nvidia.com, will.deacon@arm.com, kthota@nvidia.com, mperttunen@nvidia.com, thierry.reding@gmail.com, jonathanh@nvidia.com, stefan.wahren@i2se.com, lorenzo.pieralisi@arm.com, krzk@kernel.org, kishon@ti.com, maxime.ripard@bootlin.com, Bjorn Helgaas , jagan@amarulasolutions.com, linux-pci@vger.kernel.org, andy.gross@linaro.org, shawn.lin@rock-chips.com, devicetree@vger.kernel.org, mmaddireddy@nvidia.com, marc.w.gonzalez@free.fr, yue.wang@amlogic.com, enric.balletbo@collabora.com, robh+dt@kernel.org, linux-tegra@vger.kernel.org, horms+renesas@verge.net.au, bjorn.andersson@linaro.org, ezequiel@collabora.com, linux-arm-kernel@lists.infradead.org, xiaowei.bao@nxp.com, gustavo.pimentel@synopsys.com, linux-kernel@vger.kernel.org, skomatineni@nvidia.com, jingoohan1@gmail.com, olof@lixom.net, tpiepho@impinj.com, l.stach@pengutronix.de Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gV2VkLCBBcHIgMTAsIDIwMTkgYXQgMDM6MjM6MzlQTSArMDUzMCwgVmlkeWEgU2FnYXIgd3Jv dGU6Cj4gT24gNC8xMC8yMDE5IDE6NDQgUE0sIExpdml1IER1ZGF1IHdyb3RlOgo+ID4gT24gV2Vk LCBBcHIgMTAsIDIwMTkgYXQgMTE6NDA6NDBBTSArMDUzMCwgVmlkeWEgU2FnYXIgd3JvdGU6Cj4g PiA+IE9uIDQvOS8yMDE5IDY6NTYgUE0sIEJqb3JuIEhlbGdhYXMgd3JvdGU6Cj4gPiA+ID4gT24g VHVlLCBBcHIgMDksIDIwMTkgYXQgMDU6MDA6NTNQTSArMDUzMCwgVmlkeWEgU2FnYXIgd3JvdGU6 Cj4gPiA+ID4gPiBPbiA0LzYvMjAxOSAxMjoyOCBBTSwgQmpvcm4gSGVsZ2FhcyB3cm90ZToKPiA+ ID4gPiA+ID4gT24gRnJpLCBBcHIgMDUsIDIwMTkgYXQgMDE6MjM6NTFBTSArMDUzMCwgVmlkeWEg U2FnYXIgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gT24gNC8zLzIwMTkgMTE6MDYgUE0sIEJqb3JuIEhl bGdhYXMgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiBPbiBXZWQsIEFwciAwMywgMjAxOSBhdCAwMzox MzowOVBNICswNTMwLCBWaWR5YSBTYWdhciB3cm90ZToKPiA+ID4gPiA+ID4gPiA+ID4gT24gNC8z LzIwMTkgMTI6MDEgQU0sIEJqb3JuIEhlbGdhYXMgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiA+ID4g T24gVHVlLCBBcHIgMDIsIDIwMTkgYXQgMTI6NDc6NDhQTSArMDUzMCwgVmlkeWEgU2FnYXIgd3Jv dGU6Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBPbiAzLzMwLzIwMTkgMjoyMiBBTSwgQmpvcm4gSGVs Z2FhcyB3cm90ZToKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gT24gVHVlLCBNYXIgMjYsIDIwMTkg YXQgMDg6NDM6MjZQTSArMDUzMCwgVmlkeWEgU2FnYXIgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gQWRkIHN1cHBvcnQgZm9yIFN5bm9wc3lzIERlc2lnbldhcmUgY29yZSBJUCBiYXNl ZCBQQ0llIGhvc3QgY29udHJvbGxlcgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHByZXNlbnQg aW4gVGVncmExOTQgU29DLgo+ID4gPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gPiA+ ICAgICAgICAtIFdoeSBkb2VzIHRoaXMgY2hpcCByZXF1aXJlIHBjaWVfcG1lX2Rpc2FibGVfbXNp KCk/ICBUaGUgb25seSBvdGhlcgo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgIHVzZSBpcyBh IERNSSBxdWlyayBmb3IgIk1TSSBXaW5kIFUtMTAwIiwgYWRkZWQgYnkgYzM5ZmFlMTQxNmQ1Cj4g PiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgKCJQQ0kgUE06IE1ha2UgaXQgcG9zc2libGUgdG8g Zm9yY2UgdXNpbmcgSU5UeCBmb3IgUENJZSBQTUUKPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAg ICBzaWduYWxpbmciKS4KPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IEJlY2F1 c2UgVGVncmExOTQgZG9lc24ndCBzdXBwb3J0IHJhaXNpbmcgUE1FIGludGVycnVwdHMgdGhyb3Vn aCBNU0kgbGluZS4KPiA+ID4gPiAKPiA+ID4gPiA+ID4gVGhlcmUncyBzb21ldGhpbmcgd3Jvbmcg aGVyZS4gIEVpdGhlciB0aGUgcXVlc3Rpb24gb2YgaG93IFBNRSBpcwo+ID4gPiA+ID4gPiBzaWdu YWxlZCBpcyBnZW5lcmljIGFuZCB0aGUgc3BlYyBwcm92aWRlcyBhIHdheSBmb3IgdGhlIE9TIHRv IGRpc2NvdmVyCj4gPiA+ID4gPiA+IHRoYXQgbWV0aG9kLCBvciBpdCdzIHBhcnQgb2YgdGhlIGRl dmljZS1zcGVjaWZpYyBhcmNoaXRlY3R1cmUgdGhhdAo+ID4gPiA+ID4gPiBlYWNoIGhvc3QgYnJp ZGdlIGRyaXZlciBoYXMgdG8ga25vdyBhYm91dCBpdHMgZGV2aWNlLiAgSWYgdGhlIGZvcm1lciwK PiA+ID4gPiA+ID4gd2UgbmVlZCB0byBtYWtlIHRoZSBQQ0kgY29yZSBzbWFydCBlbm91Z2ggdG8g ZmlndXJlIGl0IG91dC4gIElmIHRoZQo+ID4gPiA+ID4gPiBsYXR0ZXIsIHdlIG5lZWQgYSBiZXR0 ZXIgaW50ZXJmYWNlIHRoYW4gdGhpcyBhZCBob2MKPiA+ID4gPiA+ID4gcGNpZV9wbWVfZGlzYWJs ZV9tc2koKSB0aGluZy4gIEJ1dCBpZiBpdCBpcyB0cnVseSB0aGUgbGF0dGVyLCB5b3VyCj4gPiA+ ID4gPiA+IGN1cnJlbnQgY29kZSBpcyBzdWZmaWNpZW50IGFuZCB3ZSBjYW4gcmVmaW5lIGl0IG92 ZXIgdGltZS4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gSW4gY2FzZSBvZiBUZWdyYTE5NCwgaXQgaXMg dGhlIGxhdHRlciBjYXNlLgo+ID4gPiA+IAo+ID4gPiA+IFRoaXMgaXNuJ3QgYSBUZWdyYTE5NCBx dWVzdGlvbjsgaXQncyBhIHF1ZXN0aW9uIG9mIHdoZXRoZXIgdGhpcwo+ID4gPiA+IGJlaGF2aW9y IGlzIGNvdmVyZWQgYnkgdGhlIFBDSWUgc3BlYy4KPiA+ID4gQUZBSVUgdGhlIHNwZWMgYW5kIHdo YXQgSSBoZWFyZCBmcm9tIE52aWRpYSBoYXJkd2FyZSBmb2xrcyBpcyB0aGF0IHNwZWMgZG9lc24n dAo+ID4gPiBleHBsaWNpdGx5IHRhbGsgYWJvdXQgdGhpcyBhbmQgaXQgd2FzIGEgZGVzaWduIGNo b2ljZSBtYWRlIGJ5IE52aWRpYSBoYXJkd2FyZQo+ID4gPiBmb2xrcyB0byByb3V0ZSB0aGVzZSBp bnRlcnJ1cHRzIHRocm91Z2ggbGVnYWN5IGxpbmUgaW5zdGVhZCBvZiBNU0kgbGluZS4KPiA+ID4g Cj4gPiA+ID4gCj4gPiA+ID4gPiA+IFdoYXQgSSBzdXNwZWN0IHNob3VsZCBoYXBwZW4gZXZlbnR1 YWxseSBpcyB0aGUgRFdDIGRyaXZlciBzaG91bGQgY2FsbAo+ID4gPiA+ID4gPiBkZXZtX3BjaV9h bGxvY19ob3N0X2JyaWRnZSgpIGRpcmVjdGx5LCBhcyBhbGwgdGhlIG5vbi1EV0MgZHJpdmVycyBk by4KPiA+ID4gPiA+ID4gVGhhdCB3b3VsZCByZXF1aXJlIGEgbGl0dGxlIHJlb3JnYW5pemF0aW9u IG9mIHRoZSBEV0MgZGF0YSBzdHJ1Y3R1cmVzLAo+ID4gPiA+ID4gPiBidXQgaXQgd291bGQgYmUg Z29vZCB0byBiZSBtb3JlIGNvbnNpc3RlbnQuCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBGb3Ig bm93LCBJIHRoaW5rIHN0YXNoaW5nIHRoZSBwb2ludGVyIGluIHBjaWVfcG9ydCBvciBkd19wY2ll IHdvdWxkIGJlCj4gPiA+ID4gPiA+IE9LLiAgSSdtIG5vdCAxMDAlIGNsZWFyIG9uIHRoZSBkaWZm ZXJlbmNlLCBidXQgaXQgbG9va3MgbGlrZSBlaXRoZXIKPiA+ID4gPiA+ID4gc2hvdWxkIGJlIGNv bW1vbiBhY3Jvc3MgYWxsIHRoZSBEV0MgZHJpdmVycywgd2hpY2ggaXMgd2hhdCB3ZSB3YW50Lgo+ ID4gPiA+ID4gCj4gPiA+ID4gPiBTaW5jZSBkd19wY2llIGlzIGNvbW1vbiBmb3IgYm90aCByb290 IHBvcnQgYW5kIGVuZCBwb2ludCBtb2RlIHN0cnVjdHVyZXMsCj4gPiA+ID4gPiBJIHRoaW5rIGl0 IG1ha2VzIHNlbnNlIHRvIGtlZXAgdGhlIHBvaW50ZXIgaW4gcGNpZV9wb3J0IGFzIHRoaXMgc3Ry dWN0dXJlCj4gPiA+ID4gPiBpcyBzcGVjaWZpYyB0byByb290IHBvcnQgbW9kZSBvZiBvcGVyYXRp b24uCj4gPiA+ID4gPiBJJ2xsIG1ha2UgYSBub3RlIHRvIHJlb3JnYW5pemUgY29kZSB0byBoYXZl IGRldm1fcGNpX2FsbG9jX2hvc3RfYnJpZGdlKCkKPiA+ID4gPiA+IHVzZWQgaW4gdGhlIGJlZ2lu bmluZyBpdHNlbGYgdG8gYmUgaW5saW5lIHdpdGggbm9uLURXQyBpbXBsZW1lbnRhdGlvbnMuCj4g PiA+ID4gPiBCdXQsIEknbGwgdGFrZSBpdCB1cCBsYXRlciAoYWZ0ZXIgSSdtIGRvbmUgd2l0aCB1 cHN0cmVhbWluZyBjdXJyZW50IHNlcmllcykKPiA+ID4gPiAKPiA+ID4gPiBGYWlyIGVub3VnaC4K PiA+ID4gPiAKPiA+ID4gPiA+ID4gPiAucmVtb3ZlKCkgaW50ZXJuYWxseSBjYWxscyBwbV9ydW50 aW1lX3B1dF9zeW5jKCkgQVBJIHdoaWNoIGNhbGxzCj4gPiA+ID4gPiA+ID4gLnJ1bnRpbWVfc3Vz cGVuZCgpLiBJIG1hZGUgYSBuZXcgcGF0Y2ggdG8gYWRkIGEgaG9zdF9kZWluaXQoKSBjYWxsCj4g PiA+ID4gPiA+ID4gd2hpY2ggbWFrZSBhbGwgdGhlc2UgY2FsbHMuIFNpbmNlIGhvc3RfaW5pdCgp IGlzIGNhbGxlZCBmcm9tIGluc2lkZQo+ID4gPiA+ID4gPiA+IC5ydW50aW1lX3Jlc3VtZSgpIG9m IHRoaXMgZHJpdmVyLCB0byBiZSBpbiBzeW5jLCBJJ20gbm93IGNhbGxpbmcKPiA+ID4gPiA+ID4g PiBob3N0X2RlaW5pdCgpIGZyb20gaW5zaWRlIC5ydW50aW1lX3N1c3BlbmQoKSBBUEkuCj4gPiA+ ID4gPiA+IAo+ID4gPiA+ID4gPiBJIHRoaW5rIHRoaXMgaXMgd3JvbmcuICBwY2lfc3RvcF9yb290 X2J1cygpIHdpbGwgZGV0YWNoIGFsbCB0aGUKPiA+ID4gPiA+ID4gZHJpdmVycyBmcm9tIGFsbCB0 aGUgZGV2aWNlcy4gIFdlIGRvbid0IHdhbnQgdG8gZG8gdGhhdCBpZiB3ZSdyZQo+ID4gPiA+ID4g PiBtZXJlbHkgcnVudGltZSBzdXNwZW5kaW5nIHRoZSBob3N0IGJyaWRnZSwgZG8gd2U/Cj4gPiA+ ID4gPiAKPiA+ID4gPiA+IEluIHRoZSBjdXJyZW50IGRyaXZlciwgdGhlIHNjZW5hcmlvcyBpbiB3 aGljaCAucnVudGltZV9zdXNwZW5kKCkgaXMgY2FsbGVkCj4gPiA+ID4gPiBhcmUKPiA+ID4gPiA+ IGEpIGR1cmluZyAucmVtb3ZlKCkgY2FsbCBhbmQKPiA+ID4gPiAKPiA+ID4gPiBJdCBtYWtlcyBz ZW5zZSB0aGF0IHlvdSBzaG91bGQgY2FsbCBwY2lfc3RvcF9yb290X2J1cygpIGR1cmluZwo+ID4g PiA+IC5yZW1vdmUoKSwgaS5lLiwgd2hlbiB0aGUgaG9zdCBjb250cm9sbGVyIGRyaXZlciBpcyBi ZWluZyByZW1vdmVkLAo+ID4gPiA+IGJlY2F1c2UgdGhlIFBDSSBidXMgd2lsbCBubyBsb25nZXIg YmUgYWNjZXNzaWJsZS4gIEkgdGhpbmsgeW91IHNob3VsZAo+ID4gPiA+IGNhbGwgaXQgKmRpcmVj dGx5KiBmcm9tIHRlZ3JhX3BjaWVfZHdfcmVtb3ZlKCkgYmVjYXVzZSB0aGF0IHdpbGwgbWF0Y2gK PiA+ID4gPiB3aGF0IG90aGVyIGRyaXZlcnMgZG8uCj4gPiA+ID4gCj4gPiA+ID4gPiBiKSB3aGVu IHRoZXJlIGlzIG5vIGVuZHBvaW50IGZvdW5kIGFuZCBjb250cm9sbGVyIHdvdWxkIGJlIHNodXRk b3duCj4gPiA+ID4gPiBJbiBib3RoIGNhc2VzLCBpdCBpcyByZXF1aXJlZCB0byBzdG9wIHRoZSBy b290IGJ1cyBhbmQgcmVtb3ZlIGFsbCBkZXZpY2VzLAo+ID4gPiA+ID4gc28sIGluc3RlYWQgb2Yg aGF2aW5nIHNhbWUgY2FsbCBwcmVzZW50IGluIHJlc3BlY3RpdmUgcGF0aHMsIEkga2VwdCB0aGVt Cj4gPiA+ID4gPiBpbiAucnVudGltZV9zdXNwZW5kKCkgaXRzZWxmIHRvIGF2b2lkIGNvZGUgZHVw bGljYXRpb24uCj4gPiA+ID4gCj4gPiA+ID4gSSBkb24ndCB1bmRlcnN0YW5kIHRoaXMgcGFydC4g IFdlIHNob3VsZCBiZSBhYmxlIHRvIHJ1bnRpbWUgc3VzcGVuZAo+ID4gPiA+IHRoZSBob3N0IGNv bnRyb2xsZXIgd2l0aG91dCBkZXRhY2hpbmcgZHJpdmVycyBmb3IgY2hpbGQgZGV2aWNlcy4KPiA+ ID4gPiAKPiA+ID4gPiBJZiB5b3Ugc2h1dGRvd24gdGhlIGNvbnRyb2xsZXIgY29tcGxldGVseSBh bmQgZGV0YWNoIHRoZSAqaG9zdAo+ID4gPiA+IGNvbnRyb2xsZXIgZHJpdmVyKiwgc3VyZSwgaXQg bWFrZXMgc2Vuc2UgdG8gZGV0YWNoIGRyaXZlcnMgZnJvbSBjaGlsZAo+ID4gPiA+IGRldmljZXMu ICBCdXQgdGhhdCB3b3VsZCBiZSBoYW5kbGVkIGJ5IHRoZSBob3N0IGNvbnRyb2xsZXIgLnJlbW92 ZSgpCj4gPiA+ID4gbWV0aG9kLCBub3QgYnkgdGhlIHJ1bnRpbWUgc3VzcGVuZCBtZXRob2QuCj4g PiA+IEkgdGhpbmsgaXQgaXMgdGltZSBJIGdpdmUgc29tZSBiYWNrZ3JvdW5kIGFib3V0IHdoeSBJ IGNob3NlIHRvIGltcGxlbWVudAo+ID4gPiAucnVudGltZV9zdXNwZW5kKCkgYW5kIC5ydW50aW1l X3Jlc3VtZSgpIEFQSXMgaW4gdGhlIGZpcnN0IHBsYWNlLiBXZSB3YW50ZWQgdG8KPiA+ID4gcG93 ZXJkb3duIFBDSWUgY29udHJvbGxlciBpZiB0aGVyZSBpcyBubyBsaW5rIHVwIChpLmUuIHNsb3Qg aXMgb3BlbiBhbmQgbm8gZW5kcG9pbnQKPiA+ID4gZGV2aWNlcyBhcmUgY29ubmVjdGVkKS4gV2Ug d2FudCB0byBhY2hpZXZlIHRoaXMgd2l0aG91dCByZXR1cm5pbmcgYSBmYWlsdXJlIGluCj4gPiA+ IC5wcm9iZSgpIGNhbGwuIEdpdmVuIFBDSWUgSVAgcG93ZXIgcGFydGl0aW9uaW5nIGlzIGhhbmRs ZWQgYnkgZ2VuZXJpYyBwb3dlciBkb21haW4KPiA+ID4gZnJhbWV3b3JrLCBwb3dlciBwYXJ0aXRp b24gZ2V0cyB1bnBvd2VyZ2F0ZWQgYmVmb3JlIC5wcm9iZSgpIGdldHMgY2FsbGVkIGFuZCBnZXRz Cj4gPiA+IHBvd2VyZ2F0ZWQgZWl0aGVyIHdoZW4gYSBmYWlsdXJlIGlzIHJldHVybmVkIGluIC5w cm9iZSgpIG9yIHdoZW4gcG1fcnVudGltZV9wdXRfc3luYygpCj4gPiA+IGlzIGNhbGxlZC4gU28s IEkgY2hvc2UgdG8gY2FsbCBwbV9ydW50aW1lX3B1dF9zeW5jKCkgaW4gbm8tbGluay11cCBzY2Vu YXJpbyBhbmQgY2hvc2UKPiA+ID4gdG8gaW1wbGVtZW50IC5ydW50aW1lX3N1c3BlbmQoKSB0byBo YW5kbGUgYWxsIHRoZSBjbGVhbnVwIHdvcmsgYmVmb3JlIFBDSWUgcGFydGl0aW9uCj4gPiA+IGdl dHRpbmcgcG93ZXJnYXRlZC4gSW4gZmFjdCwgdG8gbWF0Y2ggdGhpcywgSSdtIGRvaW5nIGFsbCB0 aGUgUENJZSBJUCBicmluZyB1cAo+ID4gPiBhY3Rpdml0eSBpbiAucnVudGltZV9yZXN1bWUoKSBp bXBsZW1lbnRhdGlvbiB3aGljaCBnZXRzIGludm9rZWQgYnkgcG1fcnVudGltZV9nZXRfc3luYygp Cj4gPiA+IHdoaWNoIGluIHR1cm4gaXMgY2FsbGVkIGluIC5wcm9iZSgpIHBhdGguIEluIGZhY3Qg dGhlIHZlcnkgZHdfcGNpZV9ob3N0X2luaXQoKSBpdHNlbGYKPiA+ID4gaXMgY2FsbGVkIGZyb20g LnJ1bnRpbWVfcmVzdW1lKCkgaW1wbGVtZW50YXRpb24uIFNvLCBpdCBpcyBiZWNhdXNlIG9mIHRo ZXNlIHJlYXNvbnMgdGhhdAo+ID4gPiBJIGNhbGxlZCBwY2lfc3RvcF9yb290X2J1cygpIGFuZCBw Y2lfcmVtb3ZlX3Jvb3RfYnVzKCkgYXMgcGFydCBvZiAucnVudGltZV9zdXNwZW5kKCkKPiA+ID4g aW1wbGVtZW50YXRpb24gYXMgcG1fcnVudGltZV9wdXRfc3luYygpIGlzIGNhbGxlZCBmcm9tIGJv dGggLnJlbW92ZSgpIGFuZCBhbHNvIGR1cmluZwo+ID4gPiBuby1saW5rLXVwIHNjZW5hcmlvLiBQ bGVhc2UgZG8gbGV0IG1lIGtub3cgaWYgdGhlcmUgaXMgYSBiZXR0ZXIgd2F5IHRvIGRvIHRoaXMu Cj4gPiAKPiA+IEkgdGhpbmsgeW91J3JlIG1pc3NpbmcgdGhlIGNhc2Ugd2hlcmUgLnJ1bnRpbWVf c3VzcGVuZCgpIGlzIGNhbGxlZCB3aGVuCj4gPiB0aGVyZSBhcmUgbm8gKmFjdGl2ZSogZGV2aWNl cyBvbiB0aGUgYnVzLCBpLmUuIGV2ZXJ5b25lIGlzIGRvcm1hbnQuIEl0Cj4gPiBkb2Vzbid0IG1l YW4gdGhhdCB5b3UgbmVlZCB0byByZW1vdmUgdGhlbSBmcm9tIHRoZSBidXMgYW5kIHJlLXByb2Jl IHRoZW0KPiA+IGJhY2sgb24gLnJ1bnRpbWVfcmVzdW1lKCkuIE1vc3Qgb2YgdGhlIGRyaXZlcnMg Zm9yIFBDSSBkZXZpY2VzIGRvbid0Cj4gPiBleHBlY3QgdG8gYmUgcmVtb3ZlZCBkdXJpbmcgaWRs ZSwgYXMgdGhleSB3aWxsIGNvbmZpZ3VyZSB0aGUgaGFyZHdhcmUgdG8KPiA+IGJlIGluIGEgInF1 aWNrIHdha2UiIHN0YXRlIChzZWUgUENJZSBEeCBwb3dlciBzdGF0ZXMpLgo+ID4gCj4gPiBZb3Ug c2hvdWxkIHByb2JlIGFuZCBjb25maWd1cmUgdGhlIGJ1cyBkdXJpbmcgLnByb2JlKCkgYW5kIHJl bW92ZSBhbmQKPiA+IGRldGFjaCBhbGwgZHJpdmVycyBkdXJpbmcgLnJlbW92ZSgpLiBGb3IgLnJ1 bnRpbWVfc3VzcGVuZCgpIGFsbCB5b3UgbmVlZAo+ID4gdG8gZG8gaXMgcHV0IHRoZSBob3N0IGNv bnRyb2xsZXIgaW4gbG93IHBvd2VyIG1vZGUgaWYgaXQgaGFzIG9uZSwgb3IKPiA+IHN0b3AgYWxs IGNsb2NrcyB0aGF0IGFyZSBub3QgcmVxdWlyZWQgZm9yIHJlc3BvbmRpbmcgdG8gZGV2aWNlcyB3 YWtpbmcKPiA+IHVwIGZyb20gUENJZSBEeCBzdGF0ZS4gRm9yIC5ydW50aW1lX3Jlc3VtZSgpIHlv dSB0aGVuIHJlc3RvcmUgdGhlCj4gPiBjbG9ja3MsIHdpdGhvdXQgcmUtc2Nhbm5pbmcgdGhlIGJ1 cy4KPiBTaW5jZSB0aGlzIGlzIGEgaG9zdCBjb250cm9sbGVyIGRyaXZlciBhbmQgdGhlIGRldmlj ZSBhcyBzdWNoIGlzIHNpdHRpbmcgb24gcGxhdGZvcm0KPiBidXMgaW5zdGVhZCBvZiBQQ0llIGJ1 cywgaXMgaXQgc3RpbGwgdGhlIGNhc2UgdGhhdCAucnVudGltZV9zdXNwZW5kKCkgYW5kCj4gLnJ1 bnRpbWVfcmVzdW1lKCkgb2YgdGhpcyBkcml2ZXIgZ2V0IGNhbGxlZCB3aGVuIGRldmljZXMgb24g UENJZSBidXMgYXJlIGlkbGU/CgpUaGUgZnVuY3Rpb25zIHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhl IGRldmljZSBpcyBkZXRlcm1pbmVkIHRvIGJlIGlkbGUsCmkuZS4gd2hlbiB0aGVyZSBhcmUgbm8g UE0gcmVmZXJlbmNlcyBiZWluZyBoZWxkIGJ5IG90aGVyIGRyaXZlcnMuCgpUaGluayBvZiBpdCB0 aGUgb3RoZXIgd2F5OiBldmVuIGlmIHRoZSBkZXZpY2UgaXMgc2l0dGluZyBvbiB0aGUgcGxhdGZv cm0KYnVzIGZvciBjb25maWd1cmF0aW9uIHJlYXNvbnMsIHlvdSBkb24ndCB3YW50IHRvIHR1cm4g aXQgb2ZmIHdoZW4gdGhlClBDSWUgYnVzIG5lZWRzIHRvIGJlIGFjdGl2ZSwgcmlnaHQ/CgoKPiAK PiBIYXZpbmcgYXNrZWQgdGhhdCwgSSBzdGFydCB0byBmZWVsIHdoYXQgSSdtIGRvaW5nIGFzIHBh cnQgb2YgLnJ1bnRpbWVfc3VzcGVuZCgpIGFuZAo+IC5ydW50aW1lX3Jlc3VtZSgpIGRvZXNuJ3Qg cmVhbGx5IGp1c3RpZnkgdGhlc2UgQVBJIG5hbWVzLiBTaW5jZSBJIGtub3cgd2hlcmUgSSdtCj4g Y2FsbGluZyBwbV9ydW50aW1lX2dldC9wdXRfc3luYygpIEFQSXMgKHdoaWNoIGV2ZW50dWFsbHkg Y2FsbCAucnVudGltZV9yZXN1bWUvc3VzcGVuZCgpKQo+IEkgc2hvdWxkIHByb2JhYmx5IG1vdmUg dGhlIGNvbnRlbnQgb2YgdGhlc2UgQVBJcyBiZWZvcmUgY2FsbGluZyBwbV9ydW50aW1lX2dldC9w dXRfc3luYygpLgo+IERvIHlvdSBhZ3JlZSB3aXRoIHRoYXQ/CgpZZWFoLCBJIHRoaW5rIHlvdSBh cmUgcmlnaHQuIEFsc28sIEkgYmVsaWV2ZSB0aGVyZSBhcmUgcG1fcnVudGltZV9nZXQoKQpjYWxs cyBpbiB0aGUgcGNpIGZyYW1ld29yayBhcyB3ZWxsLCB5b3UgbmVlZCB0byBhdWRpdCB0aGUgY29k ZSwgSQpoYXZlbid0IGxvb2tlZCBhdCBpdCBpbiBhIHdoaWxlLgoKQmVzdCByZWdhcmRzLApMaXZp dQoKPiAKPiA+IAo+ID4gQmVzdCByZWdhcmRzLAo+ID4gTGl2aXUKPiA+IAo+ID4gCj4gPiA+IAo+ ID4gPiA+IAo+ID4gPiA+IEJqb3JuCj4gPiA+ID4gCj4gPiA+IAo+ID4gCj4gCgotLSAKPT09PT09 PT09PT09PT09PT09PT0KfCBJIHdvdWxkIGxpa2UgdG8gfAp8IGZpeCB0aGUgd29ybGQsICB8Cnwg YnV0IHRoZXkncmUgbm90IHwKfCBnaXZpbmcgbWUgdGhlICAgfAogXCBzb3VyY2UgY29kZSEgIC8K ICAtLS0tLS0tLS0tLS0tLS0KICAgIMKvXF8o44OEKV8vwq8KCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0 CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFk ZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK