aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci/request.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/isci/request.h')
-rw-r--r--drivers/scsi/isci/request.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/scsi/isci/request.h b/drivers/scsi/isci/request.h
index ddfbf71c97e5..89d8b0a27dfe 100644
--- a/drivers/scsi/isci/request.h
+++ b/drivers/scsi/isci/request.h
@@ -82,11 +82,11 @@ enum task_type {
82}; 82};
83 83
84struct isci_request { 84struct isci_request {
85 struct scic_sds_request *sci_request_handle;
86 enum isci_request_status status; 85 enum isci_request_status status;
87 enum task_type ttype; 86 enum task_type ttype;
88 unsigned short io_tag; 87 unsigned short io_tag;
89 bool complete_in_target; 88 bool complete_in_target;
89 bool terminated;
90 90
91 union ttype_ptr_union { 91 union ttype_ptr_union {
92 struct sas_task *io_task_ptr; /* When ttype==io_task */ 92 struct sas_task *io_task_ptr; /* When ttype==io_task */
@@ -103,7 +103,6 @@ struct isci_request {
103 dma_addr_t zero_scatter_daddr; 103 dma_addr_t zero_scatter_daddr;
104 104
105 unsigned int num_sg_entries; /* returned by pci_alloc_sg */ 105 unsigned int num_sg_entries; /* returned by pci_alloc_sg */
106 unsigned int request_alloc_size; /* size of block from dma_pool_alloc */
107 106
108 /** Note: "io_request_completion" is completed in two different ways 107 /** Note: "io_request_completion" is completed in two different ways
109 * depending on whether this is a TMF or regular request. 108 * depending on whether this is a TMF or regular request.
@@ -115,9 +114,16 @@ struct isci_request {
115 * TMF was aborting is guaranteed to have completed. 114 * TMF was aborting is guaranteed to have completed.
116 */ 115 */
117 struct completion *io_request_completion; 116 struct completion *io_request_completion;
118 struct scic_sds_request sci_req[0] ____cacheline_aligned; 117 struct scic_sds_request sci;
119}; 118};
120 119
120static inline struct isci_request *sci_req_to_ireq(struct scic_sds_request *sci_req)
121{
122 struct isci_request *ireq = container_of(sci_req, typeof(*ireq), sci);
123
124 return ireq;
125}
126
121/** 127/**
122 * This function gets the status of the request object. 128 * This function gets the status of the request object.
123 * @request: This parameter points to the isci_request object 129 * @request: This parameter points to the isci_request object