Lines Matching refs:bundle

9 adf_cfg_is_interrupt_mode(struct adf_cfg_bundle *bundle)  in adf_cfg_is_interrupt_mode()  argument
11 return (bundle->polling_mode == ADF_CFG_RESP_EPOLL) || in adf_cfg_is_interrupt_mode()
12 (bundle->type == KERNEL && in adf_cfg_is_interrupt_mode()
13 (bundle->polling_mode != ADF_CFG_RESP_POLL)); in adf_cfg_is_interrupt_mode()
17 adf_cfg_can_be_shared(struct adf_cfg_bundle *bundle, in adf_cfg_can_be_shared() argument
21 if (adf_cfg_is_free(bundle)) in adf_cfg_can_be_shared()
24 if (bundle->polling_mode != polling_mode) in adf_cfg_can_be_shared()
27 return !adf_cfg_is_interrupt_mode(bundle) || in adf_cfg_can_be_shared()
29 bundle->sections[0], in adf_cfg_can_be_shared()
34 adf_cfg_is_free(struct adf_cfg_bundle *bundle) in adf_cfg_is_free() argument
36 return bundle->type == FREE; in adf_cfg_is_free()
41 struct adf_cfg_bundle *bundle, in adf_cfg_get_free_instance() argument
48 if (adf_cfg_can_be_shared(bundle, process_name, inst->polling_mode)) { in adf_cfg_get_free_instance()
55 if (bundle->number == device->instances[i]->bundle && in adf_cfg_get_free_instance()
64 if ((bundle->number + 1) == in adf_cfg_get_free_instance()
65 device->instances[i]->bundle) in adf_cfg_get_free_instance()
74 adf_cfg_get_ring_pairs_from_bundle(struct adf_cfg_bundle *bundle, in adf_cfg_get_ring_pairs_from_bundle() argument
80 adf_cfg_is_interrupt_mode(bundle)) { in adf_cfg_get_ring_pairs_from_bundle()
102 strlcpy(bundle->sections[bundle->section_index], in adf_cfg_get_ring_pairs_from_bundle()
105 bundle->section_index++; in adf_cfg_get_ring_pairs_from_bundle()
107 if (adf_cfg_is_free(bundle)) { in adf_cfg_get_ring_pairs_from_bundle()
108 bundle->polling_mode = inst->polling_mode; in adf_cfg_get_ring_pairs_from_bundle()
109 bundle->type = (!strcmp(ADF_KERNEL_SEC, process_name) || in adf_cfg_get_ring_pairs_from_bundle()
113 if (adf_cfg_is_interrupt_mode(bundle)) { in adf_cfg_get_ring_pairs_from_bundle()
114 CPU_ZERO(&bundle->affinity_mask); in adf_cfg_get_ring_pairs_from_bundle()
115 CPU_COPY(&inst->affinity_mask, &bundle->affinity_mask); in adf_cfg_get_ring_pairs_from_bundle()
146 inst->bundle = bundle->number; in adf_cfg_get_ring_pairs_from_bundle()
152 adf_cfg_init_and_insert_inst(struct adf_cfg_bundle *bundle, in adf_cfg_init_and_insert_inst() argument
167 for (ring_pair_index = 0; ring_pair_index < bundle->max_cfg_svc_num; in adf_cfg_init_and_insert_inst()
170 bundle->number, in adf_cfg_init_and_insert_inst()
183 crypto_instance_init(cfg_instance, bundle); in adf_cfg_init_and_insert_inst()
186 dc_instance_init(cfg_instance, bundle); in adf_cfg_init_and_insert_inst()
189 asym_instance_init(cfg_instance, bundle); in adf_cfg_init_and_insert_inst()
192 sym_instance_init(cfg_instance, bundle); in adf_cfg_init_and_insert_inst()
205 cfg_instance->bundle = bank_num; in adf_cfg_init_and_insert_inst()
221 adf_cfg_bundle_init(struct adf_cfg_bundle *bundle, in adf_cfg_bundle_init() argument
228 bundle->number = bank_num; in adf_cfg_bundle_init()
230 adf_cfg_init_ring2serv_mapping(accel_dev, bundle, device); in adf_cfg_bundle_init()
233 adf_cfg_init_and_insert_inst(bundle, device, bank_num, accel_dev); in adf_cfg_bundle_init()
235 CPU_FILL(&bundle->affinity_mask); in adf_cfg_bundle_init()
236 bundle->type = FREE; in adf_cfg_bundle_init()
237 bundle->polling_mode = -1; in adf_cfg_bundle_init()
238 bundle->section_index = 0; in adf_cfg_bundle_init()
240 bundle->sections = malloc(sizeof(char *) * bundle->max_section, in adf_cfg_bundle_init()
244 for (i = 0; i < bundle->max_section; i++) { in adf_cfg_bundle_init()
245 bundle->sections[i] = in adf_cfg_bundle_init()
252 adf_cfg_bundle_clear(struct adf_cfg_bundle *bundle, in adf_cfg_bundle_clear() argument
257 for (i = 0; i < bundle->max_section; i++) { in adf_cfg_bundle_clear()
258 if (bundle->sections && bundle->sections[i]) { in adf_cfg_bundle_clear()
259 free(bundle->sections[i], M_QAT); in adf_cfg_bundle_clear()
260 bundle->sections[i] = NULL; in adf_cfg_bundle_clear()
264 free(bundle->sections, M_QAT); in adf_cfg_bundle_clear()
265 bundle->sections = NULL; in adf_cfg_bundle_clear()
267 adf_cfg_rel_ring2serv_mapping(bundle); in adf_cfg_bundle_clear()
272 struct adf_cfg_bundle *bundle, in adf_cfg_assign_serv_to_rings() argument
278 int num_req_rings = bundle->num_of_rings / 2; in adf_cfg_assign_serv_to_rings()
281 for (ring_pair_index = 0; ring_pair_index < bundle->max_cfg_svc_num; in adf_cfg_assign_serv_to_rings()
284 bundle->number, in adf_cfg_assign_serv_to_rings()
292 ASSIGN_SERV_TO_RINGS(bundle, in adf_cfg_assign_serv_to_rings()
299 if (ring_pair_index == bundle->max_cfg_svc_num) in adf_cfg_assign_serv_to_rings()
301 ASSIGN_SERV_TO_RINGS(bundle, in adf_cfg_assign_serv_to_rings()
308 ASSIGN_SERV_TO_RINGS(bundle, in adf_cfg_assign_serv_to_rings()
315 ASSIGN_SERV_TO_RINGS(bundle, in adf_cfg_assign_serv_to_rings()
322 ASSIGN_SERV_TO_RINGS(bundle, in adf_cfg_assign_serv_to_rings()
329 ASSIGN_SERV_TO_RINGS(bundle, in adf_cfg_assign_serv_to_rings()
349 struct adf_cfg_bundle *bundle, in adf_cfg_init_ring2serv_mapping() argument
356 bundle->num_of_rings = hw_data->num_rings_per_bank; in adf_cfg_init_ring2serv_mapping()
358 bundle->max_cfg_svc_num = ADF_CFG_NUM_SERVICES; in adf_cfg_init_ring2serv_mapping()
360 bundle->max_cfg_svc_num = 1; in adf_cfg_init_ring2serv_mapping()
362 bundle->rings = in adf_cfg_init_ring2serv_mapping()
363 malloc(bundle->num_of_rings * sizeof(struct adf_cfg_ring *), in adf_cfg_init_ring2serv_mapping()
367 for (ring_num = 0; ring_num < bundle->num_of_rings; ring_num++) { in adf_cfg_init_ring2serv_mapping()
372 (ring_num < bundle->num_of_rings / 2) ? TX : RX; in adf_cfg_init_ring2serv_mapping()
374 bundle->rings[ring_num] = ring_in_bundle; in adf_cfg_init_ring2serv_mapping()
377 adf_cfg_assign_serv_to_rings(hw_data, bundle, device); in adf_cfg_init_ring2serv_mapping()
383 adf_cfg_rel_ring2serv_mapping(struct adf_cfg_bundle *bundle) in adf_cfg_rel_ring2serv_mapping() argument
387 if (bundle->rings) { in adf_cfg_rel_ring2serv_mapping()
388 for (i = 0; i < bundle->num_of_rings; i++) in adf_cfg_rel_ring2serv_mapping()
389 free(bundle->rings[i], M_QAT); in adf_cfg_rel_ring2serv_mapping()
391 free(bundle->rings, M_QAT); in adf_cfg_rel_ring2serv_mapping()