1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* Copyright(c) 2023 Intel Corporation */ 3 #ifndef _ADF_CFG_SERVICES_H_ 4 #define _ADF_CFG_SERVICES_H_ 5 6 #include "adf_cfg_strings.h" 7 8 struct adf_accel_dev; 9 10 enum adf_base_services { 11 SVC_ASYM = 0, 12 SVC_SYM, 13 SVC_DC, 14 SVC_DECOMP, 15 SVC_BASE_COUNT 16 }; 17 18 enum adf_extended_services { 19 SVC_DCC = SVC_BASE_COUNT, 20 SVC_COUNT 21 }; 22 23 enum adf_composed_services { 24 SVC_SYM_ASYM = SVC_COUNT, 25 SVC_SYM_DC, 26 SVC_ASYM_DC, 27 }; 28 29 enum { 30 ADF_ONE_SERVICE = 1, 31 ADF_TWO_SERVICES, 32 ADF_THREE_SERVICES, 33 }; 34 35 #define MAX_NUM_CONCURR_SVC ADF_THREE_SERVICES 36 37 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