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()
154 dev_err(ctx->dev, "Runtime get failed with err: %d\n", ret); in sst_power_control()
157 if ((ctx->sst_state == SST_RESET) && (usage_count == 1)) { in sst_power_control()
158 ret = sst_load_fw(ctx); in sst_power_control()
161 sst_set_fw_state_locked(ctx, SST_RESET); in sst_power_control()
162 ret = sst_pm_runtime_put(ctx); in sst_power_control()
167 dev_dbg(ctx->dev, "Disable: pm usage count: %d\n", usage_count); in sst_power_control()
168 return sst_pm_runtime_put(ctx); in sst_power_control()
185 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_open_pcm_stream() local
190 retval = sst_get_stream(ctx, str_param); in sst_open_pcm_stream()
192 ctx->stream_cnt++; in sst_open_pcm_stream()
194 dev_err(ctx->dev, "sst_get_stream returned err %d\n", retval); in sst_open_pcm_stream()
204 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_open() local
206 retval = pm_runtime_get_sync(ctx->dev); in sst_cdev_open()
210 str_id = sst_get_stream(ctx, str_params); in sst_cdev_open()
213 stream = &ctx->streams[str_id]; in sst_cdev_open()
221 sst_pm_runtime_put(ctx); in sst_cdev_open()
230 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_close() local
232 stream = get_stream_info(ctx, str_id); in sst_cdev_close()
246 retval = sst_free_stream(ctx, str_id); in sst_cdev_close()
266 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_ack() local
268 stream = get_stream_info(ctx, str_id); in sst_cdev_ack()
277 ((void *)(ctx->mailbox + ctx->tstamp) in sst_cdev_ack()
285 addr = ((void *)(ctx->mailbox + ctx->tstamp)) + in sst_cdev_ack()
297 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_set_metadata() local
301 str_info = get_stream_info(ctx, str_id); in sst_cdev_set_metadata()
306 retval = sst_prepare_and_post_msg(ctx, str_info->task_id, IPC_CMD, in sst_cdev_set_metadata()
316 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_stream_pause() local
318 return sst_pause_stream(ctx, str_id); in sst_cdev_stream_pause()
324 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_stream_pause_release() local
326 return sst_resume_stream(ctx, str_id); in sst_cdev_stream_pause_release()
332 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_stream_start() local
334 str_info = get_stream_info(ctx, str_id); in sst_cdev_stream_start()
339 return sst_start_stream(ctx, str_id); in sst_cdev_stream_start()
344 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_stream_drop() local
346 return sst_drop_stream(ctx, str_id); in sst_cdev_stream_drop()
351 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_stream_drain() local
353 return sst_drain_stream(ctx, str_id, false); in sst_cdev_stream_drain()
359 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_stream_partial_drain() local
361 return sst_drain_stream(ctx, str_id, true); in sst_cdev_stream_partial_drain()
369 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_cdev_tstamp() local
372 ((void *)(ctx->mailbox + ctx->tstamp) in sst_cdev_tstamp()
376 stream = get_stream_info(ctx, str_id); in sst_cdev_tstamp()
455 void sst_cdev_fragment_elapsed(struct intel_sst_drv *ctx, int str_id) in sst_cdev_fragment_elapsed() argument
459 dev_dbg(ctx->dev, "fragment elapsed from firmware for str_id %d\n", in sst_cdev_fragment_elapsed()
461 stream = &ctx->streams[str_id]; in sst_cdev_fragment_elapsed()
478 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_close_pcm_stream() local
480 stream = get_stream_info(ctx, str_id); in sst_close_pcm_stream()
482 dev_err(ctx->dev, "stream info is NULL for str %d!!!\n", str_id); in sst_close_pcm_stream()
488 dev_dbg(ctx->dev, "stream in reset state...\n"); in sst_close_pcm_stream()
494 retval = free_stream_context(ctx, str_id); in sst_close_pcm_stream()
499 ctx->stream_cnt--; in sst_close_pcm_stream()
502 dev_err(ctx->dev, "free stream returned err %d\n", retval); in sst_close_pcm_stream()
504 dev_dbg(ctx->dev, "Exit\n"); in sst_close_pcm_stream()
508 static inline int sst_calc_tstamp(struct intel_sst_drv *ctx, in sst_calc_tstamp() argument
517 dev_dbg(ctx->dev, "mrfld ring_buffer_counter %llu in bytes\n", in sst_calc_tstamp()
519 dev_dbg(ctx->dev, "mrfld hardware_counter %llu in bytes\n", in sst_calc_tstamp()
532 dev_dbg(ctx->dev, "pcm delay %zu in bytes\n", delay_bytes); in sst_calc_tstamp()
537 dev_dbg(ctx->dev, "buffer ptr %llu pcm_delay rep: %llu\n", in sst_calc_tstamp()
548 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_read_timestamp() local
551 stream = get_stream_info(ctx, str_id); in sst_read_timestamp()
560 ((void *)(ctx->mailbox + ctx->tstamp) in sst_read_timestamp()
563 return sst_calc_tstamp(ctx, info, substream, &fw_tstamp); in sst_read_timestamp()
569 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_stream_start() local
571 if (ctx->sst_state != SST_FW_RUNNING) in sst_stream_start()
573 str_info = get_stream_info(ctx, str_id); in sst_stream_start()
578 sst_start_stream(ctx, str_id); in sst_stream_start()
586 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_stream_drop() local
588 if (ctx->sst_state != SST_FW_RUNNING) in sst_stream_drop()
591 str_info = get_stream_info(ctx, str_id); in sst_stream_drop()
596 return sst_drop_stream(ctx, str_id); in sst_stream_drop()
602 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_stream_pause() local
604 if (ctx->sst_state != SST_FW_RUNNING) in sst_stream_pause()
607 str_info = get_stream_info(ctx, str_id); in sst_stream_pause()
611 return sst_pause_stream(ctx, str_id); in sst_stream_pause()
617 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_stream_resume() local
619 if (ctx->sst_state != SST_FW_RUNNING) in sst_stream_resume()
622 str_info = get_stream_info(ctx, str_id); in sst_stream_resume()
625 return sst_resume_stream(ctx, str_id); in sst_stream_resume()
632 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_stream_init() local
636 if (ctx->sst_state != SST_FW_RUNNING) in sst_stream_init()
639 stream = get_stream_info(ctx, str_id); in sst_stream_init()
643 dev_dbg(ctx->dev, "setting the period ptrs\n"); in sst_stream_init()
649 dev_dbg(ctx->dev, in sst_stream_init()
670 struct intel_sst_drv *ctx = dev_get_drvdata(dev); in sst_send_byte_stream() local
674 ret_val = pm_runtime_get_sync(ctx->dev); in sst_send_byte_stream()
678 ret_val = sst_send_byte_stream_mrfld(ctx, bytes); in sst_send_byte_stream()
679 sst_pm_runtime_put(ctx); in sst_send_byte_stream()