#include <scsi/libsas.h>
#include "isci.h"
#include "sas.h"
#include "phy.h"
Go to the source code of this file.
|
void | sci_port_construct (struct isci_port *iport, u8 port_index, struct isci_host *ihost) |
|
enum sci_status | sci_port_start (struct isci_port *iport) |
|
enum sci_status | sci_port_stop (struct isci_port *iport) |
|
enum sci_status | sci_port_add_phy (struct isci_port *iport, struct isci_phy *iphy) |
|
enum sci_status | sci_port_remove_phy (struct isci_port *iport, struct isci_phy *iphy) |
|
void | sci_port_setup_transports (struct isci_port *iport, u32 device_id) |
|
void | isci_port_bcn_enable (struct isci_host *, struct isci_port *) |
|
void | sci_port_deactivate_phy (struct isci_port *iport, struct isci_phy *iphy, bool do_notify_user) |
|
bool | sci_port_link_detected (struct isci_port *iport, struct isci_phy *iphy) |
|
enum sci_status | sci_port_get_properties (struct isci_port *iport, struct sci_port_properties *prop) |
|
enum sci_status | sci_port_link_up (struct isci_port *iport, struct isci_phy *iphy) |
|
enum sci_status | sci_port_link_down (struct isci_port *iport, struct isci_phy *iphy) |
|
enum sci_status | sci_port_start_io (struct isci_port *iport, struct isci_remote_device *idev, struct isci_request *ireq) |
|
enum sci_status | sci_port_complete_io (struct isci_port *iport, struct isci_remote_device *idev, struct isci_request *ireq) |
|
enum sas_linkrate | sci_port_get_max_allowed_speed (struct isci_port *iport) |
|
void | sci_port_broadcast_change_received (struct isci_port *iport, struct isci_phy *iphy) |
|
bool | sci_port_is_valid_phy_assignment (struct isci_port *iport, u32 phy_index) |
|
void | sci_port_get_sas_address (struct isci_port *iport, struct sci_sas_address *sas_address) |
|
void | sci_port_get_attached_sas_address (struct isci_port *iport, struct sci_sas_address *sas_address) |
|
void | sci_port_set_hang_detection_timeout (struct isci_port *isci_port, u32 timeout) |
|
void | isci_port_formed (struct asd_sas_phy *) |
|
void | isci_port_deformed (struct asd_sas_phy *) |
|
int | isci_port_perform_hard_reset (struct isci_host *ihost, struct isci_port *iport, struct isci_phy *iphy) |
|
int | isci_ata_check_ready (struct domain_device *dev) |
|
#define IPORT_RESET_PENDING 0 |
#define PF_NOTIFY (1 << 0) |
#define PF_RESUME (1 << 1) |
Value:{\
C(PORT_STOPPED),\
C(PORT_STOPPING),\
C(PORT_READY),\
C(PORT_SUB_WAITING),\
C(PORT_SUB_OPERATIONAL),\
C(PORT_SUB_CONFIGURING),\
C(PORT_RESETTING),\
C(PORT_FAILED),\
}
enum sci_port_states - port state machine states : port has successfully been stopped. In this state no new IO operations are permitted. This state is entered from the STOPPING state. : port is in the process of stopping. In this state no new IO operations are permitted, but existing IO operations are allowed to complete. This state is entered from the READY state. : port is now ready. Thus, the user is able to perform IO operations on this port. This state is entered from the STARTING state. : port is started and ready but has no active phys. : port is started and ready and there is at least one phy operational. : port is started and there was an add/remove phy event. This state is only used in Automatic Port Configuration Mode (APC) : port is in the process of performing a hard reset. Thus, the user is unable to perform IO operations on this port. This state is entered from the READY state. : port has failed a reset request. This state is entered when a port reset request times out. This state is entered from the RESETTING state.
Definition at line 174 of file port.h.
#define sci_port_active_phy |
( |
|
port, |
|
|
|
phy |
|
) |
| (((port)->active_phy_mask & (1 << (phy)->phy_index)) != 0) |
#define SCIC_SDS_DUMMY_PORT 0xFF |
- Enumerator:
isci_freed |
|
isci_starting |
|
isci_ready |
|
isci_ready_for_io |
|
isci_stopping |
|
isci_stopped |
|
Definition at line 72 of file port.h.
- Enumerator:
SCIC_PORT_NOT_READY_NO_ACTIVE_PHYS |
|
SCIC_PORT_NOT_READY_HARD_RESET_REQUESTED |
|
SCIC_PORT_NOT_READY_INVALID_PORT_CONFIGURATION |
|
SCIC_PORT_NOT_READY_RECONFIGURING |
|
SCIC_PORT_NOT_READY_REASON_CODE_MAX |
|
Definition at line 125 of file port.h.
sci_port_add_phy() - : This parameter specifies the port in which the phy will be added. : This parameter is the phy which is to be added to the port.
This method will add a PHY to the selected port. This method returns an enum sci_status. SCI_SUCCESS the phy has been added to the port. Any other status is a failure to add the phy to the port.
Definition at line 1196 of file port.c.
sci_port_get_properties() - This method simply returns the properties regarding the port, such as: physical index, protocols, sas address, etc. : this parameter specifies the port for which to retrieve the physical index. : This parameter specifies the properties structure into which to copy the requested information.
Indicate if the user specified a valid port. SCI_SUCCESS This value is returned if the specified port was valid. SCI_FAILURE_INVALID_PORT This value is returned if the specified port is not valid. When this value is returned, no data is copied to the properties output parameter.
Definition at line 128 of file port.c.
This method is called by the PHY object when the link is detected. if the port wants the PHY to continue on to the link up state then the port layer must return true. If the port object returns false the phy object must halt its attempt to go link up. : The port associated with the phy object. : The phy object that is trying to go link up.
true if the phy object can continue to the link up condition. true Is returned if this phy can continue to the ready state. false Is returned if can not continue on to the ready state. This notification is in place for wide ports and direct attached phys. Since there are no wide ported SATA devices this could become an invalid port configuration.
Definition at line 754 of file port.c.
sci_port_remove_phy() - : This parameter specifies the port in which the phy will be added. : This parameter is the phy which is to be added to the port.
This method will remove the PHY from the selected PORT. This method returns an enum sci_status. SCI_SUCCESS the phy has been removed from the port. Any other status is a failure to add the phy to the port.
Definition at line 1267 of file port.c.
enum sci_port_states PORT_STATES |