PCI Subdevice ID
Cedric GROSS
cg at cgross.info
Sat Jul 6 16:10:32 UTC 2013
> De : Warner Losh [mailto:wlosh at bsdimp.com] De la part de Warner Losh
> Envoyé : samedi 6 juillet 2013 17:46
> On Jul 6, 2013, at 5:03 AM, Cedric GROSS wrote:
>
> >> -----Message d'origine-----
> >> De : Dr. Rolf Jansen [mailto:rj at cyclaero.com] Envoyé : samedi 6
> >> juillet 2013 12:52 À : Cedric GROSS Cc : freebsd-drivers at freebsd.org
> >> Objet : Re: PCI Subdevice ID
> >>
> >> Am 06.07.2013 um 07:38 schrieb Cedric GROSS <cg at cgross.info>:
> >>
> >>> Hello everybody,
> >>>
> >>> I'm currently working adapt iwn driver for my Centrino Wireless-N
> >> 2230 Card.
> >>>
> >>> As part of this tuff work, I asking me how to get subdevice id ? I
> >>> didn't find anything about that.
> >>
> >> Hello,
> >>
> >> See here: http://pci-ids.ucw.cz
> >>
> >> You could also install this pciid list by the way of the ports
> system:
> >>
> >> # /usr/ports/misc/pciids
> >> # make install clean
> >>
> >> Then you would grep your device from that list:
> >>
> >> $ grep "Wireless-N 2230" /usr/local/share/pciids/pci.ids
> >>
> > Thanks Rolf.
> > But in fact my demand concern development.
> > My fault. Please apologize I wasn't enough clear. I'm looking for a
> > kernel function like 'pci_get_device' but for subdevice
>
> pci_get_subdevice and pci_get_subvendor.
>
> All the following are available:
> PCI_ACCESSOR(subvendor, SUBVENDOR, uint16_t)
> PCI_ACCESSOR(subdevice, SUBDEVICE, uint16_t)
> PCI_ACCESSOR(vendor, VENDOR, uint16_t)
> PCI_ACCESSOR(device, DEVICE, uint16_t)
> PCI_ACCESSOR(devid, DEVID, uint32_t)
> PCI_ACCESSOR(class, CLASS, uint8_t)
> PCI_ACCESSOR(subclass, SUBCLASS, uint8_t)
> PCI_ACCESSOR(progif, PROGIF, uint8_t)
> PCI_ACCESSOR(revid, REVID, uint8_t)
> PCI_ACCESSOR(intpin, INTPIN, uint8_t)
> PCI_ACCESSOR(irq, IRQ, uint8_t)
> PCI_ACCESSOR(domain, DOMAIN, uint32_t)
> PCI_ACCESSOR(bus, BUS, uint8_t)
> PCI_ACCESSOR(slot, SLOT, uint8_t)
> PCI_ACCESSOR(function, FUNCTION, uint8_t)
> PCI_ACCESSOR(ether, ETHADDR, uint8_t *)
> PCI_ACCESSOR(cmdreg, CMDREG, uint8_t)
> PCI_ACCESSOR(cachelnsz, CACHELNSZ, uint8_t)
> PCI_ACCESSOR(mingnt, MINGNT, uint8_t)
> PCI_ACCESSOR(maxlat, MAXLAT, uint8_t)
> PCI_ACCESSOR(lattimer, LATTIMER, uint8_t)
>
> Although ETHADDR is available only to cardbus cards.
>
> Warner
Many thanks for answer Rolf and Warner.
It's so logical.
Cheers
Cedric
More information about the freebsd-drivers
mailing list