extern "C" {
#endif
-#define SFC_DEV_TO_PCI(eth_dev) \
- RTE_DEV_TO_PCI((eth_dev)->device)
-
#if EFSYS_OPT_RX_SCALE
/** RSS key length (bytes) */
#define SFC_RSS_KEY_SIZE 40
* V |
* +---------------+------------+
* | INITIALIZED |
- * +---------------+<-----------+
- * |.dev_configure |
- * V |
- * +---------------+ |
- * | CONFIGURING |------------^
- * +---------------+ failed |
- * |success |
- * | +---------------+
- * | | CLOSING |
- * | +---------------+
- * | ^
- * V |.dev_close
- * +---------------+------------+
- * | CONFIGURED |
+ * +---------------+<-----------<---------------+
+ * |.dev_configure | |
+ * V |failed |
+ * +---------------+------------+ |
+ * | CONFIGURING | |
+ * +---------------+----+ |
+ * |success | |
+ * | | +---------------+
+ * | | | CLOSING |
+ * | | +---------------+
+ * | | ^
+ * V |.dev_configure |
+ * +---------------+----+ |.dev_close
+ * | CONFIGURED |----------------------------+
* +---------------+<-----------+
* |.dev_start |
* V |
boolean_t lsc_intr;
};
-struct sfc_evq_info;
struct sfc_rxq_info;
struct sfc_txq_info;
struct sfc_dp_rx;
*/
rte_spinlock_t lock;
enum sfc_adapter_state state;
+ struct rte_pci_addr pci_addr;
+ uint16_t port_id;
struct rte_eth_dev *eth_dev;
struct rte_kvargs *kvargs;
bool debug_init;
uint32_t evq_flags;
unsigned int evq_count;
- struct sfc_evq_info *evq_info;
unsigned int mgmt_evq_index;
rte_spinlock_t mgmt_evq_lock;
+ struct sfc_evq *mgmt_evq;
unsigned int rxq_count;
struct sfc_rxq_info *rxq_info;
#endif
const struct sfc_dp_rx *dp_rx;
+ const struct sfc_dp_tx *dp_tx;
};
/*
size_t len, int socket_id, efsys_mem_t *esmp);
void sfc_dma_free(const struct sfc_adapter *sa, efsys_mem_t *esmp);
+int sfc_probe(struct sfc_adapter *sa);
+void sfc_unprobe(struct sfc_adapter *sa);
int sfc_attach(struct sfc_adapter *sa);
void sfc_detach(struct sfc_adapter *sa);
int sfc_start(struct sfc_adapter *sa);
int sfc_intr_attach(struct sfc_adapter *sa);
void sfc_intr_detach(struct sfc_adapter *sa);
-int sfc_intr_init(struct sfc_adapter *sa);
-void sfc_intr_fini(struct sfc_adapter *sa);
+int sfc_intr_configure(struct sfc_adapter *sa);
+void sfc_intr_close(struct sfc_adapter *sa);
int sfc_intr_start(struct sfc_adapter *sa);
void sfc_intr_stop(struct sfc_adapter *sa);
-int sfc_port_init(struct sfc_adapter *sa);
-void sfc_port_fini(struct sfc_adapter *sa);
+int sfc_port_attach(struct sfc_adapter *sa);
+void sfc_port_detach(struct sfc_adapter *sa);
+int sfc_port_configure(struct sfc_adapter *sa);
+void sfc_port_close(struct sfc_adapter *sa);
int sfc_port_start(struct sfc_adapter *sa);
void sfc_port_stop(struct sfc_adapter *sa);
void sfc_port_link_mode_to_info(efx_link_mode_t link_mode,