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/8.1/sys/dev/cxgb/common/cxgb_ctl_defs.h 184861 2008-11-12 04:45:09Z kmacy $
   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 struct net_device;
   64 
   65 /*
   66  * Structure used to request the adapter net_device owning a given MAC address.
   67  */
   68 struct iff_mac {
   69         struct net_device *dev;          /* the net_device */
   70         const unsigned char *mac_addr;   /* MAC address to lookup */
   71         u16 vlan_tag;
   72 };
   73 
   74 struct pci_dev;
   75 
   76 /*
   77  * Structure used to request the TCP DDP parameters.
   78  */
   79 struct ddp_params {
   80         unsigned int llimit;     /* TDDP region start address */
   81         unsigned int ulimit;     /* TDDP region end address */
   82         unsigned int tag_mask;   /* TDDP tag mask */
   83         struct pci_dev *pdev;
   84 };
   85 
   86 struct adap_ports {
   87         unsigned int nports;     /* number of ports on this adapter */
   88         struct net_device *lldevs[MAX_NPORTS];
   89 };
   90 
   91 /*
   92  * Structure used to return information to the iscsi layer.
   93  */
   94 struct ulp_iscsi_info {
   95         unsigned int    offset;
   96         unsigned int    llimit;
   97         unsigned int    ulimit;
   98         unsigned int    tagmask;
   99         unsigned int    pgsz3;
  100         unsigned int    pgsz2;
  101         unsigned int    pgsz1;
  102         unsigned int    pgsz0;
  103         unsigned int    max_rxsz;
  104         unsigned int    max_txsz;
  105         struct pci_dev  *pdev;
  106 };
  107 
  108 /*
  109  * Offload TX/RX page information.
  110  */
  111 struct ofld_page_info {
  112         unsigned int page_size;  /* Page size, should be a power of 2 */
  113         unsigned int num;        /* Number of pages */
  114 };
  115 
  116 /*
  117  * Structure used to return information to the RDMA layer.
  118  */
  119 struct rdma_info {
  120         unsigned int tpt_base;   /* TPT base address */
  121         unsigned int tpt_top;    /* TPT last entry address */
  122         unsigned int pbl_base;   /* PBL base address */
  123         unsigned int pbl_top;    /* PBL last entry address */
  124         unsigned int rqt_base;   /* RQT base address */
  125         unsigned int rqt_top;    /* RQT last entry address */
  126         unsigned int udbell_len; /* user doorbell region length */
  127         unsigned long udbell_physbase;  /* user doorbell physical start addr */
  128         void *kdb_addr;  /* kernel doorbell register address */
  129         struct device *pdev;    /* associated PCI device */
  130 };
  131 
  132 /*
  133  * Structure used to request an operation on an RDMA completion queue.
  134  */
  135 struct rdma_cq_op {
  136         unsigned int id;
  137         unsigned int op;
  138         unsigned int credits;
  139 };
  140 
  141 /*
  142  * Structure used to setup RDMA completion queues.
  143  */
  144 struct rdma_cq_setup {
  145         unsigned int id;
  146         unsigned long long base_addr;
  147         unsigned int size;
  148         unsigned int credits;
  149         unsigned int credit_thres;
  150         unsigned int ovfl_mode;
  151 };
  152 
  153 /*
  154  * Structure used to setup the RDMA control egress context.
  155  */
  156 struct rdma_ctrlqp_setup {
  157         unsigned long long base_addr;
  158         unsigned int size;
  159 };
  160 #endif /* _CXGB3_OFFLOAD_CTL_DEFS_H */

Cache object: 8fca84202458fdd8428ead6714e63228


[ 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.