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