From owner-freebsd-arm@freebsd.org Sat Jul 18 21:15:18 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 714369A558F for ; Sat, 18 Jul 2015 21:15:18 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (mail.turbocat.net [IPv6:2a01:4f8:d16:4514::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F36D314AF; Sat, 18 Jul 2015 21:15:17 +0000 (UTC) (envelope-from hps@selasky.org) Received: from laptop015.home.selasky.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 97C811FE022; Sat, 18 Jul 2015 23:15:16 +0200 (CEST) Message-ID: <55AAC22D.6020609@selasky.org> Date: Sat, 18 Jul 2015 23:16:29 +0200 From: Hans Petter Selasky User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Glen Barber , Andreas Schwarz CC: freebsd-arm@freebsd.org, Ian Lepore Subject: Re: SDHC errors during boot on RPi2 (11.0-CURRENT) 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> In-Reply-To: <20150718010351.GI1438@FreeBSD.org> Content-Type: text/plain; charset=utf-8; format=flowed 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 21:15:18 -0000 On 07/18/15 03:03, 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? > Does this fix also update u-boot? --HPS