Merge branch 'linus' into oprofile
[linux-2.6] / drivers / net / chelsio / espi.h
1 /*****************************************************************************
2  *                                                                           *
3  * File: espi.h                                                              *
4  * $Revision: 1.7 $                                                          *
5  * $Date: 2005/06/21 18:29:47 $                                              *
6  * Description:                                                              *
7  *  part of the Chelsio 10Gb Ethernet Driver.                                *
8  *                                                                           *
9  * This program is free software; you can redistribute it and/or modify      *
10  * it under the terms of the GNU General Public License, version 2, as       *
11  * published by the Free Software Foundation.                                *
12  *                                                                           *
13  * You should have received a copy of the GNU General Public License along   *
14  * with this program; if not, write to the Free Software Foundation, Inc.,   *
15  * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.                 *
16  *                                                                           *
17  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED    *
18  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF      *
19  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.                     *
20  *                                                                           *
21  * http://www.chelsio.com                                                    *
22  *                                                                           *
23  * Copyright (c) 2003 - 2005 Chelsio Communications, Inc.                    *
24  * All rights reserved.                                                      *
25  *                                                                           *
26  * Maintainers: maintainers@chelsio.com                                      *
27  *                                                                           *
28  * Authors: Dimitrios Michailidis   <dm@chelsio.com>                         *
29  *          Tina Yang               <tainay@chelsio.com>                     *
30  *          Felix Marti             <felix@chelsio.com>                      *
31  *          Scott Bardone           <sbardone@chelsio.com>                   *
32  *          Kurt Ottaway            <kottaway@chelsio.com>                   *
33  *          Frank DiMambro          <frank@chelsio.com>                      *
34  *                                                                           *
35  * History:                                                                  *
36  *                                                                           *
37  ****************************************************************************/
38
39 #ifndef _CXGB_ESPI_H_
40 #define _CXGB_ESPI_H_
41
42 #include "common.h"
43
44 struct espi_intr_counts {
45         unsigned int DIP4_err;
46         unsigned int rx_drops;
47         unsigned int tx_drops;
48         unsigned int rx_ovflw;
49         unsigned int parity_err;
50         unsigned int DIP2_parity_err;
51 };
52
53 struct peespi;
54
55 struct peespi *t1_espi_create(adapter_t *adapter);
56 void t1_espi_destroy(struct peespi *espi);
57 int t1_espi_init(struct peespi *espi, int mac_type, int nports);
58
59 void t1_espi_intr_enable(struct peespi *);
60 void t1_espi_intr_clear(struct peespi *);
61 void t1_espi_intr_disable(struct peespi *);
62 int t1_espi_intr_handler(struct peespi *);
63 const struct espi_intr_counts *t1_espi_get_intr_counts(struct peespi *espi);
64
65 u32 t1_espi_get_mon(adapter_t *adapter, u32 addr, u8 wait);
66 int t1_espi_get_mon_t204(adapter_t *, u32 *, u8);
67
68 #endif /* _CXGB_ESPI_H_ */