Lines Matching refs:actx

160 static int hda_audio_ctxt_init(struct hda_audio_ctxt *actx, const char *tname,
162 static int hda_audio_ctxt_start(struct hda_audio_ctxt *actx);
163 static int hda_audio_ctxt_stop(struct hda_audio_ctxt *actx);
186 struct hda_audio_ctxt actx; member
427 err = hda_audio_ctxt_init(&st->actx, "hda-audio-output", in hda_codec_init()
445 err = hda_audio_ctxt_init(&st->actx, "hda-audio-input", in hda_codec_init()
584 struct hda_audio_ctxt *actx = NULL; in hda_codec_notify() local
605 actx = &st->actx; in hda_codec_notify()
608 err = hda_audio_ctxt_start(actx); in hda_codec_notify()
610 err = hda_audio_ctxt_stop(actx); in hda_codec_notify()
794 DPRINTF("%s verb: 0x%x, payload, 0x%x", st->actx.name, verb, payload); in hda_codec_audio_inout_nid()
839 hda_audio_ctxt_stop(&st->actx); in hda_codec_audio_inout_nid()
865 struct hda_audio_ctxt *actx = arg; in hda_audio_ctxt_thr() local
867 DPRINTF("Start Thread: %s", actx->name); in hda_audio_ctxt_thr()
869 pthread_mutex_lock(&actx->mtx); in hda_audio_ctxt_thr()
871 while (!actx->run) in hda_audio_ctxt_thr()
872 pthread_cond_wait(&actx->cond, &actx->mtx); in hda_audio_ctxt_thr()
874 actx->do_transfer(actx->priv); in hda_audio_ctxt_thr()
876 pthread_mutex_unlock(&actx->mtx); in hda_audio_ctxt_thr()
883 hda_audio_ctxt_init(struct hda_audio_ctxt *actx, const char *tname, in hda_audio_ctxt_init() argument
888 assert(actx); in hda_audio_ctxt_init()
894 memset(actx, 0, sizeof(*actx)); in hda_audio_ctxt_init()
896 actx->run = 0; in hda_audio_ctxt_init()
897 actx->do_transfer = do_transfer; in hda_audio_ctxt_init()
898 actx->do_setup = do_setup; in hda_audio_ctxt_init()
899 actx->priv = priv; in hda_audio_ctxt_init()
900 if (strlen(tname) < sizeof(actx->name)) in hda_audio_ctxt_init()
901 memcpy(actx->name, tname, strlen(tname) + 1); in hda_audio_ctxt_init()
903 strcpy(actx->name, "unknown"); in hda_audio_ctxt_init()
905 err = pthread_mutex_init(&actx->mtx, NULL); in hda_audio_ctxt_init()
908 err = pthread_cond_init(&actx->cond, NULL); in hda_audio_ctxt_init()
911 err = pthread_create(&actx->tid, NULL, hda_audio_ctxt_thr, actx); in hda_audio_ctxt_init()
914 pthread_set_name_np(actx->tid, tname); in hda_audio_ctxt_init()
916 actx->started = 1; in hda_audio_ctxt_init()
922 hda_audio_ctxt_start(struct hda_audio_ctxt *actx) in hda_audio_ctxt_start() argument
926 assert(actx); in hda_audio_ctxt_start()
927 assert(actx->started); in hda_audio_ctxt_start()
930 if (actx->run) in hda_audio_ctxt_start()
933 pthread_mutex_lock(&actx->mtx); in hda_audio_ctxt_start()
934 err = (* actx->do_setup)(actx->priv); in hda_audio_ctxt_start()
936 actx->run = 1; in hda_audio_ctxt_start()
937 pthread_cond_signal(&actx->cond); in hda_audio_ctxt_start()
939 pthread_mutex_unlock(&actx->mtx); in hda_audio_ctxt_start()
945 hda_audio_ctxt_stop(struct hda_audio_ctxt *actx) in hda_audio_ctxt_stop() argument
947 actx->run = 0; in hda_audio_ctxt_stop()