if_argevar.h (220356) | if_argevar.h (234862) |
---|---|
1/*- 2 * Copyright (c) 2009, Oleksandr Tymoshenko 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 10 unchanged lines hidden (view full) --- 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * | 1/*- 2 * Copyright (c) 2009, Oleksandr Tymoshenko 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 10 unchanged lines hidden (view full) --- 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * |
27 * $FreeBSD: head/sys/mips/atheros/if_argevar.h 220356 2011-04-05 06:33:35Z adrian $ | 27 * $FreeBSD: head/sys/mips/atheros/if_argevar.h 234862 2012-05-01 06:18:30Z adrian $ |
28 */ 29 30#ifndef __IF_ARGEVAR_H__ 31#define __IF_ARGEVAR_H__ 32 33#define ARGE_NPHY 32 34#define ARGE_TX_RING_COUNT 128 35#define ARGE_RX_RING_COUNT 128 --- 26 unchanged lines hidden (view full) --- 62#define ARGE_READ(sc, reg) bus_read_4(sc->arge_res, (reg)) 63 64#define ARGE_SET_BITS(sc, reg, bits) \ 65 ARGE_WRITE(sc, reg, ARGE_READ(sc, (reg)) | (bits)) 66 67#define ARGE_CLEAR_BITS(sc, reg, bits) \ 68 ARGE_WRITE(sc, reg, ARGE_READ(sc, (reg)) & ~(bits)) 69 | 28 */ 29 30#ifndef __IF_ARGEVAR_H__ 31#define __IF_ARGEVAR_H__ 32 33#define ARGE_NPHY 32 34#define ARGE_TX_RING_COUNT 128 35#define ARGE_RX_RING_COUNT 128 --- 26 unchanged lines hidden (view full) --- 62#define ARGE_READ(sc, reg) bus_read_4(sc->arge_res, (reg)) 63 64#define ARGE_SET_BITS(sc, reg, bits) \ 65 ARGE_WRITE(sc, reg, ARGE_READ(sc, (reg)) | (bits)) 66 67#define ARGE_CLEAR_BITS(sc, reg, bits) \ 68 ARGE_WRITE(sc, reg, ARGE_READ(sc, (reg)) & ~(bits)) 69 |
70/* 71 * MII registers access macros 72 */ 73#define ARGE_MII_READ(reg) \ 74 *((volatile uint32_t *)MIPS_PHYS_TO_KSEG1((AR71XX_MII_BASE + reg))) | 70#define ARGE_MDIO_WRITE(_sc, _reg, _val) \ 71 ARGE_WRITE((_sc), (_reg), (_val)) 72#define ARGE_MDIO_READ(_sc, _reg) \ 73 ARGE_READ((_sc), (_reg)) |
75 | 74 |
76#define ARGE_MII_WRITE(reg, val) \ 77 *((volatile uint32_t *)MIPS_PHYS_TO_KSEG1((AR71XX_MII_BASE + reg))) = (val) 78 79 | |
80#define ARGE_DESC_EMPTY (1 << 31) 81#define ARGE_DESC_MORE (1 << 24) 82#define ARGE_DESC_SIZE_MASK ((1 << 12) - 1) 83#define ARGE_DMASIZE(len) ((len) & ARGE_DESC_SIZE_MASK) 84struct arge_desc { 85 uint32_t packet_addr; 86 uint32_t packet_ctrl; 87 uint32_t next_desc; --- 39 unchanged lines hidden (view full) --- 127 struct ifnet *arge_ifp; /* interface info */ 128 device_t arge_dev; 129 struct ifmedia arge_ifmedia; 130 /* 131 * Media & duples settings for multiPHY MAC 132 */ 133 uint32_t arge_media_type; 134 uint32_t arge_duplex_mode; | 75#define ARGE_DESC_EMPTY (1 << 31) 76#define ARGE_DESC_MORE (1 << 24) 77#define ARGE_DESC_SIZE_MASK ((1 << 12) - 1) 78#define ARGE_DMASIZE(len) ((len) & ARGE_DESC_SIZE_MASK) 79struct arge_desc { 80 uint32_t packet_addr; 81 uint32_t packet_ctrl; 82 uint32_t next_desc; --- 39 unchanged lines hidden (view full) --- 122 struct ifnet *arge_ifp; /* interface info */ 123 device_t arge_dev; 124 struct ifmedia arge_ifmedia; 125 /* 126 * Media & duples settings for multiPHY MAC 127 */ 128 uint32_t arge_media_type; 129 uint32_t arge_duplex_mode; |
130 uint32_t arge_phymask; 131 uint8_t arge_eaddr[ETHER_ADDR_LEN]; |
|
135 struct resource *arge_res; 136 int arge_rid; 137 struct resource *arge_irq; 138 void *arge_intrhand; 139 device_t arge_miibus; | 132 struct resource *arge_res; 133 int arge_rid; 134 struct resource *arge_irq; 135 void *arge_intrhand; 136 device_t arge_miibus; |
137 device_t arge_miiproxy; |
|
140 bus_dma_tag_t arge_parent_tag; 141 bus_dma_tag_t arge_tag; 142 struct mtx arge_mtx; 143 struct callout arge_stat_callout; 144 struct task arge_link_task; 145 struct arge_chain_data arge_cdata; 146 struct arge_ring_data arge_rdata; 147 int arge_link_status; 148 int arge_detach; 149 uint32_t arge_intr_status; 150 int arge_mac_unit; | 138 bus_dma_tag_t arge_parent_tag; 139 bus_dma_tag_t arge_tag; 140 struct mtx arge_mtx; 141 struct callout arge_stat_callout; 142 struct task arge_link_task; 143 struct arge_chain_data arge_cdata; 144 struct arge_ring_data arge_rdata; 145 int arge_link_status; 146 int arge_detach; 147 uint32_t arge_intr_status; 148 int arge_mac_unit; |
151 int arge_phymask; | |
152 int arge_if_flags; 153 uint32_t arge_debug; 154 struct { 155 uint32_t tx_pkts_unaligned; 156 uint32_t tx_pkts_aligned; 157 uint32_t rx_overflow; 158 uint32_t tx_underflow; 159 } stats; 160}; 161 162#endif /* __IF_ARGEVAR_H__ */ | 149 int arge_if_flags; 150 uint32_t arge_debug; 151 struct { 152 uint32_t tx_pkts_unaligned; 153 uint32_t tx_pkts_aligned; 154 uint32_t rx_overflow; 155 uint32_t tx_underflow; 156 } stats; 157}; 158 159#endif /* __IF_ARGEVAR_H__ */ |