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>
This commit is contained in:
parent
0e672b52d4
commit
e9dfdd9dbd
|
@ -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. */
|
/* If it's in FLASH, then don't check device for ROM. */
|
||||||
rom_header = cbfs_load_optionrom(dev->vendor, dev->device, NULL);
|
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;
|
u32 mapped_vendev = vendev;
|
||||||
|
|
||||||
if (map_oprom_vendev)
|
if (map_oprom_vendev)
|
||||||
|
@ -45,8 +45,8 @@ struct rom_header *pci_rom_probe(struct device *dev)
|
||||||
|
|
||||||
if (!rom_header) {
|
if (!rom_header) {
|
||||||
if (vendev != mapped_vendev) {
|
if (vendev != mapped_vendev) {
|
||||||
rom_header = cbfs_load_optionrom(mapped_vendev &
|
rom_header = cbfs_load_optionrom(mapped_vendev >> 16,
|
||||||
0xffff, mapped_vendev >> 16, NULL);
|
mapped_vendev & 0xffff , NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,14 +37,14 @@ u32 map_oprom_vendev(u32 vendev)
|
||||||
u32 new_vendev=vendev;
|
u32 new_vendev=vendev;
|
||||||
|
|
||||||
switch (vendev) {
|
switch (vendev) {
|
||||||
case 0x01028086: /* GT1 Desktop */
|
case 0x80860102: /* GT1 Desktop */
|
||||||
case 0x010a8086: /* GT1 Server */
|
case 0x8086010a: /* GT1 Server */
|
||||||
case 0x01128086: /* GT2 Desktop */
|
case 0x80860112: /* GT2 Desktop */
|
||||||
case 0x01168086: /* GT2 Mobile */
|
case 0x80860116: /* GT2 Mobile */
|
||||||
case 0x01228086: /* GT2 Desktop >=1.3GHz */
|
case 0x80860122: /* GT2 Desktop >=1.3GHz */
|
||||||
case 0x01268086: /* GT2 Mobile >=1.3GHz */
|
case 0x80860126: /* GT2 Mobile >=1.3GHz */
|
||||||
case 0x01668086: /* IVB */
|
case 0x80860166: /* IVB */
|
||||||
new_vendev=0x01068086; /* GT1 Mobile */
|
new_vendev=0x80860106; /* GT1 Mobile */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue