/linux-6.14.4/drivers/pci/ |
D | vpd.c | 3 * 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/ |
D | papr-vpd.c | 3 #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/ |
D | bfa_defs_mfg_comm.h | 109 /* 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/ |
D | papr_vpd.c | 10 #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/ |
D | scsi.c | 281 * 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 …]
|
D | sd.c | 1862 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/ |
D | kontron,sl28-vpd.yaml | 4 $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/ |
D | vpd.c | 3 * 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",
|
D | Makefile | 13 vpd-sysfs-y := vpd.o vpd_decode.o 14 obj-$(CONFIG_GOOGLE_VPD) += vpd-sysfs.o
|
D | Kconfig | 81 This option enables the kernel to expose the content of Google VPD 82 under /sys/firmware/vpd.
|
/linux-6.14.4/drivers/target/ |
D | target_core_pscsi.c | 193 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 …]
|
D | target_core_transport.c | 1068 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 …]
|
D | target_core_configfs.c | 1417 * 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/ |
D | t3_hw.c | 199 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/ |
D | papr-vpd.h | 17 * ioctl for /dev/papr-vpd. Returns a VPD handle fd corresponding to
|
/linux-6.14.4/drivers/misc/cxl/ |
D | of.c | 57 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()
|
D | hcalls.h | 121 * 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/ |
D | Kconfig | 12 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/ |
D | drivetemp.c | 331 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/ |
D | x86-opcode-map.txt | 356 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/ |
D | x86-opcode-map.txt | 356 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/ |
D | scsi_device.h | 95 * @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()
|
D | scsi_devinfo.h | 35 /* 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/ |
D | aic79xx_pci.c | 506 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/ |
D | bfa_defs.h | 83 * 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 …]
|