View | Details | Raw Unified | Return to bug 7467 | Differences between
and this patch

Collapse All | Expand All

(-)a/sound/pci/atiixp.c (-2 / +8 lines)
Lines 45-50 static char *id = SNDRV_DEFAULT_STR1; /* Link Here
45
static int ac97_clock = 48000;
45
static int ac97_clock = 48000;
46
static char *ac97_quirk;
46
static char *ac97_quirk;
47
static int spdif_aclink = 1;
47
static int spdif_aclink = 1;
48
static int ac97_codec = -1;
48
49
49
module_param(index, int, 0444);
50
module_param(index, int, 0444);
50
MODULE_PARM_DESC(index, "Index value for ATI IXP controller.");
51
MODULE_PARM_DESC(index, "Index value for ATI IXP controller.");
Lines 54-59 module_param(ac97_clock, int, 0444); Link Here
54
MODULE_PARM_DESC(ac97_clock, "AC'97 codec clock (default 48000Hz).");
55
MODULE_PARM_DESC(ac97_clock, "AC'97 codec clock (default 48000Hz).");
55
module_param(ac97_quirk, charp, 0444);
56
module_param(ac97_quirk, charp, 0444);
56
MODULE_PARM_DESC(ac97_quirk, "AC'97 workaround for strange hardware.");
57
MODULE_PARM_DESC(ac97_quirk, "AC'97 workaround for strange hardware.");
58
module_param(ac97_codec, int, 0444);
59
MODULE_PARM_DESC(ac97_codec, "Specify codec instead of probing.");
57
module_param(spdif_aclink, bool, 0444);
60
module_param(spdif_aclink, bool, 0444);
58
MODULE_PARM_DESC(spdif_aclink, "S/PDIF over AC-link.");
61
MODULE_PARM_DESC(spdif_aclink, "S/PDIF over AC-link.");
59
62
Lines 1327-1335 static irqreturn_t snd_atiixp_interrupt( Link Here
1327
	}
1330
	}
1328
1331
1329
	/* for codec detection */
1332
	/* for codec detection */
1330
	if (status & CODEC_CHECK_BITS) {
1333
	if (status & CODEC_CHECK_BITS || ac97_codec >= 0) {
1331
		unsigned int detected;
1334
		unsigned int detected;
1332
		detected = status & CODEC_CHECK_BITS;
1335
		if (ac97_codec >= 0)
1336
			detected = CODEC_CHECK_BITS ^ (1 << (ac97_codec + 10));
1337
		else
1338
			detected = status & CODEC_CHECK_BITS;
1333
		spin_lock(&chip->reg_lock);
1339
		spin_lock(&chip->reg_lock);
1334
		chip->codec_not_ready_bits |= detected;
1340
		chip->codec_not_ready_bits |= detected;
1335
		atiixp_update(chip, IER, detected, 0); /* disable the detected irqs */
1341
		atiixp_update(chip, IER, detected, 0); /* disable the detected irqs */

Return to bug 7467