49#define FXP_CXINT_THRESH 120
54#define FXP_TXCB_MASK (FXP_NTXCB - 1)
61#define FXP_NRFABUFS 64
63#define FXP_NRFABUFS 16
71#define FXP_MAX_RX_IDLE 15
73#if __FreeBSD_version < 500000
75#define FXP_UNLOCK(_sc)
76#define mtx_init(a, b, c)
78struct mtx {
int dummy; };
80#define FXP_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx)
81#define FXP_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx)
86#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)(va))
104 bus_space_tag_t sc_st;
105 bus_space_handle_t sc_sh;
109 unsigned char pci_fun;
110 bool pci_regs_are_io;
111 u_int32_t pci_regs_base;
116 struct mbuf *rfa_headm;
117 struct mbuf *rfa_tailm;
124 enum {fxp_timeout_stopped,fxp_timeout_running,fxp_timeout_stop_rq}
129 struct ifmedia sc_media;
138 u_int32_t saved_maps[5];
139 u_int32_t saved_biosaddr;
140 u_int8_t saved_intline;
141 u_int8_t saved_cachelnsz;
142 u_int8_t saved_lattimer;
145#define FXP_CHIP_82557 1
147#define FXP_FLAG_MWI_ENABLE 0x0001
148#define FXP_FLAG_READ_ALIGN 0x0002
149#define FXP_FLAG_WRITE_ALIGN 0x0004
150#define FXP_FLAG_EXT_TXCB 0x0008
151#define FXP_FLAG_SERIAL_MEDIA 0x0010
152#define FXP_FLAG_LONG_PKT_EN 0x0020
153#define FXP_FLAG_ALL_MCAST 0x0040
154#define FXP_FLAG_CU_RESUME_BUG 0x0080
158#define CSR_READ_1(sc, reg) \
159 bus_space_read_1((sc)->sc_st, (sc)->sc_sh, (reg))
160#define CSR_READ_2(sc, reg) \
161 bus_space_read_2((sc)->sc_st, (sc)->sc_sh, (reg))
162#define CSR_READ_4(sc, reg) \
163 bus_space_read_4((sc)->sc_st, (sc)->sc_sh, (reg))
164#define CSR_WRITE_1(sc, reg, val) \
165 bus_space_write_1((sc)->sc_st, (sc)->sc_sh, (reg), (val))
166#define CSR_WRITE_2(sc, reg, val) \
167 bus_space_write_2((sc)->sc_st, (sc)->sc_sh, (reg), (val))
168#define CSR_WRITE_4(sc, reg, val) \
169 bus_space_write_4((sc)->sc_st, (sc)->sc_sh, (reg), (val))
171#define CSR_READ_1(sc, reg) fxp_csr_read_1(sc,reg)
172#define CSR_READ_2(sc, reg) fxp_csr_read_2(sc,reg)
173#define CSR_READ_4(sc, reg) fxp_csr_read_4(sc,reg)
175#define CSR_WRITE_1(sc, reg, val) \
177 if ((sc)->pci_regs_are_io) \
178 outport_byte((sc)->pci_regs_base+(reg),val); \
180 *((volatile u_int8_t*)((sc)->pci_regs_base)+(reg)) = val; \
183#define CSR_WRITE_2(sc, reg, val) \
185 if ((sc)->pci_regs_are_io) \
186 outport_word((sc)->pci_regs_base+(reg),val); \
188 *((volatile u_int16_t*)((u_int8_t*)((sc)->pci_regs_base)+(reg))) = val; \
191#define CSR_WRITE_4(sc, reg, val) \
193 if ((sc)->pci_regs_are_io) \
194 outport_long((sc)->pci_regs_base+(reg),val); \
196 *((volatile u_int32_t*)((u_int8_t*)((sc)->pci_regs_base)+(reg))) = val; \
201#define sc_if arpcom.ac_if
203#define FXP_UNIT(_sc) (_sc)->arpcom.ac_if.if_unit
ISR_Vector_number rtems_vector_number
Control block type used to manage the vectors.
Definition: intr.h:47
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:83
Definition: rtemscompat1.h:15
Definition: if_fxpreg.h:214
Definition: if_fxpreg.h:241
Definition: if_fxpvar.h:93
Definition: if_fxpreg.h:313
Definition: if_fxpvar.h:78