162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* $Date: 2005/03/07 23:59:05 $ $RCSfile: tp.h,v $ $Revision: 1.20 $ */ 362306a36Sopenharmony_ci#ifndef CHELSIO_TP_H 462306a36Sopenharmony_ci#define CHELSIO_TP_H 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include "common.h" 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#define TP_MAX_RX_COALESCING_SIZE 16224U 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cistruct tp_mib_statistics { 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci /* IP */ 1362306a36Sopenharmony_ci u32 ipInReceive_hi; 1462306a36Sopenharmony_ci u32 ipInReceive_lo; 1562306a36Sopenharmony_ci u32 ipInHdrErrors_hi; 1662306a36Sopenharmony_ci u32 ipInHdrErrors_lo; 1762306a36Sopenharmony_ci u32 ipInAddrErrors_hi; 1862306a36Sopenharmony_ci u32 ipInAddrErrors_lo; 1962306a36Sopenharmony_ci u32 ipInUnknownProtos_hi; 2062306a36Sopenharmony_ci u32 ipInUnknownProtos_lo; 2162306a36Sopenharmony_ci u32 ipInDiscards_hi; 2262306a36Sopenharmony_ci u32 ipInDiscards_lo; 2362306a36Sopenharmony_ci u32 ipInDelivers_hi; 2462306a36Sopenharmony_ci u32 ipInDelivers_lo; 2562306a36Sopenharmony_ci u32 ipOutRequests_hi; 2662306a36Sopenharmony_ci u32 ipOutRequests_lo; 2762306a36Sopenharmony_ci u32 ipOutDiscards_hi; 2862306a36Sopenharmony_ci u32 ipOutDiscards_lo; 2962306a36Sopenharmony_ci u32 ipOutNoRoutes_hi; 3062306a36Sopenharmony_ci u32 ipOutNoRoutes_lo; 3162306a36Sopenharmony_ci u32 ipReasmTimeout; 3262306a36Sopenharmony_ci u32 ipReasmReqds; 3362306a36Sopenharmony_ci u32 ipReasmOKs; 3462306a36Sopenharmony_ci u32 ipReasmFails; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci u32 reserved[8]; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci /* TCP */ 3962306a36Sopenharmony_ci u32 tcpActiveOpens; 4062306a36Sopenharmony_ci u32 tcpPassiveOpens; 4162306a36Sopenharmony_ci u32 tcpAttemptFails; 4262306a36Sopenharmony_ci u32 tcpEstabResets; 4362306a36Sopenharmony_ci u32 tcpOutRsts; 4462306a36Sopenharmony_ci u32 tcpCurrEstab; 4562306a36Sopenharmony_ci u32 tcpInSegs_hi; 4662306a36Sopenharmony_ci u32 tcpInSegs_lo; 4762306a36Sopenharmony_ci u32 tcpOutSegs_hi; 4862306a36Sopenharmony_ci u32 tcpOutSegs_lo; 4962306a36Sopenharmony_ci u32 tcpRetransSeg_hi; 5062306a36Sopenharmony_ci u32 tcpRetransSeg_lo; 5162306a36Sopenharmony_ci u32 tcpInErrs_hi; 5262306a36Sopenharmony_ci u32 tcpInErrs_lo; 5362306a36Sopenharmony_ci u32 tcpRtoMin; 5462306a36Sopenharmony_ci u32 tcpRtoMax; 5562306a36Sopenharmony_ci}; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_cistruct petp; 5862306a36Sopenharmony_cistruct tp_params; 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_cistruct petp *t1_tp_create(adapter_t *adapter, struct tp_params *p); 6162306a36Sopenharmony_civoid t1_tp_destroy(struct petp *tp); 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_civoid t1_tp_intr_disable(struct petp *tp); 6462306a36Sopenharmony_civoid t1_tp_intr_enable(struct petp *tp); 6562306a36Sopenharmony_civoid t1_tp_intr_clear(struct petp *tp); 6662306a36Sopenharmony_ciint t1_tp_intr_handler(struct petp *tp); 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_civoid t1_tp_get_mib_statistics(adapter_t *adap, struct tp_mib_statistics *tps); 6962306a36Sopenharmony_civoid t1_tp_set_tcp_checksum_offload(struct petp *tp, int enable); 7062306a36Sopenharmony_civoid t1_tp_set_ip_checksum_offload(struct petp *tp, int enable); 7162306a36Sopenharmony_ciint t1_tp_set_coalescing_size(struct petp *tp, unsigned int size); 7262306a36Sopenharmony_ciint t1_tp_reset(struct petp *tp, struct tp_params *p, unsigned int tp_clk); 7362306a36Sopenharmony_ci#endif 74