From owner-freebsd-arm@freebsd.org Sat Jul 18 16:57:36 2015 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9F9329A4C16 for ; Sat, 18 Jul 2015 16:57:36 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from erouter6.ore.mailhop.org (erouter6.ore.mailhop.org [54.187.213.119]) by mx1.freebsd.org (Postfix) with SMTP id 827A71CFA for ; Sat, 18 Jul 2015 16:57:36 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from ilsoft.org (unknown [73.34.117.227]) by outbound3.ore.mailhop.org (Halon Mail Gateway) with ESMTPSA; Sat, 18 Jul 2015 16:55:51 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id t6IGvRTI058977; Sat, 18 Jul 2015 10:57:27 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <1437238647.1334.376.camel@freebsd.org> Subject: Re: SDHC errors during boot on RPi2 (11.0-CURRENT) From: Ian Lepore To: Glen Barber Cc: Andreas Schwarz , freebsd-arm@freebsd.org Date: Sat, 18 Jul 2015 10:57:27 -0600 In-Reply-To: <20150718010351.GI1438@FreeBSD.org> References: <55A5A3F4.7040105@foxvalley.net> <20150716142329.4387b29de5d7fc9a2a9c27ab@strcmp.org> <1437072916.1334.364.camel@freebsd.org> <08A8C4D5-54A5-432B-B3D7-744287B76EF9@bsdimp.com> <1437144948.1334.373.camel@freebsd.org> <20150718030157.2aa9a78a874d3657131a2bed@strcmp.org> <20150718010351.GI1438@FreeBSD.org> Content-Type: text/plain; charset="iso-8859-13" X-Mailer: Evolution 3.12.10 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Jul 2015 16:57:36 -0000 On Sat, 2015-07-18 at 01:03 +0000, Glen Barber wrote: > On Sat, Jul 18, 2015 at 03:01:57AM +0200, Andreas Schwarz wrote: > > On Fri, 17 Jul 2015 08:55:48 -0600 > > Ian Lepore wrote: > > > > > On Thu, 2015-07-16 at 21:57 -0600, Warner Losh wrote: > > > > > On Jul 16, 2015, at 12:55 PM, Ian Lepore wrote: > > > > > > > > > > On Thu, 2015-07-16 at 15:17 -0300, Luiz Otavio O Souza wrote: > > > > >> On 16 July 2015 at 09:23, Andreas Schwarz wrote: > > > > >>> On Wed, 15 Jul 2015 21:17:21 -0600 > > > > >>> Warner Losh wrote: > > > > >>> > > > > >>>>> On Jul 14, 2015, at 6:06 PM, Dan Raymond wrote: > > > > >>>>> > > > > >>>>> Is anyone else getting these errors during every boot? I'm running r285346. > > > > >>>> > > > > >>>> I˙ve been running on the RPi2 for some time and have never seen this. I haven˙t > > > > >>>> rebuild in the past few weeks though. > > > > >>>> > > > > >>>> Does this happen on either SD cards? Or other versions of the kernel? > > > > >>> > > > > >>> I've the same output (using generic RPI2 kernel conf). > > > > >> > > > > >> This is a side effect of r283128, if you comment that line that > > > > >> re-select the card, CMD7 won't fail. > > > > >> > > > > >> This also affects the MMC controller on Allwinner SoCs. > > > > > > > > > > Hmm, so some cards deselect themselves when they shouldn't, and our > > > > > workaround that reselects them fails if the card didn't deselect itself. > > > > > Maybe it will work for all cards/controllers if we explicitly deselect > > > > > then reselect the card at that point. (This only happens once at > > > > > card-insert/boot time, so it shouldn't impact performance.) > > > > > > > > > > The attached patch adds the explicit deselect; it may or may not help. > > > > > (I haven't tested this at all). > > > > > > > > > > -- Ian > > > > > > > > > > Index: mmc.c > > > > > =================================================================== > > > > > --- mmc.c (revision 285419) > > > > > +++ mmc.c (working copy) > > > > > @@ -1392,6 +1392,7 @@ mmc_discover_cards(struct mmc_softc *sc) > > > > > * out. Others seem to handle it correctly, so it may > > > > > * be a combination of card and controller. > > > > > */ > > > > > + mmc_select_card(sc, 0); > > > > > mmc_select_card(sc, ivar->rca); > > > > > mmc_app_sd_status(sc, ivar->rca, ivar->raw_sd_status); > > > > > mmc_app_decode_sd_status(ivar->raw_sd_status, > > > > > > > > Yes. I like this. Update the comment though please. > > > > > > > > Warner > > > > > > > > > > Yeah, when I commit I'll make the comment match the new reality, just > > > waiting to hear another success report or two first. > > > > I can confirm that the problem is gone (after applying your patch to r285661). > > > > root@pizelot:~ # uname -a > > FreeBSD pizelot.schwarzes.net 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r285661M: Sat Jul 18 02:19:21 CEST 2015 root@pizelot.schwarzes.net:/usr/obj/usr/src/sys/RPI2 arm > > > > Ian, will you please commit the fix, with the plan to have this in the > next 10.2 build? > > Glen > Done, r285678. -- Ian