Home | History | Annotate | Download | only in server

Lines Matching refs:adev

48 static void update_estimated_rate(struct open_dev *adev)
51 struct cras_iodev *dev = adev->dev;
65 adev->coarse_rate_adjust);
75 struct open_dev *adev;
76 DL_FOREACH(adevs, adev) {
77 if (!adev->empty_pi || !pic_interval_elapsed(adev->empty_pi))
97 * adev - The output device streams are attached to.
102 static int fetch_streams(struct open_dev *adev)
105 struct cras_iodev *odev = adev->dev;
113 DL_FOREACH(adev->dev->streams, dev_stream) {
171 struct open_dev *adev;
175 DL_FOREACH(adevs, adev) {
176 if (!cras_iodev_is_open(adev->dev))
178 delay = cras_iodev_delay_frames(adev->dev);
189 * adev[in] - The device to capture from.
191 static unsigned int set_stream_delay(struct open_dev *adev)
197 delay = input_delay_frames(adev);
199 DL_FOREACH(adev->dev->streams, stream) {
211 * adev[in] - The device to capture from.
219 struct open_dev *adev,
230 DL_FOREACH(adev->dev->streams, stream) {
238 adev->dev->info.idx, rstream->stream_id,
268 struct open_dev *adev,
275 if(!adev || !adev->dev || !adev->dev->format ||
276 !adev->dev->format->frame_rate || !adev->dev->buffer_size)
281 dev_rate = adev->dev->format->frame_rate;
282 half_buffer_size = adev->dev->buffer_size / 2;
303 static int set_input_dev_wake_ts(struct open_dev *adev)
317 rc = cras_iodev_frames_queued(adev->dev, &level_tstamp);
325 cap_limit = get_stream_limit(adev, UINT_MAX, &cap_limit_stream);
331 DL_FOREACH(adev->dev->streams, stream) {
356 if(adev->dev->active_node &&
357 adev->dev->active_node->type != CRAS_NODE_TYPE_HOTWORD) {
358 rc = get_input_dev_max_wake_ts(adev, curr_level, &dev_wake_ts);
368 adev->wake_ts = min_ts;
374 * adev - The device to capture samples from.
377 static int capture_to_streams(struct open_dev *adev)
379 struct cras_iodev *idev = adev->dev;
386 DL_FOREACH(adev->dev->streams, stream)
400 adev->coarse_rate_adjust = 1;
402 adev->coarse_rate_adjust = -1;
404 adev->coarse_rate_adjust = 0;
406 update_estimated_rate(adev);
409 cap_limit = get_stream_limit(adev, hw_level, &cap_limit_stream);
410 set_stream_delay(adev);
430 DL_FOREACH(adev->dev->streams, stream) {
479 * adev - The device to write to.
489 struct open_dev *adev,
493 struct cras_iodev *odev = adev->dev;
504 DL_FOREACH(adev->dev->streams, curr) {
544 DL_FOREACH(adev->dev->streams, curr) {
572 * adev[in] - The device to update to.
575 void update_dev_wakeup_time(struct open_dev *adev, unsigned int *hw_level)
585 adev->dev, hw_level, &adev->wake_ts);
586 if (!timespec_is_nonzero(&adev->wake_ts))
587 adev->wake_ts = now;
589 if (cras_iodev_state(adev->dev) == CRAS_IODEV_STATE_NORMAL_RUN)
590 cras_iodev_update_highest_hw_level(adev->dev, *hw_level);
592 est_rate = adev->dev->ext_format->frame_rate *
593 cras_iodev_get_est_rate_ratio(adev->dev);
595 ATLOG(atlog, AUDIO_THREAD_SET_DEV_WAKE, adev->dev->info.idx,
603 add_timespecs(&adev->wake_ts, &sleep_time);
605 ATLOG(atlog, AUDIO_THREAD_DEV_SLEEP_TIME, adev->dev->info.idx,
606 adev->wake_ts.tv_sec, adev
611 struct open_dev *adev,
614 struct cras_iodev *odev = adev->dev;
642 ATLOG(atlog, AUDIO_THREAD_FILL_AUDIO_TSTAMP, adev->dev->info.idx,
646 adev->coarse_rate_adjust = 1;
648 adev->coarse_rate_adjust = -1;
650 adev->coarse_rate_adjust = 0;
653 update_estimated_rate(adev);
655 ATLOG(atlog, AUDIO_THREAD_FILL_AUDIO, adev->dev->info.idx, hw_level, 0);
673 written = write_streams(odevs, adev, dst, frames);
685 if (!adev->non_empty_check_pi) {
686 adev->non_empty_check_pi = pic_polled_interval_create(
692 if (adev->empty_pi ||
693 pic_interval_elapsed(adev->non_empty_check_pi)) {
695 pic_interval_reset(adev->non_empty_check_pi);
706 if (non_empty && adev->empty_pi) {
709 pic_polled_interval_destroy(&adev->empty_pi);
712 if (non_empty_ptr && !non_empty && !adev->empty_pi)
715 adev->empty_pi = pic_polled_interval_create(
731 struct open_dev *adev;
735 DL_FOREACH(idev_list, adev) {
738 if (!cras_iodev_is_open(adev->dev))
742 DL_FOREACH(adev->dev->streams, stream) {
747 rc = set_input_dev_wake_ts(adev);
758 struct open_dev *adev)
763 adev->dev->info.idx, 0, 0);
764 cras_iodev_reset_request(adev->dev);
767 dev_io_rm_open_dev(odevs, adev);
774 struct open_dev *adev;
777 DL_FOREACH(idev_list, adev) {
778 if (!cras_iodev_is_open(adev->dev))
780 rc = capture_to_streams(adev);
782 handle_dev_err(rc, list, adev);
790 struct open_dev *adev;
792 DL_FOREACH(odev_list, adev) {
793 if (!cras_iodev_is_open(adev->dev))
795 fetch_streams(adev);
802 struct open_dev *adev;
809 adev = *odevs;
810 if (adev && adev->next) {
811 DL_FOREACH(*odevs, adev) {
812 DL_FOREACH(adev->dev->streams, curr)
817 DL_FOREACH(*odevs, adev) {
818 if (!cras_iodev_is_open(adev->dev))
821 rc = write_output_samples(odevs, adev, output_converter);
823 handle_dev_err(rc, odevs, adev);
831 if (!cras_iodev_odev_should_wake(adev->dev))
838 update_dev_wakeup_time(adev, &hw_level);
852 adev->dev->info.idx,
854 rc = cras_iodev_output_underrun(adev->dev);
856 handle_dev_err(rc, odevs, adev);
858 update_dev_wakeup_time(adev, &hw_level);
865 DL_FOREACH(*odevs, adev) {
867 if (!cras_iodev_is_open(adev->dev))
869 DL_FOREACH(adev->dev->streams, stream) {
890 static int input_adev_ignore_wake(const struct open_dev *adev)
892 if (!cras_iodev_is_open(adev->dev))
895 if (!adev->dev->active_node)
898 if (adev->dev->active_node->type == CRAS_NODE_TYPE_HOTWORD &&
899 !cras_iodev_input_streaming(adev->dev))
907 struct open_dev *adev;
910 DL_FOREACH(*idevs, adev) {
911 if (input_adev_ignore_wake(adev))
914 ATLOG(atlog, AUDIO_THREAD_DEV_SLEEP_TIME, adev->dev->info.idx,
915 adev->wake_ts.tv_sec, adev->wake_ts.tv_nsec);
916 if (timespec_after(min_ts, &adev->wake_ts))
917 *min_ts = adev->wake_ts;