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
34struct 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
43struct peespi;
44
45struct peespi *t1_espi_create(adapter_t *adapter);
46void t1_espi_destroy(struct peespi *espi);
47int t1_espi_init(struct peespi *espi, int mac_type, int nports);
48
49void t1_espi_intr_enable(struct peespi *);
50void t1_espi_intr_clear(struct peespi *);
51void t1_espi_intr_disable(struct peespi *);
52int t1_espi_intr_handler(struct peespi *);
53const struct espi_intr_counts *t1_espi_get_intr_counts(struct peespi *espi);
54
55u32 t1_espi_get_mon(adapter_t *adapter, u32 addr, u8 wait);
56int t1_espi_get_mon_t204(adapter_t *, u32 *, u8);
57
58#endif /* _CXGB_ESPI_H_ */
59

source code of linux/drivers/net/ethernet/chelsio/cxgb/espi.h