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>
diff --git a/src/devices/pci_rom.c b/src/devices/pci_rom.c
index 800776e..e7933eb 100644
--- a/src/devices/pci_rom.c
+++ b/src/devices/pci_rom.c
@@ -37,7 +37,7 @@
/* 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 @@
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 00b5957..4aabb75 100644
--- a/src/northbridge/intel/sandybridge/gma.c
+++ b/src/northbridge/intel/sandybridge/gma.c
@@ -37,14 +37,14 @@
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;
}