~ubuntu-branches/ubuntu/quantal/linux-lowlatency/quantal

« back to all changes in this revision

Viewing changes to sound/pci/oxygen/oxygen_mixer.c

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-04kado7d1u2er2rl
Tags: 3.2.0-16.25
Add new lowlatency kernel flavour

Show diffs side-by-side

added added

removed removed

Lines of Context:
618
618
        mutex_lock(&chip->mutex);
619
619
        reg = oxygen_read_ac97(chip, codec, index);
620
620
        mutex_unlock(&chip->mutex);
621
 
        value->value.integer.value[0] = 31 - (reg & 0x1f);
622
 
        if (stereo)
623
 
                value->value.integer.value[1] = 31 - ((reg >> 8) & 0x1f);
 
621
        if (!stereo) {
 
622
                value->value.integer.value[0] = 31 - (reg & 0x1f);
 
623
        } else {
 
624
                value->value.integer.value[0] = 31 - ((reg >> 8) & 0x1f);
 
625
                value->value.integer.value[1] = 31 - (reg & 0x1f);
 
626
        }
624
627
        return 0;
625
628
}
626
629
 
636
639
 
637
640
        mutex_lock(&chip->mutex);
638
641
        oldreg = oxygen_read_ac97(chip, codec, index);
639
 
        newreg = oldreg;
640
 
        newreg = (newreg & ~0x1f) |
641
 
                (31 - (value->value.integer.value[0] & 0x1f));
642
 
        if (stereo)
643
 
                newreg = (newreg & ~0x1f00) |
644
 
                        ((31 - (value->value.integer.value[1] & 0x1f)) << 8);
645
 
        else
646
 
                newreg = (newreg & ~0x1f00) | ((newreg & 0x1f) << 8);
 
642
        if (!stereo) {
 
643
                newreg = oldreg & ~0x1f;
 
644
                newreg |= 31 - (value->value.integer.value[0] & 0x1f);
 
645
        } else {
 
646
                newreg = oldreg & ~0x1f1f;
 
647
                newreg |= (31 - (value->value.integer.value[0] & 0x1f)) << 8;
 
648
                newreg |= 31 - (value->value.integer.value[1] & 0x1f);
 
649
        }
647
650
        change = newreg != oldreg;
648
651
        if (change)
649
652
                oxygen_write_ac97(chip, codec, index, newreg);