[ALSA] intel8x0 - fix capture for M1563
authorWei Ni <Wei.Ni@uli.com.tw>
Mon, 24 Oct 2005 09:04:51 +0000 (11:04 +0200)
committerJaroslav Kysela <perex@suse.cz>
Fri, 4 Nov 2005 12:19:41 +0000 (13:19 +0100)
Modules: Intel8x0 driver

1.In intel8x0_measure_ac97_clock routine, when stop DMA, there is not stop
  DMA corectly, but start another PCM In2 DMA engine.
2.In do_ali_reset routine, there is only need to enable PCM IN and PCM OUT.

Signed-off-by: Jaroslav Kysela <perex@suse.cz>
sound/pci/intel8x0.c

index d71f5d1..383a3ac 100644 (file)
@@ -2138,7 +2138,7 @@ static void do_ali_reset(intel8x0_t *chip)
        iputdword(chip, ICHREG(ALI_FIFOCR2), 0x83838383);
        iputdword(chip, ICHREG(ALI_FIFOCR3), 0x83838383);
        iputdword(chip, ICHREG(ALI_INTERFACECR),
-                 ICH_ALI_IF_MC|ICH_ALI_IF_PI|ICH_ALI_IF_PO);
+                 ICH_ALI_IF_PI|ICH_ALI_IF_PO);
        iputdword(chip, ICHREG(ALI_INTERRUPTCR), 0x00000000);
        iputdword(chip, ICHREG(ALI_INTERRUPTSR), 0x00000000);
 }
@@ -2484,7 +2484,7 @@ static void __devinit intel8x0_measure_ac97_clock(intel8x0_t *chip)
        do_gettimeofday(&stop_time);
        /* stop */
        if (chip->device_type == DEVICE_ALI) {
-               iputdword(chip, ICHREG(ALI_DMACR), 1 << (ichdev->ali_slot + 8));
+               iputdword(chip, ICHREG(ALI_DMACR), 1 << (ichdev->ali_slot + 16));
                iputbyte(chip, port + ICH_REG_OFF_CR, 0);
                while (igetbyte(chip, port + ICH_REG_OFF_CR))
                        ;