1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /***************************************************************************** |
3 | * * |
4 | * File: espi.h * |
5 | * $Revision: 1.7 $ * |
6 | * $Date: 2005/06/21 18:29:47 $ * |
7 | * Description: * |
8 | * part of the Chelsio 10Gb Ethernet Driver. * |
9 | * * |
10 | * * |
11 | * http://www.chelsio.com * |
12 | * * |
13 | * Copyright (c) 2003 - 2005 Chelsio Communications, Inc. * |
14 | * All rights reserved. * |
15 | * * |
16 | * Maintainers: maintainers@chelsio.com * |
17 | * * |
18 | * Authors: Dimitrios Michailidis <dm@chelsio.com> * |
19 | * Tina Yang <tainay@chelsio.com> * |
20 | * Felix Marti <felix@chelsio.com> * |
21 | * Scott Bardone <sbardone@chelsio.com> * |
22 | * Kurt Ottaway <kottaway@chelsio.com> * |
23 | * Frank DiMambro <frank@chelsio.com> * |
24 | * * |
25 | * History: * |
26 | * * |
27 | ****************************************************************************/ |
28 | |
29 | #ifndef _CXGB_ESPI_H_ |
30 | #define _CXGB_ESPI_H_ |
31 | |
32 | #include "common.h" |
33 | |
34 | struct espi_intr_counts { |
35 | unsigned int DIP4_err; |
36 | unsigned int rx_drops; |
37 | unsigned int tx_drops; |
38 | unsigned int rx_ovflw; |
39 | unsigned int parity_err; |
40 | unsigned int DIP2_parity_err; |
41 | }; |
42 | |
43 | struct peespi; |
44 | |
45 | struct peespi *t1_espi_create(adapter_t *adapter); |
46 | void t1_espi_destroy(struct peespi *espi); |
47 | int t1_espi_init(struct peespi *espi, int mac_type, int nports); |
48 | |
49 | void t1_espi_intr_enable(struct peespi *); |
50 | void t1_espi_intr_clear(struct peespi *); |
51 | void t1_espi_intr_disable(struct peespi *); |
52 | int t1_espi_intr_handler(struct peespi *); |
53 | const struct espi_intr_counts *t1_espi_get_intr_counts(struct peespi *espi); |
54 | |
55 | u32 t1_espi_get_mon(adapter_t *adapter, u32 addr, u8 wait); |
56 | int t1_espi_get_mon_t204(adapter_t *, u32 *, u8); |
57 | |
58 | #endif /* _CXGB_ESPI_H_ */ |
59 | |