summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci/request.h
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-06-23 14:33:48 -0700
committerDan Williams <dan.j.williams@intel.com>2011-07-03 04:04:51 -0700
commit38d8879baeb61b6946052739e7c03fa79b3a57f0 (patch)
tree66714c4769ba5e81311f33a6ded544b5e9a02c6c /drivers/scsi/isci/request.h
parent312e0c2455c18716cf640d4336dcb1e9e5053818 (diff)
isci: combine request flags
Combine three bools into one unsigned long 'flags'. Doesn't increase the request size due to packing. (to do: optimize the structure layout). Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/request.h')
-rw-r--r--drivers/scsi/isci/request.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/scsi/isci/request.h b/drivers/scsi/isci/request.h
index 8c77c4cbe04..f440e421ea0 100644
--- a/drivers/scsi/isci/request.h
+++ b/drivers/scsi/isci/request.h
@@ -210,12 +210,6 @@ struct scic_sds_request {
struct scu_sgl_element_pair sg_table[SCU_SGL_SIZE] __attribute__ ((aligned(32)));
/*
- * This field indicates if this request is a task management request or
- * normal IO request.
- */
- bool is_task_management_request;
-
- /*
* This field is a pointer to the stored rx frame data. It is used in
* STP internal requests and SMP response frames. If this field is
* non-NULL the saved frame must be released on IO request completion.
@@ -260,8 +254,10 @@ struct isci_request {
enum isci_request_status status;
enum task_type ttype;
unsigned short io_tag;
- bool complete_in_target;
- bool terminated;
+ #define IREQ_COMPLETE_IN_TARGET 0
+ #define IREQ_TERMINATED 1
+ #define IREQ_TMF 2
+ unsigned long flags;
union ttype_ptr_union {
struct sas_task *io_task_ptr; /* When ttype==io_task */