|
@@ -71,186 +71,6 @@ struct scic_sds_request;
|
|
|
struct scic_sds_remote_device;
|
|
|
struct scic_sds_controller;
|
|
|
|
|
|
-/**
|
|
|
- * struct scic_io_parameters - This structure contains additional optional
|
|
|
- * parameters for SSP IO requests. These parameters are utilized with the
|
|
|
- * scic_io_request_construct_advanced_ssp() method.
|
|
|
- *
|
|
|
- * Add Block-guard/DIF, TLR
|
|
|
- */
|
|
|
-struct scic_io_parameters {
|
|
|
- /**
|
|
|
- * This sub-structure contains SCSI specific features (for use with SSP
|
|
|
- * IO requests).
|
|
|
- */
|
|
|
- struct {
|
|
|
- /**
|
|
|
- * Data Integrity Format (DIF) is also known as protection information
|
|
|
- * or block-guard. This sub-structure contains DIF specific feature
|
|
|
- * information for SSP IO requests.
|
|
|
- */
|
|
|
- struct {
|
|
|
- void *placeholder;
|
|
|
- } dif;
|
|
|
-
|
|
|
- /**
|
|
|
- * Transport Layer Retries (TLR) is an SSP protocol specific feature.
|
|
|
- * This sub-structure contains Transport Layer Retries (TLR) specific
|
|
|
- * feature information for SSP IO requests.
|
|
|
- */
|
|
|
- struct {
|
|
|
- void *placeholder;
|
|
|
- } tlr;
|
|
|
-
|
|
|
- } scsi;
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct scic_passthru_request_callbacks - This structure contains the pointer
|
|
|
- * to the callback functions for constructing the passthrough request common
|
|
|
- * to SSP, SMP and STP. This structure must be set by the win sci layer
|
|
|
- * before the passthrough build is called
|
|
|
- *
|
|
|
- *
|
|
|
- */
|
|
|
-struct scic_passthru_request_callbacks {
|
|
|
- /**
|
|
|
- * Function pointer to get the phy identifier for passthrough request.
|
|
|
- */
|
|
|
- u32 (*scic_cb_passthru_get_phy_identifier)(void *, u8 *);
|
|
|
- /**
|
|
|
- * Function pointer to get the port identifier for passthrough request.
|
|
|
- */
|
|
|
- u32 (*scic_cb_passthru_get_port_identifier)(void *, u8 *);
|
|
|
- /**
|
|
|
- * Function pointer to get the connection rate for passthrough request.
|
|
|
- */
|
|
|
- u32 (*scic_cb_passthru_get_connection_rate)(void *, void *);
|
|
|
- /**
|
|
|
- * Function pointer to get the destination sas address for passthrough request.
|
|
|
- */
|
|
|
- void (*scic_cb_passthru_get_destination_sas_address)(void *, u8 **);
|
|
|
- /**
|
|
|
- * Function pointer to get the transfer length for passthrough request.
|
|
|
- */
|
|
|
- u32 (*scic_cb_passthru_get_transfer_length)(void *);
|
|
|
- /**
|
|
|
- * Function pointer to get the data direction for passthrough request.
|
|
|
- */
|
|
|
- u32 (*scic_cb_passthru_get_data_direction)(void *);
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct scic_ssp_passthru_request_callbacks - This structure contains the
|
|
|
- * pointer to the callback functions for constructing the passthrough
|
|
|
- * request specific to SSP. This structure must be set by the win sci layer
|
|
|
- * before the passthrough build is called
|
|
|
- *
|
|
|
- *
|
|
|
- */
|
|
|
-struct scic_ssp_passthru_request_callbacks {
|
|
|
- /**
|
|
|
- * Common callbacks for all Passthru requests
|
|
|
- */
|
|
|
- struct scic_passthru_request_callbacks common_callbacks;
|
|
|
- /**
|
|
|
- * Function pointer to get the lun for passthrough request.
|
|
|
- */
|
|
|
- void (*scic_cb_ssp_passthru_get_lun)(void *, u8 **);
|
|
|
- /**
|
|
|
- * Function pointer to get the cdb
|
|
|
- */
|
|
|
- void (*scic_cb_ssp_passthru_get_cdb)(void *, u32 *, u8 **, u32 *, u8 **);
|
|
|
- /**
|
|
|
- * Function pointer to get the task attribute for passthrough request.
|
|
|
- */
|
|
|
- u32 (*scic_cb_ssp_passthru_get_task_attribute)(void *);
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct scic_stp_passthru_request_callbacks - This structure contains the
|
|
|
- * pointer to the callback functions for constructing the passthrough
|
|
|
- * request specific to STP. This structure must be set by the win sci layer
|
|
|
- * before the passthrough build is called
|
|
|
- *
|
|
|
- *
|
|
|
- */
|
|
|
-struct scic_stp_passthru_request_callbacks {
|
|
|
- /**
|
|
|
- * Common callbacks for all Passthru requests
|
|
|
- */
|
|
|
- struct scic_passthru_request_callbacks common_callbacks;
|
|
|
- /**
|
|
|
- * Function pointer to get the protocol for passthrough request.
|
|
|
- */
|
|
|
- u8 (*scic_cb_stp_passthru_get_protocol)(void *);
|
|
|
- /**
|
|
|
- * Function pointer to get the resgister fis
|
|
|
- */
|
|
|
- void (*scic_cb_stp_passthru_get_register_fis)(void *, u8 **);
|
|
|
- /**
|
|
|
- * Function pointer to get the MULTIPLE_COUNT (bits 5,6,7 in Byte 1 in the SAT-specific SCSI extenstion in ATA Pass-through (0x85))
|
|
|
- */
|
|
|
- u8 (*scic_cb_stp_passthru_get_multiplecount)(void *);
|
|
|
- /**
|
|
|
- * Function pointer to get the EXTEND (bit 0 in Byte 1 the SAT-specific SCSI extenstion in ATA Pass-through (0x85))
|
|
|
- */
|
|
|
- u8 (*scic_cb_stp_passthru_get_extend)(void *);
|
|
|
- /**
|
|
|
- * Function pointer to get the CK_COND (bit 5 in Byte 2 the SAT-specific SCSI extenstion in ATA Pass-through (0x85))
|
|
|
- */
|
|
|
- u8 (*scic_cb_stp_passthru_get_ckcond)(void *);
|
|
|
- /**
|
|
|
- * Function pointer to get the T_DIR (bit 3 in Byte 2 the SAT-specific SCSI extenstion in ATA Pass-through (0x85))
|
|
|
- */
|
|
|
- u8 (*scic_cb_stp_passthru_get_tdir)(void *);
|
|
|
- /**
|
|
|
- * Function pointer to get the BYTE_BLOCK (bit 2 in Byte 2 the SAT-specific SCSI extenstion in ATA Pass-through (0x85))
|
|
|
- */
|
|
|
- u8 (*scic_cb_stp_passthru_get_byteblock)(void *);
|
|
|
- /**
|
|
|
- * Function pointer to get the T_LENGTH (bits 0,1 in Byte 2 the SAT-specific SCSI extenstion in ATA Pass-through (0x85))
|
|
|
- */
|
|
|
- u8 (*scic_cb_stp_passthru_get_tlength)(void *);
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct scic_smp_passthru_request_callbacks - This structure contains the
|
|
|
- * pointer to the callback functions for constructing the passthrough
|
|
|
- * request specific to SMP. This structure must be set by the win sci layer
|
|
|
- * before the passthrough build is called
|
|
|
- *
|
|
|
- *
|
|
|
- */
|
|
|
-struct scic_smp_passthru_request_callbacks {
|
|
|
- /**
|
|
|
- * Common callbacks for all Passthru requests
|
|
|
- */
|
|
|
- struct scic_passthru_request_callbacks common_callbacks;
|
|
|
-
|
|
|
- /**
|
|
|
- * Function pointer to get the length of the smp request and its length
|
|
|
- */
|
|
|
- u32 (*scic_cb_smp_passthru_get_request)(void *, u8 **);
|
|
|
- /**
|
|
|
- * Function pointer to get the frame type of the smp request
|
|
|
- */
|
|
|
- u8 (*scic_cb_smp_passthru_get_frame_type)(void *);
|
|
|
- /**
|
|
|
- * Function pointer to get the function in the the smp request
|
|
|
- */
|
|
|
- u8 (*scic_cb_smp_passthru_get_function)(void *);
|
|
|
-
|
|
|
- /**
|
|
|
- * Function pointer to get the "allocated response length" in the the smp request
|
|
|
- */
|
|
|
- u8 (*scic_cb_smp_passthru_get_allocated_response_length)(void *);
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* This enumeration specifies the transport protocol utilized for the request.
|
|
|
*
|