mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-03-19 21:20:00 +07:00
sfc: suppress vadaptor stats when EVB is not present
The raw_mask array is not initialised, so it needs to be explicitly set to zero in the 'else' branch. If the EVB capability is not present, a port cannot have multiple functions so the per-port MAC stats are correct and should match the corresponding vadaptor stats, so this redundancy can be removed from the ethtool stats output. Signed-off-by: Shradha Shah <sshah@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6dd4859b28
commit
d94619cdfc
@ -1162,13 +1162,19 @@ static u64 efx_ef10_raw_stat_mask(struct efx_nic *efx)
|
|||||||
|
|
||||||
static void efx_ef10_get_stat_mask(struct efx_nic *efx, unsigned long *mask)
|
static void efx_ef10_get_stat_mask(struct efx_nic *efx, unsigned long *mask)
|
||||||
{
|
{
|
||||||
|
struct efx_ef10_nic_data *nic_data = efx->nic_data;
|
||||||
u64 raw_mask[2];
|
u64 raw_mask[2];
|
||||||
|
|
||||||
raw_mask[0] = efx_ef10_raw_stat_mask(efx);
|
raw_mask[0] = efx_ef10_raw_stat_mask(efx);
|
||||||
|
|
||||||
/* All functions see the vadaptor stats */
|
/* Only show vadaptor stats when EVB capability is present */
|
||||||
raw_mask[0] |= ~((1ULL << EF10_STAT_rx_unicast) - 1);
|
if (nic_data->datapath_caps &
|
||||||
raw_mask[1] = (1ULL << (EF10_STAT_COUNT - 63)) - 1;
|
(1 << MC_CMD_GET_CAPABILITIES_OUT_EVB_LBN)) {
|
||||||
|
raw_mask[0] |= ~((1ULL << EF10_STAT_rx_unicast) - 1);
|
||||||
|
raw_mask[1] = (1ULL << (EF10_STAT_COUNT - 63)) - 1;
|
||||||
|
} else {
|
||||||
|
raw_mask[1] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
#if BITS_PER_LONG == 64
|
#if BITS_PER_LONG == 64
|
||||||
mask[0] = raw_mask[0];
|
mask[0] = raw_mask[0];
|
||||||
|
@ -5600,6 +5600,8 @@
|
|||||||
#define MC_CMD_GET_CAPABILITIES_OUT_MCAST_FILTER_CHAINING_WIDTH 1
|
#define MC_CMD_GET_CAPABILITIES_OUT_MCAST_FILTER_CHAINING_WIDTH 1
|
||||||
#define MC_CMD_GET_CAPABILITIES_OUT_PM_AND_RXDP_COUNTERS_LBN 27
|
#define MC_CMD_GET_CAPABILITIES_OUT_PM_AND_RXDP_COUNTERS_LBN 27
|
||||||
#define MC_CMD_GET_CAPABILITIES_OUT_PM_AND_RXDP_COUNTERS_WIDTH 1
|
#define MC_CMD_GET_CAPABILITIES_OUT_PM_AND_RXDP_COUNTERS_WIDTH 1
|
||||||
|
#define MC_CMD_GET_CAPABILITIES_OUT_EVB_LBN 30
|
||||||
|
#define MC_CMD_GET_CAPABILITIES_OUT_EVB_WIDTH 1
|
||||||
/* RxDPCPU firmware id. */
|
/* RxDPCPU firmware id. */
|
||||||
#define MC_CMD_GET_CAPABILITIES_OUT_RX_DPCPU_FW_ID_OFST 4
|
#define MC_CMD_GET_CAPABILITIES_OUT_RX_DPCPU_FW_ID_OFST 4
|
||||||
#define MC_CMD_GET_CAPABILITIES_OUT_RX_DPCPU_FW_ID_LEN 2
|
#define MC_CMD_GET_CAPABILITIES_OUT_RX_DPCPU_FW_ID_LEN 2
|
||||||
|
Loading…
Reference in New Issue
Block a user