sfc: Collect all MCDI port functions into mcdi_port.c
Collect together MCDI port functions from mcdi.c, mcdi_mac.c, mcdi_phy.c and siena.c. Rename the 'siena' functions accordingly. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
This commit is contained in:
@@ -514,36 +514,6 @@ static void efx_mcdi_ev_death(struct efx_nic *efx, int rc)
|
||||
spin_unlock(&mcdi->iface_lock);
|
||||
}
|
||||
|
||||
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,
|
||||
};
|
||||
|
||||
|
||||
static void efx_mcdi_process_link_change(struct efx_nic *efx, efx_qword_t *ev)
|
||||
{
|
||||
u32 flags, fcntl, speed, lpa;
|
||||
|
||||
speed = EFX_QWORD_FIELD(*ev, MCDI_EVENT_LINKCHANGE_SPEED);
|
||||
EFX_BUG_ON_PARANOID(speed >= ARRAY_SIZE(efx_mcdi_event_link_speed));
|
||||
speed = efx_mcdi_event_link_speed[speed];
|
||||
|
||||
flags = EFX_QWORD_FIELD(*ev, MCDI_EVENT_LINKCHANGE_LINK_FLAGS);
|
||||
fcntl = EFX_QWORD_FIELD(*ev, MCDI_EVENT_LINKCHANGE_FCNTL);
|
||||
lpa = EFX_QWORD_FIELD(*ev, MCDI_EVENT_LINKCHANGE_LP_CAP);
|
||||
|
||||
/* efx->link_state is only modified by efx_mcdi_phy_get_link(),
|
||||
* which is only run after flushing the event queues. Therefore, it
|
||||
* is safe to modify the link state outside of the mac_lock here.
|
||||
*/
|
||||
efx_mcdi_phy_decode_link(efx, &efx->link_state, speed, flags, fcntl);
|
||||
|
||||
efx_mcdi_phy_check_fcntl(efx, lpa);
|
||||
|
||||
efx_link_status_changed(efx);
|
||||
}
|
||||
|
||||
/* Called from falcon_process_eventq for MCDI events */
|
||||
void efx_mcdi_process_event(struct efx_channel *channel,
|
||||
efx_qword_t *event)
|
||||
|
Reference in New Issue
Block a user