Home
last modified time | relevance | path

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

/sound/soc/intel/skylake/
Dskl.h48 struct skl { struct
80 container_of(sbus, struct skl, sbus) argument
110 struct nhlt_specific_cfg *skl_get_ep_blob(struct skl *skl, u32 instance,
114 int skl_get_dmic_geo(struct skl *skl);
115 int skl_nhlt_update_topology_bin(struct skl *skl);
116 int skl_init_dsp(struct skl *skl);
117 int skl_free_dsp(struct skl *skl);
118 int skl_suspend_late_dsp(struct skl *skl);
119 int skl_suspend_dsp(struct skl *skl);
120 int skl_resume_dsp(struct skl *skl);
[all …]
Dskl.c55 static void skl_init_pci(struct skl *skl) in skl_init_pci() argument
57 struct hdac_ext_bus *ebus = &skl->ebus; in skl_init_pci()
67 skl_update_pci_byte(skl->pci, AZX_PCIREG_TCSEL, 0x07, 0); in skl_init_pci()
210 struct skl *skl = ebus_to_skl(ebus); in skl_acquire_irq() local
214 ret = request_threaded_irq(skl->pci->irq, skl_interrupt, in skl_acquire_irq()
221 skl->pci->irq); in skl_acquire_irq()
225 bus->irq = skl->pci->irq; in skl_acquire_irq()
226 pci_intx(skl->pci, 1); in skl_acquire_irq()
235 struct skl *skl = ebus_to_skl(ebus); in skl_suspend_late() local
237 return skl_suspend_late_dsp(skl); in skl_suspend_late()
[all …]
DMakefile2 snd-soc-skl-objs := skl.o skl-pcm.o skl-nhlt.o skl-messages.o \
3 skl-topology.o
6 snd-soc-skl-objs += skl-debug.o
9 obj-$(CONFIG_SND_SOC_INTEL_SKYLAKE) += snd-soc-skl.o
12 snd-soc-skl-ipc-objs := skl-sst-ipc.o skl-sst-dsp.o cnl-sst-dsp.o \
13 skl-sst-cldma.o skl-sst.o bxt-sst.o cnl-sst.o \
14 skl-sst-utils.o
16 obj-$(CONFIG_SND_SOC_INTEL_SKYLAKE) += snd-soc-skl-ipc.o
Dbxt-sst.c60 struct skl_sst *skl = ctx->thread_context; in bxt_load_library() local
66 ret = skl_prepare_lib_load(skl, &skl->lib_info[i], &stripped_fw, in bxt_load_library()
84 ret = skl_sst_ipc_load_library(&skl->ipc, dma_id, i, true); in bxt_load_library()
195 struct skl_sst *skl = ctx->thread_context; in bxt_load_base_firmware() local
207 if (skl->is_first_boot) { in bxt_load_base_firmware()
243 ret = wait_event_timeout(skl->boot_wait, skl->boot_complete, in bxt_load_base_firmware()
251 skl->fw_loaded = true; in bxt_load_base_firmware()
279 struct skl_sst *skl = ctx->thread_context; in bxt_d0i3_target_state() local
280 struct skl_d0i3_data *d0i3 = &skl->d0i3; in bxt_d0i3_target_state()
282 if (skl->cores.state[SKL_DSP_CORE0_ID] != SKL_DSP_RUNNING) in bxt_d0i3_target_state()
[all …]
Dskl-topology.c55 void skl_tplg_d0i3_get(struct skl *skl, enum d0i3_capability caps) in skl_tplg_d0i3_get() argument
57 struct skl_d0i3_data *d0i3 = &skl->skl_sst->d0i3; in skl_tplg_d0i3_get()
74 void skl_tplg_d0i3_put(struct skl *skl, enum d0i3_capability caps) in skl_tplg_d0i3_put() argument
76 struct skl_d0i3_data *d0i3 = &skl->skl_sst->d0i3; in skl_tplg_d0i3_put()
116 static bool skl_is_pipe_mem_avail(struct skl *skl, in skl_is_pipe_mem_avail() argument
119 struct skl_sst *ctx = skl->skl_sst; in skl_is_pipe_mem_avail()
121 if (skl->resource.mem + mconfig->pipe->memory_pages > in skl_is_pipe_mem_avail()
122 skl->resource.max_mem) { in skl_is_pipe_mem_avail()
129 skl->resource.max_mem, skl->resource.mem); in skl_is_pipe_mem_avail()
141 static void skl_tplg_alloc_pipe_mem(struct skl *skl, in skl_tplg_alloc_pipe_mem() argument
[all …]
Dskl-nhlt.c122 *skl_get_ep_blob(struct skl *skl, u32 instance, u8 link_type, in skl_get_ep_blob() argument
128 struct hdac_bus *bus = ebus_to_hbus(&skl->ebus); in skl_get_ep_blob()
131 struct nhlt_acpi_table *nhlt = skl->nhlt; in skl_get_ep_blob()
158 int skl_get_dmic_geo(struct skl *skl) in skl_get_dmic_geo() argument
160 struct nhlt_acpi_table *nhlt = (struct nhlt_acpi_table *)skl->nhlt; in skl_get_dmic_geo()
163 struct device *dev = &skl->pci->dev; in skl_get_dmic_geo()
212 int skl_nhlt_update_topology_bin(struct skl *skl) in skl_nhlt_update_topology_bin() argument
214 struct nhlt_acpi_table *nhlt = (struct nhlt_acpi_table *)skl->nhlt; in skl_nhlt_update_topology_bin()
215 struct hdac_bus *bus = ebus_to_hbus(&skl->ebus); in skl_nhlt_update_topology_bin()
222 snprintf(skl->tplg_name, sizeof(skl->tplg_name), "%x-%.6s-%.8s-%d%s", in skl_nhlt_update_topology_bin()
[all …]
Dskl-sst-utils.c250 struct skl_sst *skl = ctx->thread_context; in snd_skl_parse_uuids() local
321 list_add_tail(&module->list, &skl->uuid_list); in snd_skl_parse_uuids()
331 skl_freeup_uuid_list(skl); in snd_skl_parse_uuids()
376 struct skl_sst *skl; in skl_sst_ctx_init() local
379 skl = devm_kzalloc(dev, sizeof(*skl), GFP_KERNEL); in skl_sst_ctx_init()
380 if (skl == NULL) in skl_sst_ctx_init()
383 skl->dev = dev; in skl_sst_ctx_init()
384 skl_dev->thread_context = skl; in skl_sst_ctx_init()
385 INIT_LIST_HEAD(&skl->uuid_list); in skl_sst_ctx_init()
386 skl->dsp = skl_dsp_ctx_init(dev, skl_dev, irq); in skl_sst_ctx_init()
[all …]
Dskl-sst.c77 struct skl_sst *skl = ctx->thread_context; in skl_load_base_firmware() local
81 skl->boot_complete = false; in skl_load_base_firmware()
82 init_waitqueue_head(&skl->boot_wait); in skl_load_base_firmware()
93 if (skl->is_first_boot) { in skl_load_base_firmware()
147 ret = wait_event_timeout(skl->boot_wait, skl->boot_complete, in skl_load_base_firmware()
156 skl->fw_loaded = true; in skl_load_base_firmware()
172 struct skl_sst *skl = ctx->thread_context; in skl_set_dsp_D0() local
184 if (skl->lib_count > 1) { in skl_set_dsp_D0()
185 ret = ctx->fw_ops.load_library(ctx, skl->lib_info, in skl_set_dsp_D0()
186 skl->lib_count); in skl_set_dsp_D0()
[all …]
Dskl-sst-dsp.c44 struct skl_sst *skl = ctx->thread_context; in skl_dsp_init_core_state() local
47 skl->cores.state[SKL_DSP_CORE0_ID] = SKL_DSP_RUNNING; in skl_dsp_init_core_state()
48 skl->cores.usage_count[SKL_DSP_CORE0_ID] = 1; in skl_dsp_init_core_state()
50 for (i = SKL_DSP_CORE0_ID + 1; i < skl->cores.count; i++) { in skl_dsp_init_core_state()
51 skl->cores.state[i] = SKL_DSP_RESET; in skl_dsp_init_core_state()
52 skl->cores.usage_count[i] = 0; in skl_dsp_init_core_state()
59 struct skl_sst *skl = ctx->thread_context; in skl_dsp_get_enabled_cores() local
63 core_mask = SKL_DSP_CORES_MASK(skl->cores.count); in skl_dsp_get_enabled_cores()
346 struct skl_sst *skl = ctx->thread_context; in skl_dsp_get_core() local
349 if (core_id >= skl->cores.count) { in skl_dsp_get_core()
[all …]
Dskl-pcm.c128 struct skl *skl = ebus_to_skl(ebus); in skl_set_suspend_active() local
136 skl->supend_active++; in skl_set_suspend_active()
138 skl->supend_active--; in skl_set_suspend_active()
222 struct skl *skl = get_skl_ctx(dai->dev); in skl_pcm_open() local
261 skl_tplg_d0i3_get(skl, mconfig->d0i3_caps); in skl_pcm_open()
269 struct skl *skl = get_skl_ctx(dai->dev); in skl_pcm_prepare() local
279 skl_reset_pipe(skl->skl_sst, mconfig->pipe); in skl_pcm_prepare()
332 struct skl *skl = ebus_to_skl(ebus); in skl_pcm_close() local
352 skl->skl_sst->miscbdcg_disabled) { in skl_pcm_close()
353 skl->skl_sst->enable_miscbdcge(dai->dev, true); in skl_pcm_close()
[all …]
Dskl-debug.c31 struct skl *skl; member
185 struct sst_dsp *sst = d->skl->skl_sst->dsp; in fw_softreg_read()
226 struct skl_debug *skl_debugfs_init(struct skl *skl) in skl_debugfs_init() argument
230 d = devm_kzalloc(&skl->pci->dev, sizeof(*d), GFP_KERNEL); in skl_debugfs_init()
236 skl->platform->component.debugfs_root); in skl_debugfs_init()
238 dev_err(&skl->pci->dev, "debugfs root creation failed\n"); in skl_debugfs_init()
242 d->skl = skl; in skl_debugfs_init()
243 d->dev = &skl->pci->dev; in skl_debugfs_init()
248 dev_err(&skl->pci->dev, "modules debugfs create failed\n"); in skl_debugfs_init()
Dskl-messages.c257 int skl_init_dsp(struct skl *skl) in skl_init_dsp() argument
260 struct hdac_ext_bus *ebus = &skl->ebus; in skl_init_dsp()
269 snd_hdac_ext_bus_ppcap_enable(&skl->ebus, true); in skl_init_dsp()
270 snd_hdac_ext_bus_ppcap_int_enable(&skl->ebus, true); in skl_init_dsp()
273 mmio_base = pci_ioremap_bar(skl->pci, 4); in skl_init_dsp()
279 ops = skl_get_dsp_ops(skl->pci->device); in skl_init_dsp()
287 skl->fw_name, loader_ops, in skl_init_dsp()
288 &skl->skl_sst); in skl_init_dsp()
293 skl->skl_sst->dsp_ops = ops; in skl_init_dsp()
294 cores = &skl->skl_sst->cores; in skl_init_dsp()
[all …]
Dskl-sst-ipc.c353 struct skl_sst *skl = container_of(ipc, struct skl_sst, ipc); in skl_ipc_process_notification() local
368 skl->boot_complete = true; in skl_ipc_process_notification()
369 wake_up(&skl->boot_wait); in skl_ipc_process_notification()
381 skl->enable_miscbdcge(ipc->dev, false); in skl_ipc_process_notification()
382 skl->miscbdcg_disabled = true; in skl_ipc_process_notification()
415 struct skl_sst *skl = container_of(ipc, struct skl_sst, ipc); in skl_ipc_process_reply() local
434 skl->mod_load_complete = true; in skl_ipc_process_reply()
435 skl->mod_load_status = true; in skl_ipc_process_reply()
436 wake_up(&skl->mod_load_wait); in skl_ipc_process_reply()
451 skl->mod_load_complete = true; in skl_ipc_process_reply()
[all …]
Dskl-topology.h449 static inline struct skl *get_skl_ctx(struct device *dev) in get_skl_ctx()
469 void skl_tplg_d0i3_get(struct skl *skl, enum d0i3_capability caps);
470 void skl_tplg_d0i3_put(struct skl *skl, enum d0i3_capability caps);
Dskl-sst-ipc.h212 int skl_ipc_init(struct device *dev, struct skl_sst *skl);
Dskl-sst-dsp.h257 int skl_prepare_lib_load(struct skl_sst *skl, struct skl_lib_info *linfo,