diff options
| author | 2021-12-03 18:24:23 -0800 | |
|---|---|---|
| committer | 2021-12-03 18:24:24 -0800 | |
| commit | ce83278f313ce65a9bbd780a3e07fa3f62d82525 (patch) | |
| tree | 3049200b277fc7eca75b3fe3420ffba6792ccd4d /include/linux | |
| parent | net: lan966x: fix a IS_ERR() vs NULL check in lan966x_create_targets() (diff) | |
| parent | qed*: esl priv flag support through ethtool (diff) | |
| download | linux-dev-ce83278f313ce65a9bbd780a3e07fa3f62d82525.tar.xz linux-dev-ce83278f313ce65a9bbd780a3e07fa3f62d82525.zip | |
Merge branch 'qed-enhancements'
Manish Chopra says:
====================
qed*: enhancements
This series adds below enhancements for qed/qede drivers
patch 1: Improves tx timeout debug data logs.
patch 2: Add ESL(Enhanced system lockdown) priv flag cap/status support.
v2:
* Fixed cosmetic issues in both patches
* Added ESL feature description in patch #2
Please consider applying it to "net-next"
====================
Link: https://lore.kernel.org/r/20211202210157.25530-1-manishc@marvell.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/qed/qed_if.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/qed/qed_if.h b/include/linux/qed/qed_if.h index 0dae7fcc5ef2..6dc4943d8aec 100644 --- a/include/linux/qed/qed_if.h +++ b/include/linux/qed/qed_if.h @@ -652,6 +652,7 @@ struct qed_dev_info { bool wol_support; bool smart_an; + bool esl; /* MBI version */ u32 mbi_version; @@ -807,6 +808,12 @@ struct qed_devlink { struct devlink_health_reporter *fw_reporter; }; +struct qed_sb_info_dbg { + u32 igu_prod; + u32 igu_cons; + u16 pi[PIS_PER_SB]; +}; + struct qed_common_cb_ops { void (*arfs_filter_op)(void *dev, void *fltr, u8 fw_rc); void (*link_update)(void *dev, struct qed_link_output *link); @@ -1194,6 +1201,13 @@ struct qed_common_ops { struct devlink* (*devlink_register)(struct qed_dev *cdev); void (*devlink_unregister)(struct devlink *devlink); + + __printf(2, 3) void (*mfw_report)(struct qed_dev *cdev, char *fmt, ...); + + int (*get_sb_info)(struct qed_dev *cdev, struct qed_sb_info *sb, + u16 qid, struct qed_sb_info_dbg *sb_dbg); + + int (*get_esl_status)(struct qed_dev *cdev, bool *esl_active); }; #define MASK_FIELD(_name, _value) \ |
