svn commit: r192719 - head/sys/dev/msk
Pyun YongHyeon
yongari at FreeBSD.org
Mon May 25 03:49:44 UTC 2009
Author: yongari
Date: Mon May 25 03:49:43 2009
New Revision: 192719
URL: http://svn.freebsd.org/changeset/base/192719
Log:
Use bit definition to represent MSI and detach state instead of
using separate variables in softc.
Modified:
head/sys/dev/msk/if_msk.c
head/sys/dev/msk/if_mskreg.h
Modified: head/sys/dev/msk/if_msk.c
==============================================================================
--- head/sys/dev/msk/if_msk.c Mon May 25 03:42:33 2009 (r192718)
+++ head/sys/dev/msk/if_msk.c Mon May 25 03:49:43 2009 (r192719)
@@ -923,7 +923,7 @@ msk_ioctl(struct ifnet *ifp, u_long comm
& (IFF_PROMISC | IFF_ALLMULTI)) != 0)
msk_rxfilter(sc_if);
} else {
- if (sc_if->msk_detach == 0)
+ if ((sc_if->msk_flags & MSK_FLAG_DETACH) == 0)
msk_init_locked(sc_if);
}
} else {
@@ -1645,7 +1645,7 @@ mskc_attach(device_t dev)
if (sc->msk_num_port == 1 &&
pci_alloc_msi(dev, &msir) == 0) {
if (msic == msir) {
- sc->msk_msi = 1;
+ sc->msk_pflags |= MSK_FLAG_MSI;
sc->msk_irq_spec = msic == 2 ?
msk_irq_spec_msi2 :
msk_irq_spec_msi;
@@ -1771,7 +1771,7 @@ msk_detach(device_t dev)
ifp = sc_if->msk_ifp;
if (device_is_attached(dev)) {
/* XXX */
- sc_if->msk_detach = 1;
+ sc_if->msk_flags |= MSK_FLAG_DETACH;
msk_stop(sc_if);
/* Can't hold locks while calling detach. */
MSK_IF_UNLOCK(sc_if);
@@ -1855,7 +1855,7 @@ mskc_detach(device_t dev)
sc->msk_intrhand[1] = NULL;
}
bus_release_resources(dev, sc->msk_irq_spec, sc->msk_irq);
- if (sc->msk_msi)
+ if ((sc->msk_pflags & MSK_FLAG_MSI) != 0)
pci_release_msi(dev);
bus_release_resources(dev, sc->msk_res_spec, sc->msk_res);
mtx_destroy(&sc->msk_mtx);
Modified: head/sys/dev/msk/if_mskreg.h
==============================================================================
--- head/sys/dev/msk/if_mskreg.h Mon May 25 03:42:33 2009 (r192718)
+++ head/sys/dev/msk/if_mskreg.h Mon May 25 03:49:43 2009 (r192719)
@@ -2343,7 +2343,6 @@ struct msk_softc {
uint32_t msk_intrhwemask;
uint32_t msk_pflags;
int msk_clock;
- int msk_msi;
struct msk_if_softc *msk_if[2];
device_t msk_devs[2];
int msk_txqsize;
@@ -2382,9 +2381,11 @@ struct msk_if_softc {
int msk_phytype;
int msk_phyaddr;
uint32_t msk_flags;
+#define MSK_FLAG_MSI 0x0001
#define MSK_FLAG_RAMBUF 0x0010
#define MSK_FLAG_NOJUMBO 0x0020
#define MSK_FLAG_SUSPEND 0x2000
+#define MSK_FLAG_DETACH 0x4000
#define MSK_FLAG_LINK 0x8000
struct callout msk_tick_ch;
int msk_watchdog_timer;
@@ -2397,7 +2398,6 @@ struct msk_if_softc {
struct msk_hw_stats msk_stats;
struct task msk_tx_task;
int msk_if_flags;
- int msk_detach;
uint16_t msk_vtag; /* VLAN tag id. */
};
More information about the svn-src-all
mailing list