Thread (14 messages) 14 messages, 2 authors, 2014-12-30

Re: [RFC PATCH net-next 4/5] ixgbevf: Add RSS Key query code

From: Jeff Kirsher <hidden>
Date: 2014-12-30 19:26:05

On Tue, Dec 30, 2014 at 8:30 AM, Vlad Zolotarov
[off-list ref] wrote:
quoted hunk ↗ jump to hunk
Signed-off-by: Vlad Zolotarov <redacted>
---
 drivers/net/ethernet/intel/ixgbevf/mbx.h |  2 ++
 drivers/net/ethernet/intel/ixgbevf/vf.c  | 48 ++++++++++++++++++++++++++++++++
 drivers/net/ethernet/intel/ixgbevf/vf.h  |  1 +
 3 files changed, 51 insertions(+)
diff --git a/drivers/net/ethernet/intel/ixgbevf/mbx.h b/drivers/net/ethernet/intel/ixgbevf/mbx.h
index 3e148a8..9674ac8 100644
--- a/drivers/net/ethernet/intel/ixgbevf/mbx.h
+++ b/drivers/net/ethernet/intel/ixgbevf/mbx.h
@@ -110,6 +110,8 @@ enum ixgbe_pfvf_api_rev {
 #define IXGBE_VF_GET_RETA_1    0x0b /* get RETA[12..23] */
 #define IXGBE_VF_GET_RETA_2    0x0c /* get RETA[24..31] */

+#define IXGBE_VF_GET_RSS_KEY   0x0d /* get RSS hash key */
+
 /* GET_QUEUES return data indices within the mailbox */
 #define IXGBE_VF_TX_QUEUES     1       /* number of Tx queues supported */
 #define IXGBE_VF_RX_QUEUES     2       /* number of Rx queues supported */
diff --git a/drivers/net/ethernet/intel/ixgbevf/vf.c b/drivers/net/ethernet/intel/ixgbevf/vf.c
index 3ebc882..7987ab0 100644
--- a/drivers/net/ethernet/intel/ixgbevf/vf.c
+++ b/drivers/net/ethernet/intel/ixgbevf/vf.c
@@ -290,6 +290,54 @@ static inline int _ixgbevf_get_reta(struct ixgbe_hw *hw, u32 *msgbuf,
 }

 /**
+ * ixgbevf_get_rss_key - get the RSS Random Key
+ * @hw: pointer to the HW structure
+ * @reta: buffer to fill with RETA contents.
+ *
+ * The "rss_key" buffer should be big enough to contain 10 registers.
+ *
+ * Returns: 0 on success.
+ *          if API doesn't support this operation - (-EPERM).
+ */
+int ixgbevf_get_rss_key(struct ixgbe_hw *hw, u8 *rss_key)
+{
+       int err;
+       u32 msgbuf[IXGBE_VFMAILBOX_SIZE];
+
+       /* Return and error if API doesn't support RSS Random Key retrieval */
+       switch (hw->api_version) {
+       case ixgbe_mbox_api_12:
+               break;
+       default:
+               return -EPERM;
+       }
An if statement here as well, instead of a switch statement.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help