diff options
author | Martin Roth <martin@se-eng.com> | 2012-04-26 16:04:18 -0600 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2012-04-28 02:45:22 +0200 |
commit | e9dfdd9dbdbe91cb5754671592ae3d1fc0916f3c (patch) | |
tree | 4d6728d6dbdd554d56d2b96d564faf179f5a16fa | |
parent | 0e672b52d46f05aec066e7625c097e69baa62a23 (diff) | |
download | coreboot-e9dfdd9dbdbe91cb5754671592ae3d1fc0916f3c.tar.xz |
Reverse Vendor ID & Device ID for map_oprom_vendev()
- When calling map_oprom_vendev() the vendor ID and device ID
are joined into a 32 bit value. They were reversed from the
order that I would have expected - Device ID as the high 16 bits
and the Vendor ID as the low 16. This patch reverses them so
so that the the dword comparison in map_oprom_vendev() matches
what's entered into Kconfig for vendor,device.
- Change files calling map_oprom_vendev()
Change-Id: I5b84db3cb1a359a7533409fde7d05fbc6ba3fcc4
Signed-off-by: Martin L Roth <martin@se-eng.com>
Reviewed-on: http://review.coreboot.org/938
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
-rw-r--r-- | src/devices/pci_rom.c | 6 | ||||
-rw-r--r-- | src/northbridge/intel/sandybridge/gma.c | 16 |
2 files changed, 11 insertions, 11 deletions
diff --git a/src/devices/pci_rom.c b/src/devices/pci_rom.c index 800776e8df..e7933eba08 100644 --- a/src/devices/pci_rom.c +++ b/src/devices/pci_rom.c @@ -37,7 +37,7 @@ struct rom_header *pci_rom_probe(struct device *dev) /* If it's in FLASH, then don't check device for ROM. */ rom_header = cbfs_load_optionrom(dev->vendor, dev->device, NULL); - u32 vendev = dev->vendor | (dev->device << 16); + u32 vendev = (dev->vendor << 16) | dev->device; u32 mapped_vendev = vendev; if (map_oprom_vendev) @@ -45,8 +45,8 @@ struct rom_header *pci_rom_probe(struct device *dev) if (!rom_header) { if (vendev != mapped_vendev) { - rom_header = cbfs_load_optionrom(mapped_vendev & - 0xffff, mapped_vendev >> 16, NULL); + rom_header = cbfs_load_optionrom(mapped_vendev >> 16, + mapped_vendev & 0xffff , NULL); } } diff --git a/src/northbridge/intel/sandybridge/gma.c b/src/northbridge/intel/sandybridge/gma.c index 00b5957035..4aabb7547c 100644 --- a/src/northbridge/intel/sandybridge/gma.c +++ b/src/northbridge/intel/sandybridge/gma.c @@ -37,14 +37,14 @@ u32 map_oprom_vendev(u32 vendev) u32 new_vendev=vendev; switch (vendev) { - case 0x01028086: /* GT1 Desktop */ - case 0x010a8086: /* GT1 Server */ - case 0x01128086: /* GT2 Desktop */ - case 0x01168086: /* GT2 Mobile */ - case 0x01228086: /* GT2 Desktop >=1.3GHz */ - case 0x01268086: /* GT2 Mobile >=1.3GHz */ - case 0x01668086: /* IVB */ - new_vendev=0x01068086; /* GT1 Mobile */ + case 0x80860102: /* GT1 Desktop */ + case 0x8086010a: /* GT1 Server */ + case 0x80860112: /* GT2 Desktop */ + case 0x80860116: /* GT2 Mobile */ + case 0x80860122: /* GT2 Desktop >=1.3GHz */ + case 0x80860126: /* GT2 Mobile >=1.3GHz */ + case 0x80860166: /* IVB */ + new_vendev=0x80860106; /* GT1 Mobile */ break; } |