) \
        )
 
-/**
- * scic_sds_remote_device_get_port_index() -
- *
- * This macro returns the port index for the devices owning port
- */
-#define scic_sds_remote_device_get_port_index(sci_dev) \
-       (scic_sds_port_get_index(scic_sds_remote_device_get_port(sci_dev)))
-
 /**
  * scic_sds_remote_device_get_index() -
  *
 #define scic_sds_remote_device_build_command_context(device, command) \
        ((command) \
         | (scic_sds_remote_device_get_controller_peg((device)) << SCU_CONTEXT_COMMAND_PROTOCOL_ENGINE_GROUP_SHIFT) \
-        | (scic_sds_remote_device_get_port_index((device)) << SCU_CONTEXT_COMMAND_LOGICAL_PORT_SHIFT) \
+        | ((device)->owning_port->physical_port_index << SCU_CONTEXT_COMMAND_LOGICAL_PORT_SHIFT) \
         | (scic_sds_remote_device_get_index((device))) \
        )
 
 
 {
        struct scic_sds_remote_device *sci_dev = rnc_to_dev(sci_rnc);
        struct domain_device *dev = sci_dev_to_domain(sci_dev);
+       int rni = sci_rnc->remote_node_index;
        union scu_remote_node_context *rnc;
        struct scic_sds_controller *scic;
        __le64 sas_addr;
 
        scic = scic_sds_remote_device_get_controller(sci_dev);
-
-       rnc = scic_sds_controller_get_remote_node_context_buffer(
-               scic, sci_rnc->remote_node_index);
+       rnc = scic_sds_controller_get_remote_node_context_buffer(scic, rni);
 
        memset(rnc, 0, sizeof(union scu_remote_node_context)
                * scic_sds_remote_device_node_count(sci_dev));
 
-       rnc->ssp.remote_node_index = sci_rnc->remote_node_index;
+       rnc->ssp.remote_node_index = rni;
        rnc->ssp.remote_node_port_width = sci_dev->device_port_width;
-       rnc->ssp.logical_port_index =
-               scic_sds_remote_device_get_port_index(sci_dev);
+       rnc->ssp.logical_port_index = sci_dev->owning_port->physical_port_index;
 
        /* sas address is __be64, context ram format is __le64 */
        sas_addr = cpu_to_le64(SAS_ADDR(dev->sas_addr));