Remove now unnecessary messing with PCI command register.
[dragonfly.git] / sys / dev / atm / hea / eni_stats.h
1 /*
2  *
3  * ===================================
4  * HARP  |  Host ATM Research Platform
5  * ===================================
6  *
7  *
8  * This Host ATM Research Platform ("HARP") file (the "Software") is
9  * made available by Network Computing Services, Inc. ("NetworkCS")
10  * "AS IS".  NetworkCS does not provide maintenance, improvements or
11  * support of any kind.
12  *
13  * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
14  * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
15  * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
16  * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
17  * In no event shall NetworkCS be responsible for any damages, including
18  * but not limited to consequential damages, arising from or relating to
19  * any use of the Software or related support.
20  *
21  * Copyright 1994-1998 Network Computing Services, Inc.
22  *
23  * Copies of this Software may be made, however, the above copyright
24  * notice must be reproduced on all copies.
25  *
26  *      @(#) $FreeBSD: src/sys/dev/hea/eni_stats.h,v 1.2 1999/08/28 00:41:46 peter Exp $
27  *      @(#) $DragonFly: src/sys/dev/atm/hea/eni_stats.h,v 1.2 2003/06/17 04:28:26 dillon Exp $
28  *
29  */
30
31 /*
32  * Efficient ENI Adapter Support
33  * -----------------------------
34  *
35  * Defines for statistics
36  *
37  */
38
39 #ifndef _ENI_ENI_STATS_H
40 #define _ENI_ENI_STATS_H
41
42 struct eni_stats_oc3 {
43         u_long          oc3_sect_bip8;  /* Section 8-bit intrlv parity errors */
44         u_long          oc3_path_bip8;  /* Path 8-bit intrlv parity errors */
45         u_long          oc3_line_bip24; /* Line 24-bit intrlv parity errors */
46         u_long          oc3_line_febe;  /* Line far-end block errors */
47         u_long          oc3_path_febe;  /* Path far-end block errors */
48         u_long          oc3_hec_corr;   /* Correctable HEC errors */
49         u_long          oc3_hec_uncorr; /* Uncorrectable HEC errors */
50         u_long          oc3_pad;        /* Pad to quad-word boundary */
51 };
52 typedef struct eni_stats_oc3    Eni_Stats_oc3;
53
54 struct eni_stats_atm {
55         u_long          atm_xmit;       /* Cells transmitted */
56         u_long          atm_rcvd;       /* Cells received */
57         u_long          atm_pad[2];     /* Pad to quad-word boundary */
58 };
59 typedef struct eni_stats_atm    Eni_Stats_atm;
60
61 struct eni_stats_aal0 {
62         u_long          aal0_xmit;      /* Cells transmitted */
63         u_long          aal0_rcvd;      /* Cells received */
64         u_long          aal0_drops;     /* Cells dropped */
65         u_long          aal0_pad;       /* Pad to quad-word boundary */
66 };
67 typedef struct eni_stats_aal0   Eni_Stats_aal0;
68
69 struct eni_stats_aal5 {
70         u_long          aal5_xmit;      /* Cells transmitted */
71         u_long          aal5_rcvd;      /* Cells received */
72         u_long          aal5_crc_len;   /* Cells with CRC/length errors */
73         u_long          aal5_drops;     /* Cell drops */
74         u_long          aal5_pdu_xmit;  /* CS PDUs transmitted */
75         u_long          aal5_pdu_rcvd;  /* CS PDUs received */
76         u_long          aal5_pdu_crc;   /* CS PDUs with CRC errors */
77         u_long          aal5_pdu_errs;  /* CS layer protocol errors */
78         u_long          aal5_pdu_drops; /* CS PDUs dropped */
79         u_long          aal5_pad[3];    /* Pad to quad-word boundary */
80 };
81 typedef struct eni_stats_aal5   Eni_Stats_aal5;
82
83 struct eni_stats_driver {
84         /*
85          * Adapter memory allocator stats
86          */
87         u_long          drv_mm_toobig;  /* Size larger then adapter supports */
88         u_long          drv_mm_nodesc;  /* No memory area descriptor avail */
89         u_long          drv_mm_nobuf;   /* No memory buffer available */
90         u_long          drv_mm_notuse;  /* Calling free() on free buffer */
91         u_long          drv_mm_notfnd;  /* Couldn't find descr for free() */
92
93         /*
94          * VCM sats
95          */
96         u_long          drv_vc_maxpdu;  /* Requested PDU size too large */
97         u_long          drv_vc_badrng;  /* VPI and/or VCI too large */
98
99         /*
100          * Receive stats
101          */
102         u_long          drv_rv_norsc;   /* No buffer for resource pointers */
103         u_long          drv_rv_nobufs;  /* No buffers for PDU */
104         u_long          drv_rv_nodma;   /* No room in RXDMA list */
105         u_long          drv_rv_rxq;     /* No room in local rxqueue */
106         u_long          drv_rv_novcc;   /* Draining PDU on closed VCC */
107         u_long          drv_rv_intrq;   /* No room in atm_intrq */
108         u_long          drv_rv_null;    /* Trying to pass null PDU up stack */
109         u_long          drv_rv_segdma;  /* No DMA address */
110
111         /*
112          * Transmit stats
113          */
114         u_long          drv_xm_segdma;  /* No DMA address */
115         u_long          drv_xm_segnoal; /* Non-aligned segment */
116         u_long          drv_xm_seglen;  /* Padded length segment */
117         u_long          drv_xm_maxpdu;  /* Too many segments - dropped */
118         u_long          drv_xm_nobuf;   /* No space in TX buffer - dropped */
119         u_long          drv_xm_norsc;   /* No buffers for resource pointers */
120         u_long          drv_xm_nodma;   /* No space in TXDMA list */
121         u_long          drv_xm_dmaovfl; /* DMA overflow */
122
123 };
124 typedef struct eni_stats_driver Eni_Stats_drv;
125
126 struct  eni_stats {
127         Eni_Stats_oc3   eni_st_oc3;     /* OC3 layer stats */
128         Eni_Stats_atm   eni_st_atm;     /* ATM layer stats */
129         Eni_Stats_aal0  eni_st_aal0;    /* AAL0 layer stats */
130         Eni_Stats_aal5  eni_st_aal5;    /* AAL5 layer stats */
131         Eni_Stats_drv   eni_st_drv;     /* Driver stats */
132 };
133 typedef struct eni_stats        Eni_stats;
134
135 #endif  /* _ENI_ENI_STATS_H */