FreeBSD kernel CXGBE device code
adapter.h File Reference
#include <sys/kernel.h>
#include <sys/bus.h>
#include <sys/counter.h>
#include <sys/rman.h>
#include <sys/types.h>
#include <sys/lock.h>
#include <sys/malloc.h>
#include <sys/rwlock.h>
#include <sys/sx.h>
#include <sys/vmem.h>
#include <vm/uma.h>
#include <dev/pci/pcivar.h>
#include <dev/pci/pcireg.h>
#include <machine/bus.h>
#include <sys/socket.h>
#include <sys/sysctl.h>
#include <sys/taskqueue.h>
#include <net/ethernet.h>
#include <net/if.h>
#include <net/if_var.h>
#include <net/if_media.h>
#include <net/pfil.h>
#include <netinet/in.h>
#include <netinet/tcp_lro.h>
#include "offload.h"
#include "t4_ioctl.h"
#include "common/t4_msg.h"
#include "firmware/t4fw_interface.h"
Include dependency graph for adapter.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vi_info
 
struct  tx_ch_rl_params
 
struct  tx_cl_rl_params
 
struct  tx_sched_params
 
struct  port_info
 
struct  cluster_metadata
 
struct  fl_sdesc
 
struct  tx_desc
 
struct  tx_sdesc
 
struct  iq_desc
 
struct  sge_iq
 
struct  sge_eq
 
struct  rx_buf_info
 
struct  memwin
 
struct  sge_fl
 
struct  txpkts
 
struct  sge_txq
 
struct  sge_rxq
 
struct  sge_ofld_rxq
 
struct  wrqe
 
struct  wrq_cookie
 
struct  sge_wrq
 
struct  sge_ofld_txq
 
struct  sge_nm_rxq
 
struct  sge_nm_txq
 
struct  sge
 
struct  devnames
 
struct  adapter
 
struct  adapter::irq
 

Macros

#define KTR_CXGBE   KTR_SPARE3
 
#define CXGBE_UNIMPLEMENTED(s)    panic("%s (%s, line %d) not implemented yet.", s, __FILE__, __LINE__)
 
#define CXGBE_LIST_HEAD(name, type)
 
#define SYSCTL_ADD_UQUAD   SYSCTL_ADD_QUAD
 
#define sysctl_handle_64   sysctl_handle_quad
 
#define CTLTYPE_U64   CTLTYPE_QUAD
 
#define IS_DOOMED(vi)   ((vi)->flags & DOOMED)
 
#define SET_DOOMED(vi)   do {(vi)->flags |= DOOMED;} while (0)
 
#define IS_BUSY(sc)   ((sc)->flags & CXGBE_BUSY)
 
#define SET_BUSY(sc)   do {(sc)->flags |= CXGBE_BUSY;} while (0)
 
#define CLR_BUSY(sc)   do {(sc)->flags &= ~CXGBE_BUSY;} while (0)
 
#define IS_MAIN_VI(vi)   ((vi) == &((vi)->pi->vi[0]))
 
#define IQ_PAD   (IQ_ESIZE - sizeof(struct rsp_ctrl) - sizeof(struct rss_header))
 
#define FL_RUNNING_LOW(fl)    (IDXDIFF(fl->dbidx * 8, fl->cidx, fl->sidx * 8) <= fl->lowat)
 
#define FL_NOT_RUNNING_LOW(fl)    (IDXDIFF(fl->dbidx * 8, fl->cidx, fl->sidx * 8) >= 2 * fl->lowat)
 
#define INVALID_NM_RXQ_CNTXT_ID   ((uint16_t)(-1))
 
#define INVALID_NM_TXQ_CNTXT_ID   ((u_int)(-1))
 
#define ADAPTER_LOCK(sc)   mtx_lock(&(sc)->sc_lock)
 
#define ADAPTER_UNLOCK(sc)   mtx_unlock(&(sc)->sc_lock)
 
#define ADAPTER_LOCK_ASSERT_OWNED(sc)   mtx_assert(&(sc)->sc_lock, MA_OWNED)
 
#define ADAPTER_LOCK_ASSERT_NOTOWNED(sc)   mtx_assert(&(sc)->sc_lock, MA_NOTOWNED)
 
#define ASSERT_SYNCHRONIZED_OP(sc)
 
#define PORT_LOCK(pi)   mtx_lock(&(pi)->pi_lock)
 
#define PORT_UNLOCK(pi)   mtx_unlock(&(pi)->pi_lock)
 
#define PORT_LOCK_ASSERT_OWNED(pi)   mtx_assert(&(pi)->pi_lock, MA_OWNED)
 
#define PORT_LOCK_ASSERT_NOTOWNED(pi)   mtx_assert(&(pi)->pi_lock, MA_NOTOWNED)
 
#define FL_LOCK(fl)   mtx_lock(&(fl)->fl_lock)
 
#define FL_TRYLOCK(fl)   mtx_trylock(&(fl)->fl_lock)
 
#define FL_UNLOCK(fl)   mtx_unlock(&(fl)->fl_lock)
 
#define FL_LOCK_ASSERT_OWNED(fl)   mtx_assert(&(fl)->fl_lock, MA_OWNED)
 
#define FL_LOCK_ASSERT_NOTOWNED(fl)   mtx_assert(&(fl)->fl_lock, MA_NOTOWNED)
 
#define RXQ_FL_LOCK(rxq)   FL_LOCK(&(rxq)->fl)
 
#define RXQ_FL_UNLOCK(rxq)   FL_UNLOCK(&(rxq)->fl)
 
#define RXQ_FL_LOCK_ASSERT_OWNED(rxq)   FL_LOCK_ASSERT_OWNED(&(rxq)->fl)
 
#define RXQ_FL_LOCK_ASSERT_NOTOWNED(rxq)   FL_LOCK_ASSERT_NOTOWNED(&(rxq)->fl)
 
#define EQ_LOCK(eq)   mtx_lock(&(eq)->eq_lock)
 
#define EQ_TRYLOCK(eq)   mtx_trylock(&(eq)->eq_lock)
 
#define EQ_UNLOCK(eq)   mtx_unlock(&(eq)->eq_lock)
 
#define EQ_LOCK_ASSERT_OWNED(eq)   mtx_assert(&(eq)->eq_lock, MA_OWNED)
 
#define EQ_LOCK_ASSERT_NOTOWNED(eq)   mtx_assert(&(eq)->eq_lock, MA_NOTOWNED)
 
#define TXQ_LOCK(txq)   EQ_LOCK(&(txq)->eq)
 
#define TXQ_TRYLOCK(txq)   EQ_TRYLOCK(&(txq)->eq)
 
#define TXQ_UNLOCK(txq)   EQ_UNLOCK(&(txq)->eq)
 
#define TXQ_LOCK_ASSERT_OWNED(txq)   EQ_LOCK_ASSERT_OWNED(&(txq)->eq)
 
#define TXQ_LOCK_ASSERT_NOTOWNED(txq)   EQ_LOCK_ASSERT_NOTOWNED(&(txq)->eq)
 
#define for_each_txq(vi, iter, q)
 
#define for_each_rxq(vi, iter, q)
 
#define for_each_ofld_txq(vi, iter, q)
 
#define for_each_ofld_rxq(vi, iter, q)
 
#define for_each_nm_txq(vi, iter, q)
 
#define for_each_nm_rxq(vi, iter, q)
 
#define for_each_vi(_pi, _iter, _vi)
 
#define IDXINCR(idx, incr, wrap)
 
#define IDXDIFF(head, tail, wrap)    ((head) >= (tail) ? (head) - (tail) : (wrap) - (tail) + (head))
 
#define T4_EXTRA_INTR   2
 
#define T4VF_EXTRA_INTR   1
 

Typedefs

typedef struct adapter adapter_t
 
typedef int(* cpl_handler_t) (struct sge_iq *, const struct rss_header *, struct mbuf *)
 
typedef int(* an_handler_t) (struct sge_iq *, const struct rsp_ctrl *)
 
typedef int(* fw_msg_handler_t) (struct adapter *, const __be64 *)
 

Enumerations

enum  {
  IQ_ESIZE = 64 , FW_IQ_QSIZE = 256 , RX_IQ_QSIZE = 1024 , EQ_ESIZE = 64 ,
  CTRL_EQ_QSIZE = 1024 , TX_EQ_QSIZE = 1024 , SW_ZONE_SIZES = 3 , CL_METADATA_SIZE = CACHE_LINE_SIZE ,
  SGE_MAX_WR_NDESC = SGE_MAX_WR_LEN / EQ_ESIZE , TX_SGL_SEGS = 39 , TX_SGL_SEGS_TSO = 38 , TX_SGL_SEGS_VM = 38 ,
  TX_SGL_SEGS_VM_TSO = 37 , TX_SGL_SEGS_EO_TSO = 30 , TX_SGL_SEGS_VXLAN_TSO = 37 , TX_WR_FLITS = SGE_MAX_WR_LEN / 8
}
 
enum  { INTR_INTX = (1 << 0) , INTR_MSI = (1 << 1) , INTR_MSIX = (1 << 2) }
 
enum  {
  XGMAC_MTU = (1 << 0) , XGMAC_PROMISC = (1 << 1) , XGMAC_ALLMULTI = (1 << 2) , XGMAC_VLANEX = (1 << 3) ,
  XGMAC_UCADDR = (1 << 4) , XGMAC_MCADDRS = (1 << 5) , XGMAC_ALL = 0xffff
}
 
enum  { HOLD_LOCK = (1 << 0) , SLEEP_OK = (1 << 1) , INTR_OK = (1 << 2) , LOCK_HELD = HOLD_LOCK }
 
enum  {
  FULL_INIT_DONE = (1 << 0) , FW_OK = (1 << 1) , CHK_MBOX_ACCESS = (1 << 2) , MASTER_PF = (1 << 3) ,
  BUF_PACKING_OK = (1 << 6) , IS_VF = (1 << 7) , KERN_TLS_ON = (1 << 8) , CXGBE_BUSY = (1 << 9) ,
  ADAP_STOPPED = (1 << 0) , ADAP_FATAL_ERR = (1 << 1) , HW_OFF_LIMITS = (1 << 2) , ADAP_CIM_ERR = (1 << 3) ,
  HAS_TRACEQ = (1 << 3) , FIXED_IFMEDIA = (1 << 4) , DOOMED = (1 << 0) , VI_INIT_DONE = (1 << 1) ,
  TX_USES_VM_WR = (1 << 3) , VI_SKIP_STATS = (1 << 4) , DF_DUMP_MBOX = (1 << 0) , DF_LOAD_FW_ANYTIME = (1 << 1) ,
  DF_DISABLE_TCB_CACHE = (1 << 2) , DF_DISABLE_CFG_RETRY = (1 << 3) , DF_VERBOSE_SLOWINTR = (1 << 4)
}
 
enum  clrl_state {
  CS_UNINITIALIZED = 0 , CS_PARAMS_SET , CS_HW_UPDATE_REQUESTED , CS_HW_UPDATE_IN_PROGRESS ,
  CS_HW_CONFIGURED
}
 
enum  { CF_USER = (1 << 0) }
 
enum  {
  IQ_SW_ALLOCATED = (1 << 0) , IQ_HAS_FL = (1 << 1) , IQ_RX_TIMESTAMP = (1 << 2) , IQ_LRO_ENABLED = (1 << 3) ,
  IQ_ADJ_CREDIT = (1 << 4) , IQ_HW_ALLOCATED = (1 << 5) , IQS_DISABLED = 0 , IQS_BUSY = 1 ,
  IQS_IDLE = 2 , NM_OFF = 0 , NM_ON = 1 , NM_BUSY = 2
}
 
enum  {
  CPL_COOKIE_RESERVED = 0 , CPL_COOKIE_FILTER , CPL_COOKIE_DDP0 , CPL_COOKIE_DDP1 ,
  CPL_COOKIE_TOM , CPL_COOKIE_HASHFILTER , CPL_COOKIE_ETHOFLD , CPL_COOKIE_KERN_TLS ,
  NUM_CPL_COOKIES = 8
}
 
enum  {
  EQ_CTRL = 1 , EQ_ETH = 2 , EQ_OFLD = 3 , EQ_SW_ALLOCATED = (1 << 0) ,
  EQ_HW_ALLOCATED = (1 << 1) , EQ_ENABLED = (1 << 3) , EQ_QFLUSH = (1 << 4)
}
 
enum  { DOORBELL_UDB , DOORBELL_WCWR , DOORBELL_UDBWC , DOORBELL_KDB }
 
enum  {
  NUM_MEMWIN = 3 , MEMWIN0_APERTURE = 2048 , MEMWIN0_BASE = 0x1b800 , MEMWIN1_APERTURE = 32768 ,
  MEMWIN1_BASE = 0x28000 , MEMWIN2_APERTURE_T4 = 65536 , MEMWIN2_BASE_T4 = 0x30000 , MEMWIN2_APERTURE_T5 = 128 * 1024 ,
  MEMWIN2_BASE_T5 = 0x60000
}
 
enum  { FL_STARVING = (1 << 0) , FL_DOOMED = (1 << 1) , FL_BUF_PACKING = (1 << 2) , FL_BUF_RESUME = (1 << 3) }
 

Functions

 MALLOC_DECLARE (M_CXGBE)
 
 SYSCTL_DECL (_hw_cxgbe)
 
 CTASSERT (sizeof(struct iq_desc)==IQ_ESIZE)
 
struct sge_txq __aligned (CACHE_LINE_SIZE)
 
uint8_t ss[SGE_MAX_WR_LEN__aligned (16)
 
static struct sge_rxqiq_to_rxq (struct sge_iq *iq)
 
static struct sge_ofld_rxqiq_to_ofld_rxq (struct sge_iq *iq)
 
 TAILQ_HEAD (wrq_incomplete_wrs, wrq_cookie) incomplete_wrs
 
 STAILQ_HEAD (, wrqe) wr_list
 
static int forwarding_intr_to_fwq (struct adapter *sc)
 
static bool hw_off_limits (struct adapter *sc)
 
static uint32_t t4_read_reg (struct adapter *sc, uint32_t reg)
 
static void t4_write_reg (struct adapter *sc, uint32_t reg, uint32_t val)
 
static uint64_t t4_read_reg64 (struct adapter *sc, uint32_t reg)
 
static void t4_write_reg64 (struct adapter *sc, uint32_t reg, uint64_t val)
 
static void t4_os_pci_read_cfg1 (struct adapter *sc, int reg, uint8_t *val)
 
static void t4_os_pci_write_cfg1 (struct adapter *sc, int reg, uint8_t val)
 
static void t4_os_pci_read_cfg2 (struct adapter *sc, int reg, uint16_t *val)
 
static void t4_os_pci_write_cfg2 (struct adapter *sc, int reg, uint16_t val)
 
static void t4_os_pci_read_cfg4 (struct adapter *sc, int reg, uint32_t *val)
 
static void t4_os_pci_write_cfg4 (struct adapter *sc, int reg, uint32_t val)
 
static struct port_infoadap2pinfo (struct adapter *sc, int idx)
 
static void t4_os_set_hw_addr (struct port_info *pi, uint8_t hw_addr[])
 
static int tx_resume_threshold (struct sge_eq *eq)
 
static int t4_use_ldst (struct adapter *sc)
 
static void CH_DUMP_MBOX (struct adapter *sc, int mbox, const int reg, const char *msg, const __be64 *const p, const bool err)
 
int t4_os_find_pci_capability (struct adapter *, int)
 
int t4_os_pci_save_state (struct adapter *)
 
int t4_os_pci_restore_state (struct adapter *)
 
void t4_os_portmod_changed (struct port_info *)
 
void t4_os_link_changed (struct port_info *)
 
void t4_iterate (void(*)(struct adapter *, void *), void *)
 
void t4_init_devnames (struct adapter *)
 
void t4_add_adapter (struct adapter *)
 
int t4_detach_common (device_t)
 
int t4_map_bars_0_and_4 (struct adapter *)
 
int t4_map_bar_2 (struct adapter *)
 
int t4_setup_intr_handlers (struct adapter *)
 
void t4_sysctls (struct adapter *)
 
int begin_synchronized_op (struct adapter *, struct vi_info *, int, char *)
 
void doom_vi (struct adapter *, struct vi_info *)
 
void end_synchronized_op (struct adapter *, int)
 
int update_mac_settings (struct ifnet *, int)
 
int adapter_init (struct adapter *)
 
int vi_init (struct vi_info *)
 
void vi_sysctls (struct vi_info *)
 
int rw_via_memwin (struct adapter *, int, uint32_t, uint32_t *, int, int)
 
int alloc_atid (struct adapter *, void *)
 
void * lookup_atid (struct adapter *, int)
 
void free_atid (struct adapter *, int)
 
void release_tid (struct adapter *, int, struct sge_wrq *)
 
int cxgbe_media_change (struct ifnet *)
 
void cxgbe_media_status (struct ifnet *, struct ifmediareq *)
 
void t4_os_cim_err (struct adapter *)
 
void t4_aes_getdeckey (void *, const void *, unsigned int)
 
void t4_copy_partial_hash (int, union authctx *, void *)
 
void t4_init_gmac_hash (const char *, int, char *)
 
void t4_init_hmac_digest (const struct auth_hash *, u_int, const char *, int, char *)
 
void t4_sge_modload (void)
 
void t4_sge_modunload (void)
 
uint64_t t4_sge_extfree_refs (void)
 
void t4_tweak_chip_settings (struct adapter *)
 
int t4_verify_chip_settings (struct adapter *)
 
void t4_init_rx_buf_info (struct adapter *)
 
int t4_create_dma_tag (struct adapter *)
 
void t4_sge_sysctls (struct adapter *, struct sysctl_ctx_list *, struct sysctl_oid_list *)
 
int t4_destroy_dma_tag (struct adapter *)
 
int alloc_ring (struct adapter *, size_t, bus_dma_tag_t *, bus_dmamap_t *, bus_addr_t *, void **)
 
int free_ring (struct adapter *, bus_dma_tag_t, bus_dmamap_t, bus_addr_t, void *)
 
void free_fl_buffers (struct adapter *, struct sge_fl *)
 
int t4_setup_adapter_queues (struct adapter *)
 
int t4_teardown_adapter_queues (struct adapter *)
 
int t4_setup_vi_queues (struct vi_info *)
 
int t4_teardown_vi_queues (struct vi_info *)
 
void t4_intr_all (void *)
 
void t4_intr (void *)
 
void t4_intr_err (void *)
 
void t4_intr_evt (void *)
 
void t4_wrq_tx_locked (struct adapter *, struct sge_wrq *, struct wrqe *)
 
void t4_update_fl_bufsize (struct ifnet *)
 
struct mbuf * alloc_wr_mbuf (int, int)
 
int parse_pkt (struct mbuf **, bool)
 
void * start_wrq_wr (struct sge_wrq *, int, struct wrq_cookie *)
 
void commit_wrq_wr (struct sge_wrq *, void *, struct wrq_cookie *)
 
int tnl_cong (struct port_info *, int)
 
void t4_register_an_handler (an_handler_t)
 
void t4_register_fw_msg_handler (int, fw_msg_handler_t)
 
void t4_register_cpl_handler (int, cpl_handler_t)
 
void t4_register_shared_cpl_handler (int, cpl_handler_t, int)
 
void t4_tracer_modload (void)
 
void t4_tracer_modunload (void)
 
void t4_tracer_port_detach (struct adapter *)
 
int t4_get_tracer (struct adapter *, struct t4_tracer *)
 
int t4_set_tracer (struct adapter *, struct t4_tracer *)
 
int t4_trace_pkt (struct sge_iq *, const struct rss_header *, struct mbuf *)
 
int t5_trace_pkt (struct sge_iq *, const struct rss_header *, struct mbuf *)
 
int t4_set_sched_class (struct adapter *, struct t4_sched_params *)
 
int t4_set_sched_queue (struct adapter *, struct t4_sched_queue *)
 
int t4_init_tx_sched (struct adapter *)
 
int t4_free_tx_sched (struct adapter *)
 
void t4_update_tx_sched (struct adapter *)
 
int t4_reserve_cl_rl_kbps (struct adapter *, int, u_int, int *)
 
void t4_release_cl_rl (struct adapter *, int, int)
 
int sysctl_tc (SYSCTL_HANDLER_ARGS)
 
int sysctl_tc_params (SYSCTL_HANDLER_ARGS)
 
int get_filter_mode (struct adapter *, uint32_t *)
 
int set_filter_mode (struct adapter *, uint32_t)
 
int set_filter_mask (struct adapter *, uint32_t)
 
int get_filter (struct adapter *, struct t4_filter *)
 
int set_filter (struct adapter *, struct t4_filter *)
 
int del_filter (struct adapter *, struct t4_filter *)
 
int t4_filter_rpl (struct sge_iq *, const struct rss_header *, struct mbuf *)
 
int t4_hashfilter_ao_rpl (struct sge_iq *, const struct rss_header *, struct mbuf *)
 
int t4_hashfilter_tcb_rpl (struct sge_iq *, const struct rss_header *, struct mbuf *)
 
int t4_del_hashfilter_rpl (struct sge_iq *, const struct rss_header *, struct mbuf *)
 
void free_hftid_hash (struct tid_info *)
 
static struct wrqealloc_wrqe (int wr_len, struct sge_wrq *wrq)
 
static void * wrtod (struct wrqe *wr)
 
static void free_wrqe (struct wrqe *wr)
 
static void t4_wrq_tx (struct adapter *sc, struct wrqe *wr)
 
static int read_via_memwin (struct adapter *sc, int idx, uint32_t addr, uint32_t *val, int len)
 
static int write_via_memwin (struct adapter *sc, int idx, uint32_t addr, const uint32_t *val, int len)
 
static int tx_len16_to_desc (int len16)
 

Variables

struct sge_eq eq
 
struct ifnet * ifp
 
struct mp_ringr
 
struct tx_sdescsdesc
 
struct sglist * gl
 
__be32 cpl_ctrl0
 
int tc_idx
 
uint64_t last_tx
 
struct txpkts txp
 
struct task tx_reclaim_task
 
uint64_t txcsum
 
uint64_t tso_wrs
 
uint64_t vlan_insertion
 
uint64_t imm_wrs
 
uint64_t sgl_wrs
 
uint64_t txpkt_wrs
 
uint64_t txpkts0_wrs
 
uint64_t txpkts1_wrs
 
uint64_t txpkts0_pkts
 
uint64_t txpkts1_pkts
 
uint64_t txpkts_flush
 
uint64_t raw_wrs
 
uint64_t vxlan_tso_wrs
 
uint64_t vxlan_txcsum
 
uint64_t kern_tls_records
 
uint64_t kern_tls_short
 
uint64_t kern_tls_partial
 
uint64_t kern_tls_full
 
uint64_t kern_tls_octets
 
uint64_t kern_tls_waste
 
uint64_t kern_tls_options
 
uint64_t kern_tls_header
 
uint64_t kern_tls_fin
 
uint64_t kern_tls_fin_short
 
uint64_t kern_tls_cbc
 
uint64_t kern_tls_gcm
 
struct sge_iq iq
 
struct sge_fl fl
 
struct lro_ctrl lro
 
uint64_t rxcsum
 
uint64_t vlan_extraction
 
uint64_t vxlan_rxcsum
 
counter_u64_t rx_iscsi_ddp_setup_ok
 
counter_u64_t rx_iscsi_ddp_setup_error
 
uint64_t rx_iscsi_ddp_pdus
 
uint64_t rx_iscsi_ddp_octets
 
uint64_t rx_iscsi_fl_pdus
 
uint64_t rx_iscsi_fl_octets
 
uint64_t rx_iscsi_padding_errors
 
uint64_t rx_iscsi_header_digest_errors
 
uint64_t rx_iscsi_data_digest_errors
 
u_long rx_toe_tls_records
 
u_long rx_toe_tls_octets
 
struct wrqe __aligned
 
struct adapteradapter
 
struct task wrq_tx_task
 
u_int nwr_pending
 
u_int ndesc_needed
 
uint64_t tx_wrs_direct
 
uint64_t tx_wrs_ss
 
uint64_t tx_wrs_copied
 
uint16_t ss_pidx
 
uint16_t ss_len
 
uint8_t ss [SGE_MAX_WR_LEN]
 
struct sge_wrq wrq
 
counter_u64_t tx_iscsi_pdus
 
counter_u64_t tx_iscsi_octets
 
counter_u64_t tx_iscsi_iso_wrs
 
counter_u64_t tx_toe_tls_records
 
counter_u64_t tx_toe_tls_octets
 
struct tx_descdesc
 
uint16_t cidx
 
uint16_t pidx
 
uint16_t sidx
 
uint16_t equiqidx
 
uint16_t equeqidx
 
uint16_t dbidx
 
uint8_t doorbells
 
volatile uint32_t * udb
 
u_int udb_qid
 
u_int cntxt_id
 
__be32 op_pkd
 
u_int nid
 
bus_dma_tag_t desc_tag
 
bus_dmamap_t desc_map
 
bus_addr_t ba
 
int iqidx
 
struct resource * res
 
int rid
 
void * tag
 
struct sge_rxqrxq
 
struct sge_nm_rxqnm_rxq
 
int t4_ntxq
 
int t4_nrxq
 
int t4_intr_types
 
int t4_tmr_idx
 
int t4_pktc_idx
 
unsigned int t4_qsize_rxq
 
unsigned int t4_qsize_txq
 
device_method_t cxgbe_methods []
 

Macro Definition Documentation

◆ ADAPTER_LOCK

#define ADAPTER_LOCK (   sc)    mtx_lock(&(sc)->sc_lock)

Definition at line 1015 of file adapter.h.

◆ ADAPTER_LOCK_ASSERT_NOTOWNED

#define ADAPTER_LOCK_ASSERT_NOTOWNED (   sc)    mtx_assert(&(sc)->sc_lock, MA_NOTOWNED)

Definition at line 1018 of file adapter.h.

◆ ADAPTER_LOCK_ASSERT_OWNED

#define ADAPTER_LOCK_ASSERT_OWNED (   sc)    mtx_assert(&(sc)->sc_lock, MA_OWNED)

Definition at line 1017 of file adapter.h.

◆ ADAPTER_UNLOCK

#define ADAPTER_UNLOCK (   sc)    mtx_unlock(&(sc)->sc_lock)

Definition at line 1016 of file adapter.h.

◆ ASSERT_SYNCHRONIZED_OP

#define ASSERT_SYNCHRONIZED_OP (   sc)
Value:
KASSERT(IS_BUSY(sc) && \
(mtx_owned(&(sc)->sc_lock) || sc->last_op_thr == curthread), \
("%s: operation not synchronized.", __func__))
#define IS_BUSY(sc)
Definition: adapter.h:194

Definition at line 1020 of file adapter.h.

◆ CLR_BUSY

#define CLR_BUSY (   sc)    do {(sc)->flags &= ~CXGBE_BUSY;} while (0)

Definition at line 196 of file adapter.h.

◆ CTLTYPE_U64

#define CTLTYPE_U64   CTLTYPE_QUAD

Definition at line 84 of file adapter.h.

◆ CXGBE_LIST_HEAD

#define CXGBE_LIST_HEAD (   name,
  type 
)
Value:
struct name { \
struct type *lh_first; /* first element */ \
}

Definition at line 76 of file adapter.h.

◆ CXGBE_UNIMPLEMENTED

#define CXGBE_UNIMPLEMENTED (   s)     panic("%s (%s, line %d) not implemented yet.", s, __FILE__, __LINE__)

Definition at line 69 of file adapter.h.

◆ EQ_LOCK

#define EQ_LOCK (   eq)    mtx_lock(&(eq)->eq_lock)

Definition at line 1041 of file adapter.h.

◆ EQ_LOCK_ASSERT_NOTOWNED

#define EQ_LOCK_ASSERT_NOTOWNED (   eq)    mtx_assert(&(eq)->eq_lock, MA_NOTOWNED)

Definition at line 1045 of file adapter.h.

◆ EQ_LOCK_ASSERT_OWNED

#define EQ_LOCK_ASSERT_OWNED (   eq)    mtx_assert(&(eq)->eq_lock, MA_OWNED)

Definition at line 1044 of file adapter.h.

◆ EQ_TRYLOCK

#define EQ_TRYLOCK (   eq)    mtx_trylock(&(eq)->eq_lock)

Definition at line 1042 of file adapter.h.

◆ EQ_UNLOCK

#define EQ_UNLOCK (   eq)    mtx_unlock(&(eq)->eq_lock)

Definition at line 1043 of file adapter.h.

◆ FL_LOCK

#define FL_LOCK (   fl)    mtx_lock(&(fl)->fl_lock)

Definition at line 1030 of file adapter.h.

◆ FL_LOCK_ASSERT_NOTOWNED

#define FL_LOCK_ASSERT_NOTOWNED (   fl)    mtx_assert(&(fl)->fl_lock, MA_NOTOWNED)

Definition at line 1034 of file adapter.h.

◆ FL_LOCK_ASSERT_OWNED

#define FL_LOCK_ASSERT_OWNED (   fl)    mtx_assert(&(fl)->fl_lock, MA_OWNED)

Definition at line 1033 of file adapter.h.

◆ FL_NOT_RUNNING_LOW

#define FL_NOT_RUNNING_LOW (   fl)     (IDXDIFF(fl->dbidx * 8, fl->cidx, fl->sidx * 8) >= 2 * fl->lowat)

Definition at line 534 of file adapter.h.

◆ FL_RUNNING_LOW

#define FL_RUNNING_LOW (   fl)     (IDXDIFF(fl->dbidx * 8, fl->cidx, fl->sidx * 8) <= fl->lowat)

Definition at line 532 of file adapter.h.

◆ FL_TRYLOCK

#define FL_TRYLOCK (   fl)    mtx_trylock(&(fl)->fl_lock)

Definition at line 1031 of file adapter.h.

◆ FL_UNLOCK

#define FL_UNLOCK (   fl)    mtx_unlock(&(fl)->fl_lock)

Definition at line 1032 of file adapter.h.

◆ for_each_nm_rxq

#define for_each_nm_rxq (   vi,
  iter,
 
)
Value:
for (q = &vi->adapter->sge.nm_rxq[vi->first_nm_rxq], iter = 0; \
iter < vi->nnmrxq; ++iter, ++q)

Definition at line 1068 of file adapter.h.

◆ for_each_nm_txq

#define for_each_nm_txq (   vi,
  iter,
 
)
Value:
for (q = &vi->adapter->sge.nm_txq[vi->first_nm_txq], iter = 0; \
iter < vi->nnmtxq; ++iter, ++q)

Definition at line 1065 of file adapter.h.

◆ for_each_ofld_rxq

#define for_each_ofld_rxq (   vi,
  iter,
 
)
Value:
for (q = &vi->adapter->sge.ofld_rxq[vi->first_ofld_rxq], iter = 0; \
iter < vi->nofldrxq; ++iter, ++q)

Definition at line 1062 of file adapter.h.

◆ for_each_ofld_txq

#define for_each_ofld_txq (   vi,
  iter,
 
)
Value:
for (q = &vi->adapter->sge.ofld_txq[vi->first_ofld_txq], iter = 0; \
iter < vi->nofldtxq; ++iter, ++q)

Definition at line 1059 of file adapter.h.

◆ for_each_rxq

#define for_each_rxq (   vi,
  iter,
 
)
Value:
for (q = &vi->adapter->sge.rxq[vi->first_rxq], iter = 0; \
iter < vi->nrxq; ++iter, ++q)

Definition at line 1056 of file adapter.h.

◆ for_each_txq

#define for_each_txq (   vi,
  iter,
 
)
Value:
for (q = &vi->adapter->sge.txq[vi->first_txq], iter = 0; \
iter < vi->ntxq; ++iter, ++q)

Definition at line 1053 of file adapter.h.

◆ for_each_vi

#define for_each_vi (   _pi,
  _iter,
  _vi 
)
Value:
for ((_vi) = (_pi)->vi, (_iter) = 0; (_iter) < (_pi)->nvi; \
++(_iter), ++(_vi))

Definition at line 1071 of file adapter.h.

◆ IDXDIFF

#define IDXDIFF (   head,
  tail,
  wrap 
)     ((head) >= (tail) ? (head) - (tail) : (wrap) - (tail) + (head))

Definition at line 1078 of file adapter.h.

◆ IDXINCR

#define IDXINCR (   idx,
  incr,
  wrap 
)
Value:
do { \
idx = wrap - idx > incr ? idx + incr : incr - (wrap - idx); \
} while (0)

Definition at line 1075 of file adapter.h.

◆ INVALID_NM_RXQ_CNTXT_ID

#define INVALID_NM_RXQ_CNTXT_ID   ((uint16_t)(-1))

Definition at line 755 of file adapter.h.

◆ INVALID_NM_TXQ_CNTXT_ID

#define INVALID_NM_TXQ_CNTXT_ID   ((u_int)(-1))

Definition at line 796 of file adapter.h.

◆ IQ_PAD

#define IQ_PAD   (IQ_ESIZE - sizeof(struct rsp_ctrl) - sizeof(struct rss_header))

Definition at line 367 of file adapter.h.

◆ IS_BUSY

#define IS_BUSY (   sc)    ((sc)->flags & CXGBE_BUSY)

Definition at line 194 of file adapter.h.

◆ IS_DOOMED

#define IS_DOOMED (   vi)    ((vi)->flags & DOOMED)

Definition at line 192 of file adapter.h.

◆ IS_MAIN_VI

#define IS_MAIN_VI (   vi)    ((vi) == &((vi)->pi->vi[0]))

Definition at line 342 of file adapter.h.

◆ KTR_CXGBE

#define KTR_CXGBE   KTR_SPARE3

Definition at line 67 of file adapter.h.

◆ PORT_LOCK

#define PORT_LOCK (   pi)    mtx_lock(&(pi)->pi_lock)

Definition at line 1025 of file adapter.h.

◆ PORT_LOCK_ASSERT_NOTOWNED

#define PORT_LOCK_ASSERT_NOTOWNED (   pi)    mtx_assert(&(pi)->pi_lock, MA_NOTOWNED)

Definition at line 1028 of file adapter.h.

◆ PORT_LOCK_ASSERT_OWNED

#define PORT_LOCK_ASSERT_OWNED (   pi)    mtx_assert(&(pi)->pi_lock, MA_OWNED)

Definition at line 1027 of file adapter.h.

◆ PORT_UNLOCK

#define PORT_UNLOCK (   pi)    mtx_unlock(&(pi)->pi_lock)

Definition at line 1026 of file adapter.h.

◆ RXQ_FL_LOCK

#define RXQ_FL_LOCK (   rxq)    FL_LOCK(&(rxq)->fl)

Definition at line 1036 of file adapter.h.

◆ RXQ_FL_LOCK_ASSERT_NOTOWNED

#define RXQ_FL_LOCK_ASSERT_NOTOWNED (   rxq)    FL_LOCK_ASSERT_NOTOWNED(&(rxq)->fl)

Definition at line 1039 of file adapter.h.

◆ RXQ_FL_LOCK_ASSERT_OWNED

#define RXQ_FL_LOCK_ASSERT_OWNED (   rxq)    FL_LOCK_ASSERT_OWNED(&(rxq)->fl)

Definition at line 1038 of file adapter.h.

◆ RXQ_FL_UNLOCK

#define RXQ_FL_UNLOCK (   rxq)    FL_UNLOCK(&(rxq)->fl)

Definition at line 1037 of file adapter.h.

◆ SET_BUSY

#define SET_BUSY (   sc)    do {(sc)->flags |= CXGBE_BUSY;} while (0)

Definition at line 195 of file adapter.h.

◆ SET_DOOMED

#define SET_DOOMED (   vi)    do {(vi)->flags |= DOOMED;} while (0)

Definition at line 193 of file adapter.h.

◆ SYSCTL_ADD_UQUAD

#define SYSCTL_ADD_UQUAD   SYSCTL_ADD_QUAD

Definition at line 82 of file adapter.h.

◆ sysctl_handle_64

#define sysctl_handle_64   sysctl_handle_quad

Definition at line 83 of file adapter.h.

◆ T4_EXTRA_INTR

#define T4_EXTRA_INTR   2

Definition at line 1082 of file adapter.h.

◆ T4VF_EXTRA_INTR

#define T4VF_EXTRA_INTR   1

Definition at line 1085 of file adapter.h.

◆ TXQ_LOCK

#define TXQ_LOCK (   txq)    EQ_LOCK(&(txq)->eq)

Definition at line 1047 of file adapter.h.

◆ TXQ_LOCK_ASSERT_NOTOWNED

#define TXQ_LOCK_ASSERT_NOTOWNED (   txq)    EQ_LOCK_ASSERT_NOTOWNED(&(txq)->eq)

Definition at line 1051 of file adapter.h.

◆ TXQ_LOCK_ASSERT_OWNED

#define TXQ_LOCK_ASSERT_OWNED (   txq)    EQ_LOCK_ASSERT_OWNED(&(txq)->eq)

Definition at line 1050 of file adapter.h.

◆ TXQ_TRYLOCK

#define TXQ_TRYLOCK (   txq)    EQ_TRYLOCK(&(txq)->eq)

Definition at line 1048 of file adapter.h.

◆ TXQ_UNLOCK

#define TXQ_UNLOCK (   txq)    EQ_UNLOCK(&(txq)->eq)

Definition at line 1049 of file adapter.h.

Typedef Documentation

◆ adapter_t

typedef struct adapter adapter_t

Definition at line 90 of file adapter.h.

◆ an_handler_t

typedef int(* an_handler_t) (struct sge_iq *, const struct rsp_ctrl *)

Definition at line 413 of file adapter.h.

◆ cpl_handler_t

typedef int(* cpl_handler_t) (struct sge_iq *, const struct rss_header *, struct mbuf *)

Definition at line 411 of file adapter.h.

◆ fw_msg_handler_t

typedef int(* fw_msg_handler_t) (struct adapter *, const __be64 *)

Definition at line 414 of file adapter.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
IQ_ESIZE 
FW_IQ_QSIZE 
RX_IQ_QSIZE 
EQ_ESIZE 
CTRL_EQ_QSIZE 
TX_EQ_QSIZE 
SW_ZONE_SIZES 
CL_METADATA_SIZE 
SGE_MAX_WR_NDESC 
TX_SGL_SEGS 
TX_SGL_SEGS_TSO 
TX_SGL_SEGS_VM 
TX_SGL_SEGS_VM_TSO 
TX_SGL_SEGS_EO_TSO 
TX_SGL_SEGS_VXLAN_TSO 
TX_WR_FLITS 

Definition at line 92 of file adapter.h.

◆ anonymous enum

anonymous enum
Enumerator
INTR_INTX 
INTR_MSI 
INTR_MSIX 

Definition at line 128 of file adapter.h.

◆ anonymous enum

anonymous enum
Enumerator
NUM_MEMWIN 
MEMWIN0_APERTURE 
MEMWIN0_BASE 
MEMWIN1_APERTURE 
MEMWIN1_BASE 
MEMWIN2_APERTURE_T4 
MEMWIN2_BASE_T4 
MEMWIN2_APERTURE_T5 
MEMWIN2_BASE_T5 

Definition at line 502 of file adapter.h.

◆ anonymous enum

anonymous enum
Enumerator
FL_STARVING 
FL_DOOMED 
FL_BUF_PACKING 
FL_BUF_RESUME 

Definition at line 525 of file adapter.h.

◆ anonymous enum

anonymous enum
Enumerator
XGMAC_MTU 
XGMAC_PROMISC 
XGMAC_ALLMULTI 
XGMAC_VLANEX 
XGMAC_UCADDR 
XGMAC_MCADDRS 
XGMAC_ALL 

Definition at line 135 of file adapter.h.

◆ anonymous enum

anonymous enum
Enumerator
HOLD_LOCK 
SLEEP_OK 
INTR_OK 
LOCK_HELD 

Definition at line 146 of file adapter.h.

◆ anonymous enum

anonymous enum
Enumerator
FULL_INIT_DONE 
FW_OK 
CHK_MBOX_ACCESS 
MASTER_PF 
BUF_PACKING_OK 
IS_VF 
KERN_TLS_ON 
CXGBE_BUSY 
ADAP_STOPPED 
ADAP_FATAL_ERR 
HW_OFF_LIMITS 
ADAP_CIM_ERR 
HAS_TRACEQ 
FIXED_IFMEDIA 
DOOMED 
VI_INIT_DONE 
TX_USES_VM_WR 
VI_SKIP_STATS 
DF_DUMP_MBOX 
DF_LOAD_FW_ANYTIME 
DF_DISABLE_TCB_CACHE 
DF_DISABLE_CFG_RETRY 
DF_VERBOSE_SLOWINTR 

Definition at line 156 of file adapter.h.

◆ anonymous enum

anonymous enum
Enumerator
CF_USER 

Definition at line 274 of file adapter.h.

◆ anonymous enum

anonymous enum
Enumerator
IQ_SW_ALLOCATED 
IQ_HAS_FL 
IQ_RX_TIMESTAMP 
IQ_LRO_ENABLED 
IQ_ADJ_CREDIT 
IQ_HW_ALLOCATED 
IQS_DISABLED 
IQS_BUSY 
IQS_IDLE 
NM_OFF 
NM_ON 
NM_BUSY 

Definition at line 376 of file adapter.h.

◆ anonymous enum

anonymous enum
Enumerator
CPL_COOKIE_RESERVED 
CPL_COOKIE_FILTER 
CPL_COOKIE_DDP0 
CPL_COOKIE_DDP1 
CPL_COOKIE_TOM 
CPL_COOKIE_HASHFILTER 
CPL_COOKIE_ETHOFLD 
CPL_COOKIE_KERN_TLS 
NUM_CPL_COOKIES 

Definition at line 396 of file adapter.h.

◆ anonymous enum

anonymous enum
Enumerator
EQ_CTRL 
EQ_ETH 
EQ_OFLD 
EQ_SW_ALLOCATED 
EQ_HW_ALLOCATED 
EQ_ENABLED 
EQ_QFLUSH 

Definition at line 442 of file adapter.h.

◆ anonymous enum

anonymous enum
Enumerator
DOORBELL_UDB 
DOORBELL_WCWR 
DOORBELL_UDBWC 
DOORBELL_KDB 

Definition at line 456 of file adapter.h.

◆ clrl_state

enum clrl_state
Enumerator
CS_UNINITIALIZED 
CS_PARAMS_SET 
CS_HW_UPDATE_REQUESTED 
CS_HW_UPDATE_IN_PROGRESS 
CS_HW_CONFIGURED 

Definition at line 265 of file adapter.h.

Function Documentation

◆ __aligned() [1/2]

uint8_t ss[SGE_MAX_WR_LEN] __aligned::__aligned ( 16  )

◆ __aligned() [2/2]

struct sge_txq __aligned ( CACHE_LINE_SIZE  )

◆ adap2pinfo()

static struct port_info * adap2pinfo ( struct adapter sc,
int  idx 
)
inlinestatic

Definition at line 1196 of file adapter.h.

References adapter::port.

Referenced by t4_clr_port_stats(), t4_get_lb_stats(), t4_handle_fw_rpl(), and t4_port_init().

Here is the caller graph for this function:

◆ adapter_init()

int adapter_init ( struct adapter sc)

Definition at line 6568 of file t4_main.c.

References adapter_full_init(), adapter_full_uninit(), ADAPTER_LOCK_ASSERT_NOTOWNED, ASSERT_SYNCHRONIZED_OP, adapter::flags, and FULL_INIT_DONE.

Referenced by cxgbe_init_synchronized(), and set_filter().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ alloc_atid()

int alloc_atid ( struct adapter sc,
void *  ctx 
)

Definition at line 3851 of file t4_main.c.

References tid_info::afree, tid_info::atid_tab, tid_info::atids_in_use, aopen_entry::data, M_TID_TID, aopen_entry::next, and adapter::tids.

Referenced by set_hashfilter().

Here is the caller graph for this function:

◆ alloc_ring()

int alloc_ring ( struct adapter sc,
size_t  len,
bus_dma_tag_t *  tag,
bus_dmamap_t *  map,
bus_addr_t *  pa,
void **  va 
)

Definition at line 3435 of file t4_sge.c.

References CH_ERR, adapter::dmat, free_ring(), oneseg_dma_callback(), and tag.

Referenced by alloc_eq(), and alloc_iq_fl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ alloc_wr_mbuf()

struct mbuf * alloc_wr_mbuf ( int  len,
int  how 
)

Definition at line 2386 of file t4_sge.c.

References MC_RAW_WR, set_mbuf_cflags(), and set_mbuf_len16().

Here is the call graph for this function:

◆ alloc_wrqe()

static struct wrqe * alloc_wrqe ( int  wr_len,
struct sge_wrq wrq 
)
inlinestatic

Definition at line 1437 of file adapter.h.

References wrqe::wr_len, wrq, and wrqe::wrq.

Referenced by ccr_ccm(), ccr_cipher(), ccr_eta(), ccr_gcm(), ccr_hash(), release_tid(), and start_wrq_wr().

Here is the caller graph for this function:

◆ begin_synchronized_op()

◆ CH_DUMP_MBOX()

static void CH_DUMP_MBOX ( struct adapter sc,
int  mbox,
const int  reg,
const char *  msg,
const __be64 *const  p,
const bool  err 
)
inlinestatic

Definition at line 1229 of file adapter.h.

References be64_to_cpu, adapter::debug_flags, adapter::dev, DF_DUMP_MBOX, and t4_read_reg64().

Referenced by t4_wr_mbox_meat_timeout().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ commit_wrq_wr()

◆ CTASSERT()

CTASSERT ( sizeof(struct iq_desc = =IQ_ESIZE)

◆ cxgbe_media_change()

◆ cxgbe_media_status()

void cxgbe_media_status ( struct ifnet *  ifp,
struct ifmediareq *  ifmr 
)

◆ del_filter()

int del_filter ( struct adapter sc,
struct t4_filter t 
)

Definition at line 1146 of file t4_filter.c.

References del_hashfilter(), del_tcamfilter(), adapter::flags, t4_filter::fs, tid_info::ftid_tab, FULL_INIT_DONE, t4_filter_specification::hash, tid_info::hftid_hash_4t, tid_info::hpftid_tab, t4_filter_specification::prio, separate_hpfilter_region(), and adapter::tids.

Referenced by t4_ioctl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ doom_vi()

void doom_vi ( struct adapter sc,
struct vi_info vi 
)

Definition at line 6183 of file t4_main.c.

References ADAPTER_LOCK, ADAPTER_UNLOCK, adapter::flags, IS_BUSY, adapter::last_op, adapter::last_op_flags, adapter::last_op_thr, adapter::sc_lock, SET_BUSY, and SET_DOOMED.

Referenced by cxgbe_detach(), and vcxgbe_detach().

Here is the caller graph for this function:

◆ end_synchronized_op()

◆ forwarding_intr_to_fwq()

static int forwarding_intr_to_fwq ( struct adapter sc)
inlinestatic

Definition at line 1088 of file adapter.h.

References adapter::intr_count.

Referenced by t4_setup_intr_handlers(), and t4_setup_vi_queues().

Here is the caller graph for this function:

◆ free_atid()

void free_atid ( struct adapter sc,
int  atid 
)

Definition at line 3879 of file t4_main.c.

References tid_info::afree, tid_info::atid_tab, tid_info::atids_in_use, aopen_entry::next, and adapter::tids.

Referenced by set_hashfilter(), and t4_hashfilter_ao_rpl().

Here is the caller graph for this function:

◆ free_fl_buffers()

void free_fl_buffers ( struct adapter sc,
struct sge_fl fl 
)

Definition at line 5066 of file t4_sge.c.

References fl_sdesc::cl, cl_metadata(), extfree_rels, fl, FL_BUF_PACKING, FL_BUF_RESUME, sge_fl::flags, sge_fl::m0, fl_sdesc::nmbuf, cluster_metadata::refcount, sge::rx_buf_info, sge_fl::sdesc, adapter::sge, sge_fl::sidx, fl_sdesc::zidx, and rx_buf_info::zone.

Referenced by free_iq_fl(), and quiesce_iq_fl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ free_hftid_hash()

void free_hftid_hash ( struct tid_info t)

Definition at line 140 of file t4_filter.c.

References tid_info::hftid_4t_mask, tid_info::hftid_cv, tid_info::hftid_hash_4t, tid_info::hftid_hash_tid, tid_info::hftid_tid_mask, LIST_HEAD(), and tid_info::tids_in_use.

Referenced by t4_detach_common().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ free_ring()

int free_ring ( struct adapter sc,
bus_dma_tag_t  tag,
bus_dmamap_t  map,
bus_addr_t  pa,
void *  va 
)

Definition at line 3467 of file t4_sge.c.

References tag.

Referenced by alloc_iq_fl(), alloc_ring(), free_eq(), and free_iq_fl().

Here is the caller graph for this function:

◆ free_wrqe()

static void free_wrqe ( struct wrqe wr)
inlinestatic

Definition at line 1457 of file adapter.h.

Referenced by drain_wrq_wr_list().

Here is the caller graph for this function:

◆ get_filter()

int get_filter ( struct adapter sc,
struct t4_filter t 
)

Definition at line 626 of file t4_filter.c.

References t4_filter::fs, get_hashfilter(), get_tcamfilter(), and t4_filter_specification::hash.

Referenced by t4_ioctl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_filter_mode()

int get_filter_mode ( struct adapter sc,
uint32_t *  mode 
)

Definition at line 494 of file t4_filter.c.

References fconf_to_mode(), tp_params::filter_mask, tp_params::filter_mode, adapter::params, adapter_params::tp, and tp_params::vnic_mode.

Referenced by t4_ioctl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hw_off_limits()

static bool hw_off_limits ( struct adapter sc)
inlinestatic

Definition at line 1096 of file adapter.h.

References adapter::error_flags, and HW_OFF_LIMITS.

Referenced by clear_stats(), cxgbe_ioctl(), cxgbe_media_change(), cxgbe_media_status(), get_filter_hits(), get_sge_context(), load_boot(), load_bootcfg(), load_cfg(), load_fw(), read_card_mem(), read_i2c(), reset_adapter(), sbuf_cim_la(), sbuf_devlog(), set_filter(), set_filter_mask(), set_filter_mode(), set_sched_class_config(), set_sched_class_params(), sysctl_autoneg(), sysctl_btphy(), sysctl_cctrl(), sysctl_cim_ibq_obq(), sysctl_cim_ma_la(), sysctl_cim_pif_la(), sysctl_cim_qcfg(), sysctl_cpl_stats(), sysctl_ddp_stats(), sysctl_fcoe_stats(), sysctl_force_fec(), sysctl_handle_t4_reg64(), sysctl_hw_sched(), sysctl_lb_stats(), sysctl_loadavg(), sysctl_meminfo(), sysctl_module_fec(), sysctl_mps_tcam(), sysctl_mps_tcam_t6(), sysctl_path_mtus(), sysctl_pause_settings(), sysctl_pm_stats(), sysctl_rdma_stats(), sysctl_requested_fec(), sysctl_reset(), sysctl_reset_sensor(), sysctl_tcp_stats(), sysctl_temperature(), sysctl_tid_stats(), sysctl_tids(), sysctl_tnl_stats(), sysctl_tp_err_stats(), sysctl_tp_la(), sysctl_tp_la_mask(), sysctl_tx_rate(), sysctl_tx_vm_wr(), sysctl_ulprx_la(), sysctl_vdd(), sysctl_wcwr_stats(), t4_get_tracer(), t4_ioctl(), t4_os_pci_read_cfg1(), t4_os_pci_read_cfg2(), t4_os_pci_read_cfg4(), t4_os_pci_write_cfg1(), t4_os_pci_write_cfg2(), t4_os_pci_write_cfg4(), t4_read_reg(), t4_read_reg64(), t4_resume(), t4_set_tracer(), t4_suspend(), t4_vxlan_start(), t4_vxlan_stop(), t4_write_reg(), and t4_write_reg64().

◆ iq_to_ofld_rxq()

static struct sge_ofld_rxq * iq_to_ofld_rxq ( struct sge_iq iq)
inlinestatic

Definition at line 690 of file adapter.h.

References iq.

◆ iq_to_rxq()

static struct sge_rxq * iq_to_rxq ( struct sge_iq iq)
inlinestatic

Definition at line 666 of file adapter.h.

References iq.

Referenced by service_iq_fl().

Here is the caller graph for this function:

◆ lookup_atid()

void * lookup_atid ( struct adapter sc,
int  atid 
)

Definition at line 3871 of file t4_main.c.

References tid_info::atid_tab, aopen_entry::data, and adapter::tids.

Referenced by t4_hashfilter_ao_rpl().

Here is the caller graph for this function:

◆ MALLOC_DECLARE()

MALLOC_DECLARE ( M_CXGBE  )

◆ parse_pkt()

int parse_pkt ( struct mbuf **  mp,
bool  vm_wr 
)

◆ read_via_memwin()

static int read_via_memwin ( struct adapter sc,
int  idx,
uint32_t  addr,
uint32_t *  val,
int  len 
)
inlinestatic

Definition at line 1473 of file adapter.h.

References rw_via_memwin().

Referenced by get_filter_hits(), read_card_mem(), and sbuf_devlog().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ release_tid()

void release_tid ( struct adapter sc,
int  tid,
struct sge_wrq ctrlq 
)

Definition at line 3899 of file t4_main.c.

References alloc_wrqe(), CPL_TID_RELEASE, INIT_TP_WR_MIT_CPL, queue_tid_release(), t4_wrq_tx(), and wrtod().

Referenced by t4_del_hashfilter_rpl(), t4_hashfilter_ao_rpl(), and t4_hashfilter_tcb_rpl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rw_via_memwin()

int rw_via_memwin ( struct adapter sc,
int  idx,
uint32_t  addr,
uint32_t *  val,
int  len,
int  rw 
)

Definition at line 3765 of file t4_main.c.

References adapter::memwin, memwin::mw_aperture, memwin::mw_base, memwin::mw_curpos, NUM_MEMWIN, position_memwin(), t4_read_reg(), and t4_write_reg().

Referenced by read_via_memwin(), and write_via_memwin().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_filter()

int set_filter ( struct adapter sc,
struct t4_filter t 
)

Definition at line 909 of file t4_filter.c.

References t4_filter_specification::action, adapter_init(), alloc_hftid_hash(), begin_synchronized_op(), check_fspec_against_fconf_iconf(), t4_filter_specification::dirsteer, t4_filter_specification::dirsteerhash, t4_filter_specification::dmac, end_synchronized_op(), t4_filter_specification::eport, FILTER_SWITCH, adapter::flags, t4_filter::fs, tid_info::ftid_cv, tid_info::ftid_tab, tid_info::ftids_in_use, FULL_INIT_DONE, t4_filter_specification::hash, hashfilter_ntuple(), tid_info::hftid_hash_4t, t4_filter_specification::hitcnts, tid_info::hpftid_tab, tid_info::hpftids_in_use, hw_off_limits(), t4_filter::idx, INTR_OK, t4_filter_tuple::iport, t4_filter_specification::iq, is_4tuple_specified(), is_hashfilter(), is_t4(), is_t5(), t4_filter_specification::maskhash, t4_filter_specification::nat_mode, t4_filter_specification::newdmac, t4_filter_specification::newsmac, t4_filter_specification::newvlan, tid_info::nftids, tid_info::nhpftids, adapter_params::nports, tid_info::ntids, adapter::params, t4_filter_specification::prio, separate_hpfilter_region(), set_hashfilter(), set_tcamfilter(), SLEEP_OK, t4_filter_specification::smac, adapter::smt, t4_filter_specification::swapmac, t4_l2t_alloc_switching(), t4_l2t_release(), t4_smt_alloc_switching(), t4_smt_release(), t4_smt_set_switching(), adapter::tids, t4_filter_specification::type, t4_filter_specification::val, t4_filter_specification::vlan, VLAN_REMOVE, and VLAN_REWRITE.

Referenced by t4_ioctl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_filter_mask()

int set_filter_mask ( struct adapter sc,
uint32_t  mode 
)

◆ set_filter_mode()

int set_filter_mode ( struct adapter sc,
uint32_t  mode 
)

◆ STAILQ_HEAD()

__aligned::STAILQ_HEAD ( wrqe  )

Referenced by service_iq().

Here is the caller graph for this function:

◆ start_wrq_wr()

void * start_wrq_wr ( struct sge_wrq wrq,
int  len16,
struct wrq_cookie cookie 
)

◆ SYSCTL_DECL()

SYSCTL_DECL ( _hw_cxgbe  )

◆ sysctl_tc()

int sysctl_tc ( SYSCTL_HANDLER_ARGS  )

Definition at line 592 of file t4_sched.c.

References vi_info::adapter, bind_txq_to_traffic_class(), vi_info::first_txq, adapter::flags, in_range(), IS_VF, adapter_params::nsched_cls, vi_info::ntxq, adapter::params, adapter::sge, tc_idx, sge_txq::tc_idx, and sge::txq.

Referenced by add_txq_sysctls().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sysctl_tc_params()

◆ t4_add_adapter()

void t4_add_adapter ( struct adapter sc)

Definition at line 3580 of file t4_main.c.

References t4_list_lock.

Referenced by t4_attach(), and t4vf_attach().

Here is the caller graph for this function:

◆ t4_aes_getdeckey()

void t4_aes_getdeckey ( void *  dec_key,
const void *  enc_key,
unsigned int  kbits 
)

Definition at line 375 of file t4_keyctx.c.

Referenced by ccr_aes_setkey().

Here is the caller graph for this function:

◆ t4_copy_partial_hash()

void t4_copy_partial_hash ( int  alg,
union authctx *  auth_ctx,
void *  dst 
)

Definition at line 314 of file t4_keyctx.c.

Referenced by ccr_init_hash_digest(), and t4_init_hmac_digest().

Here is the caller graph for this function:

◆ t4_create_dma_tag()

int t4_create_dma_tag ( struct adapter sc)

Definition at line 977 of file t4_sge.c.

References adapter::dev, and adapter::dmat.

Referenced by t4_attach(), and t4vf_attach().

Here is the caller graph for this function:

◆ t4_del_hashfilter_rpl()

int t4_del_hashfilter_rpl ( struct sge_iq iq,
const struct rss_header rss,
struct mbuf *  m 
)

Definition at line 1380 of file t4_filter.c.

References sge_iq::adapter, sge::ctrlq, free_filter_resources(), GET_TID, tid_info::hftid_cv, iq, lookup_hftid(), release_tid(), remove_hf(), remove_hftid(), adapter::sge, cpl_abort_rpl_rss::status, and adapter::tids.

Referenced by mod_event().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_destroy_dma_tag()

int t4_destroy_dma_tag ( struct adapter sc)

Definition at line 1020 of file t4_sge.c.

References adapter::dmat.

Referenced by t4_detach_common().

Here is the caller graph for this function:

◆ t4_detach_common()

◆ t4_filter_rpl()

◆ t4_free_tx_sched()

int t4_free_tx_sched ( struct adapter sc)

Definition at line 472 of file t4_sched.c.

References for_each_port, adapter::port, port_info::sched_params, adapter::tc_lock, and adapter::tc_task.

Referenced by t4_detach_common().

Here is the caller graph for this function:

◆ t4_get_tracer()

◆ t4_hashfilter_ao_rpl()

int t4_hashfilter_ao_rpl ( struct sge_iq iq,
const struct rss_header rss,
struct mbuf *  m 
)

◆ t4_hashfilter_tcb_rpl()

int t4_hashfilter_tcb_rpl ( struct sge_iq iq,
const struct rss_header rss,
struct mbuf *  m 
)

Definition at line 1345 of file t4_filter.c.

References sge_iq::adapter, sge::ctrlq, free_filter_resources(), GET_TID, tid_info::hftid_cv, iq, lookup_hftid(), release_tid(), remove_hf(), remove_hftid(), adapter::sge, cpl_set_tcb_rpl::status, and adapter::tids.

Referenced by mod_event().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_init_devnames()

void t4_init_devnames ( struct adapter sc)

Definition at line 1076 of file t4_main.c.

References CHELSIO_T4, chip_id(), adapter::dev, and adapter::names.

Referenced by t4_attach(), and t4vf_attach().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_init_gmac_hash()

void t4_init_gmac_hash ( const char *  key,
int  klen,
char *  ghash 
)

Definition at line 301 of file t4_keyctx.c.

Referenced by ccr_newsession(), and ccr_process().

Here is the caller graph for this function:

◆ t4_init_hmac_digest()

void t4_init_hmac_digest ( const struct auth_hash *  axf,
u_int  partial_digest_len,
const char *  key,
int  klen,
char *  dst 
)

Definition at line 352 of file t4_keyctx.c.

References t4_copy_partial_hash().

Referenced by ccr_newsession(), and ccr_process().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_init_rx_buf_info()

◆ t4_init_tx_sched()

int t4_init_tx_sched ( struct adapter sc)

Definition at line 454 of file t4_sched.c.

References for_each_port, adapter_params::nsched_cls, adapter::params, adapter::port, port_info::sched_params, adapter::tc_lock, adapter::tc_task, and update_tx_sched().

Referenced by t4_attach().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_intr()

void t4_intr ( void *  arg)

Definition at line 1339 of file t4_sge.c.

References iq, IQS_BUSY, IQS_IDLE, service_iq_fl(), and sge_iq::state.

Referenced by t4_setup_intr_handlers().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_intr_all()

void t4_intr_all ( void *  arg)

Definition at line 1282 of file t4_sge.c.

References A_PCIE_PF_CLI, sge::fwq, adapter::intr_count, INTR_INTX, adapter::intr_type, MYPF_REG, adapter::sge, t4_intr_err(), t4_intr_evt(), and t4_write_reg().

Referenced by t4_setup_intr_handlers().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_intr_err()

void t4_intr_err ( void *  arg)

Definition at line 1301 of file t4_sge.c.

References A_PL_PF_INT_CAUSE, ADAP_FATAL_ERR, adapter::debug_flags, DF_VERBOSE_SLOWINTR, adapter::error_flags, F_PFSW, MYPF_REG, adapter::swintr, t4_fatal_err(), t4_read_reg(), t4_slow_intr_handler(), and t4_write_reg().

Referenced by t4_intr_all(), and t4_setup_intr_handlers().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_intr_evt()

void t4_intr_evt ( void *  arg)

Definition at line 1325 of file t4_sge.c.

References iq, IQS_BUSY, IQS_IDLE, service_iq(), and sge_iq::state.

Referenced by t4_intr_all(), and t4_setup_intr_handlers().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_iterate()

void t4_iterate ( void(*)(struct adapter *, void *)  func,
void *  arg 
)

Definition at line 12190 of file t4_main.c.

References t4_list_lock.

Referenced by t4_cloner_create(), t4_vxlan_start_handler(), and t4_vxlan_stop_handler().

Here is the caller graph for this function:

◆ t4_map_bar_2()

int t4_map_bar_2 ( struct adapter sc)

◆ t4_map_bars_0_and_4()

int t4_map_bars_0_and_4 ( struct adapter sc)

Definition at line 3588 of file t4_main.c.

References adapter::bh, adapter::bt, adapter::dev, DOORBELL_KDB, adapter::doorbells, adapter::mmio_len, adapter::msix_res, adapter::msix_rid, adapter::regs_res, and adapter::regs_rid.

Referenced by t4_attach(), and t4vf_attach().

Here is the caller graph for this function:

◆ t4_os_cim_err()

void t4_os_cim_err ( struct adapter sc)

Definition at line 9026 of file t4_main.c.

References ADAP_CIM_ERR, and adapter::error_flags.

Referenced by cim_intr_handler().

Here is the caller graph for this function:

◆ t4_os_find_pci_capability()

int t4_os_find_pci_capability ( struct adapter sc,
int  cap 
)

Definition at line 12070 of file t4_main.c.

References adapter::dev.

Referenced by get_pci_mode(), set_pcie_completion_timeout(), and t4_prep_adapter().

Here is the caller graph for this function:

◆ t4_os_link_changed()

◆ t4_os_pci_read_cfg1()

static void t4_os_pci_read_cfg1 ( struct adapter sc,
int  reg,
uint8_t *  val 
)
inlinestatic

Definition at line 1147 of file adapter.h.

References adapter::dev, hw_off_limits(), and adapter::reset_thread.

Here is the call graph for this function:

◆ t4_os_pci_read_cfg2()

static void t4_os_pci_read_cfg2 ( struct adapter sc,
int  reg,
uint16_t *  val 
)
inlinestatic

Definition at line 1163 of file adapter.h.

References adapter::dev, hw_off_limits(), and adapter::reset_thread.

Referenced by get_pci_mode(), set_pcie_completion_timeout(), t4_load_boot(), t4_prep_adapter(), and t4_seeprom_wait().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_os_pci_read_cfg4()

static void t4_os_pci_read_cfg4 ( struct adapter sc,
int  reg,
uint32_t *  val 
)
inlinestatic

Definition at line 1180 of file adapter.h.

References adapter::dev, hw_off_limits(), and adapter::reset_thread.

Referenced by t4_seeprom_read().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_os_pci_restore_state()

int t4_os_pci_restore_state ( struct adapter sc)

Definition at line 12091 of file t4_main.c.

References adapter::dev.

◆ t4_os_pci_save_state()

int t4_os_pci_save_state ( struct adapter sc)

Definition at line 12078 of file t4_main.c.

References adapter::dev.

◆ t4_os_pci_write_cfg1()

static void t4_os_pci_write_cfg1 ( struct adapter sc,
int  reg,
uint8_t  val 
)
inlinestatic

Definition at line 1155 of file adapter.h.

References adapter::dev, hw_off_limits(), and adapter::reset_thread.

Here is the call graph for this function:

◆ t4_os_pci_write_cfg2()

static void t4_os_pci_write_cfg2 ( struct adapter sc,
int  reg,
uint16_t  val 
)
inlinestatic

Definition at line 1172 of file adapter.h.

References adapter::dev, hw_off_limits(), and adapter::reset_thread.

Referenced by set_pcie_completion_timeout(), t4_seeprom_read(), and t4_seeprom_write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_os_pci_write_cfg4()

static void t4_os_pci_write_cfg4 ( struct adapter sc,
int  reg,
uint32_t  val 
)
inlinestatic

Definition at line 1188 of file adapter.h.

References adapter::dev, hw_off_limits(), and adapter::reset_thread.

Referenced by t4_seeprom_write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_os_portmod_changed()

◆ t4_os_set_hw_addr()

static void t4_os_set_hw_addr ( struct port_info pi,
uint8_t  hw_addr[] 
)
inlinestatic

Definition at line 1203 of file adapter.h.

References vi_info::hw_addr, and port_info::vi.

Referenced by t4_port_init(), and t4vf_attach().

Here is the caller graph for this function:

◆ t4_read_reg()

static uint32_t t4_read_reg ( struct adapter sc,
uint32_t  reg 
)
inlinestatic

Definition at line 1104 of file adapter.h.

References adapter::bh, adapter::bt, hw_off_limits(), and adapter::reset_thread.

Referenced by check_busy_bit(), check_tx_state(), cim_ha_rreg(), cim_intr_handler(), collect_clk_info(), collect_full(), collect_hw_sched(), collect_le_tcam(), collect_mem_info(), collect_mps_tcam(), collect_rss_config(), collect_sw_state(), collect_tid(), collect_tp_la(), collect_ulptx_la(), collect_wc_stats(), contact_firmware(), cudbg_read_tid(), dump_cim_regs(), fill_meminfo(), get_filter_hits(), get_max_ctxt_qid(), get_params__post_init(), load_boot(), ma_wrap_status(), mem_intr_handler(), mps_intr_handler(), mps_rpl_backdoor(), position_memwin(), read_filter_mode_and_ingress_config(), read_sge_debug_data(), read_vf_stat(), rw_via_memwin(), set_params__post_init(), setup_memwin(), sf1_read(), sf1_write(), sge_intr_handler(), sysctl_hw_sched(), sysctl_meminfo(), sysctl_mps_tcam(), sysctl_mps_tcam_t6(), sysctl_tids(), sysctl_tp_la(), sysctl_wcwr_stats(), t4_attach(), t4_cim_read(), t4_cim_read_ma_la(), t4_cim_read_pif_la(), t4_cim_write(), t4_edc_err_read(), t4_edc_read(), t4_fw_hello(), t4_fw_restart(), t4_get_chan_txrate(), t4_get_mps_bg_map(), t4_get_port_stats(), t4_get_regs(), t4_get_rx_e_chan_map(), t4_get_trace_filter(), t4_handle_intr(), t4_hw_pci_read_cfg4(), t4_idma_monitor(), t4_init_devlog_params(), t4_init_sge_params(), t4_init_tp_params(), t4_intr_clear(), t4_intr_err(), t4_ioctl(), t4_mc_read(), t4_pmrx_get_stats(), t4_pmtx_get_stats(), t4_prep_adapter(), t4_read_cim_ibq(), t4_read_cim_obq(), t4_read_cimq_cfg(), t4_read_cong_tbl(), t4_read_indirect(), t4_read_mtu_tbl(), t4_read_pace_tbl(), t4_read_rss_vf_config(), t4_report_fw_error(), t4_resume(), t4_set_reg_field(), t4_set_sched_bps(), t4_set_sched_ipg(), t4_set_trace_filter(), t4_sge_ctxt_rd_bd(), t4_sge_decode_idma_state(), t4_show_intr_info(), t4_shutdown_adapter(), t4_slow_intr_handler(), t4_tp_read_la(), t4_tp_wr_bits_indirect(), t4_ulprx_read_la(), t4_verify_chip_settings(), t4_wait_op_done_val(), t4_wol_pat_enable(), t4_wr_mbox_meat_timeout(), t4_write_rss_key(), t4_write_rss_vf_config(), t4vf_get_sge_params(), t4vf_ioctl(), t4vf_wait_dev_ready(), t5_wtp_data(), t6_wtp_data(), validate_mem_range(), and validate_mt_off_len().

Here is the call graph for this function:

◆ t4_read_reg64()

static uint64_t t4_read_reg64 ( struct adapter sc,
uint32_t  reg 
)
inlinestatic

◆ t4_register_an_handler()

void t4_register_an_handler ( an_handler_t  h)

Definition at line 357 of file t4_sge.c.

References t4_an_handler.

◆ t4_register_cpl_handler()

void t4_register_cpl_handler ( int  opcode,
cpl_handler_t  h 
)

Definition at line 387 of file t4_sge.c.

References t4_cpl_handler.

Referenced by ccr_modevent(), mod_event(), t4_init_shared_cpl_handlers(), and t4_sge_modload().

Here is the caller graph for this function:

◆ t4_register_fw_msg_handler()

void t4_register_fw_msg_handler ( int  type,
fw_msg_handler_t  h 
)

Definition at line 368 of file t4_sge.c.

References FW6_TYPE_RSSCPL, FW_TYPE_RSSCPL, and t4_fw_msg_handler.

Referenced by t4_sge_modload().

Here is the caller graph for this function:

◆ t4_register_shared_cpl_handler()

void t4_register_shared_cpl_handler ( int  opcode,
cpl_handler_t  h,
int  cookie 
)

◆ t4_release_cl_rl()

void t4_release_cl_rl ( struct adapter sc,
int  port_id,
int  tc_idx 
)

◆ t4_reserve_cl_rl_kbps()

◆ t4_set_sched_class()

int t4_set_sched_class ( struct adapter sc,
struct t4_sched_params p 
)

◆ t4_set_sched_queue()

int t4_set_sched_queue ( struct adapter sc,
struct t4_sched_queue p 
)

◆ t4_set_tracer()

◆ t4_setup_adapter_queues()

int t4_setup_adapter_queues ( struct adapter sc)

Definition at line 1036 of file t4_sge.c.

References ADAPTER_LOCK_ASSERT_NOTOWNED, alloc_ctrlq(), alloc_fwq(), adapter::flags, for_each_port, and IS_VF.

Referenced by adapter_full_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_setup_intr_handlers()

◆ t4_setup_vi_queues()

int t4_setup_vi_queues ( struct vi_info vi)

◆ t4_sge_extfree_refs()

uint64_t t4_sge_extfree_refs ( void  )

Definition at line 623 of file t4_sge.c.

References extfree_refs, and extfree_rels.

Referenced by mod_event().

Here is the caller graph for this function:

◆ t4_sge_modload()

◆ t4_sge_modunload()

void t4_sge_modunload ( void  )

Definition at line 613 of file t4_sge.c.

References defrags, extfree_refs, extfree_rels, and pullups.

Referenced by mod_event().

Here is the caller graph for this function:

◆ t4_sge_sysctls()

void t4_sge_sysctls ( struct adapter sc,
struct sysctl_ctx_list *  ctx,
struct sysctl_oid_list *  children 
)

Definition at line 994 of file t4_sge.c.

References cong_drop, sge_params::fl_pktshift, sge_params::pack_boundary, sge_params::pad_boundary, adapter::params, adapter_params::sge, sge_params::spg_len, and sysctl_bufsizes().

Referenced by t4_sysctls().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_sysctls()

void t4_sysctls ( struct adapter sc)

Definition at line 7179 of file t4_main.c.

References A_TP_FINWAIT2_TIMER, A_TP_INIT_SRTT, A_TP_KEEP_IDLE, A_TP_KEEP_INTVL, A_TP_PERS_MAX, A_TP_PERS_MIN, A_TP_RXT_MAX, A_TP_RXT_MIN, tom_tunables::autorcvbuf_inc, adapter::bs_version, vpd_params::cclk, adapter::cfcsum, adapter::cfg_file, CHELSIO_T4, CHELSIO_T5, chip_id(), chip_rev(), CIM_NUM_IBQ, tls_tunables::combo_wrs, tom_tunables::cong_algorithm, tom_tunables::cop_managed_offloading, sge_params::counter_val, adapter::ctx, tom_tunables::ddp, adapter::debug_flags, adapter::dev, doorbells, adapter::doorbells, vpd_params::ec, adapter::er_version, adapter::flags, adapter::fw_version, tls_tunables::inline_keys, is_ktls(), is_offload(), IS_VF, tom_tunables::iso, adapter::lro_timeout, vpd_params::md, vpd_params::na, tid_info::nftids, adapter_params::nports, adapter::params, vpd_params::pn, tom_tunables::rx_coalesce, S_KEEPALIVEMAXR2, S_RXTSHIFTMAXR2, S_SYNSHIFTMAX, adapter::sc_do_rxcopy, adapter_params::scfg_vers, adapter_params::sge, vpd_params::sn, tom_tunables::sndbuf, adapter::swintr, sysctl_bitfield_8b(), SYSCTL_CAP, sysctl_cctrl(), sysctl_cim_ibq_obq(), sysctl_cim_la(), sysctl_cim_ma_la(), sysctl_cim_pif_la(), sysctl_cim_qcfg(), sysctl_clip(), sysctl_cpl_stats(), sysctl_cpus(), sysctl_ddp_stats(), sysctl_devlog(), sysctl_fcoe_stats(), sysctl_hw_sched(), sysctl_int_array(), sysctl_l2t(), sysctl_lb_stats(), sysctl_loadavg(), sysctl_meminfo(), sysctl_mps_tcam(), sysctl_mps_tcam_t6(), sysctl_path_mtus(), sysctl_pm_stats(), sysctl_rdma_stats(), sysctl_reset(), sysctl_reset_sensor(), sysctl_smt(), sysctl_tcp_stats(), sysctl_temperature(), sysctl_tid_stats(), sysctl_tids(), sysctl_tnl_stats(), sysctl_tp_err_stats(), sysctl_tp_la(), sysctl_tp_la_mask(), sysctl_tx_rate(), sysctl_ulprx_la(), sysctl_vdd(), sysctl_wcwr_stats(), t4_sge_sysctls(), adapter::tids, sge_params::timer_val, tom_tunables::tls, tom_tunables::tls_rx_timeout, adapter::tlst, adapter::tp_version, adapter::tt, tom_tunables::tx_align, tom_tunables::tx_zcopy, tom_tunables::update_hc_on_pmtu_change, adapter_params::vpd, and adapter_params::vpd_vers.

Referenced by t4_attach(), and t4vf_attach().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_teardown_adapter_queues()

int t4_teardown_adapter_queues ( struct adapter sc)

Definition at line 1075 of file t4_sge.c.

References ADAPTER_LOCK_ASSERT_NOTOWNED, sge::ctrlq, adapter::flags, for_each_port, free_ctrlq(), free_fwq(), IS_VF, and adapter::sge.

Referenced by adapter_full_uninit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_teardown_vi_queues()

int t4_teardown_vi_queues ( struct vi_info vi)

Definition at line 1215 of file t4_sge.c.

References for_each_nm_rxq, for_each_nm_txq, for_each_ofld_rxq, for_each_ofld_txq, for_each_rxq, for_each_txq, free_rxq(), free_txq(), vi_info::ifp, nm_rxq, and rxq.

Referenced by t4_setup_vi_queues(), and vi_full_uninit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_trace_pkt()

int t4_trace_pkt ( struct sge_iq iq,
const struct rss_header rss,
struct mbuf *  m 
)

Definition at line 420 of file t4_tracer.c.

References sge_iq::adapter, ifp, adapter::ifp, adapter::ifp_lock, iq, and rss_header::opcode.

Referenced by mod_event().

Here is the caller graph for this function:

◆ t4_tracer_modload()

void t4_tracer_modload ( void  )

Definition at line 234 of file t4_tracer.c.

References t4_cloner, t4_cloner_create(), t4_cloner_destroy(), t4_cloner_match(), t4_cloner_name, and t4_trace_lock.

Referenced by mod_event().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_tracer_modunload()

void t4_tracer_modunload ( void  )

Definition at line 243 of file t4_tracer.c.

References t4_cloner, and t4_trace_lock.

Referenced by mod_event().

Here is the caller graph for this function:

◆ t4_tracer_port_detach()

void t4_tracer_port_detach ( struct adapter sc)

Definition at line 260 of file t4_tracer.c.

References adapter::ifp, adapter::ifp_lock, adapter::media, and t4_trace_lock.

Referenced by cxgbe_detach().

Here is the caller graph for this function:

◆ t4_tweak_chip_settings()

void t4_tweak_chip_settings ( struct adapter sc)

Definition at line 712 of file t4_sge.c.

References A_SGE_CONTROL, A_SGE_FL_BUFFER_SIZE0, A_SGE_FL_BUFFER_SIZE1, A_SGE_FL_BUFFER_SIZE15, A_SGE_FL_BUFFER_SIZE2, A_SGE_HOST_PAGE_SIZE, A_SGE_INGRESS_RX_THRESHOLD, A_SGE_ITP_CONTROL, A_SGE_TIMER_VALUE_0_AND_1, A_SGE_TIMER_VALUE_2_AND_3, A_SGE_TIMER_VALUE_4_AND_5, A_TP_CMM_CONFIG, A_TP_PARA_REG5, A_ULP_RX_CTL, A_ULP_RX_ISCSI_PSZ, A_ULP_RX_TDDP_PSZ, vpd_params::cclk, CHELSIO_T6, chip_id(), CL_METADATA_SIZE, adapter::debug_flags, DF_DISABLE_TCB_CACHE, F_EGRSTATUSPAGESIZE, F_ISCSITAGTCB, F_REARMDDPOFFSET, F_RESETDDPOFFSET, F_RXPKTCPLMODE, F_TDDPTAGTCB, F_WRTHRTHRESHEN, fl_pktshift, adapter::flags, M_INDICATESIZE, M_PKTSHIFT, M_RDTHRESHOLD, M_TIMERVALUE0, M_TSCALE, M_WRTHRTHRESH, MASTER_PF, adapter::params, RX_COPY_THRESHOLD, setup_pad_and_pack_boundaries(), SGE_NCOUNTERS, SGE_NTIMERS, spg_len, t4_set_reg_field(), t4_tp_pio_read(), t4_tp_pio_write(), t4_write_reg(), tscale, us_to_core_ticks(), V_EGRSTATUSPAGESIZE, V_HOSTPAGESIZEPF0, V_HOSTPAGESIZEPF1, V_HOSTPAGESIZEPF2, V_HOSTPAGESIZEPF3, V_HOSTPAGESIZEPF4, V_HOSTPAGESIZEPF5, V_HOSTPAGESIZEPF6, V_HOSTPAGESIZEPF7, V_HPZ0, V_HPZ1, V_HPZ2, V_HPZ3, V_INDICATESIZE, V_PKTSHIFT, V_RDTHRESHOLD, V_THRESHOLD_0, V_THRESHOLD_1, V_THRESHOLD_2, V_THRESHOLD_3, V_TIMERVALUE0, V_TIMERVALUE1, V_TIMERVALUE2, V_TIMERVALUE3, V_TIMERVALUE4, V_TIMERVALUE5, V_TSCALE, V_WRTHRTHRESH, and adapter_params::vpd.

Referenced by apply_cfg_and_initialize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_update_fl_bufsize()

void t4_update_fl_bufsize ( struct ifnet *  ifp)

Definition at line 2222 of file t4_sge.c.

References vi_info::adapter, find_refill_source(), fl, sge_rxq::fl, sge_ofld_rxq::fl, FL_BUF_PACKING, FL_LOCK, FL_UNLOCK, sge_fl::flags, for_each_ofld_rxq, for_each_rxq, ifp, max_rx_payload(), rxq, and sge_fl::zidx.

Referenced by cxgbe_ioctl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_update_tx_sched()

void t4_update_tx_sched ( struct adapter sc)

Definition at line 490 of file t4_sched.c.

References adapter::tc_task.

Referenced by t4_reserve_cl_rl_kbps().

Here is the caller graph for this function:

◆ t4_use_ldst()

static int t4_use_ldst ( struct adapter sc)
inlinestatic

Definition at line 1218 of file adapter.h.

References adapter::flags, and FW_OK.

Referenced by t4_tp_indirect_rw().

Here is the caller graph for this function:

◆ t4_verify_chip_settings()

◆ t4_write_reg()

static void t4_write_reg ( struct adapter sc,
uint32_t  reg,
uint32_t  val 
)
inlinestatic

Definition at line 1112 of file adapter.h.

References adapter::bh, adapter::bt, hw_off_limits(), and adapter::reset_thread.

Referenced by alloc_iq_fl_hwq(), cim_ha_rreg(), cim_intr_handler(), collect_mps_tcam(), cudbg_read_tid(), cxgbe_init_synchronized(), enable_vxlan_rx(), ma_wrap_status(), mem_intr_handler(), mps_intr_handler(), position_memwin(), rd_rss_row(), read_sge_debug_data(), read_vf_stat(), ring_eq_db(), ring_fl_db(), rw_via_memwin(), service_iq(), service_iq_fl(), setup_memwin(), sf1_read(), sf1_write(), sge_intr_handler(), sysctl_mps_tcam_t6(), t4_cim_read(), t4_cim_read_ma_la(), t4_cim_read_pif_la(), t4_cim_write(), t4_clr_port_stats(), t4_clr_vi_stats(), t4_edc_read(), t4_flash_erase_sectors(), t4_get_flash_params(), t4_handle_intr(), t4_hw_pci_read_cfg4(), t4_idma_monitor(), t4_intr_all(), t4_intr_clear(), t4_intr_disable(), t4_intr_enable(), t4_intr_err(), t4_ioctl(), t4_load_mtus(), t4_map_bar_2(), t4_mc_read(), t4_pmrx_get_stats(), t4_pmtx_get_stats(), t4_read_cim_ibq(), t4_read_cim_obq(), t4_read_cimq_cfg(), t4_read_cong_tbl(), t4_read_flash(), t4_read_indirect(), t4_read_mtu_tbl(), t4_read_pace_tbl(), t4_read_rss_vf_config(), t4_set_pace_tbl(), t4_set_reg_field(), t4_set_sched_bps(), t4_set_sched_ipg(), t4_set_trace_filter(), t4_sge_ctxt_rd_bd(), t4_shutdown_adapter(), t4_slow_intr_handler(), t4_tp_read_la(), t4_tp_wr_bits_indirect(), t4_tweak_chip_settings(), t4_ulprx_read_la(), t4_wol_magic_enable(), t4_wol_pat_enable(), t4_wr_mbox_meat_timeout(), t4_write_flash(), t4_write_indirect(), t4_write_rss_key(), t4_write_rss_vf_config(), and t4vf_ioctl().

Here is the call graph for this function:

◆ t4_write_reg64()

static void t4_write_reg64 ( struct adapter sc,
uint32_t  reg,
uint64_t  val 
)
inlinestatic

Definition at line 1134 of file adapter.h.

References adapter::bh, adapter::bt, hw_off_limits(), and adapter::reset_thread.

Referenced by t4_ioctl(), t4_wr_mbox_meat_timeout(), and t4vf_ioctl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_wrq_tx()

static void t4_wrq_tx ( struct adapter sc,
struct wrqe wr 
)
inlinestatic

Definition at line 1463 of file adapter.h.

References t4_wrq_tx_locked(), TXQ_LOCK, TXQ_UNLOCK, wrq, and wrqe::wrq.

Referenced by ccr_ccm(), ccr_cipher(), ccr_eta(), ccr_gcm(), ccr_hash(), commit_wrq_wr(), release_tid(), and t4_l2t_send().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t4_wrq_tx_locked()

void t4_wrq_tx_locked ( struct adapter sc,
struct sge_wrq wrq,
struct wrqe wr 
)

Definition at line 2197 of file t4_sge.c.

References sge_eq::dbidx, drain_wrq_wr_list(), eq, sge_wrq::eq, EQ_ESIZE, EQ_LOCK_ASSERT_OWNED, sge_wrq::ndesc_needed, sge_wrq::nwr_pending, sge_eq::pidx, SGE_MAX_WR_LEN, wrqe::wr_len, and wrq.

Referenced by t4_wrq_tx().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t5_trace_pkt()

int t5_trace_pkt ( struct sge_iq iq,
const struct rss_header rss,
struct mbuf *  m 
)

Definition at line 442 of file t4_tracer.c.

References sge_iq::adapter, ifp, adapter::ifp, adapter::ifp_lock, iq, and rss_header::opcode.

Referenced by mod_event().

Here is the caller graph for this function:

◆ TAILQ_HEAD()

__aligned::TAILQ_HEAD ( wrq_incomplete_wrs  ,
wrq_cookie   
)

◆ tnl_cong()

int tnl_cong ( struct port_info pi,
int  drop 
)

Definition at line 3927 of file t4_sge.c.

References port_info::rx_e_chan_map.

Referenced by alloc_rxq().

Here is the caller graph for this function:

◆ tx_len16_to_desc()

static int tx_len16_to_desc ( int  len16)
inlinestatic

Definition at line 1490 of file adapter.h.

References EQ_ESIZE.

Referenced by add_to_txpkts_pf(), add_to_txpkts_vf(), eth_tx(), start_wrq_wr(), write_raw_wr(), write_txpkt_vm_wr(), write_txpkt_wr(), write_txpkts_vm_wr(), and write_txpkts_wr().

Here is the caller graph for this function:

◆ tx_resume_threshold()

static int tx_resume_threshold ( struct sge_eq eq)
inlinestatic

Definition at line 1210 of file adapter.h.

References eq, and sge_eq::sidx.

◆ update_mac_settings()

◆ vi_init()

int vi_init ( struct vi_info vi)

Definition at line 6789 of file t4_main.c.

References vi_info::adapter, ASSERT_SYNCHRONIZED_OP, vi_info::flags, vi_full_init(), vi_full_uninit(), and VI_INIT_DONE.

Referenced by cxgbe_init_synchronized().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vi_sysctls()

◆ write_via_memwin()

static int write_via_memwin ( struct adapter sc,
int  idx,
uint32_t  addr,
const uint32_t *  val,
int  len 
)
inlinestatic

Definition at line 1481 of file adapter.h.

References rw_via_memwin().

Referenced by copy_cfg_file_to_card().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ wrtod()

static void * wrtod ( struct wrqe wr)
inlinestatic

Definition at line 1451 of file adapter.h.

Referenced by ccr_ccm(), ccr_cipher(), ccr_eta(), ccr_gcm(), ccr_hash(), and release_tid().

Here is the caller graph for this function:

Variable Documentation

◆ __aligned

struct sge __aligned

◆ adapter

struct adapter* adapter

Definition at line 2 of file adapter.h.

◆ ba

bus_addr_t ba

Definition at line 19 of file adapter.h.

Referenced by oneseg_dma_callback().

◆ cidx

uint16_t cidx

Definition at line 1 of file adapter.h.

Referenced by drain_ring(), drain_txpkts(), eth_tx(), move_to_next_rxbuf(), and read_hw_cidx().

◆ cntxt_id

u_int cntxt_id

Definition at line 10 of file adapter.h.

Referenced by alloc_iq_fl_hwq(), ctrl_eq_alloc(), and eth_eq_alloc().

◆ cpl_ctrl0

__be32 cpl_ctrl0

Definition at line 6 of file adapter.h.

◆ cxgbe_methods

device_method_t cxgbe_methods[]
extern

Definition at line 134 of file t4_main.c.

◆ dbidx

uint16_t dbidx

Definition at line 6 of file adapter.h.

◆ desc

struct tx_desc* desc

Definition at line 0 of file adapter.h.

◆ desc_map

bus_dmamap_t desc_map

Definition at line 18 of file adapter.h.

◆ desc_tag

bus_dma_tag_t desc_tag

Definition at line 17 of file adapter.h.

◆ doorbells

uint8_t doorbells

Definition at line 7 of file adapter.h.

Referenced by t4_sysctls().

◆ eq

◆ equeqidx

uint16_t equeqidx

Definition at line 5 of file adapter.h.

◆ equiqidx

uint16_t equiqidx

Definition at line 4 of file adapter.h.

◆ fl

◆ gl

struct sglist* gl

Definition at line 5 of file adapter.h.

Referenced by get_pkt_gl(), and write_gl_to_txd().

◆ ifp

◆ imm_wrs

uint64_t imm_wrs

Definition at line 17 of file adapter.h.

◆ iq

◆ iqidx

int iqidx

Definition at line 20 of file adapter.h.

Referenced by alloc_txq(), and t4_setup_vi_queues().

◆ kern_tls_cbc

uint64_t kern_tls_cbc

Definition at line 39 of file adapter.h.

◆ kern_tls_fin

uint64_t kern_tls_fin

Definition at line 37 of file adapter.h.

◆ kern_tls_fin_short

uint64_t kern_tls_fin_short

Definition at line 38 of file adapter.h.

◆ kern_tls_full

uint64_t kern_tls_full

Definition at line 32 of file adapter.h.

◆ kern_tls_gcm

uint64_t kern_tls_gcm

Definition at line 40 of file adapter.h.

◆ kern_tls_header

uint64_t kern_tls_header

Definition at line 36 of file adapter.h.

◆ kern_tls_octets

uint64_t kern_tls_octets

Definition at line 33 of file adapter.h.

◆ kern_tls_options

uint64_t kern_tls_options

Definition at line 35 of file adapter.h.

◆ kern_tls_partial

uint64_t kern_tls_partial

Definition at line 31 of file adapter.h.

◆ kern_tls_records

uint64_t kern_tls_records

Definition at line 29 of file adapter.h.

◆ kern_tls_short

uint64_t kern_tls_short

Definition at line 30 of file adapter.h.

◆ kern_tls_waste

uint64_t kern_tls_waste

Definition at line 34 of file adapter.h.

◆ last_tx

uint64_t last_tx

Definition at line 8 of file adapter.h.

Referenced by record_eth_tx_time().

◆ lro

struct lro_ctrl lro

Definition at line 4 of file adapter.h.

Referenced by eth_rx(), and service_iq_fl().

◆ ndesc_needed

u_int ndesc_needed

Definition at line 11 of file adapter.h.

◆ nid

u_int nid

Definition at line 13 of file adapter.h.

◆ nm_rxq

struct sge_nm_rxq* nm_rxq

Definition at line 4 of file adapter.h.

Referenced by t4_setup_intr_handlers(), t4_setup_vi_queues(), and t4_teardown_vi_queues().

◆ nwr_pending

u_int nwr_pending

Definition at line 10 of file adapter.h.

◆ op_pkd

__be32 op_pkd

Definition at line 12 of file adapter.h.

◆ pidx

◆ r

◆ raw_wrs

uint64_t raw_wrs

Definition at line 25 of file adapter.h.

◆ res

struct resource* res

Definition at line 0 of file adapter.h.

Referenced by t4_wr_mbox_meat_timeout().

◆ rid

int rid

Definition at line 1 of file adapter.h.

Referenced by t4_alloc_irq(), and t4_setup_intr_handlers().

◆ rx_iscsi_data_digest_errors

uint64_t rx_iscsi_data_digest_errors

Definition at line 10 of file adapter.h.

◆ rx_iscsi_ddp_octets

uint64_t rx_iscsi_ddp_octets

Definition at line 5 of file adapter.h.

◆ rx_iscsi_ddp_pdus

uint64_t rx_iscsi_ddp_pdus

Definition at line 4 of file adapter.h.

◆ rx_iscsi_ddp_setup_error

counter_u64_t rx_iscsi_ddp_setup_error

Definition at line 3 of file adapter.h.

◆ rx_iscsi_ddp_setup_ok

counter_u64_t rx_iscsi_ddp_setup_ok

Definition at line 2 of file adapter.h.

◆ rx_iscsi_fl_octets

uint64_t rx_iscsi_fl_octets

Definition at line 7 of file adapter.h.

◆ rx_iscsi_fl_pdus

uint64_t rx_iscsi_fl_pdus

Definition at line 6 of file adapter.h.

◆ rx_iscsi_header_digest_errors

uint64_t rx_iscsi_header_digest_errors

Definition at line 9 of file adapter.h.

◆ rx_iscsi_padding_errors

uint64_t rx_iscsi_padding_errors

Definition at line 8 of file adapter.h.

◆ rx_toe_tls_octets

u_long rx_toe_tls_octets

Definition at line 12 of file adapter.h.

◆ rx_toe_tls_records

u_long rx_toe_tls_records

Definition at line 11 of file adapter.h.

◆ rxcsum

uint64_t rxcsum

Definition at line 8 of file adapter.h.

◆ rxq

◆ sdesc

struct tx_sdesc* sdesc

Definition at line 4 of file adapter.h.

◆ sgl_wrs

uint64_t sgl_wrs

Definition at line 18 of file adapter.h.

◆ sidx

uint16_t sidx

Definition at line 3 of file adapter.h.

Referenced by commit_wrq_wr(), drain_wrq_wr_list(), and set_txupdate_flags().

◆ ss

uint8_t ss[SGE_MAX_WR_LEN]

Definition at line 27 of file adapter.h.

Referenced by build_medialist(), and ccr_write_ulptx_sgl().

◆ ss_len

uint16_t ss_len

Definition at line 26 of file adapter.h.

Referenced by get_flit().

◆ ss_pidx

uint16_t ss_pidx

Definition at line 25 of file adapter.h.

◆ t4_intr_types

int t4_intr_types
extern

◆ t4_nrxq

int t4_nrxq
extern

◆ t4_ntxq

int t4_ntxq
extern

◆ t4_pktc_idx

int t4_pktc_idx
extern

◆ t4_qsize_rxq

unsigned int t4_qsize_rxq
extern

◆ t4_qsize_txq

unsigned int t4_qsize_txq
extern

◆ t4_tmr_idx

int t4_tmr_idx
extern

◆ tag

void* tag

Definition at line 2 of file adapter.h.

Referenced by alloc_ring(), free_ring(), and get_vpd_keyword_val().

◆ tc_idx

int tc_idx

Definition at line 7 of file adapter.h.

Referenced by sysctl_tc(), t4_release_cl_rl(), and t4_reserve_cl_rl_kbps().

◆ tso_wrs

uint64_t tso_wrs

Definition at line 15 of file adapter.h.

◆ tx_iscsi_iso_wrs

counter_u64_t tx_iscsi_iso_wrs

Definition at line 3 of file adapter.h.

◆ tx_iscsi_octets

counter_u64_t tx_iscsi_octets

Definition at line 2 of file adapter.h.

◆ tx_iscsi_pdus

counter_u64_t tx_iscsi_pdus

Definition at line 1 of file adapter.h.

◆ tx_reclaim_task

struct task tx_reclaim_task

Definition at line 11 of file adapter.h.

◆ tx_toe_tls_octets

counter_u64_t tx_toe_tls_octets

Definition at line 5 of file adapter.h.

◆ tx_toe_tls_records

counter_u64_t tx_toe_tls_records

Definition at line 4 of file adapter.h.

◆ tx_wrs_copied

uint64_t tx_wrs_copied

Definition at line 17 of file adapter.h.

◆ tx_wrs_direct

uint64_t tx_wrs_direct

Definition at line 15 of file adapter.h.

◆ tx_wrs_ss

uint64_t tx_wrs_ss

Definition at line 16 of file adapter.h.

◆ txcsum

uint64_t txcsum

Definition at line 14 of file adapter.h.

◆ txp

◆ txpkt_wrs

uint64_t txpkt_wrs

Definition at line 19 of file adapter.h.

◆ txpkts0_pkts

uint64_t txpkts0_pkts

Definition at line 22 of file adapter.h.

◆ txpkts0_wrs

uint64_t txpkts0_wrs

Definition at line 20 of file adapter.h.

◆ txpkts1_pkts

uint64_t txpkts1_pkts

Definition at line 23 of file adapter.h.

◆ txpkts1_wrs

uint64_t txpkts1_wrs

Definition at line 21 of file adapter.h.

◆ txpkts_flush

uint64_t txpkts_flush

Definition at line 24 of file adapter.h.

◆ udb

volatile uint32_t* udb

Definition at line 8 of file adapter.h.

Referenced by alloc_eq_hwq(), and alloc_iq_fl_hwq().

◆ udb_qid

u_int udb_qid

Definition at line 9 of file adapter.h.

◆ vlan_extraction

uint64_t vlan_extraction

Definition at line 9 of file adapter.h.

◆ vlan_insertion

uint64_t vlan_insertion

Definition at line 16 of file adapter.h.

◆ vxlan_rxcsum

uint64_t vxlan_rxcsum

Definition at line 10 of file adapter.h.

◆ vxlan_tso_wrs

uint64_t vxlan_tso_wrs

Definition at line 26 of file adapter.h.

◆ vxlan_txcsum

uint64_t vxlan_txcsum

Definition at line 27 of file adapter.h.

◆ wrq

◆ wrq_tx_task

struct task wrq_tx_task

Definition at line 3 of file adapter.h.