From owner-cvs-src@FreeBSD.ORG Tue Nov 28 05:35:32 2006 Return-Path: X-Original-To: cvs-src@freebsd.org Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7839016A4D0; Tue, 28 Nov 2006 05:35:32 +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 73A3D449E2; Tue, 28 Nov 2006 04:45:19 +0000 (GMT) (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 kAS1XICp031275; Tue, 28 Nov 2006 01:33:18 GMT (envelope-from marius@repoman.freebsd.org) Received: (from marius@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAS1XIJG031274; Tue, 28 Nov 2006 01:33:18 GMT (envelope-from marius) Message-Id: <200611280133.kAS1XIJG031274@repoman.freebsd.org> From: Marius Strobl Date: Tue, 28 Nov 2006 01:33:18 +0000 (UTC) To: src-committers@freebsd.org, cvs-src@freebsd.org, cvs-all@freebsd.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/pci if_pcn.c if_pcnreg.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Nov 2006 05:35:32 -0000 marius 2006-11-28 01:33:18 UTC FreeBSD src repository Modified files: sys/pci if_pcn.c if_pcnreg.h Log: - 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.26 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. - 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. PR: 27995, 25959, 72966 (likely) [1] MFC after: 2 weeks Revision Changes Path 1.81 +66 -12 src/sys/pci/if_pcn.c 1.15 +8 -4 src/sys/pci/if_pcnreg.h