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