diff options
Diffstat (limited to 'sound/firewire')
-rw-r--r-- | sound/firewire/amdtp.c | 14 | ||||
-rw-r--r-- | sound/firewire/amdtp.h | 13 |
2 files changed, 15 insertions, 12 deletions
diff --git a/sound/firewire/amdtp.c b/sound/firewire/amdtp.c index 3284ee9c1eca..c2685fbd7366 100644 --- a/sound/firewire/amdtp.c +++ b/sound/firewire/amdtp.c | |||
@@ -532,6 +532,20 @@ err_unlock: | |||
532 | EXPORT_SYMBOL(amdtp_out_stream_start); | 532 | EXPORT_SYMBOL(amdtp_out_stream_start); |
533 | 533 | ||
534 | /** | 534 | /** |
535 | * amdtp_out_stream_pcm_pointer - get the PCM buffer position | ||
536 | * @s: the AMDTP output stream that transports the PCM data | ||
537 | * | ||
538 | * Returns the current buffer position, in frames. | ||
539 | */ | ||
540 | unsigned long amdtp_out_stream_pcm_pointer(struct amdtp_out_stream *s) | ||
541 | { | ||
542 | fw_iso_context_flush_completions(s->context); | ||
543 | |||
544 | return ACCESS_ONCE(s->pcm_buffer_pointer); | ||
545 | } | ||
546 | EXPORT_SYMBOL(amdtp_out_stream_pcm_pointer); | ||
547 | |||
548 | /** | ||
535 | * amdtp_out_stream_update - update the stream after a bus reset | 549 | * amdtp_out_stream_update - update the stream after a bus reset |
536 | * @s: the AMDTP output stream | 550 | * @s: the AMDTP output stream |
537 | */ | 551 | */ |
diff --git a/sound/firewire/amdtp.h b/sound/firewire/amdtp.h index 4987f826f9f3..3f13ff63c5d2 100644 --- a/sound/firewire/amdtp.h +++ b/sound/firewire/amdtp.h | |||
@@ -84,6 +84,7 @@ void amdtp_out_stream_stop(struct amdtp_out_stream *s); | |||
84 | void amdtp_out_stream_set_pcm_format(struct amdtp_out_stream *s, | 84 | void amdtp_out_stream_set_pcm_format(struct amdtp_out_stream *s, |
85 | snd_pcm_format_t format); | 85 | snd_pcm_format_t format); |
86 | void amdtp_out_stream_pcm_prepare(struct amdtp_out_stream *s); | 86 | void amdtp_out_stream_pcm_prepare(struct amdtp_out_stream *s); |
87 | unsigned long amdtp_out_stream_pcm_pointer(struct amdtp_out_stream *s); | ||
87 | void amdtp_out_stream_pcm_abort(struct amdtp_out_stream *s); | 88 | void amdtp_out_stream_pcm_abort(struct amdtp_out_stream *s); |
88 | 89 | ||
89 | /** | 90 | /** |
@@ -140,18 +141,6 @@ static inline void amdtp_out_stream_pcm_trigger(struct amdtp_out_stream *s, | |||
140 | ACCESS_ONCE(s->pcm) = pcm; | 141 | ACCESS_ONCE(s->pcm) = pcm; |
141 | } | 142 | } |
142 | 143 | ||
143 | /** | ||
144 | * amdtp_out_stream_pcm_pointer - get the PCM buffer position | ||
145 | * @s: the AMDTP output stream that transports the PCM data | ||
146 | * | ||
147 | * Returns the current buffer position, in frames. | ||
148 | */ | ||
149 | static inline unsigned long | ||
150 | amdtp_out_stream_pcm_pointer(struct amdtp_out_stream *s) | ||
151 | { | ||
152 | return ACCESS_ONCE(s->pcm_buffer_pointer); | ||
153 | } | ||
154 | |||
155 | static inline bool cip_sfc_is_base_44100(enum cip_sfc sfc) | 144 | static inline bool cip_sfc_is_base_44100(enum cip_sfc sfc) |
156 | { | 145 | { |
157 | return sfc & 1; | 146 | return sfc & 1; |