sfc: Minimal support for 40G link speed
Accept and handle 40G link events. Accept ethtool link settings of speed == 40000 && duplex, and set the appropriate MCDI PHY capability. This does not include reporting of 40G media types, as those have not yet been assigned numbers in the MCDI protocol. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
This commit is contained in:
parent
ba39767288
commit
9a12a30627
@ -7,7 +7,7 @@ config SFC
|
||||
select I2C_ALGOBIT
|
||||
select PTP_1588_CLOCK
|
||||
---help---
|
||||
This driver supports 10-gigabit Ethernet cards based on
|
||||
This driver supports 10/40-gigabit Ethernet cards based on
|
||||
the Solarflare SFC4000, SFC9000-family and SFC9100-family
|
||||
controllers.
|
||||
|
||||
|
@ -556,6 +556,7 @@ static int efx_mcdi_phy_set_settings(struct efx_nic *efx, struct ethtool_cmd *ec
|
||||
case 100: caps = 1 << MC_CMD_PHY_CAP_100FDX_LBN; break;
|
||||
case 1000: caps = 1 << MC_CMD_PHY_CAP_1000FDX_LBN; break;
|
||||
case 10000: caps = 1 << MC_CMD_PHY_CAP_10000FDX_LBN; break;
|
||||
case 40000: caps = 1 << MC_CMD_PHY_CAP_40000FDX_LBN; break;
|
||||
default: return -EINVAL;
|
||||
}
|
||||
} else {
|
||||
@ -841,6 +842,7 @@ static unsigned int efx_mcdi_event_link_speed[] = {
|
||||
[MCDI_EVENT_LINKCHANGE_SPEED_100M] = 100,
|
||||
[MCDI_EVENT_LINKCHANGE_SPEED_1G] = 1000,
|
||||
[MCDI_EVENT_LINKCHANGE_SPEED_10G] = 10000,
|
||||
[MCDI_EVENT_LINKCHANGE_SPEED_40G] = 40000,
|
||||
};
|
||||
|
||||
void efx_mcdi_process_link_change(struct efx_nic *efx, efx_qword_t *ev)
|
||||
|
Loading…
Reference in New Issue
Block a user