rtl8723cs/hal/phydm/txbf/halcomtxbf.h
2017-01-30 21:28:09 +01:00

182 lines
3.3 KiB
C

#ifndef __HAL_COM_TXBF_H__
#define __HAL_COM_TXBF_H__
/*
typedef BOOLEAN
(*TXBF_GET)(
IN PVOID pAdapter,
IN u1Byte getType,
OUT PVOID pOutBuf
);
typedef BOOLEAN
(*TXBF_SET)(
IN PVOID pAdapter,
IN u1Byte setType,
OUT PVOID pInBuf
);
*/
#define TxBF_Nr(a, b) ((a > b) ? (b) : (a))
typedef enum _TXBF_SET_TYPE{
TXBF_SET_SOUNDING_ENTER,
TXBF_SET_SOUNDING_LEAVE,
TXBF_SET_SOUNDING_RATE,
TXBF_SET_SOUNDING_STATUS,
TXBF_SET_SOUNDING_FW_NDPA,
TXBF_SET_SOUNDING_CLK,
TXBF_SET_TX_PATH_RESET,
TXBF_SET_GET_TX_RATE
}TXBF_SET_TYPE,*PTXBF_SET_TYPE;
typedef enum _TXBF_GET_TYPE{
TXBF_GET_EXPLICIT_BEAMFORMEE,
TXBF_GET_EXPLICIT_BEAMFORMER,
TXBF_GET_MU_MIMO_STA,
TXBF_GET_MU_MIMO_AP
}TXBF_GET_TYPE,*PTXBF_GET_TYPE;
//2 HAL TXBF related
typedef struct _HAL_TXBF_INFO {
u1Byte TXBFIdx;
u1Byte NdpaIdx;
u1Byte BW;
u1Byte Rate;
RT_TIMER Txbf_FwNdpaTimer;
#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
RT_WORK_ITEM Txbf_EnterWorkItem;
RT_WORK_ITEM Txbf_LeaveWorkItem;
RT_WORK_ITEM Txbf_FwNdpaWorkItem;
RT_WORK_ITEM Txbf_ClkWorkItem;
RT_WORK_ITEM Txbf_StatusWorkItem;
RT_WORK_ITEM Txbf_RateWorkItem;
RT_WORK_ITEM Txbf_ResetTxPathWorkItem;
RT_WORK_ITEM Txbf_GetTxRateWorkItem;
#endif
} HAL_TXBF_INFO, *PHAL_TXBF_INFO;
#if (BEAMFORMING_SUPPORT == 1)
VOID
halComTxbf_beamformInit(
IN PVOID pDM_VOID
);
VOID
halComTxbf_ConfigGtab(
IN PVOID pDM_VOID
);
VOID
halComTxbf_EnterWorkItemCallback(
#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
IN PADAPTER Adapter
#else
IN PVOID pDM_VOID
#endif
);
VOID
halComTxbf_LeaveWorkItemCallback(
#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
IN PADAPTER Adapter
#else
IN PVOID pDM_VOID
#endif
);
VOID
halComTxbf_FwNdpaWorkItemCallback(
#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
IN PADAPTER Adapter
#else
IN PVOID pDM_VOID
#endif
);
VOID
halComTxbf_ClkWorkItemCallback(
#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
IN PADAPTER Adapter
#else
IN PVOID pDM_VOID
#endif
);
VOID
halComTxbf_ResetTxPathWorkItemCallback(
#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
IN PADAPTER Adapter
#else
IN PVOID pDM_VOID
#endif
);
VOID
halComTxbf_GetTxRateWorkItemCallback(
#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
IN PADAPTER Adapter
#else
IN PVOID pDM_VOID
#endif
);
VOID
halComTxbf_RateWorkItemCallback(
#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
IN PADAPTER Adapter
#else
IN PVOID pDM_VOID
#endif
);
VOID
halComTxbf_FwNdpaTimerCallback(
IN PRT_TIMER pTimer
);
VOID
halComTxbf_StatusWorkItemCallback(
#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
IN PADAPTER Adapter
#else
IN PVOID pDM_VOID
#endif
);
BOOLEAN
HalComTxbf_Set(
IN PVOID pDM_VOID,
IN u1Byte setType,
IN PVOID pInBuf
);
BOOLEAN
HalComTxbf_Get(
IN PADAPTER Adapter,
IN u1Byte getType,
OUT PVOID pOutBuf
);
#else
#define halComTxbf_beamformInit(pDM_VOID) NULL
#define halComTxbf_ConfigGtab(pDM_VOID) NULL
#define halComTxbf_EnterWorkItemCallback(_Adapter) NULL
#define halComTxbf_LeaveWorkItemCallback(_Adapter) NULL
#define halComTxbf_FwNdpaWorkItemCallback(_Adapter) NULL
#define halComTxbf_ClkWorkItemCallback(_Adapter) NULL
#define halComTxbf_RateWorkItemCallback(_Adapter) NULL
#define halComTxbf_FwNdpaTimerCallback(_Adapter) NULL
#define halComTxbf_StatusWorkItemCallback(_Adapter) NULL
#define HalComTxbf_Get(_Adapter, _getType, _pOutBuf)
#endif
#endif // #ifndef __HAL_COM_TXBF_H__