Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Oct 2010 00:20:05 GMT
From:      Pyun YongHyeon <pyunyh@gmail.com>
To:        freebsd-sparc64@FreeBSD.org
Subject:   Re: sparc64/151404: Kernel hangs before mounting root fs
Message-ID:  <201010160020.o9G0K5aQ057731@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR sparc64/151404; it has been noted by GNATS.

From: Pyun YongHyeon <pyunyh@gmail.com>
To: Marius Strobl <marius@alchemy.franken.de>
Cc: Dmitry Afanasiev <KOT@MATPOCKuH.Ru>, 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: <Broadcom BCM5715 A3, ASIC rev. 0x009003> 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: <MII bus> on bge0
 > brgphy0: <BCM5714 10/100/1000baseTX PHY> 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--



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