Home
last modified time | relevance | path

Searched full:vpd (Results 1 – 25 of 150) sorted by relevance

123456

/freebsd/sys/dev/ocs_fc/
H A Docs_vpd.h34 * OCS VPD parser
41 * @brief VPD buffer structure
52 * @brief return next VPD byte
54 * Returns next VPD byte and updates accumulated checksum
56 * @param vpd pointer to vpd buffer
63 vpdnext(vpdbuf_t *vpd) in vpdnext() argument
66 if (vpd->offset < vpd->length) { in vpdnext()
67 rc = vpd->buffer[vpd->offset++]; in vpdnext()
68 vpd->checksum += rc; in vpdnext()
74 * @brief return true if no more vpd buffer data
[all …]
/freebsd/sys/x86/bios/
H A Dvpd.c31 * VPD decoder for IBM systems (Thinkpads)
57 struct vpd { struct
59 u_int8_t Signature[3]; /* Always 'VPD' */
76 struct vpd * vpd; member
91 #define VPD_SIG "VPD"
93 #define RES2VPD(res) ((struct vpd *)rman_get_virtual(res))
94 #define ADDR2VPD(addr) ((struct vpd *)BIOS_PADDRTOVADDR(addr))
102 static int vpd_cksum (struct vpd *);
104 static SYSCTL_NODE(_hw, OID_AUTO, vpd, CTLFLAG_R
[all...]
/freebsd/share/man/man4/man4.i386/
H A Dvpd.429 .Nm vpd
32 .Cd "device vpd"
38 Vital Product Data (VPD) structure located in the BIOS Shadow RAM.
40 The VPD provides machine type and model information, the build ID
45 driver scans the BIOS area and claims the memory used by the VPD
50 .Va hw.vpd
52 The following variables are provided, one per VPD attachment (there should
/freebsd/usr.sbin/pciconf/
H A Dpciconf.c74 int caps, int errors, int vpd, int listmode);
107 int bars, bridge, caps, errors, verbose, vpd; in main() local
110 bars = bridge = caps = errors = verbose = vpd= 0; in main()
161 vpd = 1; in main()
183 bars, bridge, caps, errors, vpd, listmode); in main()
205 int errors, int vpd, int listmode) in list_devs() argument
299 if (vpd) in list_devs()
588 struct pci_vpd_element *vpd, *end; in list_vpd() local
602 vpd = list.plvi_data; in list_vpd()
603 end = (struct pci_vpd_element *)((char *)vpd + list.plvi_len); in list_vpd()
[all …]
H A Dpciconf.8239 .Pq VPD
241 Each VPD keyword is enumerated via a line in the following format:
243 VPD ro PN = '110114640C0 '
247 .Dq Li VPD
/freebsd/sys/dev/sfxge/common/
H A Def10_vpd.c64 * The VPD interface exposes VPD resources from the combined static and in ef10_vpd_init()
65 * dynamic VPD storage. As the static VPD configuration should *never* in ef10_vpd_init()
75 /* Unprivileged functions cannot access VPD */ in ef10_vpd_init()
115 * for all VPD operations. We've already cached the static vpd, in ef10_vpd_size()
116 * so we just need to return an upper bound on the dynamic vpd, in ef10_vpd_size()
204 * Strictly you could take the view that dynamic vpd is optional. in ef10_vpd_verify()
206 * paradigm, we require dynamic vpd. ef10_vpd_reinit() will in ef10_vpd_verify()
433 /* Determine total length of new dynamic VPD */ in ef10_vpd_write()
437 /* Store new dynamic VPD in all segments in DYNAMIC_CONFIG partition */ in ef10_vpd_write()
H A Dsiena_vpd.c102 /* Read the remainder of scfg + static vpd */ in siena_vpd_get_static()
123 /* Copy the vpd data out */ in siena_vpd_get_static()
181 * We need the static VPD sector to present a unified static+dynamic in siena_vpd_init()
182 * VPD, that is, basically on every read, write, verify cycle. Since in siena_vpd_init()
221 * for all VPD operations. We've already cached the static vpd, in siena_vpd_size()
222 * so we just need to return an upper bound on the dynamic vpd. in siena_vpd_size()
312 * Strictly you could take the view that dynamic vpd is optional. in siena_vpd_verify()
314 * paradigm, we require dynamic vpd. siena_vpd_reinit() will in siena_vpd_verify()
556 /* Allocated memory should have room for the new VPD */ in siena_vpd_write()
562 /* Copy in new vpd and update header */ in siena_vpd_write()
H A Dsiena_nvram.c307 __in boolean_t vpd, in siena_nvram_get_dynamic_cfg() argument
327 * if we're not actually going to read in the VPD. in siena_nvram_get_dynamic_cfg()
372 * the whole of VPD (there is no vpd length in this structure, in siena_nvram_get_dynamic_cfg()
375 region = vpd ? vpd_offset + vpd_length : hdr_length; in siena_nvram_get_dynamic_cfg()
403 * and an empty VPD chunk trailing. This has the neat side effect in siena_nvram_get_dynamic_cfg()
658 * vector, or the VPD chunk.
H A Dsiena_flash.h149 efx_word_t length; /* of header area (i.e. not including VPD) */
151 efx_byte_t csum; /* over header area (i.e. not including VPD) */
184 efx_word_t length; /* of header area (i.e. not including VPD) */
186 efx_byte_t csum; /* over header area (i.e. not including VPD) */
/freebsd/sys/contrib/device-tree/Bindings/nvmem/layouts/
H A Dkontron,sl28-vpd.yaml4 $id: http://devicetree.org/schemas/nvmem/layouts/kontron,sl28-vpd.yaml#
13 The vital product data (VPD) of the sl28 boards contains a serial
22 const: kontron,sl28-vpd
53 compatible = "kontron,sl28-vpd";
/freebsd/sys/dev/sfxge/
H A Dsfxge.c330 switch (ioc->u.vpd.op) { in sfxge_vpd_ioctl()
332 value.evv_tag = ioc->u.vpd.tag; in sfxge_vpd_ioctl()
333 value.evv_keyword = ioc->u.vpd.keyword; in sfxge_vpd_ioctl()
337 ioc->u.vpd.len = MIN(ioc->u.vpd.len, value.evv_length); in sfxge_vpd_ioctl()
338 if (ioc->u.vpd.payload != 0) { in sfxge_vpd_ioctl()
339 rc = copyout(value.evv_value, ioc->u.vpd.payload, in sfxge_vpd_ioctl()
340 ioc->u.vpd.len); in sfxge_vpd_ioctl()
344 if (ioc->u.vpd.len > sizeof(value.evv_value)) in sfxge_vpd_ioctl()
346 value.evv_tag = ioc->u.vpd.tag; in sfxge_vpd_ioctl()
347 value.evv_keyword = ioc->u.vpd.keyword; in sfxge_vpd_ioctl()
[all …]
/freebsd/tools/tools/ath/athprom/
H A Deeprom-542 | maxpow | gain | [Vpd] | [Vpd] | [Vpd] | [Vpd] | [Vpd] |
127 | maxpow | gain | [Vpd] | [Vpd] | [Vpd] | [Vpd] | [Vpd] |
205 | maxpow | gain | [Vpd] | [Vpd] | [Vpd] | [Vpd] | [Vpd] |
H A Dathprom.c448 printVpd(FILE *fd, int vpd) in printVpd() argument
450 fprintf(fd, "[%3d]", vpd); in printVpd()
746 int vpd = atoi(var+6); in eevar() local
747 if (vpd < pRaw->pDataPerChannel[curchan].pDataPerPDGain[curpdgain].numVpd) in eevar()
749 pDataPerPDGain[curpdgain].pwr_t4[vpd]); in eevar()
755 } else if (strneq(var, "Vpd", 3)) { in eevar()
756 int vpd = atoi(var+3); in eevar() local
757 if (vpd < pRaw->pDataPerChannel[curchan].pDataPerPDGain[curpdgain].numVpd) in eevar()
759 pDataPerPDGain[curpdgain].Vpd[vpd]); in eevar()
/freebsd/sys/dev/cxgb/common/
H A Dcxgb_t3_hw.c250 u32 clkdiv = adap->params.vpd.cclk / (2 * adap->params.vpd.mdc) - 1; in mi1_init()
613 * VPD-R sections.
645 * t3_seeprom_read - read a VPD EEPROM location
650 * Read a 32-bit word from a location in VPD EEPROM using the card's PCI
651 * VPD ROM capability. A zero is written to the flag bit when the
680 * t3_seeprom_write - write a VPD EEPROM location
685 * Write a 32-bit word to a location in VPD EEPROM using the card's PCI
686 * VPD ROM capability.
734 * get_desc_len - get the length of a vpd descriptor.
736 * @offset: first byte offset of the vpd descriptor
[all …]
/freebsd/sys/dev/pci/
H A Dpci_user.c618 struct pcicfg_vpd *vpd; in pci_list_vpd() local
622 vpd = pci_fetch_vpd_list(dev); in pci_list_vpd()
623 if (vpd->vpd_reg == 0 || vpd->vpd_ident == NULL) in pci_list_vpd()
631 len = sizeof(struct pci_vpd_element) + strlen(vpd->vpd_ident); in pci_list_vpd()
632 for (i = 0; i < vpd->vpd_rocnt; i++) in pci_list_vpd()
633 len += sizeof(struct pci_vpd_element) + vpd->vpd_ros[i].len; in pci_list_vpd()
634 for (i = 0; i < vpd->vpd_wcnt; i++) in pci_list_vpd()
635 len += sizeof(struct pci_vpd_element) + vpd->vpd_w[i].len; in pci_list_vpd()
650 datalen = strlen(vpd->vpd_ident); in pci_list_vpd()
651 KASSERT(datalen <= 255, ("invalid VPD ident length")); in pci_list_vpd()
[all …]
H A Dpci.c976 cfg->vpd.vpd_reg = ptr; in pci_read_cap()
1049 KASSERT((reg & 3) == 0, ("VPD register must by 4 byte aligned")); in pci_read_vpd_reg()
1051 WREG(cfg->vpd.vpd_reg + PCIR_VPD_ADDR, reg, 2); in pci_read_vpd_reg()
1053 while ((REG(cfg->vpd.vpd_reg + PCIR_VPD_ADDR, 2) & 0x8000) != 0x8000) { in pci_read_vpd_reg()
1058 *data = (REG(cfg->vpd.vpd_reg + PCIR_VPD_DATA, 4)); in pci_read_vpd_reg()
1069 KASSERT((reg & 3) == 0, ("VPD register must by 4 byte aligned"));
1071 WREG(cfg->vpd.vpd_reg + PCIR_VPD_DATA, data, 4);
1072 WREG(cfg->vpd.vpd_reg + PCIR_VPD_ADDR, reg | 0x8000, 2);
1073 while ((REG(cfg->vpd.vpd_reg + PCIR_VPD_ADDR, 2) & 0x8000) == 0x8000) {
1173 /* read VPD keyword and return element size, return -1 on read error */
[all …]
/freebsd/sys/dev/gem/
H A Dif_gem_pci.c193 * Dig out VPD (vital product data) and read NA (network address). in gem_pci_attach()
194 * The VPD resides in the PCI Expansion ROM (PCI FCode) and can't in gem_pci_attach()
249 * Read PCI VPD. in gem_pci_attach()
250 * SUNW,pci-gem cards have a single large resource VPD-R tag in gem_pci_attach()
251 * containing one NA. The VPD used is not in PCI 2.2 standard in gem_pci_attach()
255 * Choice Ethernet" VPD... in gem_pci_attach()
272 device_printf(dev, "unexpected PCI VPD\n"); in gem_pci_attach()
/freebsd/sys/dev/isci/scil/
H A Dsati_inquiry.c61 * The following (VPD) pages are currently supported:
242 * for the supported VPD pages page.
247 * which to construct the supported VPD page information.
261 sati_set_data_byte(sequence, scsi_io, 3, 4); // # VPD pages supported in sati_inquiry_supported_pages_translate_data()
272 * the unit serial number vital product data (VPD) page.
310 * the Block Device Characteristics vital product data (VPD) page.
370 * the device identification vital product data (VPD) page.
559 * the ATA information vital product data (VPD) page.
645 * VPD pages and the standard inquiry page.
666 * - that the page code field must be 0, if VPD enable is 0. in sati_inquiry_translate_command()
[all …]
/freebsd/sys/modules/bios/vpd/
H A DMakefile5 KMOD= vpd
6 SRCS= vpd.c \
/freebsd/sys/cam/ctl/
H A Dctl.h89 * Serial number length, for VPD page 0x80.
94 * Device ID length, for VPD page 0x83.
99 * WWPN length, for VPD page 0x83.
/freebsd/share/man/man9/
H A Dpci.9475 .Pq VPD
479 supports VPD and provides an identifier string,
487 If the device does not support VPD or does not provide an identifier
495 function is used to fetch the value of a single VPD read-only keyword
500 If the device supports VPD and provides a read-only value for the
508 If the device does not support VPD or does not provide the requested
/freebsd/sys/dev/qlnx/qlnxe/
H A Dnvm_map.h134 {"VPD", "-vpd", NVM_TYPE_VPD},
205 /* This array length depends on the number of VPD fields */
274 * | VPD | * | VPD |
/freebsd/sys/dev/aic7xxx/
H A Daic79xx_pci.c548 struct vpd_config vpd;
560 * Fetch VPD for this function and parse it. in ahd_check_extport()
563 printf("%s: Reading VPD from SEEPROM...", in ahd_check_extport()
568 + (sizeof(vpd) * (ahd->channel - 'A'))) / 2; in ahd_check_extport()
570 error = ahd_read_seeprom(ahd, (uint16_t *)&vpd, in ahd_check_extport()
571 start_addr, sizeof(vpd)/2, in ahd_check_extport()
574 error = ahd_parse_vpddata(ahd, &vpd); in ahd_check_extport()
576 printf("%s: VPD parsing %s\n", in ahd_check_extport()
554 struct vpd_config vpd; ahd_check_extport() local
/freebsd/sys/dev/ae/
H A Dif_aereg.h318 * VPD registers.
331 #define AE_VPD_NREGS 64 /* Maximum number of VPD regs. */
333 #define AE_VPD_SIG 0x5a /* VPD block signature. */
340 #define AE_SPICTL_VPD_EN 0x2000 /* Enable VPD. */
/freebsd/sys/dev/cxgbe/common/
H A Dt4_hw.c3357 * Partial EEPROM Vital Product Data structure. The VPD starts with one ID in t4_get_exprom_version()
3358 * header followed by one or more VPD-R sections, each with its own header. in t4_get_exprom_version()
3386 * Small utility function to wait till any outstanding VPD Access is complete.
3387 * We have a per-adapter state variable "VPD Busy" to indicate when we have a
3388 * VPD Access in flight. This allows us to handle the problem of having a
3389 * previous VPD Access time out and prevent an attempt to inject a new VPD
3390 * Request before any in-flight VPD reguest has completed.
3398 * If no VPD Access is in flight, we can just return success right
3405 * Poll the VPD Capabilit in t4_get_scfg_version()
2961 get_vpd_keyword_val(const u8 * vpd,const char * kw,int region) get_vpd_keyword_val() argument
3011 const u8 *vpd = (const u8 *)buf; get_vpd_params() local
[all...]

123456