aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci/probe_roms.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/isci/probe_roms.h')
-rw-r--r--drivers/scsi/isci/probe_roms.h38
1 files changed, 7 insertions, 31 deletions
diff --git a/drivers/scsi/isci/probe_roms.h b/drivers/scsi/isci/probe_roms.h
index e40cb5f6eba5..dc007e692f4e 100644
--- a/drivers/scsi/isci/probe_roms.h
+++ b/drivers/scsi/isci/probe_roms.h
@@ -74,7 +74,7 @@
74#define SCIC_SDS_PARM_MAX_SPEED SCIC_SDS_PARM_GEN3_SPEED 74#define SCIC_SDS_PARM_MAX_SPEED SCIC_SDS_PARM_GEN3_SPEED
75 75
76/* parameters that can be set by module parameters */ 76/* parameters that can be set by module parameters */
77struct scic_sds_user_parameters { 77struct sci_user_parameters {
78 struct sci_phy_user_params { 78 struct sci_phy_user_params {
79 /** 79 /**
80 * This field specifies the NOTIFY (ENABLE SPIN UP) primitive 80 * This field specifies the NOTIFY (ENABLE SPIN UP) primitive
@@ -147,30 +147,16 @@ struct scic_sds_user_parameters {
147 147
148}; 148};
149 149
150/* XXX kill this union */
151union scic_user_parameters {
152 /**
153 * This field specifies the user parameters specific to the
154 * Storage Controller Unit (SCU) Driver Standard (SDS) version
155 * 1.
156 */
157 struct scic_sds_user_parameters sds1;
158};
159
160#define SCIC_SDS_PARM_PHY_MASK_MIN 0x0 150#define SCIC_SDS_PARM_PHY_MASK_MIN 0x0
161#define SCIC_SDS_PARM_PHY_MASK_MAX 0xF 151#define SCIC_SDS_PARM_PHY_MASK_MAX 0xF
162#define MAX_CONCURRENT_DEVICE_SPIN_UP_COUNT 4 152#define MAX_CONCURRENT_DEVICE_SPIN_UP_COUNT 4
163 153
164struct scic_sds_oem_params; 154struct sci_oem_params;
165int scic_oem_parameters_validate(struct scic_sds_oem_params *oem); 155int sci_oem_parameters_validate(struct sci_oem_params *oem);
166
167union scic_oem_parameters;
168void scic_oem_parameters_get(struct isci_host *ihost,
169 union scic_oem_parameters *oem);
170 156
171struct isci_orom; 157struct isci_orom;
172struct isci_orom *isci_request_oprom(struct pci_dev *pdev); 158struct isci_orom *isci_request_oprom(struct pci_dev *pdev);
173enum sci_status isci_parse_oem_parameters(union scic_oem_parameters *oem, 159enum sci_status isci_parse_oem_parameters(struct sci_oem_params *oem,
174 struct isci_orom *orom, int scu_index); 160 struct isci_orom *orom, int scu_index);
175struct isci_orom *isci_request_firmware(struct pci_dev *pdev, const struct firmware *fw); 161struct isci_orom *isci_request_firmware(struct pci_dev *pdev, const struct firmware *fw);
176struct isci_orom *isci_get_efi_var(struct pci_dev *pdev); 162struct isci_orom *isci_get_efi_var(struct pci_dev *pdev);
@@ -214,7 +200,7 @@ struct isci_oem_hdr {
214 * A PORT_PHY mask that assigns just a single PHY to a port and no other PHYs 200 * A PORT_PHY mask that assigns just a single PHY to a port and no other PHYs
215 * being assigned is sufficient to declare manual PORT configuration. 201 * being assigned is sufficient to declare manual PORT configuration.
216 */ 202 */
217enum scic_port_configuration_mode { 203enum sci_port_configuration_mode {
218 SCIC_PORT_MANUAL_CONFIGURATION_MODE = 0, 204 SCIC_PORT_MANUAL_CONFIGURATION_MODE = 0,
219 SCIC_PORT_AUTOMATIC_CONFIGURATION_MODE = 1 205 SCIC_PORT_AUTOMATIC_CONFIGURATION_MODE = 1
220}; 206};
@@ -230,7 +216,7 @@ struct sci_bios_oem_param_block_hdr {
230 uint8_t reserved[8]; 216 uint8_t reserved[8];
231} __attribute__ ((packed)); 217} __attribute__ ((packed));
232 218
233struct scic_sds_oem_params { 219struct sci_oem_params {
234 struct { 220 struct {
235 uint8_t mode_type; 221 uint8_t mode_type;
236 uint8_t max_concurrent_dev_spin_up; 222 uint8_t max_concurrent_dev_spin_up;
@@ -255,19 +241,9 @@ struct scic_sds_oem_params {
255 } phys[SCI_MAX_PHYS]; 241 } phys[SCI_MAX_PHYS];
256} __attribute__ ((packed)); 242} __attribute__ ((packed));
257 243
258/* XXX kill this union */
259union scic_oem_parameters {
260 /**
261 * This field specifies the OEM parameters specific to the
262 * Storage Controller Unit (SCU) Driver Standard (SDS) version
263 * 1.
264 */
265 struct scic_sds_oem_params sds1;
266};
267
268struct isci_orom { 244struct isci_orom {
269 struct sci_bios_oem_param_block_hdr hdr; 245 struct sci_bios_oem_param_block_hdr hdr;
270 struct scic_sds_oem_params ctrl[SCI_MAX_CONTROLLERS]; 246 struct sci_oem_params ctrl[SCI_MAX_CONTROLLERS];
271} __attribute__ ((packed)); 247} __attribute__ ((packed));
272 248
273#endif 249#endif