162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/***************************************************************************** 362306a36Sopenharmony_ci * * 462306a36Sopenharmony_ci * File: espi.h * 562306a36Sopenharmony_ci * $Revision: 1.7 $ * 662306a36Sopenharmony_ci * $Date: 2005/06/21 18:29:47 $ * 762306a36Sopenharmony_ci * Description: * 862306a36Sopenharmony_ci * part of the Chelsio 10Gb Ethernet Driver. * 962306a36Sopenharmony_ci * * 1062306a36Sopenharmony_ci * * 1162306a36Sopenharmony_ci * http://www.chelsio.com * 1262306a36Sopenharmony_ci * * 1362306a36Sopenharmony_ci * Copyright (c) 2003 - 2005 Chelsio Communications, Inc. * 1462306a36Sopenharmony_ci * All rights reserved. * 1562306a36Sopenharmony_ci * * 1662306a36Sopenharmony_ci * Maintainers: maintainers@chelsio.com * 1762306a36Sopenharmony_ci * * 1862306a36Sopenharmony_ci * Authors: Dimitrios Michailidis <dm@chelsio.com> * 1962306a36Sopenharmony_ci * Tina Yang <tainay@chelsio.com> * 2062306a36Sopenharmony_ci * Felix Marti <felix@chelsio.com> * 2162306a36Sopenharmony_ci * Scott Bardone <sbardone@chelsio.com> * 2262306a36Sopenharmony_ci * Kurt Ottaway <kottaway@chelsio.com> * 2362306a36Sopenharmony_ci * Frank DiMambro <frank@chelsio.com> * 2462306a36Sopenharmony_ci * * 2562306a36Sopenharmony_ci * History: * 2662306a36Sopenharmony_ci * * 2762306a36Sopenharmony_ci ****************************************************************************/ 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci#ifndef _CXGB_ESPI_H_ 3062306a36Sopenharmony_ci#define _CXGB_ESPI_H_ 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci#include "common.h" 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_cistruct espi_intr_counts { 3562306a36Sopenharmony_ci unsigned int DIP4_err; 3662306a36Sopenharmony_ci unsigned int rx_drops; 3762306a36Sopenharmony_ci unsigned int tx_drops; 3862306a36Sopenharmony_ci unsigned int rx_ovflw; 3962306a36Sopenharmony_ci unsigned int parity_err; 4062306a36Sopenharmony_ci unsigned int DIP2_parity_err; 4162306a36Sopenharmony_ci}; 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_cistruct peespi; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_cistruct peespi *t1_espi_create(adapter_t *adapter); 4662306a36Sopenharmony_civoid t1_espi_destroy(struct peespi *espi); 4762306a36Sopenharmony_ciint t1_espi_init(struct peespi *espi, int mac_type, int nports); 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_civoid t1_espi_intr_enable(struct peespi *); 5062306a36Sopenharmony_civoid t1_espi_intr_clear(struct peespi *); 5162306a36Sopenharmony_civoid t1_espi_intr_disable(struct peespi *); 5262306a36Sopenharmony_ciint t1_espi_intr_handler(struct peespi *); 5362306a36Sopenharmony_ciconst struct espi_intr_counts *t1_espi_get_intr_counts(struct peespi *espi); 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ciu32 t1_espi_get_mon(adapter_t *adapter, u32 addr, u8 wait); 5662306a36Sopenharmony_ciint t1_espi_get_mon_t204(adapter_t *, u32 *, u8); 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci#endif /* _CXGB_ESPI_H_ */ 59