Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef _SCSI_SCSI_DEVINFO_H
0003 #define _SCSI_SCSI_DEVINFO_H
0004 /*
0005  * Flags for SCSI devices that need special treatment
0006  */
0007 
0008 /* Only scan LUN 0 */
0009 #define BLIST_NOLUN     ((__force blist_flags_t)(1ULL << 0))
0010 /* Known to have LUNs, force scanning.
0011  * DEPRECATED: Use max_luns=N */
0012 #define BLIST_FORCELUN      ((__force blist_flags_t)(1ULL << 1))
0013 /* Flag for broken handshaking */
0014 #define BLIST_BORKEN        ((__force blist_flags_t)(1ULL << 2))
0015 /* unlock by special command */
0016 #define BLIST_KEY       ((__force blist_flags_t)(1ULL << 3))
0017 /* Do not use LUNs in parallel */
0018 #define BLIST_SINGLELUN     ((__force blist_flags_t)(1ULL << 4))
0019 /* Buggy Tagged Command Queuing */
0020 #define BLIST_NOTQ      ((__force blist_flags_t)(1ULL << 5))
0021 /* Non consecutive LUN numbering */
0022 #define BLIST_SPARSELUN     ((__force blist_flags_t)(1ULL << 6))
0023 /* Avoid LUNS >= 5 */
0024 #define BLIST_MAX5LUN       ((__force blist_flags_t)(1ULL << 7))
0025 /* Treat as (removable) CD-ROM */
0026 #define BLIST_ISROM     ((__force blist_flags_t)(1ULL << 8))
0027 /* LUNs past 7 on a SCSI-2 device */
0028 #define BLIST_LARGELUN      ((__force blist_flags_t)(1ULL << 9))
0029 /* override additional length field */
0030 #define BLIST_INQUIRY_36    ((__force blist_flags_t)(1ULL << 10))
0031 /* ignore MEDIA CHANGE unit attention after resuming from runtime suspend */
0032 #define BLIST_IGN_MEDIA_CHANGE  ((__force blist_flags_t)(1ULL << 11))
0033 /* do not do automatic start on add */
0034 #define BLIST_NOSTARTONADD  ((__force blist_flags_t)(1ULL << 12))
0035 #define __BLIST_UNUSED_13   ((__force blist_flags_t)(1ULL << 13))
0036 #define __BLIST_UNUSED_14   ((__force blist_flags_t)(1ULL << 14))
0037 #define __BLIST_UNUSED_15   ((__force blist_flags_t)(1ULL << 15))
0038 #define __BLIST_UNUSED_16   ((__force blist_flags_t)(1ULL << 16))
0039 /* try REPORT_LUNS even for SCSI-2 devs (if HBA supports more than 8 LUNs) */
0040 #define BLIST_REPORTLUN2    ((__force blist_flags_t)(1ULL << 17))
0041 /* don't try REPORT_LUNS scan (SCSI-3 devs) */
0042 #define BLIST_NOREPORTLUN   ((__force blist_flags_t)(1ULL << 18))
0043 /* don't use PREVENT-ALLOW commands */
0044 #define BLIST_NOT_LOCKABLE  ((__force blist_flags_t)(1ULL << 19))
0045 /* device is actually for RAID config */
0046 #define BLIST_NO_ULD_ATTACH ((__force blist_flags_t)(1ULL << 20))
0047 /* select without ATN */
0048 #define BLIST_SELECT_NO_ATN ((__force blist_flags_t)(1ULL << 21))
0049 /* retry HARDWARE_ERROR */
0050 #define BLIST_RETRY_HWERROR ((__force blist_flags_t)(1ULL << 22))
0051 /* maximum 512 sector cdb length */
0052 #define BLIST_MAX_512       ((__force blist_flags_t)(1ULL << 23))
0053 #define __BLIST_UNUSED_24   ((__force blist_flags_t)(1ULL << 24))
0054 /* Disable T10 PI (DIF) */
0055 #define BLIST_NO_DIF        ((__force blist_flags_t)(1ULL << 25))
0056 /* Ignore SBC-3 VPD pages */
0057 #define BLIST_SKIP_VPD_PAGES    ((__force blist_flags_t)(1ULL << 26))
0058 #define __BLIST_UNUSED_27   ((__force blist_flags_t)(1ULL << 27))
0059 /* Attempt to read VPD pages */
0060 #define BLIST_TRY_VPD_PAGES ((__force blist_flags_t)(1ULL << 28))
0061 /* don't try to issue RSOC */
0062 #define BLIST_NO_RSOC       ((__force blist_flags_t)(1ULL << 29))
0063 /* maximum 1024 sector cdb length */
0064 #define BLIST_MAX_1024      ((__force blist_flags_t)(1ULL << 30))
0065 /* Use UNMAP limit for WRITE SAME */
0066 #define BLIST_UNMAP_LIMIT_WS    ((__force blist_flags_t)(1ULL << 31))
0067 /* Always retry ABORTED_COMMAND with Internal Target Failure */
0068 #define BLIST_RETRY_ITF     ((__force blist_flags_t)(1ULL << 32))
0069 /* Always retry ABORTED_COMMAND with ASC 0xc1 */
0070 #define BLIST_RETRY_ASC_C1  ((__force blist_flags_t)(1ULL << 33))
0071 
0072 #define __BLIST_LAST_USED BLIST_RETRY_ASC_C1
0073 
0074 #define __BLIST_HIGH_UNUSED (~(__BLIST_LAST_USED | \
0075                    (__force blist_flags_t) \
0076                    ((__force __u64)__BLIST_LAST_USED - 1ULL)))
0077 #define __BLIST_UNUSED_MASK (__BLIST_UNUSED_13 | \
0078                  __BLIST_UNUSED_14 | \
0079                  __BLIST_UNUSED_15 | \
0080                  __BLIST_UNUSED_16 | \
0081                  __BLIST_UNUSED_24 | \
0082                  __BLIST_UNUSED_27 | \
0083                  __BLIST_HIGH_UNUSED)
0084 
0085 #endif