Lines Matching +full:stream +full:- +full:mode +full:- +full:support
1 /* SPDX-License-Identifier: GPL-2.0 */
10 #include "packets-buffer.h"
13 * enum cip_flags - describes details of the streaming protocol
14 * @CIP_NONBLOCKING: In non-blocking mode, each packet contains
16 * for clock skew and left-over fractional samples. This should
18 * @CIP_BLOCKING: In blocking mode, each packet contains either zero or
21 * @CIP_EMPTY_WITH_TAG0: Only for in-stream. Empty in-packets have TAG0.
24 * @CIP_WRONG_DBS: Only for in-stream. The value of dbs is wrong in in-packets.
26 * @CIP_SKIP_DBC_ZERO_CHECK: Only for in-stream. Packets with zero in dbc is
28 * @CIP_EMPTY_HAS_WRONG_DBC: Only for in-stream. The value of dbc in empty
30 * @CIP_JUMBO_PAYLOAD: Only for in-stream. The number of data blocks in an
31 * packet is larger than IEC 61883-6 defines. Current implementation
32 * allows 5 times as large as IEC 61883-6 defines.
33 * @CIP_HEADER_WITHOUT_EOH: Only for in-stream. CIP Header doesn't include
36 * @CIP_UNALIGHED_DBC: Only for in-stream. The value of dbc is not alighed to
61 * enum cip_sfc - supported Sampling Frequency Codes (SFCs)
72 * Format Dependent Field (FDF) of AMDTP packet header. In IEC 61883-6:2002,
75 * stream.
77 * In IEC 61883-6:2005, some extensions were added to support more types of
81 * Currently our implementation is compatible with IEC 61883-6:2002.
122 // The combination of cip_flags enumeration-constants.
239 * amdtp_stream_running - check stream is running or not
240 * @s: the AMDTP stream
242 * If this function returns true, the stream is running.
246 return !IS_ERR(s->context);
250 * amdtp_streaming_error - check for streaming error
251 * @s: the AMDTP stream
253 * If this function returns true, the stream's packet queue has stopped due to
258 return s->packet_index < 0;
262 * amdtp_stream_pcm_running - check PCM substream is running or not
263 * @s: the AMDTP stream
265 * If this function returns true, PCM substream in the AMDTP stream is running.
269 return !!s->pcm;
273 * amdtp_stream_pcm_trigger - start/stop playback from a PCM device
274 * @s: the AMDTP stream
277 * Call this function on a running isochronous stream to enable the actual
284 WRITE_ONCE(s->pcm, pcm);
288 * amdtp_stream_next_packet_desc - retrieve next descriptor for amdtp packet.
289 * @s: the AMDTP stream
295 list_next_entry_circular(desc, &s->packet_descs_list, link)
341 d->events_per_period = events_per_period;
342 d->events_per_buffer = events_per_buffer;
352 * amdtp_domain_wait_ready - sleep till being ready to process packets or timeout
362 list_for_each_entry(s, &d->streams, list) {
365 if (wait_event_interruptible_timeout(s->ready_wait, s->ready_processing, j) <= 0)