From owner-svn-src-head@FreeBSD.ORG Thu Apr 2 17:15:50 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5509A106567A; Thu, 2 Apr 2009 17:15:50 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 28A938FC1A; Thu, 2 Apr 2009 17:15:50 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n32HFoTi070814; Thu, 2 Apr 2009 17:15:50 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n32HFoqw070812; Thu, 2 Apr 2009 17:15:50 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <200904021715.n32HFoqw070812@svn.freebsd.org> From: Warner Losh Date: Thu, 2 Apr 2009 17:15:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190645 - head/sys/dev/ed X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Apr 2009 17:15:51 -0000 Author: imp Date: Thu Apr 2 17:15:49 2009 New Revision: 190645 URL: http://svn.freebsd.org/changeset/base/190645 Log: Minor DLINK DL100xx support tweaks: The DIROUT bit difference between the 19 and 22 is annoying. We can set both bits on both parts without ill effect. Use this trick to simplify the code. The DELAYS in the MII bus bit-bang code for the DL100xx parts aren't needed. Eliminate them. Modified: head/sys/dev/ed/dl100xxreg.h head/sys/dev/ed/if_ed_pccard.c Modified: head/sys/dev/ed/dl100xxreg.h ============================================================================== --- head/sys/dev/ed/dl100xxreg.h Thu Apr 2 17:08:54 2009 (r190644) +++ head/sys/dev/ed/dl100xxreg.h Thu Apr 2 17:15:49 2009 (r190645) @@ -38,5 +38,6 @@ #define ED_DL100XX_MII_DATAIN 0x10 #define ED_DL100XX_MII_DIROUT_22 0x20 #define ED_DL100XX_MII_DIROUT_19 0x10 +#define ED_DL100XX_MII_DIROUT 0x30 #define ED_DL100XX_MII_DATAOUT 0x40 #define ED_DL100XX_MII_CLK 0x80 Modified: head/sys/dev/ed/if_ed_pccard.c ============================================================================== --- head/sys/dev/ed/if_ed_pccard.c Thu Apr 2 17:08:54 2009 (r190644) +++ head/sys/dev/ed/if_ed_pccard.c Thu Apr 2 17:15:49 2009 (r190645) @@ -701,21 +701,14 @@ ed_pccard_dl100xx_mii_writebits(struct e { int i; - if (sc->chip_type == ED_CHIP_TYPE_DL10022) - DL100XX_MIISET(sc, ED_DL100XX_MII_DIROUT_22); - else - DL100XX_MIISET(sc, ED_DL100XX_MII_DIROUT_19); - + DL100XX_MIISET(sc, ED_DL100XX_MII_DIROUT); for (i = nbits - 1; i >= 0; i--) { if ((val >> i) & 1) DL100XX_MIISET(sc, ED_DL100XX_MII_DATAOUT); else DL100XX_MIICLR(sc, ED_DL100XX_MII_DATAOUT); - DELAY(10); DL100XX_MIISET(sc, ED_DL100XX_MII_CLK); - DELAY(10); DL100XX_MIICLR(sc, ED_DL100XX_MII_CLK); - DELAY(10); } } @@ -725,19 +718,13 @@ ed_pccard_dl100xx_mii_readbits(struct ed int i; u_int val = 0; - if (sc->chip_type == ED_CHIP_TYPE_DL10022) - DL100XX_MIICLR(sc, ED_DL100XX_MII_DIROUT_22); - else - DL100XX_MIICLR(sc, ED_DL100XX_MII_DIROUT_19); - + DL100XX_MIICLR(sc, ED_DL100XX_MII_DIROUT); for (i = nbits - 1; i >= 0; i--) { DL100XX_MIISET(sc, ED_DL100XX_MII_CLK); - DELAY(10); val <<= 1; if (ed_asic_inb(sc, ED_DL100XX_MIIBUS) & ED_DL100XX_MII_DATAIN) val++; DL100XX_MIICLR(sc, ED_DL100XX_MII_CLK); - DELAY(10); } return val; }