Lines Matching refs:sdp

160 	struct scsi_device *sdp = sdkp->device;  in cache_type_store()  local
168 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in cache_type_store()
195 if (scsi_mode_sense(sdp, 0x08, 8, buffer, sizeof(buffer), SD_TIMEOUT, in cache_type_store()
213 if (scsi_mode_select(sdp, 1, sp, 8, buffer_data, len, SD_TIMEOUT, in cache_type_store()
228 struct scsi_device *sdp = sdkp->device; in manage_start_stop_show() local
230 return sprintf(buf, "%u\n", sdp->manage_start_stop); in manage_start_stop_show()
238 struct scsi_device *sdp = sdkp->device; in manage_start_stop_store() local
247 sdp->manage_start_stop = v; in manage_start_stop_store()
267 struct scsi_device *sdp = sdkp->device; in allow_restart_store() local
272 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in allow_restart_store()
278 sdp->allow_restart = v; in allow_restart_store()
340 struct scsi_device *sdp = sdkp->device; in protection_mode_show() local
343 dif = scsi_host_dif_capable(sdp->host, sdkp->protection_type); in protection_mode_show()
344 dix = scsi_host_dix_capable(sdp->host, sdkp->protection_type); in protection_mode_show()
346 if (!dix && scsi_host_dix_capable(sdp->host, T10_PI_TYPE0_PROTECTION)) { in protection_mode_show()
401 struct scsi_device *sdp = sdkp->device; in provisioning_mode_store() local
412 if (sdp->type != TYPE_DISK) in provisioning_mode_store()
502 struct scsi_device *sdp = sdkp->device; in max_write_same_blocks_store() local
509 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in max_write_same_blocks_store()
518 sdp->no_write_same = 1; in max_write_same_blocks_store()
520 sdp->no_write_same = 0; in max_write_same_blocks_store()
873 struct scsi_device *sdp = cmd->device; in sd_setup_unmap_cmnd() local
876 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_unmap_cmnd()
877 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_unmap_cmnd()
909 struct scsi_device *sdp = cmd->device; in sd_setup_write_same16_cmnd() local
912 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_same16_cmnd()
913 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_same16_cmnd()
914 u32 data_len = sdp->sector_size; in sd_setup_write_same16_cmnd()
941 struct scsi_device *sdp = cmd->device; in sd_setup_write_same10_cmnd() local
944 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_same10_cmnd()
945 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_same10_cmnd()
946 u32 data_len = sdp->sector_size; in sd_setup_write_same10_cmnd()
973 struct scsi_device *sdp = cmd->device; in sd_setup_write_zeroes_cmnd() local
975 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_zeroes_cmnd()
976 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_zeroes_cmnd()
987 if (sdp->no_write_same) { in sd_setup_write_zeroes_cmnd()
1070 struct scsi_device *sdp = cmd->device; in sd_setup_write_same_cmnd() local
1073 u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_write_same_cmnd()
1074 u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_write_same_cmnd()
1080 BUG_ON(bio_offset(bio) || bio_iovec(bio).bv_len != sdp->sector_size); in sd_setup_write_same_cmnd()
1096 cmd->transfersize = sdp->sector_size; in sd_setup_write_same_cmnd()
1109 rq->__data_len = sdp->sector_size; in sd_setup_write_same_cmnd()
1217 struct scsi_device *sdp = cmd->device; in sd_setup_read_write_cmnd() local
1219 sector_t lba = sectors_to_logical(sdp, blk_rq_pos(rq)); in sd_setup_read_write_cmnd()
1221 unsigned int nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); in sd_setup_read_write_cmnd()
1222 unsigned int mask = logical_to_sectors(sdp, 1) - 1; in sd_setup_read_write_cmnd()
1234 if (!scsi_device_online(sdp) || sdp->changed) { in sd_setup_read_write_cmnd()
1255 if (unlikely(sdp->last_sector_bug && lba + nr_blocks > threshold)) { in sd_setup_read_write_cmnd()
1283 } else if (sdp->use_16_for_rw || (nr_blocks > 0xffff)) { in sd_setup_read_write_cmnd()
1287 sdp->use_10_for_rw || protect) { in sd_setup_read_write_cmnd()
1303 cmd->transfersize = sdp->sector_size; in sd_setup_read_write_cmnd()
1306 cmd->sdb.length = nr_blocks * sdp->sector_size; in sd_setup_read_write_cmnd()
1513 struct scsi_device *sdp = sdkp->device; in sd_getgeo() local
1514 struct Scsi_Host *host = sdp->host; in sd_getgeo()
1515 sector_t capacity = logical_to_sectors(sdp, sdkp->capacity); in sd_getgeo()
1525 host->hostt->bios_param(sdp, bdev, capacity, diskinfo); in sd_getgeo()
1554 struct scsi_device *sdp = sdkp->device; in sd_ioctl() local
1570 error = scsi_ioctl_block_when_processing_errors(sdp, cmd, in sd_ioctl()
1577 return scsi_ioctl(sdp, disk, mode, cmd, p); in sd_ioctl()
1622 struct scsi_device *sdp; in sd_check_events() local
1629 sdp = sdkp->device; in sd_check_events()
1638 if (!scsi_device_online(sdp)) { in sd_check_events()
1652 if (scsi_block_when_processing_errors(sdp)) { in sd_check_events()
1655 retval = scsi_test_unit_ready(sdp, SD_TIMEOUT, sdkp->max_retries, in sd_check_events()
1673 sdp->changed = 1; in sd_check_events()
1682 disk_changed = sdp->changed; in sd_check_events()
1683 sdp->changed = 0; in sd_check_events()
1691 struct scsi_device *sdp = sdkp->device; in sd_sync_cache() local
1692 const int timeout = sdp->request_queue->rq_timeout in sd_sync_cache()
1696 if (!scsi_device_online(sdp)) in sd_sync_cache()
1711 res = scsi_execute(sdp, cmd, DMA_NONE, NULL, 0, NULL, sshdr, in sd_sync_cache()
2282 struct scsi_device *sdp = sdkp->device; in sd_read_protection_type() local
2286 if (scsi_device_protection(sdp) == 0 || (buffer[12] & 1) == 0) { in sd_read_protection_type()
2295 else if (scsi_host_dif_capable(sdp->host, type)) in sd_read_protection_type()
2320 static void read_capacity_error(struct scsi_disk *sdkp, struct scsi_device *sdp, in read_capacity_error() argument
2333 if (sdp->removable && in read_capacity_error()
2352 static int read_capacity_16(struct scsi_disk *sdkp, struct scsi_device *sdp, in read_capacity_16() argument
2364 if (sdp->no_read_capacity_16) in read_capacity_16()
2374 the_result = scsi_execute_req(sdp, cmd, DMA_FROM_DEVICE, in read_capacity_16()
2405 read_capacity_error(sdkp, sdp, &sshdr, sense_valid, the_result); in read_capacity_16()
2425 blk_queue_alignment_offset(sdp->request_queue, alignment); in read_capacity_16()
2443 static int read_capacity_10(struct scsi_disk *sdkp, struct scsi_device *sdp, in read_capacity_10() argument
2459 the_result = scsi_execute_req(sdp, cmd, DMA_FROM_DEVICE, in read_capacity_10()
2482 read_capacity_error(sdkp, sdp, &sshdr, sense_valid, the_result); in read_capacity_10()
2489 if (sdp->no_read_capacity_16 && (lba == 0xffffffff)) { in read_capacity_10()
2503 static int sd_try_rc16_first(struct scsi_device *sdp) in sd_try_rc16_first() argument
2505 if (sdp->host->max_cmd_len < 16) in sd_try_rc16_first()
2507 if (sdp->try_rc_10_first) in sd_try_rc16_first()
2509 if (sdp->scsi_level > SCSI_SPC_2) in sd_try_rc16_first()
2511 if (scsi_device_protection(sdp)) in sd_try_rc16_first()
2523 struct scsi_device *sdp = sdkp->device; in sd_read_capacity() local
2525 if (sd_try_rc16_first(sdp)) { in sd_read_capacity()
2526 sector_size = read_capacity_16(sdkp, sdp, buffer); in sd_read_capacity()
2532 sector_size = read_capacity_10(sdkp, sdp, buffer); in sd_read_capacity()
2536 sector_size = read_capacity_10(sdkp, sdp, buffer); in sd_read_capacity()
2546 sector_size = read_capacity_16(sdkp, sdp, buffer); in sd_read_capacity()
2555 sdp->try_rc_10_first = 0; in sd_read_capacity()
2569 if (sdp->fix_capacity || in sd_read_capacity()
2570 (sdp->guess_capacity && (sdkp->capacity & 0x01))) { in sd_read_capacity()
2605 blk_queue_logical_block_size(sdp->request_queue, sector_size); in sd_read_capacity()
2606 blk_queue_physical_block_size(sdp->request_queue, in sd_read_capacity()
2611 sdp->use_16_for_rw = 1; in sd_read_capacity()
2670 struct scsi_device *sdp = sdkp->device; in sd_read_write_protect_flag() local
2675 if (sdp->skip_ms_page_3f) { in sd_read_write_protect_flag()
2680 if (sdp->use_192_bytes_for_3f) { in sd_read_write_protect_flag()
2729 struct scsi_device *sdp = sdkp->device; in sd_read_cache_type() local
2745 if (sdp->skip_ms_page_8) { in sd_read_cache_type()
2746 if (sdp->type == TYPE_RBC) in sd_read_cache_type()
2749 if (sdp->skip_ms_page_3f) in sd_read_cache_type()
2752 if (sdp->use_192_bytes_for_3f) in sd_read_cache_type()
2756 } else if (sdp->type == TYPE_RBC) { in sd_read_cache_type()
2792 if (modepage == 0x3F && sdp->use_192_bytes_for_3f) in sd_read_cache_type()
2849 if (sdp->broken_fua) { in sd_read_cache_type()
2886 if (sdp->wce_default_on) { in sd_read_cache_type()
2906 struct scsi_device *sdp = sdkp->device; in sd_read_app_tag_own() local
2910 if (sdp->type != TYPE_DISK && sdp->type != TYPE_ZBC) in sd_read_app_tag_own()
2916 res = scsi_mode_sense(sdp, 1, 0x0a, buffer, 36, SD_TIMEOUT, in sd_read_app_tag_own()
3226 struct scsi_device *sdp = sdkp->device; in sd_validate_opt_xfer_size() local
3228 logical_to_bytes(sdp, sdkp->opt_xfer_blocks); in sd_validate_opt_xfer_size()
3278 struct scsi_device *sdp = sdkp->device; in sd_revalidate_disk() local
3291 if (!scsi_device_online(sdp)) in sd_revalidate_disk()
3319 if (scsi_device_supports_vpd(sdp)) { in sd_revalidate_disk()
3343 dev_max = sdp->use_16_for_rw ? SD_MAX_XFER_BLOCKS : SD_DEF_XFER_BLOCKS; in sd_revalidate_disk()
3347 q->limits.max_dev_sectors = logical_to_sectors(sdp, dev_max); in sd_revalidate_disk()
3350 q->limits.io_opt = logical_to_bytes(sdp, sdkp->opt_xfer_blocks); in sd_revalidate_disk()
3351 rw_max = logical_to_sectors(sdp, sdkp->opt_xfer_blocks); in sd_revalidate_disk()
3354 rw_max = min_not_zero(logical_to_sectors(sdp, dev_max), in sd_revalidate_disk()
3372 set_capacity_and_notify(disk, logical_to_sectors(sdp, sdkp->capacity)); in sd_revalidate_disk()
3474 struct scsi_device *sdp = to_scsi_device(dev); in sd_probe() local
3480 scsi_autopm_get_device(sdp); in sd_probe()
3482 if (sdp->type != TYPE_DISK && in sd_probe()
3483 sdp->type != TYPE_ZBC && in sd_probe()
3484 sdp->type != TYPE_MOD && in sd_probe()
3485 sdp->type != TYPE_RBC) in sd_probe()
3488 if (!IS_ENABLED(CONFIG_BLK_DEV_ZONED) && sdp->type == TYPE_ZBC) { in sd_probe()
3489 sdev_printk(KERN_WARNING, sdp, in sd_probe()
3494 SCSI_LOG_HLQUEUE(3, sdev_printk(KERN_INFO, sdp, in sd_probe()
3502 gd = __alloc_disk_node(sdp->request_queue, NUMA_NO_NODE, in sd_probe()
3509 sdev_printk(KERN_WARNING, sdp, "sd_probe: memory exhausted.\n"); in sd_probe()
3515 sdev_printk(KERN_WARNING, sdp, "SCSI disk (sd) name length exceeded.\n"); in sd_probe()
3519 sdkp->device = sdp; in sd_probe()
3527 if (!sdp->request_queue->rq_timeout) { in sd_probe()
3528 if (sdp->type != TYPE_MOD) in sd_probe()
3529 blk_queue_rq_timeout(sdp->request_queue, SD_TIMEOUT); in sd_probe()
3531 blk_queue_rq_timeout(sdp->request_queue, in sd_probe()
3556 sdp->sector_size = 512; in sd_probe()
3570 if (sdp->removable) { in sd_probe()
3576 blk_pm_runtime_init(sdp->request_queue, dev); in sd_probe()
3577 if (sdp->rpm_autosuspend) { in sd_probe()
3579 sdp->host->hostt->rpm_autosuspend_delay); in sd_probe()
3600 sdp->removable ? "removable " : ""); in sd_probe()
3601 scsi_autopm_put_device(sdp); in sd_probe()
3613 scsi_autopm_put_device(sdp); in sd_probe()
3690 struct scsi_device *sdp = sdkp->device; in sd_start_stop_device() local
3696 if (sdp->start_stop_pwr_cond) in sd_start_stop_device()
3699 if (!scsi_device_online(sdp)) in sd_start_stop_device()
3702 res = scsi_execute(sdp, cmd, DMA_NONE, NULL, 0, NULL, &sshdr, in sd_start_stop_device()
3831 struct scsi_device *sdp; in sd_resume_runtime() local
3836 sdp = sdkp->device; in sd_resume_runtime()
3838 if (sdp->ignore_media_change) { in sd_resume_runtime()
3842 if (scsi_execute(sdp, cmd, DMA_NONE, NULL, 0, NULL, in sd_resume_runtime()
3843 NULL, sdp->request_queue->rq_timeout, 1, 0, in sd_resume_runtime()