Lines Matching refs:rec

28 					struct snd_pcm_indirect *rec, size_t bytes);
35 struct snd_pcm_indirect *rec, in snd_pcm_indirect_playback_transfer() argument
40 snd_pcm_sframes_t diff = appl_ptr - rec->appl_ptr; in snd_pcm_indirect_playback_transfer()
48 rec->sw_ready += (int)frames_to_bytes(runtime, diff); in snd_pcm_indirect_playback_transfer()
49 rec->appl_ptr = appl_ptr; in snd_pcm_indirect_playback_transfer()
51 qsize = rec->hw_queue_size ? rec->hw_queue_size : rec->hw_buffer_size; in snd_pcm_indirect_playback_transfer()
52 while (rec->hw_ready < qsize && rec->sw_ready > 0) { in snd_pcm_indirect_playback_transfer()
53 unsigned int hw_to_end = rec->hw_buffer_size - rec->hw_data; in snd_pcm_indirect_playback_transfer()
54 unsigned int sw_to_end = rec->sw_buffer_size - rec->sw_data; in snd_pcm_indirect_playback_transfer()
55 unsigned int bytes = qsize - rec->hw_ready; in snd_pcm_indirect_playback_transfer()
56 if (rec->sw_ready < (int)bytes) in snd_pcm_indirect_playback_transfer()
57 bytes = rec->sw_ready; in snd_pcm_indirect_playback_transfer()
64 copy(substream, rec, bytes); in snd_pcm_indirect_playback_transfer()
65 rec->hw_data += bytes; in snd_pcm_indirect_playback_transfer()
66 if (rec->hw_data == rec->hw_buffer_size) in snd_pcm_indirect_playback_transfer()
67 rec->hw_data = 0; in snd_pcm_indirect_playback_transfer()
68 rec->sw_data += bytes; in snd_pcm_indirect_playback_transfer()
69 if (rec->sw_data == rec->sw_buffer_size) in snd_pcm_indirect_playback_transfer()
70 rec->sw_data = 0; in snd_pcm_indirect_playback_transfer()
71 rec->hw_ready += bytes; in snd_pcm_indirect_playback_transfer()
72 rec->sw_ready -= bytes; in snd_pcm_indirect_playback_transfer()
83 struct snd_pcm_indirect *rec, unsigned int ptr) in snd_pcm_indirect_playback_pointer() argument
85 int bytes = ptr - rec->hw_io; in snd_pcm_indirect_playback_pointer()
87 bytes += rec->hw_buffer_size; in snd_pcm_indirect_playback_pointer()
88 rec->hw_io = ptr; in snd_pcm_indirect_playback_pointer()
89 rec->hw_ready -= bytes; in snd_pcm_indirect_playback_pointer()
90 rec->sw_io += bytes; in snd_pcm_indirect_playback_pointer()
91 if (rec->sw_io >= rec->sw_buffer_size) in snd_pcm_indirect_playback_pointer()
92 rec->sw_io -= rec->sw_buffer_size; in snd_pcm_indirect_playback_pointer()
95 return bytes_to_frames(substream->runtime, rec->sw_io); in snd_pcm_indirect_playback_pointer()
104 struct snd_pcm_indirect *rec, in snd_pcm_indirect_capture_transfer() argument
109 snd_pcm_sframes_t diff = appl_ptr - rec->appl_ptr; in snd_pcm_indirect_capture_transfer()
116 rec->sw_ready -= frames_to_bytes(runtime, diff); in snd_pcm_indirect_capture_transfer()
117 rec->appl_ptr = appl_ptr; in snd_pcm_indirect_capture_transfer()
119 while (rec->hw_ready > 0 && in snd_pcm_indirect_capture_transfer()
120 rec->sw_ready < (int)rec->sw_buffer_size) { in snd_pcm_indirect_capture_transfer()
121 size_t hw_to_end = rec->hw_buffer_size - rec->hw_data; in snd_pcm_indirect_capture_transfer()
122 size_t sw_to_end = rec->sw_buffer_size - rec->sw_data; in snd_pcm_indirect_capture_transfer()
123 size_t bytes = rec->sw_buffer_size - rec->sw_ready; in snd_pcm_indirect_capture_transfer()
124 if (rec->hw_ready < (int)bytes) in snd_pcm_indirect_capture_transfer()
125 bytes = rec->hw_ready; in snd_pcm_indirect_capture_transfer()
132 copy(substream, rec, bytes); in snd_pcm_indirect_capture_transfer()
133 rec->hw_data += bytes; in snd_pcm_indirect_capture_transfer()
134 if ((int)rec->hw_data == rec->hw_buffer_size) in snd_pcm_indirect_capture_transfer()
135 rec->hw_data = 0; in snd_pcm_indirect_capture_transfer()
136 rec->sw_data += bytes; in snd_pcm_indirect_capture_transfer()
137 if (rec->sw_data == rec->sw_buffer_size) in snd_pcm_indirect_capture_transfer()
138 rec->sw_data = 0; in snd_pcm_indirect_capture_transfer()
139 rec->hw_ready -= bytes; in snd_pcm_indirect_capture_transfer()
140 rec->sw_ready += bytes; in snd_pcm_indirect_capture_transfer()
151 struct snd_pcm_indirect *rec, unsigned int ptr) in snd_pcm_indirect_capture_pointer() argument
154 int bytes = ptr - rec->hw_io; in snd_pcm_indirect_capture_pointer()
156 bytes += rec->hw_buffer_size; in snd_pcm_indirect_capture_pointer()
157 rec->hw_io = ptr; in snd_pcm_indirect_capture_pointer()
158 rec->hw_ready += bytes; in snd_pcm_indirect_capture_pointer()
159 qsize = rec->hw_queue_size ? rec->hw_queue_size : rec->hw_buffer_size; in snd_pcm_indirect_capture_pointer()
160 if (rec->hw_ready > qsize) in snd_pcm_indirect_capture_pointer()
162 rec->sw_io += bytes; in snd_pcm_indirect_capture_pointer()
163 if (rec->sw_io >= rec->sw_buffer_size) in snd_pcm_indirect_capture_pointer()
164 rec->sw_io -= rec->sw_buffer_size; in snd_pcm_indirect_capture_pointer()
167 return bytes_to_frames(substream->runtime, rec->sw_io); in snd_pcm_indirect_capture_pointer()