Lines Matching refs:sp

86 auclnt_set_rate(audio_stream_t *sp, int rate)  in auclnt_set_rate()  argument
95 if (rate != sp->s_user_parms->p_rate) { in auclnt_set_rate()
97 rv = auimpl_engine_setup(sp, 0, &parms, FORMAT_MSK_RATE); in auclnt_set_rate()
103 auclnt_get_rate(audio_stream_t *sp) in auclnt_get_rate() argument
105 return (sp->s_user_parms->p_rate); in auclnt_get_rate()
109 auclnt_get_fragsz(audio_stream_t *sp) in auclnt_get_fragsz() argument
111 return (sp->s_fragbytes); in auclnt_get_fragsz()
115 auclnt_get_framesz(audio_stream_t *sp) in auclnt_get_framesz() argument
117 return (sp->s_framesz); in auclnt_get_framesz()
121 auclnt_get_nfrags(audio_stream_t *sp) in auclnt_get_nfrags() argument
123 return (sp->s_nfrags); in auclnt_get_nfrags()
127 auclnt_get_nframes(audio_stream_t *sp) in auclnt_get_nframes() argument
129 return (sp->s_nframes); in auclnt_get_nframes()
133 auclnt_set_latency(audio_stream_t *sp, uint_t frags, uint_t bytes) in auclnt_set_latency() argument
135 mutex_enter(&sp->s_lock); in auclnt_set_latency()
136 sp->s_hintfrags = (uint16_t)frags; in auclnt_set_latency()
137 sp->s_hintsz = bytes; in auclnt_set_latency()
138 mutex_exit(&sp->s_lock); in auclnt_set_latency()
142 auclnt_get_head(audio_stream_t *sp) in auclnt_get_head() argument
144 return (sp->s_head); in auclnt_get_head()
148 auclnt_get_tail(audio_stream_t *sp) in auclnt_get_tail() argument
150 return (sp->s_tail); in auclnt_get_tail()
154 auclnt_get_hidx(audio_stream_t *sp) in auclnt_get_hidx() argument
156 return (sp->s_hidx); in auclnt_get_hidx()
160 auclnt_get_tidx(audio_stream_t *sp) in auclnt_get_tidx() argument
162 return (sp->s_tidx); in auclnt_get_tidx()
178 auclnt_get_count(audio_stream_t *sp) in auclnt_get_count() argument
182 mutex_enter(&sp->s_lock); in auclnt_get_count()
183 ASSERT((sp->s_head - sp->s_tail) <= sp->s_nframes); in auclnt_get_count()
184 count = (uint_t)(sp->s_head - sp->s_tail); in auclnt_get_count()
185 mutex_exit(&sp->s_lock); in auclnt_get_count()
191 auclnt_consume(audio_stream_t *sp, uint_t n) in auclnt_consume() argument
193 mutex_enter(&sp->s_lock); in auclnt_consume()
195 ASSERT(sp == &sp->s_client->c_istream); in auclnt_consume()
196 n = max(n, sp->s_head - sp->s_tail); in auclnt_consume()
197 sp->s_tail += n; in auclnt_consume()
198 sp->s_tidx += n; in auclnt_consume()
199 if (sp->s_tidx >= sp->s_nframes) { in auclnt_consume()
200 sp->s_tidx -= sp->s_nframes; in auclnt_consume()
203 ASSERT(sp->s_tail <= sp->s_head); in auclnt_consume()
204 ASSERT(sp->s_hidx < sp->s_nframes); in auclnt_consume()
206 mutex_exit(&sp->s_lock); in auclnt_consume()
212 auclnt_consume_data(audio_stream_t *sp, caddr_t dst, uint_t n) in auclnt_consume_data() argument
219 mutex_enter(&sp->s_lock); in auclnt_consume_data()
221 nframes = sp->s_nframes; in auclnt_consume_data()
222 framesz = sp->s_framesz; in auclnt_consume_data()
224 ASSERT(sp == &sp->s_client->c_istream); in auclnt_consume_data()
225 ASSERT(sp->s_head >= sp->s_tail); in auclnt_consume_data()
226 ASSERT(sp->s_tidx < nframes); in auclnt_consume_data()
227 ASSERT(sp->s_hidx < nframes); in auclnt_consume_data()
229 cnt = n = min(n, sp->s_head - sp->s_tail); in auclnt_consume_data()
230 data = sp->s_data + (sp->s_tidx * framesz); in auclnt_consume_data()
234 nf = min(nframes - sp->s_tidx, n); in auclnt_consume_data()
242 sp->s_tail += nf; in auclnt_consume_data()
243 sp->s_tidx += nf; in auclnt_consume_data()
244 if (sp->s_tidx == nframes) { in auclnt_consume_data()
245 sp->s_tidx = 0; in auclnt_consume_data()
246 data = sp->s_data; in auclnt_consume_data()
250 ASSERT(sp->s_tail <= sp->s_head); in auclnt_consume_data()
251 ASSERT(sp->s_tidx < nframes); in auclnt_consume_data()
253 mutex_exit(&sp->s_lock); in auclnt_consume_data()
259 auclnt_produce(audio_stream_t *sp, uint_t n) in auclnt_produce() argument
261 mutex_enter(&sp->s_lock); in auclnt_produce()
263 ASSERT(sp == &sp->s_client->c_ostream); in auclnt_produce()
264 n = max(n, sp->s_nframes - (sp->s_head - sp->s_tail)); in auclnt_produce()
265 sp->s_head += n; in auclnt_produce()
266 sp->s_hidx += n; in auclnt_produce()
267 if (sp->s_hidx >= sp->s_nframes) { in auclnt_produce()
268 sp->s_hidx -= sp->s_nframes; in auclnt_produce()
271 ASSERT(sp->s_tail <= sp->s_head); in auclnt_produce()
272 ASSERT(sp->s_hidx < sp->s_nframes); in auclnt_produce()
274 mutex_exit(&sp->s_lock); in auclnt_produce()
280 auclnt_produce_data(audio_stream_t *sp, caddr_t src, uint_t n) in auclnt_produce_data() argument
287 mutex_enter(&sp->s_lock); in auclnt_produce_data()
289 nframes = sp->s_nframes; in auclnt_produce_data()
290 framesz = sp->s_framesz; in auclnt_produce_data()
292 ASSERT(sp == &sp->s_client->c_ostream); in auclnt_produce_data()
293 ASSERT(sp->s_head >= sp->s_tail); in auclnt_produce_data()
294 ASSERT(sp->s_tidx < nframes); in auclnt_produce_data()
295 ASSERT(sp->s_hidx < nframes); in auclnt_produce_data()
297 cnt = n = min(n, nframes - (sp->s_head - sp->s_tail)); in auclnt_produce_data()
298 data = sp->s_data + (sp->s_hidx * framesz); in auclnt_produce_data()
302 nf = min(nframes - sp->s_hidx, n); in auclnt_produce_data()
311 sp->s_head += nf; in auclnt_produce_data()
312 sp->s_hidx += nf; in auclnt_produce_data()
313 if (sp->s_hidx == nframes) { in auclnt_produce_data()
314 sp->s_hidx = 0; in auclnt_produce_data()
315 data = sp->s_data; in auclnt_produce_data()
319 ASSERT(sp->s_tail <= sp->s_head); in auclnt_produce_data()
320 ASSERT(sp->s_hidx < nframes); in auclnt_produce_data()
322 mutex_exit(&sp->s_lock); in auclnt_produce_data()
330 audio_stream_t *sp = &c->c_istream; in auclnt_read() local
341 mutex_enter(&sp->s_lock); in auclnt_read()
343 if ((!sp->s_paused) && (!sp->s_running)) { in auclnt_read()
344 mutex_exit(&sp->s_lock); in auclnt_read()
345 auclnt_start(sp); in auclnt_read()
346 mutex_enter(&sp->s_lock); in auclnt_read()
350 framesz = sp->s_framesz; in auclnt_read()
352 ASSERT(sp->s_head >= sp->s_tail); in auclnt_read()
353 ASSERT(sp->s_tidx < sp->s_nframes); in auclnt_read()
357 while ((cnt = (sp->s_head - sp->s_tail)) == 0) { in auclnt_read()
359 mutex_exit(&sp->s_lock); in auclnt_read()
362 if (cv_wait_sig(&sp->s_cv, &sp->s_lock) == 0) { in auclnt_read()
363 mutex_exit(&sp->s_lock); in auclnt_read()
368 tidx = sp->s_tidx; in auclnt_read()
369 cnt = min(cnt, sp->s_nframes - tidx); in auclnt_read()
372 mutex_exit(&sp->s_lock); in auclnt_read()
373 rv = uiomove(sp->s_data + (tidx * framesz), in auclnt_read()
383 mutex_enter(&sp->s_lock); in auclnt_read()
384 sp->s_tail += cnt; in auclnt_read()
385 sp->s_tidx += cnt; in auclnt_read()
386 if (sp->s_tidx == sp->s_nframes) { in auclnt_read()
387 sp->s_tidx = 0; in auclnt_read()
391 ASSERT(sp->s_tail <= sp->s_head); in auclnt_read()
392 ASSERT(sp->s_tidx < sp->s_nframes); in auclnt_read()
397 mutex_exit(&sp->s_lock); in auclnt_read()
405 audio_stream_t *sp = &c->c_ostream; in auclnt_write() local
416 mutex_enter(&sp->s_lock); in auclnt_write()
418 framesz = sp->s_framesz; in auclnt_write()
420 ASSERT(sp->s_head >= sp->s_tail); in auclnt_write()
421 ASSERT(sp->s_hidx < sp->s_nframes); in auclnt_write()
425 while ((cnt = sp->s_nframes - (sp->s_head - sp->s_tail)) == 0) { in auclnt_write()
427 mutex_exit(&sp->s_lock); in auclnt_write()
430 if (cv_wait_sig(&sp->s_cv, &sp->s_lock) == 0) { in auclnt_write()
431 mutex_exit(&sp->s_lock); in auclnt_write()
436 hidx = sp->s_hidx; in auclnt_write()
437 cnt = min(cnt, sp->s_nframes - hidx); in auclnt_write()
447 mutex_exit(&sp->s_lock); in auclnt_write()
449 rv = uiomove(sp->s_data + (hidx * framesz), in auclnt_write()
459 mutex_enter(&sp->s_lock); in auclnt_write()
461 sp->s_head += cnt; in auclnt_write()
462 sp->s_hidx += cnt; in auclnt_write()
463 if (sp->s_hidx == sp->s_nframes) { in auclnt_write()
464 sp->s_hidx = 0; in auclnt_write()
467 if ((!sp->s_paused) && (!sp->s_running) && in auclnt_write()
468 ((sp->s_head - sp->s_tail) > sp->s_fragfr)) { in auclnt_write()
469 mutex_exit(&sp->s_lock); in auclnt_write()
470 auclnt_start(sp); in auclnt_write()
471 mutex_enter(&sp->s_lock); in auclnt_write()
475 ASSERT(sp->s_tail <= sp->s_head); in auclnt_write()
476 ASSERT(sp->s_hidx < sp->s_nframes); in auclnt_write()
481 mutex_exit(&sp->s_lock); in auclnt_write()
490 audio_stream_t *sp; in auclnt_chpoll() local
494 sp = &c->c_istream; in auclnt_chpoll()
495 mutex_enter(&sp->s_lock); in auclnt_chpoll()
496 if ((sp->s_head - sp->s_tail) > sp->s_fragfr) { in auclnt_chpoll()
499 mutex_exit(&sp->s_lock); in auclnt_chpoll()
503 sp = &c->c_ostream; in auclnt_chpoll()
504 mutex_enter(&sp->s_lock); in auclnt_chpoll()
505 if ((sp->s_nframes - (sp->s_head - sp->s_tail)) > in auclnt_chpoll()
506 sp->s_fragfr) { in auclnt_chpoll()
509 mutex_exit(&sp->s_lock); in auclnt_chpoll()
532 audio_stream_t *sp = &c->c_ostream; in auclnt_get_output_qlen() local
533 audio_engine_t *e = sp->s_engine; in auclnt_get_output_qlen()
545 mutex_enter(&sp->s_lock); in auclnt_get_output_qlen()
552 sl = sp->s_cnv_cnt; in auclnt_get_output_qlen()
553 sr = sp->s_user_parms->p_rate; in auclnt_get_output_qlen()
554 cnt = (uint_t)(sp->s_head - sp->s_tail); in auclnt_get_output_qlen()
555 mutex_exit(&sp->s_lock); in auclnt_get_output_qlen()
564 auclnt_set_format(audio_stream_t *sp, int fmt) in auclnt_set_format() argument
604 if (fmt != sp->s_user_parms->p_format) { in auclnt_set_format()
614 rv = auimpl_engine_setup(sp, 0, &parms, FORMAT_MSK_FMT); in auclnt_set_format()
621 auclnt_get_format(audio_stream_t *sp) in auclnt_get_format() argument
623 return (sp->s_user_parms->p_format); in auclnt_get_format()
639 auclnt_set_channels(audio_stream_t *sp, int nchan) in auclnt_set_channels() argument
649 if (nchan != sp->s_user_parms->p_nchan) { in auclnt_set_channels()
651 rv = auimpl_engine_setup(sp, 0, &parms, FORMAT_MSK_CHAN); in auclnt_set_channels()
658 auclnt_get_channels(audio_stream_t *sp) in auclnt_get_channels() argument
660 return (sp->s_user_parms->p_nchan); in auclnt_get_channels()
665 auimpl_set_gain_master(audio_stream_t *sp, uint8_t gain) in auimpl_set_gain_master() argument
673 mutex_enter(&sp->s_lock); in auimpl_set_gain_master()
674 if (sp->s_gain_master == gain) { in auimpl_set_gain_master()
675 mutex_exit(&sp->s_lock); in auimpl_set_gain_master()
683 scaled = (gain * sp->s_gain_pct * AUDIO_DB_SIZE) / (100 * 100); in auimpl_set_gain_master()
685 sp->s_gain_master = gain; in auimpl_set_gain_master()
686 sp->s_gain_scaled = auimpl_db_table[scaled]; in auimpl_set_gain_master()
688 if (!sp->s_muted) { in auimpl_set_gain_master()
689 sp->s_gain_eff = sp->s_gain_scaled; in auimpl_set_gain_master()
691 mutex_exit(&sp->s_lock); in auimpl_set_gain_master()
727 auclnt_set_gain(audio_stream_t *sp, uint8_t gain) in auclnt_set_gain() argument
735 mutex_enter(&sp->s_lock); in auclnt_set_gain()
738 if (sp->s_gain_pct == gain) { in auclnt_set_gain()
739 mutex_exit(&sp->s_lock); in auclnt_set_gain()
747 scaled = (gain * sp->s_gain_master * AUDIO_DB_SIZE) / (100 * 100); in auclnt_set_gain()
749 sp->s_gain_pct = gain; in auclnt_set_gain()
750 sp->s_gain_scaled = auimpl_db_table[scaled]; in auclnt_set_gain()
752 if (!sp->s_muted) { in auclnt_set_gain()
753 sp->s_gain_eff = sp->s_gain_scaled; in auclnt_set_gain()
755 mutex_exit(&sp->s_lock); in auclnt_set_gain()
757 atomic_inc_uint(&sp->s_client->c_dev->d_serial); in auclnt_set_gain()
761 auclnt_get_gain(audio_stream_t *sp) in auclnt_get_gain() argument
763 return (sp->s_gain_pct); in auclnt_get_gain()
767 auclnt_set_muted(audio_stream_t *sp, boolean_t muted) in auclnt_set_muted() argument
769 mutex_enter(&sp->s_lock); in auclnt_set_muted()
772 if (sp->s_muted == muted) { in auclnt_set_muted()
773 mutex_exit(&sp->s_lock); in auclnt_set_muted()
777 sp->s_muted = muted; in auclnt_set_muted()
779 sp->s_gain_eff = 0; in auclnt_set_muted()
781 sp->s_gain_eff = sp->s_gain_scaled; in auclnt_set_muted()
783 mutex_exit(&sp->s_lock); in auclnt_set_muted()
785 atomic_inc_uint(&sp->s_client->c_dev->d_serial); in auclnt_set_muted()
789 auclnt_get_muted(audio_stream_t *sp) in auclnt_get_muted() argument
791 return (sp->s_muted); in auclnt_get_muted()
795 auclnt_is_running(audio_stream_t *sp) in auclnt_is_running() argument
797 return (sp->s_running); in auclnt_is_running()
801 auclnt_start(audio_stream_t *sp) in auclnt_start() argument
803 mutex_enter(&sp->s_lock); in auclnt_start()
804 sp->s_running = B_TRUE; in auclnt_start()
805 mutex_exit(&sp->s_lock); in auclnt_start()
809 auclnt_stop(audio_stream_t *sp) in auclnt_stop() argument
811 mutex_enter(&sp->s_lock); in auclnt_stop()
813 if (sp->s_running) { in auclnt_stop()
814 sp->s_running = B_FALSE; in auclnt_stop()
819 cv_broadcast(&sp->s_cv); in auclnt_stop()
821 mutex_exit(&sp->s_lock); in auclnt_stop()
834 auclnt_set_paused(audio_stream_t *sp) in auclnt_set_paused() argument
836 mutex_enter(&sp->s_lock); in auclnt_set_paused()
837 if (sp->s_paused) { in auclnt_set_paused()
838 mutex_exit(&sp->s_lock); in auclnt_set_paused()
841 sp->s_paused = B_TRUE; in auclnt_set_paused()
842 mutex_exit(&sp->s_lock); in auclnt_set_paused()
844 auclnt_stop(sp); in auclnt_set_paused()
846 atomic_inc_uint(&sp->s_client->c_dev->d_serial); in auclnt_set_paused()
850 auclnt_clear_paused(audio_stream_t *sp) in auclnt_clear_paused() argument
852 mutex_enter(&sp->s_lock); in auclnt_clear_paused()
853 if (!sp->s_paused) { in auclnt_clear_paused()
854 mutex_exit(&sp->s_lock); in auclnt_clear_paused()
857 sp->s_paused = B_FALSE; in auclnt_clear_paused()
858 mutex_exit(&sp->s_lock); in auclnt_clear_paused()
862 auclnt_is_paused(audio_stream_t *sp) in auclnt_is_paused() argument
864 return (sp->s_paused); in auclnt_is_paused()
868 auclnt_flush(audio_stream_t *sp) in auclnt_flush() argument
870 mutex_enter(&sp->s_lock); in auclnt_flush()
871 if (sp == &sp->s_client->c_ostream) { in auclnt_flush()
872 sp->s_tail = sp->s_head; in auclnt_flush()
873 sp->s_tidx = sp->s_hidx; in auclnt_flush()
875 sp->s_head = sp->s_tail; in auclnt_flush()
876 sp->s_hidx = sp->s_tidx; in auclnt_flush()
878 sp->s_cnv_cnt = 0; in auclnt_flush()
879 mutex_exit(&sp->s_lock); in auclnt_flush()
909 auimpl_stream_init(audio_stream_t *sp, audio_client_t *c) in auimpl_stream_init() argument
911 mutex_init(&sp->s_lock, NULL, MUTEX_DRIVER, NULL); in auimpl_stream_init()
912 cv_init(&sp->s_cv, NULL, CV_DRIVER, NULL); in auimpl_stream_init()
913 sp->s_client = c; in auimpl_stream_init()
915 if (sp == &c->c_ostream) { in auimpl_stream_init()
916 sp->s_user_parms = &sp->s_cnv_src_parms; in auimpl_stream_init()
917 sp->s_phys_parms = &sp->s_cnv_dst_parms; in auimpl_stream_init()
918 sp->s_engcap = ENGINE_OUTPUT_CAP; in auimpl_stream_init()
920 ASSERT(sp == &c->c_istream); in auimpl_stream_init()
921 sp->s_user_parms = &sp->s_cnv_dst_parms; in auimpl_stream_init()
922 sp->s_phys_parms = &sp->s_cnv_src_parms; in auimpl_stream_init()
923 sp->s_engcap = ENGINE_INPUT_CAP; in auimpl_stream_init()
927 sp->s_src_quality = 3; /* reasonable compromise for now */ in auimpl_stream_init()
928 sp->s_cnv_dst_nchan = 2; in auimpl_stream_init()
929 sp->s_cnv_dst_format = AUDIO_FORMAT_S24_NE; in auimpl_stream_init()
930 sp->s_cnv_dst_rate = 48000; in auimpl_stream_init()
931 sp->s_cnv_src_nchan = 2; in auimpl_stream_init()
932 sp->s_cnv_src_format = AUDIO_FORMAT_S24_NE; in auimpl_stream_init()
933 sp->s_cnv_src_rate = 48000; in auimpl_stream_init()
936 sp->s_muted = B_FALSE; in auimpl_stream_init()
937 sp->s_gain_pct = 0; in auimpl_stream_init()
938 sp->s_gain_scaled = AUDIO_VOL_SCALE; in auimpl_stream_init()
939 sp->s_gain_eff = AUDIO_VOL_SCALE; in auimpl_stream_init()
945 sp->s_allocsz = 65536; in auimpl_stream_init()
946 sp->s_data = ddi_umem_alloc(sp->s_allocsz, DDI_UMEM_NOSLEEP, in auimpl_stream_init()
947 &sp->s_cookie); in auimpl_stream_init()
948 if (sp->s_data == NULL) { in auimpl_stream_init()
949 sp->s_allocsz = 0; in auimpl_stream_init()
954 bzero(sp->s_data, sp->s_allocsz); in auimpl_stream_init()
959 mutex_enter(&sp->s_lock); in auimpl_stream_init()
960 if (auimpl_format_alloc(sp) != 0) { in auimpl_stream_init()
961 mutex_exit(&sp->s_lock); in auimpl_stream_init()
965 mutex_exit(&sp->s_lock); in auimpl_stream_init()
972 audio_stream_fini(audio_stream_t *sp) in audio_stream_fini() argument
974 auimpl_format_free(sp); in audio_stream_fini()
975 if (sp->s_cnv_buf0) in audio_stream_fini()
976 kmem_free(sp->s_cnv_buf0, sp->s_cnv_max); in audio_stream_fini()
977 if (sp->s_cnv_buf1) in audio_stream_fini()
978 kmem_free(sp->s_cnv_buf1, sp->s_cnv_max); in audio_stream_fini()
979 mutex_destroy(&sp->s_lock); in audio_stream_fini()
980 cv_destroy(&sp->s_cv); in audio_stream_fini()
981 if (sp->s_data != NULL) { in audio_stream_fini()
982 ddi_umem_free(sp->s_cookie); in audio_stream_fini()
983 sp->s_data = NULL; in audio_stream_fini()
990 audio_stream_t *sp; in auclnt_start_drain() local
993 sp = &c->c_ostream; in auclnt_start_drain()
996 mutex_enter(&sp->s_lock); in auclnt_start_drain()
997 if (sp->s_paused || !sp->s_running) { in auclnt_start_drain()
1000 sp->s_draining = B_TRUE; in auclnt_start_drain()
1003 mutex_exit(&sp->s_lock); in auclnt_start_drain()
1010 audio_stream_t *sp; in auclnt_drain() local
1012 sp = &c->c_ostream; in auclnt_drain()
1019 mutex_enter(&sp->s_lock); in auclnt_drain()
1020 sp->s_draining = B_TRUE; in auclnt_drain()
1021 while (sp->s_draining && sp->s_running && !sp->s_paused) { in auclnt_drain()
1022 if (cv_wait_sig(&sp->s_cv, &sp->s_lock) == 0) { in auclnt_drain()
1023 mutex_exit(&sp->s_lock); in auclnt_drain()
1027 mutex_exit(&sp->s_lock); in auclnt_drain()
1289 audio_stream_t *sp; in auclnt_open() local
1299 sp = &c->c_ostream; in auclnt_open()
1300 if ((rv = auimpl_engine_open(sp, flags | ENGINE_OUTPUT)) != 0) in auclnt_open()
1305 sp = &c->c_istream; in auclnt_open()
1306 if ((rv = auimpl_engine_open(sp, flags | ENGINE_INPUT)) != 0) in auclnt_open()
1459 auclnt_get_samples(audio_stream_t *sp) in auclnt_get_samples() argument
1463 mutex_enter(&sp->s_lock); in auclnt_get_samples()
1464 n = sp->s_samples; in auclnt_get_samples()
1465 mutex_exit(&sp->s_lock); in auclnt_get_samples()
1470 auclnt_set_samples(audio_stream_t *sp, uint64_t n) in auclnt_set_samples() argument
1472 mutex_enter(&sp->s_lock); in auclnt_set_samples()
1473 sp->s_samples = n; in auclnt_set_samples()
1474 mutex_exit(&sp->s_lock); in auclnt_set_samples()
1478 auclnt_get_errors(audio_stream_t *sp) in auclnt_get_errors() argument
1481 mutex_enter(&sp->s_lock); in auclnt_get_errors()
1482 n = sp->s_errors; in auclnt_get_errors()
1483 mutex_exit(&sp->s_lock); in auclnt_get_errors()
1488 auclnt_set_errors(audio_stream_t *sp, uint64_t n) in auclnt_set_errors() argument
1490 mutex_enter(&sp->s_lock); in auclnt_set_errors()
1491 sp->s_errors = n; in auclnt_set_errors()
1492 mutex_exit(&sp->s_lock); in auclnt_set_errors()