summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2018-10-03 09:39:42 -0700
committerDavid S. Miller <davem@davemloft.net>2018-10-03 09:39:42 -0700
commit072eff2d9e2d64c3a95572f0326de3563f26c392 (patch)
tree915dfe174c3454e3c01a9a55935c449bc891ffb5 /include
parentdb3408a150dbe6da5117a25ce9937633166cd604 (diff)
parent5cc6c8b30c8476f308d2500a0fca35e316c6dc90 (diff)
Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue
Jeff Kirsher says: ==================== 100GbE Intel Wired LAN Driver Updates 2018-10-03 This series contains updates to ice and virtchnl. Yashaswini Raghuram adds a new virtchnl capability flag to support the exchange of additional supported speeds. Anirudh adds support for SR-IOV for the ice driver. Added code to initialize, configure and use mailbox queues for PF and VF communication. Updated the VSI and queue management to handle both PF and VF VSI type. Added "Adaptive Virtual Function (AVF)" support for the ice PF driver by implementing virtchnl commands. Extended the malicious driver detection logic to include the VF driver as well. Fixed the queue region size which needs to be log base 2 of the number of queues in region. Brett fixes an issue which was causing switch rules to be lost, by making a call to ice_update_pkt_fwd_rule() with the necessary changes. Fixed how the PF and VF assigned the ITR index by adding a struct member itr_idx to be used to dynamically program the correct ITR index. Dave fixed a potential NULL pointer dereference by adding checks in the filter handling. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/avf/virtchnl.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/avf/virtchnl.h b/include/linux/avf/virtchnl.h
index b41f7bc958ef..2c9756bd9c4c 100644
--- a/include/linux/avf/virtchnl.h
+++ b/include/linux/avf/virtchnl.h
@@ -252,6 +252,8 @@ VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_vsi_resource);
#define VIRTCHNL_VF_OFFLOAD_RX_ENCAP_CSUM 0X00400000
#define VIRTCHNL_VF_OFFLOAD_ADQ 0X00800000
+/* Define below the capability flags that are not offloads */
+#define VIRTCHNL_VF_CAP_ADV_LINK_SPEED 0x00000080
#define VF_BASE_MODE_OFFLOADS (VIRTCHNL_VF_OFFLOAD_L2 | \
VIRTCHNL_VF_OFFLOAD_VLAN | \
VIRTCHNL_VF_OFFLOAD_RSS_PF)
@@ -596,10 +598,23 @@ enum virtchnl_event_codes {
struct virtchnl_pf_event {
enum virtchnl_event_codes event;
union {
+ /* If the PF driver does not support the new speed reporting
+ * capabilities then use link_event else use link_event_adv to
+ * get the speed and link information. The ability to understand
+ * new speeds is indicated by setting the capability flag
+ * VIRTCHNL_VF_CAP_ADV_LINK_SPEED in vf_cap_flags parameter
+ * in virtchnl_vf_resource struct and can be used to determine
+ * which link event struct to use below.
+ */
struct {
enum virtchnl_link_speed link_speed;
bool link_status;
} link_event;
+ struct {
+ /* link_speed provided in Mbps */
+ u32 link_speed;
+ u8 link_status;
+ } link_event_adv;
} event_data;
int severity;