Lines Matching refs:ts

30 					struct axg_tdm_stream *ts,  in axg_tdm_formatter_set_channel_masks()  argument
33 unsigned int ch = ts->channels; in axg_tdm_formatter_set_channel_masks()
53 if ((BIT(i + k) & ts->mask[j]) && ch) { in axg_tdm_formatter_set_channel_masks()
82 struct axg_tdm_stream *ts = formatter->stream; in axg_tdm_formatter_enable() local
113 invert = axg_tdm_sclk_invert(ts->iface->fmt); in axg_tdm_formatter_enable()
157 struct axg_tdm_stream *ts = formatter->stream; in axg_tdm_formatter_attach() local
160 mutex_lock(&ts->lock); in axg_tdm_formatter_attach()
163 if (ts->ready) { in axg_tdm_formatter_attach()
171 list_add_tail(&formatter->list, &ts->formatter_list); in axg_tdm_formatter_attach()
173 mutex_unlock(&ts->lock); in axg_tdm_formatter_attach()
179 struct axg_tdm_stream *ts = formatter->stream; in axg_tdm_formatter_dettach() local
181 mutex_lock(&ts->lock); in axg_tdm_formatter_dettach()
183 mutex_unlock(&ts->lock); in axg_tdm_formatter_dettach()
191 struct axg_tdm_stream *ts = formatter->drv->ops->get_stream(w); in axg_tdm_formatter_power_up() local
199 if (WARN_ON(!ts)) in axg_tdm_formatter_power_up()
208 ret = clk_set_parent(formatter->sclk_sel, ts->iface->sclk); in axg_tdm_formatter_power_up()
213 ret = clk_set_parent(formatter->lrclk_sel, ts->iface->lrclk); in axg_tdm_formatter_power_up()
217 formatter->stream = ts; in axg_tdm_formatter_power_up()
328 int axg_tdm_stream_start(struct axg_tdm_stream *ts) in axg_tdm_stream_start() argument
333 mutex_lock(&ts->lock); in axg_tdm_stream_start()
334 ts->ready = true; in axg_tdm_stream_start()
337 list_for_each_entry(formatter, &ts->formatter_list, list) { in axg_tdm_stream_start()
346 mutex_unlock(&ts->lock); in axg_tdm_stream_start()
351 void axg_tdm_stream_stop(struct axg_tdm_stream *ts) in axg_tdm_stream_stop() argument
355 mutex_lock(&ts->lock); in axg_tdm_stream_stop()
356 ts->ready = false; in axg_tdm_stream_stop()
359 list_for_each_entry(formatter, &ts->formatter_list, list) { in axg_tdm_stream_stop()
363 mutex_unlock(&ts->lock); in axg_tdm_stream_stop()
369 struct axg_tdm_stream *ts; in axg_tdm_stream_alloc() local
371 ts = kzalloc(sizeof(*ts), GFP_KERNEL); in axg_tdm_stream_alloc()
372 if (ts) { in axg_tdm_stream_alloc()
373 INIT_LIST_HEAD(&ts->formatter_list); in axg_tdm_stream_alloc()
374 mutex_init(&ts->lock); in axg_tdm_stream_alloc()
375 ts->iface = iface; in axg_tdm_stream_alloc()
378 return ts; in axg_tdm_stream_alloc()
382 void axg_tdm_stream_free(struct axg_tdm_stream *ts) in axg_tdm_stream_free() argument
389 WARN_ON(!list_empty(&ts->formatter_list)); in axg_tdm_stream_free()
390 mutex_destroy(&ts->lock); in axg_tdm_stream_free()
391 kfree(ts); in axg_tdm_stream_free()