Power-Save mode implementation. More...
#include "ps.h"#include "mac_ie.h"#include "sta_mgmt.h"#include "vif_mgmt.h"#include "mm.h"#include "co_utils.h"#include "co_status.h"#include "dbg.h"#include "txl_frame.h"#include "phy.h"#include "tpc.h"#include "td.h"Go to the source code of this file.
Defines | |
| #define | PS_TX_ERROR_MAX (3) |
| Maximum number of TX attempts for a NULL frame indicating PS mode change. | |
Functions | |
| static uint8_t | ps_send_pspoll (struct vif_info_tag *vif) |
| Sends PS Poll frame to peer AP. | |
| static bool | ps_check_tx_status (struct vif_info_tag *vif, uint32_t status, cfm_func_ptr cfm) |
| Checks if NULL frame indicating a PS mode change has been acknowledged by the peer AP. | |
| static void | ps_enable_cfm (void *env, uint32_t status) |
| Callback associated to frame sent to inform that interface will enter PS. | |
| static void | ps_disable_cfm (void *env, uint32_t status) |
| Callback associated to frame sent to inform that interface left PS. | |
| static void | ps_dpsm_update (bool pause) |
| Updates Dynamic Power Save mode status. | |
| static void | ps_uapsd_timer_handle (void *env) |
| Callback function for UAPSD timer. | |
| void | ps_init (void) |
| Initialize all the entries of the station table. | |
| void | ps_set_mode (uint8_t mode, ke_task_id_t taskid) |
| Set the Power-save mode as requested by the upper layers. | |
| bool | ps_check_tim (uint32_t a_tim, uint16_t aid) |
| Check if TIM Information Element received from either an AP or a peer Mesh STA if buffered frame targeting us are announced. | |
| void | ps_check_beacon (uint32_t tim, uint16_t len, struct vif_info_tag *vif) |
| Checks the TIM IE in the beacon to know if the station has to wait for individually or group addressed traffic following this beacon. | |
| void | ps_check_frame (uint8_t *frame, uint32_t statinfo, struct vif_info_tag *vif) |
| Checks the more data bit in the data or management frame passed as parameter and behave accordingly. | |
| bool | ps_check_tx_frame (uint8_t staid, uint8_t tid) |
| Check if the frame is a UAPSD trigger frame. | |
| void | ps_uapsd_set (struct vif_info_tag *vif, uint8_t hw_queue, bool uapsd) |
| Enable/disable the UAPSD for the HW queue and VIF passed as parameters. | |
| void | ps_traffic_status_update (uint8_t vif_index, uint8_t new_status) |
| Handle update of Traffic status generated by the Traffic Detection module. | |
| void | ps_p2p_absence_update (struct vif_info_tag *vif, bool absent) |
| Update P2P GO presence status update in order to send a trigger frame when an absence period is over after an interrupted Service Period. | |
| void | ps_check_tx_trigger_sent (struct hostdesc *hostdesc, uint32_t tx_status) |
| Re-enable WAIT EOSP status after UAPSD trigger frame transmission. | |
Variables | |
| struct ps_env_tag | ps_env |
| PS context used to store information related to PS module. | |
Power-Save mode implementation.
Copyright (C) RivieraWaves 2011-2019
Definition in file ps.c.
1.6.1