Code Review
/
deb_dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Imported Upstream version 17.05
[deb_dpdk.git]
/
drivers
/
net
/
qede
/
base
/
ecore_sriov.h
diff --git
a/drivers/net/qede/base/ecore_sriov.h
b/drivers/net/qede/base/ecore_sriov.h
index
ed6ddc4
..
3c2f58b
100644
(file)
--- a/
drivers/net/qede/base/ecore_sriov.h
+++ b/
drivers/net/qede/base/ecore_sriov.h
@@
-13,9
+13,10
@@
#include "ecore_vfpf_if.h"
#include "ecore_iov_api.h"
#include "ecore_hsi_common.h"
#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 \
#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
/* Represents a full message. Both the request filled by VF
* and the response filled by the PF. The VF needs one copy
@@
-62,12
+63,18
@@
struct ecore_iov_vf_mbx {
*/
};
*/
};
-struct ecore_vf_q_info {
+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;
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 {
};
enum vf_state {
@@
-97,6
+104,7
@@
struct ecore_vf_info {
struct ecore_iov_vf_mbx vf_mbx;
enum vf_state state;
bool b_init;
struct ecore_iov_vf_mbx vf_mbx;
enum vf_state state;
bool b_init;
+ bool b_malicious;
u8 to_disable;
struct ecore_bulletin bulletin;
u8 to_disable;
struct ecore_bulletin bulletin;
@@
-110,6
+118,7
@@
struct ecore_vf_info {
u16 mtu;
u8 vport_id;
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) ? \
u8 relative_vf_id;
u8 abs_vf_id;
#define ECORE_VF_ABS_ID(p_hwfn, p_vf) (ECORE_PATH_ID(p_hwfn) ? \
@@
-125,7
+134,7
@@
struct ecore_vf_info {
u8 num_mac_filters;
u8 num_vlan_filters;
u8 num_mac_filters;
u8 num_vlan_filters;
- struct ecore_vf_q
_info
vf_queues[ECORE_MAX_VF_CHAINS_PER_PF];
+ struct ecore_vf_q
ueue
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 */
u16 igu_sbs[ECORE_MAX_VF_CHAINS_PER_PF];
/* TODO - Only windows is using it - should be removed */
@@
-151,10
+160,9
@@
struct ecore_vf_info {
* capability enabled.
*/
struct ecore_pf_iov {
* capability enabled.
*/
struct ecore_pf_iov {
- struct ecore_vf_info vfs_array[MAX_NUM_VFS];
+ struct ecore_vf_info vfs_array[
E4_
MAX_NUM_VFS];
u64 pending_events[ECORE_VF_ARRAY_LENGTH];
u64 pending_flr[ECORE_VF_ARRAY_LENGTH];
u64 pending_events[ECORE_VF_ARRAY_LENGTH];
u64 pending_flr[ECORE_VF_ARRAY_LENGTH];
- u16 base_vport_id;
#ifndef REMOVE_DBG
/* This doesn't serve anything functionally, but it makes windows
#ifndef REMOVE_DBG
/* This doesn't serve anything functionally, but it makes windows
@@
-276,8
+284,8
@@
u32 ecore_crc32(u32 crc,
*
* @return 1 iff one of the PF's vfs got FLRed. 0 otherwise.
*/
*
* @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.
/**
* @brief Search extended TLVs in request/reply buffer.