From owner-cvs-all@FreeBSD.ORG Sun Feb 25 19:02:01 2007 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E3C8D16A401; Sun, 25 Feb 2007 19:02:01 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D53E413C4A8; Sun, 25 Feb 2007 19:02:01 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l1PJ21Xi016338; Sun, 25 Feb 2007 19:02:01 GMT (envelope-from marius@repoman.freebsd.org) Received: (from marius@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l1PJ21SF016337; Sun, 25 Feb 2007 19:02:01 GMT (envelope-from marius) Message-Id: <200702251902.l1PJ21SF016337@repoman.freebsd.org> From: Marius Strobl Date: Sun, 25 Feb 2007 19:02:01 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: RELENG_6 Cc: Subject: cvs commit: src/sys/pci if_pcn.c if_pcnreg.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Feb 2007 19:02:02 -0000 marius 2007-02-25 19:02:01 UTC FreeBSD src repository Modified files: (Branch: RELENG_6) sys/pci if_pcn.c if_pcnreg.h Log: MFC: if_pcn.c 1.76, 1.81, 1.82; if_pcnreg.h 1.15 - In detach method, move if_free() after bus_teardown_intr(). - Clear the PCN_MISC_ASEL bit so the media port can be actually set via the PCN_CSR_MODE register. Along with sys/dev/mii/nsphy.c 1.23.2.3 this fixes the case of certain Am79c971-based HP cards and on-board ones in IBM machines reporting link but not actually passing any traffic. [1] - Add support for the internal 10baseT PHY, which actually is used on at least said HP cards (together with an external DP83840A in a multiple PHYs configuration). With cards that don't make use of this internal PHY it'll also show up in FreeBSD but not cause any harm. This is still missing support for multiple PHYs configuration using the internal 100baseTX and/or HomePNA PHYs together with external PHYs or multiple external PHYs though. - Allow multiple (external) PHYs with Am79C97{2,6}, which actually only support external PHYs (besides not connectable internal ones which respond at the usual addresses, but which don't hurt if we let them show up) and don't wedge when isolating PHYs. Actually, this change special cases limiting PHYs to Am79C97{3,5,8}, for which this driver doesn't implement swiching between the internal and external PHYs, yet, and Am79C971, where isolating the external PHY (at least in case it's a DP83840A) wedges the chip. Together with sys/dev/mii/acphy.c rev. 1.16.2.5 this adds support for the 100baseFX port of AT-2700 series adaptors, which use two AC101, one for the copper and one for the fibre port (there might be variants which only use one PHY though). - In pcn_ifmedia_upd() call pcn_reset() as otherwise the Am79C971 of at least said HP cards can wedge when switching from the internal 10baseT PHY to the external PHY. This means that we need to also initialize and possibly start the chip again in pcn_ifmedia_upd(), which isn't that bad though as for setting the media port the chip has to be powered down or stopped anyway and unlike documented doesn't take effect until the next initialization. - Don't bother to set if_mtu to ETHERMTU, ether_ifattach() does that. PR: 27995, 25959, 72966 (likely) [1] Revision Changes Path 1.69.2.7 +80 -15 src/sys/pci/if_pcn.c 1.11.2.3 +8 -4 src/sys/pci/if_pcnreg.h