Lines Matching refs:dir

54 static long to_user(struct selem_base *s, int dir, struct helem_base *c, long value)
58 return s->dir[dir].min;
59 n = (int64_t) (value - c->min) * (s->dir[dir].max - s->dir[dir].min);
60 return s->dir[dir].min + (n + (c->max - c->min) / 2) / (c->max - c->min);
63 static long from_user(struct selem_base *s, int dir, struct helem_base *c, long value)
66 if (s->dir[dir].max == s->dir[dir].min)
68 n = (int64_t) (value - s->dir[dir].min) * (c->max - c->min);
69 return c->min + (n + (s->dir[dir].max - s->dir[dir].min) / 2) / (s->dir[dir].max - s->dir[dir].min);
77 unsigned int dir, ok_flag;
81 for (dir = 0; dir < 2; dir++) {
82 s->dir[dir].min = 0;
83 s->dir[dir].max = 0;
88 if (helem->caps & mask[dir]) {
89 s->dir[dir].min = helem->min;
90 s->dir[dir].max = helem->max;
99 if (helem->caps & gmask[dir]) {
100 s->dir[dir].min = helem->min;
101 s->dir[dir].max = helem->max;
112 static int is_ops(snd_mixer_elem_t *elem, int dir, int cmd, int val)
130 return chanmap_to_channels(s->dir[dir].chanmap) == 1;
135 return !!((1 << val) & s->dir[dir].chanmap);
154 static int get_range_ops(snd_mixer_elem_t *elem, int dir,
159 *min = s->dir[dir].min;
160 *max = s->dir[dir].max;
166 int dir ATTRIBUTE_UNUSED,
173 static int set_range_ops(snd_mixer_elem_t *elem, int dir,
179 s->dir[dir].forced_range = 1;
180 s->dir[dir].min = min;
181 s->dir[dir].max = max;
188 static int get_volume_ops(snd_mixer_elem_t *elem, int dir,
193 *value = s->dir[dir].vol[channel];
198 int dir ATTRIBUTE_UNUSED,
206 int dir ATTRIBUTE_UNUSED,
216 int dir ATTRIBUTE_UNUSED,
225 int dir ATTRIBUTE_UNUSED,
234 int dir ATTRIBUTE_UNUSED,
424 simple->dir[0].chanmap |= sid->chanmap[0];
425 simple->dir[1].chanmap |= sid->chanmap[1];