diff options
author | Stefan Reinauer <stepan@coresystems.de> | 2009-07-21 21:50:34 +0000 |
---|---|---|
committer | Stefan Reinauer <stepan@openbios.org> | 2009-07-21 21:50:34 +0000 |
commit | 573f7d40be086b35b25d242818ae0e9c26d05022 (patch) | |
tree | 831bf36c8294b2dd1362af4e6de3b3f0df0fff50 /src/southbridge/intel/i82801gx/i82801gx_ac97.c | |
parent | 71a3d96bc487f66c84ac869a1215b8a4a4499bf2 (diff) | |
download | coreboot-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.c | 17 |
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) */ |