IN u4Byte Length\r
)\r
{\r
-#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))\r
+#if (DM_ODM_SUPPORT_TYPE & ODM_AP)\r
memcpy(pDest, pSrc, Length);\r
#elif (DM_ODM_SUPPORT_TYPE & ODM_CE ) \r
_rtw_memcpy(pDest, pSrc, Length);\r
IN s1Byte value,\r
IN u4Byte length)\r
{\r
-#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))\r
+#if (DM_ODM_SUPPORT_TYPE & ODM_AP)\r
\r
#elif (DM_ODM_SUPPORT_TYPE & ODM_CE ) \r
_rtw_memset(pbuf,value, length);\r
IN u4Byte msDelay\r
)\r
{\r
-#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))\r
+#if (DM_ODM_SUPPORT_TYPE & ODM_AP)\r
mod_timer(pTimer, jiffies + RTL_MILISECONDS_TO_JIFFIES(msDelay));\r
#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)\r
_set_timer(pTimer,msDelay ); //ms\r
IN const char* szID\r
)\r
{\r
-#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))\r
+#if (DM_ODM_SUPPORT_TYPE & ODM_AP)\r
init_timer(pTimer);\r
pTimer->function = CallBackFunc;\r
pTimer->data = (unsigned long)pDM_Odm;\r
}\r
\r
\r
+u1Byte\r
+phydm_trans_h2c_id(\r
+ IN PDM_ODM_T pDM_Odm,\r
+ IN u1Byte phydm_h2c_id\r
+)\r
+{\r
+ u1Byte platform_h2c_id=0xff;\r
+\r
+ \r
+ switch(phydm_h2c_id)\r
+ {\r
+ //1 [0]\r
+ case ODM_H2C_RSSI_REPORT:\r
+\r
+ #if(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
+ if(pDM_Odm->SupportICType == ODM_RTL8188E)\r
+ {\r
+ platform_h2c_id = H2C_88E_RSSI_REPORT;\r
+ }\r
+ else if(pDM_Odm->SupportICType == ODM_RTL8814A)\r
+ {\r
+ platform_h2c_id =H2C_8814A_RSSI_REPORT; \r
+ }\r
+ else\r
+ {\r
+ platform_h2c_id = H2C_RSSI_REPORT;\r
+ }\r
+ \r
+ #elif(DM_ODM_SUPPORT_TYPE & ODM_CE)\r
+ #if((RTL8812A_SUPPORT==1) ||(RTL8821A_SUPPORT==1))\r
+ platform_h2c_id = H2C_8812_RSSI_REPORT;\r
+ #elif(RTL8814A_SUPPORT == 1)\r
+ platform_h2c_id = H2C_RSSI_SETTING;\r
+ #elif(RTL8192E_SUPPORT==1)\r
+ platform_h2c_id =H2C_8192E_RSSI_REPORT;\r
+ #elif(RTL8723B_SUPPORT==1)\r
+ platform_h2c_id =H2C_8723B_RSSI_SETTING;\r
+ #elif(RTL8188E_SUPPORT==1)\r
+ platform_h2c_id =H2C_RSSI_REPORT;\r
+ #elif(RTL8723A_SUPPORT==1)\r
+ platform_h2c_id =RSSI_SETTING_EID;\r
+ #elif(RTL8192D_SUPPORT==1)\r
+ platform_h2c_id =H2C_RSSI_REPORT;\r
+ #elif(RTL8192C_SUPPORT==1)\r
+ platform_h2c_id =RSSI_SETTING_EID;\r
+ #endif\r
+ \r
+ #elif(DM_ODM_SUPPORT_TYPE & ODM_AP)\r
+ #if((RTL8881A_SUPPORT==1)||(RTL8192E_SUPPORT==1)||(RTL8814A_SUPPORT==1) )\r
+ if(pDM_Odm->SupportICType == ODM_RTL8881A || pDM_Odm->SupportICType == ODM_RTL8192E|| pDM_Odm->SupportICType == ODM_RTL8814A) \r
+ {\r
+ platform_h2c_id =H2C_88XX_RSSI_REPORT; \r
+ //ODM_RT_TRACE(pDM_Odm,PHYDM_COMP_RA_DBG, ODM_DBG_LOUD, ("[H2C] H2C_88XX_RSSI_REPORT CMD_ID = (( %d )) \n", platform_h2c_id));\r
+ } else\r
+ #endif\r
+ #if(RTL8812A_SUPPORT==1) \r
+ if(pDM_Odm->SupportICType == ODM_RTL8812)\r
+ {\r
+ platform_h2c_id = H2C_8812_RSSI_REPORT;\r
+ } else\r
+ #endif \r
+ {}\r
+ #endif\r
+ \r
+ break;\r
+\r
+ //1 [3] \r
+ case ODM_H2C_WIFI_CALIBRATION:\r
+ #if(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
+ platform_h2c_id =H2C_WIFI_CALIBRATION;\r
+ \r
+ #elif(DM_ODM_SUPPORT_TYPE & ODM_CE)\r
+ #if(RTL8723B_SUPPORT==1) \r
+ platform_h2c_id = H2C_8723B_BT_WLAN_CALIBRATION;\r
+ #endif\r
+ \r
+ #elif(DM_ODM_SUPPORT_TYPE & ODM_AP)\r
+\r
+ \r
+ #endif\r
+ \r
+ break; \r
+ \r
+ \r
+ //1 [4]\r
+ case ODM_H2C_IQ_CALIBRATION:\r
+ #if(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
+ platform_h2c_id =H2C_IQ_CALIBRATION;\r
+ \r
+ #elif(DM_ODM_SUPPORT_TYPE & ODM_CE)\r
+ #if((RTL8812A_SUPPORT==1) ||(RTL8821A_SUPPORT==1))\r
+ platform_h2c_id = H2C_8812_IQ_CALIBRATION;\r
+ #endif\r
+ #elif(DM_ODM_SUPPORT_TYPE & ODM_AP)\r
+\r
+ \r
+ #endif\r
+ \r
+ break;\r
+ //1 [5]\r
+ case ODM_H2C_RA_PARA_ADJUST:\r
+\r
+ #if(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
+ if(pDM_Odm->SupportICType == ODM_RTL8814A)\r
+ {\r
+ platform_h2c_id =H2C_8814A_RA_PARA_ADJUST; \r
+ }\r
+ else\r
+ {\r
+ platform_h2c_id = H2C_RA_PARA_ADJUST;\r
+ }\r
+ #elif(DM_ODM_SUPPORT_TYPE & ODM_CE)\r
+ #if((RTL8812A_SUPPORT==1) ||(RTL8821A_SUPPORT==1))\r
+ platform_h2c_id = H2C_8812_RA_PARA_ADJUST;\r
+ #elif(RTL8814A_SUPPORT == 1)\r
+ platform_h2c_id = H2C_RA_PARA_ADJUST;\r
+ #elif(RTL8192E_SUPPORT==1)\r
+ platform_h2c_id =H2C_8192E_RA_PARA_ADJUST;\r
+ #elif(RTL8723B_SUPPORT==1) \r
+ platform_h2c_id =H2C_8723B_RA_PARA_ADJUST;\r
+ #endif\r
+ \r
+ #elif(DM_ODM_SUPPORT_TYPE & ODM_AP)\r
+ #if((RTL8881A_SUPPORT==1)||(RTL8192E_SUPPORT==1)||(RTL8814A_SUPPORT==1)) \r
+ if (pDM_Odm->SupportICType == ODM_RTL8881A || pDM_Odm->SupportICType == ODM_RTL8192E || pDM_Odm->SupportICType == ODM_RTL8814A) \r
+ {\r
+ platform_h2c_id =H2C_88XX_RA_PARA_ADJUST; \r
+ /*ODM_RT_TRACE(pDM_Odm,PHYDM_COMP_RA_DBG, ODM_DBG_LOUD, ("[H2C] H2C_88XX_RA_PARA_ADJUST CMD_ID = (( %d ))\n", platform_h2c_id));*/\r
+ } else\r
+ #endif\r
+ #if(RTL8812A_SUPPORT==1) \r
+ if(pDM_Odm->SupportICType == ODM_RTL8812)\r
+ {\r
+ platform_h2c_id = H2C_8812_RA_PARA_ADJUST;\r
+ } else\r
+ #endif\r
+ {}\r
+ #endif\r
+ \r
+ break;\r
+\r
+\r
+ //1 [6]\r
+ case PHYDM_H2C_DYNAMIC_TX_PATH:\r
+\r
+ #if(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
+ if(pDM_Odm->SupportICType == ODM_RTL8814A)\r
+ {\r
+ platform_h2c_id =H2C_8814A_DYNAMIC_TX_PATH;\r
+ }\r
+ #elif(DM_ODM_SUPPORT_TYPE & ODM_CE)\r
+ #if (RTL8814A_SUPPORT == 1)\r
+ if (pDM_Odm->SupportICType == ODM_RTL8814A)\r
+ platform_h2c_id = H2C_DYNAMIC_TX_PATH;\r
+ #endif\r
+ #elif(DM_ODM_SUPPORT_TYPE & ODM_AP)\r
+ #if(RTL8814A_SUPPORT==1)\r
+ if( pDM_Odm->SupportICType == ODM_RTL8814A)\r
+ {\r
+ platform_h2c_id = H2C_88XX_DYNAMIC_TX_PATH; \r
+ } \r
+ #endif\r
+\r
+ #endif\r
+ \r
+ break;\r
+\r
+ /* [7]*/\r
+ case PHYDM_H2C_FW_TRACE_EN:\r
+\r
+ #if (DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
+ if (pDM_Odm->SupportICType == ODM_RTL8814A)\r
+ platform_h2c_id = H2C_8814A_FW_TRACE_EN;\r
+ else \r
+ platform_h2c_id = H2C_FW_TRACE_EN;\r
+ \r
+ #elif(DM_ODM_SUPPORT_TYPE & ODM_CE)\r
+\r
+ \r
+ #elif(DM_ODM_SUPPORT_TYPE & ODM_AP)\r
+ #if ((RTL8881A_SUPPORT == 1) || (RTL8192E_SUPPORT == 1) || (RTL8814A_SUPPORT == 1))\r
+ if (pDM_Odm->SupportICType == ODM_RTL8881A || pDM_Odm->SupportICType == ODM_RTL8192E || pDM_Odm->SupportICType == ODM_RTL8814A) {\r
+ platform_h2c_id = H2C_88XX_FW_TRACE_EN;\r
+ } else\r
+ #endif\r
+ #if (RTL8812A_SUPPORT == 1) \r
+ if (pDM_Odm->SupportICType == ODM_RTL8812) {\r
+ platform_h2c_id = H2C_8812_FW_TRACE_EN;\r
+ } else\r
+ #endif\r
+ {}\r
+\r
+ #endif\r
+ \r
+ break;\r
+\r
+ default:\r
+ platform_h2c_id=0xff;\r
+ break; \r
+ } \r
+ \r
+ return platform_h2c_id;\r
+ \r
+}\r
+\r
//\r
// ODM FW relative API.\r
//\r
-#if (DM_ODM_SUPPORT_TYPE & (ODM_WIN|ODM_CE))\r
+\r
VOID\r
ODM_FillH2CCmd(\r
IN PDM_ODM_T pDM_Odm,\r
- IN u1Byte ElementID,\r
+ IN u1Byte phydm_h2c_id,\r
IN u4Byte CmdLen,\r
IN pu1Byte pCmdBuffer\r
)\r
{\r
- PADAPTER Adapter = pDM_Odm->Adapter;\r
+ PADAPTER Adapter = pDM_Odm->Adapter;\r
+ u1Byte platform_h2c_id;\r
\r
- if(pDM_Odm->SupportICType & ODM_IC_11AC_SERIES)\r
- {\r
- switch(ElementID)\r
- {\r
- case ODM_H2C_RSSI_REPORT:\r
+ platform_h2c_id=phydm_trans_h2c_id(pDM_Odm, phydm_h2c_id);\r
\r
-#if(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
- FillH2CCmd(Adapter, H2C_RSSI_REPORT, CmdLen, pCmdBuffer);\r
-#else\r
- #if((RTL8812A_SUPPORT==1) ||(RTL8821A_SUPPORT==1))\r
- FillH2CCmd_8812(Adapter, H2C_8812_RSSI_REPORT, CmdLen, pCmdBuffer);\r
- #endif\r
-#endif\r
- break;\r
- case ODM_H2C_IQ_CALIBRATION:\r
-#if(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
- FillH2CCmd(Adapter, H2C_IQ_CALIBRATION, CmdLen, pCmdBuffer);\r
-#else\r
- #if((RTL8812A_SUPPORT==1) ||(RTL8821A_SUPPORT==1))\r
- FillH2CCmd_8812(Adapter, H2C_8812_IQ_CALIBRATION, CmdLen, pCmdBuffer);\r
- #endif\r
-#endif\r
- break;\r
- default:\r
- break;\r
- }\r
-\r
- }\r
- else if(pDM_Odm->SupportICType == ODM_RTL8192E)\r
+ if(platform_h2c_id==0xff)\r
{\r
- switch(ElementID)\r
- {\r
- case ODM_H2C_RSSI_REPORT:\r
-#if(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
- FillH2CCmd(Adapter, H2C_RSSI_REPORT, CmdLen, pCmdBuffer);\r
-#else\r
- #if(RTL8192E_SUPPORT==1)\r
- FillH2CCmd_8192E(Adapter, H2C_8192E_RSSI_REPORT, CmdLen, pCmdBuffer);\r
- #endif\r
-#endif\r
- break;\r
- default:\r
- break;\r
- } \r
+ ODM_RT_TRACE(pDM_Odm,PHYDM_COMP_RA_DBG, ODM_DBG_LOUD, ("[H2C] Wrong H2C CMD-ID !! platform_h2c_id==0xff , PHYDM_ElementID=((%d )) \n",phydm_h2c_id));\r
+ return;\r
}\r
- else if(pDM_Odm->SupportICType == ODM_RTL8723B)\r
- {\r
- switch(ElementID)\r
- {\r
- case ODM_H2C_RSSI_REPORT:\r
-#if(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
- FillH2CCmd(Adapter, H2C_RSSI_REPORT, CmdLen, pCmdBuffer);\r
-#else\r
- #if(RTL8723B_SUPPORT==1)\r
- FillH2CCmd8723B(Adapter, H2C_8723B_RSSI_SETTING, CmdLen, pCmdBuffer);\r
- #endif\r
-#endif\r
- break;\r
- case ODM_H2C_WIFI_CALIBRATION:\r
-#if(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
- FillH2CCmd(Adapter, H2C_WIFI_CALIBRATION, CmdLen, pCmdBuffer);\r
-#else\r
- #if(RTL8723B_SUPPORT==1)\r
- FillH2CCmd8723B(Adapter, H2C_8723B_BT_WLAN_CALIBRATION, CmdLen, pCmdBuffer);\r
- #endif\r
-#endif\r
- break;\r
- default:\r
- break; \r
- }\r
\r
- }\r
- else if(pDM_Odm->SupportICType == ODM_RTL8188E)\r
- {\r
- switch(ElementID)\r
+ #if(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
+ if(pDM_Odm->SupportICType == ODM_RTL8188E)\r
{\r
- case ODM_H2C_RSSI_REPORT:\r
- //if((pDM_Odm->CutVersion == ODM_CUT_I) && (!pDM_Odm->RaSupport88E)){\r
- if(!pDM_Odm->RaSupport88E){\r
-#if(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
- FillH2CCmd88E(Adapter, H2C_88E_RSSI_REPORT, CmdLen, pCmdBuffer);\r
-#else\r
- #if(RTL8188E_SUPPORT==1)\r
- FillH2CCmd_88E(Adapter, H2C_RSSI_REPORT, CmdLen, pCmdBuffer);\r
- #endif\r
-#endif \r
- }\r
- break;\r
- default:\r
- break;\r
+ if(!pDM_Odm->RaSupport88E)\r
+ FillH2CCmd88E(Adapter, platform_h2c_id, CmdLen, pCmdBuffer);\r
}\r
- }\r
-#if(DM_ODM_SUPPORT_TYPE & ODM_CE)\r
- else if(pDM_Odm->SupportICType == ODM_RTL8723A)\r
- {\r
- switch(ElementID)\r
+ else if(pDM_Odm->SupportICType == ODM_RTL8192C)\r
{\r
- case ODM_H2C_RSSI_REPORT:\r
- #if(RTL8723A_SUPPORT==1)\r
- FillH2CCmd(Adapter, RSSI_SETTING_EID, CmdLen, pCmdBuffer);\r
- #endif\r
- break;\r
- default:\r
- break;\r
+ FillH2CCmd92C(Adapter, platform_h2c_id, CmdLen, pCmdBuffer);\r
}\r
- }\r
- else if(pDM_Odm->SupportICType == ODM_RTL8192D)\r
- {\r
- switch(ElementID)\r
+ else if(pDM_Odm->SupportICType == ODM_RTL8814A)\r
{\r
- case ODM_H2C_RSSI_REPORT:\r
- #if(RTL8192D_SUPPORT==1)\r
- FillH2CCmd92D(Adapter, H2C_RSSI_REPORT, CmdLen, pCmdBuffer); \r
- #endif\r
- break;\r
- default:\r
- break;\r
+ FillH2CCmd8814A(Adapter, platform_h2c_id, CmdLen, pCmdBuffer);\r
}\r
- }\r
-#endif\r
- else\r
- {\r
- switch(ElementID)\r
- {\r
- case ODM_H2C_RSSI_REPORT:\r
-#if(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
- FillH2CCmd92C(Adapter, H2C_RSSI_REPORT, CmdLen, pCmdBuffer);\r
-#else\r
- #if(RTL8192C_SUPPORT==1)\r
- rtl8192c_FillH2CCmd(Adapter, RSSI_SETTING_EID, CmdLen, pCmdBuffer);\r
- #endif\r
-#endif\r
- break;\r
- default:\r
- break;\r
+ else\r
+ { \r
+ FillH2CCmd(Adapter, platform_h2c_id, CmdLen, pCmdBuffer);\r
}\r
- }\r
-}\r
-#else\r
-u4Byte\r
-ODM_FillH2CCmd( \r
- IN pu1Byte pH2CBuffer,\r
- IN u4Byte H2CBufferLen,\r
- IN u4Byte CmdNum,\r
- IN pu4Byte pElementID,\r
- IN pu4Byte pCmdLen,\r
- IN pu1Byte* pCmbBuffer,\r
- IN pu1Byte CmdStartSeq\r
- )\r
-{\r
-#if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))\r
- \r
-#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)\r
-\r
-#elif(DM_ODM_SUPPORT_TYPE & ODM_WIN) \r
- //FillH2CCmd(pH2CBuffer, H2CBufferLen, CmdNum, pElementID, pCmdLen, pCmbBuffer, CmdStartSeq);\r
- return FALSE;\r
-#endif\r
-\r
- return TRUE;\r
+ #elif(DM_ODM_SUPPORT_TYPE & ODM_CE)\r
+ rtw_hal_fill_h2c_cmd(Adapter, platform_h2c_id, CmdLen, pCmdBuffer);\r
+\r
+ #elif(DM_ODM_SUPPORT_TYPE & ODM_AP) \r
+ #if((RTL8881A_SUPPORT==1)||(RTL8192E_SUPPORT==1)||(RTL8814A_SUPPORT==1)) \r
+ if(pDM_Odm->SupportICType == ODM_RTL8881A || pDM_Odm->SupportICType == ODM_RTL8192E|| pDM_Odm->SupportICType == ODM_RTL8814A) \r
+ {\r
+ GET_HAL_INTERFACE(pDM_Odm->priv)->FillH2CCmdHandler(pDM_Odm->priv, platform_h2c_id, CmdLen, pCmdBuffer);\r
+ //FillH2CCmd88XX(pDM_Odm->priv, platform_h2c_id, CmdLen, pCmdBuffer); \r
+ } else\r
+ #endif\r
+ #if(RTL8812A_SUPPORT==1) \r
+ if(pDM_Odm->SupportICType == ODM_RTL8812)\r
+ {\r
+ FillH2CCmd8812(pDM_Odm->priv, platform_h2c_id, CmdLen, pCmdBuffer);\r
+ } else\r
+ #endif\r
+ {}\r
+ #endif\r
}\r
-#endif\r
-\r
\r
u8Byte\r
ODM_GetCurrentTime( \r
return 0;\r
#elif(DM_ODM_SUPPORT_TYPE & ODM_CE)\r
return rtw_get_passing_time_ms((u4Byte)Start_Time);\r
-#elif(DM_ODM_SUPPORT_TYPE & ODM_WIN) \r
+#elif(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
return ((PlatformGetCurrentTime() - Start_Time)>>10);\r
#endif\r
}\r