summaryrefslogtreecommitdiff
path: root/drivers/scsi/isci/sas.h
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-06-16 23:59:56 (GMT)
committerDan Williams <dan.j.williams@intel.com>2011-07-03 11:04:51 (GMT)
commite9bf709564e90abea25ca7aeae8c3de5cc6468d7 (patch)
treee4569a311fd0181109ad7b265425a74af2a41553 /drivers/scsi/isci/sas.h
parentddcc7e347a891937be65358b43f40b7f81185f8f (diff)
downloadlinux-fsl-qoriq-e9bf709564e90abea25ca7aeae8c3de5cc6468d7.tar.xz
isci: fix support for arbitrarily large smp requests
Instead of duplicating the smp request buffer reuse the one provided by libsas. This future proofs the driver to support arbitrarily large smp requests, and shrinks the request structure size by ~700 bytes. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/sas.h')
-rw-r--r--drivers/scsi/isci/sas.h11
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/scsi/isci/sas.h b/drivers/scsi/isci/sas.h
index 822a8db..462b151 100644
--- a/drivers/scsi/isci/sas.h
+++ b/drivers/scsi/isci/sas.h
@@ -190,8 +190,6 @@ struct smp_req_phycntl {
u8 _r_h[3]; /* bytes 37-39 */
} __packed;
-#define SMP_REQ_VENDOR_SPECIFIC_MAX_LEN 1016
-
/*
* struct smp_req - This structure simply unionizes the existing request
* structures into a common request type.
@@ -203,14 +201,7 @@ struct smp_req {
u8 func; /* byte 1 */
u8 alloc_resp_len; /* byte 2 */
u8 req_len; /* byte 3 */
-
- union { /* bytes 4-N */
- u32 smp_req_gen;
- struct smp_req_phy_id phy_id;
- struct smp_req_phycntl phy_cntl;
- struct smp_req_conf_rtinfo conf_rt_info;
- u8 vendor[SMP_REQ_VENDOR_SPECIFIC_MAX_LEN];
- };
+ u8 req_data[0];
} __packed;
#define SMP_RESP_HDR_SZ 4