[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Distinguishing identical devices



> >Is there a commonly used way to distinguish between identical 
> >PCI cards in the same system?  
> 
> If you're talking about truly identical cards, then the cards are
> distinguishd by the BusDevFunc tuplet which is assigned to each card
> by the BIOS. 
> 
> >This has some variability depending on exactly how the system is
> configured,
> 
> True. If you move the card from one slot to another, the Dev number
> will change. 
> If you move from primary PCI bus to secondary PCI bus, the Bus number
> will changed. 
> 
> >we need to know which card is which.  These reasons might include the
> need to 
> >find an added-on I/O daughtercard, or the need to know where the
> board is 
> >connected to a secondary interconnect (which runs over the tops of
> the boards).
> 
> When you say "we need to know", do you mean your *software* (app or
> driver) 
> needs to know that BusDevFunc 0/13/0 is a daughtercard and that 0/14/0
> is 
> connected to a secondary interconnect? 
> 
> Or are you saying the *user* needs to know that the daughtercard is
> 0/13/0? 
> 
> >Place in config-space somewhere (or in VPD?) a unique identifier for
> each board
> 
> Isn't that the purpose of the PCI Subsystem Device ID? To distinguish
> among 
> different board implementations using same PCI chipset? 
> 
> For example, two Enet cards that both use the same PCI Mac chip but
> different 
> PHY chips would both have same Vendor and Device IDs -- since the PCI
> chipset 
> was the same -- but the mfr would use different Subsystem IDs. I
> believe the 
> Subsystem IDs are usually read from eeprom at powerup.