net/qede/base: remove unused parameters
[dpdk.git] / drivers / net / qede / base / ecore_sriov.h
index ed6ddc4..effeb69 100644 (file)
 #include "ecore_vfpf_if.h"
 #include "ecore_iov_api.h"
 #include "ecore_hsi_common.h"
+#include "ecore_l2.h"
 
 #define ECORE_ETH_MAX_VF_NUM_VLAN_FILTERS \
-       (MAX_NUM_VFS * ECORE_ETH_VF_NUM_VLAN_FILTERS)
+       (E4_MAX_NUM_VFS * ECORE_ETH_VF_NUM_VLAN_FILTERS)
 
 /* Represents a full message. Both the request filled by VF
  * and the response filled by the PF. The VF needs one copy
@@ -44,6 +45,9 @@ struct ecore_iov_vf_mbx {
        /* Address in VF where a pending message is located */
        dma_addr_t              pending_req;
 
+       /* Message from VF awaits handling */
+       bool                    b_pending_msg;
+
        u8 *offset;
 
 #ifdef CONFIG_ECORE_SW_CHANNEL
@@ -62,12 +66,22 @@ struct ecore_iov_vf_mbx {
                                         */
 };
 
-struct ecore_vf_q_info {
+#define ECORE_IOV_LEGACY_QID_RX (0)
+#define ECORE_IOV_LEGACY_QID_TX (1)
+#define ECORE_IOV_QID_INVALID (0xFE)
+
+struct ecore_vf_queue_cid {
+       bool b_is_tx;
+       struct ecore_queue_cid *p_cid;
+};
+
+/* Describes a qzone associated with the VF */
+struct ecore_vf_queue {
+       /* Input from upper-layer, mapping relateive queue to queue-zone */
        u16 fw_rx_qid;
        u16 fw_tx_qid;
-       u8 fw_cid;
-       u8 rxq_active;
-       u8 txq_active;
+
+       struct ecore_vf_queue_cid cids[MAX_QUEUES_PER_QZONE];
 };
 
 enum vf_state {
@@ -97,6 +111,7 @@ struct ecore_vf_info {
        struct ecore_iov_vf_mbx vf_mbx;
        enum vf_state state;
        bool b_init;
+       bool b_malicious;
        u8                      to_disable;
 
        struct ecore_bulletin   bulletin;
@@ -110,6 +125,7 @@ struct ecore_vf_info {
        u16                     mtu;
 
        u8                      vport_id;
+       u8                      rss_eng_id;
        u8                      relative_vf_id;
        u8                      abs_vf_id;
 #define ECORE_VF_ABS_ID(p_hwfn, p_vf)  (ECORE_PATH_ID(p_hwfn) ? \
@@ -120,12 +136,15 @@ struct ecore_vf_info {
        u8                      num_rxqs;
        u8                      num_txqs;
 
+       u16                     rx_coal;
+       u16                     tx_coal;
+
        u8                      num_sbs;
 
        u8                      num_mac_filters;
        u8                      num_vlan_filters;
 
-       struct ecore_vf_q_info  vf_queues[ECORE_MAX_VF_CHAINS_PER_PF];
+       struct ecore_vf_queue   vf_queues[ECORE_MAX_VF_CHAINS_PER_PF];
        u16                     igu_sbs[ECORE_MAX_VF_CHAINS_PER_PF];
 
        /* TODO - Only windows is using it - should be removed */
@@ -151,10 +170,8 @@ struct ecore_vf_info {
  * capability enabled.
  */
 struct ecore_pf_iov {
-       struct ecore_vf_info    vfs_array[MAX_NUM_VFS];
-       u64                     pending_events[ECORE_VF_ARRAY_LENGTH];
+       struct ecore_vf_info    vfs_array[E4_MAX_NUM_VFS];
        u64                     pending_flr[ECORE_VF_ARRAY_LENGTH];
-       u16                     base_vport_id;
 
 #ifndef REMOVE_DBG
        /* This doesn't serve anything functionally, but it makes windows
@@ -189,17 +206,13 @@ enum _ecore_status_t ecore_iov_hw_info(struct ecore_hwfn *p_hwfn);
 /**
  * @brief ecore_add_tlv - place a given tlv on the tlv buffer at next offset
  *
- * @param p_hwfn
- * @param p_iov
+ * @param offset
  * @param type
  * @param length
  *
  * @return pointer to the newly placed tlv
  */
-void *ecore_add_tlv(struct ecore_hwfn  *p_hwfn,
-                   u8                  **offset,
-                   u16                 type,
-                   u16                 length);
+void *ecore_add_tlv(u8 **offset, u16 type, u16 length);
 
 /**
  * @brief list the types and lengths of the tlvs on the buffer
@@ -223,10 +236,8 @@ enum _ecore_status_t ecore_iov_alloc(struct ecore_hwfn *p_hwfn);
  * @brief ecore_iov_setup - setup sriov related resources
  *
  * @param p_hwfn
- * @param p_ptt
  */
-void ecore_iov_setup(struct ecore_hwfn *p_hwfn,
-                    struct ecore_ptt   *p_ptt);
+void ecore_iov_setup(struct ecore_hwfn *p_hwfn);
 
 /**
  * @brief ecore_iov_free - free sriov related resources
@@ -255,19 +266,6 @@ enum _ecore_status_t ecore_sriov_eqe_event(struct ecore_hwfn        *p_hwfn,
                                           __le16                echo,
                                           union event_ring_data *data);
 
-/**
- * @brief calculate CRC for bulletin board validation
- *
- * @param basic crc seed
- * @param ptr to beginning of buffer
- * @length in bytes of buffer
- *
- * @return calculated crc over buffer [with respect to seed].
- */
-u32 ecore_crc32(u32 crc,
-               u8  *ptr,
-               u32 length);
-
 /**
  * @brief Mark structs of vfs that have been FLR-ed.
  *
@@ -276,8 +274,8 @@ u32 ecore_crc32(u32 crc,
  *
  * @return 1 iff one of the PF's vfs got FLRed. 0 otherwise.
  */
-int ecore_iov_mark_vf_flr(struct ecore_hwfn *p_hwfn,
-                         u32 *disabled_vfs);
+bool ecore_iov_mark_vf_flr(struct ecore_hwfn *p_hwfn,
+                          u32 *disabled_vfs);
 
 /**
  * @brief Search extended TLVs in request/reply buffer.