Commit 14dae1f7 authored by Samuel Thibault's avatar Samuel Thibault Committed by Linus Torvalds

[PATCH] [2.5] maestro volume tuning

This tunes the volume control of maestro sound boards: The log
conversion seems not good for PCM and CD.  The volume buttons
incrementing / decrementing the main volume by 10 on 100 is too much,
much better set it to 5.
parent 24f6c6b0
......@@ -726,6 +726,12 @@ static void ac97_write_mixer(struct ess_card *card,int mixer, unsigned int left,
left = (left * mh->scale) / 100;
if ((left == 0) && (right == 0))
val |= 0x8000;
} else if (mixer == SOUND_MIXER_PCM || mixer == SOUND_MIXER_CD) {
/* log conversion seems bad for them */
if ((left == 0) && (right == 0))
val = 0x8000;
right = ((100 - right) * mh->scale) / 100;
left = ((100 - left) * mh->scale) / 100;
} else {
/* log conversion for the stereo controls */
if((left == 0) && (right == 0))
......@@ -1937,12 +1943,12 @@ ess_interrupt(int irq, void *dev_id, struct pt_regs *regs)
manner by adjusting the master mixer volume. */
volume = c->mix.mixer_state[0] & 0xff;
if (vol_evt == UP_EVT) {
volume += 10;
volume += 5;
if (volume > 100)
volume = 100;
}
else if (vol_evt == DOWN_EVT) {
volume -= 10;
volume -= 5;
if (volume < 0)
volume = 0;
} else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment