Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/sound/pcm/sndstat.c
| Show First 20 Lines • Show All 518 Lines • ▼ Show 20 Lines | CHN_FOREACH(c, d, channels.pcm) { | ||||
| nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_READY, | nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_READY, | ||||
| sndbuf_getready(c->bufsoft)); | sndbuf_getready(c->bufsoft)); | ||||
| if (c->parentchannel != NULL) { | if (c->parentchannel != NULL) { | ||||
| sbuf_printf(&sb, "[%s", (c->direction == PCMDIR_REC) ? | sbuf_printf(&sb, "[%s", (c->direction == PCMDIR_REC) ? | ||||
| c->parentchannel->name : "userland"); | c->parentchannel->name : "userland"); | ||||
| } else { | } else { | ||||
| sbuf_printf(&sb, "[%s", (c->direction == PCMDIR_REC) ? | sbuf_printf(&sb, "[%s", (c->direction == PCMDIR_REC) ? | ||||
| "hardware" : "userland"); | "hardware" : | ||||
| ((d->flags & SD_F_PVCHANS) ? "vchans" : "userland")); | |||||
| } | } | ||||
| sbuf_printf(&sb, " -> "); | sbuf_printf(&sb, " -> "); | ||||
| f = c->feeder; | f = c->feeder; | ||||
| while (f->source != NULL) | while (f->source != NULL) | ||||
| f = f->source; | f = f->source; | ||||
| while (f != NULL) { | while (f != NULL) { | ||||
| sbuf_printf(&sb, "%s", f->class->name); | sbuf_printf(&sb, "%s", f->class->name); | ||||
| if (f->desc->type == FEEDER_FORMAT) { | if (f->desc->type == FEEDER_FORMAT) { | ||||
| Show All 20 Lines | while (f != NULL) { | ||||
| sbuf_printf(&sb, " -> "); | sbuf_printf(&sb, " -> "); | ||||
| f = f->parent; | f = f->parent; | ||||
| } | } | ||||
| if (c->parentchannel != NULL) { | if (c->parentchannel != NULL) { | ||||
| sbuf_printf(&sb, "%s]", (c->direction == PCMDIR_REC) ? | sbuf_printf(&sb, "%s]", (c->direction == PCMDIR_REC) ? | ||||
| "userland" : c->parentchannel->name); | "userland" : c->parentchannel->name); | ||||
| } else { | } else { | ||||
| sbuf_printf(&sb, "%s]", (c->direction == PCMDIR_REC) ? | sbuf_printf(&sb, "%s]", (c->direction == PCMDIR_REC) ? | ||||
| "userland" : "hardware"); | ((d->flags & SD_F_RVCHANS) ? "vchans" : "userland") : | ||||
| "hardware"); | |||||
| } | } | ||||
| CHN_UNLOCK(c); | CHN_UNLOCK(c); | ||||
| sbuf_finish(&sb); | sbuf_finish(&sb); | ||||
| nvlist_add_string(cdi, SNDST_DSPS_SOUND4_CHAN_FEEDERCHAIN, | nvlist_add_string(cdi, SNDST_DSPS_SOUND4_CHAN_FEEDERCHAIN, | ||||
| sbuf_data(&sb)); | sbuf_data(&sb)); | ||||
| sbuf_delete(&sb); | sbuf_delete(&sb); | ||||
| ▲ Show 20 Lines • Show All 742 Lines • ▼ Show 20 Lines | CHN_FOREACH(c, d, channels.pcm) { | ||||
| sbuf_printf(s, "\tchannel flags=0x%b", c->flags, CHN_F_BITS); | sbuf_printf(s, "\tchannel flags=0x%b", c->flags, CHN_F_BITS); | ||||
| sbuf_printf(s, "\n\t"); | sbuf_printf(s, "\n\t"); | ||||
| if (c->parentchannel != NULL) { | if (c->parentchannel != NULL) { | ||||
| sbuf_printf(s, "\t{%s}", (c->direction == PCMDIR_REC) ? | sbuf_printf(s, "\t{%s}", (c->direction == PCMDIR_REC) ? | ||||
| c->parentchannel->name : "userland"); | c->parentchannel->name : "userland"); | ||||
| } else { | } else { | ||||
| sbuf_printf(s, "\t{%s}", (c->direction == PCMDIR_REC) ? | sbuf_printf(s, "\t{%s}", (c->direction == PCMDIR_REC) ? | ||||
| "hardware" : "userland"); | "hardware" : | ||||
| ((d->flags & SD_F_PVCHANS) ? "vchans" : "userland")); | |||||
| } | } | ||||
| sbuf_printf(s, " -> "); | sbuf_printf(s, " -> "); | ||||
| f = c->feeder; | f = c->feeder; | ||||
| while (f->source != NULL) | while (f->source != NULL) | ||||
| f = f->source; | f = f->source; | ||||
| while (f != NULL) { | while (f != NULL) { | ||||
| sbuf_printf(s, "%s", f->class->name); | sbuf_printf(s, "%s", f->class->name); | ||||
| if (f->desc->type == FEEDER_FORMAT) { | if (f->desc->type == FEEDER_FORMAT) { | ||||
| Show All 21 Lines | while (f != NULL) { | ||||
| sbuf_printf(s, " -> "); | sbuf_printf(s, " -> "); | ||||
| f = f->parent; | f = f->parent; | ||||
| } | } | ||||
| if (c->parentchannel != NULL) { | if (c->parentchannel != NULL) { | ||||
| sbuf_printf(s, "{%s}", (c->direction == PCMDIR_REC) ? | sbuf_printf(s, "{%s}", (c->direction == PCMDIR_REC) ? | ||||
| "userland" : c->parentchannel->name); | "userland" : c->parentchannel->name); | ||||
| } else { | } else { | ||||
| sbuf_printf(s, "{%s}", (c->direction == PCMDIR_REC) ? | sbuf_printf(s, "{%s}", (c->direction == PCMDIR_REC) ? | ||||
| "userland" : "hardware"); | ((d->flags & SD_F_RVCHANS) ? "vchans" : "userland") : | ||||
| "hardware"); | |||||
| } | } | ||||
| CHN_UNLOCK(c); | CHN_UNLOCK(c); | ||||
| } | } | ||||
| return (0); | return (0); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 86 Lines • Show Last 20 Lines | |||||