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, see <http://www.gnu.org/licenses/>. * 15 * * 16 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * 17 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * 18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * 19 * * 20 * http://www.chelsio.com * 21 * * 22 * Copyright (c) 2003 - 2005 Chelsio Communications, Inc. * 23 * All rights reserved. * 24 * * 25 * Maintainers: maintainers@chelsio.com * 26 * * 27 * Authors: Dimitrios Michailidis <dm@chelsio.com> * 28 * Tina Yang <tainay@chelsio.com> * 29 * Felix Marti <felix@chelsio.com> * 30 * Scott Bardone <sbardone@chelsio.com> * 31 * Kurt Ottaway <kottaway@chelsio.com> * 32 * Frank DiMambro <frank@chelsio.com> * 33 * * 34 * History: * 35 * * 36 ****************************************************************************/ 37 38 #ifndef _CXGB_ESPI_H_ 39 #define _CXGB_ESPI_H_ 40 41 #include "common.h" 42 43 struct espi_intr_counts { 44 unsigned int DIP4_err; 45 unsigned int rx_drops; 46 unsigned int tx_drops; 47 unsigned int rx_ovflw; 48 unsigned int parity_err; 49 unsigned int DIP2_parity_err; 50 }; 51 52 struct peespi; 53 54 struct peespi *t1_espi_create(adapter_t *adapter); 55 void t1_espi_destroy(struct peespi *espi); 56 int t1_espi_init(struct peespi *espi, int mac_type, int nports); 57 58 void t1_espi_intr_enable(struct peespi *); 59 void t1_espi_intr_clear(struct peespi *); 60 void t1_espi_intr_disable(struct peespi *); 61 int t1_espi_intr_handler(struct peespi *); 62 const struct espi_intr_counts *t1_espi_get_intr_counts(struct peespi *espi); 63 64 u32 t1_espi_get_mon(adapter_t *adapter, u32 addr, u8 wait); 65 int t1_espi_get_mon_t204(adapter_t *, u32 *, u8); 66 67 #endif /* _CXGB_ESPI_H_ */