Lines Matching defs:volch
59 struct pcm_channel *volch;
66 #define PCM_VOLCH(x) (((struct dsp_cdevinfo *)(x)->si_drv1)->volch)
228 struct pcm_channel *volch)
253 cdi->volch = volch;
266 cdi->volch = volch;
294 cdi->volch = NULL;
703 struct pcm_channel *rdch, *wrch, *volch;
719 volch = PCM_VOLCH(i_dev);
728 if (volch != NULL) {
729 if (volch == rdch)
731 else if (volch == wrch)
734 CHN_LOCK(volch);
735 pcm_chnref(volch, -1);
736 CHN_UNLOCK(volch);
905 dsp_get_volume_channel(struct cdev *dev, struct pcm_channel **volch)
911 KASSERT(dev != NULL && volch != NULL,
912 ("%s(): NULL query dev=%p volch=%p", __func__, dev, volch));
916 *volch = NULL;
922 *volch = NULL;
928 *volch = c;
944 *volch = c;
960 dsp_ioctl_channel(struct cdev *dev, struct pcm_channel *volch, u_long cmd,
979 if (volch == NULL)
980 volch = PCM_VOLCH(dev);
983 if (volch == NULL) {
985 volch = rdch;
987 volch = wrch;
993 if (volch == NULL &&
996 ret = dsp_get_volume_channel(dev, &volch);
999 if (volch == NULL)
1004 if (volch != NULL) {
1005 CHN_LOCK(volch);
1006 if (!(volch->feederflags & (1 << FEEDER_VOLUME))) {
1007 CHN_UNLOCK(volch);
1010 if (volch->direction == PCMDIR_PLAY)
1011 wrch = volch;
1013 rdch = volch;
1018 if (volch != NULL &&
1019 ((j == SOUND_MIXER_PCM && volch->direction == PCMDIR_PLAY) ||
1020 (j == SOUND_MIXER_RECLEV && volch->direction == PCMDIR_REC))) {
1027 chn_setvolume_multi(volch, SND_VOL_C_PCM, left, right,
1030 *(int *)arg = CHN_GETVOLUME(volch,
1032 *(int *)arg |= CHN_GETVOLUME(volch,
1061 if (volch != NULL)
1062 CHN_UNLOCK(volch);