FreeBSD kernel CAM code
|
Go to the source code of this file.
Data Structures | |
struct | smp_report_general_request |
struct | smp_report_general_response |
struct | smp_report_manuf_info_request |
struct | smp_report_manuf_info_response |
struct | smp_discover_request |
struct | smp_discover_response |
struct | smp_phy_control_request |
struct | smp_phy_control_response |
Functions | |
__BEGIN_DECLS const char * | smp_error_desc (int function_result) |
const char * | smp_command_desc (uint8_t cmd_num) |
void | smp_command_decode (uint8_t *smp_request, int request_len, struct sbuf *sb, char *line_prefix, int first_line_len, int line_len) |
void | smp_command_sbuf (struct ccb_smpio *smpio, struct sbuf *sb, char *line_prefix, int first_line_len, int line_len) |
void | smp_error_sbuf (struct ccb_smpio *smpio, struct sbuf *sb) |
void | smp_report_general_sbuf (struct smp_report_general_response *response, int response_len, struct sbuf *sb) |
void | smp_report_manuf_info_sbuf (struct smp_report_manuf_info_response *response, int response_len, struct sbuf *sb) |
void | smp_report_general (struct ccb_smpio *smpio, uint32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), struct smp_report_general_request *request, int request_len, uint8_t *response, int response_len, int long_response, uint32_t timeout) |
void | smp_discover (struct ccb_smpio *smpio, uint32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), struct smp_discover_request *request, int request_len, uint8_t *response, int response_len, int long_response, int ignore_zone_group, int phy, uint32_t timeout) |
void | smp_report_manuf_info (struct ccb_smpio *smpio, uint32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), struct smp_report_manuf_info_request *request, int request_len, uint8_t *response, int response_len, int long_response, uint32_t timeout) |
void | smp_phy_control (struct ccb_smpio *smpio, uint32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), struct smp_phy_control_request *request, int request_len, uint8_t *response, int response_len, int long_response, uint32_t expected_exp_change_count, int phy, int phy_op, int update_pp_timeout_val, uint64_t attached_device_name, int prog_min_prl, int prog_max_prl, int slumber_partial, int pp_timeout_value, uint32_t timeout) |
void smp_command_decode | ( | uint8_t * | smp_request, |
int | request_len, | ||
struct sbuf * | sb, | ||
char * | line_prefix, | ||
int | first_line_len, | ||
int | line_len | ||
) |
Definition at line 200 of file smp_all.c.
Referenced by smp_command_sbuf().
const char * smp_command_desc | ( | uint8_t | cmd_num | ) |
Definition at line 164 of file smp_all.c.
References smp_cmd_table_entry::cmd_num, and smp_cmd_table.
Referenced by smp_command_sbuf().
void smp_command_sbuf | ( | struct ccb_smpio * | smpio, |
struct sbuf * | sb, | ||
char * | line_prefix, | ||
int | first_line_len, | ||
int | line_len | ||
) |
Definition at line 231 of file smp_all.c.
References smp_command_decode(), smp_command_desc(), ccb_smpio::smp_request, and ccb_smpio::smp_request_len.
Referenced by cam_error_string(), and smp_error_sbuf().
void smp_discover | ( | struct ccb_smpio * | smpio, |
uint32_t | retries, | ||
void(*)(struct cam_periph *, union ccb *) | cbfcnp, | ||
struct smp_discover_request * | request, | ||
int | request_len, | ||
uint8_t * | response, | ||
int | response_len, | ||
int | long_response, | ||
int | ignore_zone_group, | ||
int | phy, | ||
uint32_t | timeout | ||
) |
Definition at line 521 of file smp_all.c.
References CAM_DIR_BOTH, cam_fill_smpio(), smp_discover_request::frame_type, smp_discover_request::function, smp_discover_request::ignore_zone_group, smp_discover_request::phy, smp_discover_request::request_len, smp_discover_request::response_len, SMP_CRC_LEN, SMP_DIS_IGNORE_ZONE_GROUP, SMP_DIS_REQUEST_LEN, SMP_DIS_RESPONSE_LEN, SMP_FRAME_TYPE_REQUEST, and SMP_FUNC_DISCOVER.
__BEGIN_DECLS const char * smp_error_desc | ( | int | function_result | ) |
Definition at line 119 of file smp_all.c.
References smp_error_table_entry::desc, smp_error_table_entry::function_result, and smp_error_table.
Referenced by cam_error_string(), and smp_error_sbuf().
void smp_error_sbuf | ( | struct ccb_smpio * | smpio, |
struct sbuf * | sb | ||
) |
Definition at line 252 of file smp_all.c.
References ccb_smpio::ccb_h, ccb_hdr::path, smp_command_sbuf(), smp_error_desc(), ccb_smpio::smp_response, and xpt_path_string().
void smp_phy_control | ( | struct ccb_smpio * | smpio, |
uint32_t | retries, | ||
void(*)(struct cam_periph *, union ccb *) | cbfcnp, | ||
struct smp_phy_control_request * | request, | ||
int | request_len, | ||
uint8_t * | response, | ||
int | response_len, | ||
int | long_response, | ||
uint32_t | expected_exp_change_count, | ||
int | phy, | ||
int | phy_op, | ||
int | update_pp_timeout_val, | ||
uint64_t | attached_device_name, | ||
int | prog_min_prl, | ||
int | prog_max_prl, | ||
int | slumber_partial, | ||
int | pp_timeout_value, | ||
uint32_t | timeout | ||
) |
Definition at line 581 of file smp_all.c.
References smp_phy_control_request::attached_device_name, CAM_DIR_BOTH, cam_fill_smpio(), smp_phy_control_request::config_bits0, smp_phy_control_request::expected_exp_chg_cnt, smp_phy_control_request::frame_type, smp_phy_control_request::function, smp_phy_control_request::phy, smp_phy_control_request::phy_operation, smp_phy_control_request::pp_timeout_value, smp_phy_control_request::prog_max_phys_link_rate, smp_phy_control_request::prog_min_phys_link_rate, smp_phy_control_request::request_len, smp_phy_control_request::response_len, scsi_u64to8b(), scsi_ulto2b(), SMP_CRC_LEN, SMP_FRAME_TYPE_REQUEST, SMP_FUNC_PHY_CONTROL, SMP_PC_PROG_MAX_PL_RATE_MASK, SMP_PC_PROG_MAX_PL_RATE_SHIFT, SMP_PC_PROG_MIN_PL_RATE_MASK, SMP_PC_PROG_MIN_PL_RATE_SHIFT, SMP_PC_REQUEST_LEN, SMP_PC_RESPONSE_LEN, SMP_PC_UPDATE_PP_TIMEOUT, and smp_phy_control_request::update_pp_timeout.
void smp_report_general | ( | struct ccb_smpio * | smpio, |
uint32_t | retries, | ||
void(*)(struct cam_periph *, union ccb *) | cbfcnp, | ||
struct smp_report_general_request * | request, | ||
int | request_len, | ||
uint8_t * | response, | ||
int | response_len, | ||
int | long_response, | ||
uint32_t | timeout | ||
) |
Definition at line 492 of file smp_all.c.
References CAM_DIR_BOTH, cam_fill_smpio(), smp_report_general_request::frame_type, smp_report_general_request::function, smp_report_general_request::request_len, smp_report_general_request::response_len, SMP_CRC_LEN, SMP_FRAME_TYPE_REQUEST, SMP_FUNC_REPORT_GENERAL, and SMP_RG_RESPONSE_LEN.
void smp_report_general_sbuf | ( | struct smp_report_general_response * | response, |
int | response_len, | ||
struct sbuf * | sb | ||
) |
Definition at line 281 of file smp_all.c.
References smp_report_general_response::active_zm_address, smp_report_general_response::config_bits0, smp_report_general_response::config_bits1, smp_report_general_response::config_bits2, smp_report_general_response::crc, smp_report_general_response::encl_logical_id, smp_report_general_response::expander_change_count, smp_report_general_response::expander_route_indexes, smp_report_general_response::first_encl_conn_el_index, smp_report_general_response::initial_time_to_reduced_func, smp_report_general_response::last_phy_evl_desc_index, smp_report_general_response::last_sc_stat_desc_index, smp_report_general_response::long_response, smp_report_general_response::max_num_routed_addrs, smp_report_general_response::max_reduced_func_time, smp_report_general_response::max_sc_stat_descs, smp_report_general_response::max_stored_pel_descs, smp_report_general_response::num_encl_conn_el_indexes, smp_report_general_response::num_phys, smp_report_general_response::reduced_functionality, smp_report_general_response::response_len, scsi_2btoul(), scsi_8btou64(), SMP_RG_CONFIGURES_OTHERS, SMP_RG_CONFIGURING, SMP_RG_LONG_RESPONSE, SMP_RG_NUM_ZONE_GROUPS_MASK, SMP_RG_NUM_ZONE_GROUPS_SHIFT, SMP_RG_OPEN_REJECT_RETRY_SUP, SMP_RG_PP_ASSERTED, SMP_RG_PP_SUPPORTED, SMP_RG_REDUCED_FUNCTIONALITY, SMP_RG_SAVING, SMP_RG_SAVING_PHY_INFO_SUP, SMP_RG_SAVING_ZENABLED_SUP, SMP_RG_SAVING_ZM_PWD_SUP, SMP_RG_SAVING_ZPERM_TAB_SUP, SMP_RG_SELF_CONFIGURING, SMP_RG_STP_CONTINUE_AWT, SMP_RG_TABLE_TO_TABLE_SUP, SMP_RG_ZONE_CONFIGURING, SMP_RG_ZONE_LOCKED, SMP_RG_ZONING_ENABLED, SMP_RG_ZONING_SUPPORTED, SMP_WORD_LEN, smp_yesno(), smp_report_general_response::stp_bus_inact_time_limit, smp_report_general_response::stp_max_conn_time_limit, smp_report_general_response::stp_reject_to_open_limit, smp_report_general_response::stp_smp_it_nexus_loss_time, smp_report_general_response::time_to_reduced_func, and smp_report_general_response::zone_lock_inact_time_limit.
void smp_report_manuf_info | ( | struct ccb_smpio * | smpio, |
uint32_t | retries, | ||
void(*)(struct cam_periph *, union ccb *) | cbfcnp, | ||
struct smp_report_manuf_info_request * | request, | ||
int | request_len, | ||
uint8_t * | response, | ||
int | response_len, | ||
int | long_response, | ||
uint32_t | timeout | ||
) |
Definition at line 552 of file smp_all.c.
References CAM_DIR_BOTH, cam_fill_smpio(), smp_report_manuf_info_request::frame_type, smp_report_manuf_info_request::function, smp_report_manuf_info_request::request_len, smp_report_manuf_info_request::response_len, SMP_CRC_LEN, SMP_FRAME_TYPE_REQUEST, SMP_FUNC_REPORT_MANUF_INFO, SMP_RMI_REQUEST_LEN, and SMP_RMI_RESPONSE_LEN.
void smp_report_manuf_info_sbuf | ( | struct smp_report_manuf_info_response * | response, |
int | response_len, | ||
struct sbuf * | sb | ||
) |
Definition at line 420 of file smp_all.c.
References cam_strvis(), smp_report_manuf_info_response::comp_id, smp_report_manuf_info_response::comp_revision, smp_report_manuf_info_response::comp_vendor, smp_report_manuf_info_response::crc, smp_report_manuf_info_response::expander_change_count, smp_report_manuf_info_response::product, smp_report_manuf_info_response::revision, smp_report_manuf_info_response::sas_11_format, scsi_2btoul(), scsi_8btou64(), SMP_RMI_SAS11_FORMAT, smp_yesno(), smp_report_manuf_info_response::vendor, and smp_report_manuf_info_response::vendor_specific.