Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Jul 2015 12:55:16 -0600
From:      Ian Lepore <ian@freebsd.org>
To:        Luiz Otavio O Souza <lists.br@gmail.com>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>, Warner Losh <imp@freebsd.org>
Subject:   Re: SDHC errors during boot on RPi2 (11.0-CURRENT)
Message-ID:  <1437072916.1334.364.camel@freebsd.org>
In-Reply-To: <CAB=2f8yMjZ4U3cNyCVt%2BemJQ7A5vGniuGevq0bQe36tw-RoR_Q@mail.gmail.com>
References:  <55A5A3F4.7040105@foxvalley.net> <D7A88FAC-C4C0-46DB-91F6-9AF51CD142B7@bsdimp.com> <20150716142329.4387b29de5d7fc9a2a9c27ab@strcmp.org> <CAB=2f8yMjZ4U3cNyCVt%2BemJQ7A5vGniuGevq0bQe36tw-RoR_Q@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-qq1U0f2kB6yRSUFT5ALH
Content-Type: text/plain; charset="iso-8859-7"
Content-Transfer-Encoding: 8bit

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


--=-qq1U0f2kB6yRSUFT5ALH
Content-Disposition: inline; filename="mmc_desel_resel.diff"
Content-Type: text/x-patch; name="mmc_desel_resel.diff"; charset="us-ascii"
Content-Transfer-Encoding: 7bit

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,

--=-qq1U0f2kB6yRSUFT5ALH--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1437072916.1334.364.camel>