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/icp_buffer_desc.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 /* SPDX-License-Identifier: BSD-3-Clause */
    2 /* Copyright(c) 2007-2022 Intel Corporation */
    3 /* $FreeBSD$ */
    4 /**
    5  *****************************************************************************
    6  * @file icp_buffer_desc.h
    7  *
    8  * @defgroup icp_BufferDesc Buffer descriptor for LAC
    9  *
   10  * @ingroup LacCommon
   11  *
   12  * @description
   13  *      This file contains details of the hardware buffer descriptors used to
   14  *      communicate with the QAT.
   15  *
   16  *****************************************************************************/
   17 #ifndef ICP_BUFFER_DESC_H
   18 #define ICP_BUFFER_DESC_H
   19 
   20 #include "cpa.h"
   21 
   22 typedef Cpa64U icp_qat_addr_width_t; // hi32 first, lo32 second
   23 
   24 // Alignement constraint of the buffer list.
   25 #define ICP_DESCRIPTOR_ALIGNMENT_BYTES 8
   26 
   27 /**
   28  *****************************************************************************
   29  * @ingroup icp_BufferDesc
   30  *      Buffer descriptors for FlatBuffers - used in communications with
   31  *      the QAT.
   32  *
   33  * @description
   34  *      A QAT friendly buffer descriptor.
   35  *      All buffer descriptor described in this structure are physcial
   36  *      and are 64 bit wide.
   37  *
   38  *      Updates in the CpaFlatBuffer should be also reflected in this
   39  *      structure
   40  *
   41  *****************************************************************************/
   42 typedef struct icp_flat_buffer_desc_s {
   43         Cpa32U dataLenInBytes;
   44         Cpa32U reserved;
   45         icp_qat_addr_width_t phyBuffer;
   46         /**< The client will allocate memory for this using API function calls
   47           *  and the access layer will fill it and the QAT will read it.
   48           */
   49 } icp_flat_buffer_desc_t;
   50 
   51 /**
   52  *****************************************************************************
   53  * @ingroup icp_BufferDesc
   54  *      Buffer descriptors for BuffersLists - used in communications with
   55  *      the QAT.
   56  *
   57  * @description
   58  *      A QAT friendly buffer descriptor.
   59  *      All buffer descriptor described in this structure are physcial
   60  *      and are 64 bit wide.
   61  *
   62  *      Updates in the CpaBufferList should be also reflected in this structure
   63  *
   64  *****************************************************************************/
   65 typedef struct icp_buffer_list_desc_s {
   66         Cpa64U resrvd;
   67         Cpa32U numBuffers;
   68         Cpa32U reserved;
   69         icp_flat_buffer_desc_t phyBuffers[];
   70         /**< Unbounded array of physical buffer pointers, these point to the
   71           *  FlatBufferDescs. The client will allocate memory for this using
   72           *  API function calls and the access layer will fill it and the QAT
   73           *  will read it.
   74           */
   75 } icp_buffer_list_desc_t;
   76 
   77 #endif /* ICP_BUFFER_DESC_H */

Cache object: dded54b415886cdaf0c15ce3b8fc4007


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