Lines Matching defs:emac_softc
160 struct emac_softc { struct
161 device_t sc_dev; /* generic device information */
162 int sc_instance; /* instance no. */
163 bus_space_tag_t sc_st; /* bus space tag */
164 bus_space_handle_t sc_sh; /* bus space handle */
165 bus_dma_tag_t sc_dmat; /* bus DMA tag */
166 struct ethercom sc_ethercom; /* ethernet common data */
167 void *sc_sdhook; /* shutdown hook */
168 void *sc_powerhook; /* power management hook */
170 struct mii_data sc_mii; /* MII/media information */
171 struct callout sc_callout; /* tick callout */
173 uint32_t sc_mr1; /* copy of Mode Register 1 */
174 uint32_t sc_stacr_read; /* Read opcode of STAOPC of STACR */
175 uint32_t sc_stacr_write; /* Write opcode of STAOPC of STACR */
176 uint32_t sc_stacr_bits; /* misc bits of STACR */
177 bool sc_stacr_completed; /* Operation completed of STACR */
178 int sc_htsize; /* Hash Table size */
180 bus_dmamap_t sc_cddmamap; /* control data dma map */
184 struct emac_txsoft sc_txsoft[EMAC_TXQUEUELEN];
185 struct emac_rxsoft sc_rxsoft[EMAC_NRXDESC];
188 struct emac_control_data *sc_control_data;
193 struct evcnt sc_ev_rxintr; /* Rx interrupts */
194 struct evcnt sc_ev_txintr; /* Tx interrupts */
195 struct evcnt sc_ev_rxde; /* Rx descriptor interrupts */
196 struct evcnt sc_ev_txde; /* Tx descriptor interrupts */
197 struct evcnt sc_ev_intr; /* General EMAC interrupts */
199 struct evcnt sc_ev_txreap; /* Calls to Tx descriptor reaper */
200 struct evcnt sc_ev_txsstall; /* Tx stalled due to no txs */
201 struct evcnt sc_ev_txdstall; /* Tx stalled due to no txd */
202 struct evcnt sc_ev_txdrop; /* Tx packets dropped (too many segs) */
203 struct evcnt sc_ev_tu; /* Tx underrun */
206 int sc_txfree; /* number of free Tx descriptors */
207 int sc_txnext; /* next ready Tx descriptor */
209 int sc_txsfree; /* number of free Tx jobs */
210 int sc_txsnext; /* next ready Tx job */
211 int sc_txsdirty; /* dirty Tx jobs */
213 int sc_rxptr; /* next ready RX descriptor/descsoft */
215 krndsource_t rnd_source; /* random source */
217 void (*sc_rmii_enable)(device_t, int); /* reduced MII enable */
218 void (*sc_rmii_disable)(device_t, int); /* reduced MII disable*/
219 void (*sc_rmii_speed)(device_t, int, int); /* reduced MII speed */