Home
last modified time | relevance | path

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

1234567

/linux-6.14.4/drivers/pci/
Dvpd.c3 * PCI VPD support
41 /* VPD access through PCI 2.2+ VPD capability */
69 pci_warn(dev, "failed VPD read at offset %zu\n", in pci_vpd_size()
93 pci_info(dev, "invalid VPD tag %#04x (size %zu) at offset %zu%s\n", in pci_vpd_size()
101 struct pci_vpd *vpd = &dev->vpd; in pci_vpd_available() local
103 if (!vpd->cap) in pci_vpd_available()
106 if (vpd->len == 0 && check_size) { in pci_vpd_available()
107 vpd->len = pci_vpd_size(dev); in pci_vpd_available()
108 if (vpd->len == PCI_VPD_SZ_INVALID) { in pci_vpd_available()
109 vpd->cap = 0; in pci_vpd_available()
[all …]
/linux-6.14.4/arch/powerpc/platforms/pseries/
Dpapr-vpd.c3 #define pr_fmt(fmt) "papr-vpd: " fmt
19 #include <asm/papr-vpd.h>
22 #include <uapi/asm/papr-vpd.h>
25 * Function-specific return values for ibm,get-vpd, derived from PAPR+
26 * v2.13 7.3.20 "ibm,get-vpd RTAS Call".
28 #define RTAS_IBM_GET_VPD_COMPLETE 0 /* All VPD has been retrieved. */
29 #define RTAS_IBM_GET_VPD_MORE_DATA 1 /* More VPD is available. */
30 #define RTAS_IBM_GET_VPD_START_OVER -4 /* VPD changed, restart call sequence. */
33 * struct rtas_ibm_get_vpd_params - Parameters (in and out) for ibm,get-vpd.
37 * @written: Out: Bytes written by ibm,get-vpd to @work_area.
[all …]
/linux-6.14.4/drivers/net/ethernet/brocade/bna/
Dbfa_defs_mfg_comm.h109 /* VPD data length */
117 /* VPD vendor tag */
123 BFA_MFG_VPD_PCI_IBM = 0x08, /*!< PCI VPD IBM */
124 BFA_MFG_VPD_PCI_HP = 0x10, /*!< PCI VPD HP */
125 BFA_MFG_VPD_PCI_DELL = 0x20, /*!< PCI VPD DELL */
126 BFA_MFG_VPD_PCI_BRCD = 0xf8, /*!< PCI VPD Brocade */
129 /* BFA adapter flash vpd data definition.
134 u8 version; /*!< vpd data version */
138 u8 len; /*!< vpd data length excluding header */
140 u8 data[BFA_MFG_VPD_LEN]; /*!< vpd data */
/linux-6.14.4/tools/testing/selftests/powerpc/papr_vpd/
Dpapr_vpd.c10 #include <asm/papr-vpd.h>
14 #define DEVPATH "/dev/papr-vpd"
61 /* Verify that the buffer looks like VPD */ in dev_papr_vpd_get_handle_all()
62 static const char needle[] = "System VPD"; in dev_papr_vpd_get_handle_all()
293 /* Verify that the buffer looks like VPD */ in papr_vpd_system_loc_code()
294 static const char needle[] = "System VPD"; in papr_vpd_system_loc_code()
320 .description = "get handle for all VPD"
324 .description = "close handle without consuming VPD"
328 .description = "read all VPD one byte at a time"
336 .description = "get handle for system VPD"
/linux-6.14.4/drivers/scsi/
Dscsi.c281 * scsi_vpd_inquiry - Request a device provide us with a VPD page
290 * Returns size of the vpd page on success or a negative error number.
309 * I'm not convinced we need to try quite this hard to get VPD, but in scsi_vpd_inquiry()
338 unsigned char vpd[SCSI_VPD_LIST_SIZE] __aligned(4); in scsi_get_vpd_size() local
345 * Fetch the supported pages VPD and validate that the requested page in scsi_get_vpd_size()
349 result = scsi_vpd_inquiry(sdev, vpd, 0, sizeof(vpd)); in scsi_get_vpd_size()
353 if (result > sizeof(vpd)) { in scsi_get_vpd_size()
355 "%s: long VPD page 0 length: %d bytes\n", in scsi_get_vpd_size()
357 result = sizeof(vpd); in scsi_get_vpd_size()
361 if (!memchr(&vpd[SCSI_VPD_HEADER_SIZE], page, result)) in scsi_get_vpd_size()
[all …]
Dsd.c1862 const struct scsi_vpd *vpd; in sd_get_unique_id() local
1867 vpd = rcu_dereference(sdev->vpd_pg83); in sd_get_unique_id()
1868 if (!vpd) in sd_get_unique_id()
1872 for (d = vpd->data + 4; d < vpd->data + vpd->len; d += d[3] + 4) { in sd_get_unique_id()
3312 /* LBP VPD page not provided */ in sd_discard_mode()
3318 /* LBP VPD page tells us what to use */ in sd_discard_mode()
3334 struct scsi_vpd *vpd; in sd_read_block_limits() local
3338 vpd = rcu_dereference(sdkp->device->vpd_pgb0); in sd_read_block_limits()
3339 if (!vpd || vpd->len < 16) in sd_read_block_limits()
3342 sdkp->min_xfer_blocks = get_unaligned_be16(&vpd->data[6]); in sd_read_block_limits()
[all …]
/linux-6.14.4/Documentation/devicetree/bindings/nvmem/layouts/
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";
/linux-6.14.4/drivers/firmware/google/
Dvpd.c3 * vpd.c
5 * Driver for exporting VPD content to sysfs.
42 struct kobject *kobj; /* vpd/name directory */
44 struct bin_attribute bin_attr; /* vpd/name_raw bin_attribute */
71 * The VPD specification supports only [a-zA-Z0-9_]+ characters in key names but
288 vpd_kobj = kobject_create_and_add("vpd", firmware_kobj); in vpd_probe()
319 .name = "vpd",
DMakefile13 vpd-sysfs-y := vpd.o vpd_decode.o
14 obj-$(CONFIG_GOOGLE_VPD) += vpd-sysfs.o
DKconfig81 This option enables the kernel to expose the content of Google VPD
82 under /sys/firmware/vpd.
/linux-6.14.4/drivers/target/
Dtarget_core_pscsi.c193 cdb[1] = 0x01; /* Query VPD */ in pscsi_get_inquiry_vpd_serial()
220 struct t10_vpd *vpd; in pscsi_get_inquiry_vpd_device_ident() local
228 cdb[1] = 0x01; /* Query VPD */ in pscsi_get_inquiry_vpd_device_ident()
247 pr_debug("T10 VPD Identifier Length: %d\n", ident_len); in pscsi_get_inquiry_vpd_device_ident()
249 vpd = kzalloc(sizeof(struct t10_vpd), GFP_KERNEL); in pscsi_get_inquiry_vpd_device_ident()
250 if (!vpd) { in pscsi_get_inquiry_vpd_device_ident()
255 INIT_LIST_HEAD(&vpd->vpd_list); in pscsi_get_inquiry_vpd_device_ident()
257 transport_set_vpd_proto_id(vpd, page_83); in pscsi_get_inquiry_vpd_device_ident()
258 transport_set_vpd_assoc(vpd, page_83); in pscsi_get_inquiry_vpd_device_ident()
260 if (transport_set_vpd_ident_type(vpd, page_83) < 0) { in pscsi_get_inquiry_vpd_device_ident()
[all …]
Dtarget_core_transport.c1068 struct t10_vpd *vpd, in transport_dump_vpd_proto_id() argument
1076 len = sprintf(buf, "T10 VPD Protocol Identifier: "); in transport_dump_vpd_proto_id()
1078 switch (vpd->protocol_identifier) { in transport_dump_vpd_proto_id()
1110 vpd->protocol_identifier); in transport_dump_vpd_proto_id()
1121 transport_set_vpd_proto_id(struct t10_vpd *vpd, unsigned char *page_83) in transport_set_vpd_proto_id() argument
1129 vpd->protocol_identifier = (page_83[0] & 0xf0); in transport_set_vpd_proto_id()
1130 vpd->protocol_identifier_set = 1; in transport_set_vpd_proto_id()
1131 transport_dump_vpd_proto_id(vpd, NULL, 0); in transport_set_vpd_proto_id()
1137 struct t10_vpd *vpd, in transport_dump_vpd_assoc() argument
1146 len = sprintf(buf, "T10 VPD Identifier Association: "); in transport_dump_vpd_assoc()
[all …]
Dtarget_core_configfs.c1417 * STANDARD and VPD page 0x83 T10 Vendor Identification
1636 * VPD page 0x80 Unit serial
1641 return sprintf(page, "T10 VPD Unit Serial Number: %s\n", in target_wwn_vpd_unit_serial_show()
1653 * If Linux/SCSI subsystem_api_t plugin got a VPD Unit Serial in target_wwn_vpd_unit_serial_store()
1655 * VPD Unit Serial to be emulated. in target_wwn_vpd_unit_serial_store()
1657 * Note this struct scsi_device could also be emulating VPD in target_wwn_vpd_unit_serial_store()
1660 * VPD Unit Serial Number that OS dependent multipath can depend on. in target_wwn_vpd_unit_serial_store()
1663 pr_err("Underlying SCSI device firmware provided VPD" in target_wwn_vpd_unit_serial_store()
1669 pr_err("Emulated VPD Unit Serial exceeds" in target_wwn_vpd_unit_serial_store()
1680 pr_err("Unable to set VPD Unit Serial while" in target_wwn_vpd_unit_serial_store()
[all …]
/linux-6.14.4/drivers/net/ethernet/chelsio/cxgb3/
Dt3_hw.c199 u32 clkdiv = adap->params.vpd.cclk / (2 * adap->params.vpd.mdc) - 1; in mi1_init()
572 * VPD-R sections.
614 /* EEPROM_STAT_ADDR is outside VPD area, use pci_write_vpd_any() */ in t3_seeprom_wp()
640 * get_vpd_params - read VPD parameters from VPD EEPROM
644 * Reads card parameters stored in VPD EEPROM.
648 struct t3_vpd vpd; in get_vpd_params() local
661 ret = pci_read_vpd(adapter->pdev, addr, sizeof(vpd), &vpd); in get_vpd_params()
665 ret = vpdstrtouint(vpd.cclk_data, vpd.cclk_len, 10, &p->cclk); in get_vpd_params()
668 ret = vpdstrtouint(vpd.mclk_data, vpd.mclk_len, 10, &p->mclk); in get_vpd_params()
671 ret = vpdstrtouint(vpd.uclk_data, vpd.uclk_len, 10, &p->uclk); in get_vpd_params()
[all …]
/linux-6.14.4/arch/powerpc/include/uapi/asm/
Dpapr-vpd.h17 * ioctl for /dev/papr-vpd. Returns a VPD handle fd corresponding to
/linux-6.14.4/drivers/misc/cxl/
Dof.c57 char vpd[256]; in read_vpd() local
59 size_t len = sizeof(vpd); in read_vpd()
61 memset(vpd, 0, len); in read_vpd()
64 rc = cxl_guest_read_adapter_vpd(adapter, vpd, len); in read_vpd()
66 rc = cxl_guest_read_afu_vpd(afu, vpd, len); in read_vpd()
69 cxl_dump_debug_buffer(vpd, rc); in read_vpd()
Dhcalls.h121 * cxl_h_collect_vpd - Collect VPD for the coherent platform function.
122 * Parameter1 = # of VPD record to retrieve, valid values are between 0
176 * cxl_h_collect_vpd - Collect VPD for the coherent platform function.
/linux-6.14.4/drivers/nvmem/layouts/
DKconfig12 tristate "Kontron sl28 VPD layout support"
15 Say Y here if you want to support the VPD layout of the Kontron
/linux-6.14.4/drivers/hwmon/
Ddrivetemp.c331 struct scsi_vpd *vpd; in drivetemp_identify_sata() local
344 vpd = rcu_dereference(sdev->vpd_pg89); in drivetemp_identify_sata()
348 * VPD and that the drive implements the SATA protocol. in drivetemp_identify_sata()
350 if (!vpd || vpd->len < 572 || vpd->data[56] != ATA_CMD_ID_ATA || in drivetemp_identify_sata()
351 vpd->data[36] != 0x34) { in drivetemp_identify_sata()
355 ata_id = (u16 *)&vpd->data[60]; in drivetemp_identify_sata()
/linux-6.14.4/tools/arch/x86/lib/
Dx86-opcode-map.txt356 10: vmovups Vps,Wps | vmovupd Vpd,Wpd (66) | vmovss Vx,Hx,Wss (F3),(v1) | vmovsd Vx,Hx,Wsd (F2),(v1)
357 11: vmovups Wps,Vps | vmovupd Wpd,Vpd (66) | vmovss Wss,Hx,Vss (F3),(v1) | vmovsd Wsd,Hx,Vsd (F2),(…
385 28: vmovaps Vps,Wps | vmovapd Vpd,Wpd (66)
386 29: vmovaps Wps,Vps | vmovapd Wpd,Vpd (66)
387 2a: cvtpi2ps Vps,Qpi | cvtpi2pd Vpd,Qpi (66) | vcvtsi2ss Vss,Hss,Ey (F3),(v1) | vcvtsi2sd Vsd,Hsd,E…
388 2b: vmovntps Mps,Vps | vmovntpd Mpd,Vpd (66)
429 51: vsqrtps Vps,Wps | vsqrtpd Vpd,Wpd (66) | vsqrtss Vss,Hss,Wss (F3),(v1) | vsqrtsd Vsd,Hsd,Wsd (F…
432 54: vandps Vps,Hps,Wps | vandpd Vpd,Hpd,Wpd (66)
433 55: vandnps Vps,Hps,Wps | vandnpd Vpd,Hpd,Wpd (66)
434 56: vorps Vps,Hps,Wps | vorpd Vpd,Hpd,Wpd (66)
[all …]
/linux-6.14.4/arch/x86/lib/
Dx86-opcode-map.txt356 10: vmovups Vps,Wps | vmovupd Vpd,Wpd (66) | vmovss Vx,Hx,Wss (F3),(v1) | vmovsd Vx,Hx,Wsd (F2),(v1)
357 11: vmovups Wps,Vps | vmovupd Wpd,Vpd (66) | vmovss Wss,Hx,Vss (F3),(v1) | vmovsd Wsd,Hx,Vsd (F2),(…
385 28: vmovaps Vps,Wps | vmovapd Vpd,Wpd (66)
386 29: vmovaps Wps,Vps | vmovapd Wpd,Vpd (66)
387 2a: cvtpi2ps Vps,Qpi | cvtpi2pd Vpd,Qpi (66) | vcvtsi2ss Vss,Hss,Ey (F3),(v1) | vcvtsi2sd Vsd,Hsd,E…
388 2b: vmovntps Mps,Vps | vmovntpd Mpd,Vpd (66)
429 51: vsqrtps Vps,Wps | vsqrtpd Vpd,Wpd (66) | vsqrtss Vss,Hss,Wss (F3),(v1) | vsqrtsd Vsd,Hsd,Wsd (F…
432 54: vandps Vps,Hps,Wps | vandpd Vpd,Hpd,Wpd (66)
433 55: vandnps Vps,Hps,Wps | vandnpd Vpd,Hpd,Wpd (66)
434 56: vorps Vps,Hps,Wps | vorpd Vpd,Hpd,Wpd (66)
[all …]
/linux-6.14.4/include/scsi/
Dscsi_device.h95 * @data: VPD data as defined in various T10 SCSI standard documents.
144 #define SCSI_DEFAULT_VPD_LEN 255 /* default SCSI VPD page size (max) */
215 unsigned skip_vpd_pages:1; /* do not read VPD pages */
216 unsigned try_vpd_pages:1; /* attempt to read VPD pages */
242 unsigned no_vpd_size:1; /* No VPD size reported in header */
658 * scsi_device_supports_vpd - test if a device supports VPD pages
662 * Otherwise we will assume VPD pages are supported if the
667 /* Attempt VPD inquiry if the device blacklist explicitly calls in scsi_device_supports_vpd()
673 * Although VPD inquiries can go to SCSI-2 type devices, in scsi_device_supports_vpd()
Dscsi_devinfo.h35 /* do not ask for VPD page size first on some broken targets */
57 /* Ignore SBC-3 VPD pages */
60 /* Attempt to read VPD pages */
/linux-6.14.4/drivers/scsi/aic7xxx/
Daic79xx_pci.c506 struct vpd_config vpd; in ahd_check_extport() local
518 * Fetch VPD for this function and parse it. in ahd_check_extport()
521 printk("%s: Reading VPD from SEEPROM...", in ahd_check_extport()
526 + (sizeof(vpd) * (ahd->channel - 'A'))) / 2; in ahd_check_extport()
528 error = ahd_read_seeprom(ahd, (uint16_t *)&vpd, in ahd_check_extport()
529 start_addr, sizeof(vpd)/2, in ahd_check_extport()
532 error = ahd_parse_vpddata(ahd, &vpd); in ahd_check_extport()
534 printk("%s: VPD parsing %s\n", in ahd_check_extport()
/linux-6.14.4/drivers/scsi/bfa/
Dbfa_defs.h83 * VPD data length
88 * VPD vendor tag
95 BFA_MFG_VPD_PCI_IBM = 0x08, /* PCI VPD IBM */
96 BFA_MFG_VPD_PCI_HP = 0x10, /* PCI VPD HP */
97 BFA_MFG_VPD_PCI_DELL = 0x20, /* PCI VPD DELL */
98 BFA_MFG_VPD_PCI_BRCD = 0xf8, /* PCI VPD Brocade */
105 u8 version; /* vpd data version */
109 u8 len; /* vpd data length excluding header */
111 u8 data[BFA_MFG_VPD_LEN]; /* vpd data */
277 struct bfa_mfg_vpd_s vpd; member
[all …]

1234567