120 lines
3.8 KiB
C
120 lines
3.8 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_RF_TXQ_HW_H
|
|
#define MAC_RF_TXQ_HW_H
|
|
#include "os_types.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* @brief mac_rf_txq_is_dbg_mode check hwq is debug hwq
|
|
* @return - [0: schedule, 1: debug]
|
|
*/
|
|
uint32_t mac_rf_txq_is_dbg_mode();
|
|
|
|
/**
|
|
* @brief mac_rf_txq_set_dbg_mode set hwq debug mode or not.
|
|
* @param is_dbg [0: schedule, 1: debug]
|
|
* @param dbg_hwqid [debug q id]
|
|
* @return - [void]
|
|
*/
|
|
void mac_rf_txq_set_dbg_mode(uint32_t is_dbg, uint32_t dbg_hwqid);
|
|
|
|
/**
|
|
* @brief mac_rf_txq_is_enable mac rf txq is enable
|
|
* @param qid [hwq id]
|
|
* @return [0: disable, 1: enable]
|
|
*/
|
|
uint32_t mac_rf_txq_is_enable(uint32_t qid);
|
|
|
|
/**
|
|
*@brief mac_rf_txq_cfg rf txq cfg .
|
|
*@param qid [hwq id]
|
|
*@param cap [priority]
|
|
*@param is_csma [is csma]
|
|
*@exception [none.]
|
|
*@return [none.]
|
|
*/
|
|
void mac_rf_txq_cfg(uint32_t qid, uint32_t cap, uint32_t is_csma);
|
|
|
|
/**
|
|
*@brief mac_rf_txq_cfg_by_hwqid rf txq cfg by hwqid.
|
|
*@param qid [hwq id]
|
|
*@exception [none.]
|
|
*@return [none.]
|
|
*/
|
|
void mac_rf_txq_cfg_by_hwqid(uint32_t hwq_id);
|
|
|
|
/**
|
|
*@brief mac_rf_txq_cfg_block_by_hwqid
|
|
* block csma txq by hwqid with speific cfg.
|
|
*@param qid [hwq id]
|
|
*@exception [none.]
|
|
*@return [none.]
|
|
*/
|
|
void mac_rf_txq_cfg_block_by_hwqid(uint32_t hwq_id);
|
|
|
|
/**
|
|
*@brief mac_rf_txq_enable rf txq enable .
|
|
*@param qid [hwq id]
|
|
*@param tx_desc [tx desc]
|
|
*@exception [none.]
|
|
*@return [none.]
|
|
*/
|
|
void mac_rf_txq_enable(uint32_t qid, void *tx_desc);
|
|
|
|
/**
|
|
* @brief mac_rf_txq_is_csma mac rf txq is csma
|
|
* @param qid [hwq id]
|
|
* @return [0: no csma, 1: csma]
|
|
*/
|
|
uint32_t mac_rf_txq_is_csma(uint32_t qid);
|
|
|
|
/**
|
|
* @brief mac_rf_txq_trigger_send mac rf txq trigger send
|
|
* @param qid [hwq id]
|
|
* @return [0: success, 1: fail]
|
|
*/
|
|
uint32_t mac_rf_txq_trigger_send(uint32_t qid);
|
|
|
|
/**
|
|
*@brief mac_rf_txq_get_txcomp_status mac rf txq get complete status .
|
|
*@exception [none.]
|
|
*@return uint32_t [txcomp status.]
|
|
*/
|
|
uint32_t mac_rf_txq_get_txcomp_status();
|
|
|
|
/**
|
|
*@brief mac_rf_txq_get_txcomp_status mac rf txq clr complete status .
|
|
* @param qid [hwq id]
|
|
*@return void [void]
|
|
*/
|
|
void mac_txq_clr_txcomp_status(uint32_t hwqid);
|
|
|
|
/**
|
|
*@brief mac_rf_txq_force_disable mac rf txq force diable.
|
|
* @param qid [hwq id]
|
|
*@return void [void]
|
|
*/
|
|
void mac_rf_txq_force_disable(uint32_t qid);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // !MAC_RF_TXQ_HW_H
|