Lines Matching +full:module +full:- +full:instance

1 // SPDX-License-Identifier: GPL-2.0-only
3 // Copyright(c) 2021-2022 Intel Corporation. All rights reserved.
163 * avs_ipc_init_instance - Initialize module instance
166 * @module_id: Module-type id
167 * @instance_id: Unique module instance id
169 * @core_id: DSP core to allocate module on
171 * @param: Module-type specific configuration
178 * can be composed of module instances located on different DSP cores.
202 avs_ipc_err(adev, &request, "init instance", ret); in avs_ipc_init_instance()
208 * avs_ipc_delete_instance - Delete module instance
211 * @module_id: Module-type id
212 * @instance_id: Unique module instance id
233 avs_ipc_err(adev, &request, "delete instance", ret); in avs_ipc_delete_instance()
239 * avs_ipc_bind - Bind two module instances
242 * @module_id: Source module-type id
243 * @instance_id: Source module instance id
244 * @dst_module_id: Sink module-type id
245 * @dst_instance_id: Sink module instance id
246 * @dst_queue: Sink module pin to bind @src_queue with
247 * @src_queue: Source module pin to bind @dst_queue with
273 * avs_ipc_unbind - Unbind two module instances
276 * @module_id: Source module-type id
277 * @instance_id: Source module instance id
278 * @dst_module_id: Sink module-type id
279 * @dst_instance_id: Sink module instance id
280 * @dst_queue: Sink module pin to unbind @src_queue from
281 * @src_queue: Source module pin to unbind @dst_queue from
351 remaining -= tx_size; in avs_ipc_set_large_config()
357 offset = request_size - remaining; in avs_ipc_set_large_config()
368 remaining -= tx_size; in avs_ipc_set_large_config()
386 return -ENOMEM; in avs_ipc_get_large_config()
411 return -ENOMEM; in avs_ipc_get_large_config()
441 * avs_ipc_set_d0ix - Set power gating policy (entering D0IX substates)
477 /* Non-zero payload expected for FIRMWARE_CONFIG. */ in avs_ipc_get_fw_config()
479 return -EREMOTEIO; in avs_ipc_get_fw_config()
484 switch (tlv->type) { in avs_ipc_get_fw_config()
486 memcpy(&cfg->fw_version, tlv->value, sizeof(cfg->fw_version)); in avs_ipc_get_fw_config()
490 cfg->memory_reclaimed = *tlv->value; in avs_ipc_get_fw_config()
494 cfg->slow_clock_freq_hz = *tlv->value; in avs_ipc_get_fw_config()
498 cfg->fast_clock_freq_hz = *tlv->value; in avs_ipc_get_fw_config()
502 cfg->alh_support = *tlv->value; in avs_ipc_get_fw_config()
506 cfg->ipc_dl_mailbox_bytes = *tlv->value; in avs_ipc_get_fw_config()
510 cfg->ipc_ul_mailbox_bytes = *tlv->value; in avs_ipc_get_fw_config()
514 cfg->trace_log_bytes = *tlv->value; in avs_ipc_get_fw_config()
518 cfg->max_ppl_count = *tlv->value; in avs_ipc_get_fw_config()
522 cfg->max_astate_count = *tlv->value; in avs_ipc_get_fw_config()
526 cfg->max_module_pin_count = *tlv->value; in avs_ipc_get_fw_config()
530 cfg->modules_count = *tlv->value; in avs_ipc_get_fw_config()
534 cfg->max_mod_inst_count = *tlv->value; in avs_ipc_get_fw_config()
538 cfg->max_ll_tasks_per_pri_count = *tlv->value; in avs_ipc_get_fw_config()
542 cfg->ll_pri_count = *tlv->value; in avs_ipc_get_fw_config()
546 cfg->max_dp_tasks_count = *tlv->value; in avs_ipc_get_fw_config()
550 cfg->max_libs_count = *tlv->value; in avs_ipc_get_fw_config()
554 cfg->xtal_freq_hz = *tlv->value; in avs_ipc_get_fw_config()
558 cfg->power_gating_policy = *tlv->value; in avs_ipc_get_fw_config()
569 dev_info(adev->dev, "Unrecognized fw param: %d\n", tlv->type); in avs_ipc_get_fw_config()
573 offset += sizeof(*tlv) + tlv->length; in avs_ipc_get_fw_config()
594 /* Non-zero payload expected for HARDWARE_CONFIG. */ in avs_ipc_get_hw_config()
596 return -EREMOTEIO; in avs_ipc_get_hw_config()
601 switch (tlv->type) { in avs_ipc_get_hw_config()
603 cfg->avs_version = *tlv->value; in avs_ipc_get_hw_config()
607 cfg->dsp_cores = *tlv->value; in avs_ipc_get_hw_config()
611 cfg->mem_page_bytes = *tlv->value; in avs_ipc_get_hw_config()
615 cfg->total_phys_mem_pages = *tlv->value; in avs_ipc_get_hw_config()
619 cfg->i2s_caps.i2s_version = tlv->value[0]; in avs_ipc_get_hw_config()
620 size = tlv->value[1]; in avs_ipc_get_hw_config()
621 cfg->i2s_caps.ctrl_count = size; in avs_ipc_get_hw_config()
626 size *= sizeof(*cfg->i2s_caps.ctrl_base_addr); in avs_ipc_get_hw_config()
627 cfg->i2s_caps.ctrl_base_addr = devm_kmemdup(adev->dev, in avs_ipc_get_hw_config()
628 &tlv->value[2], in avs_ipc_get_hw_config()
630 if (!cfg->i2s_caps.ctrl_base_addr) { in avs_ipc_get_hw_config()
631 ret = -ENOMEM; in avs_ipc_get_hw_config()
637 cfg->gateway_count = *tlv->value; in avs_ipc_get_hw_config()
641 cfg->hp_ebb_count = *tlv->value; in avs_ipc_get_hw_config()
645 cfg->lp_ebb_count = *tlv->value; in avs_ipc_get_hw_config()
649 cfg->ebb_size_bytes = *tlv->value; in avs_ipc_get_hw_config()
656 dev_info(adev->dev, "Unrecognized hw config: %d\n", tlv->type); in avs_ipc_get_hw_config()
660 offset += sizeof(*tlv) + tlv->length; in avs_ipc_get_hw_config()
680 /* Non-zero payload expected for MODULES_INFO. */ in avs_ipc_get_modules_info()
682 return -EREMOTEIO; in avs_ipc_get_modules_info()
724 /* Non-zero payload expected for PEAKVOL_VOLUME. */ in avs_ipc_peakvol_get_volume()
726 return -EREMOTEIO; in avs_ipc_peakvol_get_volume()