Lines Matching +full:disable +full:- +full:hibernation +full:- +full:mode
1 /* SPDX-License-Identifier: GPL-2.0 */
8 #include <linux/blk-mq.h>
49 * originate in the mid-layer) */
86 /* put union of data structures, for non-simple event types,
92 * struct scsi_vpd - SCSI Vital Product Data
107 /* the next two are protected by the host->host_lock */
130 * vendor-specific cmd's */
133 void *hostdata; /* available to low-level driver */
163 * If true, let the high-level device driver (sd) manage the device
165 * hibernation) operations.
170 * If true, let the high-level device driver (sd) manage the device
176 * If true, let the high-level device driver (sd) manage the device
182 * If set and if the device is runtime suspended, ask the high-level
204 unsigned tagged_supported:1; /* Supports SCSI-II tagged queuing */
210 unsigned use_10_for_rw:1; /* first try 10-byte read / write */
211 unsigned use_10_for_ms:1; /* first try 10-byte mode sense/select */
212 unsigned set_dbd_for_ms:1; /* Set "DBD" field in mode sense */
213 unsigned read_before_ms:1; /* perform a READ before MODE SENSE */
218 unsigned skip_ms_page_8:1; /* do not use MODE SENSE page 0x08 */
219 unsigned skip_ms_page_3f:1; /* do not use MODE SENSE page 0x3f */
226 unsigned no_uld_attach:1; /* disable connecting to upper level drivers */
250 unsigned cdl_enable:1; /* Enable/disable Command duration limits */
258 atomic_t disk_events_disable_depth; /* disable depth for disk events */
300 to_scsi_device(class_dev->parent)
303 dev_dbg(&(sdev)->sdev_gendev, fmt, ##a)
323 if (__rq->q->disk) \
324 sdev_dbg((scmd)->device, "[%s] " fmt, \
325 __rq->q->disk->disk_name, ##a); \
327 sdev_dbg((scmd)->device, fmt, ##a); \
377 void *hostdata; /* available to low-level driver */
385 return to_scsi_target(sdev->sdev_gendev.parent);
388 to_scsi_target(class_dev->parent)
391 dev_printk(prefix, &(starget)->dev, fmt, ##a)
426 * shost_for_each_device - iterate over all devices of a host
440 * __shost_for_each_device - iterate over all devices of a host (UNLOCKED)
446 * protected by shost->host_lock.
453 list_for_each_entry((sdev), &((shost)->__devices), siblings)
518 #define SCMD_FAILURE_NO_LIMIT -1
576 return device_reprobe(&sdev->sdev_gendev);
581 return sdev->channel;
586 return sdev->id;
589 #define scmd_id(scmd) sdev_id((scmd)->device)
590 #define scmd_channel(scmd) sdev_channel((scmd)->device)
597 return (sdev->sdev_state != SDEV_OFFLINE &&
598 sdev->sdev_state != SDEV_TRANSPORT_OFFLINE &&
599 sdev->sdev_state != SDEV_DEL);
603 return sdev->sdev_state == SDEV_BLOCK ||
604 sdev->sdev_state == SDEV_CREATED_BLOCK;
608 return sdev->sdev_state == SDEV_CREATED ||
609 sdev->sdev_state == SDEV_CREATED_BLOCK;
619 return sdev->sdtr;
623 return sdev->wdtr;
627 return sdev->ppr;
631 if (sdev->inquiry_len < 57)
633 return (sdev->inquiry[56] & 0x0c) == 0x04;
637 if (sdev->inquiry_len < 57)
639 return sdev->inquiry[56] & 0x01;
643 if (sdev->inquiry_len < 57)
645 return sdev->inquiry[56] & 0x02;
649 return sdev->inquiry ? (sdev->inquiry[6] & (1<<6)) : 1;
654 if (sdev->no_dif)
657 return sdev->scsi_level > SCSI_2 && sdev->inquiry[5] & (1<<0);
662 return sdev->inquiry ? (sdev->inquiry[5] >> 4) & 0x3 : 0;
666 * scsi_device_supports_vpd - test if a device supports VPD pages
671 * SCSI level is at least SPC-3 and 'skip_vpd_pages' is not set.
678 if (sdev->try_vpd_pages)
681 * Although VPD inquiries can go to SCSI-2 type devices,
683 * we currently ask for are mandatory for SPC-2 and beyond
685 if (sdev->scsi_level >= SCSI_SPC_2 && !sdev->skip_vpd_pages)
692 return sbitmap_weight(&sdev->budget_map);
697 ((const unsigned int)(sdev->ua_new_media_ctr))
699 ((const unsigned int)(sdev->ua_por_ctr))
702 MODULE_ALIAS("scsi:t-" __stringify(type) "*")
703 #define SCSI_DEVICE_MODALIAS_FMT "scsi:t-0x%02x"