Commit 438fb43b authored by Igor Mitsyanko's avatar Igor Mitsyanko Committed by Kalle Valo

qtnfmac: pass DFS region to firmware on region update

Pass DFS region as requested by regulatory core directly to firmware
so it can initialize radar detection block accordingly.
Signed-off-by: default avatarIgor Mitsyanko <igor.mitsyanko.os@quantenna.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent c698bce0
...@@ -2376,6 +2376,21 @@ int qtnf_cmd_reg_notify(struct qtnf_wmac *mac, struct regulatory_request *req) ...@@ -2376,6 +2376,21 @@ int qtnf_cmd_reg_notify(struct qtnf_wmac *mac, struct regulatory_request *req)
break; break;
} }
switch (req->dfs_region) {
case NL80211_DFS_FCC:
cmd->dfs_region = QLINK_DFS_FCC;
break;
case NL80211_DFS_ETSI:
cmd->dfs_region = QLINK_DFS_ETSI;
break;
case NL80211_DFS_JP:
cmd->dfs_region = QLINK_DFS_JP;
break;
default:
cmd->dfs_region = QLINK_DFS_UNSET;
break;
}
cmd->num_channels = 0; cmd->num_channels = 0;
for (band = 0; band < NUM_NL80211_BANDS; band++) { for (band = 0; band < NUM_NL80211_BANDS; band++) {
......
...@@ -582,6 +582,7 @@ enum qlink_user_reg_hint_type { ...@@ -582,6 +582,7 @@ enum qlink_user_reg_hint_type {
* of &enum qlink_user_reg_hint_type. * of &enum qlink_user_reg_hint_type.
* @num_channels: number of &struct qlink_tlv_channel in a variable portion of a * @num_channels: number of &struct qlink_tlv_channel in a variable portion of a
* payload. * payload.
* @dfs_region: one of &enum qlink_dfs_regions.
* @info: variable portion of regulatory notifier callback. * @info: variable portion of regulatory notifier callback.
*/ */
struct qlink_cmd_reg_notify { struct qlink_cmd_reg_notify {
...@@ -590,7 +591,8 @@ struct qlink_cmd_reg_notify { ...@@ -590,7 +591,8 @@ struct qlink_cmd_reg_notify {
u8 initiator; u8 initiator;
u8 user_reg_hint_type; u8 user_reg_hint_type;
u8 num_channels; u8 num_channels;
u8 rsvd[3]; u8 dfs_region;
u8 rsvd[2];
u8 info[0]; u8 info[0];
} __packed; } __packed;
...@@ -800,7 +802,7 @@ enum qlink_dfs_regions { ...@@ -800,7 +802,7 @@ enum qlink_dfs_regions {
* @alpha2: country code ID firmware is configured to. * @alpha2: country code ID firmware is configured to.
* @n_reg_rules: number of regulatory rules TLVs in variable portion of the * @n_reg_rules: number of regulatory rules TLVs in variable portion of the
* message. * message.
* @dfs_region: regulatory DFS region, one of @enum qlink_dfs_region. * @dfs_region: regulatory DFS region, one of &enum qlink_dfs_regions.
* @var_info: variable-length WMAC info data. * @var_info: variable-length WMAC info data.
*/ */
struct qlink_resp_get_mac_info { struct qlink_resp_get_mac_info {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment