summaryrefslogtreecommitdiff
path: root/drivers/scsi/isci/core/scic_phy.h
diff options
context:
space:
mode:
authorDave Jiang <dave.jiang@intel.com>2011-05-05 01:22:33 (GMT)
committerDan Williams <dan.j.williams@intel.com>2011-07-03 11:04:46 (GMT)
commitd7b90fc3436fa6d5b5251eec3128386af1a4d7b8 (patch)
treecfaf1edede969b86d1b88a396eba97bde2432123 /drivers/scsi/isci/core/scic_phy.h
parentf700ad4331d55df729a36b2602c4abe2d855036f (diff)
downloadlinux-fsl-qoriq-d7b90fc3436fa6d5b5251eec3128386af1a4d7b8.tar.xz
isci: fixup SAS iaf protocols data structure
Moved the actual data structure that's read from the phy register to phy header. Removed the parsing of identify address frame protocol bits as that seemed not necessary and we can use existing information. Signed-off-by: Dave Jiang <dave.jiang@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/core/scic_phy.h')
-rw-r--r--drivers/scsi/isci/core/scic_phy.h26
1 files changed, 20 insertions, 6 deletions
diff --git a/drivers/scsi/isci/core/scic_phy.h b/drivers/scsi/isci/core/scic_phy.h
index 3f43e8d..451d797 100644
--- a/drivers/scsi/isci/core/scic_phy.h
+++ b/drivers/scsi/isci/core/scic_phy.h
@@ -103,6 +103,26 @@ struct scic_phy_cap {
};
} __packed;
+/* this data structure reflects the link layer transmit identification reg */
+struct scic_phy_proto {
+ union {
+ struct {
+ u16 _r_a:1;
+ u16 smp_iport:1;
+ u16 stp_iport:1;
+ u16 ssp_iport:1;
+ u16 _r_b:4;
+ u16 _r_c:1;
+ u16 smp_tport:1;
+ u16 stp_tport:1;
+ u16 ssp_tport:1;
+ u16 _r_d:4;
+ };
+ u16 all;
+ };
+} __packed;
+
+
/**
* struct scic_phy_properties - This structure defines the properties common to
* all phys that can be retrieved.
@@ -124,16 +144,10 @@ struct scic_phy_properties {
enum sas_linkrate negotiated_link_rate;
/**
- * This field indicates the protocols supported by the phy.
- */
- struct sci_sas_identify_address_frame_protocols protocols;
-
- /**
* This field specifies the index of the phy in relation to other
* phys within the controller. This index is zero relative.
*/
u8 index;
-
};
/**