Lines Matching refs:sdp

161 	struct scsi_device *sdp = sdkp->device;  in cache_type_store()  local
169 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in cache_type_store()
196 if (scsi_mode_sense(sdp, 0x08, 8, buffer, sizeof(buffer), SD_TIMEOUT, in cache_type_store()
214 if (scsi_mode_select(sdp, 1, sp, 8, buffer_data, len, SD_TIMEOUT, in cache_type_store()
229 struct scsi_device *sdp = sdkp->device; in manage_start_stop_show() local
231 return sprintf(buf, "%u\n", sdp->manage_start_stop); in manage_start_stop_show()
239 struct scsi_device *sdp = sdkp->device; in manage_start_stop_store() local
248 sdp->manage_start_stop = v; in manage_start_stop_store()
268 struct scsi_device *sdp = sdkp->device; in allow_restart_store() local
273 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in allow_restart_store()
279 sdp->allow_restart = v; in allow_restart_store()
341 struct scsi_device *sdp = sdkp->device; in protection_mode_show() local
344 dif = scsi_host_dif_capable(sdp->host, sdkp->protection_type); in protection_mode_show()
345 dix = scsi_host_dix_capable(sdp->host, sdkp->protection_type); in protection_mode_show()
347 if (!dix && scsi_host_dix_capable(sdp->host, T10_PI_TYPE0_PROTECTION)) { in protection_mode_show()
402 struct scsi_device *sdp = sdkp->device; in provisioning_mode_store() local
413 if (sdp->type != TYPE_DISK) in provisioning_mode_store()
503 struct scsi_device *sdp = sdkp->device; in max_write_same_blocks_store() local
510 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in max_write_same_blocks_store()
519 sdp->no_write_same = 1; in max_write_same_blocks_store()
521 sdp->no_write_same = 0; in max_write_same_blocks_store()
875 struct scsi_device *sdp = cmd->device; in sd_setup_unmap_cmnd() local
878 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_unmap_cmnd()
879 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_unmap_cmnd()
911 struct scsi_device *sdp = cmd->device; in sd_setup_write_same16_cmnd() local
914 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_same16_cmnd()
915 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_same16_cmnd()
916 u32 data_len = sdp->sector_size; in sd_setup_write_same16_cmnd()
943 struct scsi_device *sdp = cmd->device; in sd_setup_write_same10_cmnd() local
946 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_same10_cmnd()
947 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_same10_cmnd()
948 u32 data_len = sdp->sector_size; in sd_setup_write_same10_cmnd()
975 struct scsi_device *sdp = cmd->device; in sd_setup_write_zeroes_cmnd() local
977 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_zeroes_cmnd()
978 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_zeroes_cmnd()
989 if (sdp->no_write_same) { in sd_setup_write_zeroes_cmnd()
1072 struct scsi_device *sdp = cmd->device; in sd_setup_write_same_cmnd() local
1075 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_same_cmnd()
1076 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_same_cmnd()
1083 BUG_ON(bio_offset(bio) || bio_iovec(bio).bv_len != sdp->sector_size); in sd_setup_write_same_cmnd()
1099 cmd->transfersize = sdp->sector_size; in sd_setup_write_same_cmnd()
1112 rq->__data_len = sdp->sector_size; in sd_setup_write_same_cmnd()
1220 struct scsi_device *sdp = cmd->device; in sd_setup_read_write_cmnd() local
1222 sector_t lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_read_write_cmnd()
1224 unsigned int nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_read_write_cmnd()
1225 unsigned int mask = logical_to_sectors(sdp, 1) - 1; in sd_setup_read_write_cmnd()
1237 if (!scsi_device_online(sdp) || sdp->changed) { in sd_setup_read_write_cmnd()
1258 if (unlikely(sdp->last_sector_bug && lba + nr_blocks > threshold)) { in sd_setup_read_write_cmnd()
1286 } else if (sdp->use_16_for_rw || (nr_blocks > 0xffff)) { in sd_setup_read_write_cmnd()
1290 sdp->use_10_for_rw || protect) { in sd_setup_read_write_cmnd()
1306 cmd->transfersize = sdp->sector_size; in sd_setup_read_write_cmnd()
1309 cmd->sdb.length = nr_blocks * sdp->sector_size; in sd_setup_read_write_cmnd()
1516 struct scsi_device *sdp = sdkp->device; in sd_getgeo() local
1517 struct Scsi_Host *host = sdp->host; in sd_getgeo()
1518 sector_t capacity = logical_to_sectors(sdp, sdkp->capacity); in sd_getgeo()
1528 host->hostt->bios_param(sdp, bdev, capacity, diskinfo); in sd_getgeo()
1557 struct scsi_device *sdp = sdkp->device; in sd_ioctl_common() local
1573 error = scsi_ioctl_block_when_processing_errors(sdp, cmd, in sd_ioctl_common()
1589 error = scsi_ioctl(sdp, cmd, p); in sd_ioctl_common()
1641 struct scsi_device *sdp; in sd_check_events() local
1647 sdp = sdkp->device; in sd_check_events()
1656 if (!scsi_device_online(sdp)) { in sd_check_events()
1670 if (scsi_block_when_processing_errors(sdp)) { in sd_check_events()
1673 retval = scsi_test_unit_ready(sdp, SD_TIMEOUT, sdkp->max_retries, in sd_check_events()
1691 sdp->changed = 1; in sd_check_events()
1700 retval = sdp->changed ? DISK_EVENT_MEDIA_CHANGE : 0; in sd_check_events()
1701 sdp->changed = 0; in sd_check_events()
1709 struct scsi_device *sdp = sdkp->device; in sd_sync_cache() local
1710 const int timeout = sdp->request_queue->rq_timeout in sd_sync_cache()
1714 if (!scsi_device_online(sdp)) in sd_sync_cache()
1729 res = scsi_execute(sdp, cmd, DMA_NONE, NULL, 0, NULL, sshdr, in sd_sync_cache()
2284 struct scsi_device *sdp = sdkp->device; in sd_read_protection_type() local
2288 if (scsi_device_protection(sdp) == 0 || (buffer[12] & 1) == 0) { in sd_read_protection_type()
2297 else if (scsi_host_dif_capable(sdp->host, type)) in sd_read_protection_type()
2322 static void read_capacity_error(struct scsi_disk *sdkp, struct scsi_device *sdp, in read_capacity_error() argument
2335 if (sdp->removable && in read_capacity_error()
2354 static int read_capacity_16(struct scsi_disk *sdkp, struct scsi_device *sdp, in read_capacity_16() argument
2366 if (sdp->no_read_capacity_16) in read_capacity_16()
2376 the_result = scsi_execute_req(sdp, cmd, DMA_FROM_DEVICE, in read_capacity_16()
2407 read_capacity_error(sdkp, sdp, &sshdr, sense_valid, the_result); in read_capacity_16()
2427 blk_queue_alignment_offset(sdp->request_queue, alignment); in read_capacity_16()
2445 static int read_capacity_10(struct scsi_disk *sdkp, struct scsi_device *sdp, in read_capacity_10() argument
2461 the_result = scsi_execute_req(sdp, cmd, DMA_FROM_DEVICE, in read_capacity_10()
2484 read_capacity_error(sdkp, sdp, &sshdr, sense_valid, the_result); in read_capacity_10()
2491 if (sdp->no_read_capacity_16 && (lba == 0xffffffff)) { in read_capacity_10()
2505 static int sd_try_rc16_first(struct scsi_device *sdp) in sd_try_rc16_first() argument
2507 if (sdp->host->max_cmd_len < 16) in sd_try_rc16_first()
2509 if (sdp->try_rc_10_first) in sd_try_rc16_first()
2511 if (sdp->scsi_level > SCSI_SPC_2) in sd_try_rc16_first()
2513 if (scsi_device_protection(sdp)) in sd_try_rc16_first()
2525 struct scsi_device *sdp = sdkp->device; in sd_read_capacity() local
2527 if (sd_try_rc16_first(sdp)) { in sd_read_capacity()
2528 sector_size = read_capacity_16(sdkp, sdp, buffer); in sd_read_capacity()
2534 sector_size = read_capacity_10(sdkp, sdp, buffer); in sd_read_capacity()
2538 sector_size = read_capacity_10(sdkp, sdp, buffer); in sd_read_capacity()
2548 sector_size = read_capacity_16(sdkp, sdp, buffer); in sd_read_capacity()
2557 sdp->try_rc_10_first = 0; in sd_read_capacity()
2571 if (sdp->fix_capacity || in sd_read_capacity()
2572 (sdp->guess_capacity && (sdkp->capacity & 0x01))) { in sd_read_capacity()
2607 blk_queue_logical_block_size(sdp->request_queue, sector_size); in sd_read_capacity()
2608 blk_queue_physical_block_size(sdp->request_queue, in sd_read_capacity()
2613 sdp->use_16_for_rw = 1; in sd_read_capacity()
2665 struct scsi_device *sdp = sdkp->device; in sd_read_write_protect_flag() local
2670 if (sdp->skip_ms_page_3f) { in sd_read_write_protect_flag()
2675 if (sdp->use_192_bytes_for_3f) { in sd_read_write_protect_flag()
2724 struct scsi_device *sdp = sdkp->device; in sd_read_cache_type() local
2740 if (sdp->skip_ms_page_8) { in sd_read_cache_type()
2741 if (sdp->type == TYPE_RBC) in sd_read_cache_type()
2744 if (sdp->skip_ms_page_3f) in sd_read_cache_type()
2747 if (sdp->use_192_bytes_for_3f) in sd_read_cache_type()
2751 } else if (sdp->type == TYPE_RBC) { in sd_read_cache_type()
2787 if (modepage == 0x3F && sdp->use_192_bytes_for_3f) in sd_read_cache_type()
2843 if (sdp->broken_fua) { in sd_read_cache_type()
2880 if (sdp->wce_default_on) { in sd_read_cache_type()
2900 struct scsi_device *sdp = sdkp->device; in sd_read_app_tag_own() local
2904 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in sd_read_app_tag_own()
2910 res = scsi_mode_sense(sdp, 1, 0x0a, buffer, 36, SD_TIMEOUT, in sd_read_app_tag_own()
3140 struct scsi_device *sdp = sdkp->device; in sd_validate_opt_xfer_size() local
3142 logical_to_bytes(sdp, sdkp->opt_xfer_blocks); in sd_validate_opt_xfer_size()
3192 struct scsi_device *sdp = sdkp->device; in sd_revalidate_disk() local
3205 if (!scsi_device_online(sdp)) in sd_revalidate_disk()
3233 if (scsi_device_supports_vpd(sdp)) { in sd_revalidate_disk()
3256 dev_max = sdp->use_16_for_rw ? SD_MAX_XFER_BLOCKS : SD_DEF_XFER_BLOCKS; in sd_revalidate_disk()
3260 q->limits.max_dev_sectors = logical_to_sectors(sdp, dev_max); in sd_revalidate_disk()
3263 q->limits.io_opt = logical_to_bytes(sdp, sdkp->opt_xfer_blocks); in sd_revalidate_disk()
3264 rw_max = logical_to_sectors(sdp, sdkp->opt_xfer_blocks); in sd_revalidate_disk()
3267 rw_max = min_not_zero(logical_to_sectors(sdp, dev_max), in sd_revalidate_disk()
3286 logical_to_sectors(sdp, sdkp->capacity), false); in sd_revalidate_disk()
3388 struct scsi_device *sdp = to_scsi_device(dev); in sd_probe() local
3394 scsi_autopm_get_device(sdp); in sd_probe()
3396 if (sdp->type != TYPE_DISK && in sd_probe()
3397 sdp->type != TYPE_ZBC && in sd_probe()
3398 sdp->type != TYPE_MOD && in sd_probe()
3399 sdp->type != TYPE_RBC) in sd_probe()
3403 if (sdp->type == TYPE_ZBC) in sd_probe()
3406 SCSI_LOG_HLQUEUE(3, sdev_printk(KERN_INFO, sdp, in sd_probe()
3420 sdev_printk(KERN_WARNING, sdp, "sd_probe: memory exhausted.\n"); in sd_probe()
3426 sdev_printk(KERN_WARNING, sdp, "SCSI disk (sd) name length exceeded.\n"); in sd_probe()
3430 sdkp->device = sdp; in sd_probe()
3438 if (!sdp->request_queue->rq_timeout) { in sd_probe()
3439 if (sdp->type != TYPE_MOD) in sd_probe()
3440 blk_queue_rq_timeout(sdp->request_queue, SD_TIMEOUT); in sd_probe()
3442 blk_queue_rq_timeout(sdp->request_queue, in sd_probe()
3468 sdp->sector_size = 512; in sd_probe()
3482 if (sdp->removable) { in sd_probe()
3488 blk_pm_runtime_init(sdp->request_queue, dev); in sd_probe()
3489 if (sdp->rpm_autosuspend) { in sd_probe()
3491 sdp->host->hostt->rpm_autosuspend_delay); in sd_probe()
3506 sdp->removable ? "removable " : ""); in sd_probe()
3507 scsi_autopm_put_device(sdp); in sd_probe()
3518 scsi_autopm_put_device(sdp); in sd_probe()
3601 struct scsi_device *sdp = sdkp->device; in sd_start_stop_device() local
3607 if (sdp->start_stop_pwr_cond) in sd_start_stop_device()
3610 if (!scsi_device_online(sdp)) in sd_start_stop_device()
3613 res = scsi_execute(sdp, cmd, DMA_NONE, NULL, 0, NULL, &sshdr, in sd_start_stop_device()