| /* SPDX-License-Identifier: GPL-2.0-only */ |
| /**************************************************************************** |
| * Driver for Solarflare network controllers and boards |
| * Copyright 2005-2006 Fen Systems Ltd. |
| * Copyright 2006-2012 Solarflare Communications Inc. |
| struct efx_loopback_self_tests { |
| int tx_sent[EFX_TXQ_TYPES]; |
| int tx_done[EFX_TXQ_TYPES]; |
| #define EFX_MAX_PHY_TESTS 20 |
| * For fields which are not counters, 1 indicates success and -1 |
| * indicates failure; 0 indicates test could not be run. |
| int eventq_dma[EFX_MAX_CHANNELS]; |
| int eventq_int[EFX_MAX_CHANNELS]; |
| 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 efx_selftest(struct efx_nic *efx, struct efx_self_tests *tests, |
| 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 */ |