[SCSI] SAS: consolidate linkspeed definitions

At the moment we have two separate linkspeed enumerations covering
roughly the same values.  This patch consolidates on a single one enum
sas_linkspeed in scsi_transport_sas.h and uses it everywhere in the
aic94xx driver.  Eventually I'll get around to removing the duplicated
fields in asd_sas_phy and sas_phy ...

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
James Bottomley
2006-09-06 17:36:13 -05:00
committed by James Bottomley
parent b4620233d6
commit 88edf74610
8 changed files with 54 additions and 69 deletions
+7 -7
View File
@@ -114,7 +114,7 @@ struct ex_phy {
enum ex_phy_state phy_state;
enum sas_dev_type attached_dev_type;
enum sas_phy_linkrate linkrate;
enum sas_linkrate linkrate;
u8 attached_sata_host:1;
u8 attached_sata_dev:1;
@@ -170,9 +170,9 @@ struct sata_device {
struct domain_device {
enum sas_dev_type dev_type;
enum sas_phy_linkrate linkrate;
enum sas_phy_linkrate min_linkrate;
enum sas_phy_linkrate max_linkrate;
enum sas_linkrate linkrate;
enum sas_linkrate min_linkrate;
enum sas_linkrate max_linkrate;
int pathways;
@@ -220,7 +220,7 @@ struct asd_sas_port {
struct domain_device *port_dev;
spinlock_t dev_list_lock;
struct list_head dev_list;
enum sas_phy_linkrate linkrate;
enum sas_linkrate linkrate;
struct sas_phy *phy;
struct work_struct work;
@@ -276,7 +276,7 @@ struct asd_sas_phy {
enum sas_phy_type type;
enum sas_phy_role role;
enum sas_oob_mode oob_mode;
enum sas_phy_linkrate linkrate;
enum sas_linkrate linkrate;
u8 *sas_addr; /* must be set */
u8 attached_sas_addr[SAS_ADDR_SIZE]; /* class:RO, driver: R/W */
@@ -368,7 +368,7 @@ void sas_hash_addr(u8 *hashed, const u8 *sas_addr);
static inline void sas_phy_disconnected(struct asd_sas_phy *phy)
{
phy->oob_mode = OOB_NOT_CONNECTED;
phy->linkrate = PHY_LINKRATE_NONE;
phy->linkrate = SAS_LINK_RATE_UNKNOWN;
}
/* ---------- Tasks ---------- */
-14
View File
@@ -102,20 +102,6 @@ enum sas_dev_type {
SATA_PM_PORT= 8,
};
enum sas_phy_linkrate {
PHY_LINKRATE_NONE = 0,
PHY_LINKRATE_UNKNOWN = 0,
PHY_DISABLED,
PHY_RESET_PROBLEM,
PHY_SPINUP_HOLD,
PHY_PORT_SELECTOR,
PHY_LINKRATE_1_5 = 0x08,
PHY_LINKRATE_G1 = PHY_LINKRATE_1_5,
PHY_LINKRATE_3 = 0x09,
PHY_LINKRATE_G2 = PHY_LINKRATE_3,
PHY_LINKRATE_6 = 0x0A,
};
/* Partly from IDENTIFY address frame. */
enum sas_proto {
SATA_PROTO = 1,
+17 -9
View File
@@ -24,15 +24,23 @@ enum sas_protocol {
};
enum sas_linkrate {
SAS_LINK_RATE_UNKNOWN,
SAS_PHY_DISABLED,
SAS_LINK_RATE_FAILED,
SAS_SATA_SPINUP_HOLD,
SAS_SATA_PORT_SELECTOR,
SAS_LINK_RATE_1_5_GBPS,
SAS_LINK_RATE_3_0_GBPS,
SAS_LINK_RATE_6_0_GBPS,
SAS_LINK_VIRTUAL,
/* These Values are defined in the SAS standard */
SAS_LINK_RATE_UNKNOWN = 0,
SAS_PHY_DISABLED = 1,
SAS_PHY_RESET_PROBLEM = 2,
SAS_SATA_SPINUP_HOLD = 3,
SAS_SATA_PORT_SELECTOR = 4,
SAS_PHY_RESET_IN_PROGRESS = 5,
SAS_LINK_RATE_1_5_GBPS = 8,
SAS_LINK_RATE_G1 = SAS_LINK_RATE_1_5_GBPS,
SAS_LINK_RATE_3_0_GBPS = 9,
SAS_LINK_RATE_G2 = SAS_LINK_RATE_3_0_GBPS,
SAS_LINK_RATE_6_0_GBPS = 10,
/* These are virtual to the transport class and may never
* be signalled normally since the standard defined field
* is only 4 bits */
SAS_LINK_RATE_FAILED = 0x10,
SAS_PHY_VIRTUAL = 0x11,
};
struct sas_identify {