xref: /linux/drivers/crypto/intel/qat/qat_common/adf_cfg_services.h (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
171713766SGiovanni Cabiddu /* SPDX-License-Identifier: GPL-2.0-only */
271713766SGiovanni Cabiddu /* Copyright(c) 2023 Intel Corporation */
371713766SGiovanni Cabiddu #ifndef _ADF_CFG_SERVICES_H_
471713766SGiovanni Cabiddu #define _ADF_CFG_SERVICES_H_
571713766SGiovanni Cabiddu 
671713766SGiovanni Cabiddu #include "adf_cfg_strings.h"
771713766SGiovanni Cabiddu 
84db87a5fSJie Wang struct adf_accel_dev;
94db87a5fSJie Wang 
1071713766SGiovanni Cabiddu enum adf_base_services {
115ab6c06dSMałgorzata Mielnik 	SVC_ASYM = 0,
125ab6c06dSMałgorzata Mielnik 	SVC_SYM,
1371713766SGiovanni Cabiddu 	SVC_DC,
1437b14f2dSAdam Guerin 	SVC_DECOMP,
155ab6c06dSMałgorzata Mielnik 	SVC_BASE_COUNT
1671713766SGiovanni Cabiddu };
1771713766SGiovanni Cabiddu 
185ab6c06dSMałgorzata Mielnik enum adf_extended_services {
195ab6c06dSMałgorzata Mielnik 	SVC_DCC = SVC_BASE_COUNT,
205ab6c06dSMałgorzata Mielnik 	SVC_COUNT
215ab6c06dSMałgorzata Mielnik };
225ab6c06dSMałgorzata Mielnik 
2371713766SGiovanni Cabiddu enum adf_composed_services {
245ab6c06dSMałgorzata Mielnik 	SVC_SYM_ASYM = SVC_COUNT,
255ab6c06dSMałgorzata Mielnik 	SVC_SYM_DC,
265ab6c06dSMałgorzata Mielnik 	SVC_ASYM_DC,
275ab6c06dSMałgorzata Mielnik };
285ab6c06dSMałgorzata Mielnik 
295ab6c06dSMałgorzata Mielnik enum {
305ab6c06dSMałgorzata Mielnik 	ADF_ONE_SERVICE = 1,
315ab6c06dSMałgorzata Mielnik 	ADF_TWO_SERVICES,
325ab6c06dSMałgorzata Mielnik 	ADF_THREE_SERVICES,
335ab6c06dSMałgorzata Mielnik };
344db87a5fSJie Wang 
35*61e15287SGiovanni Cabiddu #define MAX_NUM_CONCURR_SVC	ADF_THREE_SERVICES
364db87a5fSJie Wang 
3771713766SGiovanni Cabiddu int adf_parse_service_string(struct adf_accel_dev *accel_dev, const char *in,
38 			     size_t in_len, char *out, size_t out_len);
39 int adf_get_service_enabled(struct adf_accel_dev *accel_dev);
40 int adf_get_service_mask(struct adf_accel_dev *accel_dev, unsigned long *mask);
41 enum adf_cfg_service_type adf_srv_to_cfg_svc_type(enum adf_base_services svc);
42 bool adf_is_service_enabled(struct adf_accel_dev *accel_dev, enum adf_base_services svc);
43 
44 #endif
45