/**************************************************************************** * Driver for Solarflare network controllers and boards * Copyright 2005-2006 Fen Systems Ltd. * Copyright 2006-2012 Solarflare Communications Inc. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 as published * by the Free Software Foundation, incorporated herein by reference. */ #ifndef EFX_SELFTEST_H #define EFX_SELFTEST_H #include "net_driver.h" /* * Self tests */ struct efx_loopback_self_tests { int tx_sent[EFX_TXQ_TYPES]; int tx_done[EFX_TXQ_TYPES]; int rx_good; int rx_bad; }; #define EFX_MAX_PHY_TESTS 20 /* Efx self test results * For fields which are not counters, 1 indicates success and -1 * indicates failure; 0 indicates test could not be run. */ struct efx_self_tests { /* online tests */ int phy_alive; int nvram; int interrupt; int eventq_dma[EFX_MAX_CHANNELS]; int eventq_int[EFX_MAX_CHANNELS]; /* offline tests */ int memory; int registers; int phy_ext[EFX_MAX_PHY_TESTS]; struct efx_loopback_self_tests loopback[LOOPBACK_TEST_MAX + 1]; }; void efx_loopback_rx_packet(struct efx_nic *efx, const char *buf_ptr, int pkt_len); int efx_selftest(struct efx_nic *efx, struct efx_self_tests *tests, unsigned flags); void efx_selftest_async_start(struct efx_nic *efx); void efx_selftest_async_cancel(struct efx_nic *efx); void efx_selftest_async_work(struct work_struct *data); #endif /* EFX_SELFTEST_H */Overall Contributors
Person | Tokens | Prop | Commits | CommitProp |
Ben Hutchings | 148 | 97.37% | 8 | 80.00% |
Jon Cooper | 4 | 2.63% | 2 | 20.00% |
Total | 152 | 100.00% | 10 | 100.00% |