Home
last modified time | relevance | path

Searched refs:skl (Results 1 – 20 of 20) sorted by relevance

/sound/soc/intel/skylake/
Dskl.c56 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 …]
Dbxt-sst.c49 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 …]
Dskl-messages.c39 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 …]
DMakefile2 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
Dskl-sst.c69 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 …]
Dskl-topology.c50 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 …]
Dskl.h161 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 …]
Dskl-sst-utils.c101 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 …]
Dskl-nhlt.c82 *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 …]
Dskl-pcm.c113 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 …]
Dskl-sst-dsp.c36 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 …]
Dskl-sst-dsp.h231 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,
Dskl-topology.h451 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 …]
Dskl-debug.c23 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()
Dcnl-sst.c476 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()
Dskl-sst-ipc.c348 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 …]
Dcnl-sst-dsp.h100 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);
Dskl-ssp-clk.c105 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()
Dskl-sst-ipc.h160 int skl_ipc_init(struct device *dev, struct skl_dev *skl);
/sound/soc/intel/common/
DMakefile6 soc-acpi-intel-skl-match.o soc-acpi-intel-kbl-match.o \