summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/selftest.h
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2012-02-29 00:40:21 +0100
committerBen Hutchings <bhutchings@solarflare.com>2012-03-06 19:14:15 +0100
commitdd40781e3a4e9d3177a548c389232ee9496dae8e (patch)
tree6308028fab5fa47ec105eb77888e3cc8a59b4323 /drivers/net/ethernet/sfc/selftest.h
parentsfc: Encapsulate access to efx_{channel,nic}::last_irq_cpu in self-test (diff)
downloadlinux-dd40781e3a4e9d3177a548c389232ee9496dae8e.tar.xz
linux-dd40781e3a4e9d3177a548c389232ee9496dae8e.zip
sfc: Run event/IRQ self-test asynchronously when interface is brought up
Generate a test event on each event queue whenever the interface is brought up, then after 1 second check that we have either handled a test event or handled another IRQ for each event queue. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Diffstat (limited to 'drivers/net/ethernet/sfc/selftest.h')
-rw-r--r--drivers/net/ethernet/sfc/selftest.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/sfc/selftest.h b/drivers/net/ethernet/sfc/selftest.h
index 87abe2a53846..aed24b736059 100644
--- a/drivers/net/ethernet/sfc/selftest.h
+++ b/drivers/net/ethernet/sfc/selftest.h
@@ -48,5 +48,8 @@ extern void efx_loopback_rx_packet(struct efx_nic *efx,
extern int efx_selftest(struct efx_nic *efx,
struct efx_self_tests *tests,
unsigned flags);
+extern void efx_selftest_async_start(struct efx_nic *efx);
+extern void efx_selftest_async_cancel(struct efx_nic *efx);
+extern void efx_selftest_async_work(struct work_struct *data);
#endif /* EFX_SELFTEST_H */