[Midnightbsd-cvs] src: dev/nge: merge changes with freebsd 7
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Mon Dec 1 21:09:12 EST 2008
Log Message:
-----------
merge changes with freebsd 7
Modified Files:
--------------
src/sys/dev/nge:
if_nge.c (r1.2 -> r1.3)
if_ngereg.h (r1.1.1.1 -> r1.2)
-------------- next part --------------
Index: if_nge.c
===================================================================
RCS file: /home/cvs/src/sys/dev/nge/if_nge.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -L sys/dev/nge/if_nge.c -L sys/dev/nge/if_nge.c -u -r1.2 -r1.3
--- sys/dev/nge/if_nge.c
+++ sys/dev/nge/if_nge.c
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.75.2.6 2006/01/13 19:21:44 glebius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.91 2007/03/04 03:38:07 csjp Exp $");
/*
* National Semiconductor DP83820/DP83821 gigabit ethernet driver
@@ -113,7 +113,6 @@
#include <vm/vm.h> /* for vtophys */
#include <vm/pmap.h> /* for vtophys */
-#include <machine/clock.h> /* for DELAY */
#include <machine/bus.h>
#include <machine/resource.h>
#include <sys/bus.h>
@@ -133,7 +132,7 @@
MODULE_DEPEND(nge, ether, 1, 1, 1);
MODULE_DEPEND(nge, miibus, 1, 1, 1);
-/* "controller miibus0" required. See GENERIC if you get errors here. */
+/* "device miibus" required. See GENERIC if you get errors here. */
#include "miibus_if.h"
#define NGE_CSUM_FEATURES (CSUM_IP | CSUM_TCP | CSUM_UDP)
@@ -742,7 +741,7 @@
}
if (i == NGE_TIMEOUT)
- if_printf(sc->nge_ifp, "reset never completed\n");
+ device_printf(sc->nge_dev, "reset never completed\n");
/* Wait a little while for the chip to get its brains in order. */
DELAY(1000);
@@ -795,6 +794,7 @@
int error = 0, rid;
sc = device_get_softc(dev);
+ sc->nge_dev = dev;
NGE_LOCK_INIT(sc, device_get_nameunit(dev));
callout_init_mtx(&sc->nge_stat_ch, &sc->nge_mtx, 0);
@@ -915,7 +915,7 @@
* Hookup IRQ last.
*/
error = bus_setup_intr(dev, sc->nge_irq, INTR_TYPE_NET | INTR_MPSAFE,
- nge_intr, sc, &sc->nge_intrhand);
+ NULL, nge_intr, sc, &sc->nge_intrhand);
if (error) {
device_printf(dev, "couldn't set up irq\n");
goto fail;
@@ -1227,10 +1227,9 @@
* to vlan_input() instead of ether_input().
*/
if (extsts & NGE_RXEXTSTS_VLANPKT) {
- VLAN_INPUT_TAG_NEW(ifp, m,
- ntohs(extsts & NGE_RXEXTSTS_VTCI));
- if (m == NULL)
- continue;
+ m->m_pkthdr.ether_vtag =
+ ntohs(extsts & NGE_RXEXTSTS_VTCI);
+ m->m_flags |= M_VLANTAG;
}
NGE_UNLOCK(sc);
(*ifp->if_input)(ifp, m);
@@ -1322,7 +1321,7 @@
if (CSR_READ_4(sc, NGE_TBI_BMSR)
& NGE_TBIBMSR_ANEG_DONE) {
if (bootverbose)
- if_printf(sc->nge_ifp,
+ device_printf(sc->nge_dev,
"gigabit link up\n");
nge_miibus_statchg(sc->nge_miibus);
sc->nge_link++;
@@ -1340,7 +1339,7 @@
sc->nge_link++;
if (IFM_SUBTYPE(mii->mii_media_active)
== IFM_1000_T && bootverbose)
- if_printf(sc->nge_ifp,
+ device_printf(sc->nge_dev,
"gigabit link up\n");
if (ifp->if_snd.ifq_head != NULL)
nge_start_locked(ifp);
@@ -1507,7 +1506,6 @@
struct nge_desc *f = NULL;
struct mbuf *m;
int frag, cur, cnt = 0;
- struct m_tag *mtag;
/*
* Start packing the mbufs in this chain into
@@ -1549,10 +1547,9 @@
NGE_TXEXTSTS_UDPCSUM;
}
- mtag = VLAN_OUTPUT_TAG(sc->nge_ifp, m_head);
- if (mtag != NULL) {
+ if (m_head->m_flags & M_VLANTAG) {
sc->nge_ldata->nge_tx_list[cur].nge_extsts |=
- (NGE_TXEXTSTS_VLANPKT|htons(VLAN_TAG_VALUE(mtag)));
+ (NGE_TXEXTSTS_VLANPKT|htons(m_head->m_pkthdr.ether_vtag));
}
sc->nge_ldata->nge_tx_list[cur].nge_mbuf = m_head;
@@ -1616,7 +1613,7 @@
* If there's a BPF listener, bounce a copy of this frame
* to him.
*/
- BPF_MTAP(ifp, m_head);
+ ETHER_BPF_MTAP(ifp, m_head);
}
@@ -1669,17 +1666,17 @@
/* Set MAC address */
CSR_WRITE_4(sc, NGE_RXFILT_CTL, NGE_FILTADDR_PAR0);
CSR_WRITE_4(sc, NGE_RXFILT_DATA,
- ((u_int16_t *)IFP2ENADDR(sc->nge_ifp))[0]);
+ ((u_int16_t *)IF_LLADDR(sc->nge_ifp))[0]);
CSR_WRITE_4(sc, NGE_RXFILT_CTL, NGE_FILTADDR_PAR1);
CSR_WRITE_4(sc, NGE_RXFILT_DATA,
- ((u_int16_t *)IFP2ENADDR(sc->nge_ifp))[1]);
+ ((u_int16_t *)IF_LLADDR(sc->nge_ifp))[1]);
CSR_WRITE_4(sc, NGE_RXFILT_CTL, NGE_FILTADDR_PAR2);
CSR_WRITE_4(sc, NGE_RXFILT_DATA,
- ((u_int16_t *)IFP2ENADDR(sc->nge_ifp))[2]);
+ ((u_int16_t *)IF_LLADDR(sc->nge_ifp))[2]);
/* Init circular RX list. */
if (nge_list_rx_init(sc) == ENOBUFS) {
- if_printf(sc->nge_ifp, "initialization failed: no "
+ device_printf(sc->nge_dev, "initialization failed: no "
"memory for rx buffers\n");
nge_stop(sc);
return;
@@ -2080,7 +2077,7 @@
sc = ifp->if_softc;
ifp->if_oerrors++;
- if_printf(sc->nge_ifp, "watchdog timeout\n");
+ if_printf(ifp, "watchdog timeout\n");
NGE_LOCK(sc);
nge_stop(sc);
Index: if_ngereg.h
===================================================================
RCS file: /home/cvs/src/sys/dev/nge/if_ngereg.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -L sys/dev/nge/if_ngereg.h -L sys/dev/nge/if_ngereg.h -u -r1.1.1.1 -r1.2
--- sys/dev/nge/if_ngereg.h
+++ sys/dev/nge/if_ngereg.h
@@ -30,7 +30,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/nge/if_ngereg.h,v 1.13.2.1 2005/11/05 00:53:41 jhb Exp $
+ * $FreeBSD: src/sys/dev/nge/if_ngereg.h,v 1.16 2006/09/15 15:16:12 glebius Exp $
*/
#define NGE_CSR 0x00
@@ -649,6 +649,7 @@
struct nge_softc {
struct ifnet *nge_ifp;
+ device_t nge_dev;
bus_space_handle_t nge_bhandle;
bus_space_tag_t nge_btag;
struct resource *nge_res;
@@ -731,8 +732,3 @@
#define NGE_PSTATE_D3 0x0003
#define NGE_PME_EN 0x0010
#define NGE_PME_STATUS 0x8000
-
-#ifdef __alpha__
-#undef vtophys
-#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)va)
-#endif
More information about the Midnightbsd-cvs
mailing list