• Home
  • Raw
  • Download

Lines Matching full:vpd

1734 	const struct scsi_vpd *vpd;  in sd_get_unique_id()  local
1739 vpd = rcu_dereference(sdev->vpd_pg83); in sd_get_unique_id()
1740 if (!vpd) in sd_get_unique_id()
1744 for (d = vpd->data + 4; d < vpd->data + vpd->len; d += d[3] + 4) { in sd_get_unique_id()
3056 struct scsi_vpd *vpd; in sd_read_block_limits() local
3060 vpd = rcu_dereference(sdkp->device->vpd_pgb0); in sd_read_block_limits()
3061 if (!vpd || vpd->len < 16) in sd_read_block_limits()
3064 sdkp->min_xfer_blocks = get_unaligned_be16(&vpd->data[6]); in sd_read_block_limits()
3065 sdkp->max_xfer_blocks = get_unaligned_be32(&vpd->data[8]); in sd_read_block_limits()
3066 sdkp->opt_xfer_blocks = get_unaligned_be32(&vpd->data[12]); in sd_read_block_limits()
3068 if (vpd->len >= 64) { in sd_read_block_limits()
3071 sdkp->max_ws_blocks = (u32)get_unaligned_be64(&vpd->data[36]); in sd_read_block_limits()
3076 lba_count = get_unaligned_be32(&vpd->data[20]); in sd_read_block_limits()
3077 desc_count = get_unaligned_be32(&vpd->data[24]); in sd_read_block_limits()
3082 sdkp->unmap_granularity = get_unaligned_be32(&vpd->data[28]); in sd_read_block_limits()
3084 if (vpd->data[32] & 0x80) in sd_read_block_limits()
3086 get_unaligned_be32(&vpd->data[32]) & ~(1 << 31); in sd_read_block_limits()
3088 if (!sdkp->lbpvpd) { /* LBP VPD page not provided */ in sd_read_block_limits()
3095 } else { /* LBP VPD page tells us what to use */ in sd_read_block_limits()
3118 struct scsi_vpd *vpd; in sd_read_block_characteristics() local
3123 vpd = rcu_dereference(sdkp->device->vpd_pgb1); in sd_read_block_characteristics()
3125 if (!vpd || vpd->len <= 8) { in sd_read_block_characteristics()
3130 rot = get_unaligned_be16(&vpd->data[4]); in sd_read_block_characteristics()
3131 zoned = (vpd->data[8] >> 4) & 3; in sd_read_block_characteristics()
3175 * sd_read_block_provisioning - Query provisioning VPD page
3180 struct scsi_vpd *vpd; in sd_read_block_provisioning() local
3186 vpd = rcu_dereference(sdkp->device->vpd_pgb2); in sd_read_block_provisioning()
3188 if (!vpd || vpd->len < 8) { in sd_read_block_provisioning()
3194 sdkp->lbpu = (vpd->data[5] >> 7) & 1; /* UNMAP */ in sd_read_block_provisioning()
3195 sdkp->lbpws = (vpd->data[5] >> 6) & 1; /* WRITE SAME(16) w/ UNMAP */ in sd_read_block_provisioning()
3196 sdkp->lbpws10 = (vpd->data[5] >> 5) & 1; /* WRITE SAME(10) w/ UNMAP */ in sd_read_block_provisioning()
3211 struct scsi_vpd *vpd; in sd_read_write_same() local
3217 * Information VPD page (SAT). in sd_read_write_same()
3220 vpd = rcu_dereference(sdev->vpd_pg89); in sd_read_write_same()
3221 if (vpd) in sd_read_write_same()
3275 * Concurrent Positioning Ranges VPD: there can be at most 256 ranges, in sd_read_cpr()
3287 "Invalid Concurrent Positioning Ranges VPD page\n"); in sd_read_cpr()
3486 * support the block characteristics VPD page, which will in sd_revalidate_disk()