Deleted Added
full compact
if_argevar.h (278104) if_argevar.h (289476)
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 278104 2015-02-02 17:33:00Z sbruno $
27 * $FreeBSD: head/sys/mips/atheros/if_argevar.h 289476 2015-10-18 00:59:28Z 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
36#define ARGE_RX_DMA_SIZE ARGE_RX_RING_COUNT * sizeof(struct arge_desc)
37#define ARGE_TX_DMA_SIZE ARGE_TX_RING_COUNT * sizeof(struct arge_desc)
38#define ARGE_MAXFRAGS 8
39#define ARGE_RING_ALIGN sizeof(struct arge_desc)
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
36#define ARGE_RX_DMA_SIZE ARGE_RX_RING_COUNT * sizeof(struct arge_desc)
37#define ARGE_TX_DMA_SIZE ARGE_TX_RING_COUNT * sizeof(struct arge_desc)
38#define ARGE_MAXFRAGS 8
39#define ARGE_RING_ALIGN sizeof(struct arge_desc)
40#define ARGE_RX_ALIGN sizeof(uint32_t)
40#define ARGE_RX_ALIGN_4BYTE sizeof(uint32_t)
41#define ARGE_RX_ALIGN_1BYTE sizeof(char)
42#define ARGE_TX_ALIGN_4BYTE sizeof(uint32_t)
43#define ARGE_TX_ALIGN_1BYTE sizeof(char)
41#define ARGE_MAXFRAGS 8
42#define ARGE_TX_RING_ADDR(sc, i) \
43 ((sc)->arge_rdata.arge_tx_ring_paddr + sizeof(struct arge_desc) * (i))
44#define ARGE_RX_RING_ADDR(sc, i) \
45 ((sc)->arge_rdata.arge_rx_ring_paddr + sizeof(struct arge_desc) * (i))
46#define ARGE_INC(x,y) (x) = (((x) + 1) % y)
47
48

--- 95 unchanged lines hidden (view full) ---

144 * Allow PLL values to be overridden.
145 */
146struct arge_pll_data {
147 uint32_t pll_10;
148 uint32_t pll_100;
149 uint32_t pll_1000;
150};
151
44#define ARGE_MAXFRAGS 8
45#define ARGE_TX_RING_ADDR(sc, i) \
46 ((sc)->arge_rdata.arge_tx_ring_paddr + sizeof(struct arge_desc) * (i))
47#define ARGE_RX_RING_ADDR(sc, i) \
48 ((sc)->arge_rdata.arge_rx_ring_paddr + sizeof(struct arge_desc) * (i))
49#define ARGE_INC(x,y) (x) = (((x) + 1) % y)
50
51

--- 95 unchanged lines hidden (view full) ---

147 * Allow PLL values to be overridden.
148 */
149struct arge_pll_data {
150 uint32_t pll_10;
151 uint32_t pll_100;
152 uint32_t pll_1000;
153};
154
155/*
156 * Hardware specific behaviours.
157 */
158
159/*
160 * Older chips support 4 byte only transmit and receive
161 * addresses.
162 *
163 * Later chips support arbitrary TX and later later,
164 * arbitrary RX addresses.
165 */
166#define ARGE_HW_FLG_TX_DESC_ALIGN_4BYTE 0x00000001
167#define ARGE_HW_FLG_RX_DESC_ALIGN_4BYTE 0x00000002
168#define ARGE_HW_FLG_TX_DESC_ALIGN_1BYTE 0x00000004
169#define ARGE_HW_FLG_RX_DESC_ALIGN_1BYTE 0x00000008
170
152struct arge_softc {
153 struct ifnet *arge_ifp; /* interface info */
154 device_t arge_dev;
155 struct ifmedia arge_ifmedia;
156 /*
157 * Media & duples settings for multiPHY MAC
158 */
159 uint32_t arge_media_type;

--- 15 unchanged lines hidden (view full) ---

175 struct task arge_link_task;
176 struct arge_chain_data arge_cdata;
177 struct arge_ring_data arge_rdata;
178 int arge_link_status;
179 int arge_detach;
180 uint32_t arge_intr_status;
181 int arge_mac_unit;
182 int arge_if_flags;
171struct arge_softc {
172 struct ifnet *arge_ifp; /* interface info */
173 device_t arge_dev;
174 struct ifmedia arge_ifmedia;
175 /*
176 * Media & duples settings for multiPHY MAC
177 */
178 uint32_t arge_media_type;

--- 15 unchanged lines hidden (view full) ---

194 struct task arge_link_task;
195 struct arge_chain_data arge_cdata;
196 struct arge_ring_data arge_rdata;
197 int arge_link_status;
198 int arge_detach;
199 uint32_t arge_intr_status;
200 int arge_mac_unit;
201 int arge_if_flags;
202 uint32_t arge_hw_flags;
183 uint32_t arge_debug;
184 uint32_t arge_mdiofreq;
185 struct {
186 uint32_t tx_pkts_unaligned;
203 uint32_t arge_debug;
204 uint32_t arge_mdiofreq;
205 struct {
206 uint32_t tx_pkts_unaligned;
207 uint32_t tx_pkts_unaligned_start;
208 uint32_t tx_pkts_unaligned_len;
209 uint32_t tx_pkts_nosegs;
187 uint32_t tx_pkts_aligned;
188 uint32_t rx_overflow;
189 uint32_t tx_underflow;
210 uint32_t tx_pkts_aligned;
211 uint32_t rx_overflow;
212 uint32_t tx_underflow;
213 uint32_t intr_stray;
214 uint32_t intr_stray2;
215 uint32_t intr_ok;
190 } stats;
191};
192
193#endif /* __IF_ARGEVAR_H__ */
216 } stats;
217};
218
219#endif /* __IF_ARGEVAR_H__ */