diff options
author | Marius Strobl <marius@FreeBSD.org> | 2011-11-01 16:13:59 +0000 |
---|---|---|
committer | Marius Strobl <marius@FreeBSD.org> | 2011-11-01 16:13:59 +0000 |
commit | 8c1093fc50ab084b2ddd4750290a23d62616e0b6 (patch) | |
tree | ad9ba266ea9f21e3bb8157cdc1c2c7c8b1a6b9a3 /sys/dev/bm/if_bmvar.h | |
parent | 948fa27d49f863b6b1a006993ef1822ed2f7c020 (diff) | |
download | src-8c1093fc50ab084b2ddd4750290a23d62616e0b6.tar.gz src-8c1093fc50ab084b2ddd4750290a23d62616e0b6.zip |
- Import the common MII bitbang'ing code from NetBSD and convert drivers to
take advantage of it instead of duplicating it. This reduces the size of
the i386 GENERIC kernel by about 4k. The only potential in-tree user left
unconverted is xe(4), which generally should be changed to use miibus(4)
instead of implementing PHY handling on its own, as otherwise it makes not
much sense to add a dependency on miibus(4)/mii_bitbang(4) to xe(4) just
for the MII bitbang'ing code. The common MII bitbang'ing code also is
useful in the embedded space for using GPIO pins to implement MII access.
- Based on lessons learnt with dc(4) (see r185750), add bus barriers to the
MII bitbang read and write functions of the other drivers converted in
order to ensure the intended ordering. Given that register access via an
index register as well as register bank/window switching is subject to the
same problem, also add bus barriers to the respective functions of smc(4),
tl(4) and xl(4).
- Sprinkle some const.
Thanks to the following testers:
Andrew Bliznak (nge(4)), nwhitehorn@ (bm(4)), yongari@ (sis(4) and ste(4))
Thanks to Hans-Joerg Sirtl for supplying hardware to test stge(4).
Reviewed by: yongari (subset of drivers)
Obtained from: NetBSD (partially)
Notes
Notes:
svn path=/head/; revision=226995
Diffstat (limited to 'sys/dev/bm/if_bmvar.h')
-rw-r--r-- | sys/dev/bm/if_bmvar.h | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/sys/dev/bm/if_bmvar.h b/sys/dev/bm/if_bmvar.h index 7d314899b5c5..b50d65b479ed 100644 --- a/sys/dev/bm/if_bmvar.h +++ b/sys/dev/bm/if_bmvar.h @@ -46,7 +46,6 @@ /* * software state for transmit job mbufs (may be elements of mbuf chains) */ - struct bm_txsoft { struct mbuf *txs_mbuf; /* head of our mbuf chain */ bus_dmamap_t txs_dmamap; /* our DMA map */ @@ -71,7 +70,6 @@ struct bm_rxsoft { bus_dma_segment_t segment; }; - struct bm_softc { struct ifnet *sc_ifp; struct mtx sc_mtx; @@ -113,13 +111,3 @@ struct bm_softc { dbdma_channel_t *sc_txdma, *sc_rxdma; }; - -struct bm_mii_frame { - u_int8_t mii_stdelim; - u_int8_t mii_opcode; - u_int8_t mii_phyaddr; - u_int8_t mii_regaddr; - u_int8_t mii_turnaround; - u_int16_t mii_data; -}; - |