ath10k: add 2ghz channel arguments to service ready structure
authorTomislav Požega <pozega.tomislav@gmail.com>
Mon, 23 Sep 2019 19:49:21 +0000 (21:49 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 1 Oct 2019 11:13:41 +0000 (14:13 +0300)
Add lowest/highest 2ghz channel arguments for use within WMI service
ready structure.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/core.h
drivers/net/wireless/ath/ath10k/wmi-tlv.c
drivers/net/wireless/ath/ath10k/wmi.c
drivers/net/wireless/ath/ath10k/wmi.h

index c96d1a1..2a0a008 100644 (file)
@@ -967,6 +967,8 @@ struct ath10k {
        u32 num_rf_chains;
        u32 max_spatial_stream;
        /* protected by conf_mutex */
+       u32 low_2ghz_chan;
+       u32 high_2ghz_chan;
        u32 low_5ghz_chan;
        u32 high_5ghz_chan;
        bool ani_enabled;
index 363fd0b..bda52ca 100644 (file)
@@ -1207,6 +1207,8 @@ static int ath10k_wmi_tlv_op_pull_svc_rdy_ev(struct ath10k *ar,
        arg->phy_capab = ev->phy_capability;
        arg->num_rf_chains = ev->num_rf_chains;
        arg->eeprom_rd = reg->eeprom_rd;
+       arg->low_2ghz_chan = reg->low_2ghz_chan;
+       arg->high_2ghz_chan = reg->high_2ghz_chan;
        arg->low_5ghz_chan = reg->low_5ghz_chan;
        arg->high_5ghz_chan = reg->high_5ghz_chan;
        arg->num_mem_reqs = ev->num_mem_reqs;
index 1ec609d..3ef6ee3 100644 (file)
@@ -5362,6 +5362,8 @@ ath10k_wmi_main_op_pull_svc_rdy_ev(struct ath10k *ar, struct sk_buff *skb,
        arg->phy_capab = ev->phy_capability;
        arg->num_rf_chains = ev->num_rf_chains;
        arg->eeprom_rd = ev->hal_reg_capabilities.eeprom_rd;
+       arg->low_2ghz_chan = ev->hal_reg_capabilities.low_2ghz_chan;
+       arg->high_2ghz_chan = ev->hal_reg_capabilities.high_2ghz_chan;
        arg->low_5ghz_chan = ev->hal_reg_capabilities.low_5ghz_chan;
        arg->high_5ghz_chan = ev->hal_reg_capabilities.high_5ghz_chan;
        arg->num_mem_reqs = ev->num_mem_reqs;
@@ -5400,6 +5402,8 @@ ath10k_wmi_10x_op_pull_svc_rdy_ev(struct ath10k *ar, struct sk_buff *skb,
        arg->phy_capab = ev->phy_capability;
        arg->num_rf_chains = ev->num_rf_chains;
        arg->eeprom_rd = ev->hal_reg_capabilities.eeprom_rd;
+       arg->low_2ghz_chan = ev->hal_reg_capabilities.low_2ghz_chan;
+       arg->high_2ghz_chan = ev->hal_reg_capabilities.high_2ghz_chan;
        arg->low_5ghz_chan = ev->hal_reg_capabilities.low_5ghz_chan;
        arg->high_5ghz_chan = ev->hal_reg_capabilities.high_5ghz_chan;
        arg->num_mem_reqs = ev->num_mem_reqs;
@@ -5454,6 +5458,8 @@ static void ath10k_wmi_event_service_ready_work(struct work_struct *work)
        ar->phy_capability = __le32_to_cpu(arg.phy_capab);
        ar->num_rf_chains = __le32_to_cpu(arg.num_rf_chains);
        ar->hw_eeprom_rd = __le32_to_cpu(arg.eeprom_rd);
+       ar->low_2ghz_chan = __le32_to_cpu(arg.low_2ghz_chan);
+       ar->high_2ghz_chan = __le32_to_cpu(arg.high_2ghz_chan);
        ar->low_5ghz_chan = __le32_to_cpu(arg.low_5ghz_chan);
        ar->high_5ghz_chan = __le32_to_cpu(arg.high_5ghz_chan);
 
index bdeebc5..9ccaeb7 100644 (file)
@@ -6870,6 +6870,8 @@ struct wmi_svc_rdy_ev_arg {
        __le32 num_rf_chains;
        __le32 eeprom_rd;
        __le32 num_mem_reqs;
+       __le32 low_2ghz_chan;
+       __le32 high_2ghz_chan;
        __le32 low_5ghz_chan;
        __le32 high_5ghz_chan;
        const __le32 *service_map;