0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include "../sof-priv.h"
0014 #include "hda.h"
0015 #include "../sof-audio.h"
0016
0017 struct snd_sof_dsp_ops sof_hda_common_ops = {
0018
0019 .probe = hda_dsp_probe,
0020 .remove = hda_dsp_remove,
0021
0022
0023 .write = sof_io_write,
0024 .read = sof_io_read,
0025 .write64 = sof_io_write64,
0026 .read64 = sof_io_read64,
0027
0028
0029 .block_read = sof_block_read,
0030 .block_write = sof_block_write,
0031
0032
0033 .mailbox_read = sof_mailbox_read,
0034 .mailbox_write = sof_mailbox_write,
0035
0036
0037 .get_mailbox_offset = hda_dsp_ipc_get_mailbox_offset,
0038 .get_window_offset = hda_dsp_ipc_get_window_offset,
0039
0040 .ipc_msg_data = hda_ipc_msg_data,
0041 .set_stream_data_offset = hda_set_stream_data_offset,
0042
0043
0044 .machine_select = hda_machine_select,
0045 .machine_register = sof_machine_register,
0046 .machine_unregister = sof_machine_unregister,
0047 .set_mach_params = hda_set_mach_params,
0048
0049
0050 .dbg_dump = hda_dsp_dump,
0051 .debugfs_add_region_item = snd_sof_debugfs_add_region_item_iomem,
0052
0053
0054 .pcm_open = hda_dsp_pcm_open,
0055 .pcm_close = hda_dsp_pcm_close,
0056 .pcm_hw_params = hda_dsp_pcm_hw_params,
0057 .pcm_hw_free = hda_dsp_stream_hw_free,
0058 .pcm_trigger = hda_dsp_pcm_trigger,
0059 .pcm_pointer = hda_dsp_pcm_pointer,
0060 .pcm_ack = hda_dsp_pcm_ack,
0061
0062
0063 .load_firmware = snd_sof_load_firmware_raw,
0064
0065
0066 .pre_fw_run = hda_dsp_pre_fw_run,
0067
0068
0069 .run = hda_dsp_cl_boot_firmware,
0070
0071
0072 .parse_platform_ext_manifest = hda_dsp_ext_man_get_cavs_config_data,
0073
0074
0075
0076
0077 .trace_init = hda_dsp_trace_init,
0078 .trace_release = hda_dsp_trace_release,
0079 .trace_trigger = hda_dsp_trace_trigger,
0080
0081
0082 .register_ipc_clients = hda_register_clients,
0083 .unregister_ipc_clients = hda_unregister_clients,
0084
0085
0086 .drv = skl_dai,
0087 .num_drv = SOF_SKL_NUM_DAIS,
0088
0089
0090 .suspend = hda_dsp_suspend,
0091 .resume = hda_dsp_resume,
0092 .runtime_suspend = hda_dsp_runtime_suspend,
0093 .runtime_resume = hda_dsp_runtime_resume,
0094 .runtime_idle = hda_dsp_runtime_idle,
0095 .set_hw_params_upon_resume = hda_dsp_set_hw_params_upon_resume,
0096 .set_power_state = hda_dsp_set_power_state,
0097
0098
0099 .hw_info = SNDRV_PCM_INFO_MMAP |
0100 SNDRV_PCM_INFO_MMAP_VALID |
0101 SNDRV_PCM_INFO_INTERLEAVED |
0102 SNDRV_PCM_INFO_PAUSE |
0103 SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
0104
0105 .dsp_arch_ops = &sof_xtensa_arch_ops,
0106 };