diff options
author | Jeff Skirvin <jeffrey.d.skirvin@intel.com> | 2012-01-04 04:32:49 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-01-16 02:43:04 -0500 |
commit | 9fee607f0b29adabd72265a847b8e421dff10d66 (patch) | |
tree | 7442c82b8e363a7aa1e87955e9619cf8e949cf3a /drivers/scsi/isci/host.h | |
parent | 594e566ae5985e0cc3185ac21509a86e90aad577 (diff) |
[SCSI] isci: oem parameter format v1.3 (cable select)
v1.3 allows the attenuation of the attached cables to be specified to
the driver in terms of 'short', 'medium', and 'long' (see probe_roms.h).
These settings (per phy) are retrieved from the platform oem-parameters
(BIOS rom) or via a module parameter override.
Reviewed-by: Jiangbi Liu <jiangbi.liu@intel.com>
Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/isci/host.h')
-rw-r--r-- | drivers/scsi/isci/host.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/scsi/isci/host.h b/drivers/scsi/isci/host.h index 4573075a6b97..5477f0fa8233 100644 --- a/drivers/scsi/isci/host.h +++ b/drivers/scsi/isci/host.h | |||
@@ -447,6 +447,24 @@ static inline bool is_c1(struct pci_dev *pdev) | |||
447 | return false; | 447 | return false; |
448 | } | 448 | } |
449 | 449 | ||
450 | enum cable_selections { | ||
451 | short_cable = 0, | ||
452 | long_cable = 1, | ||
453 | medium_cable = 2, | ||
454 | undefined_cable = 3 | ||
455 | }; | ||
456 | |||
457 | #define CABLE_OVERRIDE_DISABLED (0x10000) | ||
458 | |||
459 | static inline int is_cable_select_overridden(void) | ||
460 | { | ||
461 | return cable_selection_override < CABLE_OVERRIDE_DISABLED; | ||
462 | } | ||
463 | |||
464 | enum cable_selections decode_cable_selection(struct isci_host *ihost, int phy); | ||
465 | void validate_cable_selections(struct isci_host *ihost); | ||
466 | char *lookup_cable_names(enum cable_selections); | ||
467 | |||
450 | /* set hw control for 'activity', even though active enclosures seem to drive | 468 | /* set hw control for 'activity', even though active enclosures seem to drive |
451 | * the activity led on their own. Skip setting FSENG control on 'status' due | 469 | * the activity led on their own. Skip setting FSENG control on 'status' due |
452 | * to unexpected operation and 'error' due to not being a supported automatic | 470 | * to unexpected operation and 'error' due to not being a supported automatic |