1a51f06e1SSelvin Xavier /*******************************************************************
2a51f06e1SSelvin Xavier  * This file is part of the Emulex RoCE Device Driver for          *
3a51f06e1SSelvin Xavier  * RoCE (RDMA over Converged Ethernet) adapters.                   *
4a51f06e1SSelvin Xavier  * Copyright (C) 2008-2014 Emulex. All rights reserved.            *
5a51f06e1SSelvin Xavier  * EMULEX and SLI are trademarks of Emulex.                        *
6a51f06e1SSelvin Xavier  * www.emulex.com                                                  *
7a51f06e1SSelvin Xavier  *                                                                 *
8a51f06e1SSelvin Xavier  * This program is free software; you can redistribute it and/or   *
9a51f06e1SSelvin Xavier  * modify it under the terms of version 2 of the GNU General       *
10a51f06e1SSelvin Xavier  * Public License as published by the Free Software Foundation.    *
11a51f06e1SSelvin Xavier  * This program is distributed in the hope that it will be useful. *
12a51f06e1SSelvin Xavier  * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND          *
13a51f06e1SSelvin Xavier  * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,  *
14a51f06e1SSelvin Xavier  * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE      *
15a51f06e1SSelvin Xavier  * DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD *
16a51f06e1SSelvin Xavier  * TO BE LEGALLY INVALID.  See the GNU General Public License for  *
17a51f06e1SSelvin Xavier  * more details, a copy of which can be found in the file COPYING  *
18a51f06e1SSelvin Xavier  * included with this package.                                     *
19a51f06e1SSelvin Xavier  *
20a51f06e1SSelvin Xavier  * Contact Information:
21a51f06e1SSelvin Xavier  * linux-drivers@emulex.com
22a51f06e1SSelvin Xavier  *
23a51f06e1SSelvin Xavier  * Emulex
24a51f06e1SSelvin Xavier  * 3333 Susan Street
25a51f06e1SSelvin Xavier  * Costa Mesa, CA 92626
26a51f06e1SSelvin Xavier  *******************************************************************/
27a51f06e1SSelvin Xavier 
28a51f06e1SSelvin Xavier #ifndef __OCRDMA_STATS_H__
29a51f06e1SSelvin Xavier #define __OCRDMA_STATS_H__
30a51f06e1SSelvin Xavier 
31a51f06e1SSelvin Xavier #include <linux/debugfs.h>
32a51f06e1SSelvin Xavier #include "ocrdma.h"
33a51f06e1SSelvin Xavier #include "ocrdma_hw.h"
34a51f06e1SSelvin Xavier 
35a51f06e1SSelvin Xavier #define OCRDMA_MAX_DBGFS_MEM 4096
36a51f06e1SSelvin Xavier 
37a51f06e1SSelvin Xavier enum OCRDMA_STATS_TYPE {
38a51f06e1SSelvin Xavier 	OCRDMA_RSRC_STATS,
39a51f06e1SSelvin Xavier 	OCRDMA_RXSTATS,
40a51f06e1SSelvin Xavier 	OCRDMA_WQESTATS,
41a51f06e1SSelvin Xavier 	OCRDMA_TXSTATS,
42a51f06e1SSelvin Xavier 	OCRDMA_DB_ERRSTATS,
43a51f06e1SSelvin Xavier 	OCRDMA_RXQP_ERRSTATS,
44a51f06e1SSelvin Xavier 	OCRDMA_TXQP_ERRSTATS,
45a51f06e1SSelvin Xavier 	OCRDMA_TX_DBG_STATS,
46ad56ebb4SSelvin Xavier 	OCRDMA_RX_DBG_STATS,
47ad56ebb4SSelvin Xavier 	OCRDMA_DRV_STATS,
48ad56ebb4SSelvin Xavier 	OCRDMA_RESET_STATS
49a51f06e1SSelvin Xavier };
50a51f06e1SSelvin Xavier 
51a51f06e1SSelvin Xavier void ocrdma_rem_debugfs(void);
52a51f06e1SSelvin Xavier void ocrdma_init_debugfs(void);
53a51f06e1SSelvin Xavier void ocrdma_rem_port_stats(struct ocrdma_dev *dev);
54a51f06e1SSelvin Xavier void ocrdma_add_port_stats(struct ocrdma_dev *dev);
55cad1fbb0SMitesh Ahuja int ocrdma_pma_counters(struct ocrdma_dev *dev,
56cad1fbb0SMitesh Ahuja 			struct ib_mad *out_mad);
57a51f06e1SSelvin Xavier 
58a51f06e1SSelvin Xavier #endif	/* __OCRDMA_STATS_H__ */
59