Lines Matching +full:firmware +full:- +full:name
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright(c) 2021-2022 Intel Corporation
14 #include <linux/firmware.h>
18 #include <sound/soc-component.h>
36 * struct avs_dsp_ops - Platform-specific DSP operations
51 int (* const load_basefw)(struct avs_dev *, struct firmware *);
52 int (* const load_lib)(struct avs_dev *, struct firmware *, u32);
64 ((adev)->spec->dsp_ops->op(adev, ## __VA_ARGS__))
76 ((adev)->spec->attributes & AVS_PLATATTR_##attr)
97 const char *name; member
109 const char *name; member
110 const struct firmware *fw;
116 * struct avs_dev - Intel HD-Audio driver data
120 * @spec: platform-specific descriptor
121 * @fw_cfg: Firmware configuration, obtained through FW_CONFIG message
123 * @mods_info: Available module-types, obtained through MODULES_INFO message
124 * @mod_idas: Module instance ID pool, one per module-type
127 * @fw_list: List of libraries loaded, including base firmware
203 * struct avs_ipc - DSP IPC context
208 * @ready: whether firmware is ready and communication is open
212 * @done_completion: DONE-part of IPC i.e. ROM and ACKs from FW
213 * @busy_completion: BUSY-part of IPC i.e. receiving responses from FW
237 * IPC handlers may return positive value (firmware error code) what denotes
238 * successful HOST <-> DSP communication yet failure to process specific request.
241 * All IPC callers MUST use it as soon as firmware error code is consumed.
244 (((ret) <= 0) ? (ret) : -AVS_EIPC)
248 struct avs_ipc_msg *reply, int timeout, const char *name);
250 struct avs_ipc_msg *reply, const char *name);
254 const char *name);
256 struct avs_ipc_msg *reply, bool wake_d0i0, const char *name);
258 const char *name);
259 int avs_dsp_send_rom_msg(struct avs_dev *adev, struct avs_ipc_msg *request, const char *name);
282 /* Firmware resources management */
293 int avs_request_firmware(struct avs_dev *adev, const struct firmware **fw_p, const char *name);
306 /* Firmware loading */
316 int avs_cldma_load_basefw(struct avs_dev *adev, struct firmware *fw);
317 int avs_cldma_load_library(struct avs_dev *adev, struct firmware *lib, u32 id);
320 int avs_hda_load_basefw(struct avs_dev *adev, struct firmware *fw);
321 int avs_hda_load_library(struct avs_dev *adev, struct firmware *lib, u32 id);
325 int avs_icl_load_basefw(struct avs_dev *adev, struct firmware *fw);
341 int avs_soc_component_register(struct device *dev, const char *name,
344 int avs_dmic_platform_register(struct avs_dev *adev, const char *name);
345 int avs_i2s_platform_register(struct avs_dev *adev, const char *name, unsigned long port_mask,
347 int avs_hda_platform_register(struct avs_dev *adev, const char *name);
352 /* Firmware tracing helpers */
355 ((adev)->fw_cfg.trace_log_bytes / (adev)->hw_cfg.dsp_cores)
369 spin_lock_irqsave(&adev->trace_lock, flags); in avs_log_buffer_status_locked()
371 spin_unlock_irqrestore(&adev->trace_lock, flags); in avs_log_buffer_status_locked()
384 (avs_log_buffer_size(adev) - sizeof(struct avs_apl_log_buffer_layout))
390 #define AVS_SET_ENABLE_LOGS_OP(name) \ argument
391 .enable_logs = avs_##name##_enable_logs
397 int avs_probe_platform_register(struct avs_dev *adev, const char *name);
402 #define AVS_SET_ENABLE_LOGS_OP(name) argument
418 static inline int avs_probe_platform_register(struct avs_dev *adev, const char *name) in avs_probe_platform_register() argument