Lines Matching refs:s

18 	void (*transfer_samples)(struct amdtp_stream *s,
23 int amdtp_tscm_set_parameters(struct amdtp_stream *s, unsigned int rate) in amdtp_tscm_set_parameters() argument
25 struct amdtp_tscm *p = s->protocol; in amdtp_tscm_set_parameters()
28 if (amdtp_stream_running(s)) in amdtp_tscm_set_parameters()
34 if (s->direction == AMDTP_IN_STREAM) in amdtp_tscm_set_parameters()
37 return amdtp_stream_set_parameters(s, rate, data_channels); in amdtp_tscm_set_parameters()
40 static void write_pcm_s32(struct amdtp_stream *s, in write_pcm_s32() argument
44 struct amdtp_tscm *p = s->protocol; in write_pcm_s32()
51 frames_to_bytes(runtime, s->pcm_buffer_pointer); in write_pcm_s32()
52 remaining_frames = runtime->buffer_size - s->pcm_buffer_pointer; in write_pcm_s32()
59 buffer += s->data_block_quadlets; in write_pcm_s32()
65 static void write_pcm_s16(struct amdtp_stream *s, in write_pcm_s16() argument
69 struct amdtp_tscm *p = s->protocol; in write_pcm_s16()
76 frames_to_bytes(runtime, s->pcm_buffer_pointer); in write_pcm_s16()
77 remaining_frames = runtime->buffer_size - s->pcm_buffer_pointer; in write_pcm_s16()
84 buffer += s->data_block_quadlets; in write_pcm_s16()
90 static void read_pcm_s32(struct amdtp_stream *s, in read_pcm_s32() argument
94 struct amdtp_tscm *p = s->protocol; in read_pcm_s32()
101 frames_to_bytes(runtime, s->pcm_buffer_pointer); in read_pcm_s32()
102 remaining_frames = runtime->buffer_size - s->pcm_buffer_pointer; in read_pcm_s32()
112 buffer += s->data_block_quadlets; in read_pcm_s32()
118 static void write_pcm_silence(struct amdtp_stream *s, __be32 *buffer, in write_pcm_silence() argument
121 struct amdtp_tscm *p = s->protocol; in write_pcm_silence()
129 buffer += s->data_block_quadlets; in write_pcm_silence()
133 int amdtp_tscm_add_pcm_hw_constraints(struct amdtp_stream *s, in amdtp_tscm_add_pcm_hw_constraints() argument
146 return amdtp_stream_add_pcm_hw_constraints(s, runtime); in amdtp_tscm_add_pcm_hw_constraints()
149 void amdtp_tscm_set_pcm_format(struct amdtp_stream *s, snd_pcm_format_t format) in amdtp_tscm_set_pcm_format() argument
151 struct amdtp_tscm *p = s->protocol; in amdtp_tscm_set_pcm_format()
153 if (WARN_ON(amdtp_stream_pcm_running(s))) in amdtp_tscm_set_pcm_format()
161 if (s->direction == AMDTP_OUT_STREAM) { in amdtp_tscm_set_pcm_format()
168 if (s->direction == AMDTP_OUT_STREAM) in amdtp_tscm_set_pcm_format()
176 static unsigned int process_tx_data_blocks(struct amdtp_stream *s, in process_tx_data_blocks() argument
181 struct amdtp_tscm *p = (struct amdtp_tscm *)s->protocol; in process_tx_data_blocks()
184 pcm = ACCESS_ONCE(s->pcm); in process_tx_data_blocks()
186 p->transfer_samples(s, pcm, buffer, data_blocks); in process_tx_data_blocks()
193 static unsigned int process_rx_data_blocks(struct amdtp_stream *s, in process_rx_data_blocks() argument
198 struct amdtp_tscm *p = (struct amdtp_tscm *)s->protocol; in process_rx_data_blocks()
204 pcm = ACCESS_ONCE(s->pcm); in process_rx_data_blocks()
206 p->transfer_samples(s, pcm, buffer, data_blocks); in process_rx_data_blocks()
208 write_pcm_silence(s, buffer, data_blocks); in process_rx_data_blocks()
213 int amdtp_tscm_init(struct amdtp_stream *s, struct fw_unit *unit, in amdtp_tscm_init() argument
229 err = amdtp_stream_init(s, unit, dir, in amdtp_tscm_init()
236 s->fdf = 0x00; in amdtp_tscm_init()
239 p = s->protocol; in amdtp_tscm_init()