/space/home/slher/rel/Beken/v6_4_5/macsw/ip/lmac/src/ps/ps.c File Reference

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.

Detailed Description

Power-Save mode implementation.

Copyright (C) RivieraWaves 2011-2019

Definition in file ps.c.


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