drivers/net: add generic ethdev macro to get PCI device
[dpdk.git] / drivers / net / sfc / sfc.h
index c2961ea..7927678 100644 (file)
@@ -46,9 +46,6 @@
 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
@@ -64,20 +61,20 @@ extern "C" {
  *     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                       |
@@ -139,7 +136,6 @@ struct sfc_intr {
        boolean_t                       lsc_intr;
 };
 
-struct sfc_evq_info;
 struct sfc_rxq_info;
 struct sfc_txq_info;
 struct sfc_dp_rx;
@@ -204,10 +200,10 @@ struct sfc_adapter {
 
        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;
@@ -283,6 +279,8 @@ int sfc_dma_alloc(const struct sfc_adapter *sa, const char *name, uint16_t id,
                  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);
@@ -296,13 +294,15 @@ void sfc_close(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,