Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
remote_device.c File Reference
#include <scsi/sas.h>
#include <linux/bitops.h>
#include "isci.h"
#include "port.h"
#include "remote_device.h"
#include "request.h"
#include "remote_node_context.h"
#include "scu_event_codes.h"
#include "task.h"

Go to the source code of this file.

Macros

#define C(a)   (#a)
 
#define MAX_SUSPEND_MSECS   10000
 
#define MAX_RESUME_MSECS   10000
 

Functions

const chardev_state_name (enum sci_remote_device_states state)
 
enum sci_status sci_remote_device_suspend (struct isci_remote_device *idev, enum sci_remote_node_suspension_reasons reason)
 
enum sci_status isci_remote_device_terminate_requests (struct isci_host *ihost, struct isci_remote_device *idev, struct isci_request *ireq)
 
enum sci_status sci_remote_device_terminate_requests (struct isci_remote_device *idev)
 
enum sci_status sci_remote_device_stop (struct isci_remote_device *idev, u32 timeout)
 
enum sci_status sci_remote_device_reset (struct isci_remote_device *idev)
 
enum sci_status sci_remote_device_reset_complete (struct isci_remote_device *idev)
 
enum sci_status sci_remote_device_frame_handler (struct isci_remote_device *idev, u32 frame_index)
 
enum sci_status sci_remote_device_event_handler (struct isci_remote_device *idev, u32 event_code)
 
enum sci_status sci_remote_device_start_io (struct isci_host *ihost, struct isci_remote_device *idev, struct isci_request *ireq)
 
enum sci_status sci_remote_device_complete_io (struct isci_host *ihost, struct isci_remote_device *idev, struct isci_request *ireq)
 
enum sci_status sci_remote_device_start_task (struct isci_host *ihost, struct isci_remote_device *idev, struct isci_request *ireq)
 
void sci_remote_device_post_request (struct isci_remote_device *idev, u32 request)
 
enum sci_status sci_remote_device_resume (struct isci_remote_device *idev, scics_sds_remote_node_context_callback cb_fn, void *cb_p)
 
void isci_remote_device_wait_for_resume_from_abort (struct isci_host *ihost, struct isci_remote_device *idev)
 
enum sci_status isci_remote_device_resume_from_abort (struct isci_host *ihost, struct isci_remote_device *idev)
 
void isci_remote_device_release (struct kref *kref)
 
enum sci_status isci_remote_device_stop (struct isci_host *ihost, struct isci_remote_device *idev)
 
void isci_remote_device_gone (struct domain_device *dev)
 
int isci_remote_device_found (struct domain_device *dev)
 
enum sci_status isci_remote_device_suspend_terminate (struct isci_host *ihost, struct isci_remote_device *idev, struct isci_request *ireq)
 
int isci_remote_device_is_safe_to_abort (struct isci_remote_device *idev)
 
enum sci_status sci_remote_device_abort_requests_pending_abort (struct isci_remote_device *idev)
 
enum sci_status isci_remote_device_reset_complete (struct isci_host *ihost, struct isci_remote_device *idev)
 
void isci_dev_set_hang_detection_timeout (struct isci_remote_device *idev, u32 timeout)
 

Macro Definition Documentation

#define C (   a)    (#a)

Definition at line 66 of file remote_device.c.

#define MAX_RESUME_MSECS   10000
#define MAX_SUSPEND_MSECS   10000

Function Documentation

const char* dev_state_name ( enum sci_remote_device_states  state)

Definition at line 67 of file remote_device.c.

void isci_dev_set_hang_detection_timeout ( struct isci_remote_device idev,
u32  timeout 
)

Definition at line 1710 of file remote_device.c.

int isci_remote_device_found ( struct domain_device dev)

isci_remote_device_found() - This function is called by libsas when a remote device is discovered. A remote device object is created and started. the function then sleeps until the sci core device started message is received. : This parameter specifies the libsas domain device.

status, zero indicates success.

Definition at line 1613 of file remote_device.c.

void isci_remote_device_gone ( struct domain_device dev)

isci_remote_device_gone() - This function is called by libsas when a domain device is removed. : This parameter specifies the libsas domain device.

Definition at line 1591 of file remote_device.c.

int isci_remote_device_is_safe_to_abort ( struct isci_remote_device idev)

Definition at line 1684 of file remote_device.c.

void isci_remote_device_release ( struct kref kref)

Definition at line 1533 of file remote_device.c.

enum sci_status isci_remote_device_reset_complete ( struct isci_host ihost,
struct isci_remote_device idev 
)

Definition at line 1696 of file remote_device.c.

enum sci_status isci_remote_device_resume_from_abort ( struct isci_host ihost,
struct isci_remote_device idev 
)

Definition at line 1408 of file remote_device.c.

enum sci_status isci_remote_device_stop ( struct isci_host ihost,
struct isci_remote_device idev 
)

isci_remote_device_stop() - This function is called internally to stop the remote device. : This parameter specifies the isci host object. : This parameter specifies the remote device.

The status of the ihost request to stop.

Definition at line 1557 of file remote_device.c.

enum sci_status isci_remote_device_suspend_terminate ( struct isci_host ihost,
struct isci_remote_device idev,
struct isci_request ireq 
)

Definition at line 1658 of file remote_device.c.

enum sci_status isci_remote_device_terminate_requests ( struct isci_host ihost,
struct isci_remote_device idev,
struct isci_request ireq 
)

Definition at line 186 of file remote_device.c.

void isci_remote_device_wait_for_resume_from_abort ( struct isci_host ihost,
struct isci_remote_device idev 
)

Definition at line 1387 of file remote_device.c.

enum sci_status sci_remote_device_abort_requests_pending_abort ( struct isci_remote_device idev)

Definition at line 1690 of file remote_device.c.

enum sci_status sci_remote_device_complete_io ( struct isci_host ihost,
struct isci_remote_device idev,
struct isci_request ireq 
)

Definition at line 789 of file remote_device.c.

enum sci_status sci_remote_device_event_handler ( struct isci_remote_device idev,
u32  event_code 
)

Definition at line 567 of file remote_device.c.

enum sci_status sci_remote_device_frame_handler ( struct isci_remote_device idev,
u32  frame_index 
)

Definition at line 439 of file remote_device.c.

void sci_remote_device_post_request ( struct isci_remote_device idev,
u32  request 
)

Definition at line 953 of file remote_device.c.

enum sci_status sci_remote_device_reset ( struct isci_remote_device idev)

sci_remote_device_reset() - This method will reset the device making it ready for operation. This method must be called anytime the device is reset either through a SMP phy control or a port hard reset request. : This parameter specifies the device to be reset.

This method does not actually cause the device hardware to be reset. This method resets the software object so that it will be operational after a device hardware reset completes. An indication of whether the device reset was accepted. SCI_SUCCESS This value is returned if the device reset is started.

Definition at line 394 of file remote_device.c.

enum sci_status sci_remote_device_reset_complete ( struct isci_remote_device idev)

sci_remote_device_reset_complete() - This method informs the device object that the reset operation is complete and the device can resume operation again. : This parameter specifies the device which is to be informed of the reset complete operation.

An indication that the device is resuming operation. SCI_SUCCESS the device is resuming operation.

Definition at line 424 of file remote_device.c.

enum sci_status sci_remote_device_resume ( struct isci_remote_device idev,
scics_sds_remote_node_context_callback  cb_fn,
void cb_p 
)

Definition at line 1339 of file remote_device.c.

enum sci_status sci_remote_device_start_io ( struct isci_host ihost,
struct isci_remote_device idev,
struct isci_request ireq 
)

Definition at line 653 of file remote_device.c.

enum sci_status sci_remote_device_start_task ( struct isci_host ihost,
struct isci_remote_device idev,
struct isci_request ireq 
)

Definition at line 871 of file remote_device.c.

enum sci_status sci_remote_device_stop ( struct isci_remote_device idev,
u32  timeout 
)

sci_remote_device_stop() - This method will stop both transmission and reception of link activity for the supplied remote device. This method disables normal IO requests from flowing through to the remote device. : This parameter specifies the device to be stopped. : This parameter specifies the number of milliseconds in which the stop operation should complete.

An indication of whether the device was successfully stopped. SCI_SUCCESS This value is returned if the transmission and reception for the device was successfully stopped.

Definition at line 337 of file remote_device.c.

enum sci_status sci_remote_device_suspend ( struct isci_remote_device idev,
enum sci_remote_node_suspension_reasons  reason 
)

Definition at line 75 of file remote_device.c.

enum sci_status sci_remote_device_terminate_requests ( struct isci_remote_device idev)

Definition at line 331 of file remote_device.c.