diff options
author | Damien Bergamini <damien@cvs.openbsd.org> | 2007-06-16 14:15:38 +0000 |
---|---|---|
committer | Damien Bergamini <damien@cvs.openbsd.org> | 2007-06-16 14:15:38 +0000 |
commit | a735d7e55e40e6c28e2971c7e0f5d5fef4204bcf (patch) | |
tree | 7c31fd5d6e7eaa6e6c6076651ff8c7d37ceba4de /sys/dev/pci | |
parent | ff5c7fe26c5d47b413c2a1f6fcbd7723bdbec5c6 (diff) |
do not allocate ring descriptors for the service queue.
this queue is used to load the firmware and the descriptors are written
differently (in wpi_load_segment()).
so the DMA descriptors were actually unused.
saves 16KB of memory.
Diffstat (limited to 'sys/dev/pci')
-rw-r--r-- | sys/dev/pci/if_wpi.c | 12 | ||||
-rw-r--r-- | sys/dev/pci/if_wpireg.h | 3 | ||||
-rw-r--r-- | sys/dev/pci/if_wpivar.h | 3 |
3 files changed, 4 insertions, 14 deletions
diff --git a/sys/dev/pci/if_wpi.c b/sys/dev/pci/if_wpi.c index 19df2044ebd..61c0f1f771f 100644 --- a/sys/dev/pci/if_wpi.c +++ b/sys/dev/pci/if_wpi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_wpi.c,v 1.44 2007/06/11 19:26:42 damien Exp $ */ +/* $OpenBSD: if_wpi.c,v 1.45 2007/06/16 14:15:37 damien Exp $ */ /*- * Copyright (c) 2006, 2007 @@ -261,16 +261,10 @@ wpi_attach(struct device *parent, struct device *self, void *aux) goto fail3; } - error = wpi_alloc_tx_ring(sc, &sc->svcq, WPI_SVC_RING_COUNT, 5); - if (error != 0) { - printf(": could not allocate service ring\n"); - goto fail4; - } - error = wpi_alloc_rx_ring(sc, &sc->rxq); if (error != 0) { printf(": could not allocate Rx ring\n"); - goto fail5; + goto fail4; } ic->ic_phytype = IEEE80211_T_OFDM; /* not only, but not used */ @@ -350,7 +344,6 @@ wpi_attach(struct device *parent, struct device *self, void *aux) return; /* free allocated memory if something failed during attachment */ -fail5: wpi_free_tx_ring(sc, &sc->svcq); fail4: wpi_free_tx_ring(sc, &sc->cmdq); fail3: while (--ac >= 0) wpi_free_tx_ring(sc, &sc->txq[ac]); @@ -2911,7 +2904,6 @@ wpi_stop(struct ifnet *ifp, int disable) for (ac = 0; ac < 4; ac++) wpi_reset_tx_ring(sc, &sc->txq[ac]); wpi_reset_tx_ring(sc, &sc->cmdq); - wpi_reset_tx_ring(sc, &sc->svcq); /* reset Rx ring */ wpi_reset_rx_ring(sc, &sc->rxq); diff --git a/sys/dev/pci/if_wpireg.h b/sys/dev/pci/if_wpireg.h index bf6ef5ac853..9945d897ff6 100644 --- a/sys/dev/pci/if_wpireg.h +++ b/sys/dev/pci/if_wpireg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if_wpireg.h,v 1.14 2007/06/09 09:50:00 damien Exp $ */ +/* $OpenBSD: if_wpireg.h,v 1.15 2007/06/16 14:15:37 damien Exp $ */ /*- * Copyright (c) 2006, 2007 @@ -18,7 +18,6 @@ */ #define WPI_TX_RING_COUNT 256 -#define WPI_SVC_RING_COUNT 256 #define WPI_CMD_RING_COUNT 256 #define WPI_RX_RING_COUNT 64 diff --git a/sys/dev/pci/if_wpivar.h b/sys/dev/pci/if_wpivar.h index 4ee209cb70d..09daa0c80c3 100644 --- a/sys/dev/pci/if_wpivar.h +++ b/sys/dev/pci/if_wpivar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if_wpivar.h,v 1.11 2007/06/05 19:49:40 damien Exp $ */ +/* $OpenBSD: if_wpivar.h,v 1.12 2007/06/16 14:15:37 damien Exp $ */ /*- * Copyright (c) 2006, 2007 @@ -143,7 +143,6 @@ struct wpi_softc { /* rings */ struct wpi_tx_ring txq[4]; struct wpi_tx_ring cmdq; - struct wpi_tx_ring svcq; struct wpi_rx_ring rxq; bus_space_tag_t sc_st; |