From owner-cvs-src@FreeBSD.ORG Wed Sep 10 23:56:47 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7EDC216A4BF; Wed, 10 Sep 2003 23:56:47 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 154C24400D; Wed, 10 Sep 2003 23:56:47 -0700 (PDT) (envelope-from wpaul@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h8B6uk0U070010; Wed, 10 Sep 2003 23:56:46 -0700 (PDT) (envelope-from wpaul@repoman.freebsd.org) Received: (from wpaul@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h8B6ukIq070009; Wed, 10 Sep 2003 23:56:46 -0700 (PDT) Message-Id: <200309110656.h8B6ukIq070009@repoman.freebsd.org> From: Bill Paul Date: Wed, 10 Sep 2003 23:56:46 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/pci if_rlreg.h src/sys/dev/re if_re.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 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: Thu, 11 Sep 2003 06:56:47 -0000 wpaul 2003/09/10 23:56:46 PDT FreeBSD src repository Modified files: sys/pci if_rlreg.h sys/dev/re if_re.c Log: - For the 8169 chips, read the station address by forcing an EEPROM autoload and then copying the contends of the station address registers. For some reason, reading the EEPROM on the 8169S doesn't work right. This gets around the problem, and allows us to read the station address correctly on the 8169S. - Insert a delay after initiating packet transmition in re_diag() to allow lots of time for the frame to echo back to the host, and wait for both the 'RX complete' and 'timeout expired' bits in the ISR register to be set. - Deal more intelligently with the fact that the frame length field in the RX descriptor is a different width on the 8139C+ than it is on the 8169/8169S/8110S - For the 8169, you have to set bit 17 in the TX config register to enter digital loopback mode, but for the 8139C+, you have to set both bits 17 and 18. Take this into account so that re_diag() works properly for both types of chips. Revision Changes Path 1.5 +59 -27 src/sys/dev/re/if_re.c 1.38 +6 -4 src/sys/pci/if_rlreg.h