Subject: pci PCI_SUBSYS_ID_REG question
To: None <tech-kern@netbsd.org>
From: Chuck Cranor <chuck@research.att.com>
List: tech-kern
Date: 09/04/2003 14:05:58
hi-

    i was looking into adding support for the Dell 2650's embedded 
management processor's virtual 16550 UART.   it turns out that this
device shares a PCI_ID_REG value with a RAID controller on other
systems and you have to use PCI_SUBSYS_ID_REG to tell them apart.

i.e.:

vendor	device	subvend	subdevice	what it is
0x1028	0x0008	0x1028	0x00cf		Dell PERC 3/Di
0x1028	0x0008	0x1028	0x0008		Dell RAC Serial PPP Link


exactly how is this kind of info supposed to be added to src/sys/dev/pcidevs?
is the device and subdevice info supposed to be all mixed together?
is there a naming convention for sub-info i should follow?

looking at src/sys/dev/pcidevs, we currently have:

/* Dell Computer products */
product DELL PERC_2SI           0x0001  PERC 2/Si
product DELL PERC_3DI           0x0002  PERC 3/Di
product DELL PERC_3SI           0x0003  PERC 3/Si
product DELL PERC_3SI_2         0x0004  PERC 3/Si
product DELL PERC_3DI_2         0x0008  PERC 3/Di
product DELL PERC_3DI_3         0x000a  PERC 3/Di
product DELL PERC_3SI           0x0003  PERC 3/Si
product DELL PERC_3DI_2_SUB     0x00cf  PERC 3/Di
product DELL PERC_3SI_2_SUB     0x00d0  PERC 3/Si
product DELL PERC_3DI_SUB2      0x00d1  PERC 3/Di
product DELL PERC_3DI_SUB3      0x00d9  PERC 3/Di
product DELL PERC_3DI_3_SUB     0x0106  PERC 3/Di
product DELL PERC_3DI_3_SUB2    0x011b  PERC 3/Di
product DELL PERC_3DI_3_SUB3    0x0121  PERC 3/Di


chuck