From owner-freebsd-sparc64@FreeBSD.ORG Sat Oct 16 00:20:06 2010 Return-Path: Delivered-To: freebsd-sparc64@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 125C3106566C for ; Sat, 16 Oct 2010 00:20:06 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id D3D6C8FC08 for ; Sat, 16 Oct 2010 00:20:05 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o9G0K52R057732 for ; Sat, 16 Oct 2010 00:20:05 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o9G0K5aQ057731; Sat, 16 Oct 2010 00:20:05 GMT (envelope-from gnats) Date: Sat, 16 Oct 2010 00:20:05 GMT Message-Id: <201010160020.o9G0K5aQ057731@freefall.freebsd.org> To: freebsd-sparc64@FreeBSD.org From: Pyun YongHyeon Cc: Subject: Re: sparc64/151404: Kernel hangs before mounting root fs X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Pyun YongHyeon List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Oct 2010 00:20:06 -0000 The following reply was made to PR sparc64/151404; it has been noted by GNATS. From: Pyun YongHyeon To: Marius Strobl Cc: Dmitry Afanasiev , yongari@freebsd.org, bug-followup@freebsd.org Subject: Re: sparc64/151404: Kernel hangs before mounting root fs Date: Fri, 15 Oct 2010 17:09:24 -0700 --5mCyUwZo2JvN/JJP Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sat, Oct 16, 2010 at 01:25:17AM +0200, Marius Strobl wrote: > On Fri, Oct 15, 2010 at 11:27:55PM +0400, Dmitry Afanasiev wrote: > > Hello! > > > > Hi, > > thanks for testing. > > > After a kernel update system booted, but all onboard interfaces (bge0-4) > > got status DOWN and system became fully unavailable via network. > > I rebooted the system twice, but without results. > > After booting old kernel all works properly - interfaces up and etc. > > > > I'm confused. Is incorrect interface's status result of this change, or > > I got another problem with bge driver? > > No, this most likely is fallout from the recent changes to bge(4), I've > already got bitten by two regressions they caused and apparently there's > at least a third one. As of r213890 I can confirm that the interfaces get > no carrier when booting the kernel from disk, however when booting via > net at least that interface gets up. Yongari, could you please look into > this? The interfaces in question are: > bge0: mem 0x4200000-0x420ffff,0x4010000-0x401ffff at device 4.0 on pci7 > bge0: CHIP ID 0x00009003; ASIC REV 0x09; CHIP REV 0x90; PCI-X 0.0 on pci0 > miibus0: on bge0 > brgphy0: PHY 1 on miibus0 > brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto > bge0: Ethernet address: 00:14:4f:c3:df:7a > > bge0@pci0:9:4:0: class=0x020000 card=0x1668108e chip=0x166814e4 rev=0xa3hdr=0x00 > vendor = 'Broadcom Corporation' > device = 'NetXtreme BCM5714 Gigabit Ethernet' > class = network > subclass = ethernet > cap 07[40] = PCI-X 64-bit supports 133MHz, 2048 burst read, 1 split transaction > cap 01[48] = powerspec 2 supports D0 D3 current D0 > cap 03[50] = VPD > cap 05[58] = MSI supports 8 messages, 64 bit > > In case it matters they are using MSIs. > It seems BCM5714 also requires some special handling in PHY. auto-polling seemed to hide the it. Would you try attached patch? > Marius > --5mCyUwZo2JvN/JJP Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="bge.autopoll.patch6" Index: sys/dev/bge/if_bge.c =================================================================== --- sys/dev/bge/if_bge.c (revision 213900) +++ sys/dev/bge/if_bge.c (working copy) @@ -2677,8 +2677,10 @@ sc->bge_mi_mode = BGE_MIMODE_500KHZ_CONST; else sc->bge_mi_mode = BGE_MIMODE_BASE; - /* Enable auto polling for BCM570[0-5]. */ - if (BGE_IS_5700_FAMILY(sc) || sc->bge_asicrev == BGE_ASICREV_BCM5705) + /* Enable auto polling for BCM570[0-5], BCM5714. */ + if (BGE_IS_5700_FAMILY(sc) || + sc->bge_asicrev == BGE_ASICREV_BCM5705 || + sc->bge_asicrev == BGE_ASICREV_BCM5714) sc->bge_mi_mode |= BGE_MIMODE_AUTOPOLL; /* --5mCyUwZo2JvN/JJP--