Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
net
ethernet
sfc
selftest.h
Go to the documentation of this file.
1
/****************************************************************************
2
* Driver for Solarflare Solarstorm network controllers and boards
3
* Copyright 2005-2006 Fen Systems Ltd.
4
* Copyright 2006-2010 Solarflare Communications Inc.
5
*
6
* This program is free software; you can redistribute it and/or modify it
7
* under the terms of the GNU General Public License version 2 as published
8
* by the Free Software Foundation, incorporated herein by reference.
9
*/
10
11
#ifndef EFX_SELFTEST_H
12
#define EFX_SELFTEST_H
13
14
#include "
net_driver.h
"
15
16
/*
17
* Self tests
18
*/
19
20
struct
efx_loopback_self_tests
{
21
int
tx_sent
[
EFX_TXQ_TYPES
];
22
int
tx_done
[
EFX_TXQ_TYPES
];
23
int
rx_good
;
24
int
rx_bad
;
25
};
26
27
#define EFX_MAX_PHY_TESTS 20
28
29
/* Efx self test results
30
* For fields which are not counters, 1 indicates success and -1
31
* indicates failure.
32
*/
33
struct
efx_self_tests
{
34
/* online tests */
35
int
phy_alive
;
36
int
nvram
;
37
int
interrupt
;
38
int
eventq_dma
[
EFX_MAX_CHANNELS
];
39
int
eventq_int
[
EFX_MAX_CHANNELS
];
40
/* offline tests */
41
int
registers
;
42
int
phy_ext
[
EFX_MAX_PHY_TESTS
];
43
struct
efx_loopback_self_tests
loopback
[
LOOPBACK_TEST_MAX
+ 1];
44
};
45
46
extern
void
efx_loopback_rx_packet
(
struct
efx_nic
*efx,
47
const
char
*
buf_ptr
,
int
pkt_len
);
48
extern
int
efx_selftest
(
struct
efx_nic
*efx,
49
struct
efx_self_tests
*tests,
50
unsigned
flags
);
51
extern
void
efx_selftest_async_start
(
struct
efx_nic
*efx);
52
extern
void
efx_selftest_async_cancel
(
struct
efx_nic
*efx);
53
extern
void
efx_selftest_async_work
(
struct
work_struct
*
data
);
54
55
#endif
/* EFX_SELFTEST_H */
Generated on Thu Jan 10 2013 13:21:28 for Linux Kernel by
1.8.2