net: wireless: rockchip: add rtl8822be pcie wifi driver
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8822be / hal / phydm / txbf / halcomtxbf.h
diff --git a/drivers/net/wireless/rockchip_wlan/rtl8822be/hal/phydm/txbf/halcomtxbf.h b/drivers/net/wireless/rockchip_wlan/rtl8822be/hal/phydm/txbf/halcomtxbf.h
new file mode 100644 (file)
index 0000000..4d87082
--- /dev/null
@@ -0,0 +1,180 @@
+#ifndef __HAL_COM_TXBF_H__\r
+#define __HAL_COM_TXBF_H__\r
+\r
+/*\r
+typedef        BOOLEAN\r
+(*TXBF_GET)(\r
+       IN      PVOID                   pAdapter,\r
+       IN      u1Byte                  getType,\r
+       OUT     PVOID                   pOutBuf\r
+       );\r
+\r
+typedef        BOOLEAN\r
+(*TXBF_SET)(\r
+       IN      PVOID                   pAdapter,\r
+       IN      u1Byte                  setType,\r
+       OUT     PVOID                   pInBuf\r
+       );\r
+*/\r
+\r
+typedef enum _TXBF_SET_TYPE{\r
+       TXBF_SET_SOUNDING_ENTER,\r
+       TXBF_SET_SOUNDING_LEAVE,\r
+       TXBF_SET_SOUNDING_RATE,\r
+       TXBF_SET_SOUNDING_STATUS,\r
+       TXBF_SET_SOUNDING_FW_NDPA,\r
+       TXBF_SET_SOUNDING_CLK,\r
+       TXBF_SET_TX_PATH_RESET,\r
+       TXBF_SET_GET_TX_RATE\r
+}TXBF_SET_TYPE,*PTXBF_SET_TYPE;\r
+\r
+\r
+typedef enum _TXBF_GET_TYPE{\r
+       TXBF_GET_EXPLICIT_BEAMFORMEE,\r
+       TXBF_GET_EXPLICIT_BEAMFORMER,\r
+       TXBF_GET_MU_MIMO_STA,\r
+       TXBF_GET_MU_MIMO_AP\r
+}TXBF_GET_TYPE,*PTXBF_GET_TYPE;\r
+\r
+\r
+\r
+//2 HAL TXBF related\r
+typedef struct _HAL_TXBF_INFO {\r
+       u1Byte                          TXBFIdx;\r
+       u1Byte                          NdpaIdx;\r
+       u1Byte                          BW;\r
+       u1Byte                          Rate;\r
+\r
+       RT_TIMER                        Txbf_FwNdpaTimer;\r
+#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)   \r
+       RT_WORK_ITEM            Txbf_EnterWorkItem;  \r
+       RT_WORK_ITEM            Txbf_LeaveWorkItem;\r
+       RT_WORK_ITEM            Txbf_FwNdpaWorkItem;\r
+       RT_WORK_ITEM            Txbf_ClkWorkItem;\r
+       RT_WORK_ITEM            Txbf_StatusWorkItem;\r
+       RT_WORK_ITEM            Txbf_RateWorkItem;\r
+       RT_WORK_ITEM            Txbf_ResetTxPathWorkItem;\r
+       RT_WORK_ITEM            Txbf_GetTxRateWorkItem;\r
+#endif\r
+\r
+} HAL_TXBF_INFO, *PHAL_TXBF_INFO;\r
+\r
+#if (BEAMFORMING_SUPPORT == 1)\r
+\r
+VOID\r
+halComTxbf_beamformInit(\r
+       IN PVOID                        pDM_VOID\r
+       );\r
+\r
+VOID\r
+halComTxbf_ConfigGtab(\r
+       IN PVOID                        pDM_VOID\r
+       );\r
+\r
+VOID \r
+halComTxbf_EnterWorkItemCallback(\r
+#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
+       IN      PADAPTER                Adapter\r
+#else\r
+       IN PVOID                        pDM_VOID\r
+#endif\r
+       );\r
+\r
+VOID \r
+halComTxbf_LeaveWorkItemCallback(\r
+#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
+       IN      PADAPTER                Adapter\r
+#else\r
+       IN PVOID                        pDM_VOID\r
+#endif\r
+       );\r
+\r
+VOID \r
+halComTxbf_FwNdpaWorkItemCallback(\r
+#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
+       IN      PADAPTER                Adapter\r
+#else\r
+       IN PVOID                        pDM_VOID\r
+#endif\r
+       );\r
+\r
+VOID\r
+halComTxbf_ClkWorkItemCallback(\r
+#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
+       IN      PADAPTER                Adapter\r
+#else\r
+       IN PVOID                        pDM_VOID\r
+#endif\r
+       );\r
+\r
+VOID\r
+halComTxbf_ResetTxPathWorkItemCallback(\r
+#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
+       IN      PADAPTER                Adapter\r
+#else\r
+       IN PVOID                        pDM_VOID\r
+#endif\r
+       );\r
+\r
+VOID\r
+halComTxbf_GetTxRateWorkItemCallback(\r
+#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
+       IN      PADAPTER                Adapter\r
+#else\r
+       IN PVOID                        pDM_VOID\r
+#endif\r
+       );\r
+\r
+VOID\r
+halComTxbf_RateWorkItemCallback(       \r
+#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
+       IN      PADAPTER                Adapter\r
+#else\r
+       IN PVOID                        pDM_VOID\r
+#endif\r
+       );\r
+\r
+VOID \r
+halComTxbf_FwNdpaTimerCallback(\r
+       IN      PRT_TIMER               pTimer\r
+       );\r
+\r
+VOID\r
+halComTxbf_StatusWorkItemCallback(\r
+#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
+       IN      PADAPTER                Adapter\r
+#else\r
+       IN PVOID                        pDM_VOID\r
+#endif\r
+       );\r
+\r
+BOOLEAN\r
+HalComTxbf_Set(\r
+       IN PVOID                        pDM_VOID,\r
+       IN      u1Byte                  setType,\r
+       IN      PVOID                   pInBuf\r
+       );\r
+\r
+BOOLEAN\r
+HalComTxbf_Get(\r
+       IN      PADAPTER                Adapter,\r
+       IN      u1Byte                  getType,\r
+       OUT     PVOID                   pOutBuf\r
+       );\r
+\r
+#else\r
+#define halComTxbf_beamformInit(pDM_VOID)                                      NULL\r
+#define halComTxbf_ConfigGtab(pDM_VOID)                                NULL\r
+#define halComTxbf_EnterWorkItemCallback(_Adapter)             NULL\r
+#define halComTxbf_LeaveWorkItemCallback(_Adapter)             NULL\r
+#define halComTxbf_FwNdpaWorkItemCallback(_Adapter)            NULL\r
+#define halComTxbf_ClkWorkItemCallback(_Adapter)                       NULL\r
+#define halComTxbf_RateWorkItemCallback(_Adapter)              NULL\r
+#define halComTxbf_FwNdpaTimerCallback(_Adapter)               NULL\r
+#define halComTxbf_StatusWorkItemCallback(_Adapter)            NULL\r
+#define HalComTxbf_Get(_Adapter, _getType, _pOutBuf)\r
+\r
+#endif\r
+                                                       \r
+#endif // #ifndef __HAL_COM_TXBF_H__                                                           \r
+\r