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