[meta-intel] [PATCH v2 3/4 dizzy] meta-crystalforest: Alternate cleanfile for QAT v1.6 source repository
venkatasubramanian pattu
venkatasubramanianx.pattu at intel.com
Wed Jul 1 03:42:46 PDT 2015
This patch has dos2unix cleaned file dc_session.h, which is the
replacement for the stained file in QAT v1.6 source repository.
Signed-off-by: venkatasubramanian pattu <venkatasubramanianx.pattu at intel.com>
---
.../recipes-extended/qat/files/dc_session.h | 277 +++++++++++++++++++++
1 file changed, 277 insertions(+)
create mode 100755 meta-crystalforest/recipes-extended/qat/files/dc_session.h
diff --git a/meta-crystalforest/recipes-extended/qat/files/dc_session.h b/meta-crystalforest/recipes-extended/qat/files/dc_session.h
new file mode 100755
index 0000000..b7dc943
--- /dev/null
+++ b/meta-crystalforest/recipes-extended/qat/files/dc_session.h
@@ -0,0 +1,277 @@
+/****************************************************************************
+ *
+ * This file is provided under a dual BSD/GPLv2 license. When using or
+ * redistributing this file, you may do so under either license.
+ *
+ * GPL LICENSE SUMMARY
+ *
+ * Copyright(c) 2007-2013 Intel Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+ * The full GNU General Public License is included in this distribution
+ * in the file called LICENSE.GPL.
+ *
+ * Contact Information:
+ * Intel Corporation
+ *
+ * BSD LICENSE
+ *
+ * Copyright(c) 2007-2013 Intel Corporation. All rights reserved.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Intel Corporation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * version: QAT1.6.L.2.2.0-30
+ *
+ ***************************************************************************/
+
+/**
+ *****************************************************************************
+ * @file dc_session.h
+ *
+ * @ingroup Dc_DataCompression
+ *
+ * @description
+ * Definition of the Data Compression session parameters.
+ *
+ *****************************************************************************/
+#ifndef DC_SESSION_H
+#define DC_SESSION_H
+
+#include "cpa_dc_dp.h"
+#include "icp_adf_transport.h"
+#include "icp_qat_fw_comp.h"
+#include "sal_qat_cmn_msg.h"
+
+/* Defeature Dynamic Compression */
+#define ICP_DC_DYN_NOT_SUPPORTED (1)
+
+/* Maximum number of intermediate buffers SGLs */
+#define DC_MAX_NUM_INTERMEDIATE_BUFFERS (12)
+
+/* Maximum size of the state registers 64 bytes */
+#define DC_QAT_STATE_REGISTERS_MAX_SIZE (64)
+
+/* Size of the history window.
+ * Base 2 logarithm of maximum window size minus 8 */
+#define DC_8K_WINDOW_SIZE (5)
+#define DC_32K_WINDOW_SIZE (7)
+
+/* Context size */
+#define DC_DEFLATE_MAX_CONTEXT_SIZE (49152)
+#define DC_DEFLATE_MEDIUM_CONTEXT_SIZE (40960)
+#define DC_DEFLATE_MIN_CONTEXT_SIZE (32768)
+#define DC_INFLATE_CONTEXT_SIZE (36864)
+
+/* Retrieve the session descriptor pointer from the session context structure
+ * that the user allocates. The pointer to the internally realigned address
+ * is stored at the start of the session context that the user allocates */
+#define DC_SESSION_DESC_FROM_CTX_GET(pSession) \
+ (dc_session_desc_t *) (*(LAC_ARCH_UINT *)pSession)
+
+/* Maximum size for the compression part of the content descriptor */
+#define DC_QAT_COMP_CONTENT_DESC_SIZE \
+ sizeof(icp_qat_fw_comp_cd_hdr_t)
+
+/* Maximum size for the translator part of the content descriptor */
+#define DC_QAT_TRANS_CONTENT_DESC_SIZE \
+ (sizeof(icp_qat_fw_xlt_cd_hdr_t) + DC_QAT_MAX_TRANS_SETUP_BLK_SZ)
+
+/* Maximum size of the decompression content descriptor */
+#define DC_QAT_CONTENT_DESC_DECOMP_MAX_SIZE LAC_ALIGN_POW2_ROUNDUP( \
+ DC_QAT_COMP_CONTENT_DESC_SIZE, \
+ (1 << LAC_64BYTE_ALIGNMENT_SHIFT))
+
+/* Maximum size of the compression content descriptor */
+#define DC_QAT_CONTENT_DESC_COMP_MAX_SIZE LAC_ALIGN_POW2_ROUNDUP( \
+ DC_QAT_COMP_CONTENT_DESC_SIZE + \
+ DC_QAT_TRANS_CONTENT_DESC_SIZE, \
+ (1 << LAC_64BYTE_ALIGNMENT_SHIFT))
+
+/* Direction of the request */
+typedef enum dc_request_dir_e
+{
+ DC_COMPRESSION_REQUEST = 1,
+ DC_DECOMPRESSION_REQUEST
+} dc_request_dir_t;
+
+/* Type of the compression request */
+typedef enum dc_request_type_e
+{
+ DC_REQUEST_FIRST = 1,
+ DC_REQUEST_SUBSEQUENT
+} dc_request_type_t;
+
+/* Session descriptor structure for compression */
+typedef struct dc_session_desc_s
+{
+ Cpa8U stateRegistersComp[DC_QAT_STATE_REGISTERS_MAX_SIZE];
+ /**< State registers for compression */
+ Cpa8U stateRegistersDecomp[DC_QAT_STATE_REGISTERS_MAX_SIZE];
+ /**< State registers for decompression */
+ icp_qat_fw_comp_req_t reqCacheComp;
+ /**< Cache as much as possible of the compression request in a pre-built
+ * request */
+ icp_qat_fw_comp_req_t reqCacheDecomp;
+ /**< Cache as much as possible of the decompression request in a pre-built
+ * request */
+ dc_request_type_t requestType;
+ /**< Type of the compression request. As stateful mode do not support more
+ * than one in-flight request there is no need to use spinlocks */
+ dc_request_type_t previousRequestType;
+ /**< Type of the previous compression request. Used in cases where there the
+ * stateful operation needs to be resubmitted */
+ CpaDcHuffType huffType;
+ /**< Huffman tree type */
+ CpaDcCompType compType;
+ /**< Compression type */
+ CpaDcChecksum checksumType;
+ /**< Type of checksum */
+ CpaDcAutoSelectBest autoSelectBestHuffmanTree;
+ /**< Indicates if the implementation selects the best Huffman encoding */
+ CpaDcSessionDir sessDirection;
+ /**< Session direction */
+ CpaDcSessionState sessState;
+ /**< Session state */
+ Cpa32U deflateWindowSize;
+ /**< Window size */
+ CpaDcCompLvl compLevel;
+ /**< Compression level */
+ CpaDcCallbackFn pCompressionCb;
+ /**< Callback function defined for the traditional compression session */
+ OsalAtomic pendingStatelessCbCount;
+ /**< Keeps track of number of pending requests on stateless session */
+ OsalAtomic pendingStatefulCbCount;
+ /**< Keeps track of number of pending requests on stateful session */
+ Cpa64U pendingDpStatelessCbCount;
+ /**< Keeps track of number of data plane pending requests on stateless
+ * session */
+ lac_lock_t sessionLock;
+ /**< Lock used to provide exclusive access for number of stateful in-flight
+ * requests update */
+ CpaBoolean isDcDp;
+ /**< Indicates if the data plane API is used */
+ Cpa32U minContextSize;
+ /**< Indicates the minimum size required to allocate the context buffer */
+ CpaBufferList *pContextBuffer;
+ /**< Context buffer */
+ Cpa32U historyBuffSize;
+ /**< Size of the history buffer */
+ Cpa64U cumulativeConsumedBytes;
+ /**< Cumulative amount of consumed bytes. Used to build the footer in the
+ * stateful case */
+ Cpa32U previousChecksum;
+ /**< Save the previous value of the checksum. Used to process zero byte
+ * stateful compression or decompression requests */
+ CpaBoolean isSopForCompressionProcessed;
+ /**< Indicates whether a Compression Request is received in this session */
+ CpaBoolean isSopForDecompressionProcessed;
+ /**< Indicates whether a Decompression Request is received in this session */
+#ifdef ICP_LOG_COMP_DATA
+ Cpa32U requestCount;
+ Cpa32U sessionCount;
+ CpaBoolean errorWasFound;
+#endif
+} dc_session_desc_t;
+
+/**
+ *****************************************************************************
+ * @ingroup Dc_DataCompression
+ * Initialise a compression session
+ *
+ * @description
+ * This function will initialise a compression session
+ *
+ * @param[in] dcInstance Instance handle derived from discovery
+ * functions
+ * @param[in,out] pSessionHandle Pointer to a session handle
+ * @param[in,out] pSessionData Pointer to a user instantiated structure
+ * containing session data
+ * @param[in] pContextBuffer Pointer to context buffer
+ *
+ * @param[in] callbackFn For synchronous operation this callback
+ * shall be a null pointer
+ *
+ * @retval CPA_STATUS_SUCCESS Function executed successfully
+ * @retval CPA_STATUS_FAIL Function failed
+ * @retval CPA_STATUS_INVALID_PARAM Invalid parameter passed in
+ * @retval CPA_STATUS_RESOURCE Error related to system resources
+ *****************************************************************************/
+CpaStatus
+dcInitSession(CpaInstanceHandle dcInstance,
+ CpaDcSessionHandle pSessionHandle,
+ CpaDcSessionSetupData* pSessionData,
+ CpaBufferList *pContextBuffer,
+ CpaDcCallbackFn callbackFn);
+
+/**
+ *****************************************************************************
+ * @ingroup Dc_DataCompression
+ * Get the size of the memory required to hold the session information
+ *
+ * @description
+ * This function will get the size of the memory required to hold the
+ * session information
+ *
+ * @param[in] dcInstance Instance handle derived from discovery
+ * functions
+ * @param[in] pSessionData Pointer to a user instantiated structure
+ * containing session data
+ * @param[out] pSessionSize On return, this parameter will be the size
+ * of the memory that will be
+ * required by cpaDcInitSession() for session
+ * data.
+ * @param[out] pContextSize On return, this parameter will be the size
+ * of the memory that will be required
+ * for context data. Context data is
+ * save/restore data including history and
+ * any implementation specific data that is
+ * required for a save/restore operation.
+ *
+ * @retval CPA_STATUS_SUCCESS Function executed successfully
+ * @retval CPA_STATUS_FAIL Function failed
+ * @retval CPA_STATUS_INVALID_PARAM Invalid parameter passed in
+ *****************************************************************************/
+CpaStatus
+dcGetSessionSize(CpaInstanceHandle dcInstance,
+ CpaDcSessionSetupData* pSessionData,
+ Cpa32U* pSessionSize,
+ Cpa32U* pContextSize);
+
+#endif /* DC_SESSION_H */
--
1.9.1
More information about the meta-intel
mailing list