sfc: Add AER and EEH support for Siena
authorAlexandre Rames <arames@solarflare.com>
Mon, 14 Jan 2013 17:20:22 +0000 (17:20 +0000)
committerBen Hutchings <bhutchings@solarflare.com>
Thu, 7 Mar 2013 20:22:04 +0000 (20:22 +0000)
commit626950db84c065925ee10c2e833da265cbda8800
treed4acb18c4b3554f80ff7a21bfeb63dd56420474f
parent634ab72c39b3df78ac7d6ccd4a50133059bae14f
sfc: Add AER and EEH support for Siena

The Linux side of EEH is triggered by MMIO reads, but this
driver's data path does not issue any MMIO reads (except in
legacy interrupt mode).  Therefore add a monitor function
to poll EEH periodically.

When preparing to reset the device based on our own error
detection, also poll EEH and defer to its recovery mechanism
if appropriate.

[bwh: Use a separate condition for the initial link poll; fix some
 style errors]
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
drivers/net/ethernet/sfc/efx.c
drivers/net/ethernet/sfc/enum.h
drivers/net/ethernet/sfc/net_driver.h
drivers/net/ethernet/sfc/siena.c