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/qat/qat_api/include/cpa_dev.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  *
    3  *   BSD LICENSE
    4  * 
    5  *   Copyright(c) 2007-2022 Intel Corporation. All rights reserved.
    6  *   All rights reserved.
    7  * 
    8  *   Redistribution and use in source and binary forms, with or without
    9  *   modification, are permitted provided that the following conditions
   10  *   are met:
   11  * 
   12  *     * Redistributions of source code must retain the above copyright
   13  *       notice, this list of conditions and the following disclaimer.
   14  *     * Redistributions in binary form must reproduce the above copyright
   15  *       notice, this list of conditions and the following disclaimer in
   16  *       the documentation and/or other materials provided with the
   17  *       distribution.
   18  *     * Neither the name of Intel Corporation nor the names of its
   19  *       contributors may be used to endorse or promote products derived
   20  *       from this software without specific prior written permission.
   21  * 
   22  *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   23  *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   24  *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
   25  *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
   26  *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   27  *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   28  *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   29  *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   30  *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   31  *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
   32  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   33  * 
   34  *
   35  ***************************************************************************/
   36 
   37 /*
   38  *****************************************************************************
   39  * Doxygen group definitions
   40  ****************************************************************************/
   41 
   42 /**
   43  *****************************************************************************
   44  * @file cpa_dev.h
   45  *
   46  * @defgroup cpaDev Device API
   47  *
   48  * @ingroup cpa
   49  *
   50  * @description
   51  *      These functions specify the API for device level operation.
   52  *
   53  * @remarks
   54  *
   55  *
   56  *****************************************************************************/
   57 
   58 #ifndef CPA_DEV_H
   59 #define CPA_DEV_H
   60 
   61 #ifdef __cplusplus
   62 extern"C" {
   63 #endif
   64 
   65 
   66 #ifndef CPA_H
   67 #include "cpa.h"
   68 #endif
   69 
   70 
   71  /*****************************************************************************
   72  * @ingroup cpaDev
   73  *      Returns device information
   74  *
   75  * @description
   76  *      This data structure contains the device information. The device
   77  *      information are available to both Physical and Virtual Functions.
   78  *      Depending on the resource partitioning configuration, the services
   79  *      available may changes. This configuration will impact the size of the
   80  *      Security Association Database (SADB). Other properties such device SKU
   81  *      and device ID are also reported.
   82  *
   83  *****************************************************************************/
   84 typedef struct _CpaDeviceInfo {
   85         Cpa32U sku;
   86         /**< Identifies the SKU of the device. */
   87         Cpa16U bdf;
   88         /**< Identifies the Bus Device Function of the device.
   89          *   Format is reported as follow:
   90          *   - bits<2:0> represent the function number.
   91          *   - bits<7:3> represent the device
   92          *   - bits<15:8> represent the bus
   93          */
   94         Cpa32U deviceId;
   95         /**< Returns the device ID. */
   96         Cpa32U numaNode;
   97         /**< Return the local NUMA node mapped to the device. */
   98         CpaBoolean isVf;
   99         /**< Return whether the device is currently used in a virtual function
  100          *   or not. */
  101         CpaBoolean dcEnabled;
  102     /**< Compression service enabled */
  103         CpaBoolean cySymEnabled;
  104     /**< Symetric crypto service enabled */
  105         CpaBoolean cyAsymEnabled;
  106     /**< Asymetric crypto service enabled */
  107         CpaBoolean inlineEnabled;
  108     /**< Inline service enabled */
  109         Cpa32U deviceMemorySizeAvailable;
  110         /**< Return the size of the device memory available. This device memory
  111          *   section could be used for the intermediate buffers in the
  112          *   compression service.
  113          */
  114 } CpaDeviceInfo;
  115 
  116 
  117 /*****************************************************************************
  118 * @ingroup cpaDev
  119 *      Returns number devices.
  120 *
  121 * @description
  122 *      This API returns the number of devices available to the application.
  123 *      If used on the host, it will return the number of physical devices.
  124 *      If used on the guest, it will return the number of function mapped
  125 *      to the virtual machine.
  126 *
  127 *****************************************************************************/
  128 CpaStatus cpaGetNumDevices (Cpa16U *numDevices);
  129 
  130 /*****************************************************************************
  131 * @ingroup cpaDev
  132 *      Returns device information for a given device index.
  133 *
  134 * @description
  135 *      Returns device information for a given device index. This API must
  136 *      be used with cpaGetNumDevices().
  137 *****************************************************************************/
  138 CpaStatus cpaGetDeviceInfo (Cpa16U device, CpaDeviceInfo *deviceInfo);
  139 
  140 #ifdef __cplusplus
  141 } /* close the extern "C" { */
  142 #endif
  143 
  144 #endif /* CPA_DEV_H */

Cache object: e74e2bc511962b4ff684c96b2baafbf6


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