On Mon, Dec 8, 2014 at 1:48 AM, Yuval Shaia <[email protected]> wrote: > 1. Add indication whether feature is supported or not. > 2. Add descriptions of all features. > Without this fix there is no way to tell if feature is not supported or that > description is not exist.
The problem with this patch is that the current practice is to only advertize a feature as a string in this table when **both** the driver and the firmware support it. We can make a fix here to add dumping for features which are currently supported on that level but not dumped today (e.g WoL and such). You can have a look on the MLX4_DEV_CAP_FLAG_ enum under include/linux/mlx4/device.h to pick up such values (used by the driver but aren't dumped as dev-caps) Or. > > Signed-off-by: Yuval Shaia <[email protected]> > --- > drivers/net/ethernet/mellanox/mlx4/fw.c | 37 +++++++++++++++++++++++++++--- > 1 files changed, 33 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/ethernet/mellanox/mlx4/fw.c > b/drivers/net/ethernet/mellanox/mlx4/fw.c > index 2e88a23..79ab326 100644 > --- a/drivers/net/ethernet/mellanox/mlx4/fw.c > +++ b/drivers/net/ethernet/mellanox/mlx4/fw.c > @@ -91,7 +91,10 @@ static void dump_dev_cap_flags(struct mlx4_dev *dev, u64 > flags) > [ 8] = "P_Key violation counter", > [ 9] = "Q_Key violation counter", > [10] = "VMM", > + [11] = "Fibre Channel Protocol On Ethernet Ports support", > [12] = "Dual Port Different Protocol (DPDP) support", > + [13] = "Raw Ethertype support", > + [14] = "Raw IPv6 support", > [15] = "Big LSO headers", > [16] = "MW support", > [17] = "APM support", > @@ -99,16 +102,40 @@ static void dump_dev_cap_flags(struct mlx4_dev *dev, u64 > flags) > [19] = "Raw multicast support", > [20] = "Address vector port checking support", > [21] = "UD multicast support", > + [22] = "UD IPv4 Multicast support", > [24] = "Demand paging support", > [25] = "Router support", > + [26] = "L2 Ethernet Multicast support", > + [28] = "Software parsing support for UD transport", > + [29] = "TCP checksum off-load support", > [30] = "IBoE support", > + [31] = "FCoE T11 frame format support", > [32] = "Unicast loopback support", > + [33] = "Multicast loopback support", > [34] = "FCS header control", > + [35] = "Address Path ud_force_mgid support", > + [36] = "Header-Data Split support", > + [37] = "Wake On LAN support on port 1", > + [38] = "Wake On LAN support on port 2", > + [39] = "Fatal Warning Event upon a thermal warning condition", > [38] = "Wake On LAN support", > [40] = "UDP RSS support", > [41] = "Unicast VEP steering support", > [42] = "Multicast VEP steering support", > + [43] = "VLAN Steering mechanism support", > + [44] = "Steering according to EtherType support", > + [45] = "WQE format version 1 support", > + [46] = "Keep Alive Validiation support", > + [47] = "PTP1588 support", > [48] = "Counters support", > + [49] = "Advanced Counters support", > + [50] = "Force Ethernet user priority from QPC support", > + [51] = "RX Port Num check disabled", > + [52] = "RSS on fragmented IP datagram support", > + [55] = "Link Sensing support", > + [56] = "Reliable Multicast support", > + [57] = "Fast Drop support", > + [58] = "Protected FMR support", > [53] = "Port ETS Scheduler support", > [55] = "Port link type sensing support", > [59] = "Port management change event support", > @@ -119,8 +146,9 @@ static void dump_dev_cap_flags(struct mlx4_dev *dev, u64 > flags) > > mlx4_dbg(dev, "DEV_CAP flags:\n"); > for (i = 0; i < ARRAY_SIZE(fname); ++i) > - if (fname[i] && (flags & (1LL << i))) > - mlx4_dbg(dev, " %s\n", fname[i]); > + if (fname[i]) > + mlx4_dbg(dev, " (%c) %s\n", (flags & (1LL << i)) ? > + '*' : ' ', fname[i]); > } > > static void dump_dev_cap_flags2(struct mlx4_dev *dev, u64 flags) > @@ -144,8 +172,9 @@ static void dump_dev_cap_flags2(struct mlx4_dev *dev, u64 > flags) > int i; > > for (i = 0; i < ARRAY_SIZE(fname); ++i) > - if (fname[i] && (flags & (1LL << i))) > - mlx4_dbg(dev, " %s\n", fname[i]); > + if (fname[i]) > + mlx4_dbg(dev, " (%c) %s\n", (flags & (1LL << i)) ? > + '*' : ' ', fname[i]); > } > > int mlx4_MOD_STAT_CFG(struct mlx4_dev *dev, struct mlx4_mod_stat_cfg *cfg) > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to [email protected] > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
