MM_TASK
[MM]

LMAC Management module task. More...

Collaboration diagram for MM_TASK:

Data Structures

struct  mm_start_req
 Structure containing the parameters of the MM_START_REQ message. More...
struct  mm_set_channel_req
 Structure containing the parameters of the MM_SET_CHANNEL_REQ message. More...
struct  mm_set_channel_cfm
 Structure containing the parameters of the MM_SET_CHANNEL_CFM message. More...
struct  mm_set_dtim_req
 Structure containing the parameters of the MM_SET_DTIM_REQ message. More...
struct  mm_set_power_req
 Structure containing the parameters of the MM_SET_POWER_REQ message. More...
struct  mm_set_power_cfm
 Structure containing the parameters of the MM_SET_POWER_CFM message. More...
struct  mm_set_beacon_int_req
 Structure containing the parameters of the MM_SET_BEACON_INT_REQ message. More...
struct  mm_set_basic_rates_req
 Structure containing the parameters of the MM_SET_BASIC_RATES_REQ message. More...
struct  mm_set_bssid_req
 Structure containing the parameters of the MM_SET_BSSID_REQ message. More...
struct  mm_set_filter_req
 Structure containing the parameters of the MM_SET_FILTER_REQ message. More...
struct  mm_add_if_req
 Structure containing the parameters of the MM_ADD_IF_REQ message. More...
struct  mm_set_edca_req
 Structure containing the parameters of the MM_SET_EDCA_REQ message. More...
struct  mm_set_mu_edca_req
 Structure containing the parameters of the MM_SET_MU_EDCA_REQ message. More...
struct  mm_set_uora_req
 Structure containing the parameters of the MM_SET_UORA_REQ message. More...
struct  mm_set_txop_rts_thres_req
 Structure containing the parameters of the MM_SET_TXOP_RTS_THRES_REQ message. More...
struct  mm_set_bss_color_req
 Structure containing the parameters of the MM_SET_BSS_COLOR_REQ message. More...
struct  mm_set_slottime_req
 Structure containing the parameters of the MM_SET_SLOTTIME_REQ message. More...
struct  mm_set_mode_req
 Structure containing the parameters of the MM_SET_MODE_REQ message. More...
struct  mm_set_vif_state_req
 Structure containing the parameters of the MM_SET_VIF_STATE_REQ message. More...
struct  mm_add_if_cfm
 Structure containing the parameters of the MM_ADD_IF_CFM message. More...
struct  mm_remove_if_req
 Structure containing the parameters of the MM_REMOVE_IF_REQ message. More...
struct  mm_version_cfm
 Structure containing the parameters of the MM_VERSION_CFM message. More...
struct  mm_sta_add_req
 Structure containing the parameters of the MM_STA_ADD_REQ message. More...
struct  mm_sta_add_cfm
 Structure containing the parameters of the MM_STA_ADD_CFM message. More...
struct  mm_sta_del_req
 Structure containing the parameters of the MM_STA_DEL_REQ message. More...
struct  mm_sta_del_cfm
 Structure containing the parameters of the MM_STA_DEL_CFM message. More...
struct  mm_set_idle_req
 Structure containing the parameters of the MM_SET_IDLE_REQ message. More...
struct  mm_key_add_req
 Structure containing the parameters of the MM_KEY_ADD_REQ message. More...
struct  mm_key_add_cfm
 Structure containing the parameters of the MM_KEY_ADD_CFM message. More...
struct  mm_key_del_req
 Structure containing the parameters of the MM_KEY_DEL_REQ message. More...
struct  mm_ba_add_req
 Structure containing the parameters of the MM_BA_ADD_REQ message. More...
struct  mm_ba_add_cfm
 Structure containing the parameters of the MM_BA_ADD_CFM message. More...
struct  mm_ba_del_req
 Structure containing the parameters of the MM_BA_DEL_REQ message. More...
struct  mm_ba_del_cfm
 Structure containing the parameters of the MM_BA_DEL_CFM message. More...
struct  mm_channel_switch_ind
 Structure containing the parameters of the MM_CHANNEL_SWITCH_IND message. More...
struct  mm_channel_pre_switch_ind
 Structure containing the parameters of the MM_CHANNEL_PRE_SWITCH_IND message. More...
struct  mm_connection_loss_ind
 Structure containing the parameters of the MM_CONNECTION_LOSS_IND message. More...
struct  mm_dbg_trigger_req
 Structure containing the parameters of the MM_DBG_TRIGGER_REQ message. More...
struct  mm_set_ps_mode_req
 Structure containing the parameters of the MM_SET_PS_MODE_REQ message. More...
struct  mm_chan_ctxt_add_req
 Structure containing the parameters of the MM_CHAN_CTXT_ADD_REQ message. More...
struct  mm_chan_ctxt_add_cfm
 Structure containing the parameters of the MM_CHAN_CTXT_ADD_REQ message. More...
struct  mm_chan_ctxt_del_req
 Structure containing the parameters of the MM_CHAN_CTXT_DEL_REQ message. More...
struct  mm_chan_ctxt_link_req
 Structure containing the parameters of the MM_CHAN_CTXT_LINK_REQ message. More...
struct  mm_chan_ctxt_unlink_req
 Structure containing the parameters of the MM_CHAN_CTXT_UNLINK_REQ message. More...
struct  mm_chan_ctxt_update_req
 Structure containing the parameters of the MM_CHAN_CTXT_UPDATE_REQ message. More...
struct  mm_chan_ctxt_sched_req
 Structure containing the parameters of the MM_CHAN_CTXT_SCHED_REQ message. More...
struct  mm_bcn_change_req
 Structure containing the parameters of the MM_BCN_CHANGE_REQ message. More...
struct  mm_tim_update_req
 Structure containing the parameters of the MM_TIM_UPDATE_REQ message. More...
struct  mm_ps_change_ind
 Structure containing the parameters of the MM_PS_CHANGE_IND message. More...
struct  mm_p2p_vif_ps_change_ind
 Structure containing the parameters of the MM_P2P_VIF_PS_CHANGE_IND message. More...
struct  mm_traffic_req_ind
 Structure containing the parameters of the MM_TRAFFIC_REQ_IND message. More...
struct  mm_remain_on_channel_req
 Structure containing the parameters of the MM_REMAIN_ON_CHANNEL_REQ message. More...
struct  mm_remain_on_channel_cfm
 Structure containing the parameters of the MM_REMAIN_ON_CHANNEL_CFM message. More...
struct  mm_remain_on_channel_exp_ind
 Structure containing the parameters of the MM_REMAIN_ON_CHANNEL_EXP_IND message. More...
struct  mm_set_ps_options_req
 Structure containing the parameters of the MM_SET_PS_OPTIONS_REQ message. More...
struct  mm_csa_counter_ind
 Structure containing the parameters of the MM_CSA_COUNTER_IND message. More...
struct  mm_channel_survey_ind
 Structure containing the parameters of the MM_CHANNEL_SURVEY_IND message. More...
struct  mm_bfmer_enable_req
 Structure containing the parameters of the MM_BFMER_ENABLE_REQ message. More...
struct  mm_cfg_rssi_req
 Structure containing the parameters of the MM_CFG_RSSI_REQ message. More...
struct  mm_rssi_status_ind
 Structure containing the parameters of the MM_RSSI_STATUS_IND message. More...
struct  mm_pktloss_ind
 Structure containing the parameters of the MM_PKTLOSS_IND message. More...
struct  mm_csa_finish_ind
 Structure containing the parameters of the MM_CSA_FINISH_IND message. More...
struct  mm_csa_traffic_ind
 Structure containing the parameters of the MM_CSA_TRAFFIC_IND message. More...
struct  mm_force_idle_req
 Structure containing the parameters of the MM_FORCE_IDLE_REQ message. More...
struct  mm_tbtt_move_req
 Structure containing the parameters of the MM_TBTT_MOVE_REQ message. More...
struct  mm_set_p2p_noa_req
 Structure containing the parameters of the MM_SET_P2P_NOA_REQ message. More...
struct  mm_set_p2p_oppps_req
 Structure containing the parameters of the MM_SET_P2P_OPPPS_REQ message. More...
struct  mm_set_p2p_noa_cfm
 Structure containing the parameters of the MM_SET_P2P_NOA_CFM message. More...
struct  mm_set_p2p_oppps_cfm
 Structure containing the parameters of the MM_SET_P2P_OPPPS_CFM message. More...
struct  mm_p2p_noa_upd_ind
 Structure containing the parameters of the MM_P2P_NOA_UPD_IND message. More...
struct  mm_mu_group_update_req
 Structure containing the parameters of the MM_MU_GROUP_UPDATE_REQ message. More...
struct  mm_ant_div_init_req
 Structure containing the parameters of the MM_ANT_DIV_INIT_REQ message. More...

Defines

#define MM_IDX_MAX   1
 MM STA TASK Instance Max.
#define BCN_MAX_CSA_CPT   2
 Maximum number of CSA counter in a BEACON (1 in CSA IE and 1 in ECSA IE).

Typedefs

typedef void(* cb_idle_func_ptr )(void)
 Pointer to callback function.

Enumerations

enum  mm_state_tag {
  MM_IDLE, MM_ACTIVE, MM_GOING_TO_IDLE, MM_HOST_BYPASSED,
  MM_NO_IDLE, MM_STATE_MAX
}
 

Possible States of the MM STA Task.

More...
enum  mm_remain_on_channel_op { MM_ROC_OP_START = 0, MM_ROC_OP_CANCEL, MM_ROC_OP_MAX }
 

Remain on channel operation codes.


enum  mm_msg_tag {
  MM_RESET_REQ = KE_FIRST_MSG(TASK_MM), MM_RESET_CFM, MM_START_REQ, MM_START_CFM,
  MM_VERSION_REQ, MM_VERSION_CFM, MM_ADD_IF_REQ, MM_ADD_IF_CFM,
  MM_REMOVE_IF_REQ, MM_REMOVE_IF_CFM, MM_STA_ADD_REQ, MM_STA_ADD_CFM,
  MM_STA_DEL_REQ, MM_STA_DEL_CFM, MM_SET_FILTER_REQ, MM_SET_FILTER_CFM,
  MM_SET_CHANNEL_REQ, MM_SET_CHANNEL_CFM, MM_SET_DTIM_REQ, MM_SET_DTIM_CFM,
  MM_SET_BEACON_INT_REQ, MM_SET_BEACON_INT_CFM, MM_SET_BASIC_RATES_REQ, MM_SET_BASIC_RATES_CFM,
  MM_SET_BSSID_REQ, MM_SET_BSSID_CFM, MM_SET_EDCA_REQ, MM_SET_EDCA_CFM,
  MM_SET_MODE_REQ, MM_SET_MODE_CFM, MM_SET_VIF_STATE_REQ, MM_SET_VIF_STATE_CFM,
  MM_SET_SLOTTIME_REQ, MM_SET_SLOTTIME_CFM, MM_SET_IDLE_REQ, MM_SET_IDLE_CFM,
  MM_KEY_ADD_REQ, MM_KEY_ADD_CFM, MM_KEY_DEL_REQ, MM_KEY_DEL_CFM,
  MM_BA_ADD_REQ, MM_BA_ADD_CFM, MM_BA_DEL_REQ, MM_BA_DEL_CFM,
  MM_PRIMARY_TBTT_IND, MM_SECONDARY_TBTT_IND, MM_SET_POWER_REQ, MM_SET_POWER_CFM,
  MM_DBG_TRIGGER_REQ, MM_SET_PS_MODE_REQ, MM_SET_PS_MODE_CFM, MM_CHAN_CTXT_ADD_REQ,
  MM_CHAN_CTXT_ADD_CFM, MM_CHAN_CTXT_DEL_REQ, MM_CHAN_CTXT_DEL_CFM, MM_CHAN_CTXT_LINK_REQ,
  MM_CHAN_CTXT_LINK_CFM, MM_CHAN_CTXT_UNLINK_REQ, MM_CHAN_CTXT_UNLINK_CFM, MM_CHAN_CTXT_UPDATE_REQ,
  MM_CHAN_CTXT_UPDATE_CFM, MM_CHAN_CTXT_SCHED_REQ, MM_CHAN_CTXT_SCHED_CFM, MM_BCN_CHANGE_REQ,
  MM_BCN_CHANGE_CFM, MM_TIM_UPDATE_REQ, MM_TIM_UPDATE_CFM, MM_CONNECTION_LOSS_IND,
  MM_CHANNEL_SWITCH_IND, MM_CHANNEL_PRE_SWITCH_IND, MM_REMAIN_ON_CHANNEL_REQ, MM_REMAIN_ON_CHANNEL_CFM,
  MM_REMAIN_ON_CHANNEL_EXP_IND, MM_PS_CHANGE_IND, MM_TRAFFIC_REQ_IND, MM_SET_PS_OPTIONS_REQ,
  MM_SET_PS_OPTIONS_CFM, MM_P2P_VIF_PS_CHANGE_IND, MM_CSA_COUNTER_IND, MM_CHANNEL_SURVEY_IND,
  MM_BFMER_ENABLE_REQ, MM_SET_P2P_NOA_REQ, MM_SET_P2P_OPPPS_REQ, MM_SET_P2P_NOA_CFM,
  MM_SET_P2P_OPPPS_CFM, MM_P2P_NOA_UPD_IND, MM_CFG_RSSI_REQ, MM_RSSI_STATUS_IND,
  MM_CSA_FINISH_IND, MM_CSA_TRAFFIC_IND, MM_MU_GROUP_UPDATE_REQ, MM_MU_GROUP_UPDATE_CFM,
  MM_ANT_DIV_INIT_REQ, MM_ANT_DIV_STOP_REQ, MM_ANT_DIV_UPDATE_REQ, MM_SWITCH_ANTENNA_REQ,
  MM_PKTLOSS_IND, MM_SET_MU_EDCA_REQ, MM_SET_MU_EDCA_CFM, MM_SET_UORA_REQ,
  MM_SET_UORA_CFM, MM_SET_TXOP_RTS_THRES_REQ, MM_SET_TXOP_RTS_THRES_CFM, MM_SET_BSS_COLOR_REQ,
  MM_SET_BSS_COLOR_CFM, MM_FORCE_IDLE_REQ, MM_SCAN_CHANNEL_START_IND, MM_SCAN_CHANNEL_END_IND,
  MM_TBTT_MOVE_REQ, MM_MAX
}
 

List of messages related to the task.

More...

Functions

static int mm_version_req_handler (ke_msg_id_t const msgid, void const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_VERSION_REQ message handler.
static int mm_reset_req_handler (ke_msg_id_t const msgid, void const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_RESET_REQ message handler.
static int mm_start_req_handler (ke_msg_id_t const msgid, struct mm_start_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_START_REQ message handler.
static int mm_set_channel_req_handler (ke_msg_id_t const msgid, struct mm_set_channel_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_CHANNEL_REQ message handler.
static int mm_set_dtim_req_handler (ke_msg_id_t const msgid, struct mm_set_dtim_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_DTIM_REQ message handler.
static int mm_set_beacon_int_req_handler (ke_msg_id_t const msgid, struct mm_set_beacon_int_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_BEACON_INT_REQ message handler.
static int mm_set_basic_rates_req_handler (ke_msg_id_t const msgid, struct mm_set_basic_rates_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_BASIC_RATES_REQ message handler.
static int mm_set_filter_req_handler (ke_msg_id_t const msgid, struct mm_set_filter_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_FILTER_REQ message handler.
static int mm_set_bssid_req_handler (ke_msg_id_t const msgid, struct mm_set_bssid_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_BSSID_REQ message handler.
static int mm_set_edca_req_handler (ke_msg_id_t const msgid, struct mm_set_edca_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_EDCA_REQ message handler.
static int mm_set_mu_edca_req_handler (ke_msg_id_t const msgid, struct mm_set_mu_edca_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_MU_EDCA_REQ message handler.
static int mm_set_uora_req_handler (ke_msg_id_t const msgid, struct mm_set_uora_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_UORA_REQ message handler.
static int mm_set_bss_color_req_handler (ke_msg_id_t const msgid, struct mm_set_bss_color_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_BSS_COLOR_REQ message handler.
static int mm_set_txop_rts_thres_req_handler (ke_msg_id_t const msgid, struct mm_set_txop_rts_thres_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_TXOP_RTS_THRES_REQ message handler.
static int mm_set_slottime_req_handler (ke_msg_id_t const msgid, struct mm_set_slottime_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_SLOTTIME_REQ message handler.
static int mm_set_mode_req_handler (ke_msg_id_t const msgid, struct mm_set_mode_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_MODE_REQ message handler.
static int mm_set_vif_state_req_handler (ke_msg_id_t const msgid, struct mm_set_vif_state_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_VIF_STATE_REQ message handler.
static int mm_set_power_req_handler (ke_msg_id_t const msgid, struct mm_set_power_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_POWER_REQ message handler.
static int mm_dbg_trigger_req_handler (ke_msg_id_t const msgid, struct mm_dbg_trigger_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_DBG_TRIGGER_REQ message handler.
static int mm_add_if_req_handler (ke_msg_id_t const msgid, struct mm_add_if_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_ADD_IF_REQ message handler.
static int mm_remove_if_req_handler (ke_msg_id_t const msgid, struct mm_remove_if_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_REMOVE_IF_REQ message handler.
static int mm_set_idle_req_handler (ke_msg_id_t const msgid, struct mm_set_idle_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_IDLE_REQ message handler.
static int mm_force_idle_req_handler (ke_msg_id_t const msgid, struct mm_force_idle_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_FORCE_IDLE_REQ message handler.
static int mm_sta_add_req_handler (ke_msg_id_t const msgid, struct mm_sta_add_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_STA_ADD_REQ message handler.
static int mm_sta_del_req_handler (ke_msg_id_t const msgid, struct mm_sta_del_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_STA_DEL_REQ message handler.
static int mm_key_add_req_handler (ke_msg_id_t const msgid, struct mm_key_add_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_KEY_ADD_REQ message handler.
static int mm_key_del_req_handler (ke_msg_id_t const msgid, struct mm_key_del_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_KEY_DEL_REQ message handler.
static int mm_ba_add_req_handler (ke_msg_id_t const msgid, struct mm_ba_add_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_BA_ADD_REQ message handler.
static int mm_ba_del_req_handler (ke_msg_id_t const msgid, struct mm_ba_del_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_BA_DEL_REQ message handler.
static int mm_tbtt_move_req_handler (ke_msg_id_t const msgid, struct mm_tbtt_move_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_TBTT_MOVE_REQ message handler.
static int mm_chan_ctxt_unlink_req_handler (ke_msg_id_t const msgid, struct mm_chan_ctxt_unlink_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_CHAN_CTXT_UNLINK_REQ message handler.
static int mm_chan_ctxt_update_req_handler (ke_msg_id_t const msgid, struct mm_chan_ctxt_update_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_CHAN_CTXT_UPDATE_REQ message handler.
static int mm_remain_on_channel_req_handler (ke_msg_id_t const msgid, struct mm_remain_on_channel_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_REMAIN_ON_CHANNEL_REQ message handler.
static int mm_bcn_change_req_handler (ke_msg_id_t const msgid, struct mm_bcn_change_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_BCN_CHANGE_REQ message handler.
static int mm_tim_update_req_handler (ke_msg_id_t const msgid, struct mm_tim_update_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_TIM_UPDATE_REQ message handler.
static int mm_ant_div_init_req_handler (ke_msg_id_t const msgid, struct mm_ant_div_init_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_ANT_DIV_INIT_REQ message handler.
static int mm_ant_div_stop_req_handler (ke_msg_id_t const msgid, void const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_ANT_DIV_STOP_REQ message handler.
static int mm_ant_div_update_req_handler (ke_msg_id_t const msgid, void const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_ANT_DIV_UPDATE_REQ message handler.
static int mm_switch_antenna_req_handler (ke_msg_id_t const msgid, void const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SWITCH_ANTENNA_REQ message handler.
static int mm_hw_config_handler (ke_msg_id_t const msgid, void const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 Postpones message processing until HW reach IDLE state.
static int mm_set_ps_mode_req_handler (ke_msg_id_t const msgid, struct mm_set_ps_mode_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_PS_MODE_REQ message handler.
static int mm_set_ps_options_req_handler (ke_msg_id_t const msgid, struct mm_set_ps_options_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_PS_OPTIONS_REQ message handler.
static int mm_set_p2p_noa_req_handler (ke_msg_id_t const msgid, struct mm_set_p2p_noa_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_P2P_NOA_REQ message handler.
static int mm_set_p2p_oppps_req_handler (ke_msg_id_t const msgid, struct mm_set_p2p_oppps_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_SET_P2P_OPPPS_REQ message handler.
static int mm_bfmer_enable_req_handler (ke_msg_id_t const msgid, struct mm_bfmer_enable_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_BFMER_ENABLE_REQ message handler.
static int mm_mu_group_update_req_handler (ke_msg_id_t const msgid, struct mm_mu_group_update_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_MU_GROUP_UPDATE_REQ message handler.
static int mm_cfg_rssi_req_handler (ke_msg_id_t const msgid, struct mm_cfg_rssi_req const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
 MM module MM_CFG_RSSI_REQ message handler.

Variables

struct ke_msg_handler mm_default_state []
 Message handlers in state DEFAULT.
struct ke_state_handler mm_state_handler [MM_STATE_MAX]
 Specifies the message handler structure for every input state of STA State Machine.
struct ke_state_handler mm_default_handler
 Specifies the message handlers that are common to all states.
ke_state_t mm_state [MM_IDX_MAX]
 Defines the placeholder for the states of all the task instances.
struct ke_state_handler mm_state_handler [MM_STATE_MAX]
 Specifies the message handler structure for every input state of STA State Machine.
struct ke_state_handler mm_default_handler
 Specifies the message handlers that are common to all states.
ke_state_t mm_state [MM_IDX_MAX]
 Defines the placeholder for the states of all the task instances.

Detailed Description

LMAC Management module task.


Enumeration Type Documentation

enum mm_msg_tag

List of messages related to the task.

Enumerator:
MM_RESET_REQ 

RESET Request.

MM_RESET_CFM 

RESET Confirmation.

MM_START_REQ 

START Request.

MM_START_CFM 

START Confirmation.

MM_VERSION_REQ 

Read Version Request.

MM_VERSION_CFM 

Read Version Confirmation.

MM_ADD_IF_REQ 

ADD INTERFACE Request.

MM_ADD_IF_CFM 

ADD INTERFACE Confirmation.

MM_REMOVE_IF_REQ 

REMOVE INTERFACE Request.

MM_REMOVE_IF_CFM 

REMOVE INTERFACE Confirmation.

MM_STA_ADD_REQ 

STA ADD Request.

MM_STA_ADD_CFM 

STA ADD Confirm.

MM_STA_DEL_REQ 

STA DEL Request.

MM_STA_DEL_CFM 

STA DEL Confirm.

MM_SET_FILTER_REQ 

RX FILTER Configuration Request.

MM_SET_FILTER_CFM 

RX FILTER Configuration Confirmation.

MM_SET_CHANNEL_REQ 

CHANNEL Configuration Request.

MM_SET_CHANNEL_CFM 

CHANNEL Configuration Confirmation.

MM_SET_DTIM_REQ 

DTIM PERIOD Configuration Request.

MM_SET_DTIM_CFM 

DTIM PERIOD Configuration Confirmation.

MM_SET_BEACON_INT_REQ 

BEACON INTERVAL Configuration Request.

MM_SET_BEACON_INT_CFM 

BEACON INTERVAL Configuration Confirmation.

MM_SET_BASIC_RATES_REQ 

BASIC RATES Configuration Request.

MM_SET_BASIC_RATES_CFM 

BASIC RATES Configuration Confirmation.

MM_SET_BSSID_REQ 

BSSID Configuration Request.

MM_SET_BSSID_CFM 

BSSID Configuration Confirmation.

MM_SET_EDCA_REQ 

EDCA PARAMETERS Configuration Request.

MM_SET_EDCA_CFM 

EDCA PARAMETERS Configuration Confirmation.

MM_SET_MODE_REQ 

ABGN MODE Configuration Request.

MM_SET_MODE_CFM 

ABGN MODE Configuration Confirmation.

MM_SET_VIF_STATE_REQ 

Request setting the VIF active state (i.e associated or AP started).

MM_SET_VIF_STATE_CFM 

Confirmation of the MM_SET_VIF_STATE_REQ message.

MM_SET_SLOTTIME_REQ 

SLOT TIME PARAMETERS Configuration Request.

MM_SET_SLOTTIME_CFM 

SLOT TIME PARAMETERS Configuration Confirmation.

MM_SET_IDLE_REQ 

IDLE mode change Request.

MM_SET_IDLE_CFM 

IDLE mode change Confirm.

MM_KEY_ADD_REQ 

KEY ADD Request.

MM_KEY_ADD_CFM 

KEY ADD Confirm.

MM_KEY_DEL_REQ 

KEY DEL Request.

MM_KEY_DEL_CFM 

KEY DEL Confirm.

MM_BA_ADD_REQ 

Block Ack agreement info addition.

MM_BA_ADD_CFM 

Block Ack agreement info addition confirmation.

MM_BA_DEL_REQ 

Block Ack agreement info deletion.

MM_BA_DEL_CFM 

Block Ack agreement info deletion confirmation.

MM_PRIMARY_TBTT_IND 

Indication of the primary TBTT to the upper MAC.

Upon the reception of this message the upper MAC has to push the beacon(s) to the beacon transmission queue.

MM_SECONDARY_TBTT_IND 

Indication of the secondary TBTT to the upper MAC.

Upon the reception of this message the upper MAC has to push the beacon(s) to the beacon transmission queue.

MM_SET_POWER_REQ 

Request for changing the TX power.

MM_SET_POWER_CFM 

Confirmation of the TX power change.

MM_DBG_TRIGGER_REQ 

Request to the LMAC to trigger the embedded logic analyzer and forward the debug dump.

MM_SET_PS_MODE_REQ 

Set Power Save mode.

MM_SET_PS_MODE_CFM 

Set Power Save mode confirmation.

MM_CHAN_CTXT_ADD_REQ 

Request to add a channel context.

MM_CHAN_CTXT_ADD_CFM 

Confirmation of the channel context addition.

MM_CHAN_CTXT_DEL_REQ 

Request to delete a channel context.

MM_CHAN_CTXT_DEL_CFM 

Confirmation of the channel context deletion.

MM_CHAN_CTXT_LINK_REQ 

Request to link a channel context to a VIF.

MM_CHAN_CTXT_LINK_CFM 

Confirmation of the channel context link.

MM_CHAN_CTXT_UNLINK_REQ 

Request to unlink a channel context from a VIF.

MM_CHAN_CTXT_UNLINK_CFM 

Confirmation of the channel context unlink.

MM_CHAN_CTXT_UPDATE_REQ 

Request to update a channel context.

MM_CHAN_CTXT_UPDATE_CFM 

Confirmation of the channel context update.

MM_CHAN_CTXT_SCHED_REQ 

Request to schedule a channel context.

MM_CHAN_CTXT_SCHED_CFM 

Confirmation of the channel context scheduling.

MM_BCN_CHANGE_REQ 

Request to change the beacon template in LMAC.

MM_BCN_CHANGE_CFM 

Confirmation of the beacon change.

MM_TIM_UPDATE_REQ 

Request to update the TIM in the beacon (i.e to indicate traffic bufferized at AP).

MM_TIM_UPDATE_CFM 

Confirmation of the TIM update.

MM_CONNECTION_LOSS_IND 

Connection loss indication.

MM_CHANNEL_SWITCH_IND 

Channel context switch indication to the upper layers.

MM_CHANNEL_PRE_SWITCH_IND 

Channel context pre-switch indication to the upper layers.

MM_REMAIN_ON_CHANNEL_REQ 

Request to remain on channel or cancel remain on channel.

MM_REMAIN_ON_CHANNEL_CFM 

Confirmation of the (cancel) remain on channel request.

MM_REMAIN_ON_CHANNEL_EXP_IND 

Remain on channel expired indication.

MM_PS_CHANGE_IND 

Indication of a PS state change of a peer device.

MM_TRAFFIC_REQ_IND 

Indication that some buffered traffic should be sent to the peer device.

MM_SET_PS_OPTIONS_REQ 

Request to modify the STA Power-save mode options.

MM_SET_PS_OPTIONS_CFM 

Confirmation of the PS options setting.

MM_P2P_VIF_PS_CHANGE_IND 

Indication of PS state change for a P2P VIF.

MM_CSA_COUNTER_IND 

Indication that CSA counter has been updated.

MM_CHANNEL_SURVEY_IND 

Message containing channel information.

MM_BFMER_ENABLE_REQ 

Message containing Beamformer information.

MM_SET_P2P_NOA_REQ 

Request to Start/Stop NOA - GO Only.

MM_SET_P2P_OPPPS_REQ 

Request to Start/Stop Opportunistic PS - GO Only.

MM_SET_P2P_NOA_CFM 

Start/Stop NOA Confirmation.

MM_SET_P2P_OPPPS_CFM 

Start/Stop Opportunistic PS Confirmation.

MM_P2P_NOA_UPD_IND 

P2P NoA Update Indication - GO Only.

MM_CFG_RSSI_REQ 

Request to set RSSI threshold and RSSI hysteresis.

MM_RSSI_STATUS_IND 

Indication that RSSI is below or above the threshold.

MM_CSA_FINISH_IND 

Indication that CSA is done.

MM_CSA_TRAFFIC_IND 

Indication that CSA is in prorgess (resp. done) and traffic must be stopped (resp. restarted).

MM_MU_GROUP_UPDATE_REQ 

Request to update the group information of a station.

MM_MU_GROUP_UPDATE_CFM 

Confirmation of the MM_MU_GROUP_UPDATE_REQ message.

MM_ANT_DIV_INIT_REQ 

Request to initialize the antenna diversity algorithm.

MM_ANT_DIV_STOP_REQ 

Request to stop the antenna diversity algorithm.

MM_ANT_DIV_UPDATE_REQ 

Request to update the antenna switch status.

MM_SWITCH_ANTENNA_REQ 

Request to switch the antenna connected to path_0.

MM_PKTLOSS_IND 

Indication that a packet loss has occurred.

MM_SET_MU_EDCA_REQ 

MU EDCA PARAMETERS Configuration Request.

MM_SET_MU_EDCA_CFM 

MU EDCA PARAMETERS Configuration Confirmation.

MM_SET_UORA_REQ 

UORA PARAMETERS Configuration Request.

MM_SET_UORA_CFM 

UORA PARAMETERS Configuration Confirmation.

MM_SET_TXOP_RTS_THRES_REQ 

TXOP RTS THRESHOLD Configuration Request.

MM_SET_TXOP_RTS_THRES_CFM 

TXOP RTS THRESHOLD Configuration Confirmation.

MM_SET_BSS_COLOR_REQ 

HE BSS Color Configuration Request.

MM_SET_BSS_COLOR_CFM 

HE BSS Color Configuration Confirmation.

MM_FORCE_IDLE_REQ 

Internal request to force the HW going to IDLE.

MM_SCAN_CHANNEL_START_IND 

Message indicating that the switch to the scan channel is done.

MM_SCAN_CHANNEL_END_IND 

Message indicating that the scan on the channel is finished.

MM_TBTT_MOVE_REQ 

Internal request to move the AP TBTT by an offset.

MM_MAX 

MAX number of messages.

Definition at line 72 of file mm_task.h.

Possible States of the MM STA Task.

Enumerator:
MM_IDLE 

MAC IDLE State.

MM_ACTIVE 

MAC ACTIVE State.

MM_GOING_TO_IDLE 

MAC is going to IDLE.

MM_HOST_BYPASSED 

IDLE state internally controlled.

MM_NO_IDLE 

IDLE state temporarily disallowed.

MM_STATE_MAX 

MAC Max Number of states.

Definition at line 46 of file mm_task.h.


Function Documentation

static int mm_add_if_req_handler ( ke_msg_id_t const   msgid,
struct mm_add_if_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_ADD_IF_REQ message handler.

Sent by host.
It creates a new interface.

Message MM_ADD_IF_CFM is sent when completed.

Note:
: Message MM_ADD_IF_REQ is "delayed" by function mm_hw_config_handler until HW is in IDLE state.
Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1191 of file mm_task.c.

References mm_add_if_req::addr, mm_add_if_cfm::inst_nbr, KE_MSG_ALLOC, KE_MSG_CONSUMED, ke_msg_send(), MM_ADD_IF_CFM, mm_add_if_req::p2p, mm_add_if_cfm::status, mm_add_if_req::type, and vif_mgmt_register().

Referenced by mm_hw_config_handler().

static int mm_ant_div_init_req_handler ( ke_msg_id_t const   msgid,
struct mm_ant_div_init_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_ANT_DIV_INIT_REQ message handler.

Sent by UMAC.
It initializes the antenna diversity algorithm.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 2081 of file mm_task.c.

References mm_ant_div_init_req::enable, KE_MSG_CONSUMED, and mm_ant_div_init().

static int mm_ant_div_stop_req_handler ( ke_msg_id_t const   msgid,
void const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_ANT_DIV_STOP_REQ message handler.

Sent by UMAC.
It stops the antenna diversity algorithm.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 2108 of file mm_task.c.

References KE_MSG_CONSUMED, and mm_ant_div_switch_and_stop().

static int mm_ant_div_update_req_handler ( ke_msg_id_t const   msgid,
void const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_ANT_DIV_UPDATE_REQ message handler.

Sent by UMAC.
It updates the antenna diversity parameters.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 2136 of file mm_task.c.

References KE_MSG_CONSUMED, and mm_ant_div_update().

static int mm_ba_add_req_handler ( ke_msg_id_t const   msgid,
struct mm_ba_add_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_BA_ADD_REQ message handler.

Sent by UMAC.
It registers the received BA agreement details (tid, ssn, buffer size) for the appropriate STA.

Message MM_BA_ADD_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1570 of file mm_task.c.

References BA_AGMT_ALREADY_EXISTS, BA_AGMT_ESTABLISHED, BA_AGMT_NO_MORE_BA_AGMT, BA_AGMT_NOT_SUPPORTED, BA_AGMT_TX, mm_ba_add_req::bufsz, KE_MSG_ALLOC, KE_MSG_CONSUMED, ke_msg_send(), mac_tid2ac, MM_BA_ADD_CFM, mm_ba_agmt_tx_exists(), nx_txdesc_cnt, rxu_cntrl_reord_create(), mm_ba_add_req::ssn, mm_ba_add_cfm::sta_idx, mm_ba_add_req::sta_idx, sta_info_tab, sta_mgmt_set_tx_buff_size(), sta_mgmt_set_tx_ssn(), mm_ba_add_cfm::status, mm_key_add_cfm::status, mm_ba_add_cfm::tid, mm_ba_add_req::tid, and mm_ba_add_req::type.

Referenced by mm_hw_config_handler().

static int mm_ba_del_req_handler ( ke_msg_id_t const   msgid,
struct mm_ba_del_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_BA_DEL_REQ message handler.

Sent by UMAC.
It unregisters the BA agreement information from the STA info table.

Message MM_BA_DEL_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1664 of file mm_task.c.

References BA_AGMT_DELETED, BA_AGMT_DOESNT_EXIST, BA_AGMT_NOT_SUPPORTED, BA_AGMT_TX, KE_MSG_ALLOC, KE_MSG_CONSUMED, ke_msg_send(), mm_ba_agmt_rx_exists(), mm_ba_agmt_tx_exists(), MM_BA_DEL_CFM, rxu_cntrl_reord_delete(), mm_ba_del_cfm::sta_idx, mm_ba_del_req::sta_idx, sta_info_tab, sta_mgmt_set_tx_buff_size(), sta_mgmt_set_tx_ssn(), mm_ba_del_cfm::status, mm_ba_add_cfm::status, mm_ba_del_cfm::tid, mm_ba_del_req::tid, and mm_ba_del_req::type.

static int mm_bcn_change_req_handler ( ke_msg_id_t const   msgid,
struct mm_bcn_change_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_BCN_CHANGE_REQ message handler.

Sent by UMAC or MESH modules.
It updates (or set) content of the beacon frame for one interface

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 2025 of file mm_task.c.

References KE_MSG_NO_FREE, and mm_bcn_change().

static int mm_bfmer_enable_req_handler ( ke_msg_id_t const   msgid,
struct mm_bfmer_enable_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_BFMER_ENABLE_REQ message handler.

Sent by Host.
It enables beamformed transmission with a specifc STA.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 2507 of file mm_task.c.

References mm_bfmer_enable_req::aid, bfr_add_sta_ind(), bfr_is_enabled(), mm_bfmer_enable_req::host_bfr_addr, mm_bfmer_enable_req::host_bfr_size, INVALID_STA_IDX, KE_MSG_CONSUMED, mm_bfmer_enable_req::rx_nss, mm_bfmer_enable_req::sta_idx, sta_info_tab, sta_info_tag::staid, and mm_bfmer_enable_req::vht_mu_bfmee.

static int mm_cfg_rssi_req_handler ( ke_msg_id_t const   msgid,
struct mm_cfg_rssi_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_CFG_RSSI_REQ message handler.

Sent by Host.
It configures connection quality monitor RSSI threshold.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 2565 of file mm_task.c.

References ASSERT_ERR, KE_MSG_CONSUMED, mm_cfg_rssi_req::rssi_hyst, mm_cfg_rssi_req::rssi_thold, vif_info_tag::sta, vif_info_tag::type, vif_info_tag::u, mm_cfg_rssi_req::vif_index, vif_info_tab, and VIF_STA.

static int mm_chan_ctxt_unlink_req_handler ( ke_msg_id_t const   msgid,
struct mm_chan_ctxt_unlink_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_CHAN_CTXT_UNLINK_REQ message handler.

Sent by Host.
It unlinks a vif from a channel context.

Message MM_CHAN_CTXT_UNLINK_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1914 of file mm_task.c.

References chan_ctxt_unlink(), KE_MSG_CONSUMED, ke_msg_send_basic(), MM_CHAN_CTXT_UNLINK_CFM, and mm_chan_ctxt_unlink_req::vif_index.

static int mm_chan_ctxt_update_req_handler ( ke_msg_id_t const   msgid,
struct mm_chan_ctxt_update_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_CHAN_CTXT_UPDATE_REQ message handler.

Sent by UMAC.
It updates the channel configuration contained in a channel context.

Message MM_CHAN_CTXT_UPDATE_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1946 of file mm_task.c.

References chan_ctxt_update(), KE_MSG_CONSUMED, ke_msg_send_basic(), and MM_CHAN_CTXT_UPDATE_CFM.

Referenced by mm_hw_config_handler().

static int mm_dbg_trigger_req_handler ( ke_msg_id_t const   msgid,
struct mm_dbg_trigger_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_DBG_TRIGGER_REQ message handler.

Sent by Host.
It forces firmware to upload debug dump.

Note:
: Message MM_DBG_TRIGGER_REQ is "delayed" by function mm_hw_config_handler until HW is in IDLE state.
Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1159 of file mm_task.c.

References dbg_force_trigger(), mm_dbg_trigger_req::error, and KE_MSG_CONSUMED.

Referenced by mm_hw_config_handler().

static int mm_force_idle_req_handler ( ke_msg_id_t const   msgid,
struct mm_force_idle_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_FORCE_IDLE_REQ message handler.

Sent by P2P or CHAN modules.
It requests the MM task to set MACHW in idle state and to execute callback provided in message parameters once IDLE state is reached.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1350 of file mm_task.c.

References ASSERT_ERR, mm_force_idle_req::cb, hal_machw_idle_req(), HW_IDLE, KE_MSG_CONSUMED, KE_MSG_SAVED, ke_state_get(), ke_state_set(), MM_GOING_TO_IDLE, MM_HOST_BYPASSED, MM_IDLE, and MM_NO_IDLE.

static int mm_hw_config_handler ( ke_msg_id_t const   msgid,
void const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

Postpones message processing until HW reach IDLE state.

It is used as handler for the following messages: MM_SET_CHANNEL_REQ, MM_SET_FILTER_REQ, MM_ADD_IF_REQ, MM_REMOVE_IF_REQ, MM_SET_BASIC_RATES_REQ, MM_SET_BEACON_INT_REQ, MM_SET_DTIM_REQ, MM_SET_BSSID_REQ, MM_SET_EDCA_REQ, MM_SET_SLOTTIME_REQ, MM_SET_MODE_REQ, MM_SET_VIF_STATE_REQ, MM_BA_ADD_REQ, MM_CHAN_CTXT_UPDATE_REQ, MM_DBG_TRIGGER_REQ, MM_SWITCH_ANTENNA_REQ,

When the message is received,

  • If HW is already in IDLE state then the corresponding handler function is executed immediately.
  • Otherwise, it will first move HW to IDLE state and call handler function when IDLE state is reached.
Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 2202 of file mm_task.c.

References ASSERT_ERR, hal_machw_idle_req(), HW_IDLE, KE_MSG_SAVED, ke_state_get(), ke_state_set(), MM_ADD_IF_REQ, mm_add_if_req_handler(), MM_BA_ADD_REQ, mm_ba_add_req_handler(), MM_CHAN_CTXT_UPDATE_REQ, mm_chan_ctxt_update_req_handler(), MM_DBG_TRIGGER_REQ, mm_dbg_trigger_req_handler(), mm_env, MM_GOING_TO_IDLE, MM_HOST_BYPASSED, MM_IDLE, MM_NO_IDLE, MM_REMOVE_IF_REQ, mm_remove_if_req_handler(), MM_SET_BASIC_RATES_REQ, mm_set_basic_rates_req_handler(), MM_SET_BEACON_INT_REQ, mm_set_beacon_int_req_handler(), MM_SET_BSSID_REQ, mm_set_bssid_req_handler(), MM_SET_CHANNEL_REQ, mm_set_channel_req_handler(), MM_SET_DTIM_REQ, mm_set_dtim_req_handler(), MM_SET_FILTER_REQ, mm_set_filter_req_handler(), MM_SET_MODE_REQ, mm_set_mode_req_handler(), MM_SET_SLOTTIME_REQ, mm_set_slottime_req_handler(), MM_SET_VIF_STATE_REQ, mm_set_vif_state_req_handler(), MM_SWITCH_ANTENNA_REQ, mm_switch_antenna_req_handler(), MM_TBTT_MOVE_REQ, mm_tbtt_move_req_handler(), mm_env_tag::prev_hw_state, mm_env_tag::prev_mm_state, and mm_remain_on_channel_cfm::status.

static int mm_key_add_req_handler ( ke_msg_id_t const   msgid,
struct mm_key_add_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_KEY_ADD_REQ message handler.

Sent by Host.
It adds a key used for encryption in the hardware.

Message MM_KEY_ADD_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1477 of file mm_task.c.

References ASSERT_ERR, mm_key_add_req::cipher_suite, CO_OK, mm_key_add_cfm::hw_key_idx, KE_MSG_ALLOC, KE_MSG_CONSUMED, ke_msg_send(), mm_key_add_req::key, mm_key_add_req::key_idx, mac_sec_key::length, MAC_CIPHER_BIP_CMAC_128, MAC_DEFAULT_KEY_COUNT, MAC_DEFAULT_MFP_KEY_COUNT, MAC_SEC_KEY_LEN, MM_KEY_ADD_CFM, mm_sec_machwkey_wr(), and mm_key_add_cfm::status.

static int mm_key_del_req_handler ( ke_msg_id_t const   msgid,
struct mm_key_del_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_KEY_DEL_REQ message handler.

Sent by Host.
It removes an encryption key from the hardware.

Message MM_KEY_DEL_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1530 of file mm_task.c.

References ASSERT_ERR, mm_key_del_req::hw_key_idx, KE_MSG_CONSUMED, ke_msg_send_basic(), MM_KEY_DEL_CFM, mm_sec_machwkey_del(), MM_SEC_MAX_KEY_NBR, and MM_SEC_MAX_MFP_KEY_NBR.

static int mm_mu_group_update_req_handler ( ke_msg_id_t const   msgid,
struct mm_mu_group_update_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_MU_GROUP_UPDATE_REQ message handler.

Sent by Host.
It updates the list of MU groups.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 2538 of file mm_task.c.

References bfr_group_update_req(), and KE_MSG_NO_FREE.

static int mm_remain_on_channel_req_handler ( ke_msg_id_t const   msgid,
struct mm_remain_on_channel_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_REMAIN_ON_CHANNEL_REQ message handler.

Sent by UMAC, CHAN and TDLS modules.
It starts a "Remain On Channel" procedure.

Message MM_REMAIN_ON_CHANNEL_CFM is sent when completed (except if the requester task is MM or TDLS).

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1979 of file mm_task.c.

References mm_remain_on_channel_cfm::chan_ctxt_index, CHAN_ROC_CTXT_IDX, chan_roc_req(), KE_MSG_ALLOC, KE_MSG_CONSUMED, ke_msg_send(), MM_REMAIN_ON_CHANNEL_CFM, mm_remain_on_channel_req::op_code, mm_remain_on_channel_cfm::op_code, mm_remain_on_channel_cfm::status, mm_chan_ctxt_add_cfm::status, TASK_MM, and TASK_TDLS.

static int mm_remove_if_req_handler ( ke_msg_id_t const   msgid,
struct mm_remove_if_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_REMOVE_IF_REQ message handler.

Sent by host.
It deletes a existing interface.

Message MM_REMOVE_IF_CFM is sent when completed.

Note:
: Message MM_REMOVE_IF_REQ is "delayed" by function mm_hw_config_handler until HW is in IDLE state.
Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1231 of file mm_task.c.

References co_list_is_empty(), hal_machw_monitor_mode(), mm_remove_if_req::inst_nbr, KE_MSG_CONSUMED, ke_msg_send_basic(), MM_REMOVE_IF_CFM, NX_VIRT_DEV_MAX, vif_mgmt_env_tag::used_list, vif_mgmt_env, and vif_mgmt_unregister().

Referenced by mm_hw_config_handler().

static int mm_reset_req_handler ( ke_msg_id_t const   msgid,
void const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_RESET_REQ message handler.

Sent by host.
It

  • Resets all data structure and variables
  • Programs MAC HW register for Reset
  • Initializes all other contexts and modules.

After RESET procedure is completed it sends the MM_RESET_CFM message.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 235 of file mm_task.c.

References GLOBAL_INT_DISABLE, GLOBAL_INT_RESTORE, hal_machw_stop(), KE_MSG_CONSUMED, ke_msg_send_basic(), ke_state_set(), ke_timer_reset(), me_init(), MM_IDLE, mm_init(), MM_RESET_CFM, phy_stop(), and TASK_MM.

static int mm_set_basic_rates_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_basic_rates_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_BASIC_RATES_REQ message handler.

Sent by UAMC.
It configures the basic rates allowed in the dedicated HW registers.

Message MM_SET_BASIC_RATES_CFM is sent when completed.

Note:
: Message MM_SET_BASIC_RATES_REQ is "delayed" by function mm_hw_config_handler until HW is in IDLE state.
Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 557 of file mm_task.c.

References mac_chan_op::band, mm_set_basic_rates_req::band, mm_env_tag::basic_rates, chan_env, chan_ctxt_tag::channel, chan_env_tag::current_ctxt, KE_MSG_CONSUMED, ke_msg_send_basic(), mm_env, MM_SET_BASIC_RATES_CFM, and mm_set_basic_rates_req::rates.

Referenced by mm_hw_config_handler().

static int mm_set_beacon_int_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_beacon_int_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_BEACON_INT_REQ message handler.

Sent by UMAC.
It configures the beacon period in the dedicated HW registers.

Message MM_SET_BEACON_INT_CFM is sent when completed.

Note:
: Message MM_SET_BEACON_INT_REQ is "delayed" by function mm_hw_config_handler until HW is in IDLE state.
Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 495 of file mm_task.c.

References sta_info_tag::bcn_int, mm_set_beacon_int_req::beacon_int, mm_set_beacon_int_req::inst_nbr, INVALID_STA_IDX, KE_MSG_CONSUMED, ke_msg_send_basic(), MM_SET_BEACON_INT_CFM, vif_info_tag::sta, sta_info_tab, TU_DURATION, vif_info_tag::type, vif_info_tag::u, vif_info_tab, vif_mgmt_set_ap_bcn_int(), and VIF_STA.

Referenced by mm_hw_config_handler().

static int mm_set_bss_color_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_bss_color_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_BSS_COLOR_REQ message handler.

Sent by UMAC.
It configures the BSS color register of the MAC HW.

Message MM_SET_BSS_COLOR_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 829 of file mm_task.c.

References mm_set_bss_color_req::bss_color, KE_MSG_CONSUMED, ke_msg_send_basic(), and MM_SET_BSS_COLOR_CFM.

static int mm_set_bssid_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_bssid_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_BSSID_REQ message handler.

Sent by UMAC.
It configures the BSSID in the dedicated HW registers.

Message MM_SET_BSSID_CFM is sent when completed.

Note:
: Message MM_SET_BSSID_REQ is "delayed" by function mm_hw_config_handler until HW is in IDLE state.
Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 640 of file mm_task.c.

References mac_addr::array, mm_set_bssid_req::bssid, vif_info_tag::bssid, mm_set_bssid_req::inst_nbr, KE_MSG_CONSUMED, ke_msg_send_basic(), MM_SET_BSSID_CFM, vif_info_tab, and vif_mgmt_used_cnt().

Referenced by mm_hw_config_handler().

static int mm_set_channel_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_channel_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_CHANNEL_REQ message handler.

Send by host.
It configures the channel used at PHY level.
If Channel context is used (NX_CHNL_CTXT), this function can only be used on secondary channel.

Message MM_SET_CHANNEL_CFM is sent when completed.

Note:
: Message MM_SET_CHANNEL_REQ is "delayed" by function mm_hw_config_handler until HW is in IDLE state.
Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 412 of file mm_task.c.

References mm_set_channel_req::chan, mm_set_channel_req::index, KE_MSG_ALLOC, KE_MSG_CONSUMED, ke_msg_send(), MM_SET_CHANNEL_CFM, PHY_PRIM, phy_set_channel(), PROF_MM_SET_CHANNEL_CLR, and PROF_MM_SET_CHANNEL_SET.

Referenced by mm_hw_config_handler().

static int mm_set_dtim_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_dtim_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_DTIM_REQ message handler.

Sent by host.
It configures the dtim period in the dedicated HW registers.

Message MM_SET_DTIM_CFM is sent when completed.

Note:
: Message MM_SET_DTIM_REQ is "delayed" by function mm_hw_config_handler until HW is in IDLE state.
Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 459 of file mm_task.c.

References mm_set_dtim_req::dtim_period, KE_MSG_CONSUMED, ke_msg_send_basic(), and MM_SET_DTIM_CFM.

Referenced by mm_hw_config_handler().

static int mm_set_edca_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_edca_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_EDCA_REQ message handler.

Sent by UMAC.
It configures the EDCA parameters in the dedicated HW registers.

Message MM_SET_EDCA_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 696 of file mm_task.c.

References AC_BE, AC_BK, mm_set_edca_req::ac_param, AC_VI, vif_info_tag::active, mm_set_edca_req::hw_queue, mm_set_edca_req::inst_nbr, KE_MSG_CONSUMED, ke_msg_send_basic(), mm_env_max_ampdu_duration_set(), MM_SET_EDCA_CFM, ps_uapsd_set(), vif_info_tag::txq_params, vif_info_tag::type, mm_set_edca_req::uapsd, vif_info_tab, and VIF_STA.

static int mm_set_filter_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_filter_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_FILTER_REQ message handler.

Sent by host.
It configures the RX filter in the dedicated HW registers.

Message MM_SET_FILTER_CFM is sent when completed.

Note:
: Message MM_SET_FILTER_REQ is "delayed" by function mm_hw_config_handler until HW is in IDLE state.
Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 605 of file mm_task.c.

References mm_set_filter_req::filter, KE_MSG_CONSUMED, ke_msg_send_basic(), mm_rx_filter_umac_set(), and MM_SET_FILTER_CFM.

Referenced by mm_hw_config_handler().

static int mm_set_idle_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_idle_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_IDLE_REQ message handler.

Sent by Host or ME task.
Request MM task to set MACHW in idle state.

Message MM_SET_IDLE_CFM is sent when IDLE set is reached.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1270 of file mm_task.c.

References ASSERT_ERR, hal_machw_idle_req(), mm_env_tag::host_idle, HW_IDLE, mm_set_idle_req::hw_idle, KE_MSG_CONSUMED, KE_MSG_SAVED, ke_msg_send_basic(), ke_state_get(), ke_state_set(), mm_active(), mm_env, MM_GOING_TO_IDLE, MM_HOST_BYPASSED, MM_IDLE, MM_NO_IDLE, MM_SET_IDLE_CFM, mm_env_tag::prev_hw_state, and mm_env_tag::prev_mm_state.

static int mm_set_mode_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_mode_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_MODE_REQ message handler.

Sent by Host.
It configures the 802.11 mode in the dedicated HW registers.

Message MM_SET_MODE_CFM is sent when completed.

Note:
: Message MM_SET_MODE_REQ is "delayed" by function mm_hw_config_handler until HW is in IDLE state.
Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 941 of file mm_task.c.

References mm_set_mode_req::abgnmode, KE_MSG_CONSUMED, ke_msg_send_basic(), and MM_SET_MODE_CFM.

Referenced by mm_hw_config_handler().

static int mm_set_mu_edca_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_mu_edca_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_MU_EDCA_REQ message handler.

Sent by UMAC.
It configures the MU EDCA parameters to the TX HE module.

Message MM_SET_MU_EDCA_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 762 of file mm_task.c.

References KE_MSG_CONSUMED, ke_msg_send_basic(), and MM_SET_MU_EDCA_CFM.

static int mm_set_p2p_noa_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_p2p_noa_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_P2P_NOA_REQ message handler.

Sent by Host.
It configures Notice of Absence on a P2P GO interface.

Message MM_SET_P2P_NOA_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 2392 of file mm_task.c.

References vif_info_tag::ap, CO_FAIL, CO_OK, mm_set_p2p_noa_req::count, mm_set_p2p_noa_req::duration_us, mm_set_p2p_noa_req::dyn_noa, mm_set_p2p_noa_req::interval_us, KE_MSG_ALLOC, KE_MSG_CONSUMED, ke_msg_send(), ke_time(), MM_SET_P2P_NOA_CFM, mm_set_p2p_noa_req::noa_inst_nb, NX_VIRT_DEV_MAX, vif_info_tag::p2p, p2p_go_noa_start(), p2p_go_noa_stop(), P2P_INVALID_IDX, mm_set_p2p_noa_req::start_offset, mm_set_p2p_noa_cfm::status, TASK_MM, vif_info_tag::u, mm_set_p2p_noa_req::vif_index, and vif_info_tab.

static int mm_set_p2p_oppps_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_p2p_oppps_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_P2P_OPPPS_REQ message handler.

Sent by host.
It configures P2P Opportunistic Power Save on a P2P GO interface.

Message MM_SET_P2P_OPPPS_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 2457 of file mm_task.c.

References CO_FAIL, CO_OK, mm_set_p2p_oppps_req::ctwindow, KE_MSG_ALLOC, KE_MSG_CONSUMED, ke_msg_send(), MM_SET_P2P_OPPPS_CFM, NX_VIRT_DEV_MAX, vif_info_tag::p2p, p2p_go_oppps_start(), p2p_go_oppps_stop(), mm_set_p2p_oppps_cfm::status, TASK_MM, mm_set_p2p_oppps_req::vif_index, and vif_info_tab.

static int mm_set_power_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_power_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_POWER_REQ message handler.

Sent by host.
It configures the tx power to use on a vif. If power asked is outside of what is allowed by regulatory set power to maxumum allowed value.

Message MM_SET_POWER_CFM is sent when completed with the actual power configured.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1113 of file mm_task.c.

References vif_info_tag::index, mm_set_power_req::inst_nbr, KE_MSG_ALLOC, KE_MSG_CONSUMED, ke_msg_send(), MM_SET_POWER_CFM, mm_set_power_cfm::power, mm_set_power_req::power, mm_set_power_cfm::radio_idx, tpc_get_vif_tx_power(), tpc_set_vif_tx_power(), tpc_update_vif_tx_power(), TRACE_LMAC, vif_info_tag::tx_power, vif_info_tag::user_tx_power, and vif_info_tab.

static int mm_set_ps_mode_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_ps_mode_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_PS_MODE_REQ message handler.

Sent by UMAC.
It indicates LMAC whether PowerSave should be enabled or disabled.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 2326 of file mm_task.c.

References KE_MSG_CONSUMED, mm_set_ps_mode_req::new_state, and ps_set_mode().

static int mm_set_ps_options_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_ps_options_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_PS_OPTIONS_REQ message handler.

Sent by UMAC or SM module.
It configures the power save mode for STATION interfaces.

Message MM_SET_PS_OPTIONS_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 2354 of file mm_task.c.

References ASSERT_ERR, mm_set_ps_options_req::dont_listen_bc_mc, KE_MSG_CONSUMED, ke_msg_send_basic(), mm_set_ps_options_req::listen_interval, MM_SET_PS_OPTIONS_CFM, vif_info_tag::sta, vif_info_tag::type, vif_info_tag::u, mm_set_ps_options_req::vif_index, vif_info_tab, and VIF_STA.

static int mm_set_slottime_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_slottime_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_SLOTTIME_REQ message handler.

Sent by Host.
It configures the slot time in the dedicated HW registers.

Message MM_SET_SLOTTIME_CFM is sent when completed.

Note:
: Message MM_SET_SLOTTIME_REQ is "delayed" by function mm_hw_config_handler until HW is in IDLE state.
Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 901 of file mm_task.c.

References KE_MSG_CONSUMED, ke_msg_send_basic(), MM_SET_SLOTTIME_CFM, and mm_set_slottime_req::slottime.

Referenced by mm_hw_config_handler().

static int mm_set_txop_rts_thres_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_txop_rts_thres_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_TXOP_RTS_THRES_REQ message handler.

Sent by UMAC.
It configures the TXOP duration RTS threshold to the indicated VIF.

Message MM_SET_TXOP_RTS_THRES_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 863 of file mm_task.c.

References mm_set_txop_rts_thres_req::inst_nbr, KE_MSG_CONSUMED, ke_msg_send_basic(), MM_SET_TXOP_RTS_THRES_CFM, mm_set_txop_rts_thres_req::txop_dur_rts_thres, and vif_info_tab.

static int mm_set_uora_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_uora_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_UORA_REQ message handler.

Sent by UMAC.
It configures the UORA parameters to the TX HE module.

Message MM_SET_UORA_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 796 of file mm_task.c.

References KE_MSG_CONSUMED, ke_msg_send_basic(), and MM_SET_UORA_CFM.

static int mm_set_vif_state_req_handler ( ke_msg_id_t const   msgid,
struct mm_set_vif_state_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SET_VIF_STATE_REQ message handler.

Sent by UMAC or MESH module.
It changes state of the the specified interface. When STA interface become active it also start beacon/connection monitoring.

Message MM_SET_VIF_STATE_CFM is sent when completed.

Note:
: Message MM_SET_VIF_STATE_REQ is "delayed" by function mm_hw_config_handler until HW is in IDLE state.
Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 977 of file mm_task.c.

References AC_BE, AC_BK, AC_VI, AC_VO, mm_set_vif_state_req::active, vif_info_tag::active, mm_set_vif_state_req::aid, sta_info_tag::aid, sta_info_tag::bcn_int, chan_bcn_detect_start(), sta_info_tag::drift, hal_machw_he_support(), mm_set_vif_state_req::inst_nbr, KE_MSG_CONSUMED, ke_msg_send_basic(), ke_time(), mm_env_tag::lp_clk_accuracy, mm_ant_div_restore(), MM_AP_CLK_ACCURACY, mm_env, mm_env_max_ampdu_duration_set(), MM_SET_VIF_STATE_CFM, mm_timer_clear(), mm_timer_set(), p2p_set_vif_state(), phy_set_aid(), vif_info_tag::prevent_sleep, PS_VIF_WAITING_BCN, vif_info_tag::sta, sta_info_tab, vif_info_tag::tbtt_timer, vif_info_tag::txq_params, vif_info_tag::type, vif_info_tag::u, vif_info_tab, vif_mgmt_set_bssid_mask(), and VIF_STA.

Referenced by mm_hw_config_handler().

static int mm_sta_add_req_handler ( ke_msg_id_t const   msgid,
struct mm_sta_add_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_STA_ADD_REQ message handler.

Sent from UMAC or MESH modules.
It allocates and initializes a STA entry from the free_sta_list in sta_info_env.

Message MM_STA_ADD_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1411 of file mm_task.c.

References mm_sta_add_cfm::hw_sta_idx, KE_MSG_ALLOC, KE_MSG_CONSUMED, ke_msg_send(), mm_sta_add(), MM_STA_ADD_CFM, mm_sta_add_cfm::sta_idx, and mm_sta_add_cfm::status.

static int mm_sta_del_req_handler ( ke_msg_id_t const   msgid,
struct mm_sta_del_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_STA_DEL_REQ message handler.

Sent from UMAC or MESH modules.
It removes a STA entry.

Message MM_STA_DEL_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1446 of file mm_task.c.

References KE_MSG_CONSUMED, ke_msg_send_basic(), mm_sta_del(), MM_STA_DEL_CFM, and mm_sta_del_req::sta_idx.

static int mm_start_req_handler ( ke_msg_id_t const   msgid,
struct mm_start_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_START_REQ message handler.

Sent by host.
It starts the PHY and MACHW.

Message MM_START_CFM is sent when completed.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Save local LP clock accuracy (in ppm)

Definition at line 295 of file mm_task.c.

References ASSERT_ERR, mac_chan_op::band, mac_chan_op::center1_freq, mac_chan_op::center2_freq, mac_chan_op::flags, hal_machw_idle_req(), KE_MSG_CONSUMED, ke_msg_send_basic(), ke_state_get(), ke_state_set(), MILLI2MICRO, mm_active(), MM_DEFAULT_TX_POWER, MM_GOING_TO_IDLE, MM_IDLE, MM_START_CFM, PHY_BAND_2G4, mm_start_req::phy_cfg, PHY_CHNL_BW_20, phy_init(), PHY_PRIM, phy_set_channel(), mac_chan_op::prim20_freq, ps_env, tpc_update_tx_power(), mac_chan_op::type, mm_start_req::uapsd_timeout, and ps_env_tag::uapsd_timeout.

static int mm_switch_antenna_req_handler ( ke_msg_id_t const   msgid,
void const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_SWITCH_ANTENNA_REQ message handler.

Sent by UMAC or MM task.
It switches the antenna connected to path_0.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 2163 of file mm_task.c.

References KE_MSG_CONSUMED, and mm_ant_div_switch_antenna().

Referenced by mm_hw_config_handler().

static int mm_tbtt_move_req_handler ( ke_msg_id_t const   msgid,
struct mm_tbtt_move_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_TBTT_MOVE_REQ message handler.

It calls the MAC HW API that moves the TSF.

Note:
: Message MM_TBTT_MOVE_REQ is "delayed" by function mm_hw_config_handler until HW is in IDLE state.
Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 1743 of file mm_task.c.

References hal_machw_tsf_move(), KE_MSG_CONSUMED, mm_ap_tbtt_move(), mm_env, mm_tbtt_move_req::offset, and mm_env_tag::tbtt_move_ongoing.

Referenced by mm_hw_config_handler().

static int mm_tim_update_req_handler ( ke_msg_id_t const   msgid,
struct mm_tim_update_req const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_TIM_UPDATE_REQ message handler.

Sent by UMAC.
It provides information to update the TIM IE in the beacon frame.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 2052 of file mm_task.c.

References KE_MSG_NO_FREE, and mm_tim_update().

static int mm_version_req_handler ( ke_msg_id_t const   msgid,
void const *  param,
ke_task_id_t const   dest_id,
ke_task_id_t const   src_id 
) [static]

MM module MM_VERSION_REQ message handler.

Sent by host.
It reads the FW and HW versions and reports them to the requester in a MM_VERSION_CFM message.

Parameters:
[in] msgid Id of the message received.
[in] param Pointer to the parameters of the message.
[in] dest_id TaskId of the receiving task.
[in] src_id TaskId of the sending task.
Returns:
Whether the message was consumed or not.

Definition at line 80 of file mm_task.c.

References CO_BIT, mm_version_cfm::features, hal_machw_bfmee_support(), hal_machw_he_support(), hal_machw_mu_mimo_rx_support(), KE_MSG_ALLOC, KE_MSG_CONSUMED, ke_msg_send(), mm_version_cfm::max_sta_nb, mm_version_cfm::max_vif_nb, MM_AMSDU_MAX_SIZE_BIT0, MM_FEAT_AMPDU_BIT, MM_FEAT_AMSDU_BIT, MM_FEAT_ANT_DIV_BIT, MM_FEAT_AUTOBCN_BIT, MM_FEAT_BCN_BIT, MM_FEAT_BFMEE_BIT, MM_FEAT_BFMER_BIT, MM_FEAT_CHNL_CTXT_BIT, MM_FEAT_CMON_BIT, MM_FEAT_DPSM_BIT, MM_FEAT_HE_BIT, MM_FEAT_HWSCAN_BIT, MM_FEAT_MESH_BIT, MM_FEAT_MFP_BIT, MM_FEAT_MON_DATA_BIT, MM_FEAT_MROLE_BIT, MM_FEAT_MU_MIMO_RX_BIT, MM_FEAT_MU_MIMO_TX_BIT, MM_FEAT_P2P_BIT, MM_FEAT_P2P_GO_BIT, MM_FEAT_PS_BIT, MM_FEAT_RADAR_BIT, MM_FEAT_REORD_BIT, MM_FEAT_TDLS_BIT, MM_FEAT_UAPSD_BIT, MM_FEAT_UF_BIT, MM_FEAT_UMAC_BIT, MM_FEAT_VHT_BIT, MM_FEAT_WAPI_BIT, MM_VERSION_CFM, NX_REMOTE_STA_MAX, NX_VERSION, NX_VIRT_DEV_MAX, phy_get_version(), phy_uf_supported(), phy_vht_supported(), mm_version_cfm::version_lmac, mm_version_cfm::version_machw_1, mm_version_cfm::version_machw_2, mm_version_cfm::version_phy_1, and mm_version_cfm::version_phy_2.


Variable Documentation

Initial value:

Specifies the message handlers that are common to all states.

Definition at line 2728 of file mm_task.c.

struct ke_state_handler mm_state_handler[MM_STATE_MAX]
Initial value:

Specifies the message handler structure for every input state of STA State Machine.

Definition at line 2719 of file mm_task.c.


Generated on 14 Jan 2020 for Ceva-RW WLAN FullMAC SW documentation by  doxygen 1.6.1