Lines Matching full:vpd
1732 const struct scsi_vpd *vpd; in sd_get_unique_id() local
1737 vpd = rcu_dereference(sdev->vpd_pg83); in sd_get_unique_id()
1738 if (!vpd) in sd_get_unique_id()
1742 for (d = vpd->data + 4; d < vpd->data + vpd->len; d += d[3] + 4) { in sd_get_unique_id()
3050 struct scsi_vpd *vpd; in sd_read_block_limits() local
3054 vpd = rcu_dereference(sdkp->device->vpd_pgb0); in sd_read_block_limits()
3055 if (!vpd || vpd->len < 16) in sd_read_block_limits()
3058 sdkp->min_xfer_blocks = get_unaligned_be16(&vpd->data[6]); in sd_read_block_limits()
3059 sdkp->max_xfer_blocks = get_unaligned_be32(&vpd->data[8]); in sd_read_block_limits()
3060 sdkp->opt_xfer_blocks = get_unaligned_be32(&vpd->data[12]); in sd_read_block_limits()
3062 if (vpd->len >= 64) { in sd_read_block_limits()
3065 sdkp->max_ws_blocks = (u32)get_unaligned_be64(&vpd->data[36]); in sd_read_block_limits()
3070 lba_count = get_unaligned_be32(&vpd->data[20]); in sd_read_block_limits()
3071 desc_count = get_unaligned_be32(&vpd->data[24]); in sd_read_block_limits()
3076 sdkp->unmap_granularity = get_unaligned_be32(&vpd->data[28]); in sd_read_block_limits()
3078 if (vpd->data[32] & 0x80) in sd_read_block_limits()
3080 get_unaligned_be32(&vpd->data[32]) & ~(1 << 31); in sd_read_block_limits()
3082 if (!sdkp->lbpvpd) { /* LBP VPD page not provided */ in sd_read_block_limits()
3089 } else { /* LBP VPD page tells us what to use */ in sd_read_block_limits()
3112 struct scsi_vpd *vpd; in sd_read_block_characteristics() local
3117 vpd = rcu_dereference(sdkp->device->vpd_pgb1); in sd_read_block_characteristics()
3119 if (!vpd || vpd->len < 8) { in sd_read_block_characteristics()
3124 rot = get_unaligned_be16(&vpd->data[4]); in sd_read_block_characteristics()
3125 zoned = (vpd->data[8] >> 4) & 3; in sd_read_block_characteristics()
3169 * sd_read_block_provisioning - Query provisioning VPD page
3174 struct scsi_vpd *vpd; in sd_read_block_provisioning() local
3180 vpd = rcu_dereference(sdkp->device->vpd_pgb2); in sd_read_block_provisioning()
3182 if (!vpd || vpd->len < 8) { in sd_read_block_provisioning()
3188 sdkp->lbpu = (vpd->data[5] >> 7) & 1; /* UNMAP */ in sd_read_block_provisioning()
3189 sdkp->lbpws = (vpd->data[5] >> 6) & 1; /* WRITE SAME(16) w/ UNMAP */ in sd_read_block_provisioning()
3190 sdkp->lbpws10 = (vpd->data[5] >> 5) & 1; /* WRITE SAME(10) w/ UNMAP */ in sd_read_block_provisioning()
3205 struct scsi_vpd *vpd; in sd_read_write_same() local
3211 * Information VPD page (SAT). in sd_read_write_same()
3214 vpd = rcu_dereference(sdev->vpd_pg89); in sd_read_write_same()
3215 if (vpd) in sd_read_write_same()
3269 * Concurrent Positioning Ranges VPD: there can be at most 256 ranges, in sd_read_cpr()
3281 "Invalid Concurrent Positioning Ranges VPD page\n"); in sd_read_cpr()
3473 * support the block characteristics VPD page, which will in sd_revalidate_disk()