diff options
Diffstat (limited to 'drivers/scsi/isci/request.h')
-rw-r--r-- | drivers/scsi/isci/request.h | 12 |
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 | ||
84 | struct isci_request { | 84 | struct 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 | ||
120 | static 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 |