Files
kunlun/plc/halmac/hw3/rf_inc/mac_rf_txq_hw.h

120 lines
3.8 KiB
C
Raw Permalink Normal View History

2024-09-28 14:24:04 +08:00
/****************************************************************************
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