/****************************************************************************** * * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms of version 2 of the GNU General Public License as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * ******************************************************************************/ #ifndef __PHYDMACS_H__ #define __PHYDMACS_H__ #define ACS_VERSION "1.0" #define CLM_VERSION "1.0" #define ODM_MAX_CHANNEL_2G 14 #define ODM_MAX_CHANNEL_5G 24 // For phydm_AutoChannelSelectSettingAP() #define STORE_DEFAULT_NHM_SETTING 0 #define RESTORE_DEFAULT_NHM_SETTING 1 #define ACS_NHM_SETTING 2 typedef struct _ACS_ { BOOLEAN bForceACSResult; u1Byte CleanChannel_2G; u1Byte CleanChannel_5G; u2Byte Channel_Info_2G[2][ODM_MAX_CHANNEL_2G]; //Channel_Info[1]: Channel Score, Channel_Info[2]:Channel_Scan_Times u2Byte Channel_Info_5G[2][ODM_MAX_CHANNEL_5G]; #if ( DM_ODM_SUPPORT_TYPE & ODM_AP ) u1Byte ACS_Step; // NHM Count 0-11 u1Byte NHM_Cnt[14][11]; // AC-Series, for storing previous setting u4Byte Reg0x990; u4Byte Reg0x994; u4Byte Reg0x998; u4Byte Reg0x99C; u1Byte Reg0x9A0; // u1Byte // N-Series, for storing previous setting u4Byte Reg0x890; u4Byte Reg0x894; u4Byte Reg0x898; u4Byte Reg0x89C; u1Byte Reg0xE28; // u1Byte #endif }ACS, *PACS; VOID odm_AutoChannelSelectInit( IN PVOID pDM_VOID ); VOID odm_AutoChannelSelectReset( IN PVOID pDM_VOID ); VOID odm_AutoChannelSelect( IN PVOID pDM_VOID, IN u1Byte Channel ); u1Byte ODM_GetAutoChannelSelectResult( IN PVOID pDM_VOID, IN u1Byte Band ); #if ( DM_ODM_SUPPORT_TYPE & ODM_AP ) VOID phydm_AutoChannelSelectSettingAP( IN PVOID pDM_VOID, IN u4Byte Setting, // 0: STORE_DEFAULT_NHM_SETTING; 1: RESTORE_DEFAULT_NHM_SETTING, 2: ACS_NHM_SETTING IN u4Byte acs_step ); VOID phydm_GetNHMStatisticsAP( IN PVOID pDM_VOID, IN u4Byte idx, // @ 2G, Real channel number = idx+1 IN u4Byte acs_step ); #endif //#if ( DM_ODM_SUPPORT_TYPE & ODM_AP ) VOID phydm_CLMInit( IN PVOID pDM_VOID, IN u2Byte sampleNum ); VOID phydm_CLMtrigger( IN PVOID pDM_VOID ); BOOLEAN phydm_checkCLMready( IN PVOID pDM_VOID ); u2Byte phydm_getCLMresult( IN PVOID pDM_VOID ); #endif //#ifndef __PHYDMACS_H__