Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Feb 2012 14:12:51 GMT
From:      Alexander Milanov <a@amilanov.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/165032: brgphy(4) is not used for BCM57780
Message-ID:  <201202121412.q1CECpor048267@red.freebsd.org>
Resent-Message-ID: <201202121420.q1CEK66f082614@freefall.freebsd.org>

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

>Number:         165032
>Category:       kern
>Synopsis:       brgphy(4) is not used for BCM57780
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Feb 12 14:20:06 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Alexander Milanov
>Release:        9.0-RELEASE
>Organization:
>Environment:
FreeBSD  9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:15:25 UTC 2012     root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
ukphy(4) is used instead of brgphy(4) for Broadcom BCM57780. See output of dmesg:

bge0: <Broadcom BCM57780 A1, ASIC rev. 0x57780001> mem 0xfebf0000-0xfebfffff irq 17 at device 0.0 on pci4
bge0: attempting to allocate 1 MSI vectors (1 supported)
msi: routing MSI IRQ 257 to local APIC 0 vector 54
bge0: using IRQ 257 for MSI
bge0: CHIP ID 0x57780001; ASIC REV 0x57780; CHIP REV 0x577800; PCI-E
bge0: Disabling fastboot
bge0: Disabling fastboot
miibus0: <MII bus> on bge0
ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
ukphy0: OUI 0x001be9, model 0x0019, rev. 1
ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow
bge0: bpf attached
>How-To-Repeat:

>Fix:
Add OUIs for BCM57780 to brgphy(4). The following patch also adds a check for BGE_FLAG_JUMBO, as suggested by Pyun YongHyeon[1] and as seen in OpenBSD[2].

[1] http://lists.freebsd.org/pipermail/freebsd-stable/2010-March/055793.html
[2] http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/mii/brgphy.c?rev=1.94

Patch attached with submission follows:

Index: sys/dev/mii/miidevs
===================================================================
--- sys/dev/mii/miidevs	(revision 231557)
+++ sys/dev/mii/miidevs	(working copy)
@@ -84,6 +84,8 @@
 oui xxATHEROS			0x00c82e	Atheros Communications
 oui xxBROADCOM			0x000818	Broadcom Corporation
 oui xxBROADCOM_ALT1		0x0050ef	Broadcom Corporation
+oui xxBROADCOM_ALT2		0x00d897	Broadcom Corporation
+oui xxBROADCOM_ALT3		0x001be9	Broadcom Corporation
 oui xxDAVICOM			0x000676	Davicom Semiconductor
 oui yyINTEL			0x005500	Intel Corporation
 oui xxJATO			0x0007c1	Jato Technologies
@@ -184,6 +186,8 @@
 model BROADCOM3 BCM57765	0x0024 BCM57765 1000BASE-T media interface
 model BROADCOM3 BCM5720C	0x0036 BCM5720C 1000BASE-T media interface
 model xxBROADCOM_ALT1 BCM5906	0x0004 BCM5906 10/100baseTX media interface
+model xxBROADCOM_ALT2 BCM57780	0x0019 BCM57780 10/100/1000baseT PHY
+model xxBROADCOM_ALT3 BCM57780	0x0019 BCM57780 10/100/1000baseT PHY
 
 /* Cicada Semiconductor PHYs (now owned by Vitesse?) */
 model xxCICADA CS8201		0x0001 Cicada CS8201 10/100/1000TX PHY
Index: sys/dev/mii/brgphy.c
===================================================================
--- sys/dev/mii/brgphy.c	(revision 231557)
+++ sys/dev/mii/brgphy.c	(working copy)
@@ -147,6 +147,8 @@
 	MII_PHY_DESC(BROADCOM3, BCM5720C),
 	MII_PHY_DESC(BROADCOM3, BCM57765),
 	MII_PHY_DESC(xxBROADCOM_ALT1, BCM5906),
+	MII_PHY_DESC(xxBROADCOM_ALT2, BCM57780),
+	MII_PHY_DESC(xxBROADCOM_ALT3, BCM57780),
 	MII_PHY_END
 };
 
@@ -942,7 +944,8 @@
 		if (bge_sc->bge_phy_flags & BGE_PHY_JITTER_BUG)
 			brgphy_fixup_jitter_bug(sc);
 
-		brgphy_jumbo_settings(sc, ifp->if_mtu);
+		if (bge_sc->bge_phy_flags & BGE_FLAG_JUMBO)
+			brgphy_jumbo_settings(sc, ifp->if_mtu);
 
 		if ((bge_sc->bge_phy_flags & BGE_PHY_NO_WIRESPEED) == 0)
 			brgphy_ethernet_wirespeed(sc);


>Release-Note:
>Audit-Trail:
>Unformatted:



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