summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/qlogic/qed/qed_dev_api.h
diff options
context:
space:
mode:
authorManish Chopra2015-10-26 10:02:28 +0100
committerDavid S. Miller2015-10-28 03:34:47 +0100
commitcee4d26448c1000ccc1711eb5e6ed4c15f18fa83 (patch)
tree9825281bed5fd56f056a03dc7c5fba261244002f /drivers/net/ethernet/qlogic/qed/qed_dev_api.h
parentqede: Add basic Network driver (diff)
downloadkernel-qcow2-linux-cee4d26448c1000ccc1711eb5e6ed4c15f18fa83.tar.gz
kernel-qcow2-linux-cee4d26448c1000ccc1711eb5e6ed4c15f18fa83.tar.xz
kernel-qcow2-linux-cee4d26448c1000ccc1711eb5e6ed4c15f18fa83.zip
qed: Add slowpath L2 support
This patch adds to the qed the support to configure various L2 elements, such as channels and basic filtering conditions. It also enhances its public API to allow qede to later utilize this functionality. Signed-off-by: Manish Chopra <Manish.Chopra@qlogic.com> Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com> Signed-off-by: Ariel Elior <Ariel.Elior@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/qlogic/qed/qed_dev_api.h')
-rw-r--r--drivers/net/ethernet/qlogic/qed/qed_dev_api.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev_api.h b/drivers/net/ethernet/qlogic/qed/qed_dev_api.h
index 5051af5f378e..773070d04ab8 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_dev_api.h
+++ b/drivers/net/ethernet/qlogic/qed/qed_dev_api.h
@@ -87,6 +87,25 @@ int qed_hw_init(struct qed_dev *cdev,
int qed_hw_stop(struct qed_dev *cdev);
/**
+ * @brief qed_hw_stop_fastpath -should be called incase
+ * slowpath is still required for the device,
+ * but fastpath is not.
+ *
+ * @param cdev
+ *
+ */
+void qed_hw_stop_fastpath(struct qed_dev *cdev);
+
+/**
+ * @brief qed_hw_start_fastpath -restart fastpath traffic,
+ * only if hw_stop_fastpath was called
+ *
+ * @param cdev
+ *
+ */
+void qed_hw_start_fastpath(struct qed_hwfn *p_hwfn);
+
+/**
* @brief qed_hw_reset -
*
* @param cdev
@@ -207,6 +226,45 @@ void qed_chain_free(struct qed_dev *cdev,
struct qed_chain *p_chain);
/**
+ * @@brief qed_fw_l2_queue - Get absolute L2 queue ID
+ *
+ * @param p_hwfn
+ * @param src_id - relative to p_hwfn
+ * @param dst_id - absolute per engine
+ *
+ * @return int
+ */
+int qed_fw_l2_queue(struct qed_hwfn *p_hwfn,
+ u16 src_id,
+ u16 *dst_id);
+
+/**
+ * @@brief qed_fw_vport - Get absolute vport ID
+ *
+ * @param p_hwfn
+ * @param src_id - relative to p_hwfn
+ * @param dst_id - absolute per engine
+ *
+ * @return int
+ */
+int qed_fw_vport(struct qed_hwfn *p_hwfn,
+ u8 src_id,
+ u8 *dst_id);
+
+/**
+ * @@brief qed_fw_rss_eng - Get absolute RSS engine ID
+ *
+ * @param p_hwfn
+ * @param src_id - relative to p_hwfn
+ * @param dst_id - absolute per engine
+ *
+ * @return int
+ */
+int qed_fw_rss_eng(struct qed_hwfn *p_hwfn,
+ u8 src_id,
+ u8 *dst_id);
+
+/**
* *@brief Cleanup of previous driver remains prior to load
*
* @param p_hwfn