summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci/core/scic_sds_controller.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/isci/core/scic_sds_controller.c')
-rw-r--r--drivers/scsi/isci/core/scic_sds_controller.c73
1 files changed, 38 insertions, 35 deletions
diff --git a/drivers/scsi/isci/core/scic_sds_controller.c b/drivers/scsi/isci/core/scic_sds_controller.c
index b0edd84..cd31cba 100644
--- a/drivers/scsi/isci/core/scic_sds_controller.c
+++ b/drivers/scsi/isci/core/scic_sds_controller.c
@@ -2548,41 +2548,46 @@ enum sci_status scic_user_parameters_set(
struct scic_sds_controller *scic,
union scic_user_parameters *scic_parms)
{
- if (
- (scic->parent.state_machine.current_state_id
- == SCI_BASE_CONTROLLER_STATE_RESET)
- || (scic->parent.state_machine.current_state_id
- == SCI_BASE_CONTROLLER_STATE_INITIALIZING)
- || (scic->parent.state_machine.current_state_id
- == SCI_BASE_CONTROLLER_STATE_INITIALIZED)
- ) {
+ u32 state = scic->parent.state_machine.current_state_id;
+
+ if (state == SCI_BASE_CONTROLLER_STATE_RESET ||
+ state == SCI_BASE_CONTROLLER_STATE_INITIALIZING ||
+ state == SCI_BASE_CONTROLLER_STATE_INITIALIZED) {
u16 index;
/*
* Validate the user parameters. If they are not legal, then
- * return a failure. */
+ * return a failure.
+ */
for (index = 0; index < SCI_MAX_PHYS; index++) {
- if (!(scic_parms->sds1.phys[index].max_speed_generation
- <= SCIC_SDS_PARM_MAX_SPEED
- && scic_parms->sds1.phys[index].max_speed_generation
- > SCIC_SDS_PARM_NO_SPEED))
+ struct sci_phy_user_params *user_phy;
+
+ user_phy = &scic_parms->sds1.phys[index];
+
+ if (!((user_phy->max_speed_generation <=
+ SCIC_SDS_PARM_MAX_SPEED) &&
+ (user_phy->max_speed_generation >
+ SCIC_SDS_PARM_NO_SPEED)))
return SCI_FAILURE_INVALID_PARAMETER_VALUE;
- if (scic_parms->sds1.phys[index].in_connection_align_insertion_frequency < 3)
+ if (user_phy->in_connection_align_insertion_frequency <
+ 3)
return SCI_FAILURE_INVALID_PARAMETER_VALUE;
- if (
- (scic_parms->sds1.phys[index].in_connection_align_insertion_frequency < 3) ||
- (scic_parms->sds1.phys[index].align_insertion_frequency == 0) ||
- (scic_parms->sds1.phys[index].notify_enable_spin_up_insertion_frequency == 0)
- )
+
+ if ((user_phy->in_connection_align_insertion_frequency <
+ 3) ||
+ (user_phy->align_insertion_frequency == 0) ||
+ (user_phy->
+ notify_enable_spin_up_insertion_frequency ==
+ 0))
return SCI_FAILURE_INVALID_PARAMETER_VALUE;
}
if ((scic_parms->sds1.stp_inactivity_timeout == 0) ||
- (scic_parms->sds1.ssp_inactivity_timeout == 0) ||
- (scic_parms->sds1.stp_max_occupancy_timeout == 0) ||
- (scic_parms->sds1.ssp_max_occupancy_timeout == 0) ||
- (scic_parms->sds1.no_outbound_task_timeout == 0))
+ (scic_parms->sds1.ssp_inactivity_timeout == 0) ||
+ (scic_parms->sds1.stp_max_occupancy_timeout == 0) ||
+ (scic_parms->sds1.ssp_max_occupancy_timeout == 0) ||
+ (scic_parms->sds1.no_outbound_task_timeout == 0))
return SCI_FAILURE_INVALID_PARAMETER_VALUE;
memcpy(&scic->user_parameters, scic_parms, sizeof(*scic_parms));
@@ -2620,36 +2625,34 @@ enum sci_status scic_oem_parameters_set(
* Validate the oem parameters. If they are not legal, then
* return a failure. */
for (index = 0; index < SCI_MAX_PORTS; index++) {
- if (scic_parms->sds1.ports[index].phy_mask > SCIC_SDS_PARM_PHY_MASK_MAX) {
+ if (scic_parms->sds1.ports[index].phy_mask > SCIC_SDS_PARM_PHY_MASK_MAX)
return SCI_FAILURE_INVALID_PARAMETER_VALUE;
- }
}
for (index = 0; index < SCI_MAX_PHYS; index++) {
- if (
- scic_parms->sds1.phys[index].sas_address.high == 0
- && scic_parms->sds1.phys[index].sas_address.low == 0
- ) {
+ if ((scic_parms->sds1.phys[index].sas_address.high == 0) &&
+ (scic_parms->sds1.phys[index].sas_address.low == 0))
return SCI_FAILURE_INVALID_PARAMETER_VALUE;
- }
}
- if (scic_parms->sds1.controller.mode_type == SCIC_PORT_AUTOMATIC_CONFIGURATION_MODE) {
+ if (scic_parms->sds1.controller.mode_type ==
+ SCIC_PORT_AUTOMATIC_CONFIGURATION_MODE) {
for (index = 0; index < SCI_MAX_PHYS; index++) {
if (scic_parms->sds1.ports[index].phy_mask != 0)
return SCI_FAILURE_INVALID_PARAMETER_VALUE;
}
- } else if (scic_parms->sds1.controller.mode_type == SCIC_PORT_MANUAL_CONFIGURATION_MODE) {
+ } else if (scic_parms->sds1.controller.mode_type ==
+ SCIC_PORT_MANUAL_CONFIGURATION_MODE) {
for (index = 0; index < SCI_MAX_PHYS; index++)
combined_phy_mask |= scic_parms->sds1.ports[index].phy_mask;
if (combined_phy_mask == 0)
return SCI_FAILURE_INVALID_PARAMETER_VALUE;
- } else {
+ } else
return SCI_FAILURE_INVALID_PARAMETER_VALUE;
- }
- if (scic_parms->sds1.controller.max_concurrent_dev_spin_up > MAX_CONCURRENT_DEVICE_SPIN_UP_COUNT)
+ if (scic_parms->sds1.controller.max_concurrent_dev_spin_up >
+ MAX_CONCURRENT_DEVICE_SPIN_UP_COUNT)
return SCI_FAILURE_INVALID_PARAMETER_VALUE;
scic->oem_parameters.sds1 = scic_parms->sds1;
OpenPOWER on IntegriCloud