|
|
|
@@ -88,699 +88,6 @@ extern sapSafeChannelType safe_channels[];
|
|
|
|
|
* Static Variable Definitions
|
|
|
|
|
* -------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
#ifdef WLAN_ENABLE_CHNL_MATRIX_RESTRICTION
|
|
|
|
|
/*
|
|
|
|
|
* TODO: At present SAP Channel leakage matrix for ch 144
|
|
|
|
|
* is not available from system's team. So to play it safe
|
|
|
|
|
* and avoid crash if channel 144 is request, in following
|
|
|
|
|
* matix channel 144 is added such that it will cause code
|
|
|
|
|
* to avoid selecting channel 144.
|
|
|
|
|
*
|
|
|
|
|
* THESE ENTRIES SHOULD BE REPLACED WITH CORRECT VALUES AS
|
|
|
|
|
* PROVIDED BY SYSTEM'S TEAM.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/* channel tx leakage table - ht80 */
|
|
|
|
|
tSapChanMatrixInfo ht80_chan[] = {
|
|
|
|
|
{52,
|
|
|
|
|
{{36, 148}, {40, 199},
|
|
|
|
|
{44, 193}, {48, 197},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MIN}, {56, 153},
|
|
|
|
|
{60, 137}, {64, 134},
|
|
|
|
|
{100, 358}, {104, 350},
|
|
|
|
|
{108, 404}, {112, 344},
|
|
|
|
|
{116, 424}, {120, 429},
|
|
|
|
|
{124, 437}, {128, 435},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MAX}, {136, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{56,
|
|
|
|
|
{{36, 171}, {40, 178},
|
|
|
|
|
{44, 171}, {48, 178},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MIN}, {56, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MIN}, {64, 280},
|
|
|
|
|
{100, 351}, {104, 376},
|
|
|
|
|
{108, 362}, {112, 362},
|
|
|
|
|
{116, 403}, {120, 397},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MAX}, {128, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MAX}, {136, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{60,
|
|
|
|
|
{{36, 156}, {40, 146},
|
|
|
|
|
{44, SAP_TX_LEAKAGE_MIN}, {48, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{52, 180}, {56, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MIN}, {64, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{100, 376}, {104, 360},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MAX}, {112, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{116, 395}, {120, 399},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MAX}, {128, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MAX}, {136, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{64,
|
|
|
|
|
{{36, 217}, {40, 221},
|
|
|
|
|
{44, SAP_TX_LEAKAGE_MIN}, {48, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{52, 176}, {56, 176},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MIN}, {64, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{100, 384}, {104, 390},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MAX}, {112, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{116, 375}, {120, 374},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MAX}, {128, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MAX}, {136, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{100,
|
|
|
|
|
{{36, 357}, {40, 326},
|
|
|
|
|
{44, 321}, {48, 326},
|
|
|
|
|
{52, 378}, {56, 396},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MIN}, {104, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{108, 196}, {112, 116},
|
|
|
|
|
{116, 166}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{104,
|
|
|
|
|
{{36, 325}, {40, 325},
|
|
|
|
|
{44, 305}, {48, 352},
|
|
|
|
|
{52, 411}, {56, 411},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MIN}, {104, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, 460},
|
|
|
|
|
{116, 198}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{108,
|
|
|
|
|
{{36, 304}, {40, 332},
|
|
|
|
|
{44, 310}, {48, 335},
|
|
|
|
|
{52, 431}, {56, 391},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, 280}, {104, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, 185}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{112,
|
|
|
|
|
{{36, 327}, {40, 335},
|
|
|
|
|
{44, 331}, {48, 345},
|
|
|
|
|
{52, 367}, {56, 401},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, 131}, {104, 132},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, 189}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{116,
|
|
|
|
|
{{36, 384}, {40, 372},
|
|
|
|
|
{44, 389}, {48, 396},
|
|
|
|
|
{52, 348}, {56, 336},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, 172}, {104, 169},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MIN}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{120,
|
|
|
|
|
{{36, 395}, {40, 419},
|
|
|
|
|
{44, 439}, {48, 407},
|
|
|
|
|
{52, 321}, {56, 334},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, 134}, {104, 186},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MIN}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, 159},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{124,
|
|
|
|
|
{{36, 469}, {40, 433},
|
|
|
|
|
{44, 434}, {48, 435},
|
|
|
|
|
{52, 332}, {56, 345},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, 146}, {104, 177},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, 350}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, 138},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{128,
|
|
|
|
|
{{36, 408}, {40, 434},
|
|
|
|
|
{44, 449}, {48, 444},
|
|
|
|
|
{52, 341}, {56, 374},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, 205}, {104, 208},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, 142}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{132,
|
|
|
|
|
{{36, SAP_TX_LEAKAGE_MAX}, {40, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{44, SAP_TX_LEAKAGE_MAX}, {48, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MAX}, {56, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MIN}, {64, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MIN}, {104, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MIN}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{136,
|
|
|
|
|
{{36, SAP_TX_LEAKAGE_MAX}, {40, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{44, SAP_TX_LEAKAGE_MAX}, {48, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MAX}, {56, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MIN}, {64, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MIN}, {104, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MIN}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{140,
|
|
|
|
|
{{36, SAP_TX_LEAKAGE_MAX}, {40, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{44, SAP_TX_LEAKAGE_MAX}, {48, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MAX}, {56, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MIN}, {64, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MIN}, {104, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MIN}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{144,
|
|
|
|
|
{{36, SAP_TX_LEAKAGE_MAX}, {40, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{44, SAP_TX_LEAKAGE_MAX}, {48, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MAX}, {56, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MIN}, {64, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MIN}, {104, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MIN}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/* channel tx leakage table - ht40 */
|
|
|
|
|
tSapChanMatrixInfo ht40_chan[] = {
|
|
|
|
|
{52,
|
|
|
|
|
{{36, SAP_TX_LEAKAGE_AUTO_MIN}, {40, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{44, 230}, {48, 230},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MIN}, {56, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_AUTO_MIN}, {64, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{100, 625}, {104, 323},
|
|
|
|
|
{108, 646}, {112, 646},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MAX}, {120, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MAX}, {128, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MAX}, {136, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{56,
|
|
|
|
|
{{36, SAP_TX_LEAKAGE_AUTO_MIN}, {40, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{44, SAP_TX_LEAKAGE_AUTO_MIN}, {48, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MIN}, {56, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MIN}, {64, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{100, 611}, {104, 611},
|
|
|
|
|
{108, 617}, {112, 617},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MAX}, {120, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MAX}, {128, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MAX}, {136, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{60,
|
|
|
|
|
{{36, SAP_TX_LEAKAGE_AUTO_MIN}, {40, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{44, SAP_TX_LEAKAGE_AUTO_MIN}, {48, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{52, 190}, {56, 190},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MIN}, {64, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{100, 608}, {104, 608},
|
|
|
|
|
{108, 623}, {112, 623},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MAX}, {120, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MAX}, {128, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MAX}, {136, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{64,
|
|
|
|
|
{{36, SAP_TX_LEAKAGE_AUTO_MIN}, {40, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{44, SAP_TX_LEAKAGE_AUTO_MIN}, {48, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{52, 295}, {56, 295},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MIN}, {64, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{100, 594}, {104, 594},
|
|
|
|
|
{108, 625}, {112, 625},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MAX}, {120, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MAX}, {128, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MAX}, {136, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{100,
|
|
|
|
|
{{36, 618}, {40, 618},
|
|
|
|
|
{44, 604}, {48, 604},
|
|
|
|
|
{52, 596}, {56, 596},
|
|
|
|
|
{60, 584}, {64, 584},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MIN}, {104, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{108, 299}, {112, 299},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_AUTO_MIN}, {120, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_AUTO_MIN}, {128, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{132, 538}, {136, 538},
|
|
|
|
|
{140, 598},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{104,
|
|
|
|
|
{{36, 636}, {40, 636},
|
|
|
|
|
{44, 601}, {48, 601},
|
|
|
|
|
{52, 616}, {56, 616},
|
|
|
|
|
{60, 584}, {64, 584},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MIN}, {104, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_AUTO_MIN}, {120, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_AUTO_MIN}, {128, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{132, 553}, {136, 553},
|
|
|
|
|
{140, 568},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{108,
|
|
|
|
|
{{36, 600}, {40, 600},
|
|
|
|
|
{44, 627}, {48, 627},
|
|
|
|
|
{52, 611}, {56, 611},
|
|
|
|
|
{60, 611}, {64, 611},
|
|
|
|
|
{100, 214}, {104, 214},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_AUTO_MIN}, {120, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_AUTO_MIN}, {128, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_AUTO_MIN}, {136, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{140, 534},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{112,
|
|
|
|
|
{{36, 645}, {40, 645},
|
|
|
|
|
{44, 641}, {48, 641},
|
|
|
|
|
{52, 618}, {56, 618},
|
|
|
|
|
{60, 612}, {64, 612},
|
|
|
|
|
{100, 293}, {104, 293},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MIN}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_AUTO_MIN}, {128, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_AUTO_MIN}, {136, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{140, 521},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{116,
|
|
|
|
|
{{36, 661}, {40, 661},
|
|
|
|
|
{44, 624}, {48, 624},
|
|
|
|
|
{52, 634}, {56, 634},
|
|
|
|
|
{60, 611}, {64, 611},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_AUTO_MIN}, {104, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{108, 217}, {112, 217},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MIN}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_AUTO_MIN}, {128, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_AUTO_MIN}, {136, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{120,
|
|
|
|
|
{{36, 667}, {40, 667},
|
|
|
|
|
{44, 645}, {48, 645},
|
|
|
|
|
{52, 633}, {56, 633},
|
|
|
|
|
{60, 619}, {64, 619},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_AUTO_MIN}, {104, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{108, 291}, {112, 291},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MIN}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_AUTO_MIN}, {136, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{124,
|
|
|
|
|
{{36, 676}, {40, 676},
|
|
|
|
|
{44, 668}, {48, 668},
|
|
|
|
|
{52, 595}, {56, 595},
|
|
|
|
|
{60, 622}, {64, 622},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_AUTO_MIN}, {104, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_AUTO_MIN}, {112, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{116, 225}, {120, 225},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_AUTO_MIN}, {136, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{128,
|
|
|
|
|
{{36, 678}, {40, 678},
|
|
|
|
|
{44, 664}, {48, 664},
|
|
|
|
|
{52, 651}, {56, 651},
|
|
|
|
|
{60, 643}, {64, 643},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_AUTO_MIN}, {104, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_AUTO_MIN}, {112, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{116, 293}, {120, 293},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{132,
|
|
|
|
|
{{36, 689}, {40, 689},
|
|
|
|
|
{44, 669}, {48, 669},
|
|
|
|
|
{52, 662}, {56, 662},
|
|
|
|
|
{60, 609}, {64, 609},
|
|
|
|
|
{100, 538}, {104, 538},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_AUTO_MIN}, {112, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_AUTO_MIN}, {120, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{124, 247}, {128, 247},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{136,
|
|
|
|
|
{{36, 703}, {40, 703},
|
|
|
|
|
{44, 688}, {48, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{52, 671}, {56, 671},
|
|
|
|
|
{60, 658}, {64, 658},
|
|
|
|
|
{100, 504}, {104, 504},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_AUTO_MIN}, {112, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_AUTO_MIN}, {120, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{124, 289}, {128, 289},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{140,
|
|
|
|
|
{{36, 695}, {40, 695},
|
|
|
|
|
{44, 684}, {48, 684},
|
|
|
|
|
{52, 664}, {56, 664},
|
|
|
|
|
{60, 658}, {64, 658},
|
|
|
|
|
{100, 601}, {104, 601},
|
|
|
|
|
{108, 545}, {112, 545},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_AUTO_MIN}, {120, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_AUTO_MIN}, {128, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{132, 262}, {136, 262},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{144,
|
|
|
|
|
{{36, 695}, {40, 695},
|
|
|
|
|
{44, 684}, {48, 684},
|
|
|
|
|
{52, 664}, {56, 664},
|
|
|
|
|
{60, 658}, {64, 658},
|
|
|
|
|
{100, 601}, {104, 601},
|
|
|
|
|
{108, 545}, {112, 545},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_AUTO_MIN}, {120, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_AUTO_MIN}, {128, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{132, 262}, {136, 262},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/* channel tx leakage table - ht20 */
|
|
|
|
|
tSapChanMatrixInfo ht20_chan[] = {
|
|
|
|
|
{52,
|
|
|
|
|
{{36, SAP_TX_LEAKAGE_AUTO_MIN}, {40, 286},
|
|
|
|
|
{44, 225}, {48, 121},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MIN}, {56, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{60, 300}, {64, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{100, 637}, {104, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MAX}, {112, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MAX}, {120, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MAX}, {128, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MAX}, {136, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{56,
|
|
|
|
|
{{36, 468}, {40, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{44, SAP_TX_LEAKAGE_AUTO_MIN}, {48, 206},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MIN}, {56, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MIN}, {64, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MAX}, {104, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MAX}, {112, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MAX}, {120, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MAX}, {128, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MAX}, {136, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{60,
|
|
|
|
|
{{36, 507}, {40, 440},
|
|
|
|
|
{44, SAP_TX_LEAKAGE_AUTO_MIN}, {48, 313},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MIN}, {56, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MIN}, {64, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MAX}, {104, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MAX}, {112, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MAX}, {120, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MAX}, {128, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MAX}, {136, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{64,
|
|
|
|
|
{{36, 516}, {40, 520},
|
|
|
|
|
{44, 506}, {48, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{52, 301}, {56, 258},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MIN}, {64, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{100, 620}, {104, 617},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MAX}, {112, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MAX}, {120, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MAX}, {128, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MAX}, {136, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{100,
|
|
|
|
|
{{36, 616}, {40, 601},
|
|
|
|
|
{44, 604}, {48, 589},
|
|
|
|
|
{52, 612}, {56, 592},
|
|
|
|
|
{60, 590}, {64, 582},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MIN}, {104, 131},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_AUTO_MIN}, {112, SAP_TX_LEAKAGE_AUTO_MIN},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_AUTO_MIN}, {120, 522},
|
|
|
|
|
{124, 571}, {128, 589},
|
|
|
|
|
{132, 593}, {136, 598},
|
|
|
|
|
{140, 594},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{104,
|
|
|
|
|
{{36, 622}, {40, 624},
|
|
|
|
|
{44, 618}, {48, 610},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MAX}, {56, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MIN}, {104, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, 463},
|
|
|
|
|
{116, 483}, {120, 503},
|
|
|
|
|
{124, 523}, {128, 565},
|
|
|
|
|
{132, 570}, {136, 588},
|
|
|
|
|
{140, 585},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{108,
|
|
|
|
|
{{36, 620}, {40, 638},
|
|
|
|
|
{44, 611}, {48, 614},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MAX}, {56, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, 477}, {104, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, 477}, {120, 497},
|
|
|
|
|
{124, 517}, {128, 537},
|
|
|
|
|
{132, 557}, {136, 577},
|
|
|
|
|
{140, 603},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{112,
|
|
|
|
|
{{36, 636}, {40, 623},
|
|
|
|
|
{44, 638}, {48, 628},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MAX}, {56, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, 606},
|
|
|
|
|
{100, 501}, {104, 481},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MIN}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MIN}, {120, 481},
|
|
|
|
|
{124, 501}, {128, 421},
|
|
|
|
|
{132, 541}, {136, 561},
|
|
|
|
|
{140, 583},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{116,
|
|
|
|
|
{{36, 646}, {40, 648},
|
|
|
|
|
{44, 633}, {48, 634},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MAX}, {56, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{60, 615}, {64, 594},
|
|
|
|
|
{100, 575}, {104, 554},
|
|
|
|
|
{108, 534}, {112, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MIN}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, 534}, {136, 554},
|
|
|
|
|
{140, 574},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{120,
|
|
|
|
|
{{36, 643}, {40, 649},
|
|
|
|
|
{44, 654}, {48, 629},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MAX}, {56, 621},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, 565}, {104, 545},
|
|
|
|
|
{108, 525}, {112, 505},
|
|
|
|
|
{116, SAP_TX_LEAKAGE_MIN}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, 505},
|
|
|
|
|
{132, 525}, {136, 545},
|
|
|
|
|
{140, 565},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{124,
|
|
|
|
|
{{36, 638}, {40, 657},
|
|
|
|
|
{44, 663}, {48, 649},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MAX}, {56, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, 581}, {104, 561},
|
|
|
|
|
{108, 541}, {112, 521},
|
|
|
|
|
{116, 499}, {120, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, 499}, {136, 519},
|
|
|
|
|
{140, 539},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{128,
|
|
|
|
|
{{36, 651}, {40, 651},
|
|
|
|
|
{44, 674}, {48, 640},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MAX}, {56, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, 603}, {104, 560},
|
|
|
|
|
{108, 540}, {112, 520},
|
|
|
|
|
{116, 499}, {120, 479},
|
|
|
|
|
{124, SAP_TX_LEAKAGE_MIN}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, 479},
|
|
|
|
|
{140, 499},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{132,
|
|
|
|
|
{{36, 643}, {40, 668},
|
|
|
|
|
{44, 651}, {48, 657},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MAX}, {56, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MAX}, {104, 602},
|
|
|
|
|
{108, 578}, {112, 570},
|
|
|
|
|
{116, 550}, {120, 530},
|
|
|
|
|
{124, 510}, {128, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, 490},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{136,
|
|
|
|
|
{{36, 654}, {40, 667},
|
|
|
|
|
{44, 666}, {48, 642},
|
|
|
|
|
{52, SAP_TX_LEAKAGE_MAX}, {56, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{60, SAP_TX_LEAKAGE_MAX}, {64, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MAX}, {104, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MAX}, {112, 596},
|
|
|
|
|
{116, 555}, {120, 535},
|
|
|
|
|
{124, 515}, {128, 495},
|
|
|
|
|
{132, SAP_TX_LEAKAGE_MIN}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{140,
|
|
|
|
|
{{36, 679}, {40, 673},
|
|
|
|
|
{44, 667}, {48, 656},
|
|
|
|
|
{52, 634}, {56, 663},
|
|
|
|
|
{60, 662}, {64, 660},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MAX}, {104, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MAX}, {112, 590},
|
|
|
|
|
{116, 573}, {120, 553},
|
|
|
|
|
{124, 533}, {128, 513},
|
|
|
|
|
{132, 490}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
|
|
|
|
|
{144,
|
|
|
|
|
{{36, 679}, {40, 673},
|
|
|
|
|
{44, 667}, {48, 656},
|
|
|
|
|
{52, 634}, {56, 663},
|
|
|
|
|
{60, 662}, {64, 660},
|
|
|
|
|
{100, SAP_TX_LEAKAGE_MAX}, {104, SAP_TX_LEAKAGE_MAX},
|
|
|
|
|
{108, SAP_TX_LEAKAGE_MAX}, {112, 590},
|
|
|
|
|
{116, 573}, {120, 553},
|
|
|
|
|
{124, 533}, {128, 513},
|
|
|
|
|
{132, 490}, {136, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{140, SAP_TX_LEAKAGE_MIN},
|
|
|
|
|
{144, SAP_TX_LEAKAGE_MIN}
|
|
|
|
|
} },
|
|
|
|
|
};
|
|
|
|
|
#endif /* WLAN_ENABLE_CHNL_MATRIX_RESTRICTION */
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------
|
|
|
|
|
* Static Function Declarations and Definitions
|
|
|
|
|
* -------------------------------------------------------------------------*/
|
|
|
|
@@ -982,170 +289,6 @@ static uint8_t sap_random_channel_sel(struct sap_context *sap_ctx)
|
|
|
|
|
return ch;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#ifdef WLAN_ENABLE_CHNL_MATRIX_RESTRICTION
|
|
|
|
|
/*
|
|
|
|
|
* sap_find_target_channel_in_channel_matrix() - finds the leakage matrix
|
|
|
|
|
* @sapContext: Pointer to vos global context structure
|
|
|
|
|
* @ch_width: target channel width
|
|
|
|
|
* @NOL_channel: the NOL channel whose leakage matrix is required
|
|
|
|
|
* @pTarget_chnl_mtrx: pointer to target channel matrix returned.
|
|
|
|
|
*
|
|
|
|
|
* This function gives the leakage matrix for given NOL channel and ch_width
|
|
|
|
|
*
|
|
|
|
|
* Return: TRUE or FALSE
|
|
|
|
|
*/
|
|
|
|
|
static bool
|
|
|
|
|
sap_find_target_channel_in_channel_matrix(struct sap_context *sapContext,
|
|
|
|
|
enum phy_ch_width ch_width,
|
|
|
|
|
uint8_t NOL_channel,
|
|
|
|
|
tSapTxLeakInfo **pTarget_chnl_mtrx)
|
|
|
|
|
{
|
|
|
|
|
tSapTxLeakInfo *target_chan_matrix = NULL;
|
|
|
|
|
tSapChanMatrixInfo *pchan_matrix = NULL;
|
|
|
|
|
uint32_t nchan_matrix;
|
|
|
|
|
int i = 0;
|
|
|
|
|
|
|
|
|
|
switch (ch_width) {
|
|
|
|
|
case CH_WIDTH_20MHZ:
|
|
|
|
|
/* HT20 */
|
|
|
|
|
pchan_matrix = ht20_chan;
|
|
|
|
|
nchan_matrix = QDF_ARRAY_SIZE(ht20_chan);
|
|
|
|
|
break;
|
|
|
|
|
case CH_WIDTH_40MHZ:
|
|
|
|
|
/* HT40 */
|
|
|
|
|
pchan_matrix = ht40_chan;
|
|
|
|
|
nchan_matrix = QDF_ARRAY_SIZE(ht40_chan);
|
|
|
|
|
break;
|
|
|
|
|
case CH_WIDTH_80MHZ:
|
|
|
|
|
/* HT80 */
|
|
|
|
|
pchan_matrix = ht80_chan;
|
|
|
|
|
nchan_matrix = QDF_ARRAY_SIZE(ht80_chan);
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
/* handle exception and fall back to HT20 table */
|
|
|
|
|
pchan_matrix = ht20_chan;
|
|
|
|
|
nchan_matrix = QDF_ARRAY_SIZE(ht20_chan);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < nchan_matrix; i++) {
|
|
|
|
|
/* find the SAP channel to map the leakage matrix */
|
|
|
|
|
if (NOL_channel == pchan_matrix[i].channel) {
|
|
|
|
|
target_chan_matrix = pchan_matrix[i].chan_matrix;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (NULL == target_chan_matrix) {
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
*pTarget_chnl_mtrx = target_chan_matrix;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* sap_mark_leaking_ch() - to mark channel leaking in to nol
|
|
|
|
|
* @sap_ctx: pointer to SAP context
|
|
|
|
|
* @ch_width: channel width
|
|
|
|
|
* @nol: nol info
|
|
|
|
|
* @temp_ch_lst_sz: the target channel list
|
|
|
|
|
* @temp_ch_lst: the target channel list
|
|
|
|
|
*
|
|
|
|
|
* This function removes the channels from temp channel list that
|
|
|
|
|
* (if selected as target channel) will cause leakage in one of
|
|
|
|
|
* the NOL channels
|
|
|
|
|
*
|
|
|
|
|
* Return: QDF_STATUS
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
QDF_STATUS
|
|
|
|
|
sap_mark_leaking_ch(struct sap_context *sap_ctx,
|
|
|
|
|
enum phy_ch_width ch_width,
|
|
|
|
|
tSapDfsNolInfo *nol,
|
|
|
|
|
uint8_t temp_ch_lst_sz,
|
|
|
|
|
uint8_t *temp_ch_lst)
|
|
|
|
|
{
|
|
|
|
|
tSapTxLeakInfo *target_chan_matrix = NULL;
|
|
|
|
|
uint32_t num_channel = (CHAN_ENUM_144 - CHAN_ENUM_36) + 1;
|
|
|
|
|
uint32_t i = 0;
|
|
|
|
|
uint32_t j = 0;
|
|
|
|
|
uint32_t k = 0;
|
|
|
|
|
uint8_t dfs_nol_channel;
|
|
|
|
|
tHalHandle hal = CDS_GET_HAL_CB();
|
|
|
|
|
tpAniSirGlobal mac;
|
|
|
|
|
|
|
|
|
|
if (NULL == hal) {
|
|
|
|
|
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_ERROR,
|
|
|
|
|
"%s: Invalid hal pointer", __func__);
|
|
|
|
|
return QDF_STATUS_E_FAULT;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mac = PMAC_STRUCT(hal);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* traverse target_chan_matrix and */
|
|
|
|
|
for (i = 0; i < NUM_5GHZ_CHANNELS ; i++) {
|
|
|
|
|
dfs_nol_channel = nol[i].dfs_channel_number;
|
|
|
|
|
if (nol[i].radar_status_flag == eSAP_DFS_CHANNEL_USABLE ||
|
|
|
|
|
nol[i].radar_status_flag == eSAP_DFS_CHANNEL_AVAILABLE) {
|
|
|
|
|
/* not present in NOL */
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_DEBUG,
|
|
|
|
|
FL("sapdfs: processing NOL channel: %d"),
|
|
|
|
|
dfs_nol_channel);
|
|
|
|
|
if (false == sap_find_target_channel_in_channel_matrix(
|
|
|
|
|
sap_ctx, ch_width, dfs_nol_channel,
|
|
|
|
|
&target_chan_matrix)) {
|
|
|
|
|
/*
|
|
|
|
|
* should never happen, we should always find a table
|
|
|
|
|
* here, if we don't, need a fix here!
|
|
|
|
|
*/
|
|
|
|
|
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_ERROR,
|
|
|
|
|
FL("Couldn't find target channel matrix!"));
|
|
|
|
|
QDF_ASSERT(0);
|
|
|
|
|
return QDF_STATUS_E_FAILURE;
|
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
* following is based on assumption that both temp_ch_lst
|
|
|
|
|
* and target channel matrix are in increasing order of
|
|
|
|
|
* ch_id
|
|
|
|
|
*/
|
|
|
|
|
for (j = 0, k = 0; j < temp_ch_lst_sz && k < num_channel;) {
|
|
|
|
|
if (temp_ch_lst[j] == 0) {
|
|
|
|
|
j++;
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if (target_chan_matrix[k].leak_chan != temp_ch_lst[j]) {
|
|
|
|
|
k++;
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
* check leakage from candidate channel
|
|
|
|
|
* to NOL channel
|
|
|
|
|
*/
|
|
|
|
|
if (target_chan_matrix[k].leak_lvl <=
|
|
|
|
|
mac->sap.SapDfsInfo.tx_leakage_threshold) {
|
|
|
|
|
/*
|
|
|
|
|
* candidate channel will have
|
|
|
|
|
* bad leakage in NOL channel,
|
|
|
|
|
* remove from temp list
|
|
|
|
|
*/
|
|
|
|
|
QDF_TRACE(QDF_MODULE_ID_SAP,
|
|
|
|
|
QDF_TRACE_LEVEL_INFO_LOW,
|
|
|
|
|
FL("sapdfs: channel: %d will have bad leakage due to channel: %d\n"),
|
|
|
|
|
dfs_nol_channel, temp_ch_lst[j]);
|
|
|
|
|
temp_ch_lst[j] = 0;
|
|
|
|
|
}
|
|
|
|
|
j++;
|
|
|
|
|
k++;
|
|
|
|
|
}
|
|
|
|
|
} /* end of loop that selects each NOL */
|
|
|
|
|
return QDF_STATUS_SUCCESS;
|
|
|
|
|
}
|
|
|
|
|
#endif /* end of WLAN_ENABLE_CHNL_MATRIX_RESTRICTION */
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* sap_is_channel_bonding_etsi_weather_channel() - check weather chan bonding.
|
|
|
|
|
* @sap_ctx: sap context
|
|
|
|
@@ -3058,25 +2201,19 @@ static QDF_STATUS sap_fsm_state_ch_select(struct sap_context *sap_ctx,
|
|
|
|
|
uint32_t msg = sap_event->event;
|
|
|
|
|
QDF_STATUS qdf_status = QDF_STATUS_E_FAILURE;
|
|
|
|
|
bool b_leak_chan = false;
|
|
|
|
|
#ifdef WLAN_ENABLE_CHNL_MATRIX_RESTRICTION
|
|
|
|
|
uint8_t temp_chan;
|
|
|
|
|
tSapDfsNolInfo *p_nol;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
if (msg == eSAP_MAC_SCAN_COMPLETE) {
|
|
|
|
|
#ifdef WLAN_ENABLE_CHNL_MATRIX_RESTRICTION
|
|
|
|
|
temp_chan = sap_ctx->channel;
|
|
|
|
|
p_nol = mac_ctx->sap.SapDfsInfo.sapDfsChannelNolList;
|
|
|
|
|
|
|
|
|
|
sap_mark_leaking_ch(sap_ctx,
|
|
|
|
|
sap_ctx->ch_params.ch_width, p_nol, 1, &temp_chan);
|
|
|
|
|
utils_dfs_mark_leaking_ch(mac_ctx->pdev,
|
|
|
|
|
sap_ctx->ch_params.ch_width,
|
|
|
|
|
1, &temp_chan);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* if selelcted channel has leakage to channels
|
|
|
|
|
* in NOL, the temp_chan will be reset
|
|
|
|
|
*/
|
|
|
|
|
b_leak_chan = (temp_chan != sap_ctx->channel);
|
|
|
|
|
#endif
|
|
|
|
|
/*
|
|
|
|
|
* check if channel is in DFS_NOL or if the channel
|
|
|
|
|
* has leakage to the channels in NOL
|
|
|
|
|