aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci/remote_device.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-06-29 13:09:25 -0700
committerDan Williams <dan.j.williams@intel.com>2011-07-03 04:04:52 -0700
commitffe191c92ff195d73f9130b1490045ca2dd4c5e0 (patch)
treec14a78903734b7f5e662e7cf49db4d7fd24e4d71 /drivers/scsi/isci/remote_device.c
parentisci: fix scic_sds_remote_device_terminate_requests (diff)
downloadlinux-dev-ffe191c92ff195d73f9130b1490045ca2dd4c5e0.tar.xz
linux-dev-ffe191c92ff195d73f9130b1490045ca2dd4c5e0.zip
isci: unify isci_port and scic_sds_port
Remove the distinction between these two implementations and unify on isci_port (local instances named iport). The duplicate '->owning_port' and '->isci_port' in both isci_phy and isci_remote_device will be fixed in a later patch... this is just the straightforward rename/unification. Reported-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/remote_device.c')
-rw-r--r--drivers/scsi/isci/remote_device.c61
1 files changed, 30 insertions, 31 deletions
diff --git a/drivers/scsi/isci/remote_device.c b/drivers/scsi/isci/remote_device.c
index 71ab9081fe24..627cf731bad8 100644
--- a/drivers/scsi/isci/remote_device.c
+++ b/drivers/scsi/isci/remote_device.c
@@ -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 *sci_port = sci_dev->owning_port;
+ struct isci_port *iport = sci_dev->owning_port;
/* cleanup requests that failed after starting on the port */
if (status != SCI_SUCCESS)
- scic_sds_port_complete_io(sci_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 *sci_port = sci_dev->owning_port;
+ struct isci_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(sci_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(sci_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(sci_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(sci_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 *sci_port,
+static enum sci_status common_complete_io(struct isci_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(sci_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 *sci_port = sci_dev->owning_port;
+ struct isci_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(sci_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(sci_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(sci_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(sci_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__, sci_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 *sci_port = sci_dev->owning_port;
+ struct isci_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(sci_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(sci_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 *sci_port,
+static void scic_remote_device_construct(struct isci_port *iport,
struct scic_sds_remote_device *sci_dev)
{
- sci_dev->owning_port = sci_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 *sci_port,
+static enum sci_status scic_remote_device_da_construct(struct isci_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(sci_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(sci_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(sci_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 *sci_port,
+static enum sci_status scic_remote_device_ea_construct(struct isci_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(sci_port, sci_dev);
+ scic_remote_device_construct(iport, sci_dev);
- status = scic_sds_controller_allocate_remote_node_context(sci_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(sci_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(sci_port, &idev->sci);
+ status = scic_remote_device_ea_construct(iport, &idev->sci);
else
- status = scic_remote_device_da_construct(sci_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",