summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2016-10-31 15:52:37 -0400
committerDavid S. Miller <davem@davemloft.net>2016-10-31 15:52:37 -0400
commitf3a6f592e9873ff84cd007c2b94b32a4c178b141 (patch)
treea5a8aa8e93086dc383e4b10b5d0e81836b830163 /include/linux
parent89d9123e8ee28cb380ce5532038e89fc19471a77 (diff)
parent2edbff8dcb5da324fd4c4fe953629e4f6ca73c99 (diff)
downloadop-kernel-dev-f3a6f592e9873ff84cd007c2b94b32a4c178b141.zip
op-kernel-dev-f3a6f592e9873ff84cd007c2b94b32a4c178b141.tar.gz
Merge branch 'qed-next'
Yuval Mintz says: ==================== qed*: Patch series This series does several things. The bigger changes: - Add new notification APIs [& Defaults] for various fields. The series then utilizes some of those qed <-> qede APIs to bass WoL support upon. - Change the resource allocation scheme to receive the values from management firmware, instead of equally sharing resources between functions [that might not need those]. That would, e.g., allow us to configure additional filters to network interfaces in presence of storage [PCI] functions from same adapter. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/qed/qed_eth_if.h2
-rw-r--r--include/linux/qed/qed_if.h47
2 files changed, 48 insertions, 1 deletions
diff --git a/include/linux/qed/qed_eth_if.h b/include/linux/qed/qed_eth_if.h
index 1513080..9755a3f 100644
--- a/include/linux/qed/qed_eth_if.h
+++ b/include/linux/qed/qed_eth_if.h
@@ -22,7 +22,7 @@ struct qed_dev_eth_info {
u8 num_tc;
u8 port_mac[ETH_ALEN];
- u8 num_vlan_filters;
+ u16 num_vlan_filters;
u16 num_mac_filters;
/* Legacy VF - this affects the datapath, so qede has to know */
diff --git a/include/linux/qed/qed_if.h b/include/linux/qed/qed_if.h
index 8978a60..ea095b4 100644
--- a/include/linux/qed/qed_if.h
+++ b/include/linux/qed/qed_if.h
@@ -267,6 +267,9 @@ struct qed_dev_info {
u8 mf_mode;
bool tx_switching;
bool rdma_supported;
+ u16 mtu;
+
+ bool wol_support;
};
enum qed_sb_type {
@@ -401,6 +404,15 @@ struct qed_selftest_ops {
* @return 0 on success, error otherwise.
*/
int (*selftest_clock)(struct qed_dev *cdev);
+
+/**
+ * @brief selftest_nvram - Perform nvram test
+ *
+ * @param cdev
+ *
+ * @return 0 on success, error otherwise.
+ */
+ int (*selftest_nvram) (struct qed_dev *cdev);
};
struct qed_common_ops {
@@ -554,6 +566,41 @@ struct qed_common_ops {
*/
int (*set_led)(struct qed_dev *cdev,
enum qed_led_mode mode);
+
+/**
+ * @brief update_drv_state - API to inform the change in the driver state.
+ *
+ * @param cdev
+ * @param active
+ *
+ */
+ int (*update_drv_state)(struct qed_dev *cdev, bool active);
+
+/**
+ * @brief update_mac - API to inform the change in the mac address
+ *
+ * @param cdev
+ * @param mac
+ *
+ */
+ int (*update_mac)(struct qed_dev *cdev, u8 *mac);
+
+/**
+ * @brief update_mtu - API to inform the change in the mtu
+ *
+ * @param cdev
+ * @param mtu
+ *
+ */
+ int (*update_mtu)(struct qed_dev *cdev, u16 mtu);
+
+/**
+ * @brief update_wol - update of changes in the WoL configuration
+ *
+ * @param cdev
+ * @param enabled - true iff WoL should be enabled.
+ */
+ int (*update_wol) (struct qed_dev *cdev, bool enabled);
};
#define MASK_FIELD(_name, _value) \
OpenPOWER on IntegriCloud