efx_mcdi_transport_t transport;
};
+struct sfc_intr {
+ efx_intr_type_t type;
+};
+
+struct sfc_evq_info;
+
+struct sfc_port {
+ unsigned int flow_ctrl;
+ boolean_t flow_ctrl_autoneg;
+ size_t pdu;
+};
+
/* Adapter private data */
struct sfc_adapter {
/*
rte_spinlock_t nic_lock;
struct sfc_mcdi mcdi;
+ struct sfc_intr intr;
+ struct sfc_port port;
unsigned int rxq_max;
unsigned int txq_max;
+
+ unsigned int evq_count;
+ struct sfc_evq_info *evq_info;
+
+ unsigned int mgmt_evq_index;
+ rte_spinlock_t mgmt_evq_lock;
};
/*
int sfc_configure(struct sfc_adapter *sa);
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_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_start(struct sfc_adapter *sa);
+void sfc_port_stop(struct sfc_adapter *sa);
+
#ifdef __cplusplus
}
#endif