Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bd91fde9 authored by Chris Wedgwood's avatar Chris Wedgwood Committed by Greg Kroah-Hartman
Browse files

[PATCH] PCI: MSI-K8T-Neo2-Fir: run only where needed



Be more selective when running the MSI-K8T-Neo2Fir soundcard PCI quirk so
as not to run this on hardware where it's probably not needed.

Signed-off-by: default avatarChris Wedgwood <cw@f00f.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent d71374da
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -889,27 +889,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82375, quirk_e
 * when a PCI-Soundcard is added. The BIOS only gives Options
 * "Disabled" and "AUTO". This Quirk Sets the corresponding
 * Register-Value to enable the Soundcard.
 *
 * FIXME: Presently this quirk will run on anything that has an 8237
 * which isn't correct, we need to check DMI tables or something in
 * order to make sure it only runs on the MSI-K8T-Neo2Fir.  Because it
 * runs everywhere at present we suppress the printk output in most
 * irrelevant cases.
 */
static void __init k8t_sound_hostbridge(struct pci_dev *dev)
{
	unsigned char val;

	printk(KERN_INFO "PCI: Quirk-MSI-K8T Soundcard On\n");
	pci_read_config_byte(dev, 0x50, &val);
	if (val == 0x88 || val == 0xc8) {
		/* Assume it's probably a MSI-K8T-Neo2Fir */
		printk(KERN_INFO "PCI: MSI-K8T-Neo2Fir, attempting to turn soundcard ON\n");
		pci_write_config_byte(dev, 0x50, val & (~0x40));

		/* Verify the Change for Status output */
		pci_read_config_byte(dev, 0x50, &val);
		if (val & 0x40)
			printk(KERN_INFO "PCI: MSI-K8T soundcard still off\n");
			printk(KERN_INFO "PCI: MSI-K8T-Neo2Fir, soundcard still off\n");
		else
			printk(KERN_INFO "PCI: MSI-K8T soundcard on\n");
	} else {
		printk(KERN_INFO "PCI: Unexpected Value in PCI-Register: "
					"no Change!\n");
			printk(KERN_INFO "PCI: MSI-K8T-Neo2Fir, soundcard on\n");
	}

}
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8237, k8t_sound_hostbridge);