sfc: support variable number of MAC stats
Medford2 NICs support more than MC_CMD_MAC_NSTATS stats, and report the new count in a field of MC_CMD_GET_CAPABILITIES_V4. This also means that the end generation count moves (it is, as before, the last 64 bits of the DMA buffer, but that is no longer MC_CMD_MAC_GENERATION_END). So read num_mac_stats from the GET_CAPABILITIES response, if present; otherwise assume MC_CMD_MAC_NSTATS; and always use num_mac_stats - 1 rather than MC_CMD_MAC_GENERATION_END. Signed-off-by: Edward Cree <ecree@solarflare.com> Signed-off-by: Bert Kenward <bkenward@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
d31a596625
commit
c1be482145
@@ -2983,6 +2983,8 @@ static int efx_init_struct(struct efx_nic *efx,
|
||||
efx->type->rx_ts_offset - efx->type->rx_prefix_size;
|
||||
spin_lock_init(&efx->stats_lock);
|
||||
efx->vi_stride = EFX_DEFAULT_VI_STRIDE;
|
||||
efx->num_mac_stats = MC_CMD_MAC_NSTATS;
|
||||
BUILD_BUG_ON(MC_CMD_MAC_NSTATS - 1 != MC_CMD_MAC_GENERATION_END);
|
||||
mutex_init(&efx->mac_lock);
|
||||
efx->phy_op = &efx_dummy_phy_operations;
|
||||
efx->mdio.dev = net_dev;
|
||||
|
Reference in New Issue
Block a user