@ -450,11 +450,11 @@ static void scic_sds_remote_device_start_request(struct scic_sds_remote_device *
struct isci_request * ireq ,
enum sci_status status )
{
struct scic_sds _port * sc i_ port = sci_dev - > owning_port ;
struct i sci_port * iport = sci_dev - > owning_port ;
/* cleanup requests that failed after starting on the port */
if ( status ! = SCI_SUCCESS )
scic_sds_port_complete_io ( sc i_ port, sci_dev , ireq ) ;
scic_sds_port_complete_io ( iport , sci_dev , ireq ) ;
else {
kref_get ( & sci_dev_to_idev ( sci_dev ) - > kref ) ;
scic_sds_remote_device_increment_request_count ( sci_dev ) ;
@ -467,7 +467,7 @@ enum sci_status scic_sds_remote_device_start_io(struct scic_sds_controller *scic
{
struct sci_base_state_machine * sm = & sci_dev - > sm ;
enum scic_sds_remote_device_states state = sm - > current_state_id ;
struct scic_sds _port * sc i_ port = sci_dev - > owning_port ;
struct i sci_port * iport = sci_dev - > owning_port ;
enum sci_status status ;
switch ( state ) {
@ -489,7 +489,7 @@ enum sci_status scic_sds_remote_device_start_io(struct scic_sds_controller *scic
* successful it will start the request for the port object then
* increment its own request count .
*/
status = scic_sds_port_start_io ( sc i_ port, sci_dev , ireq ) ;
status = scic_sds_port_start_io ( iport , sci_dev , ireq ) ;
if ( status ! = SCI_SUCCESS )
return status ;
@ -511,7 +511,7 @@ enum sci_status scic_sds_remote_device_start_io(struct scic_sds_controller *scic
enum scic_sds_remote_device_states new_state ;
struct sas_task * task = isci_request_access_task ( ireq ) ;
status = scic_sds_port_start_io ( sc i_ port, sci_dev , ireq ) ;
status = scic_sds_port_start_io ( iport , sci_dev , ireq ) ;
if ( status ! = SCI_SUCCESS )
return status ;
@ -536,7 +536,7 @@ enum sci_status scic_sds_remote_device_start_io(struct scic_sds_controller *scic
struct sas_task * task = isci_request_access_task ( ireq ) ;
if ( task - > ata_task . use_ncq ) {
status = scic_sds_port_start_io ( sc i_ port, sci_dev , ireq ) ;
status = scic_sds_port_start_io ( iport , sci_dev , ireq ) ;
if ( status ! = SCI_SUCCESS )
return status ;
@ -552,7 +552,7 @@ enum sci_status scic_sds_remote_device_start_io(struct scic_sds_controller *scic
case SCI_STP_DEV_AWAIT_RESET :
return SCI_FAILURE_REMOTE_DEVICE_RESET_REQUIRED ;
case SCI_SMP_DEV_IDLE :
status = scic_sds_port_start_io ( sc i_ port, sci_dev , ireq ) ;
status = scic_sds_port_start_io ( iport , sci_dev , ireq ) ;
if ( status ! = SCI_SUCCESS )
return status ;
@ -579,7 +579,7 @@ enum sci_status scic_sds_remote_device_start_io(struct scic_sds_controller *scic
return status ;
}
static enum sci_status common_complete_io ( struct scic_sds _port * sc i_ port,
static enum sci_status common_complete_io ( struct i sci_port * iport ,
struct scic_sds_remote_device * sci_dev ,
struct isci_request * ireq )
{
@ -589,7 +589,7 @@ static enum sci_status common_complete_io(struct scic_sds_port *sci_port,
if ( status ! = SCI_SUCCESS )
return status ;
status = scic_sds_port_complete_io ( sc i_ port, sci_dev , ireq ) ;
status = scic_sds_port_complete_io ( iport , sci_dev , ireq ) ;
if ( status ! = SCI_SUCCESS )
return status ;
@ -603,7 +603,7 @@ enum sci_status scic_sds_remote_device_complete_io(struct scic_sds_controller *s
{
struct sci_base_state_machine * sm = & sci_dev - > sm ;
enum scic_sds_remote_device_states state = sm - > current_state_id ;
struct scic_sds _port * sc i_ port = sci_dev - > owning_port ;
struct i sci_port * iport = sci_dev - > owning_port ;
enum sci_status status ;
switch ( state ) {
@ -621,12 +621,12 @@ enum sci_status scic_sds_remote_device_complete_io(struct scic_sds_controller *s
case SCI_DEV_READY :
case SCI_STP_DEV_AWAIT_RESET :
case SCI_DEV_RESETTING :
status = common_complete_io ( sc i_ port, sci_dev , ireq ) ;
status = common_complete_io ( iport , sci_dev , ireq ) ;
break ;
case SCI_STP_DEV_CMD :
case SCI_STP_DEV_NCQ :
case SCI_STP_DEV_NCQ_ERROR :
status = common_complete_io ( sc i_ port, sci_dev , ireq ) ;
status = common_complete_io ( iport , sci_dev , ireq ) ;
if ( status ! = SCI_SUCCESS )
break ;
@ -641,13 +641,13 @@ enum sci_status scic_sds_remote_device_complete_io(struct scic_sds_controller *s
sci_change_state ( sm , SCI_STP_DEV_IDLE ) ;
break ;
case SCI_SMP_DEV_CMD :
status = common_complete_io ( sc i_ port, sci_dev , ireq ) ;
status = common_complete_io ( iport , sci_dev , ireq ) ;
if ( status ! = SCI_SUCCESS )
break ;
sci_change_state ( sm , SCI_SMP_DEV_IDLE ) ;
break ;
case SCI_DEV_STOPPING :
status = common_complete_io ( sc i_ port, sci_dev , ireq ) ;
status = common_complete_io ( iport , sci_dev , ireq ) ;
if ( status ! = SCI_SUCCESS )
break ;
@ -661,7 +661,7 @@ enum sci_status scic_sds_remote_device_complete_io(struct scic_sds_controller *s
if ( status ! = SCI_SUCCESS )
dev_err ( scirdev_to_dev ( sci_dev ) ,
" %s: Port:0x%p Device:0x%p Request:0x%p Status:0x%x "
" could not complete \n " , __func__ , sc i_ port,
" could not complete \n " , __func__ , iport ,
sci_dev , ireq , status ) ;
else
isci_put_device ( sci_dev_to_idev ( sci_dev ) ) ;
@ -684,7 +684,7 @@ enum sci_status scic_sds_remote_device_start_task(struct scic_sds_controller *sc
{
struct sci_base_state_machine * sm = & sci_dev - > sm ;
enum scic_sds_remote_device_states state = sm - > current_state_id ;
struct scic_sds _port * sc i_ port = sci_dev - > owning_port ;
struct i sci_port * iport = sci_dev - > owning_port ;
enum sci_status status ;
switch ( state ) {
@ -706,7 +706,7 @@ enum sci_status scic_sds_remote_device_start_task(struct scic_sds_controller *sc
case SCI_STP_DEV_NCQ :
case SCI_STP_DEV_NCQ_ERROR :
case SCI_STP_DEV_AWAIT_RESET :
status = scic_sds_port_start_io ( sc i_ port, sci_dev , ireq ) ;
status = scic_sds_port_start_io ( iport , sci_dev , ireq ) ;
if ( status ! = SCI_SUCCESS )
return status ;
@ -746,7 +746,7 @@ enum sci_status scic_sds_remote_device_start_task(struct scic_sds_controller *sc
*/
return SCI_FAILURE_RESET_DEVICE_PARTIAL_SUCCESS ;
case SCI_DEV_READY :
status = scic_sds_port_start_io ( sc i_ port, sci_dev , ireq ) ;
status = scic_sds_port_start_io ( iport , sci_dev , ireq ) ;
if ( status ! = SCI_SUCCESS )
return status ;
@ -1064,10 +1064,10 @@ static const struct sci_base_state scic_sds_remote_device_state_table[] = {
* scic_remote_device_ [ de ] a_construct ( ) . scic_remote_device_destruct ( )
* frees the remote_node_context ( s ) for the device .
*/
static void scic_remote_device_construct ( struct scic_sds _port * sc i_ port,
static void scic_remote_device_construct ( struct i sci_port * iport ,
struct scic_sds_remote_device * sci_dev )
{
sci_dev - > owning_port = sc i_ port;
sci_dev - > owning_port = iport ;
sci_dev - > started_request_count = 0 ;
sci_init_sm ( & sci_dev - > sm , scic_sds_remote_device_state_table , SCI_DEV_INITIAL ) ;
@ -1090,20 +1090,20 @@ static void scic_remote_device_construct(struct scic_sds_port *sci_port,
* sata - only controller instance .
* SCI_FAILURE_INSUFFICIENT_RESOURCES - remote node contexts exhausted .
*/
static enum sci_status scic_remote_device_da_construct ( struct scic_sds _port * sc i_ port,
static enum sci_status scic_remote_device_da_construct ( struct i sci_port * iport ,
struct scic_sds_remote_device * sci_dev )
{
enum sci_status status ;
struct domain_device * dev = sci_dev_to_domain ( sci_dev ) ;
scic_remote_device_construct ( sc i_ port, sci_dev ) ;
scic_remote_device_construct ( iport , sci_dev ) ;
/*
* This information is request to determine how many remote node context
* entries will be needed to store the remote node .
*/
sci_dev - > is_direct_attached = true ;
status = scic_sds_controller_allocate_remote_node_context ( sc i_ port- > owning_controller ,
status = scic_sds_controller_allocate_remote_node_context ( iport - > owning_controller ,
sci_dev ,
& sci_dev - > rnc . remote_node_index ) ;
@ -1116,7 +1116,7 @@ static enum sci_status scic_remote_device_da_construct(struct scic_sds_port *sci
else
return SCI_FAILURE_UNSUPPORTED_PROTOCOL ;
sci_dev - > connection_rate = scic_sds_port_get_max_allowed_speed ( sc i_ port) ;
sci_dev - > connection_rate = scic_sds_port_get_max_allowed_speed ( iport ) ;
/* / @todo Should I assign the port width by reading all of the phys on the port? */
sci_dev - > device_port_width = 1 ;
@ -1136,15 +1136,15 @@ static enum sci_status scic_remote_device_da_construct(struct scic_sds_port *sci
* sata - only controller instance .
* SCI_FAILURE_INSUFFICIENT_RESOURCES - remote node contexts exhausted .
*/
static enum sci_status scic_remote_device_ea_construct ( struct scic_sds _port * sc i_ port,
static enum sci_status scic_remote_device_ea_construct ( struct i sci_port * iport ,
struct scic_sds_remote_device * sci_dev )
{
struct domain_device * dev = sci_dev_to_domain ( sci_dev ) ;
enum sci_status status ;
scic_remote_device_construct ( sc i_ port, sci_dev ) ;
scic_remote_device_construct ( iport , sci_dev ) ;
status = scic_sds_controller_allocate_remote_node_context ( sc i_ port- > owning_controller ,
status = scic_sds_controller_allocate_remote_node_context ( iport - > owning_controller ,
sci_dev ,
& sci_dev - > rnc . remote_node_index ) ;
if ( status ! = SCI_SUCCESS )
@ -1163,7 +1163,7 @@ static enum sci_status scic_remote_device_ea_construct(struct scic_sds_port *sci
* connection the logical link rate is that same as the
* physical . Furthermore , the SAS - 2 and SAS - 1.1 fields overlay
* one another , so this code works for both situations . */
sci_dev - > connection_rate = min_t ( u16 , scic_sds_port_get_max_allowed_speed ( sc i_ port) ,
sci_dev - > connection_rate = min_t ( u16 , scic_sds_port_get_max_allowed_speed ( iport ) ,
dev - > linkrate ) ;
/* / @todo Should I assign the port width by reading all of the phys on the port? */
@ -1212,15 +1212,14 @@ static enum sci_status scic_remote_device_start(struct scic_sds_remote_device *s
static enum sci_status isci_remote_device_construct ( struct isci_port * iport ,
struct isci_remote_device * idev )
{
struct scic_sds_port * sci_port = & iport - > sci ;
struct isci_host * ihost = iport - > isci_host ;
struct domain_device * dev = idev - > domain_dev ;
enum sci_status status ;
if ( dev - > parent & & dev_is_expander ( dev - > parent ) )
status = scic_remote_device_ea_construct ( sc i_ port, & idev - > sci ) ;
status = scic_remote_device_ea_construct ( iport , & idev - > sci ) ;
else
status = scic_remote_device_da_construct ( sc i_ port, & idev - > sci ) ;
status = scic_remote_device_da_construct ( iport , & idev - > sci ) ;
if ( status ! = SCI_SUCCESS ) {
dev_dbg ( & ihost - > pdev - > dev , " %s: construct failed: %d \n " ,