[PATCH] PCI: quirk for asus a8v and a8v delux motherboards
On ASUS A8V and A8V Deluxe boards, the onboard AC97 audio controller and MC97 modem controller are deactivated when a second PCI soundcard is present. This patch enables them. Signed-off-by: Bauke Jan Douma <bjdouma@xs4all.nl> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
3c0a654e39
commit
e5548e960f
@@ -1074,6 +1074,37 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_651, quirk_sis_96x_
|
|||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_735, quirk_sis_96x_compatible );
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_735, quirk_sis_96x_compatible );
|
||||||
|
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_503, quirk_sis_503 );
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_503, quirk_sis_503 );
|
||||||
|
/*
|
||||||
|
* On ASUS A8V and A8V Deluxe boards, the onboard AC97 audio controller
|
||||||
|
* and MC97 modem controller are disabled when a second PCI soundcard is
|
||||||
|
* present. This patch, tweaking the VT8237 ISA bridge, enables them.
|
||||||
|
* -- bjd
|
||||||
|
*/
|
||||||
|
static void __init asus_hides_ac97_lpc(struct pci_dev *dev)
|
||||||
|
{
|
||||||
|
u8 val;
|
||||||
|
int asus_hides_ac97 = 0;
|
||||||
|
|
||||||
|
if (likely(dev->subsystem_vendor == PCI_VENDOR_ID_ASUSTEK)) {
|
||||||
|
if (dev->device == PCI_DEVICE_ID_VIA_8237)
|
||||||
|
asus_hides_ac97 = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!asus_hides_ac97)
|
||||||
|
return;
|
||||||
|
|
||||||
|
pci_read_config_byte(dev, 0x50, &val);
|
||||||
|
if (val & 0xc0) {
|
||||||
|
pci_write_config_byte(dev, 0x50, val & (~0xc0));
|
||||||
|
pci_read_config_byte(dev, 0x50, &val);
|
||||||
|
if (val & 0xc0)
|
||||||
|
printk(KERN_INFO "PCI: onboard AC97/MC97 devices continue to play 'hide and seek'! 0x%x\n", val);
|
||||||
|
else
|
||||||
|
printk(KERN_INFO "PCI: enabled onboard AC97/MC97 devices\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8237, asus_hides_ac97_lpc );
|
||||||
|
|
||||||
|
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_961, quirk_sis_96x_smbus );
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_961, quirk_sis_96x_smbus );
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_962, quirk_sis_96x_smbus );
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_962, quirk_sis_96x_smbus );
|
||||||
|
Reference in New Issue
Block a user