Lines Matching refs:sdp
195 struct scsi_device *sdp = sdkp->device; in cache_type_store() local
203 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in cache_type_store()
238 if (scsi_mode_sense(sdp, 0x08, 8, 0, buffer, sizeof(buffer), SD_TIMEOUT, in cache_type_store()
256 ret = scsi_mode_select(sdp, 1, sp, buffer_data, len, SD_TIMEOUT, in cache_type_store()
272 struct scsi_device *sdp = sdkp->device; in manage_start_stop_show() local
275 sdp->manage_system_start_stop && in manage_start_stop_show()
276 sdp->manage_runtime_start_stop && in manage_start_stop_show()
277 sdp->manage_shutdown); in manage_start_stop_show()
286 struct scsi_device *sdp = sdkp->device; in manage_system_start_stop_show() local
288 return sysfs_emit(buf, "%u\n", sdp->manage_system_start_stop); in manage_system_start_stop_show()
297 struct scsi_device *sdp = sdkp->device; in manage_system_start_stop_store() local
306 sdp->manage_system_start_stop = v; in manage_system_start_stop_store()
317 struct scsi_device *sdp = sdkp->device; in manage_runtime_start_stop_show() local
319 return sysfs_emit(buf, "%u\n", sdp->manage_runtime_start_stop); in manage_runtime_start_stop_show()
328 struct scsi_device *sdp = sdkp->device; in manage_runtime_start_stop_store() local
337 sdp->manage_runtime_start_stop = v; in manage_runtime_start_stop_store()
347 struct scsi_device *sdp = sdkp->device; in manage_shutdown_show() local
349 return sysfs_emit(buf, "%u\n", sdp->manage_shutdown); in manage_shutdown_show()
357 struct scsi_device *sdp = sdkp->device; in manage_shutdown_store() local
366 sdp->manage_shutdown = v; in manage_shutdown_store()
376 struct scsi_device *sdp = sdkp->device; in manage_restart_show() local
378 return sysfs_emit(buf, "%u\n", sdp->manage_restart); in manage_restart_show()
386 struct scsi_device *sdp = sdkp->device; in manage_restart_store() local
395 sdp->manage_restart = v; in manage_restart_store()
415 struct scsi_device *sdp = sdkp->device; in allow_restart_store() local
420 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in allow_restart_store()
426 sdp->allow_restart = v; in allow_restart_store()
488 struct scsi_device *sdp = sdkp->device; in protection_mode_show() local
491 dif = scsi_host_dif_capable(sdp->host, sdkp->protection_type); in protection_mode_show()
492 dix = scsi_host_dix_capable(sdp->host, sdkp->protection_type); in protection_mode_show()
494 if (!dix && scsi_host_dix_capable(sdp->host, T10_PI_TYPE0_PROTECTION)) { in protection_mode_show()
549 struct scsi_device *sdp = sdkp->device; in provisioning_mode_store() local
556 if (sdp->type != TYPE_DISK) in provisioning_mode_store()
649 struct scsi_device *sdp = sdkp->device; in max_write_same_blocks_store() local
657 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in max_write_same_blocks_store()
666 sdp->no_write_same = 1; in max_write_same_blocks_store()
668 sdp->no_write_same = 0; in max_write_same_blocks_store()
946 struct scsi_device *sdp = cmd->device; in sd_setup_unmap_cmnd() local
949 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_unmap_cmnd()
950 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_unmap_cmnd()
1036 struct scsi_device *sdp = cmd->device; in sd_setup_write_same16_cmnd() local
1039 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_same16_cmnd()
1040 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_same16_cmnd()
1041 u32 data_len = sdp->sector_size; in sd_setup_write_same16_cmnd()
1063 struct scsi_device *sdp = cmd->device; in sd_setup_write_same10_cmnd() local
1066 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_same10_cmnd()
1067 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_same10_cmnd()
1068 u32 data_len = sdp->sector_size; in sd_setup_write_same10_cmnd()
1090 struct scsi_device *sdp = cmd->device; in sd_setup_write_zeroes_cmnd() local
1092 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_zeroes_cmnd()
1093 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_zeroes_cmnd()
1104 if (sdp->no_write_same) { in sd_setup_write_zeroes_cmnd()
1318 struct scsi_device *sdp = sdkp->device; in sd_cdl_dld() local
1321 if (!sdp->cdl_supported || !sdp->cdl_enable) in sd_cdl_dld()
1359 struct scsi_device *sdp = cmd->device; in sd_setup_read_write_cmnd() local
1361 sector_t lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_read_write_cmnd()
1363 unsigned int nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_read_write_cmnd()
1364 unsigned int mask = logical_to_sectors(sdp, 1) - 1; in sd_setup_read_write_cmnd()
1377 if (!scsi_device_online(sdp) || sdp->changed) { in sd_setup_read_write_cmnd()
1398 if (unlikely(sdp->last_sector_bug && lba + nr_blocks > threshold)) { in sd_setup_read_write_cmnd()
1425 } else if (sdp->use_16_for_rw || (nr_blocks > 0xffff)) { in sd_setup_read_write_cmnd()
1429 sdp->use_10_for_rw || protect || rq->bio->bi_write_hint) { in sd_setup_read_write_cmnd()
1445 cmd->transfersize = sdp->sector_size; in sd_setup_read_write_cmnd()
1448 cmd->sdb.length = nr_blocks * sdp->sector_size; in sd_setup_read_write_cmnd()
1641 struct scsi_device *sdp = sdkp->device; in sd_getgeo() local
1642 struct Scsi_Host *host = sdp->host; in sd_getgeo()
1643 sector_t capacity = logical_to_sectors(sdp, sdkp->capacity); in sd_getgeo()
1653 host->hostt->bios_param(sdp, disk, capacity, diskinfo); in sd_getgeo()
1682 struct scsi_device *sdp = sdkp->device; in sd_ioctl() local
1699 error = scsi_ioctl_block_when_processing_errors(sdp, cmd, in sd_ioctl()
1706 return scsi_ioctl(sdp, mode & BLK_OPEN_WRITE, cmd, p); in sd_ioctl()
1751 struct scsi_device *sdp; in sd_check_events() local
1758 sdp = sdkp->device; in sd_check_events()
1767 if (!scsi_device_online(sdp)) { in sd_check_events()
1781 if (scsi_block_when_processing_errors(sdp)) { in sd_check_events()
1784 retval = scsi_test_unit_ready(sdp, SD_TIMEOUT, sdkp->max_retries, in sd_check_events()
1802 sdp->changed = 1; in sd_check_events()
1811 disk_changed = sdp->changed; in sd_check_events()
1812 sdp->changed = 0; in sd_check_events()
1819 struct scsi_device *sdp = sdkp->device; in sd_sync_cache() local
1820 const int timeout = sdp->request_queue->rq_timeout in sd_sync_cache()
1823 const unsigned char cmd[16] = { sdp->use_16_for_sync ? in sd_sync_cache()
1842 if (!scsi_device_online(sdp)) in sd_sync_cache()
1845 res = scsi_execute_cmd(sdp, cmd, REQ_OP_DRV_IN, NULL, 0, timeout, in sd_sync_cache()
2586 struct scsi_device *sdp = sdkp->device; in sd_read_protection_type() local
2589 if (scsi_device_protection(sdp) == 0 || (buffer[12] & 1) == 0) { in sd_read_protection_type()
2612 struct scsi_device *sdp = sdkp->device; in sd_config_protection() local
2620 if (!scsi_host_dif_capable(sdp->host, sdkp->protection_type)) { in sd_config_protection()
2631 static void read_capacity_error(struct scsi_disk *sdkp, struct scsi_device *sdp, in read_capacity_error() argument
2644 if (sdp->removable && in read_capacity_error()
2663 static int read_capacity_16(struct scsi_disk *sdkp, struct scsi_device *sdp, in read_capacity_16() argument
2678 if (sdp->no_read_capacity_16) in read_capacity_16()
2688 the_result = scsi_execute_cmd(sdp, cmd, REQ_OP_DRV_IN, in read_capacity_16()
2718 read_capacity_error(sdkp, sdp, &sshdr, sense_valid, the_result); in read_capacity_16()
2754 static int read_capacity_10(struct scsi_disk *sdkp, struct scsi_device *sdp, in read_capacity_10() argument
2799 the_result = scsi_execute_cmd(sdp, cmd, REQ_OP_DRV_IN, buffer, in read_capacity_10()
2812 read_capacity_error(sdkp, sdp, &sshdr, sense_valid, the_result); in read_capacity_10()
2819 if (sdp->no_read_capacity_16 && (lba == 0xffffffff)) { in read_capacity_10()
2833 static int sd_try_rc16_first(struct scsi_device *sdp) in sd_try_rc16_first() argument
2835 if (sdp->host->max_cmd_len < 16) in sd_try_rc16_first()
2837 if (sdp->try_rc_10_first) in sd_try_rc16_first()
2839 if (sdp->scsi_level > SCSI_SPC_2) in sd_try_rc16_first()
2841 if (scsi_device_protection(sdp)) in sd_try_rc16_first()
2854 struct scsi_device *sdp = sdkp->device; in sd_read_capacity() local
2856 if (sd_try_rc16_first(sdp)) { in sd_read_capacity()
2857 sector_size = read_capacity_16(sdkp, sdp, lim, buffer); in sd_read_capacity()
2863 sector_size = read_capacity_10(sdkp, sdp, buffer); in sd_read_capacity()
2867 sector_size = read_capacity_10(sdkp, sdp, buffer); in sd_read_capacity()
2877 sector_size = read_capacity_16(sdkp, sdp, lim, buffer); in sd_read_capacity()
2886 sdp->try_rc_10_first = 0; in sd_read_capacity()
2900 if (sdp->fix_capacity || in sd_read_capacity()
2901 (sdp->guess_capacity && (sdkp->capacity & 0x01))) { in sd_read_capacity()
2941 sdp->use_16_for_rw = 1; in sd_read_capacity()
2999 struct scsi_device *sdp = sdkp->device; in sd_read_write_protect_flag() local
3004 if (sdp->skip_ms_page_3f) { in sd_read_write_protect_flag()
3009 if (sdp->use_192_bytes_for_3f) { in sd_read_write_protect_flag()
3058 struct scsi_device *sdp = sdkp->device; in sd_read_cache_type() local
3074 if (sdp->skip_ms_page_8) { in sd_read_cache_type()
3075 if (sdp->type == TYPE_RBC) in sd_read_cache_type()
3078 if (sdp->skip_ms_page_3f) in sd_read_cache_type()
3081 if (sdp->use_192_bytes_for_3f) in sd_read_cache_type()
3085 } else if (sdp->type == TYPE_RBC) { in sd_read_cache_type()
3122 if (modepage == 0x3F && sdp->use_192_bytes_for_3f) in sd_read_cache_type()
3177 if (sdp->broken_fua) { in sd_read_cache_type()
3214 if (sdp->wce_default_on) { in sd_read_cache_type()
3259 struct scsi_device *sdp = sdkp->device; in sd_read_io_hints() local
3266 if (sdp->sdev_bflags & BLIST_SKIP_IO_HINTS) in sd_read_io_hints()
3269 res = scsi_mode_sense(sdp, /*dbd=*/0x8, /*modepage=*/0x0a, in sd_read_io_hints()
3303 struct scsi_device *sdp = sdkp->device; in sd_read_app_tag_own() local
3307 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in sd_read_app_tag_own()
3313 res = scsi_mode_sense(sdp, 1, 0x0a, 0, buffer, 36, SD_TIMEOUT, in sd_read_app_tag_own()
3611 struct scsi_device *sdp = sdkp->device; in sd_validate_min_xfer_size() local
3613 logical_to_bytes(sdp, sdkp->min_xfer_blocks); in sd_validate_min_xfer_size()
3639 struct scsi_device *sdp = sdkp->device; in sd_validate_opt_xfer_size() local
3641 logical_to_bytes(sdp, sdkp->opt_xfer_blocks); in sd_validate_opt_xfer_size()
3643 logical_to_bytes(sdp, sdkp->min_xfer_blocks); in sd_validate_opt_xfer_size()
3721 struct scsi_device *sdp = sdkp->device; in sd_revalidate_disk() local
3735 if (!scsi_device_online(sdp)) in sd_revalidate_disk()
3761 if (sdp->read_before_ms) in sd_revalidate_disk()
3771 if (scsi_device_supports_vpd(sdp)) { in sd_revalidate_disk()
3799 dev_max = sdp->use_16_for_rw ? SD_MAX_XFER_BLOCKS : SD_DEF_XFER_BLOCKS; in sd_revalidate_disk()
3803 lim->max_dev_sectors = logical_to_sectors(sdp, dev_max); in sd_revalidate_disk()
3806 lim->io_min = logical_to_bytes(sdp, sdkp->min_xfer_blocks); in sd_revalidate_disk()
3815 lim->io_opt = sdp->host->opt_sectors << SECTOR_SHIFT; in sd_revalidate_disk()
3818 logical_to_bytes(sdp, sdkp->opt_xfer_blocks)); in sd_revalidate_disk()
3823 set_capacity_and_notify(disk, logical_to_sectors(sdp, sdkp->capacity)); in sd_revalidate_disk()
3835 if (sdkp->media_present && scsi_device_supports_vpd(sdp)) in sd_revalidate_disk()
3951 static int sd_probe(struct scsi_device *sdp) in sd_probe() argument
3953 struct device *dev = &sdp->sdev_gendev; in sd_probe()
3959 scsi_autopm_get_device(sdp); in sd_probe()
3961 if (sdp->type != TYPE_DISK && in sd_probe()
3962 sdp->type != TYPE_ZBC && in sd_probe()
3963 sdp->type != TYPE_MOD && in sd_probe()
3964 sdp->type != TYPE_RBC) in sd_probe()
3967 if (!IS_ENABLED(CONFIG_BLK_DEV_ZONED) && sdp->type == TYPE_ZBC) { in sd_probe()
3968 sdev_printk(KERN_WARNING, sdp, in sd_probe()
3973 SCSI_LOG_HLQUEUE(3, sdev_printk(KERN_INFO, sdp, in sd_probe()
3981 gd = blk_mq_alloc_disk_for_queue(sdp->request_queue, in sd_probe()
3988 sdev_printk(KERN_WARNING, sdp, "sd_probe: memory exhausted.\n"); in sd_probe()
3994 sdev_printk(KERN_WARNING, sdp, "SCSI disk (sd) name length exceeded.\n"); in sd_probe()
3998 sdkp->device = sdp; in sd_probe()
4005 if (!sdp->request_queue->rq_timeout) { in sd_probe()
4006 if (sdp->type != TYPE_MOD) in sd_probe()
4007 blk_queue_rq_timeout(sdp->request_queue, SD_TIMEOUT); in sd_probe()
4009 blk_queue_rq_timeout(sdp->request_queue, in sd_probe()
4034 sdp->sector_size = 512; in sd_probe()
4047 if (sdp->removable) { in sd_probe()
4053 blk_pm_runtime_init(sdp->request_queue, dev); in sd_probe()
4054 if (sdp->rpm_autosuspend) { in sd_probe()
4056 sdp->host->rpm_autosuspend_delay); in sd_probe()
4073 sdp->removable ? "removable " : ""); in sd_probe()
4074 scsi_autopm_put_device(sdp); in sd_probe()
4085 scsi_autopm_put_device(sdp); in sd_probe()
4126 struct scsi_device *sdp = sdkp->device; in sd_start_stop_device() local
4132 if (sdp->start_stop_pwr_cond) in sd_start_stop_device()
4135 if (!scsi_device_online(sdp)) in sd_start_stop_device()
4138 res = scsi_execute_cmd(sdp, cmd, REQ_OP_DRV_IN, NULL, 0, SD_TIMEOUT, in sd_start_stop_device()
4162 static void sd_shutdown(struct scsi_device *sdp) in sd_shutdown() argument
4164 struct device *dev = &sdp->sdev_gendev; in sd_shutdown()
4202 static void sd_remove(struct scsi_device *sdp) in sd_remove() argument
4204 struct device *dev = &sdp->sdev_gendev; in sd_remove()
4212 sd_shutdown(sdp); in sd_remove()
4312 struct scsi_device *sdp = sdkp ? sdkp->device : NULL; in sd_resume_system() local
4314 if (sdp && sdp->force_runtime_start_on_system_start) in sd_resume_system()
4326 struct scsi_device *sdp; in sd_resume_runtime() local
4331 sdp = sdkp->device; in sd_resume_runtime()
4333 if (sdp->ignore_media_change) { in sd_resume_runtime()
4340 if (scsi_execute_cmd(sdp, cmd, REQ_OP_DRV_IN, NULL, 0, in sd_resume_runtime()
4341 sdp->request_queue->rq_timeout, 1, in sd_resume_runtime()