Searched refs:sst_drv_ctx (Results 1 - 6 of 6) sorted by relevance

/linux-4.4.14/sound/soc/intel/atom/sst/
H A Dsst_stream.c36 int sst_alloc_stream_mrfld(struct intel_sst_drv *sst_drv_ctx, void *params) sst_alloc_stream_mrfld() argument
47 dev_dbg(sst_drv_ctx->dev, "Enter\n"); sst_alloc_stream_mrfld()
79 str_info = get_stream_info(sst_drv_ctx, str_id); sst_alloc_stream_mrfld()
81 dev_err(sst_drv_ctx->dev, "get stream info returned null\n"); sst_alloc_stream_mrfld()
87 sst_drv_ctx->streams[str_id].pipe_id = pipe_id; sst_alloc_stream_mrfld()
88 sst_drv_ctx->streams[str_id].task_id = task_id; sst_alloc_stream_mrfld()
89 sst_drv_ctx->streams[str_id].num_ch = num_ch; sst_alloc_stream_mrfld()
91 if (sst_drv_ctx->info.lpe_viewpt_rqd) sst_alloc_stream_mrfld()
92 alloc_param.ts = sst_drv_ctx->info.mailbox_start + sst_alloc_stream_mrfld()
93 sst_drv_ctx->tstamp + (str_id * sizeof(fw_tstamp)); sst_alloc_stream_mrfld()
95 alloc_param.ts = sst_drv_ctx->mailbox_add + sst_alloc_stream_mrfld()
96 sst_drv_ctx->tstamp + (str_id * sizeof(fw_tstamp)); sst_alloc_stream_mrfld()
98 dev_dbg(sst_drv_ctx->dev, "alloc tstamp location = 0x%x\n", sst_alloc_stream_mrfld()
100 dev_dbg(sst_drv_ctx->dev, "assigned pipe id 0x%x to task %d\n", sst_alloc_stream_mrfld()
104 sst_init_stream(&sst_drv_ctx->streams[str_id], alloc_param.codec_type, sst_alloc_stream_mrfld()
107 dev_info(sst_drv_ctx->dev, "Alloc for str %d pipe %#x\n", sst_alloc_stream_mrfld()
109 ret = sst_prepare_and_post_msg(sst_drv_ctx, task_id, IPC_CMD, sst_alloc_stream_mrfld()
114 dev_err(sst_drv_ctx->dev, "FW alloc failed ret %d\n", ret); sst_alloc_stream_mrfld()
123 dev_err(sst_drv_ctx->dev, "FW alloc failed ret %d\n", ret); sst_alloc_stream_mrfld()
125 dev_err(sst_drv_ctx->dev, sst_alloc_stream_mrfld()
127 sst_free_stream(sst_drv_ctx, str_id); sst_alloc_stream_mrfld()
143 int sst_start_stream(struct intel_sst_drv *sst_drv_ctx, int str_id) sst_start_stream() argument
149 dev_dbg(sst_drv_ctx->dev, "sst_start_stream for %d\n", str_id); sst_start_stream()
150 str_info = get_stream_info(sst_drv_ctx, str_id); sst_start_stream()
156 retval = sst_prepare_and_post_msg(sst_drv_ctx, str_info->task_id, sst_start_stream()
163 int sst_send_byte_stream_mrfld(struct intel_sst_drv *sst_drv_ctx, sst_send_byte_stream_mrfld() argument
170 dev_dbg(sst_drv_ctx->dev, sst_send_byte_stream_mrfld()
178 pvt_id = sst_assign_pvt_id(sst_drv_ctx); sst_send_byte_stream_mrfld()
184 dev_dbg(sst_drv_ctx->dev, "length is %d\n", length); sst_send_byte_stream_mrfld()
187 block = sst_create_block(sst_drv_ctx, bytes->ipc_msg, pvt_id); sst_send_byte_stream_mrfld()
195 sst_add_to_dispatch_list_and_post(sst_drv_ctx, msg); sst_send_byte_stream_mrfld()
196 dev_dbg(sst_drv_ctx->dev, "msg->mrfld_header.p.header_low_payload:%d", sst_send_byte_stream_mrfld()
200 ret = sst_wait_timeout(sst_drv_ctx, block); sst_send_byte_stream_mrfld()
202 dev_err(sst_drv_ctx->dev, "fw returned err %d\n", ret); sst_send_byte_stream_mrfld()
203 sst_free_block(sst_drv_ctx, block); sst_send_byte_stream_mrfld()
215 dev_dbg(sst_drv_ctx->dev, "read back %d bytes", sst_send_byte_stream_mrfld()
221 sst_free_block(sst_drv_ctx, block); sst_send_byte_stream_mrfld()
223 test_and_clear_bit(pvt_id, &sst_drv_ctx->pvt_id); sst_send_byte_stream_mrfld()
234 int sst_pause_stream(struct intel_sst_drv *sst_drv_ctx, int str_id) sst_pause_stream() argument
239 dev_dbg(sst_drv_ctx->dev, "SST DBG:sst_pause_stream for %d\n", str_id); sst_pause_stream()
240 str_info = get_stream_info(sst_drv_ctx, str_id); sst_pause_stream()
250 retval = sst_prepare_and_post_msg(sst_drv_ctx, str_info->task_id, IPC_CMD, sst_pause_stream()
259 mutex_lock(&sst_drv_ctx->sst_lock); sst_pause_stream()
261 mutex_unlock(&sst_drv_ctx->sst_lock); sst_pause_stream()
265 dev_dbg(sst_drv_ctx->dev, "SST DBG:BADRQC for stream\n "); sst_pause_stream()
278 int sst_resume_stream(struct intel_sst_drv *sst_drv_ctx, int str_id) sst_resume_stream() argument
283 dev_dbg(sst_drv_ctx->dev, "SST DBG:sst_resume_stream for %d\n", str_id); sst_resume_stream()
284 str_info = get_stream_info(sst_drv_ctx, str_id); sst_resume_stream()
290 retval = sst_prepare_and_post_msg(sst_drv_ctx, str_info->task_id, sst_resume_stream()
303 mutex_lock(&sst_drv_ctx->sst_lock); sst_resume_stream()
305 mutex_unlock(&sst_drv_ctx->sst_lock); sst_resume_stream()
309 dev_err(sst_drv_ctx->dev, "SST ERR: BADQRC for stream\n"); sst_resume_stream()
323 int sst_drop_stream(struct intel_sst_drv *sst_drv_ctx, int str_id) sst_drop_stream() argument
328 dev_dbg(sst_drv_ctx->dev, "SST DBG:sst_drop_stream for %d\n", str_id); sst_drop_stream()
329 str_info = get_stream_info(sst_drv_ctx, str_id); sst_drop_stream()
337 retval = sst_prepare_and_post_msg(sst_drv_ctx, str_info->task_id, sst_drop_stream()
343 dev_dbg(sst_drv_ctx->dev, "BADQRC for stream, state %x\n", sst_drop_stream()
356 int sst_drain_stream(struct intel_sst_drv *sst_drv_ctx, sst_drain_stream() argument
362 dev_dbg(sst_drv_ctx->dev, "SST DBG:sst_drain_stream for %d\n", str_id); sst_drain_stream()
363 str_info = get_stream_info(sst_drv_ctx, str_id); sst_drain_stream()
369 dev_err(sst_drv_ctx->dev, "SST ERR: BADQRC for stream = %d\n", sst_drain_stream()
374 retval = sst_prepare_and_post_msg(sst_drv_ctx, str_info->task_id, IPC_CMD, sst_drain_stream()
393 int sst_free_stream(struct intel_sst_drv *sst_drv_ctx, int str_id) sst_free_stream() argument
399 dev_dbg(sst_drv_ctx->dev, "SST DBG:sst_free_stream for %d\n", str_id); sst_free_stream()
401 mutex_lock(&sst_drv_ctx->sst_lock); sst_free_stream()
402 if (sst_drv_ctx->sst_state == SST_RESET) { sst_free_stream()
403 mutex_unlock(&sst_drv_ctx->sst_lock); sst_free_stream()
406 mutex_unlock(&sst_drv_ctx->sst_lock); sst_free_stream()
407 str_info = get_stream_info(sst_drv_ctx, str_id); sst_free_stream()
410 ops = sst_drv_ctx->ops; sst_free_stream()
418 dev_info(sst_drv_ctx->dev, "Free for str %d pipe %#x\n", sst_free_stream()
420 retval = sst_prepare_and_post_msg(sst_drv_ctx, str_info->task_id, IPC_CMD, sst_free_stream()
424 dev_dbg(sst_drv_ctx->dev, "sst: wait for free returned %d\n", sst_free_stream()
426 mutex_lock(&sst_drv_ctx->sst_lock); sst_free_stream()
428 mutex_unlock(&sst_drv_ctx->sst_lock); sst_free_stream()
429 dev_dbg(sst_drv_ctx->dev, "SST DBG:Stream freed\n"); sst_free_stream()
433 dev_dbg(sst_drv_ctx->dev, "SST DBG:BADQRC for stream\n"); sst_free_stream()
H A Dsst_ipc.c124 int sst_post_message_mrfld(struct intel_sst_drv *sst_drv_ctx, sst_post_message_mrfld() argument
133 dev_dbg(sst_drv_ctx->dev, "Enter: sync: %d\n", sync); sst_post_message_mrfld()
134 spin_lock_irqsave(&sst_drv_ctx->ipc_spin_lock, irq_flags); sst_post_message_mrfld()
135 header.full = sst_shim_read64(sst_drv_ctx->shim, SST_IPCX); sst_post_message_mrfld()
139 dev_err(sst_drv_ctx->dev, sst_post_message_mrfld()
146 header.full = sst_shim_read64(sst_drv_ctx->shim, SST_IPCX); sst_post_message_mrfld()
149 if (list_empty(&sst_drv_ctx->ipc_dispatch_list)) { sst_post_message_mrfld()
151 spin_unlock_irqrestore(&sst_drv_ctx->ipc_spin_lock, irq_flags); sst_post_message_mrfld()
152 dev_dbg(sst_drv_ctx->dev, sst_post_message_mrfld()
158 spin_unlock_irqrestore(&sst_drv_ctx->ipc_spin_lock, irq_flags); sst_post_message_mrfld()
159 dev_dbg(sst_drv_ctx->dev, "Busy not free... post later\n"); sst_post_message_mrfld()
164 msg = list_entry(sst_drv_ctx->ipc_dispatch_list.next, sst_post_message_mrfld()
168 dev_dbg(sst_drv_ctx->dev, "sst: Post message: header = %x\n", sst_post_message_mrfld()
170 dev_dbg(sst_drv_ctx->dev, "sst: size = 0x%x\n", sst_post_message_mrfld()
174 memcpy_toio(sst_drv_ctx->mailbox + SST_MAILBOX_SEND, sst_post_message_mrfld()
178 sst_shim_write64(sst_drv_ctx->shim, SST_IPCX, msg->mrfld_header.full); sst_post_message_mrfld()
181 spin_unlock_irqrestore(&sst_drv_ctx->ipc_spin_lock, irq_flags); sst_post_message_mrfld()
187 void intel_sst_clear_intr_mrfld(struct intel_sst_drv *sst_drv_ctx) intel_sst_clear_intr_mrfld() argument
194 spin_lock_irqsave(&sst_drv_ctx->ipc_spin_lock, irq_flags); intel_sst_clear_intr_mrfld()
195 imr.full = sst_shim_read64(sst_drv_ctx->shim, SST_IMRX); intel_sst_clear_intr_mrfld()
196 isr.full = sst_shim_read64(sst_drv_ctx->shim, SST_ISRX); intel_sst_clear_intr_mrfld()
200 sst_shim_write64(sst_drv_ctx->shim, SST_ISRX, isr.full); intel_sst_clear_intr_mrfld()
203 clear_ipc.full = sst_shim_read64(sst_drv_ctx->shim, SST_IPCD); intel_sst_clear_intr_mrfld()
208 sst_shim_write64(sst_drv_ctx->shim, SST_IPCD, clear_ipc.full); intel_sst_clear_intr_mrfld()
211 sst_shim_write64(sst_drv_ctx->shim, SST_IMRX, imr.full); intel_sst_clear_intr_mrfld()
212 spin_unlock_irqrestore(&sst_drv_ctx->ipc_spin_lock, irq_flags); intel_sst_clear_intr_mrfld()
224 static void process_fw_init(struct intel_sst_drv *sst_drv_ctx, process_fw_init() argument
231 dev_dbg(sst_drv_ctx->dev, "*** FW Init msg came***\n"); process_fw_init()
233 sst_set_fw_state_locked(sst_drv_ctx, SST_RESET); process_fw_init()
234 dev_err(sst_drv_ctx->dev, "FW Init failed, Error %x\n", process_fw_init()
241 sst_wake_up_block(sst_drv_ctx, retval, FW_DWNL_ID, 0 , NULL, 0); process_fw_init()
244 static void process_fw_async_msg(struct intel_sst_drv *sst_drv_ctx, process_fw_async_msg() argument
264 str_id = get_stream_id_mrfld(sst_drv_ctx, pipe_id); process_fw_async_msg()
266 dev_dbg(sst_drv_ctx->dev, process_fw_async_msg()
269 stream = &sst_drv_ctx->streams[str_id]; process_fw_async_msg()
279 str_id = get_stream_id_mrfld(sst_drv_ctx, pipe_id); process_fw_async_msg()
281 stream = &sst_drv_ctx->streams[str_id]; process_fw_async_msg()
288 dev_err(sst_drv_ctx->dev, "FW sent async error msg:\n"); process_fw_async_msg()
295 process_fw_init(sst_drv_ctx, data_offset); process_fw_async_msg()
300 str_id = get_stream_id_mrfld(sst_drv_ctx, pipe_id); process_fw_async_msg()
302 dev_err(sst_drv_ctx->dev, process_fw_async_msg()
308 dev_err(sst_drv_ctx->dev, process_fw_async_msg()
313 void sst_process_reply_mrfld(struct intel_sst_drv *sst_drv_ctx, sst_process_reply_mrfld() argument
326 dev_dbg(sst_drv_ctx->dev, "IPC process message header %x payload %x\n", sst_process_reply_mrfld()
335 process_fw_async_msg(sst_drv_ctx, msg); sst_process_reply_mrfld()
342 dev_err(sst_drv_ctx->dev, "FW sent error response 0x%x", msg_low); sst_process_reply_mrfld()
343 sst_wake_up_block(sst_drv_ctx, msg_high.part.result, sst_process_reply_mrfld()
361 dev_dbg(sst_drv_ctx->dev, "cmd_id %d\n", dsp_hdr->cmd_id); sst_process_reply_mrfld()
362 if (sst_wake_up_block(sst_drv_ctx, msg_high.part.result, sst_process_reply_mrfld()
367 sst_wake_up_block(sst_drv_ctx, msg_high.part.result, sst_process_reply_mrfld()
H A Dsst_loader.c63 int intel_sst_reset_dsp_mrfld(struct intel_sst_drv *sst_drv_ctx) intel_sst_reset_dsp_mrfld() argument
67 dev_dbg(sst_drv_ctx->dev, "sst: Resetting the DSP in mrfld\n"); intel_sst_reset_dsp_mrfld()
68 csr.full = sst_shim_read64(sst_drv_ctx->shim, SST_CSR); intel_sst_reset_dsp_mrfld()
70 dev_dbg(sst_drv_ctx->dev, "value:0x%llx\n", csr.full); intel_sst_reset_dsp_mrfld()
73 sst_shim_write64(sst_drv_ctx->shim, SST_CSR, csr.full); intel_sst_reset_dsp_mrfld()
74 csr.full = sst_shim_read64(sst_drv_ctx->shim, SST_CSR); intel_sst_reset_dsp_mrfld()
76 dev_dbg(sst_drv_ctx->dev, "value:0x%llx\n", csr.full); intel_sst_reset_dsp_mrfld()
79 sst_shim_write64(sst_drv_ctx->shim, SST_CSR, csr.full); intel_sst_reset_dsp_mrfld()
81 csr.full = sst_shim_read64(sst_drv_ctx->shim, SST_CSR); intel_sst_reset_dsp_mrfld()
82 dev_dbg(sst_drv_ctx->dev, "value:0x%llx\n", csr.full); intel_sst_reset_dsp_mrfld()
91 int sst_start_mrfld(struct intel_sst_drv *sst_drv_ctx) sst_start_mrfld() argument
95 dev_dbg(sst_drv_ctx->dev, "sst: Starting the DSP in mrfld LALALALA\n"); sst_start_mrfld()
96 csr.full = sst_shim_read64(sst_drv_ctx->shim, SST_CSR); sst_start_mrfld()
97 dev_dbg(sst_drv_ctx->dev, "value:0x%llx\n", csr.full); sst_start_mrfld()
100 sst_shim_write64(sst_drv_ctx->shim, SST_CSR, csr.full); sst_start_mrfld()
102 csr.full = sst_shim_read64(sst_drv_ctx->shim, SST_CSR); sst_start_mrfld()
103 dev_dbg(sst_drv_ctx->dev, "value:0x%llx\n", csr.full); sst_start_mrfld()
107 sst_shim_write64(sst_drv_ctx->shim, SST_CSR, csr.full); sst_start_mrfld()
109 csr.full = sst_shim_read64(sst_drv_ctx->shim, SST_CSR); sst_start_mrfld()
110 dev_dbg(sst_drv_ctx->dev, "sst: Starting the DSP_merrifield:%llx\n", sst_start_mrfld()
174 * @sst_drv_ctx : driver context
180 static int sst_parse_module_memcpy(struct intel_sst_drv *sst_drv_ctx, sst_parse_module_memcpy() argument
188 dev_dbg(sst_drv_ctx->dev, "module sign %s size %x blocks %x type %x\n", sst_parse_module_memcpy()
191 dev_dbg(sst_drv_ctx->dev, "module entrypoint 0x%x\n", module->entry_point); sst_parse_module_memcpy()
197 dev_err(sst_drv_ctx->dev, "block size invalid\n"); sst_parse_module_memcpy()
202 ram_iomem = sst_drv_ctx->iram; sst_parse_module_memcpy()
205 ram_iomem = sst_drv_ctx->dram; sst_parse_module_memcpy()
208 ram_iomem = sst_drv_ctx->ddr; sst_parse_module_memcpy()
214 dev_err(sst_drv_ctx->dev, "wrong ram type0x%x in block0x%x\n", sst_parse_module_memcpy()
280 void sst_memcpy_free_resources(struct intel_sst_drv *sst_drv_ctx) sst_memcpy_free_resources() argument
285 if (!list_empty(&sst_drv_ctx->memcpy_list)) { sst_memcpy_free_resources()
287 &sst_drv_ctx->memcpy_list, memcpylist) { sst_memcpy_free_resources()
400 int sst_load_fw(struct intel_sst_drv *sst_drv_ctx) sst_load_fw() argument
405 dev_dbg(sst_drv_ctx->dev, "sst_load_fw\n"); sst_load_fw()
407 if (sst_drv_ctx->sst_state != SST_RESET || sst_load_fw()
408 sst_drv_ctx->sst_state == SST_SHUTDOWN) sst_load_fw()
411 if (!sst_drv_ctx->fw_in_mem) { sst_load_fw()
412 dev_dbg(sst_drv_ctx->dev, "sst: FW not in memory retry to download\n"); sst_load_fw()
413 ret_val = sst_request_fw(sst_drv_ctx); sst_load_fw()
418 BUG_ON(!sst_drv_ctx->fw_in_mem); sst_load_fw()
419 block = sst_create_block(sst_drv_ctx, 0, FW_DWNL_ID); sst_load_fw()
424 pm_qos_update_request(sst_drv_ctx->qos, 0); sst_load_fw()
426 sst_drv_ctx->sst_state = SST_FW_LOADING; sst_load_fw()
428 ret_val = sst_drv_ctx->ops->reset(sst_drv_ctx); sst_load_fw()
432 sst_do_memcpy(&sst_drv_ctx->memcpy_list); sst_load_fw()
435 if (sst_drv_ctx->ops->post_download) sst_load_fw()
436 sst_drv_ctx->ops->post_download(sst_drv_ctx); sst_load_fw()
439 ret_val = sst_drv_ctx->ops->start(sst_drv_ctx); sst_load_fw()
443 ret_val = sst_wait_timeout(sst_drv_ctx, block); sst_load_fw()
445 dev_err(sst_drv_ctx->dev, "fw download failed %d\n" , ret_val); sst_load_fw()
454 pm_qos_update_request(sst_drv_ctx->qos, PM_QOS_DEFAULT_VALUE); sst_load_fw()
455 sst_free_block(sst_drv_ctx, block); sst_load_fw()
456 dev_dbg(sst_drv_ctx->dev, "fw load successful!!!\n"); sst_load_fw()
458 if (sst_drv_ctx->ops->restore_dsp_context) sst_load_fw()
459 sst_drv_ctx->ops->restore_dsp_context(); sst_load_fw()
460 sst_drv_ctx->sst_state = SST_FW_RUNNING; sst_load_fw()
H A Dsst_pci.c124 struct intel_sst_drv *sst_drv_ctx; intel_sst_probe() local
128 ret = sst_alloc_drv_context(&sst_drv_ctx, &pci->dev, pci->device); intel_sst_probe()
132 sst_drv_ctx->pdata = sst_pdata; intel_sst_probe()
133 sst_drv_ctx->irq_num = pci->irq; intel_sst_probe()
134 snprintf(sst_drv_ctx->firmware_name, sizeof(sst_drv_ctx->firmware_name), intel_sst_probe()
136 sst_drv_ctx->dev_id, ".bin"); intel_sst_probe()
138 ret = sst_context_init(sst_drv_ctx); intel_sst_probe()
145 dev_err(sst_drv_ctx->dev, intel_sst_probe()
149 sst_drv_ctx->pci = pci_dev_get(pci); intel_sst_probe()
150 ret = sst_platform_get_resources(sst_drv_ctx); intel_sst_probe()
154 pci_set_drvdata(pci, sst_drv_ctx); intel_sst_probe()
155 sst_configure_runtime_pm(sst_drv_ctx); intel_sst_probe()
160 sst_context_cleanup(sst_drv_ctx); intel_sst_probe()
161 dev_err(sst_drv_ctx->dev, "Probe failed with %d\n", ret); intel_sst_probe()
175 struct intel_sst_drv *sst_drv_ctx = pci_get_drvdata(pci); intel_sst_remove() local
177 sst_context_cleanup(sst_drv_ctx); intel_sst_remove()
178 pci_dev_put(sst_drv_ctx->pci); intel_sst_remove()
H A Dsst_pvt.c74 struct intel_sst_drv *sst_drv_ctx, int sst_state) sst_set_fw_state_locked()
76 mutex_lock(&sst_drv_ctx->sst_lock); sst_set_fw_state_locked()
77 sst_drv_ctx->sst_state = sst_state; sst_set_fw_state_locked()
78 mutex_unlock(&sst_drv_ctx->sst_lock); sst_set_fw_state_locked()
84 * @sst_drv_ctx: Driver context
90 int sst_wait_interruptible(struct intel_sst_drv *sst_drv_ctx, sst_wait_interruptible() argument
95 if (!wait_event_interruptible(sst_drv_ctx->wait_queue, sst_wait_interruptible()
99 dev_err(sst_drv_ctx->dev, sst_wait_interruptible()
103 dev_dbg(sst_drv_ctx->dev, "event up\n"); sst_wait_interruptible()
107 dev_err(sst_drv_ctx->dev, "signal interrupted\n"); sst_wait_interruptible()
117 * @sst_drv_ctx: Driver context
123 int sst_wait_timeout(struct intel_sst_drv *sst_drv_ctx, struct sst_block *block) sst_wait_timeout() argument
132 dev_dbg(sst_drv_ctx->dev, sst_wait_timeout()
135 if (wait_event_timeout(sst_drv_ctx->wait_queue, sst_wait_timeout()
139 dev_dbg(sst_drv_ctx->dev, "Event wake %x\n", sst_wait_timeout()
141 dev_dbg(sst_drv_ctx->dev, "message ret: %d\n", sst_wait_timeout()
146 dev_err(sst_drv_ctx->dev, sst_wait_timeout()
148 block->condition, block->msg_id, sst_drv_ctx->sst_state); sst_wait_timeout()
149 sst_drv_ctx->sst_state = SST_RESET; sst_wait_timeout()
190 * @sst_drv_ctx: sst driver context
196 struct intel_sst_drv *sst_drv_ctx, struct sst_block **block, sst_create_block_and_ipc_msg()
204 *block = sst_create_block(sst_drv_ctx, msg_id, drv_id); sst_create_block_and_ipc_msg()
340 * @sst_drv_ctx : driver context
374 struct intel_sst_drv *sst_drv_ctx, int str_id) sst_validate_strid()
376 if (str_id <= 0 || str_id > sst_drv_ctx->info.max_streams) { sst_validate_strid()
377 dev_err(sst_drv_ctx->dev, sst_validate_strid()
379 str_id, sst_drv_ctx->info.max_streams); sst_validate_strid()
387 struct intel_sst_drv *sst_drv_ctx, int str_id) get_stream_info()
389 if (sst_validate_strid(sst_drv_ctx, str_id)) get_stream_info()
391 return &sst_drv_ctx->streams[str_id]; get_stream_info()
394 int get_stream_id_mrfld(struct intel_sst_drv *sst_drv_ctx, get_stream_id_mrfld() argument
399 for (i = 1; i <= sst_drv_ctx->info.max_streams; i++) get_stream_id_mrfld()
400 if (pipe_id == sst_drv_ctx->streams[i].pipe_id) get_stream_id_mrfld()
403 dev_dbg(sst_drv_ctx->dev, "no such pipe_id(%u)", pipe_id); get_stream_id_mrfld()
73 sst_set_fw_state_locked( struct intel_sst_drv *sst_drv_ctx, int sst_state) sst_set_fw_state_locked() argument
195 sst_create_block_and_ipc_msg(struct ipc_post **arg, bool large, struct intel_sst_drv *sst_drv_ctx, struct sst_block **block, u32 msg_id, u32 drv_id) sst_create_block_and_ipc_msg() argument
373 sst_validate_strid( struct intel_sst_drv *sst_drv_ctx, int str_id) sst_validate_strid() argument
386 get_stream_info( struct intel_sst_drv *sst_drv_ctx, int str_id) get_stream_info() argument
H A Dsst.h462 int sst_pause_stream(struct intel_sst_drv *sst_drv_ctx, int id);
463 int sst_resume_stream(struct intel_sst_drv *sst_drv_ctx, int id);
464 int sst_drop_stream(struct intel_sst_drv *sst_drv_ctx, int id);
465 int sst_free_stream(struct intel_sst_drv *sst_drv_ctx, int id);
466 int sst_start_stream(struct intel_sst_drv *sst_drv_ctx, int str_id);
471 int sst_get_stream(struct intel_sst_drv *sst_drv_ctx,
476 int sst_drain_stream(struct intel_sst_drv *sst_drv_ctx,
488 int sst_get_block_stream(struct intel_sst_drv *sst_drv_ctx);
491 int sst_wait_interruptible(struct intel_sst_drv *sst_drv_ctx,
493 int sst_wait_timeout(struct intel_sst_drv *sst_drv_ctx,
504 int sst_alloc_stream_mrfld(struct intel_sst_drv *sst_drv_ctx, void *params);
509 struct intel_sst_drv *sst_drv_ctx, struct sst_block **block,
524 int sst_assign_pvt_id(struct intel_sst_drv *sst_drv_ctx);
527 int sst_validate_strid(struct intel_sst_drv *sst_drv_ctx, int str_id);
528 struct stream_info *get_stream_info(struct intel_sst_drv *sst_drv_ctx,
530 int get_stream_id_mrfld(struct intel_sst_drv *sst_drv_ctx,
542 struct intel_sst_drv *sst_drv_ctx, int sst_state);

Completed in 206 milliseconds