Lines Matching refs:ops
114 substream->ops->ioctl(substream, SNDRV_PCM_IOCTL1_INFO, info); in snd_pcm_info()
401 if (substream->ops->hw_params != NULL) { in snd_pcm_hw_params()
402 err = substream->ops->hw_params(substream, params); in snd_pcm_hw_params()
457 if (substream->ops->hw_free != NULL) in snd_pcm_hw_params()
458 substream->ops->hw_free(substream); in snd_pcm_hw_params()
507 if (substream->ops->hw_free) in snd_pcm_hw_free()
508 result = substream->ops->hw_free(substream); in snd_pcm_hw_free()
653 return substream->ops->ioctl(substream, SNDRV_PCM_IOCTL1_CHANNEL_INFO, info); in snd_pcm_channel_info()
698 static int snd_pcm_action_group(struct action_ops *ops, in snd_pcm_action_group() argument
710 res = ops->pre_action(s, state); in snd_pcm_action_group()
715 res = ops->do_action(s, state); in snd_pcm_action_group()
717 if (ops->undo_action) { in snd_pcm_action_group()
721 ops->undo_action(s1, state); in snd_pcm_action_group()
729 ops->post_action(s, state); in snd_pcm_action_group()
747 static int snd_pcm_action_single(struct action_ops *ops, in snd_pcm_action_single() argument
753 res = ops->pre_action(substream, state); in snd_pcm_action_single()
756 res = ops->do_action(substream, state); in snd_pcm_action_single()
758 ops->post_action(substream, state); in snd_pcm_action_single()
759 else if (ops->undo_action) in snd_pcm_action_single()
760 ops->undo_action(substream, state); in snd_pcm_action_single()
767 static int snd_pcm_action(struct action_ops *ops, in snd_pcm_action() argument
779 res = snd_pcm_action_group(ops, substream, state, 1); in snd_pcm_action()
782 res = snd_pcm_action_single(ops, substream, state); in snd_pcm_action()
790 static int snd_pcm_action_lock_irq(struct action_ops *ops, in snd_pcm_action_lock_irq() argument
800 res = snd_pcm_action_group(ops, substream, state, 1); in snd_pcm_action_lock_irq()
805 res = snd_pcm_action_single(ops, substream, state); in snd_pcm_action_lock_irq()
814 static int snd_pcm_action_nonatomic(struct action_ops *ops, in snd_pcm_action_nonatomic() argument
822 res = snd_pcm_action_group(ops, substream, state, 0); in snd_pcm_action_nonatomic()
824 res = snd_pcm_action_single(ops, substream, state); in snd_pcm_action_nonatomic()
848 return substream->ops->trigger(substream, SNDRV_PCM_TRIGGER_START); in snd_pcm_do_start()
854 substream->ops->trigger(substream, SNDRV_PCM_TRIGGER_STOP); in snd_pcm_undo_start()
903 substream->ops->trigger(substream, SNDRV_PCM_TRIGGER_STOP); in snd_pcm_do_stop()
974 return substream->ops->trigger(substream, in snd_pcm_do_pause()
982 substream->ops->trigger(substream, in snd_pcm_undo_pause()
1041 substream->ops->trigger(substream, SNDRV_PCM_TRIGGER_SUSPEND); in snd_pcm_do_suspend()
1136 return substream->ops->trigger(substream, SNDRV_PCM_TRIGGER_RESUME); in snd_pcm_do_resume()
1143 substream->ops->trigger(substream, SNDRV_PCM_TRIGGER_SUSPEND); in snd_pcm_undo_resume()
1239 int err = substream->ops->ioctl(substream, SNDRV_PCM_IOCTL1_RESET, NULL); in snd_pcm_do_reset()
1290 err = substream->ops->prepare(substream); in snd_pcm_do_prepare()
1999 if (substream->ops->hw_free != NULL) in snd_pcm_release_substream()
2000 substream->ops->hw_free(substream); in snd_pcm_release_substream()
2001 substream->ops->close(substream); in snd_pcm_release_substream()
2034 if ((err = substream->ops->open(substream)) < 0) in snd_pcm_open_substream()
3096 if (substream->ops->page) { in snd_pcm_mmap_data_fault()
3097 page = substream->ops->page(substream, offset); in snd_pcm_mmap_data_fault()
3198 if (substream->ops->mmap) in snd_pcm_mmap_data()
3199 return substream->ops->mmap(substream, area); in snd_pcm_mmap_data()