From 3b6068c457cf69f12aea80ee3ec5c271cc75df57 Mon Sep 17 00:00:00 2001 From: Naveen Rawat Date: Thu, 14 Apr 2016 19:01:06 -0700 Subject: [PATCH] qcacld-3.0: Remove the file cds_regdomain_common.h Data structures defined in cds_regdomain_common.h are similar to those defined in cds_regdomain.h. Therefore remove the file. Change-Id: I929b03058e9441e4a652314789cf91dbd94d0329 CRs-Fixed: 961806 --- core/cds/inc/cds_regdomain.h | 601 ++++++++++++++++- core/cds/inc/cds_regdomain_common.h | 637 ------------------ core/cds/src/cds_regdomain.c | 3 +- core/hdd/inc/wlan_hdd_tdls.h | 2 +- core/hdd/src/wlan_hdd_regulatory.c | 1 - core/mac/inc/sir_api.h | 3 +- core/mac/inc/sir_mac_prot_def.h | 1 - .../src/pe/lim/lim_process_sme_req_messages.c | 2 +- core/mac/src/pe/lim/lim_process_tdls.c | 4 +- core/mac/src/pe/lim/lim_send_messages.c | 2 +- .../src/pe/lim/lim_send_sme_rsp_messages.c | 2 +- .../src/sys/legacy/src/utils/src/parser_api.c | 2 +- core/sap/src/sap_module.c | 2 +- core/sme/inc/csr_api.h | 4 +- core/sme/inc/sme_inside.h | 2 +- core/sme/src/common/sme_api.c | 2 +- core/sme/src/csr/csr_api_roam.c | 7 +- 17 files changed, 592 insertions(+), 685 deletions(-) delete mode 100644 core/cds/inc/cds_regdomain_common.h diff --git a/core/cds/inc/cds_regdomain.h b/core/cds/inc/cds_regdomain.h index f101f0b44e4c..519f4e874243 100644 --- a/core/cds/inc/cds_regdomain.h +++ b/core/cds/inc/cds_regdomain.h @@ -71,11 +71,223 @@ #ifndef REGULATORY_H #define REGULATORY_H +#define MAX_CHANNELS_PER_OPERATING_CLASS 25 #define CTRY_DEBUG 0x1ff #define CTRY_DEFAULT 0 #define COUNTRY_ERD_FLAG 0x8000 #define WORLDWIDE_ROAMING_FLAG 0x4000 #define DEF_REGDMN FCC3_FCCA +#define CDS_MAX_SUPP_OPER_CLASSES 32 + +enum EnumRd { + NO_ENUMRD = 0x00, + NULL1_WORLD = 0x03, + NULL1_ETSIB = 0x07, + NULL1_ETSIC = 0x08, + FCC1_FCCA = 0x10, + FCC1_WORLD = 0x11, + FCC4_FCCA = 0x12, + FCC5_FCCA = 0x13, + FCC6_FCCA = 0x14, + + FCC2_FCCA = 0x20, + FCC2_WORLD = 0x21, + FCC2_ETSIC = 0x22, + FCC6_WORLD = 0x23, + FRANCE_RES = 0x31, + FCC3_FCCA = 0x3A, + FCC3_WORLD = 0x3B, + FCC3_ETSIC = 0x3F, + + ETSI1_WORLD = 0x37, + ETSI3_ETSIA = 0x32, + ETSI2_WORLD = 0x35, + ETSI3_WORLD = 0x36, + ETSI4_WORLD = 0x30, + ETSI4_ETSIC = 0x38, + ETSI5_WORLD = 0x39, + ETSI6_WORLD = 0x34, + ETSI8_WORLD = 0x3D, + ETSI9_WORLD = 0x3E, + ETSI_RESERVED = 0x33, + + MKK1_MKKA = 0x40, + MKK1_MKKB = 0x41, + APL4_WORLD = 0x42, + MKK2_MKKA = 0x43, + APL_RESERVED = 0x44, + APL2_WORLD = 0x45, + APL2_APLC = 0x46, + APL3_WORLD = 0x47, + MKK1_FCCA = 0x48, + APL2_APLD = 0x49, + MKK1_MKKA1 = 0x4A, + MKK1_MKKA2 = 0x4B, + MKK1_MKKC = 0x4C, + APL2_FCCA = 0x4D, + APL11_FCCA = 0x4F, + + APL3_FCCA = 0x50, + APL12_WORLD = 0x51, + APL1_WORLD = 0x52, + APL1_FCCA = 0x53, + APL1_APLA = 0x54, + APL1_ETSIC = 0x55, + APL2_ETSIC = 0x56, + APL5_WORLD = 0x58, + APL13_WORLD = 0x5A, + APL6_WORLD = 0x5B, + APL7_FCCA = 0x5C, + APL8_WORLD = 0x5D, + APL9_MKKC = 0x5E, + APL10_MKKC = 0x5F, + + WOR0_WORLD = 0x60, + WOR1_WORLD = 0x61, + WOR2_WORLD = 0x62, + WOR3_WORLD = 0x63, + WOR4_WORLD = 0x64, + WOR5_ETSIC = 0x65, + + WOR01_WORLD = 0x66, + WOR02_WORLD = 0x67, + EU1_WORLD = 0x68, + + WOR9_WORLD = 0x69, + WORA_WORLD = 0x6A, + WORB_WORLD = 0x6B, + WORC_WORLD = 0x6C, + + MKK3_MKKB = 0x80, + MKK3_MKKA2 = 0x81, + MKK3_MKKC = 0x82, + + MKK4_MKKB = 0x83, + MKK4_MKKA2 = 0x84, + MKK4_MKKC = 0x85, + + MKK5_MKKB = 0x86, + MKK5_MKKA2 = 0x87, + MKK5_MKKC = 0x88, + MKK5_MKKA = 0x99, + MKK5_FCCA = 0x9A, + + MKK6_MKKB = 0x89, + MKK6_MKKA2 = 0x8A, + MKK6_MKKC = 0x8B, + + MKK7_MKKB = 0x8C, + MKK7_MKKA2 = 0x8D, + MKK7_MKKC = 0x8E, + + MKK8_MKKB = 0x8F, + MKK8_MKKA2 = 0x90, + MKK8_MKKC = 0x91, + + MKK14_MKKA1 = 0x92, + MKK15_MKKA1 = 0x93, + + MKK10_FCCA = 0xD0, + MKK10_MKKA1 = 0xD1, + MKK10_MKKC = 0xD2, + MKK10_MKKA2 = 0xD3, + + MKK11_MKKA = 0xD4, + MKK11_FCCA = 0xD5, + MKK11_MKKA1 = 0xD6, + MKK11_MKKC = 0xD7, + MKK11_MKKA2 = 0xD8, + + MKK12_MKKA = 0xD9, + MKK12_FCCA = 0xDA, + MKK12_MKKA1 = 0xDB, + MKK12_MKKC = 0xDC, + MKK12_MKKA2 = 0xDD, + + MKK13_MKKB = 0xDE, + + MKK3_MKKA = 0xF0, + MKK3_MKKA1 = 0xF1, + MKK3_FCCA = 0xF2, + MKK4_MKKA = 0xF3, + MKK4_MKKA1 = 0xF4, + MKK4_FCCA = 0xF5, + MKK9_MKKA = 0xF6, + MKK10_MKKA = 0xF7, + MKK6_MKKA1 = 0xF8, + MKK6_FCCA = 0xF9, + MKK7_MKKA1 = 0xFA, + MKK7_FCCA = 0xFB, + MKK9_FCCA = 0xFC, + MKK9_MKKA1 = 0xFD, + MKK9_MKKC = 0xFE, + MKK9_MKKA2 = 0xFF, + + APL1 = 0x0150, + APL2 = 0x0250, + APL3 = 0x0350, + APL4 = 0x0450, + APL5 = 0x0550, + APL6 = 0x0650, + APL7 = 0x0750, + APL8 = 0x0850, + APL9 = 0x0950, + APL10 = 0x1050, + APL11 = 0x1150, + APL12 = 0x1160, + + ETSI1 = 0x0130, + ETSI2 = 0x0230, + ETSI3 = 0x0330, + ETSI4 = 0x0430, + ETSI5 = 0x0530, + ETSI6 = 0x0630, + ETSI8 = 0x0830, + ETSI9 = 0x0930, + ETSIA = 0x0A30, + ETSIB = 0x0B30, + ETSIC = 0x0C30, + + FCC1 = 0x0110, + FCC2 = 0x0120, + FCC3 = 0x0160, + FCC4 = 0x0165, + FCC5 = 0x0510, + FCC6 = 0x0610, + FCCA = 0x0A10, + + APLD = 0x0D50, + + MKK1 = 0x0140, + MKK2 = 0x0240, + MKK3 = 0x0340, + MKK4 = 0x0440, + MKK5 = 0x0540, + MKK6 = 0x0640, + MKK7 = 0x0740, + MKK8 = 0x0840, + MKK9 = 0x0940, + MKK10 = 0x0B40, + MKK11 = 0x1140, + MKK12 = 0x1240, + MKK13 = 0x0C40, + MKK14 = 0x1440, + MKK15 = 0x1540, + MKKA = 0x0A40, + MKKC = 0x0A50, + + NULL1 = 0x0198, + WORLD = 0x0199, + DEBUG_REG_DMN = 0x01ff, +}; + +enum { + FCC = 0x10, + MKK = 0x40, + ETSI = 0x30, + NO_CTL = 0xff +}; + /* These defines should match the table from ah_internal.h */ enum HAL_DFS_DOMAIN { @@ -85,18 +297,11 @@ enum HAL_DFS_DOMAIN { DFS_MKK4_DOMAIN = 3 /* Japan dfs domain */ }; - -/* - * THE following table is the mapping of regdomain pairs specified by - * an 8 bit regdomain value to the individual unitary reg domains - */ - typedef struct reg_dmn_pair_mapping { - uint16_t regDmnEnum; /* 16 bit reg domain pair */ - uint16_t regDmn5GHz; /* 5GHz reg domain */ - uint16_t regDmn2GHz; /* 2GHz reg domain */ - uint16_t singleCC; /* Country code of single country if - a one-on-one mapping exists */ + uint16_t regDmnEnum; + uint16_t regDmn5GHz; + uint16_t regDmn2GHz; + uint16_t singleCC; } REG_DMN_PAIR_MAPPING; typedef struct { @@ -107,24 +312,10 @@ typedef struct { } COUNTRY_CODE_TO_ENUM_RD; typedef struct reg_domain { - uint16_t regDmnEnum; /* value from EnumRd table */ + uint16_t regDmnEnum; uint8_t conformance_test_limit; } REG_DOMAIN; -/* Multi-Device RegDomain Support */ -typedef struct ath_hal_reg_dmn_tables { - /* regDomainPairs: Map of 8-bit regdomain values to unitary reg domain */ - const REG_DMN_PAIR_MAPPING *regDomainPairs; - /* allCountries: Master list of freq. bands (flags, settings) */ - const COUNTRY_CODE_TO_ENUM_RD *allCountries; - /* regDomains: Array of supported reg domains */ - const REG_DOMAIN *regDomains; - - uint16_t regDomainPairsCt; /* Num reg domain pair entries */ - uint16_t allCountriesCt; /* Num country entries */ - uint16_t regDomainsCt; /* Num reg domain entries */ -} HAL_REG_DMN_TABLES; - enum CountryCode { CTRY_AFGHANISTAN = 4, CTRY_ALBANIA = 8, @@ -336,9 +527,271 @@ enum CountryCode { CTRY_JAPAN49 = 4049, CTRY_JAPAN55 = 4055, CTRY_JAPAN56 = 4056, - }; +typedef struct ath_hal_reg_dmn_tables { + const REG_DMN_PAIR_MAPPING *regDomainPairs; + const COUNTRY_CODE_TO_ENUM_RD *allCountries; + const REG_DOMAIN *regDomains; + uint16_t regDomainPairsCt; + uint16_t allCountriesCt; + uint16_t regDomainsCt; +} HAL_REG_DMN_TABLES; + + +static const REG_DMN_PAIR_MAPPING ah_cmn_reg_domain_pairs[] = { + {NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN, 0}, + {NULL1_WORLD, NULL1, WORLD, 0}, + {NULL1_ETSIB, NULL1, ETSIB, 0}, + {NULL1_ETSIC, NULL1, ETSIC, 0}, + {FCC2_FCCA, FCC2, FCCA, 0}, + {FCC2_WORLD, FCC2, WORLD, 0}, + {FCC2_ETSIC, FCC2, ETSIC, 0}, + {FCC3_FCCA, FCC3, FCCA, 0}, + {FCC3_WORLD, FCC3, WORLD, 0}, + {FCC3_ETSIC, FCC3, ETSIC, 0}, + {FCC4_FCCA, FCC4, FCCA, 0}, + {FCC5_FCCA, FCC5, FCCA, 0}, + {FCC6_FCCA, FCC6, FCCA, 0}, + {FCC6_WORLD, FCC6, WORLD, 0}, + {ETSI1_WORLD, ETSI1, WORLD, 0}, + {ETSI2_WORLD, ETSI2, WORLD, 0}, + {ETSI3_WORLD, ETSI3, WORLD, 0}, + {ETSI4_WORLD, ETSI4, WORLD, 0}, + {ETSI5_WORLD, ETSI5, WORLD, 0}, + {ETSI6_WORLD, ETSI6, WORLD, 0}, + {ETSI8_WORLD, ETSI8, WORLD, 0}, + {ETSI9_WORLD, ETSI9, WORLD, 0}, + {ETSI3_ETSIA, ETSI3, WORLD, 0}, + {FRANCE_RES, ETSI3, WORLD, 0}, + {FCC1_WORLD, FCC1, WORLD, 0}, + {FCC1_FCCA, FCC1, FCCA, 0}, + {APL1_WORLD, APL1, WORLD, 0}, + {APL2_WORLD, APL2, WORLD, 0}, + {APL2_FCCA, APL2, FCCA, 0}, + {APL3_WORLD, APL3, WORLD, 0}, + {APL4_WORLD, APL4, WORLD, 0}, + {APL5_WORLD, APL5, WORLD, 0}, + {APL6_WORLD, APL6, WORLD, 0}, + {APL7_FCCA, APL7, FCCA, 0}, + {APL8_WORLD, APL8, WORLD, 0}, + {APL9_MKKC, APL9, MKKC, 0}, + {APL10_MKKC, APL10, MKKC, 0}, + {APL3_FCCA, APL3, FCCA, 0}, + {APL1_ETSIC, APL1, ETSIC, 0}, + {APL2_ETSIC, APL2, ETSIC, 0}, + {MKK3_MKKA, MKK3, MKKA, CTRY_JAPAN25}, + {MKK3_MKKB, MKK3, MKKA, CTRY_JAPAN7}, + {MKK3_MKKA1, MKK3, MKKA, CTRY_JAPAN26}, + {MKK3_MKKA2, MKK3, MKKA, CTRY_JAPAN8}, + {MKK3_MKKC, MKK3, MKKC, CTRY_JAPAN9}, + {MKK3_FCCA, MKK3, FCCA, CTRY_JAPAN27}, + {MKK4_MKKA, MKK4, MKKA, CTRY_JAPAN36}, + {MKK4_MKKB, MKK4, MKKA, CTRY_JAPAN10}, + {MKK4_MKKA1, MKK4, MKKA, CTRY_JAPAN28}, + {MKK4_MKKA2, MKK4, MKKA, CTRY_JAPAN11}, + {MKK4_MKKC, MKK4, MKKC, CTRY_JAPAN12}, + {MKK4_FCCA, MKK4, FCCA, CTRY_JAPAN29}, + {MKK5_MKKB, MKK5, MKKA, CTRY_JAPAN13}, + {MKK5_MKKA2, MKK5, MKKA, CTRY_JAPAN14}, + {MKK5_MKKC, MKK5, MKKC, CTRY_JAPAN15}, + {MKK5_FCCA, MKK5, FCCA, CTRY_JAPAN56}, + {MKK9_MKKA, MKK9, MKKA, CTRY_JAPAN34}, + {MKK9_FCCA, MKK9, FCCA, CTRY_JAPAN37}, + {MKK9_MKKA1, MKK9, MKKA, CTRY_JAPAN38}, + {MKK9_MKKA2, MKK9, MKKA, CTRY_JAPAN40}, + {MKK9_MKKC, MKK9, MKKC, CTRY_JAPAN39}, + {MKK10_MKKA, MKK10, MKKA, CTRY_JAPAN35}, + {MKK10_FCCA, MKK10, FCCA, CTRY_JAPAN41}, + {MKK10_MKKA1, MKK10, MKKA, CTRY_JAPAN42}, + {MKK10_MKKA2, MKK10, MKKA, CTRY_JAPAN44}, + {MKK10_MKKC, MKK10, MKKC, CTRY_JAPAN43}, + {MKK11_MKKA, MKK11, MKKA, CTRY_JAPAN45}, + {MKK11_FCCA, MKK11, FCCA, CTRY_JAPAN46}, + {MKK11_MKKA1, MKK11, MKKA, CTRY_JAPAN47}, + {MKK11_MKKA2, MKK11, MKKA, CTRY_JAPAN49}, + {MKK11_MKKC, MKK11, MKKC, CTRY_JAPAN48}, + + {WOR0_WORLD, WOR0_WORLD, WOR0_WORLD, 0}, + {WOR1_WORLD, WOR1_WORLD, WOR1_WORLD, 0}, + {WOR2_WORLD, WOR2_WORLD, WOR2_WORLD, 0}, + {WOR3_WORLD, WOR3_WORLD, WOR3_WORLD, 0}, + {WOR4_WORLD, WOR4_WORLD, WOR4_WORLD, 0}, + {WOR5_ETSIC, WOR5_ETSIC, WOR5_ETSIC, 0}, + {WOR01_WORLD, WOR01_WORLD, WOR01_WORLD, 0}, + {WOR02_WORLD, WOR02_WORLD, WOR02_WORLD, 0}, + {EU1_WORLD, EU1_WORLD, EU1_WORLD, 0}, + {WOR9_WORLD, WOR9_WORLD, WOR9_WORLD, 0}, + {WORA_WORLD, WORA_WORLD, WORA_WORLD, 0}, + {WORB_WORLD, WORB_WORLD, WORB_WORLD, 0}, + {WORC_WORLD, WORC_WORLD, WORC_WORLD, 0}, +}; + +static const COUNTRY_CODE_TO_ENUM_RD ah_cmn_all_countries[] = { + {CTRY_DEBUG, NO_ENUMRD, "DB", "DEBUG"}, + {CTRY_DEFAULT, DEF_REGDMN, "NA", "NO_COUNTRY_SET"}, + {CTRY_ALBANIA, NULL1_WORLD, "AL", "ALBANIA"}, + {CTRY_ALGERIA, NULL1_WORLD, "DZ", "ALGERIA"}, + {CTRY_ARGENTINA, FCC3_WORLD, "AR", "ARGENTINA"}, + {CTRY_ARMENIA, ETSI4_WORLD, "AM", "ARMENIA"}, + {CTRY_ARUBA, ETSI1_WORLD, "AW", "ARUBA"}, + {CTRY_AUSTRALIA, FCC3_WORLD, "AU", "AUSTRALIA"}, + {CTRY_AUSTRIA, ETSI1_WORLD, "AT", "AUSTRIA"}, + {CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", "AZERBAIJAN"}, + {CTRY_BAHAMAS, FCC3_WORLD, "BS", "BAHAMAS"}, + {CTRY_BAHRAIN, APL6_WORLD, "BH", "BAHRAIN"}, + {CTRY_BANGLADESH, NULL1_WORLD, "BD", "BANGLADESH"}, + {CTRY_BARBADOS, FCC2_WORLD, "BB", "BARBADOS"}, + {CTRY_BELARUS, ETSI1_WORLD, "BY", "BELARUS"}, + {CTRY_BELGIUM, ETSI1_WORLD, "BE", "BELGIUM"}, + {CTRY_BELIZE, APL1_ETSIC, "BZ", "BELIZE"}, + {CTRY_BERMUDA, FCC3_FCCA, "BM", "BERMUDA"}, + {CTRY_BOLIVIA, APL1_ETSIC, "BO", "BOLIVIA"}, + {CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA", "BOSNIA AND HERZEGOVINA"}, + {CTRY_BRAZIL, FCC3_WORLD, "BR", "BRAZIL"}, + {CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN", "BRUNEI DARUSSALAM"}, + {CTRY_BULGARIA, ETSI1_WORLD, "BG", "BULGARIA"}, + {CTRY_CAMBODIA, ETSI1_WORLD, "KH", "CAMBODIA"}, + {CTRY_CANADA, FCC3_FCCA, "CA", "CANADA"}, + {CTRY_CHILE, APL6_WORLD, "CL", "CHILE"}, + {CTRY_CHINA, APL1_WORLD, "CN", "CHINA"}, + {CTRY_COLOMBIA, FCC1_FCCA, "CO", "COLOMBIA"}, + {CTRY_COSTA_RICA, FCC1_WORLD, "CR", "COSTA RICA"}, + {CTRY_CROATIA, ETSI1_WORLD, "HR", "CROATIA"}, + {CTRY_CYPRUS, ETSI1_WORLD, "CY", "CYPRUS"}, + {CTRY_CZECH, ETSI1_WORLD, "CZ", "CZECH REPUBLIC"}, + {CTRY_DENMARK, ETSI1_WORLD, "DK", "DENMARK"}, + {CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO", "DOMINICAN REPUBLIC"}, + {CTRY_ECUADOR, FCC1_WORLD, "EC", "ECUADOR"}, + {CTRY_EGYPT, ETSI3_WORLD, "EG", "EGYPT"}, + {CTRY_EL_SALVADOR, FCC1_WORLD, "SV", "EL SALVADOR"}, + {CTRY_ESTONIA, ETSI1_WORLD, "EE", "ESTONIA"}, + {CTRY_FINLAND, ETSI1_WORLD, "FI", "FINLAND"}, + {CTRY_FRANCE, ETSI1_WORLD, "FR", "FRANCE"}, + {CTRY_GEORGIA, ETSI4_WORLD, "GE", "GEORGIA"}, + {CTRY_GERMANY, ETSI1_WORLD, "DE", "GERMANY"}, + {CTRY_GREECE, ETSI1_WORLD, "GR", "GREECE"}, + {CTRY_GREENLAND, ETSI1_WORLD, "GL", "GREENLAND"}, + {CTRY_GRENADA, FCC3_FCCA, "GD", "GRENADA"}, + {CTRY_GUAM, FCC1_FCCA, "GU", "GUAM"}, + {CTRY_GUATEMALA, FCC1_FCCA, "GT", "GUATEMALA"}, + {CTRY_HAITI, ETSI1_WORLD, "HT", "HAITI"}, + {CTRY_HONDURAS, FCC3_WORLD, "HN", "HONDURAS"}, + {CTRY_HONG_KONG, FCC3_WORLD, "HK", "HONG KONG"}, + {CTRY_HUNGARY, ETSI1_WORLD, "HU", "HUNGARY"}, + {CTRY_ICELAND, ETSI1_WORLD, "IS", "ICELAND"}, + {CTRY_INDIA, APL6_WORLD, "IN", "INDIA"}, + {CTRY_INDONESIA, APL2_WORLD, "ID", "INDONESIA"}, + {CTRY_IRAN, APL1_WORLD, "IR", "IRAN"}, + {CTRY_IRELAND, ETSI1_WORLD, "IE", "IRELAND"}, + {CTRY_ISRAEL, ETSI3_WORLD, "IL", "ISRAEL"}, + {CTRY_ITALY, ETSI1_WORLD, "IT", "ITALY"}, + {CTRY_JAMAICA, FCC3_WORLD, "JM", "JAMAICA"}, + {CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN"}, + {CTRY_JAPAN7, MKK3_MKKB, "JP", "JAPAN7"}, + {CTRY_JAPAN8, MKK3_MKKA2, "JP", "JAPAN8"}, + {CTRY_JAPAN9, MKK3_MKKC, "JP", "JAPAN9"}, + {CTRY_JAPAN10, MKK4_MKKB, "JP", "JAPAN10"}, + {CTRY_JAPAN11, MKK4_MKKA2, "JP", "JAPAN11"}, + {CTRY_JAPAN12, MKK4_MKKC, "JP", "JAPAN12"}, + {CTRY_JAPAN13, MKK5_MKKB, "JP", "JAPAN13"}, + {CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN14"}, + {CTRY_JAPAN15, MKK5_MKKC, "JP", "JAPAN15"}, + {CTRY_JAPAN25, MKK3_MKKA, "JP", "JAPAN25"}, + {CTRY_JAPAN26, MKK3_MKKA1, "JP", "JAPAN26"}, + {CTRY_JAPAN27, MKK3_FCCA, "JP", "JAPAN27"}, + {CTRY_JAPAN28, MKK4_MKKA1, "JP", "JAPAN28"}, + {CTRY_JAPAN29, MKK4_FCCA, "JP", "JAPAN29"}, + {CTRY_JAPAN34, MKK9_MKKA, "JP", "JAPAN34"}, + {CTRY_JAPAN35, MKK10_MKKA, "JP", "JAPAN35"}, + {CTRY_JAPAN36, MKK4_MKKA, "JP", "JAPAN36"}, + {CTRY_JAPAN37, MKK9_FCCA, "JP", "JAPAN37"}, + {CTRY_JAPAN38, MKK9_MKKA1, "JP", "JAPAN38"}, + {CTRY_JAPAN39, MKK9_MKKC, "JP", "JAPAN39"}, + {CTRY_JAPAN40, MKK9_MKKA2, "JP", "JAPAN40"}, + {CTRY_JAPAN41, MKK10_FCCA, "JP", "JAPAN41"}, + {CTRY_JAPAN42, MKK10_MKKA1, "JP", "JAPAN42"}, + {CTRY_JAPAN43, MKK10_MKKC, "JP", "JAPAN43"}, + {CTRY_JAPAN44, MKK10_MKKA2, "JP", "JAPAN44"}, + {CTRY_JAPAN45, MKK11_MKKA, "JP", "JAPAN45"}, + {CTRY_JAPAN46, MKK11_FCCA, "JP", "JAPAN46"}, + {CTRY_JAPAN47, MKK11_MKKA1, "JP", "JAPAN47"}, + {CTRY_JAPAN48, MKK11_MKKC, "JP", "JAPAN48"}, + {CTRY_JAPAN49, MKK11_MKKA2, "JP", "JAPAN49"}, + {CTRY_JAPAN55, MKK5_MKKA, "JP", "JAPAN55"}, + {CTRY_JAPAN56, MKK5_FCCA, "JP", "JAPAN56"}, + {CTRY_JORDAN, ETSI2_WORLD, "JO", "JORDAN"}, + {CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ", "KAZAKHSTAN"}, + {CTRY_KENYA, APL1_WORLD, "KE", "KENYA"}, + {CTRY_KOREA_NORTH, APL9_MKKC, "KP", "NORTH KOREA"}, + {CTRY_KOREA_ROC, APL10_MKKC, "KR", "KOREA REPUBLIC"}, + {CTRY_KOREA_ROC_AP, APL9_MKKC, "KR", "KOREA REPUBLIC3"}, + {CTRY_KUWAIT, ETSI3_WORLD, "KW", "KUWAIT"}, + {CTRY_LATVIA, ETSI1_WORLD, "LV", "LATVIA"}, + {CTRY_LEBANON, APL1_WORLD, "LB", "LEBANON"}, + {CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI", "LIECHTENSTEIN"}, + {CTRY_LITHUANIA, ETSI1_WORLD, "LT", "LITHUANIA"}, + {CTRY_LUXEMBOURG, ETSI1_WORLD, "LU", "LUXEMBOURG"}, + {CTRY_MACAU, FCC2_WORLD, "MO", "MACAU SAR"}, + {CTRY_MACEDONIA, ETSI1_WORLD, "MK", "MACEDONIA, FYRO"}, + {CTRY_MALAYSIA, FCC1_WORLD, "MY", "MALAYSIA"}, + {CTRY_MALTA, ETSI1_WORLD, "MT", "MALTA"}, + {CTRY_MAURITIUS, ETSI1_WORLD, "MU", "MAURITIUS"}, + {CTRY_MEXICO, FCC1_WORLD, "MX", "MEXICO"}, + {CTRY_MONACO, ETSI4_WORLD, "MC", "MONACO"}, + {CTRY_MOROCCO, APL4_WORLD, "MA", "MOROCCO"}, + {CTRY_NEPAL, APL1_WORLD, "NP", "NEPAL"}, + {CTRY_NETHERLANDS, ETSI1_WORLD, "NL", "NETHERLANDS"}, + {CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN", "NETHERLANDS ANTILLES"}, + {CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", "NEW ZEALAND"}, + {CTRY_NICARAGUA, FCC3_FCCA, "NI", "NICARAGUA"}, + {CTRY_NORWAY, ETSI1_WORLD, "NO", "NORWAY"}, + {CTRY_OMAN, FCC3_WORLD, "OM", "OMAN"}, + {CTRY_PAKISTAN, APL1_WORLD, "PK", "PAKISTAN"}, + {CTRY_PANAMA, FCC1_FCCA, "PA", "PANAMA"}, + {CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG", "PAPUA NEW GUINEA"}, + {CTRY_PARAGUAY, FCC3_WORLD, "PY", "PARAGUAY"}, + {CTRY_PERU, FCC3_WORLD, "PE", "PERU"}, + {CTRY_PHILIPPINES, FCC3_WORLD, "PH", "PHILIPPINES"}, + {CTRY_POLAND, ETSI1_WORLD, "PL", "POLAND"}, + {CTRY_PORTUGAL, ETSI1_WORLD, "PT", "PORTUGAL"}, + {CTRY_PUERTO_RICO, FCC1_FCCA, "PR", "PUERTO RICO"}, + {CTRY_QATAR, APL1_WORLD, "QA", "QATAR"}, + {CTRY_ROMANIA, ETSI1_WORLD, "RO", "ROMANIA"}, + {CTRY_RUSSIA, ETSI8_WORLD, "RU", "RUSSIA"}, + {CTRY_RWANDA, APL1_WORLD, "RW", "RWANDA"}, + {CTRY_SAUDI_ARABIA, FCC2_WORLD, "SA", "SAUDI ARABIA"}, + {CTRY_SERBIA, ETSI1_WORLD, "RS", "REPUBLIC OF SERBIA"}, + {CTRY_MONTENEGRO, ETSI1_WORLD, "ME", "MONTENEGRO"}, + {CTRY_SINGAPORE, FCC3_WORLD, "SG", "SINGAPORE"}, + {CTRY_SLOVAKIA, ETSI1_WORLD, "SK", "SLOVAKIA"}, + {CTRY_SLOVENIA, ETSI1_WORLD, "SI", "SLOVENIA"}, + {CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", "SOUTH AFRICA"}, + {CTRY_SPAIN, ETSI1_WORLD, "ES", "SPAIN"}, + {CTRY_SRI_LANKA, FCC3_WORLD, "LK", "SRI LANKA"}, + {CTRY_SWEDEN, ETSI1_WORLD, "SE", "SWEDEN"}, + {CTRY_SWITZERLAND, ETSI1_WORLD, "CH", "SWITZERLAND"}, + {CTRY_SYRIA, NULL1_WORLD, "SY", "SYRIAN ARAB REPUBLIC"}, + {CTRY_TAIWAN, APL7_FCCA, "TW", "TAIWAN"}, + {CTRY_TANZANIA, APL1_WORLD, "TZ", "TANZANIA"}, + {CTRY_THAILAND, FCC3_WORLD, "TH", "THAILAND"}, + {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", "TRINIDAD AND TOBAGO"}, + {CTRY_TUNISIA, ETSI3_WORLD, "TN", "TUNISIA"}, + {CTRY_TURKEY, ETSI3_WORLD, "TR", "TURKEY"}, + {CTRY_UGANDA, FCC3_WORLD, "UG", "UGANDA"}, + {CTRY_UKRAINE, ETSI9_WORLD, "UA", "UKRAINE"}, + {CTRY_UAE, ETSI1_WORLD, "AE", "UNITED ARAB EMIRATES"}, + {CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB", "UNITED KINGDOM"}, + {CTRY_UNITED_STATES, FCC3_FCCA, "US", "UNITED STATES"}, + {CTRY_UNITED_STATES_AP, FCC6_FCCA, "US", "UNITED STATES2"}, + {CTRY_UNITED_STATES_PS, FCC4_FCCA, "PS", "US PUBLIC SAFETY"}, + {CTRY_URUGUAY, FCC3_WORLD, "UY", "URUGUAY"}, + {CTRY_UZBEKISTAN, FCC3_FCCA, "UZ", "UZBEKISTAN"}, + {CTRY_VENEZUELA, FCC1_WORLD, "VE", "VENEZUELA"}, + {CTRY_VIET_NAM, ETSI3_WORLD, "VN", "VIETNAM"}, + {CTRY_YEMEN, NULL1_WORLD, "YE", "YEMEN"}, + {CTRY_ZIMBABWE, NULL1_WORLD, "ZW", "ZIMBABWE"} +}; /** * enum ch_width - channel width @@ -372,6 +825,93 @@ struct ch_params_s { uint8_t center_freq_seg1; }; +static const REG_DOMAIN ah_cmn_reg_domains[] = { + {DEBUG_REG_DMN, FCC}, + {APL1, FCC}, + {APL2, FCC}, + {APL3, FCC}, + {APL4, FCC}, + {APL5, FCC}, + {APL6, ETSI}, + {APL7, FCC}, + {APL8, ETSI}, + {APL9, ETSI}, + {APL10, ETSI}, + {APL11, ETSI}, + {APL12, ETSI}, + {ETSI1, ETSI}, + {ETSI2, ETSI}, + {ETSI3, ETSI}, + {ETSI4, ETSI}, + {ETSI5, ETSI}, + {ETSI6, ETSI}, + {ETSI8, ETSI}, + {ETSI9, ETSI}, + {FCC1, FCC}, + {FCC2, FCC}, + {FCC3, FCC}, + {FCC4, FCC}, + {FCC5, FCC}, + {FCC6, FCC}, + {MKK1, MKK}, + {MKK2, MKK}, + {MKK3, MKK}, + {MKK4, MKK}, + {MKK5, MKK}, + {MKK6, MKK}, + {MKK7, MKK}, + {MKK8, MKK}, + {MKK9, MKK}, + {MKK10, MKK}, + {MKK11, MKK}, + {MKK12, MKK}, + {MKK13, MKK}, + {MKK14, MKK}, + {MKK15, MKK}, + {APLD, NO_CTL}, + {ETSIA, NO_CTL}, + {ETSIB, ETSI}, + {ETSIC, ETSI}, + {FCCA, FCC}, + {MKKA, MKK}, + {MKKC, MKK}, + {WORLD, ETSI}, + {WOR0_WORLD, NO_CTL}, + {WOR01_WORLD, NO_CTL}, + {WOR02_WORLD, NO_CTL}, + {EU1_WORLD, NO_CTL}, + {WOR1_WORLD, NO_CTL}, + {WOR2_WORLD, NO_CTL}, + {WOR3_WORLD, NO_CTL}, + {WOR4_WORLD, NO_CTL}, + {WOR5_ETSIC, NO_CTL}, + {WOR9_WORLD, NO_CTL}, + {WORA_WORLD, NO_CTL}, + {WORB_WORLD, NO_CTL}, + {WORC_WORLD, NO_CTL}, + {NULL1, NO_CTL}, +}; + +typedef enum offset { + BW20 = 0, + BW40_LOW_PRIMARY = 1, + BW40_HIGH_PRIMARY = 3, + BW80, + BWALL +} offset_t; + +typedef struct _regdm_op_class_map { + uint8_t op_class; + uint8_t ch_spacing; + offset_t offset; + uint8_t channels[MAX_CHANNELS_PER_OPERATING_CLASS]; +} regdm_op_class_map_t; + +typedef struct _regdm_supp_op_classes { + uint8_t num_classes; + uint8_t classes[CDS_MAX_SUPP_OPER_CLASSES]; +} regdm_supp_op_classes; + int32_t cds_fill_some_regulatory_info(struct regulatory *reg); void cds_fill_and_send_ctl_to_fw(struct regulatory *reg); @@ -381,4 +921,11 @@ void cds_set_wma_dfs_region(uint8_t dfs_region); void cds_set_ch_params(uint8_t ch, uint32_t phy_mode, struct ch_params_s *ch_params); +uint16_t cds_regdm_get_opclass_from_channel(uint8_t *country, uint8_t channel, + uint8_t offset); +uint16_t cds_regdm_get_chanwidth_from_opclass(uint8_t *country, uint8_t channel, + uint8_t opclass); +uint16_t cds_regdm_set_curr_opclasses(uint8_t num_classes, uint8_t *class); +uint16_t cds_regdm_get_curr_opclasses(uint8_t *num_classes, uint8_t *class); + #endif /* REGULATORY_H */ diff --git a/core/cds/inc/cds_regdomain_common.h b/core/cds/inc/cds_regdomain_common.h deleted file mode 100644 index 02ab52207a21..000000000000 --- a/core/cds/inc/cds_regdomain_common.h +++ /dev/null @@ -1,637 +0,0 @@ -/* - * Copyright (c) 2011, 2014-2015 The Linux Foundation. All rights reserved. - * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * - * - * Permission to use, copy, modify, and/or distribute this software for - * any purpose with or without fee is hereby granted, provided that the - * above copyright notice and this permission notice appear in all - * copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ - -/* - * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting - * Copyright (c) 2005-2011 Atheros Communications, Inc. - * All rights reserved. - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * $FreeBSD: release/9.0.0/sys/dev/ath/ath_hal/ah_regdomain/ah_rd_regenum.h 224226 2011-07-20 12:46:58Z adrian $ - */ -/* - * This module contains the common regulatory domain database tables: - * - * - reg domain enum constants - * - reg domain enum to reg domain pair mappings - * - country to regdomain mappings - * - channel tag enums and the frequency-to-frequency band mappings - * for all the modes - * - * "The country table and respective Regulatory Domain channel and power - * settings are based on available knowledge as of software release. The - * underlying global regulatory and spectrum rules change on a regular basis, - * therefore, no warranty is given that the channel and power information - * herein is complete, accurate or up to date. Developers are responsible - * for regulatory compliance of end-products developed using the enclosed - * data per all applicable national requirements. Furthermore, data in this - * table does not guarantee that spectrum is available and that regulatory - * approval is possible in every case. Knowldegable regulatory compliance - * or government contacts should be consulted by the manufacturer to ensure - * that the most current and accurate settings are used in each end-product. - * This table was designed so that developers are able to update the country - * table mappings as well as the Regulatory Domain definitions in order to - * incorporate the most current channel and power settings in the end-product." - * - */ - -/* Enumerated Regulatory Domain Information 8 bit values indicate that - * the regdomain is really a pair of unitary regdomains. 12 bit values - * are the real unitary regdomains and are the only ones which have the - * frequency bitmasks and flags set. - */ - - -#define MAX_CHANNELS_PER_OPERATING_CLASS 25 - -enum EnumRd { - NO_ENUMRD = 0x00, - NULL1_WORLD = 0x03, - NULL1_ETSIB = 0x07, - NULL1_ETSIC = 0x08, - FCC1_FCCA = 0x10, - FCC1_WORLD = 0x11, - FCC4_FCCA = 0x12, - FCC5_FCCA = 0x13, - FCC6_FCCA = 0x14, - - FCC2_FCCA = 0x20, - FCC2_WORLD = 0x21, - FCC2_ETSIC = 0x22, - FCC6_WORLD = 0x23, - FRANCE_RES = 0x31, - FCC3_FCCA = 0x3A, - FCC3_WORLD = 0x3B, - FCC3_ETSIC = 0x3F, - - ETSI1_WORLD = 0x37, - ETSI3_ETSIA = 0x32, - ETSI2_WORLD = 0x35, - ETSI3_WORLD = 0x36, - ETSI4_WORLD = 0x30, - ETSI4_ETSIC = 0x38, - ETSI5_WORLD = 0x39, - ETSI6_WORLD = 0x34, - ETSI8_WORLD = 0x3D, - ETSI9_WORLD = 0x3E, - ETSI_RESERVED = 0x33, - - MKK1_MKKA = 0x40, - MKK1_MKKB = 0x41, - APL4_WORLD = 0x42, - MKK2_MKKA = 0x43, - APL_RESERVED = 0x44, - APL2_WORLD = 0x45, - APL2_APLC = 0x46, - APL3_WORLD = 0x47, - MKK1_FCCA = 0x48, - APL2_APLD = 0x49, - MKK1_MKKA1 = 0x4A, - MKK1_MKKA2 = 0x4B, - MKK1_MKKC = 0x4C, - APL2_FCCA = 0x4D, - APL11_FCCA = 0x4F, - - APL3_FCCA = 0x50, - APL12_WORLD = 0x51, - APL1_WORLD = 0x52, - APL1_FCCA = 0x53, - APL1_APLA = 0x54, - APL1_ETSIC = 0x55, - APL2_ETSIC = 0x56, - APL5_WORLD = 0x58, - APL13_WORLD = 0x5A, - APL6_WORLD = 0x5B, - APL7_FCCA = 0x5C, - APL8_WORLD = 0x5D, - APL9_MKKC = 0x5E, - APL10_MKKC = 0x5F, - - WOR0_WORLD = 0x60, - WOR1_WORLD = 0x61, - WOR2_WORLD = 0x62, - WOR3_WORLD = 0x63, - WOR4_WORLD = 0x64, - WOR5_ETSIC = 0x65, - - WOR01_WORLD = 0x66, - WOR02_WORLD = 0x67, - EU1_WORLD = 0x68, - - WOR9_WORLD = 0x69, - WORA_WORLD = 0x6A, - WORB_WORLD = 0x6B, - WORC_WORLD = 0x6C, - - MKK3_MKKB = 0x80, - MKK3_MKKA2 = 0x81, - MKK3_MKKC = 0x82, - - MKK4_MKKB = 0x83, - MKK4_MKKA2 = 0x84, - MKK4_MKKC = 0x85, - - MKK5_MKKB = 0x86, - MKK5_MKKA2 = 0x87, - MKK5_MKKC = 0x88, - MKK5_MKKA = 0x99, - MKK5_FCCA = 0x9A, - - MKK6_MKKB = 0x89, - MKK6_MKKA2 = 0x8A, - MKK6_MKKC = 0x8B, - - MKK7_MKKB = 0x8C, - MKK7_MKKA2 = 0x8D, - MKK7_MKKC = 0x8E, - - MKK8_MKKB = 0x8F, - MKK8_MKKA2 = 0x90, - MKK8_MKKC = 0x91, - - MKK14_MKKA1 = 0x92, - MKK15_MKKA1 = 0x93, - - MKK10_FCCA = 0xD0, - MKK10_MKKA1 = 0xD1, - MKK10_MKKC = 0xD2, - MKK10_MKKA2 = 0xD3, - - MKK11_MKKA = 0xD4, - MKK11_FCCA = 0xD5, - MKK11_MKKA1 = 0xD6, - MKK11_MKKC = 0xD7, - MKK11_MKKA2 = 0xD8, - - MKK12_MKKA = 0xD9, - MKK12_FCCA = 0xDA, - MKK12_MKKA1 = 0xDB, - MKK12_MKKC = 0xDC, - MKK12_MKKA2 = 0xDD, - - MKK13_MKKB = 0xDE, - - MKK3_MKKA = 0xF0, - MKK3_MKKA1 = 0xF1, - MKK3_FCCA = 0xF2, - MKK4_MKKA = 0xF3, - MKK4_MKKA1 = 0xF4, - MKK4_FCCA = 0xF5, - MKK9_MKKA = 0xF6, - MKK10_MKKA = 0xF7, - MKK6_MKKA1 = 0xF8, - MKK6_FCCA = 0xF9, - MKK7_MKKA1 = 0xFA, - MKK7_FCCA = 0xFB, - MKK9_FCCA = 0xFC, - MKK9_MKKA1 = 0xFD, - MKK9_MKKC = 0xFE, - MKK9_MKKA2 = 0xFF, - - APL1 = 0x0150, - APL2 = 0x0250, - APL3 = 0x0350, - APL4 = 0x0450, - APL5 = 0x0550, - APL6 = 0x0650, - APL7 = 0x0750, - APL8 = 0x0850, - APL9 = 0x0950, - APL10 = 0x1050, - APL11 = 0x1150, - APL12 = 0x1160, - - ETSI1 = 0x0130, - ETSI2 = 0x0230, - ETSI3 = 0x0330, - ETSI4 = 0x0430, - ETSI5 = 0x0530, - ETSI6 = 0x0630, - ETSI8 = 0x0830, - ETSI9 = 0x0930, - ETSIA = 0x0A30, - ETSIB = 0x0B30, - ETSIC = 0x0C30, - - FCC1 = 0x0110, - FCC2 = 0x0120, - FCC3 = 0x0160, - FCC4 = 0x0165, - FCC5 = 0x0510, - FCC6 = 0x0610, - FCCA = 0x0A10, - - APLD = 0x0D50, - - MKK1 = 0x0140, - MKK2 = 0x0240, - MKK3 = 0x0340, - MKK4 = 0x0440, - MKK5 = 0x0540, - MKK6 = 0x0640, - MKK7 = 0x0740, - MKK8 = 0x0840, - MKK9 = 0x0940, - MKK10 = 0x0B40, - MKK11 = 0x1140, - MKK12 = 0x1240, - MKK13 = 0x0C40, - MKK14 = 0x1440, - MKK15 = 0x1540, - MKKA = 0x0A40, - MKKC = 0x0A50, - - NULL1 = 0x0198, - WORLD = 0x0199, - DEBUG_REG_DMN = 0x01ff, -}; - -enum { - FCC = 0x10, - MKK = 0x40, - ETSI = 0x30, - NO_CTL = 0xff -}; - -static const REG_DMN_PAIR_MAPPING ah_cmn_reg_domain_pairs[] = { - {NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN, 0}, - {NULL1_WORLD, NULL1, WORLD, 0}, - {NULL1_ETSIB, NULL1, ETSIB, 0}, - {NULL1_ETSIC, NULL1, ETSIC, 0}, - {FCC2_FCCA, FCC2, FCCA, 0}, - {FCC2_WORLD, FCC2, WORLD, 0}, - {FCC2_ETSIC, FCC2, ETSIC, 0}, - {FCC3_FCCA, FCC3, FCCA, 0}, - {FCC3_WORLD, FCC3, WORLD, 0}, - {FCC3_ETSIC, FCC3, ETSIC, 0}, - {FCC4_FCCA, FCC4, FCCA, 0}, - {FCC5_FCCA, FCC5, FCCA, 0}, - {FCC6_FCCA, FCC6, FCCA, 0}, - {FCC6_WORLD, FCC6, WORLD, 0}, - {ETSI1_WORLD, ETSI1, WORLD, 0}, - {ETSI2_WORLD, ETSI2, WORLD, 0}, - {ETSI3_WORLD, ETSI3, WORLD, 0}, - {ETSI4_WORLD, ETSI4, WORLD, 0}, - {ETSI5_WORLD, ETSI5, WORLD, 0}, - {ETSI6_WORLD, ETSI6, WORLD, 0}, - {ETSI8_WORLD, ETSI8, WORLD, 0}, - {ETSI9_WORLD, ETSI9, WORLD, 0}, - {ETSI3_ETSIA, ETSI3, WORLD, 0}, - {FRANCE_RES, ETSI3, WORLD, 0}, - {FCC1_WORLD, FCC1, WORLD, 0}, - {FCC1_FCCA, FCC1, FCCA, 0}, - {APL1_WORLD, APL1, WORLD, 0}, - {APL2_WORLD, APL2, WORLD, 0}, - {APL2_FCCA, APL2, FCCA, 0}, - {APL3_WORLD, APL3, WORLD, 0}, - {APL4_WORLD, APL4, WORLD, 0}, - {APL5_WORLD, APL5, WORLD, 0}, - {APL6_WORLD, APL6, WORLD, 0}, - {APL7_FCCA, APL7, FCCA, 0}, - {APL8_WORLD, APL8, WORLD, 0}, - {APL9_MKKC, APL9, MKKC, 0}, - {APL10_MKKC, APL10, MKKC, 0}, - {APL3_FCCA, APL3, FCCA, 0}, - {APL1_ETSIC, APL1, ETSIC, 0}, - {APL2_ETSIC, APL2, ETSIC, 0}, - {MKK3_MKKA, MKK3, MKKA, CTRY_JAPAN25}, - {MKK3_MKKB, MKK3, MKKA, CTRY_JAPAN7}, - {MKK3_MKKA1, MKK3, MKKA, CTRY_JAPAN26}, - {MKK3_MKKA2, MKK3, MKKA, CTRY_JAPAN8}, - {MKK3_MKKC, MKK3, MKKC, CTRY_JAPAN9}, - {MKK3_FCCA, MKK3, FCCA, CTRY_JAPAN27}, - {MKK4_MKKA, MKK4, MKKA, CTRY_JAPAN36}, - {MKK4_MKKB, MKK4, MKKA, CTRY_JAPAN10}, - {MKK4_MKKA1, MKK4, MKKA, CTRY_JAPAN28}, - {MKK4_MKKA2, MKK4, MKKA, CTRY_JAPAN11}, - {MKK4_MKKC, MKK4, MKKC, CTRY_JAPAN12}, - {MKK4_FCCA, MKK4, FCCA, CTRY_JAPAN29}, - {MKK5_MKKB, MKK5, MKKA, CTRY_JAPAN13}, - {MKK5_MKKA2, MKK5, MKKA, CTRY_JAPAN14}, - {MKK5_MKKC, MKK5, MKKC, CTRY_JAPAN15}, - {MKK5_FCCA, MKK5, FCCA, CTRY_JAPAN56}, - {MKK9_MKKA, MKK9, MKKA, CTRY_JAPAN34}, - {MKK9_FCCA, MKK9, FCCA, CTRY_JAPAN37}, - {MKK9_MKKA1, MKK9, MKKA, CTRY_JAPAN38}, - {MKK9_MKKA2, MKK9, MKKA, CTRY_JAPAN40}, - {MKK9_MKKC, MKK9, MKKC, CTRY_JAPAN39}, - {MKK10_MKKA, MKK10, MKKA, CTRY_JAPAN35}, - {MKK10_FCCA, MKK10, FCCA, CTRY_JAPAN41}, - {MKK10_MKKA1, MKK10, MKKA, CTRY_JAPAN42}, - {MKK10_MKKA2, MKK10, MKKA, CTRY_JAPAN44}, - {MKK10_MKKC, MKK10, MKKC, CTRY_JAPAN43}, - {MKK11_MKKA, MKK11, MKKA, CTRY_JAPAN45}, - {MKK11_FCCA, MKK11, FCCA, CTRY_JAPAN46}, - {MKK11_MKKA1, MKK11, MKKA, CTRY_JAPAN47}, - {MKK11_MKKA2, MKK11, MKKA, CTRY_JAPAN49}, - {MKK11_MKKC, MKK11, MKKC, CTRY_JAPAN48}, - - {WOR0_WORLD, WOR0_WORLD, WOR0_WORLD, 0}, - {WOR1_WORLD, WOR1_WORLD, WOR1_WORLD, 0}, - {WOR2_WORLD, WOR2_WORLD, WOR2_WORLD, 0}, - {WOR3_WORLD, WOR3_WORLD, WOR3_WORLD, 0}, - {WOR4_WORLD, WOR4_WORLD, WOR4_WORLD, 0}, - {WOR5_ETSIC, WOR5_ETSIC, WOR5_ETSIC, 0}, - {WOR01_WORLD, WOR01_WORLD, WOR01_WORLD, 0}, - {WOR02_WORLD, WOR02_WORLD, WOR02_WORLD, 0}, - {EU1_WORLD, EU1_WORLD, EU1_WORLD, 0}, - {WOR9_WORLD, WOR9_WORLD, WOR9_WORLD, 0}, - {WORA_WORLD, WORA_WORLD, WORA_WORLD, 0}, - {WORB_WORLD, WORB_WORLD, WORB_WORLD, 0}, - {WORC_WORLD, WORC_WORLD, WORC_WORLD, 0}, -}; - -static const COUNTRY_CODE_TO_ENUM_RD ah_cmn_all_countries[] = { - {CTRY_DEBUG, NO_ENUMRD, "DB", "DEBUG"}, - {CTRY_DEFAULT, DEF_REGDMN, "NA", "NO_COUNTRY_SET"}, - {CTRY_ALBANIA, NULL1_WORLD, "AL", "ALBANIA"}, - {CTRY_ALGERIA, NULL1_WORLD, "DZ", "ALGERIA"}, - {CTRY_ARGENTINA, FCC3_WORLD, "AR", "ARGENTINA"}, - {CTRY_ARMENIA, ETSI4_WORLD, "AM", "ARMENIA"}, - {CTRY_ARUBA, ETSI1_WORLD, "AW", "ARUBA"}, - {CTRY_AUSTRALIA, FCC3_WORLD, "AU", "AUSTRALIA"}, - {CTRY_AUSTRIA, ETSI1_WORLD, "AT", "AUSTRIA"}, - {CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", "AZERBAIJAN"}, - {CTRY_BAHAMAS, FCC3_WORLD, "BS", "BAHAMAS"}, - {CTRY_BAHRAIN, APL6_WORLD, "BH", "BAHRAIN"}, - {CTRY_BANGLADESH, NULL1_WORLD, "BD", "BANGLADESH"}, - {CTRY_BARBADOS, FCC2_WORLD, "BB", "BARBADOS"}, - {CTRY_BELARUS, ETSI1_WORLD, "BY", "BELARUS"}, - {CTRY_BELGIUM, ETSI1_WORLD, "BE", "BELGIUM"}, - {CTRY_BELIZE, APL1_ETSIC, "BZ", "BELIZE"}, - {CTRY_BERMUDA, FCC3_FCCA, "BM", "BERMUDA"}, - {CTRY_BOLIVIA, APL1_ETSIC, "BO", "BOLIVIA"}, - {CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA", "BOSNIA AND HERZEGOVINA"}, - {CTRY_BRAZIL, FCC3_WORLD, "BR", "BRAZIL"}, - {CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN", "BRUNEI DARUSSALAM"}, - {CTRY_BULGARIA, ETSI1_WORLD, "BG", "BULGARIA"}, - {CTRY_CAMBODIA, ETSI1_WORLD, "KH", "CAMBODIA"}, - {CTRY_CANADA, FCC3_FCCA, "CA", "CANADA"}, - {CTRY_CHILE, APL6_WORLD, "CL", "CHILE"}, - {CTRY_CHINA, APL1_WORLD, "CN", "CHINA"}, - {CTRY_COLOMBIA, FCC1_FCCA, "CO", "COLOMBIA"}, - {CTRY_COSTA_RICA, FCC1_WORLD, "CR", "COSTA RICA"}, - {CTRY_CROATIA, ETSI1_WORLD, "HR", "CROATIA"}, - {CTRY_CYPRUS, ETSI1_WORLD, "CY", "CYPRUS"}, - {CTRY_CZECH, ETSI1_WORLD, "CZ", "CZECH REPUBLIC"}, - {CTRY_DENMARK, ETSI1_WORLD, "DK", "DENMARK"}, - {CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO", "DOMINICAN REPUBLIC"}, - {CTRY_ECUADOR, FCC1_WORLD, "EC", "ECUADOR"}, - {CTRY_EGYPT, ETSI3_WORLD, "EG", "EGYPT"}, - {CTRY_EL_SALVADOR, FCC1_WORLD, "SV", "EL SALVADOR"}, - {CTRY_ESTONIA, ETSI1_WORLD, "EE", "ESTONIA"}, - {CTRY_FINLAND, ETSI1_WORLD, "FI", "FINLAND"}, - {CTRY_FRANCE, ETSI1_WORLD, "FR", "FRANCE"}, - {CTRY_GEORGIA, ETSI4_WORLD, "GE", "GEORGIA"}, - {CTRY_GERMANY, ETSI1_WORLD, "DE", "GERMANY"}, - {CTRY_GREECE, ETSI1_WORLD, "GR", "GREECE"}, - {CTRY_GREENLAND, ETSI1_WORLD, "GL", "GREENLAND"}, - {CTRY_GRENADA, FCC3_FCCA, "GD", "GRENADA"}, - {CTRY_GUAM, FCC1_FCCA, "GU", "GUAM"}, - {CTRY_GUATEMALA, FCC1_FCCA, "GT", "GUATEMALA"}, - {CTRY_HAITI, ETSI1_WORLD, "HT", "HAITI"}, - {CTRY_HONDURAS, FCC3_WORLD, "HN", "HONDURAS"}, - {CTRY_HONG_KONG, FCC3_WORLD, "HK", "HONG KONG"}, - {CTRY_HUNGARY, ETSI1_WORLD, "HU", "HUNGARY"}, - {CTRY_ICELAND, ETSI1_WORLD, "IS", "ICELAND"}, - {CTRY_INDIA, APL6_WORLD, "IN", "INDIA"}, - {CTRY_INDONESIA, APL2_WORLD, "ID", "INDONESIA"}, - {CTRY_IRAN, APL1_WORLD, "IR", "IRAN"}, - {CTRY_IRELAND, ETSI1_WORLD, "IE", "IRELAND"}, - {CTRY_ISRAEL, ETSI3_WORLD, "IL", "ISRAEL"}, - {CTRY_ITALY, ETSI1_WORLD, "IT", "ITALY"}, - {CTRY_JAMAICA, FCC3_WORLD, "JM", "JAMAICA"}, - {CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN"}, - {CTRY_JAPAN7, MKK3_MKKB, "JP", "JAPAN7"}, - {CTRY_JAPAN8, MKK3_MKKA2, "JP", "JAPAN8"}, - {CTRY_JAPAN9, MKK3_MKKC, "JP", "JAPAN9"}, - {CTRY_JAPAN10, MKK4_MKKB, "JP", "JAPAN10"}, - {CTRY_JAPAN11, MKK4_MKKA2, "JP", "JAPAN11"}, - {CTRY_JAPAN12, MKK4_MKKC, "JP", "JAPAN12"}, - {CTRY_JAPAN13, MKK5_MKKB, "JP", "JAPAN13"}, - {CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN14"}, - {CTRY_JAPAN15, MKK5_MKKC, "JP", "JAPAN15"}, - {CTRY_JAPAN25, MKK3_MKKA, "JP", "JAPAN25"}, - {CTRY_JAPAN26, MKK3_MKKA1, "JP", "JAPAN26"}, - {CTRY_JAPAN27, MKK3_FCCA, "JP", "JAPAN27"}, - {CTRY_JAPAN28, MKK4_MKKA1, "JP", "JAPAN28"}, - {CTRY_JAPAN29, MKK4_FCCA, "JP", "JAPAN29"}, - {CTRY_JAPAN34, MKK9_MKKA, "JP", "JAPAN34"}, - {CTRY_JAPAN35, MKK10_MKKA, "JP", "JAPAN35"}, - {CTRY_JAPAN36, MKK4_MKKA, "JP", "JAPAN36"}, - {CTRY_JAPAN37, MKK9_FCCA, "JP", "JAPAN37"}, - {CTRY_JAPAN38, MKK9_MKKA1, "JP", "JAPAN38"}, - {CTRY_JAPAN39, MKK9_MKKC, "JP", "JAPAN39"}, - {CTRY_JAPAN40, MKK9_MKKA2, "JP", "JAPAN40"}, - {CTRY_JAPAN41, MKK10_FCCA, "JP", "JAPAN41"}, - {CTRY_JAPAN42, MKK10_MKKA1, "JP", "JAPAN42"}, - {CTRY_JAPAN43, MKK10_MKKC, "JP", "JAPAN43"}, - {CTRY_JAPAN44, MKK10_MKKA2, "JP", "JAPAN44"}, - {CTRY_JAPAN45, MKK11_MKKA, "JP", "JAPAN45"}, - {CTRY_JAPAN46, MKK11_FCCA, "JP", "JAPAN46"}, - {CTRY_JAPAN47, MKK11_MKKA1, "JP", "JAPAN47"}, - {CTRY_JAPAN48, MKK11_MKKC, "JP", "JAPAN48"}, - {CTRY_JAPAN49, MKK11_MKKA2, "JP", "JAPAN49"}, - {CTRY_JAPAN55, MKK5_MKKA, "JP", "JAPAN55"}, - {CTRY_JAPAN56, MKK5_FCCA, "JP", "JAPAN56"}, - {CTRY_JORDAN, ETSI2_WORLD, "JO", "JORDAN"}, - {CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ", "KAZAKHSTAN"}, - {CTRY_KENYA, APL1_WORLD, "KE", "KENYA"}, - {CTRY_KOREA_NORTH, APL9_MKKC, "KP", "NORTH KOREA"}, - {CTRY_KOREA_ROC, APL10_MKKC, "KR", "KOREA REPUBLIC"}, - {CTRY_KOREA_ROC_AP, APL9_MKKC, "KR", "KOREA REPUBLIC3"}, - {CTRY_KUWAIT, ETSI3_WORLD, "KW", "KUWAIT"}, - {CTRY_LATVIA, ETSI1_WORLD, "LV", "LATVIA"}, - {CTRY_LEBANON, APL1_WORLD, "LB", "LEBANON"}, - {CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI", "LIECHTENSTEIN"}, - {CTRY_LITHUANIA, ETSI1_WORLD, "LT", "LITHUANIA"}, - {CTRY_LUXEMBOURG, ETSI1_WORLD, "LU", "LUXEMBOURG"}, - {CTRY_MACAU, FCC2_WORLD, "MO", "MACAU SAR"}, - {CTRY_MACEDONIA, ETSI1_WORLD, "MK", "MACEDONIA, FYRO"}, - {CTRY_MALAYSIA, FCC1_WORLD, "MY", "MALAYSIA"}, - {CTRY_MALTA, ETSI1_WORLD, "MT", "MALTA"}, - {CTRY_MAURITIUS, ETSI1_WORLD, "MU", "MAURITIUS"}, - {CTRY_MEXICO, FCC1_WORLD, "MX", "MEXICO"}, - {CTRY_MONACO, ETSI4_WORLD, "MC", "MONACO"}, - {CTRY_MOROCCO, APL4_WORLD, "MA", "MOROCCO"}, - {CTRY_NEPAL, APL1_WORLD, "NP", "NEPAL"}, - {CTRY_NETHERLANDS, ETSI1_WORLD, "NL", "NETHERLANDS"}, - {CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN", "NETHERLANDS ANTILLES"}, - {CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", "NEW ZEALAND"}, - {CTRY_NICARAGUA, FCC3_FCCA, "NI", "NICARAGUA"}, - {CTRY_NORWAY, ETSI1_WORLD, "NO", "NORWAY"}, - {CTRY_OMAN, FCC3_WORLD, "OM", "OMAN"}, - {CTRY_PAKISTAN, APL1_WORLD, "PK", "PAKISTAN"}, - {CTRY_PANAMA, FCC1_FCCA, "PA", "PANAMA"}, - {CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG", "PAPUA NEW GUINEA"}, - {CTRY_PARAGUAY, FCC3_WORLD, "PY", "PARAGUAY"}, - {CTRY_PERU, FCC3_WORLD, "PE", "PERU"}, - {CTRY_PHILIPPINES, FCC3_WORLD, "PH", "PHILIPPINES"}, - {CTRY_POLAND, ETSI1_WORLD, "PL", "POLAND"}, - {CTRY_PORTUGAL, ETSI1_WORLD, "PT", "PORTUGAL"}, - {CTRY_PUERTO_RICO, FCC1_FCCA, "PR", "PUERTO RICO"}, - {CTRY_QATAR, APL1_WORLD, "QA", "QATAR"}, - {CTRY_ROMANIA, ETSI1_WORLD, "RO", "ROMANIA"}, - {CTRY_RUSSIA, ETSI8_WORLD, "RU", "RUSSIA"}, - {CTRY_RWANDA, APL1_WORLD, "RW", "RWANDA"}, - {CTRY_SAUDI_ARABIA, FCC2_WORLD, "SA", "SAUDI ARABIA"}, - {CTRY_SERBIA, ETSI1_WORLD, "RS", "REPUBLIC OF SERBIA"}, - {CTRY_MONTENEGRO, ETSI1_WORLD, "ME", "MONTENEGRO"}, - {CTRY_SINGAPORE, FCC3_WORLD, "SG", "SINGAPORE"}, - {CTRY_SLOVAKIA, ETSI1_WORLD, "SK", "SLOVAKIA"}, - {CTRY_SLOVENIA, ETSI1_WORLD, "SI", "SLOVENIA"}, - {CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", "SOUTH AFRICA"}, - {CTRY_SPAIN, ETSI1_WORLD, "ES", "SPAIN"}, - {CTRY_SRI_LANKA, FCC3_WORLD, "LK", "SRI LANKA"}, - {CTRY_SWEDEN, ETSI1_WORLD, "SE", "SWEDEN"}, - {CTRY_SWITZERLAND, ETSI1_WORLD, "CH", "SWITZERLAND"}, - {CTRY_SYRIA, NULL1_WORLD, "SY", "SYRIAN ARAB REPUBLIC"}, - {CTRY_TAIWAN, APL7_FCCA, "TW", "TAIWAN"}, - {CTRY_TANZANIA, APL1_WORLD, "TZ", "TANZANIA"}, - {CTRY_THAILAND, FCC3_WORLD, "TH", "THAILAND"}, - {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", "TRINIDAD AND TOBAGO"}, - {CTRY_TUNISIA, ETSI3_WORLD, "TN", "TUNISIA"}, - {CTRY_TURKEY, ETSI3_WORLD, "TR", "TURKEY"}, - {CTRY_UGANDA, FCC3_WORLD, "UG", "UGANDA"}, - {CTRY_UKRAINE, ETSI9_WORLD, "UA", "UKRAINE"}, - {CTRY_UAE, ETSI1_WORLD, "AE", "UNITED ARAB EMIRATES"}, - {CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB", "UNITED KINGDOM"}, - {CTRY_UNITED_STATES, FCC3_FCCA, "US", "UNITED STATES"}, - {CTRY_UNITED_STATES_AP, FCC6_FCCA, "US", "UNITED STATES2"}, - {CTRY_UNITED_STATES_PS, FCC4_FCCA, "PS", "US PUBLIC SAFETY"}, - {CTRY_URUGUAY, FCC3_WORLD, "UY", "URUGUAY"}, - {CTRY_UZBEKISTAN, FCC3_FCCA, "UZ", "UZBEKISTAN"}, - {CTRY_VENEZUELA, FCC1_WORLD, "VE", "VENEZUELA"}, - {CTRY_VIET_NAM, ETSI3_WORLD, "VN", "VIETNAM"}, - {CTRY_YEMEN, NULL1_WORLD, "YE", "YEMEN"}, - {CTRY_ZIMBABWE, NULL1_WORLD, "ZW", "ZIMBABWE"} -}; - -static const REG_DOMAIN ah_cmn_reg_domains[] = { - {DEBUG_REG_DMN, FCC}, - {APL1, FCC}, - {APL2, FCC}, - {APL3, FCC}, - {APL4, FCC}, - {APL5, FCC}, - {APL6, ETSI}, - {APL7, FCC}, - {APL8, ETSI}, - {APL9, ETSI}, - {APL10, ETSI}, - {APL11, ETSI}, - {APL12, ETSI}, - {ETSI1, ETSI}, - {ETSI2, ETSI}, - {ETSI3, ETSI}, - {ETSI4, ETSI}, - {ETSI5, ETSI}, - {ETSI6, ETSI}, - {ETSI8, ETSI}, - {ETSI9, ETSI}, - {FCC1, FCC}, - {FCC2, FCC}, - {FCC3, FCC}, - {FCC4, FCC}, - {FCC5, FCC}, - {FCC6, FCC}, - {MKK1, MKK}, - {MKK2, MKK}, - {MKK3, MKK}, - {MKK4, MKK}, - {MKK5, MKK}, - {MKK6, MKK}, - {MKK7, MKK}, - {MKK8, MKK}, - {MKK9, MKK}, - {MKK10, MKK}, - {MKK11, MKK}, - {MKK12, MKK}, - {MKK13, MKK}, - {MKK14, MKK}, - {MKK15, MKK}, - {APLD, NO_CTL}, - {ETSIA, NO_CTL}, - {ETSIB, ETSI}, - {ETSIC, ETSI}, - {FCCA, FCC}, - {MKKA, MKK}, - {MKKC, MKK}, - {WORLD, ETSI}, - {WOR0_WORLD, NO_CTL}, - {WOR01_WORLD, NO_CTL}, - {WOR02_WORLD, NO_CTL}, - {EU1_WORLD, NO_CTL}, - {WOR1_WORLD, NO_CTL}, - {WOR2_WORLD, NO_CTL}, - {WOR3_WORLD, NO_CTL}, - {WOR4_WORLD, NO_CTL}, - {WOR5_ETSIC, NO_CTL}, - {WOR9_WORLD, NO_CTL}, - {WORA_WORLD, NO_CTL}, - {WORB_WORLD, NO_CTL}, - {WORC_WORLD, NO_CTL}, - {NULL1, NO_CTL}, -}; - -typedef enum offset { - BW20 = 0, - BW40_LOW_PRIMARY = 1, - BW40_HIGH_PRIMARY = 3, - BW80, - BWALL -} offset_t; - -typedef struct _regdm_op_class_map { - uint8_t op_class; - uint8_t ch_spacing; - offset_t offset; - uint8_t channels[MAX_CHANNELS_PER_OPERATING_CLASS]; -} regdm_op_class_map_t; - -typedef struct _regdm_supp_op_classes { - uint8_t num_classes; - uint8_t classes[SIR_MAC_MAX_SUPP_OPER_CLASSES]; -} regdm_supp_op_classes; - -uint16_t cds_regdm_get_opclass_from_channel(uint8_t *country, uint8_t channel, - uint8_t offset); -uint16_t cds_regdm_get_chanwidth_from_opclass(uint8_t *country, uint8_t channel, - uint8_t opclass); -uint16_t cds_regdm_set_curr_opclasses(uint8_t num_classes, uint8_t *class); -uint16_t cds_regdm_get_curr_opclasses(uint8_t *num_classes, uint8_t *class); diff --git a/core/cds/src/cds_regdomain.c b/core/cds/src/cds_regdomain.c index 67765ba91020..20c056b77281 100644 --- a/core/cds/src/cds_regdomain.c +++ b/core/cds/src/cds_regdomain.c @@ -68,7 +68,6 @@ #include #include "wma.h" #include "cds_regdomain.h" -#include "cds_regdomain_common.h" static regdm_supp_op_classes regdm_curr_supp_opp_classes = { 0 }; @@ -556,7 +555,7 @@ uint16_t cds_regdm_set_curr_opclasses(uint8_t num_classes, uint8_t *class) { uint8_t i; - if (SIR_MAC_MAX_SUPP_OPER_CLASSES < num_classes) { + if (CDS_MAX_SUPP_OPER_CLASSES < num_classes) { qdf_print(KERN_ERR "%s: Invalid numClasses (%d)\n", __func__, num_classes); return -1; diff --git a/core/hdd/inc/wlan_hdd_tdls.h b/core/hdd/inc/wlan_hdd_tdls.h index 03c7ff1c3db0..8a4cd45e7f89 100644 --- a/core/hdd/inc/wlan_hdd_tdls.h +++ b/core/hdd/inc/wlan_hdd_tdls.h @@ -342,7 +342,7 @@ typedef struct _hddTdlsPeer_t { uint8_t supported_channels_len; uint8_t supported_channels[SIR_MAC_MAX_SUPP_CHANNELS]; uint8_t supported_oper_classes_len; - uint8_t supported_oper_classes[SIR_MAC_MAX_SUPP_OPER_CLASSES]; + uint8_t supported_oper_classes[CDS_MAX_SUPP_OPER_CLASSES]; bool isForcedPeer; uint8_t op_class_for_pref_off_chan; uint8_t pref_off_chan_num; diff --git a/core/hdd/src/wlan_hdd_regulatory.c b/core/hdd/src/wlan_hdd_regulatory.c index b8a513501f02..6e367700af57 100644 --- a/core/hdd/src/wlan_hdd_regulatory.c +++ b/core/hdd/src/wlan_hdd_regulatory.c @@ -37,7 +37,6 @@ #include "sme_api.h" #include "wlan_hdd_main.h" #include "cds_regdomain.h" -#include "cds_regdomain_common.h" #include "wlan_hdd_regulatory.h" #define WORLD_SKU_MASK 0x00F0 diff --git a/core/mac/inc/sir_api.h b/core/mac/inc/sir_api.h index 56963efe916e..2737f9ecb1c2 100644 --- a/core/mac/inc/sir_api.h +++ b/core/mac/inc/sir_api.h @@ -45,6 +45,7 @@ #include "sir_mac_prot_def.h" #include "ani_system_defs.h" #include "sir_params.h" +#include "cds_regdomain.h" #define OFFSET_OF(structType, fldName) (&((structType *)0)->fldName) @@ -3417,7 +3418,7 @@ typedef struct { uint8_t supportedChannelsLen; uint8_t supportedChannels[SIR_MAC_MAX_SUPP_CHANNELS]; uint8_t supportedOperClassesLen; - uint8_t supportedOperClasses[SIR_MAC_MAX_SUPP_OPER_CLASSES]; + uint8_t supportedOperClasses[CDS_MAX_SUPP_OPER_CLASSES]; } tSirTdlsLinkEstablishReq, *tpSirTdlsLinkEstablishReq; /* TDLS Request struct SME-->PE */ diff --git a/core/mac/inc/sir_mac_prot_def.h b/core/mac/inc/sir_mac_prot_def.h index 8ffaf0123502..c675af7c0758 100644 --- a/core/mac/inc/sir_mac_prot_def.h +++ b/core/mac/inc/sir_mac_prot_def.h @@ -1385,7 +1385,6 @@ typedef struct sSirMacMeasReqIE { #define SIR_MAC_MAX_SUPP_RATES 32 #define SIR_MAC_MAX_SUPP_CHANNELS 100 -#define SIR_MAC_MAX_SUPP_OPER_CLASSES 32 #define SIR_MAC_MAX_EXTN_CAP 8 /* VHT Capabilities Info */ diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c index 679cee43708e..c0bab96447f7 100644 --- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c +++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c @@ -62,7 +62,7 @@ #include -#include "cds_regdomain_common.h" +#include "cds_regdomain.h" /* * This overhead is time for sending NOA start to host in case of GO/sending diff --git a/core/mac/src/pe/lim/lim_process_tdls.c b/core/mac/src/pe/lim/lim_process_tdls.c index 44973cd2fd54..5bf81e6c9cb7 100644 --- a/core/mac/src/pe/lim/lim_process_tdls.c +++ b/core/mac/src/pe/lim/lim_process_tdls.c @@ -75,7 +75,7 @@ #include "lim_assoc_utils.h" #include "dph_hash_table.h" #include "wma_types.h" -#include "cds_regdomain_common.h" +#include "cds_regdomain.h" /* define NO_PAD_TDLS_MIN_8023_SIZE to NOT padding: See CR#447630 There was IOT issue with cisco 1252 open mode, where it pads @@ -2556,7 +2556,7 @@ void populate_dot11f_tdls_offchannel_params(tpAniSirGlobal pMac, uint8_t chanOffset; uint8_t op_class; uint8_t numClasses; - uint8_t classes[SIR_MAC_MAX_SUPP_OPER_CLASSES]; + uint8_t classes[CDS_MAX_SUPP_OPER_CLASSES]; if (wlan_cfg_get_str(pMac, WNI_CFG_VALID_CHANNEL_LIST, validChan, &numChans) != eSIR_SUCCESS) { /** diff --git a/core/mac/src/pe/lim/lim_send_messages.c b/core/mac/src/pe/lim/lim_send_messages.c index 3c844b85c543..574116591fdd 100644 --- a/core/mac/src/pe/lim/lim_send_messages.c +++ b/core/mac/src/pe/lim/lim_send_messages.c @@ -42,7 +42,7 @@ #ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM /* FEATURE_WLAN_DIAG_SUPPORT */ #include "host_diag_core_log.h" #endif /* FEATURE_WLAN_DIAG_SUPPORT */ -#include "cds_regdomain_common.h" + /* When beacon filtering is enabled, firmware will * analyze the selected beacons received during BMPS, * and monitor any changes in the IEs as listed below. diff --git a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c index 9f9a145c42be..17d44927d859 100644 --- a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c +++ b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c @@ -55,7 +55,7 @@ #include "lim_session_utils.h" #include "lim_types.h" #include "sir_api.h" -#include "cds_regdomain_common.h" +#include "cds_regdomain.h" #include "lim_send_messages.h" static void lim_handle_join_rsp_status(tpAniSirGlobal mac_ctx, diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c index fbe40637a5f5..80c7a66a2ab0 100644 --- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c +++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c @@ -47,7 +47,7 @@ #include "wmm_apsd.h" #include "rrm_api.h" -#include "cds_regdomain_common.h" +#include "cds_regdomain.h" /* ////////////////////////////////////////////////////////////////////// */ void dot11f_log(tpAniSirGlobal pMac, int loglevel, const char *pString, ...) diff --git a/core/sap/src/sap_module.c b/core/sap/src/sap_module.c index d93a79361aeb..4e907aa955ae 100644 --- a/core/sap/src/sap_module.c +++ b/core/sap/src/sap_module.c @@ -52,7 +52,7 @@ #include "sap_internal.h" #include "sme_inside.h" #include "cds_ieee80211_common_i.h" -#include "cds_regdomain_common.h" +#include "cds_regdomain.h" #include "cds_concurrency.h" /*---------------------------------------------------------------------------- diff --git a/core/sme/inc/csr_api.h b/core/sme/inc/csr_api.h index bae7eb13e0dd..dd18be8b54f4 100644 --- a/core/sme/inc/csr_api.h +++ b/core/sme/inc/csr_api.h @@ -260,7 +260,7 @@ typedef struct tagCsrStaParams { uint8_t supported_channels_len; uint8_t supported_channels[SIR_MAC_MAX_SUPP_CHANNELS]; uint8_t supported_oper_classes_len; - uint8_t supported_oper_classes[SIR_MAC_MAX_SUPP_OPER_CLASSES]; + uint8_t supported_oper_classes[CDS_MAX_SUPP_OPER_CLASSES]; } tCsrStaParams; typedef struct tagCsrScanRequest { @@ -1477,7 +1477,7 @@ typedef struct tagCsrLinkEstablishParams { uint8_t supportedChannelsLen; uint8_t supportedChannels[SIR_MAC_MAX_SUPP_CHANNELS]; uint8_t supportedOperClassesLen; - uint8_t supportedOperClasses[SIR_MAC_MAX_SUPP_OPER_CLASSES]; + uint8_t supportedOperClasses[CDS_MAX_SUPP_OPER_CLASSES]; } tCsrTdlsLinkEstablishParams; typedef struct tagCsrTdlsSendMgmt { diff --git a/core/sme/inc/sme_inside.h b/core/sme/inc/sme_inside.h index 9ab29e53398c..65ee8cd83843 100644 --- a/core/sme/inc/sme_inside.h +++ b/core/sme/inc/sme_inside.h @@ -116,7 +116,7 @@ typedef struct TdlsLinkEstablishInfo { uint8_t supportedChannelsLen; uint8_t supportedChannels[SIR_MAC_MAX_SUPP_CHANNELS]; uint8_t supportedOperClassesLen; - uint8_t supportedOperClasses[SIR_MAC_MAX_SUPP_OPER_CLASSES]; + uint8_t supportedOperClasses[CDS_MAX_SUPP_OPER_CLASSES]; } tTdlsLinkEstablishCmdInfo; typedef struct TdlsAddStaInfo { diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c index eb254f31c990..cdbe608b0346 100644 --- a/core/sme/src/common/sme_api.c +++ b/core/sme/src/common/sme_api.c @@ -54,7 +54,7 @@ #ifdef WLAN_FEATURE_NAN #include "nan_api.h" #endif -#include "cds_regdomain_common.h" +#include "cds_regdomain.h" #include "cfg_api.h" #include "sme_power_save_api.h" #include "wma.h" diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index c765aeb186eb..19f173ecda9b 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -49,7 +49,6 @@ #include "mac_trace.h" #include "csr_neighbor_roam.h" #include "cds_regdomain.h" -#include "cds_regdomain_common.h" #include "cds_utils.h" #include "sir_types.h" #include "cfg_api.h" @@ -18411,7 +18410,7 @@ csr_update_op_class_array(tpAniSirGlobal mac_ctx, ch_name, num_channels); for (idx = 0; idx < num_channels - && *i < (SIR_MAC_MAX_SUPP_OPER_CLASSES - 1); idx++) { + && *i < (CDS_MAX_SUPP_OPER_CLASSES - 1); idx++) { for (ch_bandwidth = BW20; ch_bandwidth < BWALL; ch_bandwidth++) { class = cds_regdm_get_opclass_from_channel( @@ -18422,7 +18421,7 @@ csr_update_op_class_array(tpAniSirGlobal mac_ctx, channel_info->channelList[idx], class); found = false; - for (j = 0; j < SIR_MAC_MAX_SUPP_OPER_CLASSES - 1; + for (j = 0; j < CDS_MAX_SUPP_OPER_CLASSES - 1; j++) { if (op_classes[j] == class) { found = true; @@ -18450,7 +18449,7 @@ void csr_init_operating_classes(tHalHandle hHal) uint8_t j = 0; uint8_t swap = 0; uint8_t numClasses = 0; - uint8_t opClasses[SIR_MAC_MAX_SUPP_OPER_CLASSES] = {0,}; + uint8_t opClasses[CDS_MAX_SUPP_OPER_CLASSES] = {0,}; tpAniSirGlobal pMac = PMAC_STRUCT(hHal); sms_log(pMac, LOG1, FL("Current Country = %c%c"),