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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 10274C433F5 for ; Tue, 23 Nov 2021 12:24:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235007AbhKWM1Y convert rfc822-to-8bit (ORCPT ); Tue, 23 Nov 2021 07:27:24 -0500 Received: from mail.kernel.org ([198.145.29.99]:53676 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229948AbhKWM1V (ORCPT ); Tue, 23 Nov 2021 07:27:21 -0500 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 7079F61002; Tue, 23 Nov 2021 12:24:13 +0000 (UTC) Received: from sofa.misterjones.org ([185.219.108.64] helo=why.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1mpUqJ-007HAy-29; Tue, 23 Nov 2021 12:24:11 +0000 Date: Tue, 23 Nov 2021 12:24:10 +0000 Message-ID: <87k0gzcb6d.wl-maz@kernel.org> From: Marc Zyngier To: Mark Kettenis Cc: pali@kernel.org, luca@lucaceresoli.net, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, kernel-team@android.com, alyssa@rosenzweig.io, lorenzo.pieralisi@arm.com, bhelgaas@google.com, joey.gouly@arm.com Subject: Re: [PATCH v2] PCI: apple: Follow the PCIe specifications when resetting the port In-Reply-To: References: <20211122104156.518063-1-maz@kernel.org> <20211122120347.6qyiycqqjkgqvtta@pali> <87zgpw5jza.wl-maz@kernel.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: mark.kettenis@xs4all.nl, pali@kernel.org, luca@lucaceresoli.net, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, kernel-team@android.com, alyssa@rosenzweig.io, lorenzo.pieralisi@arm.com, bhelgaas@google.com, joey.gouly@arm.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 22 Nov 2021 21:50:48 +0000, Mark Kettenis wrote: > > > Date: Mon, 22 Nov 2021 14:43:37 +0000 > > From: Marc Zyngier > > > > On Mon, 22 Nov 2021 12:03:47 +0000, > > Pali Rohár wrote: > > > > > > On Monday 22 November 2021 10:41:56 Marc Zyngier wrote: > > > > While the Apple PCIe driver works correctly when directly booted > > > > from the firmware, it fails to initialise when the kernel is booted > > > > from a bootloader using PCIe such as u-boot. > > > > > > > > That's beacuse we're missing a proper reset of the port (we only > > > > clear the reset, but never assert it). > > > > > > > > The PCIe spec requirements are two-fold: > > > > > > > > - #PERST must be asserted before setting up the clocks, and > > > > stay asserted for at least 100us (Tperst-clk). > > > > > > > > - Once #PERST is deasserted, the OS must wait for at least 100ms > > > > "from the end of a Conventional Reset" before we can start talking > > > > to the devices > > > > > > > > Implementing this results in a booting system. > > > > > > > > Fixes: 1e33888fbe44 ("PCI: apple: Add initial hardware bring-up") > > > > Signed-off-by: Marc Zyngier > > > > Cc: Alyssa Rosenzweig > > > > Cc: Lorenzo Pieralisi > > > > Cc: Bjorn Helgaas > > > > Cc: Pali Rohár > > > > > > Looks good, but see comment below. > > > > > > Acked-by: Pali Rohár > > > > Thanks for that. > > > > > > > > > --- > > > > drivers/pci/controller/pcie-apple.c | 10 ++++++++++ > > > > 1 file changed, 10 insertions(+) > > > > > > > > diff --git a/drivers/pci/controller/pcie-apple.c b/drivers/pci/controller/pcie-apple.c > > > > index 1bf4d75b61be..957960a733c4 100644 > > > > --- a/drivers/pci/controller/pcie-apple.c > > > > +++ b/drivers/pci/controller/pcie-apple.c > > > > @@ -539,13 +539,23 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie, > > > > > > > > rmw_set(PORT_APPCLK_EN, port->base + PORT_APPCLK); > > > > > > > > + /* Engage #PERST before setting up the clock */ > > > > + gpiod_set_value(reset, 0); > > > > + > > > > ret = apple_pcie_setup_refclk(pcie, port); > > > > if (ret < 0) > > > > return ret; > > > > > > > > + /* The minimal Tperst-clk value is 100us (PCIe CMS r2.0, 2.6.2) */ > > > > + usleep_range(100, 200); > > > > + > > > > + /* Deassert #PERST */ > > > > rmw_set(PORT_PERST_OFF, port->base + PORT_PERST); > > > > gpiod_set_value(reset, 1); > > > > > > + Luca > > > > > > Just one comment. PERST# (PCIe Reset) is active-low signal. De-asserting > > > means to really set value to 1. > > > > > > But there was a discussion that de-asserting should be done by call: > > > gpiod_set_value(reset, 0); > > > > > > https://lore.kernel.org/linux-pci/51be082a-ff10-8a19-5648-f279aabcac51@lucaceresoli.net/ > > > > > > Could we make this new pcie-apple.c driver to use gpiod_set_value(reset, 0) > > > for de-asserting, like in other drivers? > > > > I guess it depends whether you care about the assertion or the signal > > itself. I think we may have a bug in the way the GPIOs are handled at > > the moment, as it makes no difference whether I register the GPIO are > > active high or active low... > > That's unfortunate. But maybe that's an opportunity to fix the > devicetree to use GPIO_ACTIVE_LOW for these GPIOs? Indeed. The following hack does the right thing, and I can then reverse the polarity of the reset in the Linux driver. Of course, it breaks u-boot at the same time (and I suspect OpenBSD would be equally affected). So if we are going down that road, we may need a flag day where all the moving parts change. I don't really mind not being able to boot older kernels, but this goes beyond Linux at this point. Thanks, M. diff --git a/arch/arm64/boot/dts/apple/t8103.dtsi b/arch/arm64/boot/dts/apple/t8103.dtsi index d2e9afde3729..cad1ab920304 100644 --- a/arch/arm64/boot/dts/apple/t8103.dtsi +++ b/arch/arm64/boot/dts/apple/t8103.dtsi @@ -10,6 +10,7 @@ #include #include #include +#include / { compatible = "apple,t8103", "apple,arm-platform"; @@ -293,7 +294,7 @@ pcie0: pcie@690000000 { port00: pci@0,0 { device_type = "pci"; reg = <0x0 0x0 0x0 0x0 0x0>; - reset-gpios = <&pinctrl_ap 152 0>; + reset-gpios = <&pinctrl_ap 152 GPIO_ACTIVE_LOW>; max-link-speed = <2>; #address-cells = <3>; @@ -313,7 +314,7 @@ port00: pci@0,0 { port01: pci@1,0 { device_type = "pci"; reg = <0x800 0x0 0x0 0x0 0x0>; - reset-gpios = <&pinctrl_ap 153 0>; + reset-gpios = <&pinctrl_ap 153 GPIO_ACTIVE_LOW>; max-link-speed = <2>; #address-cells = <3>; @@ -333,7 +334,7 @@ port01: pci@1,0 { port02: pci@2,0 { device_type = "pci"; reg = <0x1000 0x0 0x0 0x0 0x0>; - reset-gpios = <&pinctrl_ap 33 0>; + reset-gpios = <&pinctrl_ap 33 GPIO_ACTIVE_LOW>; max-link-speed = <1>; #address-cells = <3>; -- Without deviation from the norm, progress is not possible. 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 7341FC433EF for ; Tue, 23 Nov 2021 12:25:38 +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:MIME-Version:References:In-Reply-To: Subject:Cc:To:From:Message-ID:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=eBUXavu00kLFtz6AREXpujyrb63WM6sf2Ytn4FDkVWk=; b=p0fBhgsBB53AUv G2V/I3nBq0ptbEnRwdPQimM79TUE+oBEwuwjIgWOmp+0jVjdbs6kVJaJnvtJ1uk93ujgEX1v8yWE/ hl+gyjOHN08MfANaCrJA1MtPFusvddN4wv9TzDCRmBrl2Z58dJkdIzW2JYWZ9do5YrwxESykOVT76 VqCmq/JlG6V0XIz/xpGQJwy2Jim0Zc7fH1N53tQ+NGCKQ81OEP8wjj4XvfZsUYLz5ZOF07yIjqkJy 2Xf8tueB3+1OvDO98uBo/1FiPu3ObOWZ3VeHLiht22A0Ocj3SghK4oq6zZ0KEL1Yw6mgNjdnjafZj Lz0U+RdRhXhpIu/9w8DA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mpUqQ-0025VB-2s; Tue, 23 Nov 2021 12:24:18 +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 1mpUqL-0025Tv-RN for linux-arm-kernel@lists.infradead.org; Tue, 23 Nov 2021 12:24:15 +0000 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 7079F61002; Tue, 23 Nov 2021 12:24:13 +0000 (UTC) Received: from sofa.misterjones.org ([185.219.108.64] helo=why.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1mpUqJ-007HAy-29; Tue, 23 Nov 2021 12:24:11 +0000 Date: Tue, 23 Nov 2021 12:24:10 +0000 Message-ID: <87k0gzcb6d.wl-maz@kernel.org> From: Marc Zyngier To: Mark Kettenis Cc: pali@kernel.org, luca@lucaceresoli.net, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, kernel-team@android.com, alyssa@rosenzweig.io, lorenzo.pieralisi@arm.com, bhelgaas@google.com, joey.gouly@arm.com Subject: Re: [PATCH v2] PCI: apple: Follow the PCIe specifications when resetting the port In-Reply-To: References: <20211122104156.518063-1-maz@kernel.org> <20211122120347.6qyiycqqjkgqvtta@pali> <87zgpw5jza.wl-maz@kernel.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: mark.kettenis@xs4all.nl, pali@kernel.org, luca@lucaceresoli.net, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, kernel-team@android.com, alyssa@rosenzweig.io, lorenzo.pieralisi@arm.com, bhelgaas@google.com, joey.gouly@arm.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211123_042413_955036_C82DAFBD X-CRM114-Status: GOOD ( 45.95 ) 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 T24gTW9uLCAyMiBOb3YgMjAyMSAyMTo1MDo0OCArMDAwMCwKTWFyayBLZXR0ZW5pcyA8bWFyay5r ZXR0ZW5pc0B4czRhbGwubmw+IHdyb3RlOgo+IAo+ID4gRGF0ZTogTW9uLCAyMiBOb3YgMjAyMSAx NDo0MzozNyArMDAwMAo+ID4gRnJvbTogTWFyYyBaeW5naWVyIDxtYXpAa2VybmVsLm9yZz4KPiA+ IAo+ID4gT24gTW9uLCAyMiBOb3YgMjAyMSAxMjowMzo0NyArMDAwMCwKPiA+IFBhbGkgUm9ow6Fy IDxwYWxpQGtlcm5lbC5vcmc+IHdyb3RlOgo+ID4gPiAKPiA+ID4gT24gTW9uZGF5IDIyIE5vdmVt YmVyIDIwMjEgMTA6NDE6NTYgTWFyYyBaeW5naWVyIHdyb3RlOgo+ID4gPiA+IFdoaWxlIHRoZSBB cHBsZSBQQ0llIGRyaXZlciB3b3JrcyBjb3JyZWN0bHkgd2hlbiBkaXJlY3RseSBib290ZWQKPiA+ ID4gPiBmcm9tIHRoZSBmaXJtd2FyZSwgaXQgZmFpbHMgdG8gaW5pdGlhbGlzZSB3aGVuIHRoZSBr ZXJuZWwgaXMgYm9vdGVkCj4gPiA+ID4gZnJvbSBhIGJvb3Rsb2FkZXIgdXNpbmcgUENJZSBzdWNo IGFzIHUtYm9vdC4KPiA+ID4gPiAKPiA+ID4gPiBUaGF0J3MgYmVhY3VzZSB3ZSdyZSBtaXNzaW5n IGEgcHJvcGVyIHJlc2V0IG9mIHRoZSBwb3J0ICh3ZSBvbmx5Cj4gPiA+ID4gY2xlYXIgdGhlIHJl c2V0LCBidXQgbmV2ZXIgYXNzZXJ0IGl0KS4KPiA+ID4gPiAKPiA+ID4gPiBUaGUgUENJZSBzcGVj IHJlcXVpcmVtZW50cyBhcmUgdHdvLWZvbGQ6Cj4gPiA+ID4gCj4gPiA+ID4gLSAjUEVSU1QgbXVz dCBiZSBhc3NlcnRlZCBiZWZvcmUgc2V0dGluZyB1cCB0aGUgY2xvY2tzLCBhbmQKPiA+ID4gPiAg IHN0YXkgYXNzZXJ0ZWQgZm9yIGF0IGxlYXN0IDEwMHVzIChUcGVyc3QtY2xrKS4KPiA+ID4gPiAK PiA+ID4gPiAtIE9uY2UgI1BFUlNUIGlzIGRlYXNzZXJ0ZWQsIHRoZSBPUyBtdXN0IHdhaXQgZm9y IGF0IGxlYXN0IDEwMG1zCj4gPiA+ID4gICAiZnJvbSB0aGUgZW5kIG9mIGEgQ29udmVudGlvbmFs IFJlc2V0IiBiZWZvcmUgd2UgY2FuIHN0YXJ0IHRhbGtpbmcKPiA+ID4gPiAgIHRvIHRoZSBkZXZp Y2VzCj4gPiA+ID4gCj4gPiA+ID4gSW1wbGVtZW50aW5nIHRoaXMgcmVzdWx0cyBpbiBhIGJvb3Rp bmcgc3lzdGVtLgo+ID4gPiA+IAo+ID4gPiA+IEZpeGVzOiAxZTMzODg4ZmJlNDQgKCJQQ0k6IGFw cGxlOiBBZGQgaW5pdGlhbCBoYXJkd2FyZSBicmluZy11cCIpCj4gPiA+ID4gU2lnbmVkLW9mZi1i eTogTWFyYyBaeW5naWVyIDxtYXpAa2VybmVsLm9yZz4KPiA+ID4gPiBDYzogQWx5c3NhIFJvc2Vu endlaWcgPGFseXNzYUByb3Nlbnp3ZWlnLmlvPgo+ID4gPiA+IENjOiBMb3JlbnpvIFBpZXJhbGlz aSA8bG9yZW56by5waWVyYWxpc2lAYXJtLmNvbT4KPiA+ID4gPiBDYzogQmpvcm4gSGVsZ2FhcyA8 YmhlbGdhYXNAZ29vZ2xlLmNvbT4KPiA+ID4gPiBDYzogUGFsaSBSb2jDoXIgPHBhbGlAa2VybmVs Lm9yZz4KPiA+ID4gCj4gPiA+IExvb2tzIGdvb2QsIGJ1dCBzZWUgY29tbWVudCBiZWxvdy4KPiA+ ID4gCj4gPiA+IEFja2VkLWJ5OiBQYWxpIFJvaMOhciA8cGFsaUBrZXJuZWwub3JnPgo+ID4gCj4g PiBUaGFua3MgZm9yIHRoYXQuCj4gPiAKPiA+ID4gCj4gPiA+ID4gLS0tCj4gPiA+ID4gIGRyaXZl cnMvcGNpL2NvbnRyb2xsZXIvcGNpZS1hcHBsZS5jIHwgMTAgKysrKysrKysrKwo+ID4gPiA+ICAx IGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKQo+ID4gPiA+IAo+ID4gPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaWUtYXBwbGUuYyBiL2RyaXZlcnMvcGNpL2Nv bnRyb2xsZXIvcGNpZS1hcHBsZS5jCj4gPiA+ID4gaW5kZXggMWJmNGQ3NWI2MWJlLi45NTc5NjBh NzMzYzQgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2llLWFw cGxlLmMKPiA+ID4gPiArKysgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaWUtYXBwbGUuYwo+ ID4gPiA+IEBAIC01MzksMTMgKzUzOSwyMyBAQCBzdGF0aWMgaW50IGFwcGxlX3BjaWVfc2V0dXBf cG9ydChzdHJ1Y3QgYXBwbGVfcGNpZSAqcGNpZSwKPiA+ID4gPiAgCj4gPiA+ID4gIAlybXdfc2V0 KFBPUlRfQVBQQ0xLX0VOLCBwb3J0LT5iYXNlICsgUE9SVF9BUFBDTEspOwo+ID4gPiA+ICAKPiA+ ID4gPiArCS8qIEVuZ2FnZSAjUEVSU1QgYmVmb3JlIHNldHRpbmcgdXAgdGhlIGNsb2NrICovCj4g PiA+ID4gKwlncGlvZF9zZXRfdmFsdWUocmVzZXQsIDApOwo+ID4gPiA+ICsKPiA+ID4gPiAgCXJl dCA9IGFwcGxlX3BjaWVfc2V0dXBfcmVmY2xrKHBjaWUsIHBvcnQpOwo+ID4gPiA+ICAJaWYgKHJl dCA8IDApCj4gPiA+ID4gIAkJcmV0dXJuIHJldDsKPiA+ID4gPiAgCj4gPiA+ID4gKwkvKiBUaGUg bWluaW1hbCBUcGVyc3QtY2xrIHZhbHVlIGlzIDEwMHVzIChQQ0llIENNUyByMi4wLCAyLjYuMikg Ki8KPiA+ID4gPiArCXVzbGVlcF9yYW5nZSgxMDAsIDIwMCk7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJ LyogRGVhc3NlcnQgI1BFUlNUICovCj4gPiA+ID4gIAlybXdfc2V0KFBPUlRfUEVSU1RfT0ZGLCBw b3J0LT5iYXNlICsgUE9SVF9QRVJTVCk7Cj4gPiA+ID4gIAlncGlvZF9zZXRfdmFsdWUocmVzZXQs IDEpOwo+ID4gPiAKPiA+ID4gKyBMdWNhCj4gPiA+IAo+ID4gPiBKdXN0IG9uZSBjb21tZW50LiBQ RVJTVCMgKFBDSWUgUmVzZXQpIGlzIGFjdGl2ZS1sb3cgc2lnbmFsLiBEZS1hc3NlcnRpbmcKPiA+ ID4gbWVhbnMgdG8gcmVhbGx5IHNldCB2YWx1ZSB0byAxLgo+ID4gPiAKPiA+ID4gQnV0IHRoZXJl IHdhcyBhIGRpc2N1c3Npb24gdGhhdCBkZS1hc3NlcnRpbmcgc2hvdWxkIGJlIGRvbmUgYnkgY2Fs bDoKPiA+ID4gICBncGlvZF9zZXRfdmFsdWUocmVzZXQsIDApOwo+ID4gPiAKPiA+ID4gaHR0cHM6 Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgtcGNpLzUxYmUwODJhLWZmMTAtOGExOS01NjQ4LWYyNzlh YWJjYWM1MUBsdWNhY2VyZXNvbGkubmV0Lwo+ID4gPiAKPiA+ID4gQ291bGQgd2UgbWFrZSB0aGlz IG5ldyBwY2llLWFwcGxlLmMgZHJpdmVyIHRvIHVzZSBncGlvZF9zZXRfdmFsdWUocmVzZXQsIDAp Cj4gPiA+IGZvciBkZS1hc3NlcnRpbmcsIGxpa2UgaW4gb3RoZXIgZHJpdmVycz8KPiA+IAo+ID4g SSBndWVzcyBpdCBkZXBlbmRzIHdoZXRoZXIgeW91IGNhcmUgYWJvdXQgdGhlIGFzc2VydGlvbiBv ciB0aGUgc2lnbmFsCj4gPiBpdHNlbGYuIEkgdGhpbmsgd2UgbWF5IGhhdmUgYSBidWcgaW4gdGhl IHdheSB0aGUgR1BJT3MgYXJlIGhhbmRsZWQgYXQKPiA+IHRoZSBtb21lbnQsIGFzIGl0IG1ha2Vz IG5vIGRpZmZlcmVuY2Ugd2hldGhlciBJIHJlZ2lzdGVyIHRoZSBHUElPIGFyZQo+ID4gYWN0aXZl IGhpZ2ggb3IgYWN0aXZlIGxvdy4uLgo+IAo+IFRoYXQncyB1bmZvcnR1bmF0ZS4gIEJ1dCBtYXli ZSB0aGF0J3MgYW4gb3Bwb3J0dW5pdHkgdG8gZml4IHRoZQo+IGRldmljZXRyZWUgdG8gdXNlIEdQ SU9fQUNUSVZFX0xPVyBmb3IgdGhlc2UgR1BJT3M/CgpJbmRlZWQuIFRoZSBmb2xsb3dpbmcgaGFj ayBkb2VzIHRoZSByaWdodCB0aGluZywgYW5kIEkgY2FuIHRoZW4KcmV2ZXJzZSB0aGUgcG9sYXJp dHkgb2YgdGhlIHJlc2V0IGluIHRoZSBMaW51eCBkcml2ZXIuIE9mIGNvdXJzZSwgaXQKYnJlYWtz IHUtYm9vdCBhdCB0aGUgc2FtZSB0aW1lIChhbmQgSSBzdXNwZWN0IE9wZW5CU0Qgd291bGQgYmUg ZXF1YWxseQphZmZlY3RlZCkuCgpTbyBpZiB3ZSBhcmUgZ29pbmcgZG93biB0aGF0IHJvYWQsIHdl IG1heSBuZWVkIGEgZmxhZyBkYXkgd2hlcmUgYWxsCnRoZSBtb3ZpbmcgcGFydHMgY2hhbmdlLiBJ IGRvbid0IHJlYWxseSBtaW5kIG5vdCBiZWluZyBhYmxlIHRvIGJvb3QKb2xkZXIga2VybmVscywg YnV0IHRoaXMgZ29lcyBiZXlvbmQgTGludXggYXQgdGhpcyBwb2ludC4KClRoYW5rcywKCglNLgoK ZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvYXBwbGUvdDgxMDMuZHRzaSBiL2FyY2gv YXJtNjQvYm9vdC9kdHMvYXBwbGUvdDgxMDMuZHRzaQppbmRleCBkMmU5YWZkZTM3MjkuLmNhZDFh YjkyMDMwNCAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9ib290L2R0cy9hcHBsZS90ODEwMy5kdHNp CisrKyBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvYXBwbGUvdDgxMDMuZHRzaQpAQCAtMTAsNiArMTAs NyBAQAogI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2ludGVycnVwdC1jb250cm9sbGVyL2FwcGxlLWFp Yy5oPgogI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2ludGVycnVwdC1jb250cm9sbGVyL2lycS5oPgog I2luY2x1ZGUgPGR0LWJpbmRpbmdzL3BpbmN0cmwvYXBwbGUuaD4KKyNpbmNsdWRlIDxkdC1iaW5k aW5ncy9ncGlvL2dwaW8uaD4KIAogLyB7CiAJY29tcGF0aWJsZSA9ICJhcHBsZSx0ODEwMyIsICJh cHBsZSxhcm0tcGxhdGZvcm0iOwpAQCAtMjkzLDcgKzI5NCw3IEBAIHBjaWUwOiBwY2llQDY5MDAw MDAwMCB7CiAJCQlwb3J0MDA6IHBjaUAwLDAgewogCQkJCWRldmljZV90eXBlID0gInBjaSI7CiAJ CQkJcmVnID0gPDB4MCAweDAgMHgwIDB4MCAweDA+OwotCQkJCXJlc2V0LWdwaW9zID0gPCZwaW5j dHJsX2FwIDE1MiAwPjsKKwkJCQlyZXNldC1ncGlvcyA9IDwmcGluY3RybF9hcCAxNTIgR1BJT19B Q1RJVkVfTE9XPjsKIAkJCQltYXgtbGluay1zcGVlZCA9IDwyPjsKIAogCQkJCSNhZGRyZXNzLWNl bGxzID0gPDM+OwpAQCAtMzEzLDcgKzMxNCw3IEBAIHBvcnQwMDogcGNpQDAsMCB7CiAJCQlwb3J0 MDE6IHBjaUAxLDAgewogCQkJCWRldmljZV90eXBlID0gInBjaSI7CiAJCQkJcmVnID0gPDB4ODAw IDB4MCAweDAgMHgwIDB4MD47Ci0JCQkJcmVzZXQtZ3Bpb3MgPSA8JnBpbmN0cmxfYXAgMTUzIDA+ OworCQkJCXJlc2V0LWdwaW9zID0gPCZwaW5jdHJsX2FwIDE1MyBHUElPX0FDVElWRV9MT1c+Owog CQkJCW1heC1saW5rLXNwZWVkID0gPDI+OwogCiAJCQkJI2FkZHJlc3MtY2VsbHMgPSA8Mz47CkBA IC0zMzMsNyArMzM0LDcgQEAgcG9ydDAxOiBwY2lAMSwwIHsKIAkJCXBvcnQwMjogcGNpQDIsMCB7 CiAJCQkJZGV2aWNlX3R5cGUgPSAicGNpIjsKIAkJCQlyZWcgPSA8MHgxMDAwIDB4MCAweDAgMHgw IDB4MD47Ci0JCQkJcmVzZXQtZ3Bpb3MgPSA8JnBpbmN0cmxfYXAgMzMgMD47CisJCQkJcmVzZXQt Z3Bpb3MgPSA8JnBpbmN0cmxfYXAgMzMgR1BJT19BQ1RJVkVfTE9XPjsKIAkJCQltYXgtbGluay1z cGVlZCA9IDwxPjsKIAogCQkJCSNhZGRyZXNzLWNlbGxzID0gPDM+OwoKLS0gCldpdGhvdXQgZGV2 aWF0aW9uIGZyb20gdGhlIG5vcm0sIHByb2dyZXNzIGlzIG5vdCBwb3NzaWJsZS4KCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwg bWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK