aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci/request.h
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-05-08 04:56:57 -0400
committerDan Williams <dan.j.williams@intel.com>2011-07-03 07:04:47 -0400
commit0d84366fbef557f92ef82ac9a224c57ffb3318bc (patch)
tree05f0b1ed0896550ee5182d18ea938338b3a99df2 /drivers/scsi/isci/request.h
parent827a84d4e036b342b31abc2bcc3893505c2c7daa (diff)
isci: make sgl explicit/aligned request object member
Towards unifying request objects we need all members to be defined in the object and not carved out of anonymous buffer space. 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.h13
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/scsi/isci/request.h b/drivers/scsi/isci/request.h
index 9c97715e54d8..ddfbf71c97e5 100644
--- a/drivers/scsi/isci/request.h
+++ b/drivers/scsi/isci/request.h
@@ -53,10 +53,11 @@
53 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 53 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
54 */ 54 */
55 55
56#if !defined(_ISCI_REQUEST_H_) 56#ifndef _ISCI_REQUEST_H_
57#define _ISCI_REQUEST_H_ 57#define _ISCI_REQUEST_H_
58 58
59#include "isci.h" 59#include "isci.h"
60#include "scic_sds_request.h"
60 61
61/** 62/**
62 * struct isci_request_status - This enum defines the possible states of an I/O 63 * struct isci_request_status - This enum defines the possible states of an I/O
@@ -80,16 +81,8 @@ enum task_type {
80 tmf_task = 1 81 tmf_task = 1
81}; 82};
82 83
83/**
84 * struct isci_request - This class represents the request object used to track
85 * IO, smp and TMF request internal. It wraps the SCIC request object.
86 *
87 *
88 */
89struct isci_request { 84struct isci_request {
90
91 struct scic_sds_request *sci_request_handle; 85 struct scic_sds_request *sci_request_handle;
92
93 enum isci_request_status status; 86 enum isci_request_status status;
94 enum task_type ttype; 87 enum task_type ttype;
95 unsigned short io_tag; 88 unsigned short io_tag;
@@ -105,7 +98,6 @@ struct isci_request {
105 struct list_head completed_node; 98 struct list_head completed_node;
106 /* For use in the reqs_in_process list: */ 99 /* For use in the reqs_in_process list: */
107 struct list_head dev_node; 100 struct list_head dev_node;
108 void *sci_request_mem_ptr;
109 spinlock_t state_lock; 101 spinlock_t state_lock;
110 dma_addr_t request_daddr; 102 dma_addr_t request_daddr;
111 dma_addr_t zero_scatter_daddr; 103 dma_addr_t zero_scatter_daddr;
@@ -123,6 +115,7 @@ struct isci_request {
123 * TMF was aborting is guaranteed to have completed. 115 * TMF was aborting is guaranteed to have completed.
124 */ 116 */
125 struct completion *io_request_completion; 117 struct completion *io_request_completion;
118 struct scic_sds_request sci_req[0] ____cacheline_aligned;
126}; 119};
127 120
128/** 121/**