Lines Matching full:ai
2081 dsp_oss_audioinfo_unavail(oss_audioinfo *ai, int unit) in dsp_oss_audioinfo_unavail() argument
2083 bzero(ai, sizeof(*ai)); in dsp_oss_audioinfo_unavail()
2084 ai->dev = unit; in dsp_oss_audioinfo_unavail()
2085 snprintf(ai->name, sizeof(ai->name), "pcm%d (unavailable)", unit); in dsp_oss_audioinfo_unavail()
2086 ai->pid = -1; in dsp_oss_audioinfo_unavail()
2087 strlcpy(ai->cmd, CHN_COMM_UNUSED, sizeof(ai->cmd)); in dsp_oss_audioinfo_unavail()
2088 ai->card_number = unit; in dsp_oss_audioinfo_unavail()
2089 ai->port_number = unit; in dsp_oss_audioinfo_unavail()
2090 ai->mixer_dev = -1; in dsp_oss_audioinfo_unavail()
2091 ai->legacy_device = unit; in dsp_oss_audioinfo_unavail()
2097 * Gathers information about the audio device specified in ai->dev. If
2098 * ai->dev == -1, then this function gathers information about the current
2099 * device. If the call comes in on a non-audio device and ai->dev == -1,
2110 * @param ai ioctl request data container
2115 * @retval EINVAL ai->dev specifies an invalid device
2118 dsp_oss_audioinfo(struct cdev *i_dev, oss_audioinfo *ai, bool ex) in dsp_oss_audioinfo() argument
2131 if (ai->dev == -1 && i_dev->si_devsw != &dsp_cdevsw) in dsp_oss_audioinfo()
2139 if ((ai->dev == -1 && unit == snd_unit) || in dsp_oss_audioinfo()
2140 ai->dev == unit) { in dsp_oss_audioinfo()
2141 dsp_oss_audioinfo_unavail(ai, unit); in dsp_oss_audioinfo()
2152 if ((ai->dev == -1 && d->dsp_dev == i_dev) || in dsp_oss_audioinfo()
2153 (ai->dev == unit)) { in dsp_oss_audioinfo()
2172 bzero((void *)ai, sizeof(oss_audioinfo)); in dsp_oss_audioinfo()
2173 ai->dev = unit; in dsp_oss_audioinfo()
2174 strlcpy(ai->name, device_get_desc(d->dev), sizeof(ai->name)); in dsp_oss_audioinfo()
2175 ai->pid = -1; in dsp_oss_audioinfo()
2176 strlcpy(ai->cmd, CHN_COMM_UNKNOWN, sizeof(ai->cmd)); in dsp_oss_audioinfo()
2177 ai->card_number = unit; in dsp_oss_audioinfo()
2178 ai->port_number = unit; in dsp_oss_audioinfo()
2179 ai->mixer_dev = (d->mixer_dev != NULL) ? unit : -1; in dsp_oss_audioinfo()
2180 ai->legacy_device = unit; in dsp_oss_audioinfo()
2181 snprintf(ai->devnode, sizeof(ai->devnode), "/dev/dsp%d", unit); in dsp_oss_audioinfo()
2182 ai->enabled = device_is_attached(d->dev) ? 1 : 0; in dsp_oss_audioinfo()
2183 ai->next_play_engine = 0; in dsp_oss_audioinfo()
2184 ai->next_rec_engine = 0; in dsp_oss_audioinfo()
2185 ai->busy = 0; in dsp_oss_audioinfo()
2186 ai->caps = PCM_CAP_REALTIME | PCM_CAP_MMAP | PCM_CAP_TRIGGER; in dsp_oss_audioinfo()
2187 ai->iformats = 0; in dsp_oss_audioinfo()
2188 ai->oformats = 0; in dsp_oss_audioinfo()
2189 ai->min_rate = INT_MAX; in dsp_oss_audioinfo()
2190 ai->max_rate = 0; in dsp_oss_audioinfo()
2191 ai->min_channels = INT_MAX; in dsp_oss_audioinfo()
2192 ai->max_channels = 0; in dsp_oss_audioinfo()
2214 ai->busy |= (ch->direction == PCMDIR_PLAY) ? in dsp_oss_audioinfo()
2218 ai->caps |= in dsp_oss_audioinfo()
2235 ai->oformats |= fmts; in dsp_oss_audioinfo()
2237 ai->iformats |= fmts; in dsp_oss_audioinfo()
2240 ai->min_rate = min(ai->min_rate, caps->minspeed); in dsp_oss_audioinfo()
2241 ai->max_rate = max(ai->max_rate, caps->maxspeed); in dsp_oss_audioinfo()
2243 ai->min_rate = min(ai->min_rate, feeder_rate_min); in dsp_oss_audioinfo()
2244 ai->max_rate = max(ai->max_rate, feeder_rate_max); in dsp_oss_audioinfo()
2246 ai->min_channels = min(ai->min_channels, minch); in dsp_oss_audioinfo()
2247 ai->max_channels = max(ai->max_channels, maxch); in dsp_oss_audioinfo()
2251 if (ai->min_rate == INT_MAX) in dsp_oss_audioinfo()
2252 ai->min_rate = 0; in dsp_oss_audioinfo()
2253 if (ai->min_channels == INT_MAX) in dsp_oss_audioinfo()
2254 ai->min_channels = 0; in dsp_oss_audioinfo()
2276 * Gathers information about the audio device's engine specified in ai->dev.
2277 * If ai->dev == -1, then this function gathers information about the current
2278 * device. If the call comes in on a non-audio device and ai->dev == -1,
2289 * @param ai ioctl request data container
2292 * @retval EINVAL ai->dev specifies an invalid device
2295 dsp_oss_engineinfo(struct cdev *i_dev, oss_audioinfo *ai) in dsp_oss_engineinfo() argument
2308 if (ai->dev == -1 && i_dev->si_devsw != &dsp_cdevsw) in dsp_oss_engineinfo()
2334 if ((ai->dev == -1 && devfs_foreach_cdevpriv( in dsp_oss_engineinfo()
2336 ai->dev == nchan) in dsp_oss_engineinfo()
2361 bzero((void *)ai, sizeof(oss_audioinfo)); in dsp_oss_engineinfo()
2363 ai->dev = nchan; in dsp_oss_engineinfo()
2364 strlcpy(ai->name, ch->name, sizeof(ai->name)); in dsp_oss_engineinfo()
2367 ai->busy = 0; in dsp_oss_engineinfo()
2369 ai->busy = (ch->direction == PCMDIR_PLAY) ? OPEN_WRITE : OPEN_READ; in dsp_oss_engineinfo()
2371 ai->pid = ch->pid; in dsp_oss_engineinfo()
2372 strlcpy(ai->cmd, ch->comm, sizeof(ai->cmd)); in dsp_oss_engineinfo()
2383 ai->caps = PCM_CAP_REALTIME | PCM_CAP_MMAP | PCM_CAP_TRIGGER | in dsp_oss_engineinfo()
2401 ai->oformats = fmts; in dsp_oss_engineinfo()
2403 ai->iformats = fmts; in dsp_oss_engineinfo()
2417 ai->card_number = unit; in dsp_oss_engineinfo()
2424 ai->port_number = unit; in dsp_oss_engineinfo()
2425 ai->mixer_dev = (d->mixer_dev != NULL) ? unit : -1; in dsp_oss_engineinfo()
2430 ai->legacy_device = unit; in dsp_oss_engineinfo()
2431 snprintf(ai->devnode, sizeof(ai->devnode), "/dev/dsp%d", unit); in dsp_oss_engineinfo()
2432 ai->enabled = device_is_attached(d->dev) ? 1 : 0; in dsp_oss_engineinfo()
2446 ai->min_rate = caps->minspeed; in dsp_oss_engineinfo()
2447 ai->max_rate = caps->maxspeed; in dsp_oss_engineinfo()
2449 ai->min_rate = feeder_rate_min; in dsp_oss_engineinfo()
2450 ai->max_rate = feeder_rate_max; in dsp_oss_engineinfo()
2453 ai->min_channels = minch; in dsp_oss_engineinfo()
2454 ai->max_channels = maxch; in dsp_oss_engineinfo()
2456 ai->nrates = chn_getrates(ch, &rates); in dsp_oss_engineinfo()
2457 if (ai->nrates > OSS_MAX_SAMPLE_RATES) in dsp_oss_engineinfo()
2458 ai->nrates = OSS_MAX_SAMPLE_RATES; in dsp_oss_engineinfo()
2460 for (i = 0; i < ai->nrates; i++) in dsp_oss_engineinfo()
2461 ai->rates[i] = rates[i]; in dsp_oss_engineinfo()
2463 ai->next_play_engine = 0; in dsp_oss_engineinfo()
2464 ai->next_rec_engine = 0; in dsp_oss_engineinfo()