/sound/soc/intel/skylake/ |
D | skl.c | 56 static void skl_init_pci(struct skl_dev *skl) in skl_init_pci() argument 58 struct hdac_bus *bus = skl_to_bus(skl); in skl_init_pci() 68 skl_update_pci_byte(skl->pci, AZX_PCIREG_TCSEL, 0x07, 0); in skl_init_pci() 260 struct skl_dev *skl = bus_to_skl(bus); in skl_acquire_irq() local 263 ret = request_threaded_irq(skl->pci->irq, skl_interrupt, in skl_acquire_irq() 270 skl->pci->irq); in skl_acquire_irq() 274 bus->irq = skl->pci->irq; in skl_acquire_irq() 275 pci_intx(skl->pci, 1); in skl_acquire_irq() 284 struct skl_dev *skl = bus_to_skl(bus); in skl_suspend_late() local 286 return skl_suspend_late_dsp(skl); in skl_suspend_late() [all …]
|
D | bxt-sst.c | 49 struct skl_dev *skl = ctx->thread_context; in bxt_load_library() local 55 ret = skl_prepare_lib_load(skl, &skl->lib_info[i], &stripped_fw, in bxt_load_library() 73 ret = skl_sst_ipc_load_library(&skl->ipc, dma_id, i, true); in bxt_load_library() 184 struct skl_dev *skl = ctx->thread_context; in bxt_load_base_firmware() local 196 if (skl->is_first_boot) { in bxt_load_base_firmware() 232 ret = wait_event_timeout(skl->boot_wait, skl->boot_complete, in bxt_load_base_firmware() 240 skl->fw_loaded = true; in bxt_load_base_firmware() 268 struct skl_dev *skl = ctx->thread_context; in bxt_d0i3_target_state() local 269 struct skl_d0i3_data *d0i3 = &skl->d0i3; in bxt_d0i3_target_state() 271 if (skl->cores.state[SKL_DSP_CORE0_ID] != SKL_DSP_RUNNING) in bxt_d0i3_target_state() [all …]
|
D | skl-messages.c | 39 void skl_dsp_set_astate_cfg(struct skl_dev *skl, u32 cnt, void *data) in skl_dsp_set_astate_cfg() argument 47 skl_ipc_set_large_config(&skl->ipc, &msg, data); in skl_dsp_set_astate_cfg() 251 int skl_init_dsp(struct skl_dev *skl) in skl_init_dsp() argument 254 struct hdac_bus *bus = skl_to_bus(skl); in skl_init_dsp() 266 mmio_base = pci_ioremap_bar(skl->pci, 4); in skl_init_dsp() 272 ops = skl_get_dsp_ops(skl->pci->device); in skl_init_dsp() 280 skl->fw_name, loader_ops, in skl_init_dsp() 281 &skl); in skl_init_dsp() 286 skl->dsp_ops = ops; in skl_init_dsp() 287 cores = &skl->cores; in skl_init_dsp() [all …]
|
D | Makefile | 2 snd-soc-skl-objs := skl.o skl-pcm.o skl-nhlt.o skl-messages.o skl-topology.o \ 3 skl-sst-ipc.o skl-sst-dsp.o cnl-sst-dsp.o skl-sst-cldma.o \ 4 skl-sst.o bxt-sst.o cnl-sst.o skl-sst-utils.o 7 snd-soc-skl-objs += skl-debug.o 10 obj-$(CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON) += snd-soc-skl.o 13 snd-soc-skl-ssp-clk-objs := skl-ssp-clk.o 15 obj-$(CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK) += snd-soc-skl-ssp-clk.o
|
D | skl-sst.c | 69 struct skl_dev *skl = ctx->thread_context; in skl_load_base_firmware() local 73 skl->boot_complete = false; in skl_load_base_firmware() 74 init_waitqueue_head(&skl->boot_wait); in skl_load_base_firmware() 85 if (skl->is_first_boot) { in skl_load_base_firmware() 139 ret = wait_event_timeout(skl->boot_wait, skl->boot_complete, in skl_load_base_firmware() 148 skl->fw_loaded = true; in skl_load_base_firmware() 164 struct skl_dev *skl = ctx->thread_context; in skl_set_dsp_D0() local 176 if (skl->lib_count > 1) { in skl_set_dsp_D0() 177 ret = ctx->fw_ops.load_library(ctx, skl->lib_info, in skl_set_dsp_D0() 178 skl->lib_count); in skl_set_dsp_D0() [all …]
|
D | skl-topology.c | 50 void skl_tplg_d0i3_get(struct skl_dev *skl, enum d0i3_capability caps) in skl_tplg_d0i3_get() argument 52 struct skl_d0i3_data *d0i3 = &skl->d0i3; in skl_tplg_d0i3_get() 69 void skl_tplg_d0i3_put(struct skl_dev *skl, enum d0i3_capability caps) in skl_tplg_d0i3_put() argument 71 struct skl_d0i3_data *d0i3 = &skl->d0i3; in skl_tplg_d0i3_put() 114 static void skl_dump_mconfig(struct skl_dev *skl, struct skl_module_cfg *mcfg) in skl_dump_mconfig() argument 118 dev_dbg(skl->dev, "Dumping config\n"); in skl_dump_mconfig() 119 dev_dbg(skl->dev, "Input Format:\n"); in skl_dump_mconfig() 120 dev_dbg(skl->dev, "channels = %d\n", iface->inputs[0].fmt.channels); in skl_dump_mconfig() 121 dev_dbg(skl->dev, "s_freq = %d\n", iface->inputs[0].fmt.s_freq); in skl_dump_mconfig() 122 dev_dbg(skl->dev, "ch_cfg = %d\n", iface->inputs[0].fmt.ch_cfg); in skl_dump_mconfig() [all …]
|
D | skl.h | 161 int (*init_fw)(struct device *dev, struct skl_dev *skl); 162 void (*cleanup)(struct device *dev, struct skl_dev *skl); 168 struct nhlt_specific_cfg *skl_get_ep_blob(struct skl_dev *skl, u32 instance, 172 int skl_nhlt_update_topology_bin(struct skl_dev *skl); 173 int skl_init_dsp(struct skl_dev *skl); 174 int skl_free_dsp(struct skl_dev *skl); 175 int skl_suspend_late_dsp(struct skl_dev *skl); 176 int skl_suspend_dsp(struct skl_dev *skl); 177 int skl_resume_dsp(struct skl_dev *skl); 178 void skl_cleanup_resources(struct skl_dev *skl); [all …]
|
D | skl-sst-utils.c | 101 int skl_get_pvt_instance_id_map(struct skl_dev *skl, in skl_get_pvt_instance_id_map() argument 106 list_for_each_entry(module, &skl->uuid_list, list) { in skl_get_pvt_instance_id_map() 172 int skl_get_pvt_id(struct skl_dev *skl, guid_t *uuid_mod, int instance_id) in skl_get_pvt_id() argument 177 list_for_each_entry(module, &skl->uuid_list, list) { in skl_get_pvt_id() 202 int skl_put_pvt_id(struct skl_dev *skl, guid_t *uuid_mod, int *pvt_id) in skl_put_pvt_id() argument 207 list_for_each_entry(module, &skl->uuid_list, list) { in skl_put_pvt_id() 236 struct skl_dev *skl = ctx->thread_context; in snd_skl_parse_uuids() local 306 list_add_tail(&module->list, &skl->uuid_list); in snd_skl_parse_uuids() 316 skl_freeup_uuid_list(skl); in snd_skl_parse_uuids() 320 void skl_freeup_uuid_list(struct skl_dev *skl) in skl_freeup_uuid_list() argument [all …]
|
D | skl-nhlt.c | 82 *skl_get_ep_blob(struct skl_dev *skl, u32 instance, u8 link_type, in skl_get_ep_blob() argument 88 struct hdac_bus *bus = skl_to_bus(skl); in skl_get_ep_blob() 91 struct nhlt_acpi_table *nhlt = skl->nhlt; in skl_get_ep_blob() 133 int skl_nhlt_update_topology_bin(struct skl_dev *skl) in skl_nhlt_update_topology_bin() argument 135 struct nhlt_acpi_table *nhlt = (struct nhlt_acpi_table *)skl->nhlt; in skl_nhlt_update_topology_bin() 136 struct hdac_bus *bus = skl_to_bus(skl); in skl_nhlt_update_topology_bin() 143 snprintf(skl->tplg_name, sizeof(skl->tplg_name), "%x-%.6s-%.8s-%d%s", in skl_nhlt_update_topology_bin() 144 skl->pci_id, nhlt->header.oem_id, nhlt->header.oem_table_id, in skl_nhlt_update_topology_bin() 147 skl_nhlt_trim_space(skl->tplg_name); in skl_nhlt_update_topology_bin() 157 struct skl_dev *skl = bus_to_skl(bus); in skl_nhlt_platform_id_show() local [all …]
|
D | skl-pcm.c | 113 struct skl_dev *skl = bus_to_skl(bus); in skl_set_suspend_active() local 118 skl->supend_active++; in skl_set_suspend_active() 120 skl->supend_active--; in skl_set_suspend_active() 126 struct skl_dev *skl = bus_to_skl(bus); in skl_pcm_host_dma_prepare() local 155 if (IS_BXT(skl->pci)) { in skl_pcm_host_dma_prepare() 218 struct skl_dev *skl = get_skl_ctx(dai->dev); in skl_pcm_open() local 259 skl_tplg_d0i3_get(skl, mconfig->d0i3_caps); in skl_pcm_open() 267 struct skl_dev *skl = get_skl_ctx(dai->dev); in skl_pcm_prepare() local 284 ret = skl_reset_pipe(skl, mconfig->pipe); in skl_pcm_prepare() 346 struct skl_dev *skl = bus_to_skl(bus); in skl_pcm_close() local [all …]
|
D | skl-sst-dsp.c | 36 struct skl_dev *skl = ctx->thread_context; in skl_dsp_init_core_state() local 39 skl->cores.state[SKL_DSP_CORE0_ID] = SKL_DSP_RUNNING; in skl_dsp_init_core_state() 40 skl->cores.usage_count[SKL_DSP_CORE0_ID] = 1; in skl_dsp_init_core_state() 42 for (i = SKL_DSP_CORE0_ID + 1; i < skl->cores.count; i++) { in skl_dsp_init_core_state() 43 skl->cores.state[i] = SKL_DSP_RESET; in skl_dsp_init_core_state() 44 skl->cores.usage_count[i] = 0; in skl_dsp_init_core_state() 51 struct skl_dev *skl = ctx->thread_context; in skl_dsp_get_enabled_cores() local 55 core_mask = SKL_DSP_CORES_MASK(skl->cores.count); in skl_dsp_get_enabled_cores() 338 struct skl_dev *skl = ctx->thread_context; in skl_dsp_get_core() local 341 if (core_id >= skl->cores.count) { in skl_dsp_get_core() [all …]
|
D | skl-sst-dsp.h | 231 int skl_sst_init_fw(struct device *dev, struct skl_dev *skl); 232 int bxt_sst_init_fw(struct device *dev, struct skl_dev *skl); 233 void skl_sst_dsp_cleanup(struct device *dev, struct skl_dev *skl); 234 void bxt_sst_dsp_cleanup(struct device *dev, struct skl_dev *skl); 238 int skl_get_pvt_id(struct skl_dev *skl, guid_t *uuid_mod, int instance_id); 239 int skl_put_pvt_id(struct skl_dev *skl, guid_t *uuid_mod, int *pvt_id); 240 int skl_get_pvt_instance_id_map(struct skl_dev *skl, 242 void skl_freeup_uuid_list(struct skl_dev *skl); 246 void skl_dsp_set_astate_cfg(struct skl_dev *skl, u32 cnt, void *data); 251 int skl_prepare_lib_load(struct skl_dev *skl, struct skl_lib_info *linfo,
|
D | skl-topology.h | 451 int skl_dsp_set_dma_control(struct skl_dev *skl, u32 *caps, 464 void skl_tplg_d0i3_get(struct skl_dev *skl, enum d0i3_capability caps); 465 void skl_tplg_d0i3_put(struct skl_dev *skl, enum d0i3_capability caps); 467 int skl_create_pipeline(struct skl_dev *skl, struct skl_pipe *pipe); 469 int skl_run_pipe(struct skl_dev *skl, struct skl_pipe *pipe); 471 int skl_pause_pipe(struct skl_dev *skl, struct skl_pipe *pipe); 473 int skl_delete_pipe(struct skl_dev *skl, struct skl_pipe *pipe); 475 int skl_stop_pipe(struct skl_dev *skl, struct skl_pipe *pipe); 477 int skl_reset_pipe(struct skl_dev *skl, struct skl_pipe *pipe); 479 int skl_init_module(struct skl_dev *skl, struct skl_module_cfg *mconfig); [all …]
|
D | skl-debug.c | 23 struct skl_dev *skl; member 177 struct sst_dsp *sst = d->skl->dsp; in fw_softreg_read() 218 struct skl_debug *skl_debugfs_init(struct skl_dev *skl) in skl_debugfs_init() argument 222 d = devm_kzalloc(&skl->pci->dev, sizeof(*d), GFP_KERNEL); in skl_debugfs_init() 227 d->fs = debugfs_create_dir("dsp", skl->component->debugfs_root); in skl_debugfs_init() 229 d->skl = skl; in skl_debugfs_init() 230 d->dev = &skl->pci->dev; in skl_debugfs_init() 241 void skl_debugfs_exit(struct skl_dev *skl) in skl_debugfs_exit() argument 243 struct skl_debug *d = skl->debugfs; in skl_debugfs_exit()
|
D | cnl-sst.c | 476 int cnl_sst_init_fw(struct device *dev, struct skl_dev *skl) in cnl_sst_init_fw() argument 479 struct sst_dsp *sst = skl->dsp; in cnl_sst_init_fw() 481 ret = skl->dsp->fw_ops.load_fw(sst); in cnl_sst_init_fw() 489 skl->is_first_boot = false; in cnl_sst_init_fw() 495 void cnl_sst_dsp_cleanup(struct device *dev, struct skl_dev *skl) in cnl_sst_dsp_cleanup() argument 497 if (skl->dsp->fw) in cnl_sst_dsp_cleanup() 498 release_firmware(skl->dsp->fw); in cnl_sst_dsp_cleanup() 500 skl_freeup_uuid_list(skl); in cnl_sst_dsp_cleanup() 501 cnl_ipc_free(&skl->ipc); in cnl_sst_dsp_cleanup() 503 skl->dsp->ops->free(skl->dsp); in cnl_sst_dsp_cleanup()
|
D | skl-sst-ipc.c | 348 struct skl_dev *skl = container_of(ipc, struct skl_dev, ipc); in skl_ipc_process_notification() local 363 skl->boot_complete = true; in skl_ipc_process_notification() 364 wake_up(&skl->boot_wait); in skl_ipc_process_notification() 376 skl->enable_miscbdcge(ipc->dev, false); in skl_ipc_process_notification() 377 skl->miscbdcg_disabled = true; in skl_ipc_process_notification() 439 struct skl_dev *skl = container_of(ipc, struct skl_dev, ipc); in skl_ipc_process_reply() local 459 skl->mod_load_complete = true; in skl_ipc_process_reply() 460 skl->mod_load_status = true; in skl_ipc_process_reply() 461 wake_up(&skl->mod_load_wait); in skl_ipc_process_reply() 473 skl->mod_load_complete = true; in skl_ipc_process_reply() [all …]
|
D | cnl-sst-dsp.h | 100 int cnl_sst_init_fw(struct device *dev, struct skl_dev *skl); 101 void cnl_sst_dsp_cleanup(struct device *dev, struct skl_dev *skl);
|
D | skl-ssp-clk.c | 105 static int skl_send_clk_dma_control(struct skl_dev *skl, in skl_send_clk_dma_control() argument 156 ret = skl_dsp_set_dma_control(skl, (u32 *)i2s_config, in skl_send_clk_dma_control()
|
D | skl-sst-ipc.h | 160 int skl_ipc_init(struct device *dev, struct skl_dev *skl);
|
/sound/soc/intel/common/ |
D | Makefile | 6 soc-acpi-intel-skl-match.o soc-acpi-intel-kbl-match.o \
|