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/common/include/sal_qat_cmn_msg.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 sal_qat_cmn_msg.c
    7  *
    8  * @ingroup SalQatCmnMessage
    9  *
   10  * @description
   11  *    Implementation for populating the common (across services) QAT structures.
   12  *
   13  *****************************************************************************/
   14 #ifndef SAL_QAT_CMN_MSG_H
   15 #define SAL_QAT_CMN_MSG_H
   16 /*
   17  *******************************************************************************
   18  * Include public/global header files
   19  *******************************************************************************
   20  */
   21 #include "cpa.h"
   22 
   23 /*
   24  *******************************************************************************
   25  * Include private header files
   26  *******************************************************************************
   27  */
   28 #include "lac_common.h"
   29 #include "icp_accel_devices.h"
   30 #include "qat_utils.h"
   31 
   32 #include "cpa_cy_sym.h"
   33 #include "lac_mem.h"
   34 #include "lac_mem_pools.h"
   35 #include "lac_list.h"
   36 #include "icp_adf_transport.h"
   37 #include "icp_adf_transport_dp.h"
   38 
   39 #include "icp_qat_hw.h"
   40 #include "icp_qat_fw.h"
   41 #include "icp_qat_fw_la.h"
   42 
   43 /**
   44  ******************************************************************************
   45  * @ingroup SalQatCmnMessage
   46  *      content descriptor info structure
   47  *
   48  * @description
   49  *      This structure contains generic information on the content descriptor
   50  *
   51  *****************************************************************************/
   52 typedef struct sal_qat_content_desc_info_s {
   53         CpaPhysicalAddr hardwareSetupBlockPhys;
   54         /**< Physical address of hardware setup block of the content descriptor
   55          */
   56         void *pData;
   57         /**< Virtual Pointer to the hardware setup block of the content
   58          * descriptor */
   59         Cpa8U hwBlkSzQuadWords;
   60         /**< Hardware Setup Block size in quad words */
   61 } sal_qat_content_desc_info_t;
   62 
   63 /**
   64  *******************************************************************************
   65  * @ingroup SalQatCmnMessage
   66  *      Lookaside response handler function type
   67  *
   68  * @description
   69  *      This type definition specifies the function prototype for handling the
   70  *      response messages for a specific symmetric operation
   71  *
   72  * @param[in] lacCmdId      Look Aside Command ID
   73  *
   74  * @param[in] pOpaqueData   Pointer to Opaque Data
   75  *
   76  * @param[in] cmnRespFlags  Common Response flags
   77  *
   78  * @return void
   79  *
   80  *****************************************************************************/
   81 typedef void (*sal_qat_resp_handler_func_t)(icp_qat_fw_la_cmd_id_t lacCmdId,
   82                                             void *pOpaqueData,
   83                                             icp_qat_fw_comn_flags cmnRespFlags);
   84 
   85 /********************************************************************
   86  * @ingroup SalQatMsg_CmnHdrWrite
   87  *
   88  * @description
   89  *      This function fills in all fields in the icp_qat_fw_comn_req_hdr_t
   90  *      section of the Request Msg. Build LW0 + LW1 -
   91  *      service part of the request
   92  *
   93  * @param[in]   pMsg            Pointer to 128B Request Msg buffer
   94  * @param[in]   serviceType     type of service request
   95  * @param[in]   serviceCmdId    id for the type of service request
   96  * @param[in]   cmnFlags        common request flags
   97  * @param[in]   serviceCmdFlags service command flahgs
   98  *
   99  * @return
  100  *      None
  101  *
  102  *****************************************/
  103 void SalQatMsg_CmnHdrWrite(icp_qat_fw_comn_req_t *pMsg,
  104                            icp_qat_fw_comn_request_id_t serviceType,
  105                            uint8_t serviceCmdId,
  106                            icp_qat_fw_comn_flags cmnFlags,
  107                            icp_qat_fw_serv_specif_flags serviceCmdFlags);
  108 
  109 /********************************************************************
  110  * @ingroup SalQatMsg_CmnMidWrite
  111  *
  112  * @description
  113  *      This function fills in all fields in the icp_qat_fw_comn_req_mid_t
  114  *      section of the Request Msg and the corresponding SGL/Flat flag
  115  *      in the Hdr.
  116  *
  117  * @param[in]   pReq            Pointer to 128B Request Msg buffer
  118  * @param[in]   pOpaqueData     Pointer to opaque data used by callback
  119  * @param[in]   bufferFormat    src and dst Buffers are either SGL or Flat
  120  format
  121  * @param[in]   pSrcBuffer      Address of source buffer
  122  * @param[in]   pDstBuffer      Address of destination buffer
  123  * @param[in]   pSrcLength      Length of source buffer
  124  * @param[in]   pDstLength      Length of destination buffer
  125  *
  126 
  127  * @assumptions
  128  *      All fields in mid section are zero before fn is called
  129 
  130  * @return
  131  *      None
  132  *
  133  *****************************************/
  134 void SalQatMsg_CmnMidWrite(icp_qat_fw_la_bulk_req_t *pReq,
  135                            const void *pOpaqueData,
  136                            Cpa8U bufferFormat,
  137                            Cpa64U srcBuffer,
  138                            Cpa64U dstBuffer,
  139                            Cpa32U srcLength,
  140                            Cpa32U dstLength);
  141 
  142 /********************************************************************
  143  * @ingroup SalQatMsg_ContentDescHdrWrite
  144  *
  145  * @description
  146  *      This function fills in all fields in the
  147  *icp_qat_fw_comn_req_hdr_cd_pars_t
  148  *      section of the Request Msg.
  149  *
  150  * @param[in]   pMsg            Pointer to 128B Request Msg buffer.
  151  * @param[in]   pContentDescInfo content descripter info.
  152  *
  153  * @return
  154  *      none
  155  *
  156  *****************************************/
  157 void SalQatMsg_ContentDescHdrWrite(
  158     icp_qat_fw_comn_req_t *pMsg,
  159     const sal_qat_content_desc_info_t *pContentDescInfo);
  160 
  161 /********************************************************************
  162  * @ingroup SalQatMsg_CtrlBlkSetToReserved
  163  *
  164  * @description
  165  *      This function set the whole contrle block to a reserved state.
  166  *
  167  * @param[in]   _pMsg            Pointer to 128B Request Msg buffer.
  168  *
  169  * @return
  170  *      none
  171  *
  172  *****************************************/
  173 void SalQatMsg_CtrlBlkSetToReserved(icp_qat_fw_comn_req_t *_pMsg);
  174 
  175 /********************************************************************
  176  * @ingroup SalQatMsg_transPutMsg
  177  *
  178  * @description
  179  *
  180  *
  181  * @param[in]   trans_handle
  182  * @param[in]   pqat_msg
  183  * @param[in]   size_in_lws
  184  * @param[in]   service
  185  *
  186  * @return
  187  *      CpaStatus
  188  *
  189  *****************************************/
  190 CpaStatus SalQatMsg_transPutMsg(icp_comms_trans_handle trans_handle,
  191                                 void *pqat_msg,
  192                                 Cpa32U size_in_lws,
  193                                 Cpa8U service);
  194 
  195 /********************************************************************
  196  * @ingroup SalQatMsg_updateQueueTail
  197  *
  198  * @description
  199  *
  200  *
  201  * @param[in]   trans_handle
  202  *
  203  *
  204  * @return
  205  *      CpaStatus
  206  *
  207  *****************************************/
  208 void SalQatMsg_updateQueueTail(icp_comms_trans_handle trans_hnd);
  209 #endif

Cache object: f564a1f117d5374534ed0f249b45c0e8


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