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