On Wed, Jun 26, 2013 at 3:30 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote: > On 06/26/2013 12:37 PM, Bjorn Helgaas wrote: >> >> Yeah, that's what I was thinking. >> >> But Peter's comment makes more sense to me now. The spec refers to >> that config register as "Subsystem ID," not "Subsystem Device ID," but >> I was confused because most existing usage treats it as a device ID. >> For example, the field in struct pci_device_id is named "subdevice," >> and all the existing #defines in pci_ids.h are of the form >> PCI_SUBDEVICE_ID_*. >> >> Device IDs are pretty specific identifiers, so I was thinking that a >> "sub-device ID" would be even more specific. Then it would make no >> sense to have a "sub-device ID" that was as generic as "MINNOWBOARD." >> But the register is actually *not* a "sub-device ID," and I can see >> that using the same Subsystem ID for all the devices on a board might >> make sense. >> > > Subsystem IDs is basically a board ID in the traditional PC view, but > they didn't call it that because it would have been confusing in other, > nontraditional configurations. > > Microsoft has a "best practices" document, which may end up becoming > basis for a future PCI-SIG document clarifying the standard: > > http://msdn.microsoft.com/en-us/library/windows/hardware/gg463287.aspx Interesting, thanks for the link. If I read that correctly, the MinnowBoard is basically a motherboard, and any board layout change or component value change will require a new Subsystem ID, which will in turn require a pch_gbe update. That doesn't sound optimal, but maybe people don't actually interpret it that strictly. Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html