[flashrom] [PATCH] Check class for nvidia southbridge
Joshua Roys
roysjosh at gmail.com
Wed Mar 14 14:53:23 CET 2012
On 03/13/2012 05:29 PM, Michael Karcher wrote:
> @@ -995,6 +1001,12 @@ static int enable_flash_mcp55(struct pci_dev *dev, const char *name)
> uint8_t old, new, val;
> uint16_t wordval;
>
> + if (pci_read_word(dev, PCI_CLASS_DEVICE) != 0x0601) {
> + /* output is followed by "OK - searching for ...\n" */
> + msg_pinfo(" Seems to be a secondary south bridge, ");
> + return NOT_DONE_YET;
> + }
> +
> /* Set the 0-16 MB enable bits. */
> val = pci_read_byte(dev, 0x88);
> val |= 0xff; /* 256K */
> @@ -1207,15 +1219,7 @@ const struct penable chipset_enables[] = {
> {0x10de, 0x0262, NT, "NVIDIA", "MCP51", enable_flash_ck804},
> {0x10de, 0x0263, NT, "NVIDIA", "MCP51", enable_flash_ck804},
> {0x10de, 0x0360, OK, "NVIDIA", "MCP55", enable_flash_mcp55}, /* M57SLI*/
> - /* 10de:0361 is present in Tyan S2915 OEM systems, but not connected to
> - * the flash chip. Instead, 10de:0364 is connected to the flash chip.
> - * Until we have PCI device class matching or some fallback mechanism,
> - * this is needed to get flashrom working on Tyan S2915 and maybe other
> - * dual-MCP55 boards.
> - */
> -#if 0
> - {0x10de, 0x0361, NT, "NVIDIA", "MCP55", enable_flash_mcp55}, /* LPC */
> -#endif
> + {0x10de, 0x0361, OK, "NVIDIA", "MCP55", enable_flash_mcp55}, /* LPC */
> {0x10de, 0x0362, OK, "NVIDIA", "MCP55", enable_flash_mcp55}, /* LPC */
> {0x10de, 0x0363, OK, "NVIDIA", "MCP55", enable_flash_mcp55}, /* LPC */
> {0x10de, 0x0364, OK, "NVIDIA", "MCP55", enable_flash_mcp55}, /* LPC */
Hello,
In http://paste.flashrom.org/view.php?id=1136 both LPC bridges have ID
10de:0360, but different class. However, due to the architecture of the
chipset enable scanning loop, returning NOT_DONE_YET will not find a
second bridge with identical IDs. In
http://paste.flashrom.org/view.php?id=1142 (which was the almost working
version of the patch) it was required to add pci_dev_find_next and loop
on that when NOT_DONE_YET was returned. Thoughts?
Josh
More information about the flashrom
mailing list