aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ipr.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/ipr.h')
-rw-r--r--drivers/scsi/ipr.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h
index f7fa8cd2ecad..c9cc40e5db24 100644
--- a/drivers/scsi/ipr.h
+++ b/drivers/scsi/ipr.h
@@ -302,6 +302,10 @@ struct ipr_config_table_entry {
302#define IPR_SUBTYPE_GENERIC_SCSI 1 302#define IPR_SUBTYPE_GENERIC_SCSI 1
303#define IPR_SUBTYPE_VOLUME_SET 2 303#define IPR_SUBTYPE_VOLUME_SET 2
304 304
305#define IPR_QUEUEING_MODEL(res) ((((res)->cfgte.flags) & 0x70) >> 4)
306#define IPR_QUEUE_FROZEN_MODEL 0
307#define IPR_QUEUE_NACA_MODEL 1
308
305 struct ipr_res_addr res_addr; 309 struct ipr_res_addr res_addr;
306 __be32 res_handle; 310 __be32 res_handle;
307 __be32 reserved4[2]; 311 __be32 reserved4[2];
@@ -1294,6 +1298,20 @@ static inline int ipr_is_gscsi(struct ipr_resource_entry *res)
1294} 1298}
1295 1299
1296/** 1300/**
1301 * ipr_is_naca_model - Determine if a resource is using NACA queueing model
1302 * @res: resource entry struct
1303 *
1304 * Return value:
1305 * 1 if NACA queueing model / 0 if not NACA queueing model
1306 **/
1307static inline int ipr_is_naca_model(struct ipr_resource_entry *res)
1308{
1309 if (ipr_is_gscsi(res) && IPR_QUEUEING_MODEL(res) == IPR_QUEUE_NACA_MODEL)
1310 return 1;
1311 return 0;
1312}
1313
1314/**
1297 * ipr_is_device - Determine if resource address is that of a device 1315 * ipr_is_device - Determine if resource address is that of a device
1298 * @res_addr: resource address struct 1316 * @res_addr: resource address struct
1299 * 1317 *