Lines Matching refs:sdp
159 struct scsi_device *sdp = sdkp->device; in cache_type_store() local
167 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in cache_type_store()
194 if (scsi_mode_sense(sdp, 0x08, 8, buffer, sizeof(buffer), SD_TIMEOUT, in cache_type_store()
212 if (scsi_mode_select(sdp, 1, sp, 8, buffer_data, len, SD_TIMEOUT, in cache_type_store()
227 struct scsi_device *sdp = sdkp->device; in manage_start_stop_show() local
229 return sprintf(buf, "%u\n", sdp->manage_start_stop); in manage_start_stop_show()
237 struct scsi_device *sdp = sdkp->device; in manage_start_stop_store() local
246 sdp->manage_start_stop = v; in manage_start_stop_store()
266 struct scsi_device *sdp = sdkp->device; in allow_restart_store() local
271 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in allow_restart_store()
277 sdp->allow_restart = v; in allow_restart_store()
339 struct scsi_device *sdp = sdkp->device; in protection_mode_show() local
342 dif = scsi_host_dif_capable(sdp->host, sdkp->protection_type); in protection_mode_show()
343 dix = scsi_host_dix_capable(sdp->host, sdkp->protection_type); in protection_mode_show()
345 if (!dix && scsi_host_dix_capable(sdp->host, T10_PI_TYPE0_PROTECTION)) { in protection_mode_show()
400 struct scsi_device *sdp = sdkp->device; in provisioning_mode_store() local
411 if (sdp->type != TYPE_DISK) in provisioning_mode_store()
501 struct scsi_device *sdp = sdkp->device; in max_write_same_blocks_store() local
508 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in max_write_same_blocks_store()
517 sdp->no_write_same = 1; in max_write_same_blocks_store()
519 sdp->no_write_same = 0; in max_write_same_blocks_store()
872 struct scsi_device *sdp = cmd->device; in sd_setup_unmap_cmnd() local
875 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_unmap_cmnd()
876 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_unmap_cmnd()
908 struct scsi_device *sdp = cmd->device; in sd_setup_write_same16_cmnd() local
911 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_same16_cmnd()
912 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_same16_cmnd()
913 u32 data_len = sdp->sector_size; in sd_setup_write_same16_cmnd()
940 struct scsi_device *sdp = cmd->device; in sd_setup_write_same10_cmnd() local
943 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_same10_cmnd()
944 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_same10_cmnd()
945 u32 data_len = sdp->sector_size; in sd_setup_write_same10_cmnd()
972 struct scsi_device *sdp = cmd->device; in sd_setup_write_zeroes_cmnd() local
974 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_zeroes_cmnd()
975 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_zeroes_cmnd()
986 if (sdp->no_write_same) { in sd_setup_write_zeroes_cmnd()
1069 struct scsi_device *sdp = cmd->device; in sd_setup_write_same_cmnd() local
1072 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_same_cmnd()
1073 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_same_cmnd()
1079 BUG_ON(bio_offset(bio) || bio_iovec(bio).bv_len != sdp->sector_size); in sd_setup_write_same_cmnd()
1095 cmd->transfersize = sdp->sector_size; in sd_setup_write_same_cmnd()
1108 rq->__data_len = sdp->sector_size; in sd_setup_write_same_cmnd()
1216 struct scsi_device *sdp = cmd->device; in sd_setup_read_write_cmnd() local
1218 sector_t lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_read_write_cmnd()
1220 unsigned int nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_read_write_cmnd()
1221 unsigned int mask = logical_to_sectors(sdp, 1) - 1; in sd_setup_read_write_cmnd()
1233 if (!scsi_device_online(sdp) || sdp->changed) { in sd_setup_read_write_cmnd()
1254 if (unlikely(sdp->last_sector_bug && lba + nr_blocks > threshold)) { in sd_setup_read_write_cmnd()
1282 } else if (sdp->use_16_for_rw || (nr_blocks > 0xffff)) { in sd_setup_read_write_cmnd()
1286 sdp->use_10_for_rw || protect) { in sd_setup_read_write_cmnd()
1302 cmd->transfersize = sdp->sector_size; in sd_setup_read_write_cmnd()
1305 cmd->sdb.length = nr_blocks * sdp->sector_size; in sd_setup_read_write_cmnd()
1512 struct scsi_device *sdp = sdkp->device; in sd_getgeo() local
1513 struct Scsi_Host *host = sdp->host; in sd_getgeo()
1514 sector_t capacity = logical_to_sectors(sdp, sdkp->capacity); in sd_getgeo()
1524 host->hostt->bios_param(sdp, bdev, capacity, diskinfo); in sd_getgeo()
1553 struct scsi_device *sdp = sdkp->device; in sd_ioctl() local
1569 error = scsi_ioctl_block_when_processing_errors(sdp, cmd, in sd_ioctl()
1576 return scsi_ioctl(sdp, disk, mode, cmd, p); in sd_ioctl()
1621 struct scsi_device *sdp; in sd_check_events() local
1628 sdp = sdkp->device; in sd_check_events()
1637 if (!scsi_device_online(sdp)) { in sd_check_events()
1651 if (scsi_block_when_processing_errors(sdp)) { in sd_check_events()
1654 retval = scsi_test_unit_ready(sdp, SD_TIMEOUT, sdkp->max_retries, in sd_check_events()
1672 sdp->changed = 1; in sd_check_events()
1681 disk_changed = sdp->changed; in sd_check_events()
1682 sdp->changed = 0; in sd_check_events()
1690 struct scsi_device *sdp = sdkp->device; in sd_sync_cache() local
1691 const int timeout = sdp->request_queue->rq_timeout in sd_sync_cache()
1695 if (!scsi_device_online(sdp)) in sd_sync_cache()
1710 res = scsi_execute(sdp, cmd, DMA_NONE, NULL, 0, NULL, sshdr, in sd_sync_cache()
2242 struct scsi_device *sdp = sdkp->device; in sd_read_protection_type() local
2246 if (scsi_device_protection(sdp) == 0 || (buffer[12] & 1) == 0) { in sd_read_protection_type()
2255 else if (scsi_host_dif_capable(sdp->host, type)) in sd_read_protection_type()
2280 static void read_capacity_error(struct scsi_disk *sdkp, struct scsi_device *sdp, in read_capacity_error() argument
2293 if (sdp->removable && in read_capacity_error()
2312 static int read_capacity_16(struct scsi_disk *sdkp, struct scsi_device *sdp, in read_capacity_16() argument
2324 if (sdp->no_read_capacity_16) in read_capacity_16()
2334 the_result = scsi_execute_req(sdp, cmd, DMA_FROM_DEVICE, in read_capacity_16()
2365 read_capacity_error(sdkp, sdp, &sshdr, sense_valid, the_result); in read_capacity_16()
2385 blk_queue_alignment_offset(sdp->request_queue, alignment); in read_capacity_16()
2403 static int read_capacity_10(struct scsi_disk *sdkp, struct scsi_device *sdp, in read_capacity_10() argument
2419 the_result = scsi_execute_req(sdp, cmd, DMA_FROM_DEVICE, in read_capacity_10()
2442 read_capacity_error(sdkp, sdp, &sshdr, sense_valid, the_result); in read_capacity_10()
2449 if (sdp->no_read_capacity_16 && (lba == 0xffffffff)) { in read_capacity_10()
2463 static int sd_try_rc16_first(struct scsi_device *sdp) in sd_try_rc16_first() argument
2465 if (sdp->host->max_cmd_len < 16) in sd_try_rc16_first()
2467 if (sdp->try_rc_10_first) in sd_try_rc16_first()
2469 if (sdp->scsi_level > SCSI_SPC_2) in sd_try_rc16_first()
2471 if (scsi_device_protection(sdp)) in sd_try_rc16_first()
2483 struct scsi_device *sdp = sdkp->device; in sd_read_capacity() local
2485 if (sd_try_rc16_first(sdp)) { in sd_read_capacity()
2486 sector_size = read_capacity_16(sdkp, sdp, buffer); in sd_read_capacity()
2492 sector_size = read_capacity_10(sdkp, sdp, buffer); in sd_read_capacity()
2496 sector_size = read_capacity_10(sdkp, sdp, buffer); in sd_read_capacity()
2506 sector_size = read_capacity_16(sdkp, sdp, buffer); in sd_read_capacity()
2515 sdp->try_rc_10_first = 0; in sd_read_capacity()
2529 if (sdp->fix_capacity || in sd_read_capacity()
2530 (sdp->guess_capacity && (sdkp->capacity & 0x01))) { in sd_read_capacity()
2565 blk_queue_logical_block_size(sdp->request_queue, sector_size); in sd_read_capacity()
2566 blk_queue_physical_block_size(sdp->request_queue, in sd_read_capacity()
2571 sdp->use_16_for_rw = 1; in sd_read_capacity()
2623 struct scsi_device *sdp = sdkp->device; in sd_read_write_protect_flag() local
2628 if (sdp->skip_ms_page_3f) { in sd_read_write_protect_flag()
2633 if (sdp->use_192_bytes_for_3f) { in sd_read_write_protect_flag()
2682 struct scsi_device *sdp = sdkp->device; in sd_read_cache_type() local
2698 if (sdp->skip_ms_page_8) { in sd_read_cache_type()
2699 if (sdp->type == TYPE_RBC) in sd_read_cache_type()
2702 if (sdp->skip_ms_page_3f) in sd_read_cache_type()
2705 if (sdp->use_192_bytes_for_3f) in sd_read_cache_type()
2709 } else if (sdp->type == TYPE_RBC) { in sd_read_cache_type()
2745 if (modepage == 0x3F && sdp->use_192_bytes_for_3f) in sd_read_cache_type()
2801 if (sdp->broken_fua) { in sd_read_cache_type()
2838 if (sdp->wce_default_on) { in sd_read_cache_type()
2858 struct scsi_device *sdp = sdkp->device; in sd_read_app_tag_own() local
2862 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in sd_read_app_tag_own()
2868 res = scsi_mode_sense(sdp, 1, 0x0a, buffer, 36, SD_TIMEOUT, in sd_read_app_tag_own()
3098 struct scsi_device *sdp = sdkp->device; in sd_validate_opt_xfer_size() local
3100 logical_to_bytes(sdp, sdkp->opt_xfer_blocks); in sd_validate_opt_xfer_size()
3150 struct scsi_device *sdp = sdkp->device; in sd_revalidate_disk() local
3163 if (!scsi_device_online(sdp)) in sd_revalidate_disk()
3191 if (scsi_device_supports_vpd(sdp)) { in sd_revalidate_disk()
3214 dev_max = sdp->use_16_for_rw ? SD_MAX_XFER_BLOCKS : SD_DEF_XFER_BLOCKS; in sd_revalidate_disk()
3218 q->limits.max_dev_sectors = logical_to_sectors(sdp, dev_max); in sd_revalidate_disk()
3221 q->limits.io_opt = logical_to_bytes(sdp, sdkp->opt_xfer_blocks); in sd_revalidate_disk()
3222 rw_max = logical_to_sectors(sdp, sdkp->opt_xfer_blocks); in sd_revalidate_disk()
3225 rw_max = min_not_zero(logical_to_sectors(sdp, dev_max), in sd_revalidate_disk()
3243 set_capacity_and_notify(disk, logical_to_sectors(sdp, sdkp->capacity)); in sd_revalidate_disk()
3345 struct scsi_device *sdp = to_scsi_device(dev); in sd_probe() local
3351 scsi_autopm_get_device(sdp); in sd_probe()
3353 if (sdp->type != TYPE_DISK && in sd_probe()
3354 sdp->type != TYPE_ZBC && in sd_probe()
3355 sdp->type != TYPE_MOD && in sd_probe()
3356 sdp->type != TYPE_RBC) in sd_probe()
3359 if (!IS_ENABLED(CONFIG_BLK_DEV_ZONED) && sdp->type == TYPE_ZBC) { in sd_probe()
3360 sdev_printk(KERN_WARNING, sdp, in sd_probe()
3365 SCSI_LOG_HLQUEUE(3, sdev_printk(KERN_INFO, sdp, in sd_probe()
3373 gd = __alloc_disk_node(sdp->request_queue, NUMA_NO_NODE, in sd_probe()
3380 sdev_printk(KERN_WARNING, sdp, "sd_probe: memory exhausted.\n"); in sd_probe()
3386 sdev_printk(KERN_WARNING, sdp, "SCSI disk (sd) name length exceeded.\n"); in sd_probe()
3390 sdkp->device = sdp; in sd_probe()
3398 if (!sdp->request_queue->rq_timeout) { in sd_probe()
3399 if (sdp->type != TYPE_MOD) in sd_probe()
3400 blk_queue_rq_timeout(sdp->request_queue, SD_TIMEOUT); in sd_probe()
3402 blk_queue_rq_timeout(sdp->request_queue, in sd_probe()
3427 sdp->sector_size = 512; in sd_probe()
3441 if (sdp->removable) { in sd_probe()
3447 blk_pm_runtime_init(sdp->request_queue, dev); in sd_probe()
3448 if (sdp->rpm_autosuspend) { in sd_probe()
3450 sdp->host->hostt->rpm_autosuspend_delay); in sd_probe()
3465 sdp->removable ? "removable " : ""); in sd_probe()
3466 scsi_autopm_put_device(sdp); in sd_probe()
3478 scsi_autopm_put_device(sdp); in sd_probe()
3556 struct scsi_device *sdp = sdkp->device; in sd_start_stop_device() local
3562 if (sdp->start_stop_pwr_cond) in sd_start_stop_device()
3565 if (!scsi_device_online(sdp)) in sd_start_stop_device()
3568 res = scsi_execute(sdp, cmd, DMA_NONE, NULL, 0, NULL, &sshdr, in sd_start_stop_device()
3686 struct scsi_device *sdp; in sd_resume_runtime() local
3691 sdp = sdkp->device; in sd_resume_runtime()
3693 if (sdp->ignore_media_change) { in sd_resume_runtime()
3697 if (scsi_execute(sdp, cmd, DMA_NONE, NULL, 0, NULL, in sd_resume_runtime()
3698 NULL, sdp->request_queue->rq_timeout, 1, 0, in sd_resume_runtime()