The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/cxgb/common/cxgb_ctl_defs.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (C) 2003-2006 Chelsio Communications.  All rights reserved.
    3  *
    4  * This program is distributed in the hope that it will be useful, but WITHOUT
    5  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    6  * FITNESS FOR A PARTICULAR PURPOSE.  See the LICENSE file included in this
    7  * release for licensing terms and conditions.
    8  *
    9  * $FreeBSD: releng/10.0/sys/dev/cxgb/common/cxgb_ctl_defs.h 237263 2012-06-19 07:34:13Z np $
   10  */
   11 
   12 #ifndef _CXGB3_OFFLOAD_CTL_DEFS_H
   13 #define _CXGB3_OFFLOAD_CTL_DEFS_H
   14 
   15 enum {
   16         GET_MAX_OUTSTANDING_WR,
   17         GET_TX_MAX_CHUNK,
   18         GET_TID_RANGE,
   19         GET_STID_RANGE,
   20         GET_RTBL_RANGE,
   21         GET_L2T_CAPACITY,
   22         GET_MTUS,
   23         GET_WR_LEN,
   24         GET_IFF_FROM_MAC,
   25         GET_DDP_PARAMS,
   26         GET_PORTS,
   27 
   28         ULP_ISCSI_GET_PARAMS,
   29         ULP_ISCSI_SET_PARAMS,
   30 
   31         RDMA_GET_PARAMS,
   32         RDMA_CQ_OP,
   33         RDMA_CQ_SETUP,
   34         RDMA_CQ_DISABLE,
   35         RDMA_CTRL_QP_SETUP,
   36         RDMA_GET_MEM,
   37 
   38         FAILOVER           = 30,
   39         FAILOVER_DONE      = 31,
   40         FAILOVER_CLEAR     = 32,
   41 
   42         GET_CPUIDX_OF_QSET = 40,
   43 
   44         GET_RX_PAGE_INFO   = 50,
   45 };
   46 
   47 /*
   48  * Structure used to describe a TID range.  Valid TIDs are [base, base+num).
   49  */
   50 struct tid_range {
   51         unsigned int base;   /* first TID */
   52         unsigned int num;    /* number of TIDs in range */
   53 };
   54 
   55 /*
   56  * Structure used to request the size and contents of the MTU table.
   57  */
   58 struct mtutab {
   59         unsigned int size;          /* # of entries in the MTU table */
   60         const unsigned short *mtus; /* the MTU table values */
   61 };
   62 
   63 /*
   64  * Structure used to request the ifnet that owns a given MAC address.
   65  */
   66 struct iff_mac {
   67         struct ifnet *dev;
   68         const unsigned char *mac_addr;
   69         u16 vlan_tag;
   70 };
   71 
   72 struct pci_dev;
   73 
   74 /*
   75  * Structure used to request the TCP DDP parameters.
   76  */
   77 struct ddp_params {
   78         unsigned int llimit;     /* TDDP region start address */
   79         unsigned int ulimit;     /* TDDP region end address */
   80         unsigned int tag_mask;   /* TDDP tag mask */
   81         struct pci_dev *pdev;
   82 };
   83 
   84 struct adap_ports {
   85         unsigned int nports;     /* number of ports on this adapter */
   86         struct ifnet *lldevs[MAX_NPORTS];
   87 };
   88 
   89 /*
   90  * Structure used to return information to the iscsi layer.
   91  */
   92 struct ulp_iscsi_info {
   93         unsigned int    offset;
   94         unsigned int    llimit;
   95         unsigned int    ulimit;
   96         unsigned int    tagmask;
   97         unsigned int    pgsz3;
   98         unsigned int    pgsz2;
   99         unsigned int    pgsz1;
  100         unsigned int    pgsz0;
  101         unsigned int    max_rxsz;
  102         unsigned int    max_txsz;
  103         struct pci_dev  *pdev;
  104 };
  105 
  106 /*
  107  * Offload TX/RX page information.
  108  */
  109 struct ofld_page_info {
  110         unsigned int page_size;  /* Page size, should be a power of 2 */
  111         unsigned int num;        /* Number of pages */
  112 };
  113 
  114 /*
  115  * Structure used to return information to the RDMA layer.
  116  */
  117 struct rdma_info {
  118         unsigned int tpt_base;   /* TPT base address */
  119         unsigned int tpt_top;    /* TPT last entry address */
  120         unsigned int pbl_base;   /* PBL base address */
  121         unsigned int pbl_top;    /* PBL last entry address */
  122         unsigned int rqt_base;   /* RQT base address */
  123         unsigned int rqt_top;    /* RQT last entry address */
  124         unsigned int udbell_len; /* user doorbell region length */
  125         unsigned long udbell_physbase;  /* user doorbell physical start addr */
  126         void *kdb_addr;  /* kernel doorbell register address */
  127         struct device *pdev;    /* associated PCI device */
  128 };
  129 
  130 /*
  131  * Structure used to request an operation on an RDMA completion queue.
  132  */
  133 struct rdma_cq_op {
  134         unsigned int id;
  135         unsigned int op;
  136         unsigned int credits;
  137 };
  138 
  139 /*
  140  * Structure used to setup RDMA completion queues.
  141  */
  142 struct rdma_cq_setup {
  143         unsigned int id;
  144         unsigned long long base_addr;
  145         unsigned int size;
  146         unsigned int credits;
  147         unsigned int credit_thres;
  148         unsigned int ovfl_mode;
  149 };
  150 
  151 /*
  152  * Structure used to setup the RDMA control egress context.
  153  */
  154 struct rdma_ctrlqp_setup {
  155         unsigned long long base_addr;
  156         unsigned int size;
  157 };
  158 #endif /* _CXGB3_OFFLOAD_CTL_DEFS_H */

Cache object: 44268d471c0ea89a8087759270933f2f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.