diff options
author | David S. Miller <davem@davemloft.net> | 2016-10-31 15:52:37 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-10-31 15:52:37 -0400 |
commit | f3a6f592e9873ff84cd007c2b94b32a4c178b141 (patch) | |
tree | a5a8aa8e93086dc383e4b10b5d0e81836b830163 /include/linux | |
parent | 89d9123e8ee28cb380ce5532038e89fc19471a77 (diff) | |
parent | 2edbff8dcb5da324fd4c4fe953629e4f6ca73c99 (diff) | |
download | op-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.h | 2 | ||||
-rw-r--r-- | include/linux/qed/qed_if.h | 47 |
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) \ |