Commit f15cff04 authored by Sudarsana Reddy Kalluru's avatar Sudarsana Reddy Kalluru Committed by David S. Miller

qede: Add ethtool interface for SmartAN query.

The patch adds driver support to query SmartAN capability via ethtool.
Signed-off-by: default avatarSudarsana Reddy Kalluru <skalluru@marvell.com>
Signed-off-by: default avatarAriel Elior <aelior@marvell.com>
Signed-off-by: default avatarMichal Kalderon <mkalderon@marvell.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent df9c716d
...@@ -186,11 +186,13 @@ static const struct { ...@@ -186,11 +186,13 @@ static const struct {
enum { enum {
QEDE_PRI_FLAG_CMT, QEDE_PRI_FLAG_CMT,
QEDE_PRI_FLAG_SMART_AN_SUPPORT, /* MFW supports SmartAN */
QEDE_PRI_FLAG_LEN, QEDE_PRI_FLAG_LEN,
}; };
static const char qede_private_arr[QEDE_PRI_FLAG_LEN][ETH_GSTRING_LEN] = { static const char qede_private_arr[QEDE_PRI_FLAG_LEN][ETH_GSTRING_LEN] = {
"Coupled-Function", "Coupled-Function",
"SmartAN capable",
}; };
enum qede_ethtool_tests { enum qede_ethtool_tests {
...@@ -404,8 +406,15 @@ static int qede_get_sset_count(struct net_device *dev, int stringset) ...@@ -404,8 +406,15 @@ static int qede_get_sset_count(struct net_device *dev, int stringset)
static u32 qede_get_priv_flags(struct net_device *dev) static u32 qede_get_priv_flags(struct net_device *dev)
{ {
struct qede_dev *edev = netdev_priv(dev); struct qede_dev *edev = netdev_priv(dev);
u32 flags = 0;
return (!!(edev->dev_info.common.num_hwfns > 1)) << QEDE_PRI_FLAG_CMT; if (edev->dev_info.common.num_hwfns > 1)
flags |= BIT(QEDE_PRI_FLAG_CMT);
if (edev->dev_info.common.smart_an)
flags |= BIT(QEDE_PRI_FLAG_SMART_AN_SUPPORT);
return flags;
} }
struct qede_link_mode_mapping { struct qede_link_mode_mapping {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment