18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* $Date: 2005/03/07 23:59:05 $ $RCSfile: tp.h,v $ $Revision: 1.20 $ */ 38c2ecf20Sopenharmony_ci#ifndef CHELSIO_TP_H 48c2ecf20Sopenharmony_ci#define CHELSIO_TP_H 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#include "common.h" 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#define TP_MAX_RX_COALESCING_SIZE 16224U 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cistruct tp_mib_statistics { 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci /* IP */ 138c2ecf20Sopenharmony_ci u32 ipInReceive_hi; 148c2ecf20Sopenharmony_ci u32 ipInReceive_lo; 158c2ecf20Sopenharmony_ci u32 ipInHdrErrors_hi; 168c2ecf20Sopenharmony_ci u32 ipInHdrErrors_lo; 178c2ecf20Sopenharmony_ci u32 ipInAddrErrors_hi; 188c2ecf20Sopenharmony_ci u32 ipInAddrErrors_lo; 198c2ecf20Sopenharmony_ci u32 ipInUnknownProtos_hi; 208c2ecf20Sopenharmony_ci u32 ipInUnknownProtos_lo; 218c2ecf20Sopenharmony_ci u32 ipInDiscards_hi; 228c2ecf20Sopenharmony_ci u32 ipInDiscards_lo; 238c2ecf20Sopenharmony_ci u32 ipInDelivers_hi; 248c2ecf20Sopenharmony_ci u32 ipInDelivers_lo; 258c2ecf20Sopenharmony_ci u32 ipOutRequests_hi; 268c2ecf20Sopenharmony_ci u32 ipOutRequests_lo; 278c2ecf20Sopenharmony_ci u32 ipOutDiscards_hi; 288c2ecf20Sopenharmony_ci u32 ipOutDiscards_lo; 298c2ecf20Sopenharmony_ci u32 ipOutNoRoutes_hi; 308c2ecf20Sopenharmony_ci u32 ipOutNoRoutes_lo; 318c2ecf20Sopenharmony_ci u32 ipReasmTimeout; 328c2ecf20Sopenharmony_ci u32 ipReasmReqds; 338c2ecf20Sopenharmony_ci u32 ipReasmOKs; 348c2ecf20Sopenharmony_ci u32 ipReasmFails; 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci u32 reserved[8]; 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci /* TCP */ 398c2ecf20Sopenharmony_ci u32 tcpActiveOpens; 408c2ecf20Sopenharmony_ci u32 tcpPassiveOpens; 418c2ecf20Sopenharmony_ci u32 tcpAttemptFails; 428c2ecf20Sopenharmony_ci u32 tcpEstabResets; 438c2ecf20Sopenharmony_ci u32 tcpOutRsts; 448c2ecf20Sopenharmony_ci u32 tcpCurrEstab; 458c2ecf20Sopenharmony_ci u32 tcpInSegs_hi; 468c2ecf20Sopenharmony_ci u32 tcpInSegs_lo; 478c2ecf20Sopenharmony_ci u32 tcpOutSegs_hi; 488c2ecf20Sopenharmony_ci u32 tcpOutSegs_lo; 498c2ecf20Sopenharmony_ci u32 tcpRetransSeg_hi; 508c2ecf20Sopenharmony_ci u32 tcpRetransSeg_lo; 518c2ecf20Sopenharmony_ci u32 tcpInErrs_hi; 528c2ecf20Sopenharmony_ci u32 tcpInErrs_lo; 538c2ecf20Sopenharmony_ci u32 tcpRtoMin; 548c2ecf20Sopenharmony_ci u32 tcpRtoMax; 558c2ecf20Sopenharmony_ci}; 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_cistruct petp; 588c2ecf20Sopenharmony_cistruct tp_params; 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_cistruct petp *t1_tp_create(adapter_t *adapter, struct tp_params *p); 618c2ecf20Sopenharmony_civoid t1_tp_destroy(struct petp *tp); 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_civoid t1_tp_intr_disable(struct petp *tp); 648c2ecf20Sopenharmony_civoid t1_tp_intr_enable(struct petp *tp); 658c2ecf20Sopenharmony_civoid t1_tp_intr_clear(struct petp *tp); 668c2ecf20Sopenharmony_ciint t1_tp_intr_handler(struct petp *tp); 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_civoid t1_tp_get_mib_statistics(adapter_t *adap, struct tp_mib_statistics *tps); 698c2ecf20Sopenharmony_civoid t1_tp_set_tcp_checksum_offload(struct petp *tp, int enable); 708c2ecf20Sopenharmony_civoid t1_tp_set_ip_checksum_offload(struct petp *tp, int enable); 718c2ecf20Sopenharmony_ciint t1_tp_set_coalescing_size(struct petp *tp, unsigned int size); 728c2ecf20Sopenharmony_ciint t1_tp_reset(struct petp *tp, struct tp_params *p, unsigned int tp_clk); 738c2ecf20Sopenharmony_ci#endif 74