PCI: re-enable onboard sound on "MSI K8T Neo2-FIR"
On the "MSI K8T Neo2-FIR" board the BIOS disables the onboard soundcard, if a second PCI soundcard is present. This patch sets the korrect register bit to enable the onboard sound. Removed old code in /drivers/pci/quirks.c that only checks for the PCI-ID and fires on any Board with VIA 8237. New code in /arch/i386/pci/fixup.c checks the DMI-tables and only runs on the specific board. Signed-off-by: Johannes Goecke <goecke@upb.de> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
651472fbff
commit
346ca04d05
@@ -925,38 +925,6 @@ static void __init quirk_eisa_bridge(struct pci_dev *dev)
|
||||
}
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82375, quirk_eisa_bridge );
|
||||
|
||||
/*
|
||||
* On the MSI-K8T-Neo2Fir Board, the internal Soundcard is disabled
|
||||
* 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 k8t_sound_hostbridge(struct pci_dev *dev)
|
||||
{
|
||||
unsigned char val;
|
||||
|
||||
pci_read_config_byte(dev, 0x50, &val);
|
||||
if (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-Neo2Fir, soundcard still off\n");
|
||||
else
|
||||
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);
|
||||
DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8237, k8t_sound_hostbridge);
|
||||
|
||||
/*
|
||||
* On ASUS P4B boards, the SMBus PCI Device within the ICH2/4 southbridge
|
||||
|
Reference in New Issue
Block a user