void sst_process_mad_ops(struct work_struct *work) { struct mad_ops_wq *mad_ops = container_of(work, struct mad_ops_wq, wq); int retval = 0; switch (mad_ops->control_op) { case SST_SND_PAUSE: retval = sst_pause_stream(mad_ops->stream_id); break; case SST_SND_RESUME: retval = sst_resume_stream(mad_ops->stream_id); break; case SST_SND_DROP: /* retval = sst_drop_stream(mad_ops->stream_id); */ break; case SST_SND_START: pr_debug("SST Debug: start stream\n"); retval = sst_start_stream(mad_ops->stream_id); break; case SST_SND_STREAM_PROCESS: pr_debug("play/capt frames...\n"); break; default: pr_err(" wrong control_ops reported\n"); } return; }
static int sst_cdev_stream_pause_release(struct device *dev, unsigned int str_id) { struct intel_sst_drv *ctx = dev_get_drvdata(dev); return sst_resume_stream(ctx, str_id); }