Lines Matching +full:firmware +full:- +full:name
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright(c) 2021-2022 Intel Corporation. All rights reserved.
14 #include <linux/firmware.h>
18 #include <sound/soc-component.h>
36 * struct avs_dsp_ops - Platform-specific DSP operations
52 int (* const load_basefw)(struct avs_dev *, struct firmware *);
53 int (* const load_lib)(struct avs_dev *, struct firmware *, u32);
65 ((adev)->spec->dsp_ops->op(adev, ## __VA_ARGS__))
74 ((adev)->spec->attributes & AVS_PLATATTR_##attr)
78 const char *name; member
91 char *name; member
92 const struct firmware *fw;
98 * struct avs_dev - Intel HD-Audio driver data
102 * @spec: platform-specific descriptor
103 * @fw_cfg: Firmware configuration, obtained through FW_CONFIG message
105 * @mods_info: Available module-types, obtained through MODULES_INFO message
106 * @mod_idas: Module instance ID pool, one per module-type
109 * @fw_list: List of libraries loaded, including base firmware
185 * struct avs_ipc - DSP IPC context
190 * @ready: whether firmware is ready and communication is open
194 * @done_completion: DONE-part of IPC i.e. ROM and ACKs from FW
195 * @busy_completion: BUSY-part of IPC i.e. receiving responses from FW
219 * IPC handlers may return positive value (firmware error code) what denotes
220 * successful HOST <-> DSP communication yet failure to process specific request.
223 * All IPC callers MUST use it as soon as firmware error code is consumed.
226 (((ret) <= 0) ? (ret) : -AVS_EIPC)
232 struct avs_ipc_msg *reply, int timeout, const char *name);
234 struct avs_ipc_msg *reply, const char *name);
238 const char *name);
240 struct avs_ipc_msg *reply, bool wake_d0i0, const char *name);
242 const char *name);
243 int avs_dsp_send_rom_msg(struct avs_dev *adev, struct avs_ipc_msg *request, const char *name);
253 /* Firmware resources management */
264 int avs_request_firmware(struct avs_dev *adev, const struct firmware **fw_p, const char *name);
277 /* Firmware loading */
287 int avs_cldma_load_basefw(struct avs_dev *adev, struct firmware *fw);
288 int avs_cldma_load_library(struct avs_dev *adev, struct firmware *lib, u32 id);
291 int avs_hda_load_basefw(struct avs_dev *adev, struct firmware *fw);
292 int avs_hda_load_library(struct avs_dev *adev, struct firmware *lib, u32 id);
310 int avs_soc_component_register(struct device *dev, const char *name,
313 int avs_dmic_platform_register(struct avs_dev *adev, const char *name);
314 int avs_i2s_platform_register(struct avs_dev *adev, const char *name, unsigned long port_mask,
316 int avs_hda_platform_register(struct avs_dev *adev, const char *name);
321 /* Firmware tracing helpers */
324 ((adev)->fw_cfg.trace_log_bytes / (adev)->hw_cfg.dsp_cores)
338 spin_lock_irqsave(&adev->trace_lock, flags); in avs_log_buffer_status_locked()
340 spin_unlock_irqrestore(&adev->trace_lock, flags); in avs_log_buffer_status_locked()
352 (avs_log_buffer_size(adev) - sizeof(struct apl_log_buffer_layout))
358 #define AVS_SET_ENABLE_LOGS_OP(name) \ argument
359 .enable_logs = name##_enable_logs
365 int avs_probe_platform_register(struct avs_dev *adev, const char *name);
370 #define AVS_SET_ENABLE_LOGS_OP(name) argument
386 static inline int avs_probe_platform_register(struct avs_dev *adev, const char *name) in avs_probe_platform_register() argument