git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/ena: rework RSS configuration
[dpdk.git]
/
drivers
/
net
/
qede
/
base
/
ecore_iov_api.h
diff --git
a/drivers/net/qede/base/ecore_iov_api.h
b/drivers/net/qede/base/ecore_iov_api.h
index
29001d7
..
bd7c570
100644
(file)
--- a/
drivers/net/qede/base/ecore_iov_api.h
+++ b/
drivers/net/qede/base/ecore_iov_api.h
@@
-14,6
+14,9
@@
#define ECORE_ETH_VF_NUM_VLAN_FILTERS 2
#define ECORE_VF_ARRAY_LENGTH (3)
#define ECORE_ETH_VF_NUM_VLAN_FILTERS 2
#define ECORE_VF_ARRAY_LENGTH (3)
+#define ECORE_VF_ARRAY_GET_VFID(arr, vfid) \
+ (((arr)[(vfid) / 64]) & (1ULL << ((vfid) % 64)))
+
#define IS_VF(p_dev) ((p_dev)->b_is_vf)
#define IS_PF(p_dev) (!((p_dev)->b_is_vf))
#ifdef CONFIG_ECORE_SRIOV
#define IS_VF(p_dev) ((p_dev)->b_is_vf)
#define IS_PF(p_dev) (!((p_dev)->b_is_vf))
#ifdef CONFIG_ECORE_SRIOV
@@
-51,6
+54,7
@@
enum ecore_iov_pf_to_vf_status {
PFVF_STATUS_NO_RESOURCE,
PFVF_STATUS_FORCED,
PFVF_STATUS_MALICIOUS,
PFVF_STATUS_NO_RESOURCE,
PFVF_STATUS_FORCED,
PFVF_STATUS_MALICIOUS,
+ PFVF_STATUS_ACQUIRED,
};
struct ecore_mcp_link_params;
};
struct ecore_mcp_link_params;
@@
-84,6
+88,13
@@
struct ecore_public_vf_info {
*/
u8 forced_mac[ETH_ALEN];
u16 forced_vlan;
*/
u8 forced_mac[ETH_ALEN];
u16 forced_vlan;
+
+ /* Trusted VFs can configure promiscuous mode and
+ * set MAC address inspite PF has set forced MAC.
+ * Also store shadow promisc configuration if needed.
+ */
+ bool is_trusted_configured;
+ bool is_trusted_request;
};
struct ecore_iov_vf_init_params {
};
struct ecore_iov_vf_init_params {
@@
-695,6
+706,16
@@
bool ecore_iov_is_vf_started(struct ecore_hwfn *p_hwfn,
*/
int ecore_iov_get_vf_min_rate(struct ecore_hwfn *p_hwfn, int vfid);
*/
int ecore_iov_get_vf_min_rate(struct ecore_hwfn *p_hwfn, int vfid);
+/**
+ * @brief - Configure min rate for VF's vport.
+ * @param p_dev
+ * @param vfid
+ * @param - rate in Mbps
+ *
+ * @return
+ */
+enum _ecore_status_t ecore_iov_configure_min_tx_rate(struct ecore_dev *p_dev,
+ int vfid, u32 rate);
#endif
/**
#endif
/**
@@
-723,7
+744,7
@@
ecore_iov_pf_configure_vf_queue_coalesce(struct ecore_hwfn *p_hwfn,
* @param p_hwfn
* @param rel_vf_id
*
* @param p_hwfn
* @param rel_vf_id
*
- * @return MAX_NUM_VFS_
E4
in case no further active VFs, otherwise index.
+ * @return MAX_NUM_VFS_
K2
in case no further active VFs, otherwise index.
*/
u16 ecore_iov_get_next_active_vf(struct ecore_hwfn *p_hwfn, u16 rel_vf_id);
*/
u16 ecore_iov_get_next_active_vf(struct ecore_hwfn *p_hwfn, u16 rel_vf_id);
@@
-747,7
+768,7
@@
void ecore_iov_set_vf_hw_channel(struct ecore_hwfn *p_hwfn, int vfid,
#define ecore_for_each_vf(_p_hwfn, _i) \
for (_i = ecore_iov_get_next_active_vf(_p_hwfn, 0); \
#define ecore_for_each_vf(_p_hwfn, _i) \
for (_i = ecore_iov_get_next_active_vf(_p_hwfn, 0); \
- _i < MAX_NUM_VFS_
E4
; \
+ _i < MAX_NUM_VFS_
K2
; \
_i = ecore_iov_get_next_active_vf(_p_hwfn, _i + 1))
#endif
_i = ecore_iov_get_next_active_vf(_p_hwfn, _i + 1))
#endif