Commit 89a7301f authored by Dan Williams's avatar Dan Williams

isci: retire scic_sds_ and scic_ prefixes

The distinction between scic_sds_ scic_ and sci_ are no longer relevant
so just unify the prefixes on sci_.  The distinction between isci_ and
sci_ is historically significant, and useful for comparing the old
'core' to the current Linux driver. 'sci_' represents the former core as
well as the routines that are closer to the hardware and protocol than
their 'isci_' brethren. sci == sas controller interface.

Also unwind the 'sds1' out of the parameter structs.
Reported-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent d9dcb4ba
This diff is collapsed.
...@@ -69,12 +69,12 @@ struct scu_task_context; ...@@ -69,12 +69,12 @@ struct scu_task_context;
/** /**
* struct scic_power_control - * struct sci_power_control -
* *
* This structure defines the fields for managing power control for direct * This structure defines the fields for managing power control for direct
* attached disk devices. * attached disk devices.
*/ */
struct scic_power_control { struct sci_power_control {
/** /**
* This field is set when the power control timer is running and cleared when * This field is set when the power control timer is running and cleared when
* it is not. * it is not.
...@@ -99,18 +99,18 @@ struct scic_power_control { ...@@ -99,18 +99,18 @@ struct scic_power_control {
/** /**
* This field is an array of phys that we are waiting on. The phys are direct * This field is an array of phys that we are waiting on. The phys are direct
* mapped into requesters via struct scic_sds_phy.phy_index * mapped into requesters via struct sci_phy.phy_index
*/ */
struct isci_phy *requesters[SCI_MAX_PHYS]; struct isci_phy *requesters[SCI_MAX_PHYS];
}; };
struct scic_sds_port_configuration_agent; struct sci_port_configuration_agent;
typedef void (*port_config_fn)(struct isci_host *, typedef void (*port_config_fn)(struct isci_host *,
struct scic_sds_port_configuration_agent *, struct sci_port_configuration_agent *,
struct isci_port *, struct isci_phy *); struct isci_port *, struct isci_phy *);
struct scic_sds_port_configuration_agent { struct sci_port_configuration_agent {
u16 phy_configured_mask; u16 phy_configured_mask;
u16 phy_ready_mask; u16 phy_ready_mask;
struct { struct {
...@@ -149,13 +149,13 @@ struct isci_host { ...@@ -149,13 +149,13 @@ struct isci_host {
/* XXX can we time this externally */ /* XXX can we time this externally */
struct sci_timer timer; struct sci_timer timer;
/* XXX drop reference module params directly */ /* XXX drop reference module params directly */
union scic_user_parameters user_parameters; struct sci_user_parameters user_parameters;
/* XXX no need to be a union */ /* XXX no need to be a union */
union scic_oem_parameters oem_parameters; struct sci_oem_params oem_parameters;
struct scic_sds_port_configuration_agent port_agent; struct sci_port_configuration_agent port_agent;
struct isci_remote_device *device_table[SCI_MAX_REMOTE_DEVICES]; struct isci_remote_device *device_table[SCI_MAX_REMOTE_DEVICES];
struct scic_remote_node_table available_remote_nodes; struct sci_remote_node_table available_remote_nodes;
struct scic_power_control power_control; struct sci_power_control power_control;
u8 io_request_sequence[SCI_MAX_IO_REQUESTS]; u8 io_request_sequence[SCI_MAX_IO_REQUESTS];
struct scu_task_context *task_context_table; struct scu_task_context *task_context_table;
dma_addr_t task_context_dma; dma_addr_t task_context_dma;
...@@ -165,7 +165,7 @@ struct isci_host { ...@@ -165,7 +165,7 @@ struct isci_host {
u32 logical_port_entries; u32 logical_port_entries;
u32 remote_node_entries; u32 remote_node_entries;
u32 task_context_entries; u32 task_context_entries;
struct scic_sds_unsolicited_frame_control uf_control; struct sci_unsolicited_frame_control uf_control;
/* phy startup */ /* phy startup */
struct sci_timer phy_timer; struct sci_timer phy_timer;
...@@ -206,10 +206,10 @@ struct isci_host { ...@@ -206,10 +206,10 @@ struct isci_host {
}; };
/** /**
* enum scic_sds_controller_states - This enumeration depicts all the states * enum sci_controller_states - This enumeration depicts all the states
* for the common controller state machine. * for the common controller state machine.
*/ */
enum scic_sds_controller_states { enum sci_controller_states {
/** /**
* Simply the initial state for the base controller state machine. * Simply the initial state for the base controller state machine.
*/ */
...@@ -360,14 +360,14 @@ static inline struct isci_host *dev_to_ihost(struct domain_device *dev) ...@@ -360,14 +360,14 @@ static inline struct isci_host *dev_to_ihost(struct domain_device *dev)
} }
/** /**
* scic_sds_controller_get_protocol_engine_group() - * sci_controller_get_protocol_engine_group() -
* *
* This macro returns the protocol engine group for this controller object. * This macro returns the protocol engine group for this controller object.
* Presently we only support protocol engine group 0 so just return that * Presently we only support protocol engine group 0 so just return that
*/ */
#define scic_sds_controller_get_protocol_engine_group(controller) 0 #define sci_controller_get_protocol_engine_group(controller) 0
/* see scic_controller_io_tag_allocate|free for how seq and tci are built */ /* see sci_controller_io_tag_allocate|free for how seq and tci are built */
#define ISCI_TAG(seq, tci) (((u16) (seq)) << 12 | tci) #define ISCI_TAG(seq, tci) (((u16) (seq)) << 12 | tci)
/* these are returned by the hardware, so sanitize them */ /* these are returned by the hardware, so sanitize them */
...@@ -375,7 +375,7 @@ static inline struct isci_host *dev_to_ihost(struct domain_device *dev) ...@@ -375,7 +375,7 @@ static inline struct isci_host *dev_to_ihost(struct domain_device *dev)
#define ISCI_TAG_TCI(tag) ((tag) & (SCI_MAX_IO_REQUESTS-1)) #define ISCI_TAG_TCI(tag) ((tag) & (SCI_MAX_IO_REQUESTS-1))
/* expander attached sata devices require 3 rnc slots */ /* expander attached sata devices require 3 rnc slots */
static inline int scic_sds_remote_device_node_count(struct isci_remote_device *idev) static inline int sci_remote_device_node_count(struct isci_remote_device *idev)
{ {
struct domain_device *dev = idev->domain_dev; struct domain_device *dev = idev->domain_dev;
...@@ -386,23 +386,23 @@ static inline int scic_sds_remote_device_node_count(struct isci_remote_device *i ...@@ -386,23 +386,23 @@ static inline int scic_sds_remote_device_node_count(struct isci_remote_device *i
} }
/** /**
* scic_sds_controller_set_invalid_phy() - * sci_controller_set_invalid_phy() -
* *
* This macro will set the bit in the invalid phy mask for this controller * This macro will set the bit in the invalid phy mask for this controller
* object. This is used to control messages reported for invalid link up * object. This is used to control messages reported for invalid link up
* notifications. * notifications.
*/ */
#define scic_sds_controller_set_invalid_phy(controller, phy) \ #define sci_controller_set_invalid_phy(controller, phy) \
((controller)->invalid_phy_mask |= (1 << (phy)->phy_index)) ((controller)->invalid_phy_mask |= (1 << (phy)->phy_index))
/** /**
* scic_sds_controller_clear_invalid_phy() - * sci_controller_clear_invalid_phy() -
* *
* This macro will clear the bit in the invalid phy mask for this controller * This macro will clear the bit in the invalid phy mask for this controller
* object. This is used to control messages reported for invalid link up * object. This is used to control messages reported for invalid link up
* notifications. * notifications.
*/ */
#define scic_sds_controller_clear_invalid_phy(controller, phy) \ #define sci_controller_clear_invalid_phy(controller, phy) \
((controller)->invalid_phy_mask &= ~(1 << (phy)->phy_index)) ((controller)->invalid_phy_mask &= ~(1 << (phy)->phy_index))
static inline struct device *sciphy_to_dev(struct isci_phy *iphy) static inline struct device *sciphy_to_dev(struct isci_phy *iphy)
...@@ -460,56 +460,53 @@ static inline bool is_c0(void) ...@@ -460,56 +460,53 @@ static inline bool is_c0(void)
return isci_si_rev > ISCI_SI_REVB0; return isci_si_rev > ISCI_SI_REVB0;
} }
void scic_sds_controller_post_request(struct isci_host *ihost, void sci_controller_post_request(struct isci_host *ihost,
u32 request); u32 request);
void scic_sds_controller_release_frame(struct isci_host *ihost, void sci_controller_release_frame(struct isci_host *ihost,
u32 frame_index); u32 frame_index);
void scic_sds_controller_copy_sata_response(void *response_buffer, void sci_controller_copy_sata_response(void *response_buffer,
void *frame_header, void *frame_header,
void *frame_buffer); void *frame_buffer);
enum sci_status scic_sds_controller_allocate_remote_node_context(struct isci_host *ihost, enum sci_status sci_controller_allocate_remote_node_context(struct isci_host *ihost,
struct isci_remote_device *idev, struct isci_remote_device *idev,
u16 *node_id); u16 *node_id);
void scic_sds_controller_free_remote_node_context( void sci_controller_free_remote_node_context(
struct isci_host *ihost, struct isci_host *ihost,
struct isci_remote_device *idev, struct isci_remote_device *idev,
u16 node_id); u16 node_id);
union scu_remote_node_context *scic_sds_controller_get_remote_node_context_buffer(
struct isci_host *ihost,
u16 node_id);
struct isci_request *scic_request_by_tag(struct isci_host *ihost, struct isci_request *sci_request_by_tag(struct isci_host *ihost,
u16 io_tag); u16 io_tag);
void scic_sds_controller_power_control_queue_insert( void sci_controller_power_control_queue_insert(
struct isci_host *ihost, struct isci_host *ihost,
struct isci_phy *iphy); struct isci_phy *iphy);
void scic_sds_controller_power_control_queue_remove( void sci_controller_power_control_queue_remove(
struct isci_host *ihost, struct isci_host *ihost,
struct isci_phy *iphy); struct isci_phy *iphy);
void scic_sds_controller_link_up( void sci_controller_link_up(
struct isci_host *ihost, struct isci_host *ihost,
struct isci_port *iport, struct isci_port *iport,
struct isci_phy *iphy); struct isci_phy *iphy);
void scic_sds_controller_link_down( void sci_controller_link_down(
struct isci_host *ihost, struct isci_host *ihost,
struct isci_port *iport, struct isci_port *iport,
struct isci_phy *iphy); struct isci_phy *iphy);
void scic_sds_controller_remote_device_stopped( void sci_controller_remote_device_stopped(
struct isci_host *ihost, struct isci_host *ihost,
struct isci_remote_device *idev); struct isci_remote_device *idev);
void scic_sds_controller_copy_task_context( void sci_controller_copy_task_context(
struct isci_host *ihost, struct isci_host *ihost,
struct isci_request *ireq); struct isci_request *ireq);
void scic_sds_controller_register_setup(struct isci_host *ihost); void sci_controller_register_setup(struct isci_host *ihost);
enum sci_status scic_controller_continue_io(struct isci_request *ireq); enum sci_status sci_controller_continue_io(struct isci_request *ireq);
int isci_host_scan_finished(struct Scsi_Host *, unsigned long); int isci_host_scan_finished(struct Scsi_Host *, unsigned long);
void isci_host_scan_start(struct Scsi_Host *); void isci_host_scan_start(struct Scsi_Host *);
u16 isci_alloc_tag(struct isci_host *ihost); u16 isci_alloc_tag(struct isci_host *ihost);
...@@ -536,33 +533,33 @@ void isci_host_remote_device_start_complete( ...@@ -536,33 +533,33 @@ void isci_host_remote_device_start_complete(
struct isci_remote_device *, struct isci_remote_device *,
enum sci_status); enum sci_status);
void scic_controller_disable_interrupts( void sci_controller_disable_interrupts(
struct isci_host *ihost); struct isci_host *ihost);
enum sci_status scic_controller_start_io( enum sci_status sci_controller_start_io(
struct isci_host *ihost, struct isci_host *ihost,
struct isci_remote_device *idev, struct isci_remote_device *idev,
struct isci_request *ireq); struct isci_request *ireq);
enum sci_task_status scic_controller_start_task( enum sci_task_status sci_controller_start_task(
struct isci_host *ihost, struct isci_host *ihost,
struct isci_remote_device *idev, struct isci_remote_device *idev,
struct isci_request *ireq); struct isci_request *ireq);
enum sci_status scic_controller_terminate_request( enum sci_status sci_controller_terminate_request(
struct isci_host *ihost, struct isci_host *ihost,
struct isci_remote_device *idev, struct isci_remote_device *idev,
struct isci_request *ireq); struct isci_request *ireq);
enum sci_status scic_controller_complete_io( enum sci_status sci_controller_complete_io(
struct isci_host *ihost, struct isci_host *ihost,
struct isci_remote_device *idev, struct isci_remote_device *idev,
struct isci_request *ireq); struct isci_request *ireq);
void scic_sds_port_configuration_agent_construct( void sci_port_configuration_agent_construct(
struct scic_sds_port_configuration_agent *port_agent); struct sci_port_configuration_agent *port_agent);
enum sci_status scic_sds_port_configuration_agent_initialize( enum sci_status sci_port_configuration_agent_initialize(
struct isci_host *ihost, struct isci_host *ihost,
struct scic_sds_port_configuration_agent *port_agent); struct sci_port_configuration_agent *port_agent);
#endif #endif
...@@ -484,7 +484,7 @@ static int __devinit isci_pci_probe(struct pci_dev *pdev, const struct pci_devic ...@@ -484,7 +484,7 @@ static int __devinit isci_pci_probe(struct pci_dev *pdev, const struct pci_devic
orom = isci_request_oprom(pdev); orom = isci_request_oprom(pdev);
for (i = 0; orom && i < ARRAY_SIZE(orom->ctrl); i++) { for (i = 0; orom && i < ARRAY_SIZE(orom->ctrl); i++) {
if (scic_oem_parameters_validate(&orom->ctrl[i])) { if (sci_oem_parameters_validate(&orom->ctrl[i])) {
dev_warn(&pdev->dev, dev_warn(&pdev->dev,
"[%d]: invalid oem parameters detected, falling back to firmware\n", i); "[%d]: invalid oem parameters detected, falling back to firmware\n", i);
devm_kfree(&pdev->dev, orom); devm_kfree(&pdev->dev, orom);
...@@ -554,7 +554,7 @@ static void __devexit isci_pci_remove(struct pci_dev *pdev) ...@@ -554,7 +554,7 @@ static void __devexit isci_pci_remove(struct pci_dev *pdev)
for_each_isci_host(i, ihost, pdev) { for_each_isci_host(i, ihost, pdev) {
isci_unregister(ihost); isci_unregister(ihost);
isci_host_deinit(ihost); isci_host_deinit(ihost);
scic_controller_disable_interrupts(ihost); sci_controller_disable_interrupts(ihost);
} }
} }
......
...@@ -304,7 +304,7 @@ enum sci_status { ...@@ -304,7 +304,7 @@ enum sci_status {
* This member indicates that the operation failed, the failure is * This member indicates that the operation failed, the failure is
* controller implementation specific, and the response data associated * controller implementation specific, and the response data associated
* with the request is not valid. You can query for the controller * with the request is not valid. You can query for the controller
* specific error information via scic_controller_get_request_status() * specific error information via sci_controller_get_request_status()
*/ */
SCI_FAILURE_CONTROLLER_SPECIFIC_IO_ERR, SCI_FAILURE_CONTROLLER_SPECIFIC_IO_ERR,
...@@ -395,7 +395,7 @@ enum sci_status { ...@@ -395,7 +395,7 @@ enum sci_status {
/** /**
* This value indicates that an unsupported PCI device ID has been * This value indicates that an unsupported PCI device ID has been
* specified. This indicates that attempts to invoke * specified. This indicates that attempts to invoke
* scic_library_allocate_controller() will fail. * sci_library_allocate_controller() will fail.
*/ */
SCI_FAILURE_UNSUPPORTED_PCI_DEVICE_ID SCI_FAILURE_UNSUPPORTED_PCI_DEVICE_ID
...@@ -493,7 +493,7 @@ irqreturn_t isci_error_isr(int vec, void *data); ...@@ -493,7 +493,7 @@ irqreturn_t isci_error_isr(int vec, void *data);
/* /*
* Each timer is associated with a cancellation flag that is set when * Each timer is associated with a cancellation flag that is set when
* del_timer() is called and checked in the timer callback function. This * del_timer() is called and checked in the timer callback function. This
* is needed since del_timer_sync() cannot be called with scic_lock held. * is needed since del_timer_sync() cannot be called with sci_lock held.
* For deinit however, del_timer_sync() is used without holding the lock. * For deinit however, del_timer_sync() is used without holding the lock.
*/ */
struct sci_timer { struct sci_timer {
......
This diff is collapsed.
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
*/ */
#define SCIC_SDS_SATA_LINK_TRAINING_TIMEOUT 250 #define SCIC_SDS_SATA_LINK_TRAINING_TIMEOUT 250
enum scic_sds_phy_protocol { enum sci_phy_protocol {
SCIC_SDS_PHY_PROTOCOL_UNKNOWN, SCIC_SDS_PHY_PROTOCOL_UNKNOWN,
SCIC_SDS_PHY_PROTOCOL_SAS, SCIC_SDS_PHY_PROTOCOL_SAS,
SCIC_SDS_PHY_PROTOCOL_SATA, SCIC_SDS_PHY_PROTOCOL_SATA,
...@@ -95,7 +95,7 @@ struct isci_phy { ...@@ -95,7 +95,7 @@ struct isci_phy {
struct sci_base_state_machine sm; struct sci_base_state_machine sm;
struct isci_port *owning_port; struct isci_port *owning_port;
enum sas_linkrate max_negotiated_speed; enum sas_linkrate max_negotiated_speed;
enum scic_sds_phy_protocol protocol; enum sci_phy_protocol protocol;
u8 phy_index; u8 phy_index;
bool bcn_received_while_port_unassigned; bool bcn_received_while_port_unassigned;
bool is_in_link_training; bool is_in_link_training;
...@@ -118,7 +118,7 @@ static inline struct isci_phy *to_iphy(struct asd_sas_phy *sas_phy) ...@@ -118,7 +118,7 @@ static inline struct isci_phy *to_iphy(struct asd_sas_phy *sas_phy)
return iphy; return iphy;
} }
struct scic_phy_cap { struct sci_phy_cap {
union { union {
struct { struct {
/* /*
...@@ -147,7 +147,7 @@ struct scic_phy_cap { ...@@ -147,7 +147,7 @@ struct scic_phy_cap {
} __packed; } __packed;
/* this data structure reflects the link layer transmit identification reg */ /* this data structure reflects the link layer transmit identification reg */
struct scic_phy_proto { struct sci_phy_proto {
union { union {
struct { struct {
u16 _r_a:1; u16 _r_a:1;
...@@ -167,12 +167,12 @@ struct scic_phy_proto { ...@@ -167,12 +167,12 @@ struct scic_phy_proto {
/** /**
* struct scic_phy_properties - This structure defines the properties common to * struct sci_phy_properties - This structure defines the properties common to
* all phys that can be retrieved. * all phys that can be retrieved.
* *
* *
*/ */
struct scic_phy_properties { struct sci_phy_properties {
/** /**
* This field specifies the port that currently contains the * This field specifies the port that currently contains the
* supplied phy. This field may be set to NULL * supplied phy. This field may be set to NULL
...@@ -194,12 +194,12 @@ struct scic_phy_properties { ...@@ -194,12 +194,12 @@ struct scic_phy_properties {
}; };
/** /**
* struct scic_sas_phy_properties - This structure defines the properties, * struct sci_sas_phy_properties - This structure defines the properties,
* specific to a SAS phy, that can be retrieved. * specific to a SAS phy, that can be retrieved.
* *
* *
*/ */
struct scic_sas_phy_properties { struct sci_sas_phy_properties {
/** /**
* This field delineates the Identify Address Frame received * This field delineates the Identify Address Frame received
* from the remote end point. * from the remote end point.
...@@ -210,17 +210,17 @@ struct scic_sas_phy_properties { ...@@ -210,17 +210,17 @@ struct scic_sas_phy_properties {
* This field delineates the Phy capabilities structure received * This field delineates the Phy capabilities structure received
* from the remote end point. * from the remote end point.
*/ */
struct scic_phy_cap rcvd_cap; struct sci_phy_cap rcvd_cap;
}; };
/** /**
* struct scic_sata_phy_properties - This structure defines the properties, * struct sci_sata_phy_properties - This structure defines the properties,
* specific to a SATA phy, that can be retrieved. * specific to a SATA phy, that can be retrieved.
* *
* *
*/ */
struct scic_sata_phy_properties { struct sci_sata_phy_properties {
/** /**
* This field delineates the signature FIS received from the * This field delineates the signature FIS received from the
* attached target. * attached target.
...@@ -236,12 +236,12 @@ struct scic_sata_phy_properties { ...@@ -236,12 +236,12 @@ struct scic_sata_phy_properties {
}; };
/** /**
* enum scic_phy_counter_id - This enumeration depicts the various pieces of * enum sci_phy_counter_id - This enumeration depicts the various pieces of
* optional information that can be retrieved for a specific phy. * optional information that can be retrieved for a specific phy.
* *
* *
*/ */
enum scic_phy_counter_id { enum sci_phy_counter_id {
/** /**
* This PHY information field tracks the number of frames received. * This PHY information field tracks the number of frames received.
*/ */
...@@ -344,7 +344,7 @@ enum scic_phy_counter_id { ...@@ -344,7 +344,7 @@ enum scic_phy_counter_id {
SCIC_PHY_COUNTER_SN_DWORD_SYNC_ERROR SCIC_PHY_COUNTER_SN_DWORD_SYNC_ERROR
}; };
enum scic_sds_phy_states { enum sci_phy_states {
/** /**
* Simply the initial state for the base domain state machine. * Simply the initial state for the base domain state machine.
*/ */
...@@ -441,77 +441,77 @@ enum scic_sds_phy_states { ...@@ -441,77 +441,77 @@ enum scic_sds_phy_states {
}; };
/** /**
* scic_sds_phy_get_index() - * sci_phy_get_index() -
* *
* This macro returns the phy index for the specified phy * This macro returns the phy index for the specified phy
*/ */
#define scic_sds_phy_get_index(phy) \ #define sci_phy_get_index(phy) \
((phy)->phy_index) ((phy)->phy_index)
/** /**
* scic_sds_phy_get_controller() - This macro returns the controller for this * sci_phy_get_controller() - This macro returns the controller for this
* phy * phy
* *
* *
*/ */
#define scic_sds_phy_get_controller(phy) \ #define sci_phy_get_controller(phy) \
(scic_sds_port_get_controller((phy)->owning_port)) (sci_port_get_controller((phy)->owning_port))
void scic_sds_phy_construct( void sci_phy_construct(
struct isci_phy *iphy, struct isci_phy *iphy,
struct isci_port *iport, struct isci_port *iport,
u8 phy_index); u8 phy_index);
struct isci_port *phy_get_non_dummy_port(struct isci_phy *iphy); struct isci_port *phy_get_non_dummy_port(struct isci_phy *iphy);
void scic_sds_phy_set_port( void sci_phy_set_port(
struct isci_phy *iphy, struct isci_phy *iphy,
struct isci_port *iport); struct isci_port *iport);
enum sci_status scic_sds_phy_initialize( enum sci_status sci_phy_initialize(
struct isci_phy *iphy, struct isci_phy *iphy,
struct scu_transport_layer_registers __iomem *transport_layer_registers, struct scu_transport_layer_registers __iomem *transport_layer_registers,
struct scu_link_layer_registers __iomem *link_layer_registers); struct scu_link_layer_registers __iomem *link_layer_registers);
enum sci_status scic_sds_phy_start( enum sci_status sci_phy_start(
struct isci_phy *iphy); struct isci_phy *iphy);
enum sci_status scic_sds_phy_stop( enum sci_status sci_phy_stop(
struct isci_phy *iphy); struct isci_phy *iphy);
enum sci_status scic_sds_phy_reset( enum sci_status sci_phy_reset(
struct isci_phy *iphy); struct isci_phy *iphy);
void scic_sds_phy_resume( void sci_phy_resume(
struct isci_phy *iphy); struct isci_phy *iphy);
void scic_sds_phy_setup_transport( void sci_phy_setup_transport(
struct isci_phy *iphy, struct isci_phy *iphy,
u32 device_id); u32 device_id);
enum sci_status scic_sds_phy_event_handler( enum sci_status sci_phy_event_handler(
struct isci_phy *iphy, struct isci_phy *iphy,
u32 event_code); u32 event_code);
enum sci_status scic_sds_phy_frame_handler( enum sci_status sci_phy_frame_handler(
struct isci_phy *iphy, struct isci_phy *iphy,
u32 frame_index); u32 frame_index);
enum sci_status scic_sds_phy_consume_power_handler( enum sci_status sci_phy_consume_power_handler(
struct isci_phy *iphy); struct isci_phy *iphy);
void scic_sds_phy_get_sas_address( void sci_phy_get_sas_address(
struct isci_phy *iphy, struct isci_phy *iphy,
struct sci_sas_address *sas_address); struct sci_sas_address *sas_address);
void scic_sds_phy_get_attached_sas_address( void sci_phy_get_attached_sas_address(
struct isci_phy *iphy, struct isci_phy *iphy,
struct sci_sas_address *sas_address); struct sci_sas_address *sas_address);
struct scic_phy_proto; struct sci_phy_proto;
void scic_sds_phy_get_protocols( void sci_phy_get_protocols(
struct isci_phy *iphy, struct isci_phy *iphy,
struct scic_phy_proto *protocols); struct sci_phy_proto *protocols);
enum sas_linkrate sci_phy_linkrate(struct isci_phy *iphy); enum sas_linkrate sci_phy_linkrate(struct isci_phy *iphy);
struct isci_host; struct isci_host;
......
This diff is collapsed.
...@@ -123,7 +123,7 @@ struct isci_port { ...@@ -123,7 +123,7 @@ struct isci_port {
struct scu_viit_entry __iomem *viit_registers; struct scu_viit_entry __iomem *viit_registers;
}; };
enum scic_port_not_ready_reason_code { enum sci_port_not_ready_reason_code {
SCIC_PORT_NOT_READY_NO_ACTIVE_PHYS, SCIC_PORT_NOT_READY_NO_ACTIVE_PHYS,
SCIC_PORT_NOT_READY_HARD_RESET_REQUESTED, SCIC_PORT_NOT_READY_HARD_RESET_REQUESTED,
SCIC_PORT_NOT_READY_INVALID_PORT_CONFIGURATION, SCIC_PORT_NOT_READY_INVALID_PORT_CONFIGURATION,
...@@ -132,25 +132,25 @@ enum scic_port_not_ready_reason_code { ...@@ -132,25 +132,25 @@ enum scic_port_not_ready_reason_code {
SCIC_PORT_NOT_READY_REASON_CODE_MAX SCIC_PORT_NOT_READY_REASON_CODE_MAX
}; };
struct scic_port_end_point_properties { struct sci_port_end_point_properties {
struct sci_sas_address sas_address; struct sci_sas_address sas_address;
struct scic_phy_proto protocols; struct sci_phy_proto protocols;
}; };
struct scic_port_properties { struct sci_port_properties {
u32 index; u32 index;
struct scic_port_end_point_properties local; struct sci_port_end_point_properties local;
struct scic_port_end_point_properties remote; struct sci_port_end_point_properties remote;
u32 phy_mask; u32 phy_mask;
}; };
/** /**
* enum scic_sds_port_states - This enumeration depicts all the states for the * enum sci_port_states - This enumeration depicts all the states for the
* common port state machine. * common port state machine.
* *
* *
*/ */
enum scic_sds_port_states { enum sci_port_states {
/** /**
* This state indicates that the port has successfully been stopped. * This state indicates that the port has successfully been stopped.
* In this state no new IO operations are permitted. * In this state no new IO operations are permitted.
...@@ -211,23 +211,23 @@ enum scic_sds_port_states { ...@@ -211,23 +211,23 @@ enum scic_sds_port_states {
}; };
/** /**
* scic_sds_port_get_controller() - * sci_port_get_controller() -
* *
* Helper macro to get the owning controller of this port * Helper macro to get the owning controller of this port
*/ */
#define scic_sds_port_get_controller(this_port) \ #define sci_port_get_controller(this_port) \
((this_port)->owning_controller) ((this_port)->owning_controller)
/** /**
* scic_sds_port_get_index() - * sci_port_get_index() -
* *
* This macro returns the physical port index for this port object * This macro returns the physical port index for this port object
*/ */
#define scic_sds_port_get_index(this_port) \ #define sci_port_get_index(this_port) \
((this_port)->physical_port_index) ((this_port)->physical_port_index)
static inline void scic_sds_port_decrement_request_count(struct isci_port *iport) static inline void sci_port_decrement_request_count(struct isci_port *iport)
{ {
if (WARN_ONCE(iport->started_request_count == 0, if (WARN_ONCE(iport->started_request_count == 0,
"%s: tried to decrement started_request_count past 0!?", "%s: tried to decrement started_request_count past 0!?",
...@@ -237,79 +237,73 @@ static inline void scic_sds_port_decrement_request_count(struct isci_port *iport ...@@ -237,79 +237,73 @@ static inline void scic_sds_port_decrement_request_count(struct isci_port *iport
iport->started_request_count--; iport->started_request_count--;
} }
#define scic_sds_port_active_phy(port, phy) \ #define sci_port_active_phy(port, phy) \
(((port)->active_phy_mask & (1 << (phy)->phy_index)) != 0) (((port)->active_phy_mask & (1 << (phy)->phy_index)) != 0)
void scic_sds_port_construct( void sci_port_construct(
struct isci_port *iport, struct isci_port *iport,
u8 port_index, u8 port_index,
struct isci_host *ihost); struct isci_host *ihost);
enum sci_status scic_sds_port_initialize( enum sci_status sci_port_start(struct isci_port *iport);
struct isci_port *iport, enum sci_status sci_port_stop(struct isci_port *iport);
void __iomem *port_task_scheduler_registers,
void __iomem *port_configuration_regsiter,
void __iomem *viit_registers);
enum sci_status scic_sds_port_start(struct isci_port *iport);
enum sci_status scic_sds_port_stop(struct isci_port *iport);
enum sci_status scic_sds_port_add_phy( enum sci_status sci_port_add_phy(
struct isci_port *iport, struct isci_port *iport,
struct isci_phy *iphy); struct isci_phy *iphy);
enum sci_status scic_sds_port_remove_phy( enum sci_status sci_port_remove_phy(
struct isci_port *iport, struct isci_port *iport,
struct isci_phy *iphy); struct isci_phy *iphy);
void scic_sds_port_setup_transports( void sci_port_setup_transports(
struct isci_port *iport, struct isci_port *iport,
u32 device_id); u32 device_id);
void isci_port_bcn_enable(struct isci_host *, struct isci_port *); void isci_port_bcn_enable(struct isci_host *, struct isci_port *);
void scic_sds_port_deactivate_phy( void sci_port_deactivate_phy(
struct isci_port *iport, struct isci_port *iport,
struct isci_phy *iphy, struct isci_phy *iphy,
bool do_notify_user); bool do_notify_user);
bool scic_sds_port_link_detected( bool sci_port_link_detected(
struct isci_port *iport, struct isci_port *iport,
struct isci_phy *iphy); struct isci_phy *iphy);
enum sci_status scic_sds_port_link_up(struct isci_port *iport, enum sci_status sci_port_link_up(struct isci_port *iport,
struct isci_phy *iphy); struct isci_phy *iphy);
enum sci_status scic_sds_port_link_down(struct isci_port *iport, enum sci_status sci_port_link_down(struct isci_port *iport,
struct isci_phy *iphy); struct isci_phy *iphy);
struct isci_request; struct isci_request;
struct isci_remote_device; struct isci_remote_device;
enum sci_status scic_sds_port_start_io( enum sci_status sci_port_start_io(
struct isci_port *iport, struct isci_port *iport,
struct isci_remote_device *idev, struct isci_remote_device *idev,
struct isci_request *ireq); struct isci_request *ireq);
enum sci_status scic_sds_port_complete_io( enum sci_status sci_port_complete_io(
struct isci_port *iport, struct isci_port *iport,
struct isci_remote_device *idev, struct isci_remote_device *idev,
struct isci_request *ireq); struct isci_request *ireq);
enum sas_linkrate scic_sds_port_get_max_allowed_speed( enum sas_linkrate sci_port_get_max_allowed_speed(
struct isci_port *iport); struct isci_port *iport);
void scic_sds_port_broadcast_change_received( void sci_port_broadcast_change_received(
struct isci_port *iport, struct isci_port *iport,
struct isci_phy *iphy); struct isci_phy *iphy);
bool scic_sds_port_is_valid_phy_assignment( bool sci_port_is_valid_phy_assignment(
struct isci_port *iport, struct isci_port *iport,
u32 phy_index); u32 phy_index);
void scic_sds_port_get_sas_address( void sci_port_get_sas_address(
struct isci_port *iport, struct isci_port *iport,
struct sci_sas_address *sas_address); struct sci_sas_address *sas_address);
void scic_sds_port_get_attached_sas_address( void sci_port_get_attached_sas_address(
struct isci_port *iport, struct isci_port *iport,
struct sci_sas_address *sas_address); struct sci_sas_address *sas_address);
......
This diff is collapsed.
...@@ -111,25 +111,15 @@ struct isci_orom *isci_request_oprom(struct pci_dev *pdev) ...@@ -111,25 +111,15 @@ struct isci_orom *isci_request_oprom(struct pci_dev *pdev)
return rom; return rom;
} }
/** enum sci_status isci_parse_oem_parameters(struct sci_oem_params *oem,
* isci_parse_oem_parameters() - This method will take OEM parameters
* from the module init parameters and copy them to oem_params. This will
* only copy values that are not set to the module parameter default values
* @oem_parameters: This parameter specifies the controller default OEM
* parameters. It is expected that this has been initialized to the default
* parameters for the controller
*
*
*/
enum sci_status isci_parse_oem_parameters(union scic_oem_parameters *oem_params,
struct isci_orom *orom, int scu_index) struct isci_orom *orom, int scu_index)
{ {
/* check for valid inputs */ /* check for valid inputs */
if (scu_index < 0 || scu_index >= SCI_MAX_CONTROLLERS || if (scu_index < 0 || scu_index >= SCI_MAX_CONTROLLERS ||
scu_index > orom->hdr.num_elements || !oem_params) scu_index > orom->hdr.num_elements || !oem)
return -EINVAL; return -EINVAL;
oem_params->sds1 = orom->ctrl[scu_index]; *oem = orom->ctrl[scu_index];
return 0; return 0;
} }
......
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
#define SCIC_SDS_PARM_MAX_SPEED SCIC_SDS_PARM_GEN3_SPEED #define SCIC_SDS_PARM_MAX_SPEED SCIC_SDS_PARM_GEN3_SPEED
/* parameters that can be set by module parameters */ /* parameters that can be set by module parameters */
struct scic_sds_user_parameters { struct sci_user_parameters {
struct sci_phy_user_params { struct sci_phy_user_params {
/** /**
* This field specifies the NOTIFY (ENABLE SPIN UP) primitive * This field specifies the NOTIFY (ENABLE SPIN UP) primitive
...@@ -147,30 +147,16 @@ struct scic_sds_user_parameters { ...@@ -147,30 +147,16 @@ struct scic_sds_user_parameters {
}; };
/* XXX kill this union */
union scic_user_parameters {
/**
* This field specifies the user parameters specific to the
* Storage Controller Unit (SCU) Driver Standard (SDS) version
* 1.
*/
struct scic_sds_user_parameters sds1;
};
#define SCIC_SDS_PARM_PHY_MASK_MIN 0x0 #define SCIC_SDS_PARM_PHY_MASK_MIN 0x0
#define SCIC_SDS_PARM_PHY_MASK_MAX 0xF #define SCIC_SDS_PARM_PHY_MASK_MAX 0xF
#define MAX_CONCURRENT_DEVICE_SPIN_UP_COUNT 4 #define MAX_CONCURRENT_DEVICE_SPIN_UP_COUNT 4
struct scic_sds_oem_params; struct sci_oem_params;
int scic_oem_parameters_validate(struct scic_sds_oem_params *oem); int sci_oem_parameters_validate(struct sci_oem_params *oem);
union scic_oem_parameters;
void scic_oem_parameters_get(struct isci_host *ihost,
union scic_oem_parameters *oem);
struct isci_orom; struct isci_orom;
struct isci_orom *isci_request_oprom(struct pci_dev *pdev); struct isci_orom *isci_request_oprom(struct pci_dev *pdev);
enum sci_status isci_parse_oem_parameters(union scic_oem_parameters *oem, enum sci_status isci_parse_oem_parameters(struct sci_oem_params *oem,
struct isci_orom *orom, int scu_index); struct isci_orom *orom, int scu_index);
struct isci_orom *isci_request_firmware(struct pci_dev *pdev, const struct firmware *fw); struct isci_orom *isci_request_firmware(struct pci_dev *pdev, const struct firmware *fw);
struct isci_orom *isci_get_efi_var(struct pci_dev *pdev); struct isci_orom *isci_get_efi_var(struct pci_dev *pdev);
...@@ -214,7 +200,7 @@ struct isci_oem_hdr { ...@@ -214,7 +200,7 @@ struct isci_oem_hdr {
* A PORT_PHY mask that assigns just a single PHY to a port and no other PHYs * A PORT_PHY mask that assigns just a single PHY to a port and no other PHYs
* being assigned is sufficient to declare manual PORT configuration. * being assigned is sufficient to declare manual PORT configuration.
*/ */
enum scic_port_configuration_mode { enum sci_port_configuration_mode {
SCIC_PORT_MANUAL_CONFIGURATION_MODE = 0, SCIC_PORT_MANUAL_CONFIGURATION_MODE = 0,
SCIC_PORT_AUTOMATIC_CONFIGURATION_MODE = 1 SCIC_PORT_AUTOMATIC_CONFIGURATION_MODE = 1
}; };
...@@ -230,7 +216,7 @@ struct sci_bios_oem_param_block_hdr { ...@@ -230,7 +216,7 @@ struct sci_bios_oem_param_block_hdr {
uint8_t reserved[8]; uint8_t reserved[8];
} __attribute__ ((packed)); } __attribute__ ((packed));
struct scic_sds_oem_params { struct sci_oem_params {
struct { struct {
uint8_t mode_type; uint8_t mode_type;
uint8_t max_concurrent_dev_spin_up; uint8_t max_concurrent_dev_spin_up;
...@@ -255,19 +241,9 @@ struct scic_sds_oem_params { ...@@ -255,19 +241,9 @@ struct scic_sds_oem_params {
} phys[SCI_MAX_PHYS]; } phys[SCI_MAX_PHYS];
} __attribute__ ((packed)); } __attribute__ ((packed));
/* XXX kill this union */
union scic_oem_parameters {
/**
* This field specifies the OEM parameters specific to the
* Storage Controller Unit (SCU) Driver Standard (SDS) version
* 1.
*/
struct scic_sds_oem_params sds1;
};
struct isci_orom { struct isci_orom {
struct sci_bios_oem_param_block_hdr hdr; struct sci_bios_oem_param_block_hdr hdr;
struct scic_sds_oem_params ctrl[SCI_MAX_CONTROLLERS]; struct sci_oem_params ctrl[SCI_MAX_CONTROLLERS];
} __attribute__ ((packed)); } __attribute__ ((packed));
#endif #endif
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -116,7 +116,7 @@ void isci_sata_set_ncq_tag( ...@@ -116,7 +116,7 @@ void isci_sata_set_ncq_tag(
struct isci_request *request = task->lldd_task; struct isci_request *request = task->lldd_task;
register_fis->sector_count = qc->tag << 3; register_fis->sector_count = qc->tag << 3;
scic_stp_io_request_set_ncq_tag(request, qc->tag); sci_stp_io_request_set_ncq_tag(request, qc->tag);
} }
/** /**
...@@ -187,7 +187,7 @@ enum sci_status isci_sata_management_task_request_build(struct isci_request *ire ...@@ -187,7 +187,7 @@ enum sci_status isci_sata_management_task_request_build(struct isci_request *ire
/* core builds the protocol specific request /* core builds the protocol specific request
* based on the h2d fis. * based on the h2d fis.
*/ */
status = scic_task_request_construct_sata(ireq); status = sci_task_request_construct_sata(ireq);
return status; return status;
} }
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment