[ALSA] intel8x0 - fix capture for M1563
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>
This commit is contained in:
@@ -2138,7 +2138,7 @@ static void do_ali_reset(intel8x0_t *chip)
|
|||||||
iputdword(chip, ICHREG(ALI_FIFOCR2), 0x83838383);
|
iputdword(chip, ICHREG(ALI_FIFOCR2), 0x83838383);
|
||||||
iputdword(chip, ICHREG(ALI_FIFOCR3), 0x83838383);
|
iputdword(chip, ICHREG(ALI_FIFOCR3), 0x83838383);
|
||||||
iputdword(chip, ICHREG(ALI_INTERFACECR),
|
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_INTERRUPTCR), 0x00000000);
|
||||||
iputdword(chip, ICHREG(ALI_INTERRUPTSR), 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);
|
do_gettimeofday(&stop_time);
|
||||||
/* stop */
|
/* stop */
|
||||||
if (chip->device_type == DEVICE_ALI) {
|
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);
|
iputbyte(chip, port + ICH_REG_OFF_CR, 0);
|
||||||
while (igetbyte(chip, port + ICH_REG_OFF_CR))
|
while (igetbyte(chip, port + ICH_REG_OFF_CR))
|
||||||
;
|
;
|
||||||
|
Reference in New Issue
Block a user