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.
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
struct isci_request; struct isci_request;
struct isci_remote_device; struct isci_remote_device;
struct scic_sds_remote_node_context; struct sci_remote_node_context;
typedef void (*scics_sds_remote_node_context_callback)(void *); typedef void (*scics_sds_remote_node_context_callback)(void *);
...@@ -147,19 +147,19 @@ enum scis_sds_remote_node_context_states { ...@@ -147,19 +147,19 @@ enum scis_sds_remote_node_context_states {
* This enumeration is used to define the end destination state for the remote * This enumeration is used to define the end destination state for the remote
* node context. * node context.
*/ */
enum scic_sds_remote_node_context_destination_state { enum sci_remote_node_context_destination_state {
SCIC_SDS_REMOTE_NODE_DESTINATION_STATE_UNSPECIFIED, SCIC_SDS_REMOTE_NODE_DESTINATION_STATE_UNSPECIFIED,
SCIC_SDS_REMOTE_NODE_DESTINATION_STATE_READY, SCIC_SDS_REMOTE_NODE_DESTINATION_STATE_READY,
SCIC_SDS_REMOTE_NODE_DESTINATION_STATE_FINAL SCIC_SDS_REMOTE_NODE_DESTINATION_STATE_FINAL
}; };
/** /**
* struct scic_sds_remote_node_context - This structure contains the data * struct sci_remote_node_context - This structure contains the data
* associated with the remote node context object. The remote node context * associated with the remote node context object. The remote node context
* (RNC) object models the the remote device information necessary to manage * (RNC) object models the the remote device information necessary to manage
* the silicon RNC. * the silicon RNC.
*/ */
struct scic_sds_remote_node_context { struct sci_remote_node_context {
/** /**
* This field indicates the remote node index (RNI) associated with * This field indicates the remote node index (RNI) associated with
* this RNC. * this RNC.
...@@ -177,7 +177,7 @@ struct scic_sds_remote_node_context { ...@@ -177,7 +177,7 @@ struct scic_sds_remote_node_context {
* state. This can cause an automatic resume on receiving a suspension * state. This can cause an automatic resume on receiving a suspension
* notification. * notification.
*/ */
enum scic_sds_remote_node_context_destination_state destination_state; enum sci_remote_node_context_destination_state destination_state;
/** /**
* This field contains the callback function that the user requested to be * This field contains the callback function that the user requested to be
...@@ -197,31 +197,31 @@ struct scic_sds_remote_node_context { ...@@ -197,31 +197,31 @@ struct scic_sds_remote_node_context {
struct sci_base_state_machine sm; struct sci_base_state_machine sm;
}; };
void scic_sds_remote_node_context_construct(struct scic_sds_remote_node_context *rnc, void sci_remote_node_context_construct(struct sci_remote_node_context *rnc,
u16 remote_node_index); u16 remote_node_index);
bool scic_sds_remote_node_context_is_ready( bool sci_remote_node_context_is_ready(
struct scic_sds_remote_node_context *sci_rnc); struct sci_remote_node_context *sci_rnc);
#define scic_sds_remote_node_context_get_remote_node_index(rcn) \ #define sci_remote_node_context_get_remote_node_index(rcn) \
((rnc)->remote_node_index) ((rnc)->remote_node_index)
enum sci_status scic_sds_remote_node_context_event_handler(struct scic_sds_remote_node_context *sci_rnc, enum sci_status sci_remote_node_context_event_handler(struct sci_remote_node_context *sci_rnc,
u32 event_code); u32 event_code);
enum sci_status scic_sds_remote_node_context_destruct(struct scic_sds_remote_node_context *sci_rnc, enum sci_status sci_remote_node_context_destruct(struct sci_remote_node_context *sci_rnc,
scics_sds_remote_node_context_callback callback, scics_sds_remote_node_context_callback callback,
void *callback_parameter); void *callback_parameter);
enum sci_status scic_sds_remote_node_context_suspend(struct scic_sds_remote_node_context *sci_rnc, enum sci_status sci_remote_node_context_suspend(struct sci_remote_node_context *sci_rnc,
u32 suspend_type, u32 suspend_type,
scics_sds_remote_node_context_callback cb_fn, scics_sds_remote_node_context_callback cb_fn,
void *cb_p); void *cb_p);
enum sci_status scic_sds_remote_node_context_resume(struct scic_sds_remote_node_context *sci_rnc, enum sci_status sci_remote_node_context_resume(struct sci_remote_node_context *sci_rnc,
scics_sds_remote_node_context_callback cb_fn, scics_sds_remote_node_context_callback cb_fn,
void *cb_p); void *cb_p);
enum sci_status scic_sds_remote_node_context_start_task(struct scic_sds_remote_node_context *sci_rnc, enum sci_status sci_remote_node_context_start_task(struct sci_remote_node_context *sci_rnc,
struct isci_request *ireq); struct isci_request *ireq);
enum sci_status scic_sds_remote_node_context_start_io(struct scic_sds_remote_node_context *sci_rnc, enum sci_status sci_remote_node_context_start_io(struct sci_remote_node_context *sci_rnc,
struct isci_request *ireq); struct isci_request *ireq);
#endif /* _SCIC_SDS_REMOTE_NODE_CONTEXT_H_ */ #endif /* _SCIC_SDS_REMOTE_NODE_CONTEXT_H_ */
This diff is collapsed.
...@@ -130,11 +130,11 @@ ...@@ -130,11 +130,11 @@
#define SCU_SATA_REMOTE_NODE_COUNT 1 #define SCU_SATA_REMOTE_NODE_COUNT 1
/** /**
* struct scic_remote_node_table - * struct sci_remote_node_table -
* *
* *
*/ */
struct scic_remote_node_table { struct sci_remote_node_table {
/** /**
* This field contains the array size in dwords * This field contains the array size in dwords
*/ */
...@@ -172,16 +172,16 @@ struct scic_remote_node_table { ...@@ -172,16 +172,16 @@ struct scic_remote_node_table {
/* --------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------- */
void scic_sds_remote_node_table_initialize( void sci_remote_node_table_initialize(
struct scic_remote_node_table *remote_node_table, struct sci_remote_node_table *remote_node_table,
u32 remote_node_entries); u32 remote_node_entries);
u16 scic_sds_remote_node_table_allocate_remote_node( u16 sci_remote_node_table_allocate_remote_node(
struct scic_remote_node_table *remote_node_table, struct sci_remote_node_table *remote_node_table,
u32 remote_node_count); u32 remote_node_count);
void scic_sds_remote_node_table_release_remote_node_index( void sci_remote_node_table_release_remote_node_index(
struct scic_remote_node_table *remote_node_table, struct sci_remote_node_table *remote_node_table,
u32 remote_node_count, u32 remote_node_count,
u16 remote_node_index); u16 remote_node_index);
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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