Merge branch 'topic/pcm-cleanup' into for-linus
[linux-2.6] / drivers / net / chelsio / tp.h
1 /* $Date: 2005/03/07 23:59:05 $ $RCSfile: tp.h,v $ $Revision: 1.20 $ */
2 #ifndef CHELSIO_TP_H
3 #define CHELSIO_TP_H
4
5 #include "common.h"
6
7 #define TP_MAX_RX_COALESCING_SIZE 16224U
8
9 struct tp_mib_statistics {
10
11         /* IP */
12         u32 ipInReceive_hi;
13         u32 ipInReceive_lo;
14         u32 ipInHdrErrors_hi;
15         u32 ipInHdrErrors_lo;
16         u32 ipInAddrErrors_hi;
17         u32 ipInAddrErrors_lo;
18         u32 ipInUnknownProtos_hi;
19         u32 ipInUnknownProtos_lo;
20         u32 ipInDiscards_hi;
21         u32 ipInDiscards_lo;
22         u32 ipInDelivers_hi;
23         u32 ipInDelivers_lo;
24         u32 ipOutRequests_hi;
25         u32 ipOutRequests_lo;
26         u32 ipOutDiscards_hi;
27         u32 ipOutDiscards_lo;
28         u32 ipOutNoRoutes_hi;
29         u32 ipOutNoRoutes_lo;
30         u32 ipReasmTimeout;
31         u32 ipReasmReqds;
32         u32 ipReasmOKs;
33         u32 ipReasmFails;
34
35         u32 reserved[8];
36
37         /* TCP */
38         u32 tcpActiveOpens;
39         u32 tcpPassiveOpens;
40         u32 tcpAttemptFails;
41         u32 tcpEstabResets;
42         u32 tcpOutRsts;
43         u32 tcpCurrEstab;
44         u32 tcpInSegs_hi;
45         u32 tcpInSegs_lo;
46         u32 tcpOutSegs_hi;
47         u32 tcpOutSegs_lo;
48         u32 tcpRetransSeg_hi;
49         u32 tcpRetransSeg_lo;
50         u32 tcpInErrs_hi;
51         u32 tcpInErrs_lo;
52         u32 tcpRtoMin;
53         u32 tcpRtoMax;
54 };
55
56 struct petp;
57 struct tp_params;
58
59 struct petp *t1_tp_create(adapter_t *adapter, struct tp_params *p);
60 void t1_tp_destroy(struct petp *tp);
61
62 void t1_tp_intr_disable(struct petp *tp);
63 void t1_tp_intr_enable(struct petp *tp);
64 void t1_tp_intr_clear(struct petp *tp);
65 int t1_tp_intr_handler(struct petp *tp);
66
67 void t1_tp_get_mib_statistics(adapter_t *adap, struct tp_mib_statistics *tps);
68 void t1_tp_set_udp_checksum_offload(struct petp *tp, int enable);
69 void t1_tp_set_tcp_checksum_offload(struct petp *tp, int enable);
70 void t1_tp_set_ip_checksum_offload(struct petp *tp, int enable);
71 int t1_tp_set_coalescing_size(struct petp *tp, unsigned int size);
72 int t1_tp_reset(struct petp *tp, struct tp_params *p, unsigned int tp_clk);
73 #endif