summaryrefslogtreecommitdiffstats
path: root/src/southbridge/intel/i82801gx/i82801gx_ac97.c
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2009-07-21 21:50:34 +0000
committerStefan Reinauer <stepan@openbios.org>2009-07-21 21:50:34 +0000
commit573f7d40be086b35b25d242818ae0e9c26d05022 (patch)
tree831bf36c8294b2dd1362af4e6de3b3f0df0fff50 /src/southbridge/intel/i82801gx/i82801gx_ac97.c
parent71a3d96bc487f66c84ac869a1215b8a4a4499bf2 (diff)
downloadcoreboot-staging-573f7d40be086b35b25d242818ae0e9c26d05022.zip
coreboot-staging-573f7d40be086b35b25d242818ae0e9c26d05022.tar.gz
Intel ICH7 updates
- code restructuring (move ich7 out of i945) - ACPI fixes - major SMI handler updates - make sure SMBus lives where we expect it - try to get usb debug working Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4456 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/southbridge/intel/i82801gx/i82801gx_ac97.c')
-rw-r--r--src/southbridge/intel/i82801gx/i82801gx_ac97.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/southbridge/intel/i82801gx/i82801gx_ac97.c b/src/southbridge/intel/i82801gx/i82801gx_ac97.c
index e78b1eb..f447de6 100644
--- a/src/southbridge/intel/i82801gx/i82801gx_ac97.c
+++ b/src/southbridge/intel/i82801gx/i82801gx_ac97.c
@@ -251,6 +251,21 @@ static void ac97_modem_init(struct device *dev)
}
}
+static void ac97_set_subsystem(device_t dev, unsigned vendor, unsigned device)
+{
+ if (!vendor || !device) {
+ pci_write_config32(dev, PCI_SUBSYSTEM_VENDOR_ID,
+ pci_read_config32(dev, PCI_VENDOR_ID));
+ } else {
+ pci_write_config32(dev, PCI_SUBSYSTEM_VENDOR_ID,
+ ((device & 0xffff) << 16) | (vendor & 0xffff));
+ }
+}
+
+static struct pci_operations ac97_pci_ops = {
+ .set_subsystem = ac97_set_subsystem,
+};
+
static struct device_operations ac97_audio_ops = {
.read_resources = pci_dev_read_resources,
.set_resources = pci_dev_set_resources,
@@ -258,6 +273,7 @@ static struct device_operations ac97_audio_ops = {
.init = ac97_audio_init,
.scan_bus = 0,
.enable = i82801gx_enable,
+ .ops_pci = &ac97_pci_ops,
};
static struct device_operations ac97_modem_ops = {
@@ -267,6 +283,7 @@ static struct device_operations ac97_modem_ops = {
.init = ac97_modem_init,
.scan_bus = 0,
.enable = i82801gx_enable,
+ .ops_pci = &ac97_pci_ops,
};
/* 82801GB/GR/GDH/GBM/GHM (ICH7/ICH7R/ICH7DH/ICH7-M/ICH7-M DH) */
OpenPOWER on IntegriCloud