qcacmn: Fix umac/regulatory/dispatcher documentation
The kernel-doc script identified some documentation issues in the umac/regulatory/dispatcher folder, so fix them. Change-Id: I2d38ec243bba2f48f522e2b80ac097eec0e06a3c CRs-Fixed: 3402138
此提交包含在:
@@ -17,7 +17,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/**
|
||||
/**
|
||||
* DOC: reg_services_public_struct.h
|
||||
* This file contains regulatory data structures
|
||||
*/
|
||||
@@ -107,7 +107,7 @@
|
||||
* @DFS_MKK_REGION: MKK region
|
||||
* @DFS_CN_REGION: China region
|
||||
* @DFS_KR_REGION: Korea region
|
||||
* @DFS_MKK_REGION: MKKN region
|
||||
* @DFS_MKKN_REGION: MKKN region
|
||||
* that supports updated W53 RADAR pattern
|
||||
* detection.
|
||||
* @DFS_UNDEF_REGION: Undefined region
|
||||
@@ -124,12 +124,13 @@ enum dfs_reg {
|
||||
DFS_UNDEF_REGION = 0xFFFF,
|
||||
};
|
||||
|
||||
/** enum op_class_table_num
|
||||
* OP_CLASS_US- Class corresponds to US
|
||||
* OP_CLASS_EU- Class corresponds to EU
|
||||
* OP_CLASS_JAPAN- Class corresponds to JAPAN
|
||||
* OP_CLASS_GLOBAL- Class corresponds to GLOBAL
|
||||
* OP_CLASS_CHINA- Class corresponds to CHINA
|
||||
/**
|
||||
* enum op_class_table_num
|
||||
* @OP_CLASS_US: Class corresponds to US
|
||||
* @OP_CLASS_EU: Class corresponds to EU
|
||||
* @OP_CLASS_JAPAN: Class corresponds to JAPAN
|
||||
* @OP_CLASS_GLOBAL: Class corresponds to GLOBAL
|
||||
* @OP_CLASS_CHINA: Class corresponds to CHINA
|
||||
*/
|
||||
enum op_class_table_num {
|
||||
OP_CLASS_US = 1,
|
||||
@@ -139,7 +140,9 @@ enum op_class_table_num {
|
||||
OP_CLASS_CHINA
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* NB: not using kernel-doc comment marker since kernel-doc doesn't
|
||||
* properly handle the conditional compilation
|
||||
* enum channel_enum - channel enumeration
|
||||
* @CHAN_ENUM_2412: channel with freq 2412
|
||||
* @CHAN_ENUM_2417: channel with freq 2417
|
||||
@@ -580,7 +583,7 @@ enum reg_6g_ap_type {
|
||||
* @REG_SUBORDINATE_CLIENT: Subordinate client
|
||||
* @REG_MAX_CLIENT_TYPE: Maximum value possible for max tx-power category
|
||||
* (2 bits) sub-field in the TPE (Transmit Power Envelope) IE
|
||||
* REG_INVALID_CLIENT_TYPE: Invalid client type
|
||||
* @REG_INVALID_CLIENT_TYPE: Invalid client type
|
||||
*/
|
||||
enum reg_6g_client_type {
|
||||
REG_DEFAULT_CLIENT = 0,
|
||||
@@ -590,7 +593,7 @@ enum reg_6g_client_type {
|
||||
};
|
||||
|
||||
/**
|
||||
* enum reg_domain: reg domain
|
||||
* enum v_REGDOMAIN_t: reg domain
|
||||
* @REGDOMAIN_FCC: FCC domain
|
||||
* @REGDOMAIN_ETSI: ETSI domain
|
||||
* @REGDOMAIN_JAPAN: JAPAN domain
|
||||
@@ -666,6 +669,9 @@ struct ch_params {
|
||||
#endif
|
||||
};
|
||||
|
||||
#ifdef WLAN_FEATURE_11BE
|
||||
#define MAX_NUM_CHAN_PARAM 2
|
||||
|
||||
/**
|
||||
* struct reg_channel_list
|
||||
* @num_ch_params: Number of chan_param elements
|
||||
@@ -675,8 +681,6 @@ struct ch_params {
|
||||
* allocated in the future by the caller if num_ch_params is greater than 2.
|
||||
*
|
||||
*/
|
||||
#ifdef WLAN_FEATURE_11BE
|
||||
#define MAX_NUM_CHAN_PARAM 2
|
||||
struct reg_channel_list {
|
||||
uint8_t num_ch_params;
|
||||
struct ch_params chan_param[MAX_NUM_CHAN_PARAM];
|
||||
@@ -702,6 +706,7 @@ struct channel_power {
|
||||
* @BW40_HIGH_PRIMARY: higher channel in 40 mhz
|
||||
* @BW80: 80 mhz channel
|
||||
* @BWALL: unknown bandwidth
|
||||
* @BW_INVALID: invalid bandwidth
|
||||
*/
|
||||
enum offset_t {
|
||||
BW20 = 0,
|
||||
@@ -766,7 +771,7 @@ struct reg_dmn_op_class_map_t {
|
||||
* by the current hw mode.
|
||||
* @OPCLASSES_NOT_SUPPORTED_BY_CUR_HWMODE: Retrieve opclasses that are not
|
||||
* supported by the current hw mode.
|
||||
* OPCLASSES_SUPPORTED_BY_DOMAIN: Populate the opclass supported by the radio
|
||||
* @OPCLASSES_SUPPORTED_BY_DOMAIN: Populate the opclass supported by the radio
|
||||
* without considering the capability of current hwmode.
|
||||
*/
|
||||
enum opclass_config {
|
||||
@@ -848,6 +853,7 @@ struct reg_11d_new_country {
|
||||
|
||||
/**
|
||||
* enum country_src: country source
|
||||
* @SOURCE_UNKNOWN: source unknown
|
||||
* @SOURCE_QUERY: source query
|
||||
* @SOURCE_CORE: source regulatory core
|
||||
* @SOURCE_DRIVER: source driver
|
||||
@@ -883,9 +889,9 @@ enum country_src {
|
||||
* and therefore can't be created in the normal ways, use the
|
||||
* %NL80211_CMD_START_P2P_DEVICE and %NL80211_CMD_STOP_P2P_DEVICE
|
||||
* commands to create and destroy one
|
||||
* @IF_TYPE_OCB: Outside Context of a BSS
|
||||
* @IFTYPE_OCB: Outside Context of a BSS
|
||||
* This mode corresponds to the MIB variable dot11OCBActivated=true
|
||||
* @IF_TYPE_NAN: NAN mode
|
||||
* @IFTYPE_NAN: NAN mode
|
||||
* @IFTYPE_MAX: highest interface type number currently defined
|
||||
* @NUM_IFTYPES: number of defined interface types
|
||||
*
|
||||
@@ -914,9 +920,9 @@ enum iftype {
|
||||
};
|
||||
|
||||
/**
|
||||
* usable_channels_filter - Filters to get usable channels
|
||||
* FILTER_CELLULAR_COEX: Avoid lte coex channels
|
||||
* FILTER_WLAN_CONCURRENCY: Avoid con channels
|
||||
* enum usable_channels_filter - Filters to get usable channels
|
||||
* @FILTER_CELLULAR_COEX: Avoid lte coex channels
|
||||
* @FILTER_WLAN_CONCURRENCY: Avoid con channels
|
||||
**/
|
||||
enum usable_channels_filter {
|
||||
FILTER_CELLULAR_COEX = 0,
|
||||
@@ -924,13 +930,13 @@ enum usable_channels_filter {
|
||||
};
|
||||
|
||||
/**
|
||||
* get_usable_chan_res_params - Usable channels resp params
|
||||
* freq : center freq
|
||||
* seg0_freq : seg0 freq
|
||||
* seg1_freq: seg1 freq
|
||||
* bw : bandwidth
|
||||
* state: channel state
|
||||
* iface_mode_mask: interface mode mask
|
||||
* struct get_usable_chan_res_params - Usable channels resp params
|
||||
* @freq : center freq
|
||||
* @seg0_freq : seg0 freq
|
||||
* @seg1_freq: seg1 freq
|
||||
* @bw : bandwidth
|
||||
* @state: channel state
|
||||
* @iface_mode_mask: interface mode mask
|
||||
**/
|
||||
struct get_usable_chan_res_params {
|
||||
qdf_freq_t freq;
|
||||
@@ -942,10 +948,10 @@ struct get_usable_chan_res_params {
|
||||
};
|
||||
|
||||
/**
|
||||
* get_usable_chan_req_params - Usable channels req params
|
||||
* band_mask : band mask
|
||||
* iface_mode_mask: interface mode mask
|
||||
* filter_mask: filter mask
|
||||
* struct get_usable_chan_req_params - Usable channels req params
|
||||
* @band_mask: band mask
|
||||
* @iface_mode_mask: interface mode mask
|
||||
* @filter_mask: filter mask
|
||||
**/
|
||||
struct get_usable_chan_req_params {
|
||||
uint32_t band_mask;
|
||||
@@ -963,6 +969,7 @@ struct get_usable_chan_req_params {
|
||||
* @tx_power: TX powers
|
||||
* @min_bw: min bandwidth
|
||||
* @max_bw: max bandwidth
|
||||
* @ant_gain: antenna gain
|
||||
* @nol_chan: whether channel is nol
|
||||
* @nol_history: Set NOL-History when STA vap detects RADAR.
|
||||
* @is_chan_hop_blocked: Whether channel is blocked for ACS hopping.
|
||||
@@ -1005,7 +1012,8 @@ struct regulatory_channel {
|
||||
#endif
|
||||
};
|
||||
|
||||
/** struct ap_cli_pwr_mode_info: AP and client power mode information
|
||||
/**
|
||||
* struct ap_cli_pwr_mode_info: AP and client power mode information
|
||||
* @is_mode_ap: Is it AP or CLIENT
|
||||
* @cli_type: Is the client a default or subordinate
|
||||
* @ap_pwr_mode: LPI, SP or VLP
|
||||
@@ -1091,7 +1099,7 @@ struct super_chan_info {
|
||||
* @def_region: DFS region
|
||||
* @ctl_2g: 2G CTL value
|
||||
* @ctl_5g: 5G CTL value
|
||||
* @reg_pair: pointer to regulatory pair
|
||||
* @regpair: pointer to regulatory pair
|
||||
* @cc_src: country code src
|
||||
* @reg_flags: kernel regulatory flags
|
||||
*/
|
||||
@@ -1210,7 +1218,7 @@ struct cur_fcc_rule {
|
||||
* @ctry_code: country code
|
||||
* @alpha2: country alpha2
|
||||
* @offload_enabled: offload enabled
|
||||
* @dfs_reg: dfs region
|
||||
* @dfs_region: dfs region
|
||||
* @phybitmap: phy bit map
|
||||
* @min_bw_2g: minimum 2G bw
|
||||
* @max_bw_2g: maximum 2G bw
|
||||
@@ -1282,9 +1290,12 @@ struct cur_regulatory_info {
|
||||
#if defined(CONFIG_AFC_SUPPORT) && defined(CONFIG_BAND_6GHZ)
|
||||
|
||||
/**
|
||||
* reg_afc_event_type indicates the type of AFC event sent from FW to host.
|
||||
* enum reg_afc_event_type - indicates the type of AFC event from FW to host.
|
||||
* @REG_AFC_EVENT_POWER_INFO:
|
||||
* 1. For sending Power Info REG_AFC_EVENT_POWER_INFO event is used.
|
||||
* @REG_AFC_EVENT_TIMER_EXPIRY:
|
||||
* 2. For sending AFC expiry use REG_AFC_EVENT_TIMER_EXPIRY
|
||||
*
|
||||
* This type can be expanded in future as per requirements.
|
||||
*/
|
||||
enum reg_afc_event_type {
|
||||
@@ -1293,12 +1304,16 @@ enum reg_afc_event_type {
|
||||
};
|
||||
|
||||
/**
|
||||
* reg_afc_expiry_event_subtype indicates the subtype.
|
||||
* enum reg_afc_expiry_event_subtype - indicates the AFC expiry subtype.
|
||||
* @REG_AFC_EXPIRY_EVENT_START:
|
||||
* 1. At boot up AFC expiry will contain AFC start.
|
||||
* @REG_AFC_EXPIRY_EVENT_RENEW:
|
||||
* 2. If AFC timer expires AFC_RENEW status code will be sent to host
|
||||
* with expiry event.
|
||||
* @REG_AFC_EXPIRY_EVENT_SWITCH_TO_LPI:
|
||||
* 3. If AFC server is not responding to FW in specified time, FW will
|
||||
* indicate host to switch to LPI.
|
||||
* @REG_AFC_EXPIRY_EVENT_STOP_TX:
|
||||
*/
|
||||
enum reg_afc_expiry_event_subtype {
|
||||
REG_AFC_EXPIRY_EVENT_START = 1,
|
||||
@@ -1308,15 +1323,20 @@ enum reg_afc_expiry_event_subtype {
|
||||
};
|
||||
|
||||
/**
|
||||
* The following fw_status_code is mutually exclusive
|
||||
* and is used in power event.
|
||||
* enum reg_fw_afc_power_event_status_code
|
||||
* @REG_FW_AFC_POWER_EVENT_SUCCESS:
|
||||
* 0. AFC power event is success.
|
||||
* @REG_FW_AFC_POWER_EVENT_RESP_NOT_RECEIVED:
|
||||
* 1. If Host does not indicate AFC indication cmd within certain time
|
||||
* of AFC expiry, REG_FW_AFC_POWER_EVENT_RESP_NOT_RECEIVED will be used.
|
||||
* @REG_FW_AFC_POWER_EVENT_RESP_PARSING_FAILURE:
|
||||
* 2. If FW is not able to parse afc_info, parsing_failure will be
|
||||
* indicated using REG_FW_AFC_POWER_EVENT_RESP_NOT_RECEIVED.
|
||||
* @REG_FW_AFC_POWER_EVENT_FAILURE:
|
||||
* 3. If due to some local reason AFC event is failed, AFC event failure
|
||||
* is indicated using REG_FW_AFC_POWER_EVENT_FAILURE.
|
||||
*
|
||||
* Firmware AFC power event status codes
|
||||
*/
|
||||
enum reg_fw_afc_power_event_status_code {
|
||||
REG_FW_AFC_POWER_EVENT_SUCCESS = 0,
|
||||
@@ -1326,6 +1346,16 @@ enum reg_fw_afc_power_event_status_code {
|
||||
};
|
||||
|
||||
/**
|
||||
* enum reg_afc_serv_resp_code - AFC server response codes
|
||||
* @REG_AFC_SERV_RESP_GENERAL_FAILURE:
|
||||
* @REG_AFC_SERV_RESP_SUCCESS:
|
||||
* @REG_AFC_SERV_RESP_VERSION_NOT_SUPPORTED:
|
||||
* @REG_AFC_SERV_RESP_DEVICE_UNALLOWED:
|
||||
* @REG_AFC_SERV_RESP_MISSING_PARAM:
|
||||
* @REG_AFC_SERV_RESP_INVALID_VALUE:
|
||||
* @REG_AFC_SERV_RESP_UNEXPECTED_PARAM:
|
||||
* @REG_AFC_SERV_RESP_UNSUPPORTED_SPECTRUM:
|
||||
*
|
||||
* The following reg_afc_server_resp_code is mutually exclusive.
|
||||
* This response code will be indicated to AFC server.
|
||||
* These codes are defined in WIFI spec doc for AFC as follows
|
||||
@@ -1441,7 +1471,9 @@ struct afc_regulatory_info {
|
||||
* @dfs_region: dfs region
|
||||
* @num_of_reg_rules: number of reg rules
|
||||
* @reg_rules: regulatory rules array
|
||||
* @num_of_6g_client_reg_rules: number of 6g reg rules
|
||||
* @num_of_6g_ap_reg_rules: number of 6g AP reg rules
|
||||
* @reg_rules_6g_ap: reg rules for all 6g AP
|
||||
* @num_of_6g_client_reg_rules: number of 6g client reg rules
|
||||
* @reg_rules_6g_client: reg rules for all 6g clients
|
||||
*/
|
||||
struct reg_rule_info {
|
||||
@@ -1458,7 +1490,7 @@ struct reg_rule_info {
|
||||
};
|
||||
|
||||
/**
|
||||
* enum reg_reg_wifi_band
|
||||
* enum reg_wifi_band
|
||||
* @REG_BAND_2G: 2G band
|
||||
* @REG_BAND_5G: 5G band
|
||||
* @REG_BAND_6G: 6G band
|
||||
@@ -1524,8 +1556,8 @@ enum restart_beaconing_on_ch_avoid_rule {
|
||||
* @scan_11d_interval: 11d scan interval in ms
|
||||
* @userspace_ctry_priority: user priority
|
||||
* @band_capability: band capability
|
||||
* @dfs_disable: dfs disabled
|
||||
* @indoor_channel_support: indoor channel support
|
||||
* @dfs_enabled: dfs enabled
|
||||
* @indoor_chan_enabled: indoor channel support
|
||||
* @force_ssc_disable_indoor_channel: Disable indoor channel on sap start
|
||||
* @restart_beaconing: control the beaconing entity to move
|
||||
* away from active LTE channels
|
||||
@@ -1608,12 +1640,13 @@ enum direction {
|
||||
* @reg_6g_superid: 6G super domain ID
|
||||
* @ctry_code: country code
|
||||
* @reg_rules: regulatory rules
|
||||
* @ap_pwr_type: type of AP
|
||||
* @client_type: type of client
|
||||
* @rnr_tpe_usable: if RNR TPE octet is usable for country
|
||||
* @unspecified_ap_usable: if not set, AP usable for country
|
||||
* @max_bw_5g: Maximum 5g Bandwidth
|
||||
* @reg_6g_thresh_priority_freq: All frequencies greater or equal will be given
|
||||
* priority during channel selection by upper layer
|
||||
* @max_bw_5g: Maximum 5g Bandwidth
|
||||
*/
|
||||
struct mas_chan_params {
|
||||
enum dfs_reg dfs_region;
|
||||
@@ -1648,7 +1681,7 @@ struct mas_chan_params {
|
||||
|
||||
/**
|
||||
* enum cc_regdmn_flag: Regdomain flags
|
||||
* @INVALID: Invalid flag
|
||||
* @INVALID_CC: Invalid flag
|
||||
* @CC_IS_SET: Country code is set
|
||||
* @REGDMN_IS_SET: Regdomain ID is set
|
||||
* @ALPHA_IS_SET: Country ISO is set
|
||||
@@ -1662,11 +1695,13 @@ enum cc_regdmn_flag {
|
||||
|
||||
/**
|
||||
* struct cc_regdmn_s: User country code or regdomain
|
||||
* @country_code: Country code
|
||||
* @reg_2g_5g_pair_id: Regdomain pair ID (2Ghz + 5Ghz domain pair)
|
||||
* @sixg_superdmn_id: 6Ghz super domain id
|
||||
* @alpha: Country ISO
|
||||
* @flags: Regdomain flags
|
||||
* @cc: Union of country code/regulatory domain
|
||||
* @cc.country_code: Country code
|
||||
* @cc.regdmn: Regulatory domain
|
||||
* @cc.regdmn.reg_2g_5g_pair_id: Regdomain pair ID (2Ghz + 5Ghz domain pair)
|
||||
* @cc.regdmn.sixg_superdmn_id: 6Ghz super domain id
|
||||
* @cc.alpha: Country ISO
|
||||
* @flags: Regdomain flags (see enum cc_regdmn_flag)
|
||||
*/
|
||||
struct cc_regdmn_s {
|
||||
union {
|
||||
@@ -1703,6 +1738,7 @@ struct cur_regdmn_info {
|
||||
* @start_freq: start freq
|
||||
* @end_freq: end freq
|
||||
* @txpower: txpower
|
||||
* @is_valid_txpower: Is @txpower valid
|
||||
*/
|
||||
struct ch_avoid_freq_type {
|
||||
qdf_freq_t start_freq;
|
||||
@@ -1727,6 +1763,8 @@ struct ch_avoid_ind_type {
|
||||
* struct unsafe_ch_list
|
||||
* @chan_cnt: no.of channels
|
||||
* @chan_freq_list: channel frequency list
|
||||
* @txpower: Tx power per channel
|
||||
* @is_valid_txpower: Is @txpower valid per channel
|
||||
*/
|
||||
struct unsafe_ch_list {
|
||||
uint16_t chan_cnt;
|
||||
@@ -1923,8 +1961,9 @@ struct chan_5g_center_freq {
|
||||
* @HOST_REGDMN_MODE_11BEA_EHT80: 11be 5GHz, EHT80 channels
|
||||
* @HOST_REGDMN_MODE_11BEA_EHT160: 11be 5GHz, EHT160 channels
|
||||
* @HOST_REGDMN_MODE_11BEA_EHT320: 11be 5GHz, EHT320 channels
|
||||
* @HOST_REGDMN_MODE_ALL: All modes selected
|
||||
*/
|
||||
enum {
|
||||
enum HOST_REGDMN_MODE {
|
||||
HOST_REGDMN_MODE_11A = 0x00000001,
|
||||
HOST_REGDMN_MODE_TURBO = 0x00000002,
|
||||
HOST_REGDMN_MODE_11B = 0x00000004,
|
||||
@@ -2236,8 +2275,9 @@ enum {
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_AFC_SUPPORT
|
||||
/* enum reg_afc_cmd_type - Type of AFC command sent to FW
|
||||
* @REG_AFC_CMD_SERV_RESP_READY : Server response is ready
|
||||
/**
|
||||
* enum reg_afc_cmd_type - Type of AFC command sent to FW
|
||||
* @REG_AFC_CMD_SERV_RESP_READY: Server response is ready
|
||||
* @REG_AFC_CMD_RESET_AFC: Indicate the target to reset AFC
|
||||
*/
|
||||
enum reg_afc_cmd_type {
|
||||
@@ -2245,10 +2285,11 @@ enum reg_afc_cmd_type {
|
||||
REG_AFC_CMD_RESET_AFC = 2,
|
||||
};
|
||||
|
||||
/* enum reg_afc_serv_resp_format - Indicate the format in which afc_serv_format
|
||||
* is written in FW memory
|
||||
* @REG_AFC_SERV_RESP_FORMAT_JSON - Server response in JSON format
|
||||
* @REG_AFC_SERV_RESP_FORMAT_BINARY - Server response in BINARY format
|
||||
/**
|
||||
* enum reg_afc_serv_resp_format - Indicate the format in which afc_serv_format
|
||||
* is written in FW memory
|
||||
* @REG_AFC_SERV_RESP_FORMAT_JSON: Server response in JSON format
|
||||
* @REG_AFC_SERV_RESP_FORMAT_BINARY: Server response in BINARY format
|
||||
*/
|
||||
enum reg_afc_serv_resp_format {
|
||||
REG_AFC_SERV_RESP_FORMAT_JSON = 0,
|
||||
@@ -2266,8 +2307,8 @@ struct reg_afc_resp_rx_ind_info {
|
||||
};
|
||||
|
||||
/**
|
||||
* afc_req_rx_evt_handler() - Function prototype of AFC request received event
|
||||
* handler
|
||||
* typedef afc_req_rx_evt_handler() - Function prototype of AFC request
|
||||
* received event handler
|
||||
* @pdev: Pointer to pdev
|
||||
* @afc_par_req: Pointer to AFC partial request
|
||||
* @arg: Pointer to void (opaque) argument object
|
||||
@@ -2279,8 +2320,8 @@ typedef void (*afc_req_rx_evt_handler)(struct wlan_objmgr_pdev *pdev,
|
||||
void *arg);
|
||||
|
||||
/**
|
||||
* afc_power_tx_evt_handler() - Function prototype of AFC power event sent
|
||||
* handler
|
||||
* typedef afc_power_tx_evt_handler() - Function prototype of AFC power event
|
||||
* sent handler
|
||||
* @pdev: Pointer to pdev
|
||||
* @power_info: Pointer to AFC power event data
|
||||
* @arg: Pointer to void (opaque) argument object
|
||||
|
@@ -34,8 +34,8 @@
|
||||
*
|
||||
* Return: Maximum 5GHz channel number
|
||||
*/
|
||||
#define WLAN_REG_MAX_5GHZ_CH_NUM wlan_reg_max_5ghz_ch_num()
|
||||
uint8_t wlan_reg_max_5ghz_ch_num(void);
|
||||
#define WLAN_REG_MAX_5GHZ_CH_NUM wlan_reg_max_5ghz_ch_num()
|
||||
|
||||
#ifdef CONFIG_CHAN_FREQ_API
|
||||
/**
|
||||
@@ -43,32 +43,32 @@ uint8_t wlan_reg_max_5ghz_ch_num(void);
|
||||
*
|
||||
* Return: Minimum 2.4GHz channel frequency
|
||||
*/
|
||||
#define WLAN_REG_MIN_24GHZ_CHAN_FREQ wlan_reg_min_24ghz_chan_freq()
|
||||
qdf_freq_t wlan_reg_min_24ghz_chan_freq(void);
|
||||
#define WLAN_REG_MIN_24GHZ_CHAN_FREQ wlan_reg_min_24ghz_chan_freq()
|
||||
|
||||
/**
|
||||
* wlan_reg_max_24ghz_chan_freq() - Get maximum 2.4GHz channel frequency
|
||||
*
|
||||
* Return: Maximum 2.4GHz channel frequency
|
||||
*/
|
||||
#define WLAN_REG_MAX_24GHZ_CHAN_FREQ wlan_reg_max_24ghz_chan_freq()
|
||||
qdf_freq_t wlan_reg_max_24ghz_chan_freq(void);
|
||||
#define WLAN_REG_MAX_24GHZ_CHAN_FREQ wlan_reg_max_24ghz_chan_freq()
|
||||
|
||||
/**
|
||||
* wlan_reg_min_5ghz_chan_freq() - Get minimum 5GHz channel frequency
|
||||
*
|
||||
* Return: Minimum 5GHz channel frequency
|
||||
*/
|
||||
#define WLAN_REG_MIN_5GHZ_CHAN_FREQ wlan_reg_min_5ghz_chan_freq()
|
||||
qdf_freq_t wlan_reg_min_5ghz_chan_freq(void);
|
||||
#define WLAN_REG_MIN_5GHZ_CHAN_FREQ wlan_reg_min_5ghz_chan_freq()
|
||||
|
||||
/**
|
||||
* wlan_reg_max_5ghz_chan_freq() - Get maximum 5GHz channel frequency
|
||||
*
|
||||
* Return: Maximum 5GHz channel frequency
|
||||
*/
|
||||
#define WLAN_REG_MAX_5GHZ_CHAN_FREQ wlan_reg_max_5ghz_chan_freq()
|
||||
qdf_freq_t wlan_reg_max_5ghz_chan_freq(void);
|
||||
#define WLAN_REG_MAX_5GHZ_CHAN_FREQ wlan_reg_max_5ghz_chan_freq()
|
||||
#endif /* CONFIG_CHAN_FREQ_API */
|
||||
|
||||
/**
|
||||
@@ -77,8 +77,8 @@ qdf_freq_t wlan_reg_max_5ghz_chan_freq(void);
|
||||
*
|
||||
* Return: true if channel frequency is 2.4GHz, else false
|
||||
*/
|
||||
#define WLAN_REG_IS_24GHZ_CH_FREQ(freq) wlan_reg_is_24ghz_ch_freq(freq)
|
||||
bool wlan_reg_is_24ghz_ch_freq(qdf_freq_t freq);
|
||||
#define WLAN_REG_IS_24GHZ_CH_FREQ(freq) wlan_reg_is_24ghz_ch_freq(freq)
|
||||
|
||||
/**
|
||||
* wlan_reg_is_5ghz_ch_freq() - Check if the given channel frequency is 5GHz
|
||||
@@ -86,15 +86,15 @@ bool wlan_reg_is_24ghz_ch_freq(qdf_freq_t freq);
|
||||
*
|
||||
* Return: true if channel frequency is 5GHz, else false
|
||||
*/
|
||||
#define WLAN_REG_IS_5GHZ_CH_FREQ(freq) wlan_reg_is_5ghz_ch_freq(freq)
|
||||
bool wlan_reg_is_5ghz_ch_freq(qdf_freq_t freq);
|
||||
#define WLAN_REG_IS_5GHZ_CH_FREQ(freq) wlan_reg_is_5ghz_ch_freq(freq)
|
||||
|
||||
/**
|
||||
* wlan_reg_is_range_overlap_2g() - Check if the given low_freq and high_freq
|
||||
* is in the 2G range.
|
||||
*
|
||||
* @low_freq - Low frequency.
|
||||
* @high_freq - High frequency.
|
||||
* @low_freq: Low frequency.
|
||||
* @high_freq: High frequency.
|
||||
*
|
||||
* Return: Return true if given low_freq and high_freq overlaps 2G range,
|
||||
* else false.
|
||||
@@ -105,8 +105,8 @@ bool wlan_reg_is_range_overlap_2g(qdf_freq_t low_freq, qdf_freq_t high_freq);
|
||||
* wlan_reg_is_range_overlap_5g() - Check if the given low_freq and high_freq
|
||||
* is in the 5G range.
|
||||
*
|
||||
* @low_freq - Low frequency.
|
||||
* @high_freq - High frequency.
|
||||
* @low_freq: Low frequency.
|
||||
* @high_freq: High frequency.
|
||||
*
|
||||
* Return: Return true if given low_freq and high_freq overlaps 5G range,
|
||||
* else false.
|
||||
@@ -171,15 +171,15 @@ bool wlan_reg_is_freq_indoor_in_secondary_list(struct wlan_objmgr_pdev *pdev,
|
||||
*
|
||||
* Return: true if channel frequency is 6GHz, else false
|
||||
*/
|
||||
#define WLAN_REG_IS_6GHZ_CHAN_FREQ(freq) wlan_reg_is_6ghz_chan_freq(freq)
|
||||
bool wlan_reg_is_6ghz_chan_freq(uint16_t freq);
|
||||
#define WLAN_REG_IS_6GHZ_CHAN_FREQ(freq) wlan_reg_is_6ghz_chan_freq(freq)
|
||||
|
||||
#ifdef CONFIG_6G_FREQ_OVERLAP
|
||||
/**
|
||||
* wlan_reg_is_range_only6g() - Check if the given low_freq and high_freq
|
||||
* is in the 6G range.
|
||||
* @low_freq - Low frequency.
|
||||
* @high_freq - High frequency.
|
||||
* @low_freq: Low frequency.
|
||||
* @high_freq: High frequency.
|
||||
*
|
||||
* Return: Return true if given low_freq and high_freq overlaps 6G range,
|
||||
* else false.
|
||||
@@ -190,8 +190,8 @@ bool wlan_reg_is_range_only6g(qdf_freq_t low_freq, qdf_freq_t high_freq);
|
||||
* wlan_reg_is_range_overlap_6g() - Check if the given low_freq and high_freq
|
||||
* is in the 6G range.
|
||||
*
|
||||
* @low_freq - Low frequency.
|
||||
* @high_freq - High frequency.
|
||||
* @low_freq: Low frequency.
|
||||
* @high_freq: High frequency.
|
||||
*
|
||||
* Return: Return true if given low_freq and high_freq overlaps 6G range,
|
||||
* else false.
|
||||
@@ -227,7 +227,7 @@ QDF_STATUS wlan_reg_get_6g_ap_master_chan_list(
|
||||
|
||||
#ifdef CONFIG_REG_CLIENT
|
||||
/**
|
||||
* wlan_reg_get_power_string () - wlan reg get power type string
|
||||
* wlan_reg_get_power_string() - wlan reg get power type string
|
||||
* @power_type: power type enum
|
||||
*
|
||||
* Return: power type string
|
||||
@@ -243,25 +243,25 @@ const char *wlan_reg_get_power_string(enum reg_6g_ap_type power_type);
|
||||
* Return: true if given 6GHz channel frequency is preferred scanning channel
|
||||
* frequency, else false
|
||||
*/
|
||||
bool wlan_reg_is_6ghz_psc_chan_freq(uint16_t freq);
|
||||
#define WLAN_REG_IS_6GHZ_PSC_CHAN_FREQ(freq) \
|
||||
wlan_reg_is_6ghz_psc_chan_freq(freq)
|
||||
bool wlan_reg_is_6ghz_psc_chan_freq(uint16_t freq);
|
||||
|
||||
/**
|
||||
* wlan_reg_min_6ghz_chan_freq() - Get minimum 6GHz channel center frequency
|
||||
*
|
||||
* Return: Minimum 6GHz channel center frequency
|
||||
*/
|
||||
#define WLAN_REG_MIN_6GHZ_CHAN_FREQ wlan_reg_min_6ghz_chan_freq()
|
||||
uint16_t wlan_reg_min_6ghz_chan_freq(void);
|
||||
#define WLAN_REG_MIN_6GHZ_CHAN_FREQ wlan_reg_min_6ghz_chan_freq()
|
||||
|
||||
/**
|
||||
* wlan_reg_max_6ghz_chan_freq() - Get maximum 6GHz channel center frequency
|
||||
*
|
||||
* Return: Maximum 6GHz channel center frequency
|
||||
*/
|
||||
#define WLAN_REG_MAX_6GHZ_CHAN_FREQ wlan_reg_max_6ghz_chan_freq()
|
||||
uint16_t wlan_reg_max_6ghz_chan_freq(void);
|
||||
#define WLAN_REG_MAX_6GHZ_CHAN_FREQ wlan_reg_max_6ghz_chan_freq()
|
||||
|
||||
/**
|
||||
* wlan_reg_is_6g_freq_indoor() - Check if a 6GHz frequency is indoor.
|
||||
@@ -270,9 +270,9 @@ uint16_t wlan_reg_max_6ghz_chan_freq(void);
|
||||
*
|
||||
* Return: Return true if a 6GHz frequency is indoor, else false.
|
||||
*/
|
||||
bool wlan_reg_is_6g_freq_indoor(struct wlan_objmgr_pdev *pdev, qdf_freq_t freq);
|
||||
#define WLAN_REG_IS_6GHZ_FREQ_INDOOR(pdev, freq) \
|
||||
wlan_reg_is_6g_freq_indoor(pdev, freq)
|
||||
bool wlan_reg_is_6g_freq_indoor(struct wlan_objmgr_pdev *pdev, qdf_freq_t freq);
|
||||
|
||||
/**
|
||||
* wlan_reg_get_max_txpower_for_6g_tpe() - Get max txpower for 6G TPE IE.
|
||||
@@ -474,17 +474,16 @@ qdf_freq_t wlan_reg_chan_band_to_freq(struct wlan_objmgr_pdev *pdev,
|
||||
*
|
||||
* Return: true if channel frequency is 4.9GHz, else false
|
||||
*/
|
||||
#define WLAN_REG_IS_49GHZ_FREQ(freq) wlan_reg_is_49ghz_freq(freq)
|
||||
bool wlan_reg_is_49ghz_freq(qdf_freq_t freq);
|
||||
|
||||
#else
|
||||
|
||||
#define WLAN_REG_IS_49GHZ_FREQ(freq) (false)
|
||||
static inline bool wlan_reg_is_49ghz_freq(qdf_freq_t freq)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif /* CONFIG_49GHZ_CHAN */
|
||||
#define WLAN_REG_IS_49GHZ_FREQ(freq) wlan_reg_is_49ghz_freq(freq)
|
||||
|
||||
/**
|
||||
* wlan_reg_ch_num() - Get channel number from channel enum
|
||||
@@ -492,8 +491,8 @@ static inline bool wlan_reg_is_49ghz_freq(qdf_freq_t freq)
|
||||
*
|
||||
* Return: channel number
|
||||
*/
|
||||
#define WLAN_REG_CH_NUM(ch_enum) wlan_reg_ch_num(ch_enum)
|
||||
uint8_t wlan_reg_ch_num(uint32_t ch_enum);
|
||||
#define WLAN_REG_CH_NUM(ch_enum) wlan_reg_ch_num(ch_enum)
|
||||
|
||||
/**
|
||||
* wlan_reg_ch_to_freq() - Get channel frequency from channel enum
|
||||
@@ -501,11 +500,12 @@ uint8_t wlan_reg_ch_num(uint32_t ch_enum);
|
||||
*
|
||||
* Return: channel frequency
|
||||
*/
|
||||
#define WLAN_REG_CH_TO_FREQ(ch_enum) wlan_reg_ch_to_freq(ch_enum)
|
||||
qdf_freq_t wlan_reg_ch_to_freq(uint32_t ch_enum);
|
||||
#define WLAN_REG_CH_TO_FREQ(ch_enum) wlan_reg_ch_to_freq(ch_enum)
|
||||
|
||||
/**
|
||||
* wlan_reg_read_default_country() - Read the default country for the regdomain
|
||||
* @psoc: Psoc object
|
||||
* @country: pointer to the country code.
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
@@ -514,7 +514,7 @@ QDF_STATUS wlan_reg_read_default_country(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *country);
|
||||
|
||||
/**
|
||||
* wlan_reg_get_ctry_idx_max_bw_from_country_code() - Get the max 5G
|
||||
* wlan_reg_get_max_5g_bw_from_country_code() - Get the max 5G
|
||||
* bandwidth from country code
|
||||
* @pdev: pdev pointer
|
||||
* @cc: Country Code
|
||||
@@ -532,7 +532,7 @@ QDF_STATUS wlan_reg_get_max_5g_bw_from_country_code(
|
||||
* wlan_reg_get_max_5g_bw_from_regdomain() - Get the max 5G bandwidth
|
||||
* supported by the regdomain
|
||||
* @pdev: pdev pointer
|
||||
* @orig_regdmn: Regdomain Pair value
|
||||
* @regdmn: Regdomain Pair value
|
||||
* @max_bw_5g: Max 5G bandwidth supported by the country
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
@@ -576,12 +576,13 @@ bool wlan_reg_get_fcc_constraint(struct wlan_objmgr_pdev *pdev, uint32_t freq);
|
||||
#ifdef CONFIG_REG_CLIENT
|
||||
/**
|
||||
* wlan_reg_read_current_country() - Read the current country for the regdomain
|
||||
* @psoc: pointer to psoc
|
||||
* @country: pointer to the country code.
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS wlan_reg_read_current_country(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *country);
|
||||
uint8_t *country);
|
||||
|
||||
#ifdef CONFIG_REG_CLIENT
|
||||
/**
|
||||
@@ -607,7 +608,7 @@ wlan_reg_get_6g_power_type_for_ctry(struct wlan_objmgr_psoc *psoc,
|
||||
|
||||
#ifdef CONFIG_CHAN_FREQ_API
|
||||
/**
|
||||
* wlan_reg_is_etsi13_srd_chan_for_freq () - Checks if the ch is ETSI13 srd ch
|
||||
* wlan_reg_is_etsi13_srd_chan_for_freq() - Checks if the ch is ETSI13 srd ch
|
||||
* or not
|
||||
* @pdev: pdev ptr
|
||||
* @freq: channel center frequency
|
||||
@@ -647,7 +648,8 @@ bool wlan_reg_is_etsi13_srd_chan_allowed_master_mode(struct wlan_objmgr_pdev
|
||||
bool wlan_reg_is_world(uint8_t *country);
|
||||
|
||||
/**
|
||||
* wlan_reg_get_dfs_region () - Get the current dfs region
|
||||
* wlan_reg_get_dfs_region() - Get the current dfs region
|
||||
* @pdev: pdev pointer
|
||||
* @dfs_reg: pointer to dfs region
|
||||
*
|
||||
* Return: Status
|
||||
@@ -661,9 +663,9 @@ QDF_STATUS wlan_reg_get_dfs_region(struct wlan_objmgr_pdev *pdev,
|
||||
* temporary and a radar disabled channel does not mean that the channel is
|
||||
* permanently disabled. The API checks if the channel is disabled, but not due
|
||||
* to radar.
|
||||
* @chan - Regulatory channel object
|
||||
* @chan: Regulatory channel object
|
||||
*
|
||||
* Return - True, the channel is disabled, but not due to radar, else false.
|
||||
* Return: True, the channel is disabled, but not due to radar, else false.
|
||||
*/
|
||||
bool wlan_reg_is_chan_disabled_and_not_nol(struct regulatory_channel *chan);
|
||||
|
||||
@@ -844,7 +846,7 @@ wlan_reg_is_sta_connect_allowed(struct wlan_objmgr_pdev *pdev,
|
||||
* wlan_reg_is_6ghz_freq_txable() - Check if the given frequency is tx-able.
|
||||
* @pdev: Pointer to pdev
|
||||
* @freq: Frequency in MHz
|
||||
* @in_6ghz_pwr_type: Input AP power type
|
||||
* @in_6ghz_pwr_mode: Input AP power type
|
||||
*
|
||||
* An SP channel is tx-able if the channel is present in the AFC response.
|
||||
* In case of non-OUTDOOR mode a channel is always tx-able (Assuming it is
|
||||
@@ -896,11 +898,11 @@ wlan_reg_is_6ghz_freq_txable(struct wlan_objmgr_pdev *pdev,
|
||||
/**
|
||||
* wlan_reg_get_bonded_channel_state_for_pwrmode() - Get bonded channel freq
|
||||
* state
|
||||
* @pdev: pdev ptr
|
||||
* @freq: channel frequency
|
||||
* @bw: channel band width
|
||||
* @sec_freq: secondary frequency
|
||||
* @in_6g_pwr_type: 6g power type which decides 6G channel list lookup.
|
||||
* @input_puncture_bitmap: input puncture bitmap
|
||||
* @in_6g_pwr_mode: 6g power type which decides 6G channel list lookup.
|
||||
*
|
||||
* Return: channel state
|
||||
*/
|
||||
@@ -935,10 +937,10 @@ void wlan_reg_set_dfs_region(struct wlan_objmgr_pdev *pdev,
|
||||
enum dfs_reg dfs_reg);
|
||||
|
||||
/**
|
||||
* wlan_reg_get_bw_value() - provide the channel center freq
|
||||
* @chan_num: chennal number
|
||||
* wlan_reg_get_bw_value() - get bandwidth value from enum
|
||||
* @bw: channel width enum
|
||||
*
|
||||
* Return: int
|
||||
* Return: channel width in MHz
|
||||
*/
|
||||
uint16_t wlan_reg_get_bw_value(enum phy_ch_width bw);
|
||||
|
||||
@@ -1060,7 +1062,7 @@ uint16_t wlan_reg_dmn_get_curr_opclasses(uint8_t *num_classes,
|
||||
* @n_opclasses: Pointer to number of opclasses.
|
||||
* @max_supp_op_class: Maximum number of operating classes supported.
|
||||
* @global_tbl_lookup: Whether to lookup global op class tbl.
|
||||
* @in_6g_pwr_type: 6g power type which decides 6G channel list lookup.
|
||||
* @in_6g_pwr_mode: 6g power type which decides 6G channel list lookup.
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS if success, else return QDF_STATUS_FAILURE.
|
||||
*/
|
||||
@@ -1082,7 +1084,7 @@ wlan_reg_get_opclass_details(struct wlan_objmgr_pdev *pdev,
|
||||
* @global_tbl_lookup: Whether to lookup global op class tbl.
|
||||
* @max_chwidth: Maximum channel width supported by cur hwmode
|
||||
* @is_80p80_supp: Bool to indicate if 80p80 is supported.
|
||||
* @in_6g_pwr_type: 6g power type which decides 6G channel list lookup.
|
||||
* @in_6g_pwr_mode: 6g power type which decides 6G channel list lookup.
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS if success, else return QDF_STATUS_FAILURE.
|
||||
*/
|
||||
@@ -1095,10 +1097,11 @@ wlan_reg_get_opclass_for_cur_hwmode(struct wlan_objmgr_pdev *pdev,
|
||||
enum phy_ch_width max_chwidth,
|
||||
bool is_80p80_supp,
|
||||
enum supported_6g_pwr_types in_6g_pwr_mode);
|
||||
|
||||
/**
|
||||
* wlan_reg_get_cc_and_src () - get country code and src
|
||||
* wlan_reg_get_cc_and_src() - get country code and src
|
||||
* @psoc: psoc ptr
|
||||
* @alpha2: country code alpha2
|
||||
* @alpha: country code alpha2
|
||||
*
|
||||
* Return: country_src
|
||||
*/
|
||||
@@ -1121,6 +1124,7 @@ QDF_STATUS wlan_regulatory_deinit(void);
|
||||
|
||||
/**
|
||||
* regulatory_psoc_open() - open regulatory component
|
||||
* @psoc: Pointer to psoc structure
|
||||
*
|
||||
* Return: Success or Failure
|
||||
*/
|
||||
@@ -1129,6 +1133,7 @@ QDF_STATUS regulatory_psoc_open(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
/**
|
||||
* regulatory_psoc_close() - close regulatory component
|
||||
* @psoc: Pointer to psoc structure
|
||||
*
|
||||
* Return: Success or Failure
|
||||
*/
|
||||
@@ -1151,7 +1156,7 @@ QDF_STATUS regulatory_pdev_open(struct wlan_objmgr_pdev *pdev);
|
||||
QDF_STATUS regulatory_pdev_close(struct wlan_objmgr_pdev *pdev);
|
||||
|
||||
/**
|
||||
* wlan_reg_freq_to_chan () - convert channel freq to channel number
|
||||
* wlan_reg_freq_to_chan() - convert channel freq to channel number
|
||||
* @pdev: The physical dev to set current country for
|
||||
* @freq: frequency
|
||||
*
|
||||
@@ -1161,7 +1166,8 @@ uint8_t wlan_reg_freq_to_chan(struct wlan_objmgr_pdev *pdev,
|
||||
qdf_freq_t freq);
|
||||
|
||||
/**
|
||||
* wlan_reg_legacy_chan_to_freq () - convert chan to freq, for 2G and 5G
|
||||
* wlan_reg_legacy_chan_to_freq() - convert chan to freq, for 2G and 5G
|
||||
* @pdev: pdev pointer
|
||||
* @chan: channel number
|
||||
*
|
||||
* Return: frequency
|
||||
@@ -1215,7 +1221,7 @@ QDF_STATUS wlan_reg_set_11d_country(struct wlan_objmgr_pdev *pdev,
|
||||
uint8_t *country);
|
||||
|
||||
/**
|
||||
* wlan_reg_register_chan_change_callback () - add chan change cbk
|
||||
* wlan_reg_register_chan_change_callback() - add chan change cbk
|
||||
* @psoc: psoc ptr
|
||||
* @cbk: callback
|
||||
* @arg: argument
|
||||
@@ -1226,7 +1232,7 @@ void wlan_reg_register_chan_change_callback(struct wlan_objmgr_psoc *psoc,
|
||||
void *cbk, void *arg);
|
||||
|
||||
/**
|
||||
* wlan_reg_unregister_chan_change_callback () - remove chan change cbk
|
||||
* wlan_reg_unregister_chan_change_callback() - remove chan change cbk
|
||||
* @psoc: psoc ptr
|
||||
* @cbk:callback
|
||||
*
|
||||
@@ -1236,7 +1242,7 @@ void wlan_reg_unregister_chan_change_callback(struct wlan_objmgr_psoc *psoc,
|
||||
void *cbk);
|
||||
|
||||
/**
|
||||
* wlan_reg_register_ctry_change_callback () - add country change cbk
|
||||
* wlan_reg_register_ctry_change_callback() - add country change cbk
|
||||
* @psoc: psoc ptr
|
||||
* @cbk: callback
|
||||
*
|
||||
@@ -1246,7 +1252,7 @@ void wlan_reg_register_ctry_change_callback(struct wlan_objmgr_psoc *psoc,
|
||||
void *cbk);
|
||||
|
||||
/**
|
||||
* wlan_reg_unregister_ctry_change_callback () - remove country change cbk
|
||||
* wlan_reg_unregister_ctry_change_callback() - remove country change cbk
|
||||
* @psoc: psoc ptr
|
||||
* @cbk:callback
|
||||
*
|
||||
@@ -1304,7 +1310,7 @@ QDF_STATUS wlan_reg_get_freq_range(struct wlan_objmgr_pdev *pdev,
|
||||
qdf_freq_t *low_5g,
|
||||
qdf_freq_t *high_5g);
|
||||
/**
|
||||
* wlan_reg_get_tx_ops () - get regulatory tx ops
|
||||
* wlan_reg_get_tx_ops() - get regulatory tx ops
|
||||
* @psoc: psoc ptr
|
||||
*
|
||||
*/
|
||||
@@ -1367,7 +1373,7 @@ QDF_STATUS wlan_reg_update_pdev_wireless_modes(struct wlan_objmgr_pdev *pdev,
|
||||
* wlan_reg_disable_chan_coex() - Disable Coexisting channels based on the input
|
||||
* bitmask
|
||||
* @pdev: pointer to wlan_objmgr_pdev.
|
||||
* unii_5g_bitmap: UNII 5G bitmap.
|
||||
* @unii_5g_bitmap: UNII 5G bitmap.
|
||||
*
|
||||
* Return : QDF_STATUS
|
||||
*/
|
||||
@@ -1409,9 +1415,10 @@ wlan_reg_get_usable_channel(struct wlan_objmgr_pdev *pdev,
|
||||
*
|
||||
* Return: true if both the channel frequency has the same band.
|
||||
*/
|
||||
bool wlan_reg_is_same_band_freqs(qdf_freq_t freq1, qdf_freq_t freq2);
|
||||
|
||||
#define WLAN_REG_IS_SAME_BAND_FREQS(freq1, freq2) \
|
||||
wlan_reg_is_same_band_freqs(freq1, freq2)
|
||||
bool wlan_reg_is_same_band_freqs(qdf_freq_t freq1, qdf_freq_t freq2);
|
||||
|
||||
/**
|
||||
* wlan_reg_get_chan_enum_for_freq() - Get channel enum for given channel center
|
||||
@@ -1467,6 +1474,7 @@ void wlan_reg_update_nol_history_ch_for_freq(struct wlan_objmgr_pdev *pdev,
|
||||
/**
|
||||
* wlan_reg_chan_has_dfs_attribute_for_freq() - check channel has dfs
|
||||
* attribute flag
|
||||
* @pdev: Pointer to pdev
|
||||
* @freq: channel center frequency.
|
||||
*
|
||||
* This API get chan initial dfs attribute from regdomain
|
||||
@@ -1480,7 +1488,9 @@ wlan_reg_chan_has_dfs_attribute_for_freq(struct wlan_objmgr_pdev *pdev,
|
||||
/**
|
||||
* wlan_reg_get_channel_list_with_power_for_freq() - Provide the channel list
|
||||
* with power
|
||||
* @pdev: Pointer to pdev
|
||||
* @ch_list: pointer to the channel list.
|
||||
* @num_chan: return number of channels
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
@@ -1554,6 +1564,7 @@ enum channel_state wlan_reg_get_channel_state_from_secondary_list_for_freq(
|
||||
|
||||
/**
|
||||
* wlan_reg_get_channel_list_with_power() - Provide channel list with tx power
|
||||
* @pdev: Pointer to pdev
|
||||
* @ch_list: pointer to the channel list.
|
||||
* @num_chan: Number of channels which has been filed in ch_list
|
||||
* @in_6g_pwr_type: 6G power type corresponding to which 6G channels needs to
|
||||
@@ -1573,7 +1584,7 @@ wlan_reg_get_channel_list_with_power(
|
||||
/**
|
||||
* wlan_reg_is_punc_bitmap_valid() - is puncture bitmap valid or not
|
||||
* @bw: Input channel width.
|
||||
* @puncture_bitmap Input puncture bitmap.
|
||||
* @puncture_bitmap: Input puncture bitmap.
|
||||
*
|
||||
* Return: true if given puncture bitmap is valid
|
||||
*/
|
||||
@@ -1598,7 +1609,7 @@ uint16_t wlan_reg_find_nearest_puncture_pattern(enum phy_ch_width bw,
|
||||
* @ori_puncture_bitmap: original puncture bitmap
|
||||
* @freq: frequency of primary channel
|
||||
* @cen320_freq: center frequency of 320 MHZ if channel width is 320
|
||||
* @new_bw new bandwidth
|
||||
* @new_bw: new bandwidth
|
||||
* @new_puncture_bitmap: output of puncture bitmap
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
@@ -1745,7 +1756,7 @@ uint16_t wlan_reg_find_nearest_puncture_pattern(enum phy_ch_width bw,
|
||||
* @freq: channel center frequency.
|
||||
* @sec_ch_2g_freq: Secondary channel center frequency.
|
||||
* @ch_params: pointer to the channel parameters.
|
||||
* @in_6g_pwr_type: 6g power type which decides 6G channel list lookup.
|
||||
* @in_6g_pwr_mode: 6g power type which decides 6G channel list lookup.
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
@@ -1758,8 +1769,9 @@ void wlan_reg_set_channel_params_for_pwrmode(struct wlan_objmgr_pdev *pdev,
|
||||
#endif
|
||||
|
||||
/**
|
||||
* wlan_reg_get_channel_cfreq_reg_power_for_freq() - Provide the channel
|
||||
* wlan_reg_get_channel_reg_power_for_freq() - Provide the channel
|
||||
* regulatory power
|
||||
* @pdev: pdev ptr
|
||||
* @freq: channel center frequency
|
||||
*
|
||||
* Return: int
|
||||
@@ -1783,7 +1795,7 @@ wlan_reg_get_bonded_chan_entry(qdf_freq_t freq, enum phy_ch_width chwidth,
|
||||
qdf_freq_t cen320_freq);
|
||||
|
||||
/**
|
||||
* wlan_reg_update_nol_ch_for_freq () - set nol channel
|
||||
* wlan_reg_update_nol_ch_for_freq() - set nol channel
|
||||
* @pdev: pdev ptr
|
||||
* @chan_freq_list: channel list to be returned
|
||||
* @num_ch: number of channels
|
||||
@@ -1797,7 +1809,8 @@ void wlan_reg_update_nol_ch_for_freq(struct wlan_objmgr_pdev *pdev,
|
||||
bool nol_ch);
|
||||
|
||||
/**
|
||||
* wlan_reg_is_dfs_freq() - Checks the channel state for DFS
|
||||
* wlan_reg_is_dfs_for_freq() - Checks the channel state for DFS
|
||||
* @pdev: pdev ptr
|
||||
* @freq: Channel center frequency
|
||||
*
|
||||
* Return: true or false
|
||||
@@ -1831,7 +1844,7 @@ bool wlan_reg_is_passive_or_disable_for_pwrmode(
|
||||
* wlan_reg_is_disable_for_pwrmode() - Checks chan state for disabled
|
||||
* @pdev: pdev ptr
|
||||
* @freq: Channel center frequency
|
||||
* @in_6g_pwr_type: 6g power type which decides 6G channel list lookup.
|
||||
* @in_6g_pwr_mode: 6g power type which decides 6G channel list lookup.
|
||||
*
|
||||
* Return: true or false
|
||||
*/
|
||||
@@ -1997,7 +2010,7 @@ void wlan_reg_freq_width_to_chan_op_class_auto(struct wlan_objmgr_pdev *pdev,
|
||||
uint8_t *chan_num);
|
||||
|
||||
/**
|
||||
* wlan_reg_freq_to_chan_and_op_class() - Converts freq to oper class
|
||||
* wlan_reg_freq_to_chan_op_class() - Converts freq to oper class
|
||||
* @pdev: pdev ptr
|
||||
* @freq: channel frequency
|
||||
* @global_tbl_lookup: whether to look up global table
|
||||
@@ -2034,9 +2047,9 @@ bool wlan_reg_is_freq_in_country_opclass(struct wlan_objmgr_pdev *pdev,
|
||||
* bonded channel.
|
||||
* @pdev: Pointer to pdev.
|
||||
* @freq: Channel center frequency.
|
||||
* @bw Channel Width.
|
||||
* @bw: Channel Width.
|
||||
* @bonded_chan_ptr_ptr: Pointer to bonded_channel_freq.
|
||||
* @in_6g_pwr_type: 6g power type which decides 6G channel list lookup.
|
||||
* @in_6g_pwr_mode: 6g power type which decides 6G channel list lookup.
|
||||
* @input_puncture_bitmap: Input puncture bitmap
|
||||
*
|
||||
* Return: Channel State
|
||||
@@ -2057,10 +2070,8 @@ wlan_reg_get_5g_bonded_channel_and_state_for_pwrmode(
|
||||
/**
|
||||
* wlan_reg_get_op_class_width() - Get operating class chan width
|
||||
* @pdev: pdev ptr
|
||||
* @freq: channel frequency
|
||||
* @global_tbl_lookup: whether to look up global table
|
||||
* @op_class: operating class
|
||||
* @chan_num: channel number
|
||||
* @global_tbl_lookup: whether to look up global table
|
||||
*
|
||||
* Return: channel width of op class
|
||||
*/
|
||||
@@ -2133,7 +2144,7 @@ wlan_reg_country_chan_opclass_to_freq(struct wlan_objmgr_pdev *pdev,
|
||||
#endif
|
||||
|
||||
/**
|
||||
* reg_chan_opclass_to_freq() - Convert channel number and opclass to frequency
|
||||
* wlan_reg_chan_opclass_to_freq() - Convert channel number and opclass to frequency
|
||||
* @chan: IEEE Channel Number.
|
||||
* @op_class: Opclass.
|
||||
* @global_tbl_lookup: Global table lookup.
|
||||
@@ -2310,12 +2321,10 @@ QDF_STATUS wlan_reg_get_unspecified_ap_usable(struct wlan_objmgr_pdev *pdev,
|
||||
bool *reg_unspecified_ap_usable);
|
||||
|
||||
/**
|
||||
* wlan_reg_is_6g_psd_power() - Checks if given freq is PSD power
|
||||
*
|
||||
* wlan_reg_is_6g_psd_power() - Checks if given pdev is PSD power
|
||||
* @pdev: pdev ptr
|
||||
* @freq: channel frequency
|
||||
*
|
||||
* Return: true if channel is PSD power or false otherwise
|
||||
* Return: true if pdev is PSD power or false otherwise
|
||||
*/
|
||||
bool wlan_reg_is_6g_psd_power(struct wlan_objmgr_pdev *pdev);
|
||||
|
||||
@@ -2707,7 +2716,7 @@ wlan_reg_get_eirp_pwr(struct wlan_objmgr_pdev *pdev,
|
||||
}
|
||||
#endif /* CONFIG_BAND_6GHZ */
|
||||
/**
|
||||
* wlan_reg_find_chwidth_from_bw () - Gets channel width for given
|
||||
* wlan_reg_find_chwidth_from_bw() - Gets channel width for given
|
||||
* bandwidth
|
||||
* @bw: Bandwidth
|
||||
*
|
||||
@@ -2723,8 +2732,8 @@ enum phy_ch_width wlan_reg_find_chwidth_from_bw(uint16_t bw);
|
||||
* @center_320: Band center of 320 MHz
|
||||
* @ch_width: Channel width
|
||||
* @bonded_chan_ptr_ptr: Pointer to bonded channel pointer
|
||||
* @in_6g_pwr_type: Input 6g power type
|
||||
* @treat_nol_chan_as_disabled: Bool to treat nol chan as enabled/disabled
|
||||
* @in_pwr_type: Input 6g power type
|
||||
* @input_puncture_bitmap: Input puncture bitmap
|
||||
*
|
||||
* Return: Channel state
|
||||
@@ -2762,7 +2771,7 @@ wlan_reg_get_chan_state_for_320(struct wlan_objmgr_pdev *pdev,
|
||||
* channel idx and power mode has REGULATORY_CHAN_AFC_NOT_DONE flag cleared.
|
||||
*
|
||||
* @pdev: pdev pointer
|
||||
* @freq: input channel idx
|
||||
* @chan_idx: input channel idx
|
||||
* @in_6g_pwr_mode: input power mode
|
||||
*
|
||||
* Return: True if REGULATORY_CHAN_AFC_NOT_DONE flag is clear for the super
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, 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
|
||||
@@ -27,7 +27,7 @@
|
||||
#define __WLAN_REG_TGT_API_H
|
||||
|
||||
/**
|
||||
* tgt_process_master_chan_list() - process master channel list
|
||||
* tgt_reg_process_master_chan_list() - process master channel list
|
||||
* @reg_info: regulatory info
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
@@ -69,21 +69,23 @@ QDF_STATUS tgt_reg_process_11d_new_country(struct wlan_objmgr_psoc *psoc,
|
||||
|
||||
/**
|
||||
* tgt_reg_set_regdb_offloaded() - set/clear regulatory offloaded flag
|
||||
*
|
||||
* @psoc: psoc pointer
|
||||
* @val: flag value to set
|
||||
*
|
||||
* Return: Success or Failure
|
||||
*/
|
||||
QDF_STATUS tgt_reg_set_regdb_offloaded(struct wlan_objmgr_psoc *psoc,
|
||||
bool val);
|
||||
bool val);
|
||||
|
||||
/**
|
||||
* tgt_reg_set_11d_offloaded() - set/clear 11d offloaded flag
|
||||
*
|
||||
* @psoc: psoc pointer
|
||||
* @val: flag value to set
|
||||
*
|
||||
* Return: Success or Failure
|
||||
*/
|
||||
QDF_STATUS tgt_reg_set_11d_offloaded(struct wlan_objmgr_psoc *psoc,
|
||||
bool val);
|
||||
bool val);
|
||||
/**
|
||||
* tgt_reg_process_ch_avoid_event() - process new ch avoid event
|
||||
* @psoc: pointer to psoc
|
||||
|
@@ -57,13 +57,13 @@ QDF_STATUS ucfg_reg_get_band(struct wlan_objmgr_pdev *pdev,
|
||||
|
||||
/**
|
||||
* ucfg_reg_notify_sap_event() - Notify regulatory domain for sap event
|
||||
* @pdev: The physical dev to set the band for
|
||||
* @pdev: The physical dev to notify
|
||||
* @sap_state: true for sap start else false
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS ucfg_reg_notify_sap_event(struct wlan_objmgr_pdev *pdev,
|
||||
bool sap_state);
|
||||
bool sap_state);
|
||||
|
||||
/**
|
||||
* ucfg_reg_cache_channel_freq_state() - Cache the current state of the
|
||||
@@ -118,6 +118,7 @@ void ucfg_reg_restore_cached_channels(struct wlan_objmgr_pdev *pdev)
|
||||
/**
|
||||
* ucfg_reg_set_fcc_constraint() - apply fcc constraints on channels 12/13
|
||||
* @pdev: The physical pdev to reduce tx power for
|
||||
* @fcc_constraint: true to apply the constraint, false to remove it
|
||||
*
|
||||
* This function adjusts the transmit power on channels 12 and 13, to comply
|
||||
* with FCC regulations in the USA.
|
||||
@@ -125,7 +126,7 @@ void ucfg_reg_restore_cached_channels(struct wlan_objmgr_pdev *pdev)
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS ucfg_reg_set_fcc_constraint(struct wlan_objmgr_pdev *pdev,
|
||||
bool fcc_constraint);
|
||||
bool fcc_constraint);
|
||||
|
||||
/**
|
||||
* ucfg_reg_get_default_country() - Get the default regulatory country
|
||||
@@ -135,7 +136,7 @@ QDF_STATUS ucfg_reg_set_fcc_constraint(struct wlan_objmgr_pdev *pdev,
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS ucfg_reg_get_default_country(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *country_code);
|
||||
uint8_t *country_code);
|
||||
|
||||
/**
|
||||
* ucfg_reg_get_current_country() - Get the current regulatory country
|
||||
@@ -145,26 +146,27 @@ QDF_STATUS ucfg_reg_get_default_country(struct wlan_objmgr_psoc *psoc,
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS ucfg_reg_get_current_country(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *country_code);
|
||||
uint8_t *country_code);
|
||||
|
||||
/**
|
||||
* ucfg_reg_set_default_country() - Set the default regulatory country
|
||||
* @psoc: The physical SoC to set default country for
|
||||
* @country_code: The country information to configure
|
||||
* @country: The country information to configure
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS ucfg_reg_set_default_country(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *country_code);
|
||||
uint8_t *country);
|
||||
|
||||
/**
|
||||
* ucfg_reg_set_country() - Set the current regulatory country
|
||||
* @pdev: The physical dev to set current country for
|
||||
* @country_code: The country information to configure
|
||||
* @country: The country information to configure
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS ucfg_reg_set_country(struct wlan_objmgr_pdev *dev,
|
||||
uint8_t *country_code);
|
||||
QDF_STATUS ucfg_reg_set_country(struct wlan_objmgr_pdev *pdev,
|
||||
uint8_t *country);
|
||||
|
||||
/**
|
||||
* ucfg_reg_reset_country() - Reset the regulatory country to default
|
||||
@@ -177,11 +179,12 @@ QDF_STATUS ucfg_reg_reset_country(struct wlan_objmgr_psoc *psoc);
|
||||
/**
|
||||
* ucfg_reg_enable_dfs_channels() - Enable the use of DFS channels
|
||||
* @pdev: The physical dev to enable DFS channels for
|
||||
* @dfs_enable: true to enable DFS channels, false to disable them
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS ucfg_reg_enable_dfs_channels(struct wlan_objmgr_pdev *pdev,
|
||||
bool dfs_enable);
|
||||
bool dfs_enable);
|
||||
|
||||
QDF_STATUS ucfg_reg_register_event_handler(uint8_t vdev_id, reg_event_cb cb,
|
||||
void *arg);
|
||||
@@ -244,7 +247,7 @@ QDF_STATUS ucfg_reg_get_current_chan_list(struct wlan_objmgr_pdev *pdev,
|
||||
/**
|
||||
* ucfg_reg_modify_chan_144() - Enable/Disable channel 144
|
||||
* @pdev: pdev pointer
|
||||
* @enable_chan_144: flag to disable/enable channel 144
|
||||
* @enable_ch_144: flag to disable/enable channel 144
|
||||
*
|
||||
* Return: Success or Failure
|
||||
*/
|
||||
@@ -626,7 +629,7 @@ ucfg_reg_get_unii_5g_bitmap(struct wlan_objmgr_pdev *pdev, uint8_t *bitmap)
|
||||
* ucfg_reg_get_cur_6g_ap_pwr_type() - Get the current 6G regulatory AP power
|
||||
* type.
|
||||
* @pdev: Pointer to PDEV object.
|
||||
* @reg_6g_ap_pwr_type: The current regulatory 6G AP type ie VLPI/LPI/SP.
|
||||
* @reg_cur_6g_ap_pwr_type: The current regulatory 6G AP type ie VLPI/LPI/SP.
|
||||
*
|
||||
* Return: QDF_STATUS.
|
||||
*/
|
||||
@@ -638,13 +641,13 @@ ucfg_reg_get_cur_6g_ap_pwr_type(struct wlan_objmgr_pdev *pdev,
|
||||
* ucfg_reg_set_cur_6g_ap_pwr_type() - Set the current 6G regulatory AP power
|
||||
* type.
|
||||
* @pdev: Pointer to PDEV object.
|
||||
* @reg_6g_ap_pwr_type: Regulatory 6G AP type ie VLPI/LPI/SP.
|
||||
* @reg_cur_6g_ap_pwr_type: Regulatory 6G AP type ie VLPI/LPI/SP.
|
||||
*
|
||||
* Return: QDF_STATUS_E_INVAL if unable to set and QDF_STATUS_SUCCESS is set.
|
||||
*/
|
||||
QDF_STATUS
|
||||
ucfg_reg_set_cur_6g_ap_pwr_type(struct wlan_objmgr_pdev *pdev,
|
||||
enum reg_6g_ap_type reg_cur_6g_ap_type);
|
||||
enum reg_6g_ap_type reg_cur_6g_ap_pwr_type);
|
||||
#else
|
||||
static inline QDF_STATUS
|
||||
ucfg_reg_get_cur_6g_ap_pwr_type(struct wlan_objmgr_pdev *pdev,
|
||||
|
@@ -18,12 +18,11 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file wlan_reg_services_api.c
|
||||
* @brief contains regulatory service functions
|
||||
/**
|
||||
* DOC: wlan_reg_services_api.c
|
||||
* contains regulatory service functions
|
||||
*/
|
||||
|
||||
|
||||
#include <qdf_status.h>
|
||||
#include <qdf_types.h>
|
||||
#include <qdf_module.h>
|
||||
@@ -43,12 +42,6 @@
|
||||
#include <../../core/src/reg_offload_11d_scan.h>
|
||||
#include <wlan_objmgr_global_obj.h>
|
||||
|
||||
/**
|
||||
* wlan_reg_read_default_country() - Read the default country for the regdomain
|
||||
* @country: pointer to the country code.
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
QDF_STATUS wlan_reg_read_default_country(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *country)
|
||||
{
|
||||
@@ -124,12 +117,6 @@ wlan_reg_get_6g_power_type_for_ctry(struct wlan_objmgr_psoc *psoc,
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* wlan_reg_get_dfs_region () - Get the current dfs region
|
||||
* @dfs_reg: pointer to dfs region
|
||||
*
|
||||
* Return: Status
|
||||
*/
|
||||
QDF_STATUS wlan_reg_get_dfs_region(struct wlan_objmgr_pdev *pdev,
|
||||
enum dfs_reg *dfs_reg)
|
||||
{
|
||||
@@ -206,12 +193,6 @@ wlan_reg_is_6ghz_freq_txable(struct wlan_objmgr_pdev *pdev,
|
||||
qdf_export_symbol(wlan_reg_is_6ghz_freq_txable);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* wlan_reg_get_bw_value() - give bandwidth value
|
||||
* bw: bandwidth enum
|
||||
*
|
||||
* Return: uint16_t
|
||||
*/
|
||||
uint16_t wlan_reg_get_bw_value(enum phy_ch_width bw)
|
||||
{
|
||||
return reg_get_bw_value(bw);
|
||||
@@ -219,12 +200,6 @@ uint16_t wlan_reg_get_bw_value(enum phy_ch_width bw)
|
||||
|
||||
qdf_export_symbol(wlan_reg_get_bw_value);
|
||||
|
||||
/**
|
||||
* wlan_reg_set_dfs_region () - Get the current dfs region
|
||||
* @dfs_reg: pointer to dfs region
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_reg_set_dfs_region(struct wlan_objmgr_pdev *pdev,
|
||||
enum dfs_reg dfs_reg)
|
||||
{
|
||||
@@ -1042,12 +1017,6 @@ bool wlan_reg_is_regdmn_en302502_applicable(struct wlan_objmgr_pdev *pdev)
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* wlan_reg_modify_pdev_chan_range() - Compute current channel list for the
|
||||
* modified regcap.
|
||||
* @pdev: pointer to struct wlan_objmgr_pdev
|
||||
*
|
||||
*/
|
||||
QDF_STATUS wlan_reg_modify_pdev_chan_range(struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
return reg_modify_pdev_chan_range(pdev);
|
||||
|
@@ -18,9 +18,9 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file wlan_req_ucfg_api.c
|
||||
* @brief contains regulatory user config interface definitions
|
||||
/**
|
||||
* DOC: wlan_req_ucfg_api.c
|
||||
* contains regulatory user config interface definitions
|
||||
*/
|
||||
|
||||
#include <wlan_objmgr_vdev_obj.h>
|
||||
@@ -134,28 +134,12 @@ QDF_STATUS ucfg_reg_get_band(struct wlan_objmgr_pdev *pdev,
|
||||
return reg_get_band(pdev, band_bitmap);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_reg_notify_sap_event() - Notify regulatory domain for sap event
|
||||
* @pdev: The physical dev to set the band for
|
||||
* @sap_state: true for sap start else false
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS ucfg_reg_notify_sap_event(struct wlan_objmgr_pdev *pdev,
|
||||
bool sap_state)
|
||||
bool sap_state)
|
||||
{
|
||||
return reg_notify_sap_event(pdev, sap_state);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_reg_set_fcc_constraint() - apply fcc constraints on channels 12/13
|
||||
* @pdev: The physical pdev to reduce tx power for
|
||||
*
|
||||
* This function adjusts the transmit power on channels 12 and 13, to comply
|
||||
* with FCC regulations in the USA.
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS ucfg_reg_set_fcc_constraint(struct wlan_objmgr_pdev *pdev,
|
||||
bool fcc_constraint)
|
||||
{
|
||||
@@ -168,13 +152,6 @@ QDF_STATUS ucfg_reg_get_current_country(struct wlan_objmgr_psoc *psoc,
|
||||
return reg_read_current_country(psoc, country_code);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_reg_set_default_country() - Set the default regulatory country
|
||||
* @psoc: The physical SoC to set default country for
|
||||
* @country: The country information to configure
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS ucfg_reg_set_default_country(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *country)
|
||||
{
|
||||
@@ -182,49 +159,23 @@ QDF_STATUS ucfg_reg_set_default_country(struct wlan_objmgr_psoc *psoc,
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* ucfg_reg_get_default_country() - Get the default regulatory country
|
||||
* @psoc: The physical SoC to get default country from
|
||||
* @country_code: the buffer to populate the country code into
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS ucfg_reg_get_default_country(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *country_code)
|
||||
{
|
||||
return reg_read_default_country(psoc, country_code);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_reg_set_country() - Set the current regulatory country
|
||||
* @pdev: The physical dev to set current country for
|
||||
* @country: The country information to configure
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS ucfg_reg_set_country(struct wlan_objmgr_pdev *pdev,
|
||||
uint8_t *country)
|
||||
{
|
||||
return reg_set_country(pdev, country);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_reg_reset_country() - Reset the regulatory country to default
|
||||
* @psoc: The physical SoC to reset country for
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS ucfg_reg_reset_country(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
return reg_reset_country(psoc);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_reg_enable_dfs_channels() - Enable the use of DFS channels
|
||||
* @pdev: The physical dev to enable DFS channels for
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS ucfg_reg_enable_dfs_channels(struct wlan_objmgr_pdev *pdev,
|
||||
bool dfs_enable)
|
||||
{
|
||||
@@ -359,14 +310,6 @@ qdf_export_symbol(ucfg_reg_update_hal_reg_cap);
|
||||
|
||||
#ifdef DISABLE_CHANNEL_LIST
|
||||
#ifdef CONFIG_CHAN_FREQ_API
|
||||
/**
|
||||
* ucfg_reg_cache_channel_freq_state() - Cache the current state of the channels
|
||||
* based of the channel center frequency.
|
||||
* @pdev: The physical dev to cache the channels for
|
||||
* @channel_list: List of the channels for which states needs to be cached
|
||||
* @num_channels: Number of channels in the list
|
||||
*
|
||||
*/
|
||||
void ucfg_reg_cache_channel_freq_state(struct wlan_objmgr_pdev *pdev,
|
||||
uint32_t *channel_list,
|
||||
uint32_t num_channels)
|
||||
|
新增問題並參考
封鎖使用者