106 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			106 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/****************************************************************************
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
							 | 
						||
| 
								 | 
							
								be copied by any method or incorporated into another program without
							 | 
						||
| 
								 | 
							
								the express written consent of Aerospace C.Power. This Information or any portion
							 | 
						||
| 
								 | 
							
								thereof remains the property of Aerospace C.Power. The Information contained herein
							 | 
						||
| 
								 | 
							
								is believed to be accurate and Aerospace C.Power assumes no responsibility or
							 | 
						||
| 
								 | 
							
								liability for its use in any way and conveys no license or title under
							 | 
						||
| 
								 | 
							
								any patent or copyright and makes no representation or warranty that this
							 | 
						||
| 
								 | 
							
								Information is free from patent or copyright infringement.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								****************************************************************************/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef __MAC_CHECK_SPUR_STA_H__
							 | 
						||
| 
								 | 
							
								#define __MAC_CHECK_SPUR_STA_H__
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* os shim includes */
							 | 
						||
| 
								 | 
							
								#include "os_types.h"
							 | 
						||
| 
								 | 
							
								#include "os_timer_api.h"
							 | 
						||
| 
								 | 
							
								#include "mac_sched_hw.h"
							 | 
						||
| 
								 | 
							
								#include "mac_check_spur.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								extern "C" {
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* STA check spur long interval 10s = 10*1000 ms*/
							 | 
						||
| 
								 | 
							
								#define MAC_STA_CHECK_SPUR_LONG_MS     10000
							 | 
						||
| 
								 | 
							
								/* STA check spur short interval 4s = 4*1000 ms*/
							 | 
						||
| 
								 | 
							
								#define MAC_STA_CHECK_SPUR_SHORT_MS    4000
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* STA check spur continuous threshold
							 | 
						||
| 
								 | 
							
								 * greater or reach this number would
							 | 
						||
| 
								 | 
							
								 * make the mac restart
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define STA_CON_SPUR_RESET_THRE  2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 *@brief mac_sta_check_spur_timer_handle  mac check spur cco timer handle .
							 | 
						||
| 
								 | 
							
								 *@param timer_id                         timerid.
							 | 
						||
| 
								 | 
							
								 *@param arg                              point.
							 | 
						||
| 
								 | 
							
								 *@exception                              [none.]
							 | 
						||
| 
								 | 
							
								 *@return                                 [void]
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								void mac_sta_check_spur_timer_handle(timer_id_t timer_id, void * arg);
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 *@brief mac_sta_check_spur_timer_start   mac sta check spur timer start.
							 | 
						||
| 
								 | 
							
								 *@param spur_ctxt                        point to mac_check_cpur_ctxt.
							 | 
						||
| 
								 | 
							
								 *@param vdev                             point to vdev.
							 | 
						||
| 
								 | 
							
								 *@param status                           status.
							 | 
						||
| 
								 | 
							
								 *@return                                 [0]
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								uint32_t mac_sta_check_spur_timer_start(mac_check_spur_ctxt_t *spur_ctxt, \
							 | 
						||
| 
								 | 
							
								    mac_vdev_t *vdev, uint32_t status);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 *@brief mac_sta_check_spur_timer_stop    mac sta check spur timer stop.
							 | 
						||
| 
								 | 
							
								 *@param spur_ctxt                        point to mac_check_cpur_ctxt.
							 | 
						||
| 
								 | 
							
								 *@return                                 [0]
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								uint32_t mac_sta_check_spur_timer_stop(mac_check_spur_ctxt_t *spur_ctxt);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 *@brief mac_sta_check_spur_timer_restart mac check spur timer restart.
							 | 
						||
| 
								 | 
							
								 *@param spur_ctxt                        point to mac_check_cpur_ctxt.
							 | 
						||
| 
								 | 
							
								 *@param is_local_nw_pkt                  judge is local network pkt.
							 | 
						||
| 
								 | 
							
								 *@exception                              [none.]
							 | 
						||
| 
								 | 
							
								 *@return                                 [0]
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								uint32_t mac_sta_check_spur_timer_restart(mac_check_spur_ctxt_t *spur_ctxt,
							 | 
						||
| 
								 | 
							
								    uint32_t is_local_nw_pkt);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 *@brief mac_sta_check_spur               sta check spur.
							 | 
						||
| 
								 | 
							
								 *@param spur_ctxt                        point to mac_check_cpur_ctxt.
							 | 
						||
| 
								 | 
							
								 *@exception                              [none.]
							 | 
						||
| 
								 | 
							
								 *@return                                 [0: start check spur success,
							 | 
						||
| 
								 | 
							
								 *                                         1: start check spur fail]
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								uint32_t mac_sta_check_spur(mac_check_spur_ctxt_t *spur_ctxt);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 *@brief mac_sta_period_check_spur        sta period check spur.
							 | 
						||
| 
								 | 
							
								 *@exception                              [none.]
							 | 
						||
| 
								 | 
							
								 *@return                                 [0: start check spur success,
							 | 
						||
| 
								 | 
							
								 *                                         1: start check spur fail]
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								uint32_t mac_sta_period_check_spur();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 *@brief mac_sta_period_check_spur_ctl_by_other uplayer ctl.
							 | 
						||
| 
								 | 
							
								 *@param is_start                         start check spur.
							 | 
						||
| 
								 | 
							
								 *@exception                              [none.]
							 | 
						||
| 
								 | 
							
								 *@return                                 [hanle success or fail]
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								uint32_t mac_sta_period_check_spur_ctl_by_other(uint8_t is_start);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 |