Lines Matching refs:ctx

51 int free_stream_context(struct intel_sst_drv *ctx, unsigned int str_id)  in free_stream_context()  argument
56 stream = get_stream_info(ctx, str_id); in free_stream_context()
59 ret = sst_free_stream(ctx, str_id); in free_stream_context()
61 sst_clean_stream(&ctx->streams[str_id]); in free_stream_context()
64 dev_err(ctx->dev, "we tried to free stream context %d which was freed!!!\n", str_id); in free_stream_context()
69 int sst_get_stream_allocated(struct intel_sst_drv *ctx, in sst_get_stream_allocated() argument
75 retval = ctx->ops->alloc_stream(ctx, str_param); in sst_get_stream_allocated()
77 dev_dbg(ctx->dev, "Stream allocated %d\n", retval); in sst_get_stream_allocated()
125 int sst_get_stream(struct intel_sst_drv *ctx, in sst_get_stream() argument
132 retval = ctx->ops->alloc_stream(ctx, str_param); in sst_get_stream()
137 str_info = &ctx->streams[retval]; in sst_get_stream()
145 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_power_control() local
152 dev_dbg(ctx->dev, "Enable: pm usage count: %d\n", usage_count); in sst_power_control()
155 dev_err(ctx->dev, "Runtime get failed with err: %d\n", ret); in sst_power_control()
158 if ((ctx->sst_state == SST_RESET) && (usage_count == 1)) { in sst_power_control()
159 ret = sst_load_fw(ctx); in sst_power_control()
162 sst_set_fw_state_locked(ctx, SST_RESET); in sst_power_control()
163 ret = sst_pm_runtime_put(ctx); in sst_power_control()
168 dev_dbg(ctx->dev, "Disable: pm usage count: %d\n", usage_count); in sst_power_control()
169 return sst_pm_runtime_put(ctx); in sst_power_control()
186 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_open_pcm_stream() local
191 retval = sst_get_stream(ctx, str_param); in sst_open_pcm_stream()
193 ctx->stream_cnt++; in sst_open_pcm_stream()
195 dev_err(ctx->dev, "sst_get_stream returned err %d\n", retval); in sst_open_pcm_stream()
205 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_open() local
207 retval = pm_runtime_get_sync(ctx->dev); in sst_cdev_open()
209 pm_runtime_put_sync(ctx->dev); in sst_cdev_open()
213 str_id = sst_get_stream(ctx, str_params); in sst_cdev_open()
216 stream = &ctx->streams[str_id]; in sst_cdev_open()
224 sst_pm_runtime_put(ctx); in sst_cdev_open()
233 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_close() local
235 stream = get_stream_info(ctx, str_id); in sst_cdev_close()
249 retval = sst_free_stream(ctx, str_id); in sst_cdev_close()
269 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_ack() local
271 stream = get_stream_info(ctx, str_id); in sst_cdev_ack()
280 ((void *)(ctx->mailbox + ctx->tstamp) in sst_cdev_ack()
288 addr = ((void *)(ctx->mailbox + ctx->tstamp)) + in sst_cdev_ack()
300 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_set_metadata() local
304 str_info = get_stream_info(ctx, str_id); in sst_cdev_set_metadata()
309 retval = sst_prepare_and_post_msg(ctx, str_info->task_id, IPC_CMD, in sst_cdev_set_metadata()
319 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_stream_pause() local
321 return sst_pause_stream(ctx, str_id); in sst_cdev_stream_pause()
327 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_stream_pause_release() local
329 return sst_resume_stream(ctx, str_id); in sst_cdev_stream_pause_release()
335 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_stream_start() local
337 str_info = get_stream_info(ctx, str_id); in sst_cdev_stream_start()
342 return sst_start_stream(ctx, str_id); in sst_cdev_stream_start()
347 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_stream_drop() local
349 return sst_drop_stream(ctx, str_id); in sst_cdev_stream_drop()
354 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_stream_drain() local
356 return sst_drain_stream(ctx, str_id, false); in sst_cdev_stream_drain()
362 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_stream_partial_drain() local
364 return sst_drain_stream(ctx, str_id, true); in sst_cdev_stream_partial_drain()
372 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_tstamp() local
375 ((void *)(ctx->mailbox + ctx->tstamp) in sst_cdev_tstamp()
379 stream = get_stream_info(ctx, str_id); in sst_cdev_tstamp()
458 void sst_cdev_fragment_elapsed(struct intel_sst_drv *ctx, int str_id) in sst_cdev_fragment_elapsed() argument
462 dev_dbg(ctx->dev, "fragment elapsed from firmware for str_id %d\n", in sst_cdev_fragment_elapsed()
464 stream = &ctx->streams[str_id]; in sst_cdev_fragment_elapsed()
481 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_close_pcm_stream() local
483 stream = get_stream_info(ctx, str_id); in sst_close_pcm_stream()
485 dev_err(ctx->dev, "stream info is NULL for str %d!!!\n", str_id); in sst_close_pcm_stream()
491 dev_dbg(ctx->dev, "stream in reset state...\n"); in sst_close_pcm_stream()
497 retval = free_stream_context(ctx, str_id); in sst_close_pcm_stream()
502 ctx->stream_cnt--; in sst_close_pcm_stream()
505 dev_err(ctx->dev, "free stream returned err %d\n", retval); in sst_close_pcm_stream()
507 dev_dbg(ctx->dev, "Exit\n"); in sst_close_pcm_stream()
511 static inline int sst_calc_tstamp(struct intel_sst_drv *ctx, in sst_calc_tstamp() argument
520 dev_dbg(ctx->dev, "mrfld ring_buffer_counter %llu in bytes\n", in sst_calc_tstamp()
522 dev_dbg(ctx->dev, "mrfld hardware_counter %llu in bytes\n", in sst_calc_tstamp()
535 dev_dbg(ctx->dev, "pcm delay %zu in bytes\n", delay_bytes); in sst_calc_tstamp()
540 dev_dbg(ctx->dev, "buffer ptr %llu pcm_delay rep: %llu\n", in sst_calc_tstamp()
551 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_read_timestamp() local
554 stream = get_stream_info(ctx, str_id); in sst_read_timestamp()
563 ((void *)(ctx->mailbox + ctx->tstamp) in sst_read_timestamp()
566 return sst_calc_tstamp(ctx, info, substream, &fw_tstamp); in sst_read_timestamp()
572 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_stream_start() local
574 if (ctx->sst_state != SST_FW_RUNNING) in sst_stream_start()
576 str_info = get_stream_info(ctx, str_id); in sst_stream_start()
581 sst_start_stream(ctx, str_id); in sst_stream_start()
589 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_stream_drop() local
591 if (ctx->sst_state != SST_FW_RUNNING) in sst_stream_drop()
594 str_info = get_stream_info(ctx, str_id); in sst_stream_drop()
599 return sst_drop_stream(ctx, str_id); in sst_stream_drop()
605 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_stream_pause() local
607 if (ctx->sst_state != SST_FW_RUNNING) in sst_stream_pause()
610 str_info = get_stream_info(ctx, str_id); in sst_stream_pause()
614 return sst_pause_stream(ctx, str_id); in sst_stream_pause()
620 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_stream_resume() local
622 if (ctx->sst_state != SST_FW_RUNNING) in sst_stream_resume()
625 str_info = get_stream_info(ctx, str_id); in sst_stream_resume()
628 return sst_resume_stream(ctx, str_id); in sst_stream_resume()
635 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_stream_init() local
639 if (ctx->sst_state != SST_FW_RUNNING) in sst_stream_init()
642 stream = get_stream_info(ctx, str_id); in sst_stream_init()
646 dev_dbg(ctx->dev, "setting the period ptrs\n"); in sst_stream_init()
652 dev_dbg(ctx->dev, in sst_stream_init()
673 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_send_byte_stream() local
677 ret_val = pm_runtime_get_sync(ctx->dev); in sst_send_byte_stream()
679 pm_runtime_put_sync(ctx->dev); in sst_send_byte_stream()
683 ret_val = sst_send_byte_stream_mrfld(ctx, bytes); in sst_send_byte_stream()
684 sst_pm_runtime_put(ctx); in sst_send_byte_stream()