From owner-svn-src-all@FreeBSD.ORG Sat Jan 29 00:53:58 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D7B3310656AB; Sat, 29 Jan 2011 00:53:58 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BD0DD8FC13; Sat, 29 Jan 2011 00:53:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p0T0rwsN007254; Sat, 29 Jan 2011 00:53:58 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p0T0rwg2007250; Sat, 29 Jan 2011 00:53:58 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201101290053.p0T0rwg2007250@svn.freebsd.org> From: Andrew Turner Date: Sat, 29 Jan 2011 00:53:58 +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: r218055 - head/sys/dev/cs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Jan 2011 00:53:59 -0000 Author: andrew Date: Sat Jan 29 00:53:58 2011 New Revision: 218055 URL: http://svn.freebsd.org/changeset/base/218055 Log: Use bus space functions rather than inw/outw to help a future port of the driver to ARM. Approved by: imp (mentor) Modified: head/sys/dev/cs/if_cs.c head/sys/dev/cs/if_csreg.h head/sys/dev/cs/if_csvar.h Modified: head/sys/dev/cs/if_cs.c ============================================================================== --- head/sys/dev/cs/if_cs.c Sat Jan 29 00:46:11 2011 (r218054) +++ head/sys/dev/cs/if_cs.c Sat Jan 29 00:53:58 2011 (r218055) @@ -272,8 +272,6 @@ cs_cs89x0_probe(device_t dev) if (error) return (error); - sc->nic_addr = rman_get_start(sc->port_res); - if ((cs_inw(sc, ADD_PORT) & ADD_MASK) != ADD_SIG) { /* Chip not detected. Let's try to reset it */ if (bootverbose) @@ -704,7 +702,7 @@ static int cs_get_packet(struct cs_softc *sc) { struct ifnet *ifp = sc->ifp; - int iobase = sc->nic_addr, status, length; + int status, length; struct ether_header *eh; struct mbuf *m; @@ -746,7 +744,8 @@ cs_get_packet(struct cs_softc *sc) m->m_len = length; /* Get the data */ - insw(iobase + RX_FRAME_PORT, m->m_data, (length+1)>>1); + bus_read_multi_2(sc->port_res, RX_FRAME_PORT, mtod(m, uint16_t *), + (length + 1) >> 1); eh = mtod(m, struct ether_header *); @@ -869,7 +868,8 @@ cs_write_mbufs( struct cs_softc *sc, str static void cs_xmit_buf( struct cs_softc *sc ) { - outsw(sc->nic_addr+TX_FRAME_PORT, sc->buffer, (sc->buf_len+1)>>1); + bus_write_multi_2(sc->port_res, TX_FRAME_PORT, (uint16_t *)sc->buffer, + (sc->buf_len + 1) >> 1); sc->buf_len = 0; } Modified: head/sys/dev/cs/if_csreg.h ============================================================================== --- head/sys/dev/cs/if_csreg.h Sat Jan 29 00:46:11 2011 (r218054) +++ head/sys/dev/cs/if_csreg.h Sat Jan 29 00:53:58 2011 (r218055) @@ -30,6 +30,8 @@ * $FreeBSD$ */ +#include + #define CS_89x0_IO_PORTS 0x0020 #define PP_ChipID 0x0000 /* offset 0h -> Corp -ID */ @@ -541,21 +543,21 @@ cs_inw(struct cs_softc *sc, int off) { if (off & 1) device_printf(sc->dev, "BUG: inw to an odd address.\n"); - return ((inb(sc->nic_addr + off) & 0xff) | - (inb(sc->nic_addr + off + 1) << 8)); + return ((bus_read_1(sc->port_res, off)) | + (bus_read_1(sc->port_res, off + 1) << 8)); } #else static __inline uint16_t cs_inw(struct cs_softc *sc, int off) { - return (inw(sc->nic_addr + off)); + return (bus_read_2(sc->port_res, off)); } #endif static __inline void cs_outw(struct cs_softc *sc, int off, uint16_t val) { - outw(sc->nic_addr + off, val); + bus_write_2(sc->port_res, off, val); } static __inline uint16_t Modified: head/sys/dev/cs/if_csvar.h ============================================================================== --- head/sys/dev/cs/if_csvar.h Sat Jan 29 00:46:11 2011 (r218054) +++ head/sys/dev/cs/if_csvar.h Sat Jan 29 00:53:58 2011 (r218055) @@ -57,7 +57,6 @@ struct cs_softc { int flags; #define CS_NO_IRQ 0x1 - int nic_addr; /* Base IO address of card */ int send_cmd; int line_ctl; /* */ int send_underrun;