]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ath10k: remove set/get_tsf ieee80211_ops
authorPedersen, Thomas <twp@qca.qualcomm.com>
Wed, 28 Sep 2016 23:56:30 +0000 (16:56 -0700)
committerKalle Valo <kvalo@qca.qualcomm.com>
Wed, 23 Nov 2016 13:54:17 +0000 (15:54 +0200)
Neither of these did the right thing:

- get_tsf just returned 0
- set_tsf assumed a simple offset was applied against
  get_tsf(), which works, except in the case of
  calculating TSF from rx_mactime (actual TSF).

Just remove them for now. We can reimplement set_tsf in
terms of TSF increment/decrement in the future if get_tsf
is ever supported by FW.

Signed-off-by: Thomas Pedersen <twp@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/mac.c
drivers/net/wireless/ath/ath10k/wmi-tlv.c
drivers/net/wireless/ath/ath10k/wmi.c
drivers/net/wireless/ath/ath10k/wmi.h

index 7ab74a1b45dcd21c0e9750c225a0f24ae9609192..3918097ee46fa278b0de7742a28f63bd79daaebf 100644 (file)
@@ -6976,42 +6976,6 @@ static void ath10k_sta_rc_update(struct ieee80211_hw *hw,
        ieee80211_queue_work(hw, &arsta->update_wk);
 }
 
-static u64 ath10k_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
-{
-       /*
-        * FIXME: Return 0 for time being. Need to figure out whether FW
-        * has the API to fetch 64-bit local TSF
-        */
-
-       return 0;
-}
-
-static void ath10k_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
-                          u64 tsf)
-{
-       struct ath10k *ar = hw->priv;
-       struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif);
-       u32 tsf_offset, vdev_param = ar->wmi.vdev_param->set_tsf;
-       int ret;
-
-       /* Workaround:
-        *
-        * Given tsf argument is entire TSF value, but firmware accepts
-        * only TSF offset to current TSF.
-        *
-        * get_tsf function is used to get offset value, however since
-        * ath10k_get_tsf is not implemented properly, it will return 0 always.
-        * Luckily all the caller functions to set_tsf, as of now, also rely on
-        * get_tsf function to get entire tsf value such get_tsf() + tsf_delta,
-        * final tsf offset value to firmware will be arithmetically correct.
-        */
-       tsf_offset = tsf - ath10k_get_tsf(hw, vif);
-       ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
-                                       vdev_param, tsf_offset);
-       if (ret && ret != -EOPNOTSUPP)
-               ath10k_warn(ar, "failed to set tsf offset: %d\n", ret);
-}
-
 static void ath10k_offset_tsf(struct ieee80211_hw *hw,
                              struct ieee80211_vif *vif, s64 tsf_offset)
 {
@@ -7498,8 +7462,6 @@ static const struct ieee80211_ops ath10k_ops = {
        .get_survey                     = ath10k_get_survey,
        .set_bitrate_mask               = ath10k_mac_op_set_bitrate_mask,
        .sta_rc_update                  = ath10k_sta_rc_update,
-       .get_tsf                        = ath10k_get_tsf,
-       .set_tsf                        = ath10k_set_tsf,
        .offset_tsf                     = ath10k_offset_tsf,
        .ampdu_action                   = ath10k_ampdu_action,
        .get_et_sset_count              = ath10k_debug_get_et_sset_count,
index e64f59300a7cb7d00c9add8168ca6b3dea5ecebd..5e399c67de3a83a34b7c0b79494d11d0ef71ec2d 100644 (file)
@@ -3464,7 +3464,6 @@ static struct wmi_vdev_param_map wmi_tlv_vdev_param_map = {
        .meru_vc = WMI_VDEV_PARAM_UNSUPPORTED,
        .rx_decap_type = WMI_VDEV_PARAM_UNSUPPORTED,
        .bw_nss_ratemask = WMI_VDEV_PARAM_UNSUPPORTED,
-       .set_tsf = WMI_VDEV_PARAM_UNSUPPORTED,
 };
 
 static const struct wmi_ops wmi_tlv_ops = {
index bc896137798c070ec12e5cc2019637258ad9faf3..95be2ba311fcf52ef2c72674159cbef6400e86bf 100644 (file)
@@ -785,7 +785,6 @@ static struct wmi_vdev_param_map wmi_vdev_param_map = {
        .meru_vc = WMI_VDEV_PARAM_UNSUPPORTED,
        .rx_decap_type = WMI_VDEV_PARAM_UNSUPPORTED,
        .bw_nss_ratemask = WMI_VDEV_PARAM_UNSUPPORTED,
-       .set_tsf = WMI_VDEV_PARAM_UNSUPPORTED,
 };
 
 /* 10.X WMI VDEV param map */
@@ -861,7 +860,6 @@ static struct wmi_vdev_param_map wmi_10x_vdev_param_map = {
        .meru_vc = WMI_VDEV_PARAM_UNSUPPORTED,
        .rx_decap_type = WMI_VDEV_PARAM_UNSUPPORTED,
        .bw_nss_ratemask = WMI_VDEV_PARAM_UNSUPPORTED,
-       .set_tsf = WMI_VDEV_PARAM_UNSUPPORTED,
 };
 
 static struct wmi_vdev_param_map wmi_10_2_4_vdev_param_map = {
@@ -936,7 +934,6 @@ static struct wmi_vdev_param_map wmi_10_2_4_vdev_param_map = {
        .meru_vc = WMI_VDEV_PARAM_UNSUPPORTED,
        .rx_decap_type = WMI_VDEV_PARAM_UNSUPPORTED,
        .bw_nss_ratemask = WMI_VDEV_PARAM_UNSUPPORTED,
-       .set_tsf = WMI_10X_VDEV_PARAM_TSF_INCREMENT,
 };
 
 static struct wmi_vdev_param_map wmi_10_4_vdev_param_map = {
@@ -1012,7 +1009,6 @@ static struct wmi_vdev_param_map wmi_10_4_vdev_param_map = {
        .meru_vc = WMI_10_4_VDEV_PARAM_MERU_VC,
        .rx_decap_type = WMI_10_4_VDEV_PARAM_RX_DECAP_TYPE,
        .bw_nss_ratemask = WMI_10_4_VDEV_PARAM_BW_NSS_RATEMASK,
-       .set_tsf = WMI_10_4_VDEV_PARAM_TSF_INCREMENT,
        .inc_tsf = WMI_10_4_VDEV_PARAM_TSF_INCREMENT,
        .dec_tsf = WMI_10_4_VDEV_PARAM_TSF_DECREMENT,
 };
index 9d13c6f1ba21bd2127e939e74cf177130ebc1aa5..3a73b5cc1551bdb7a715565650a91db5d606b0bb 100644 (file)
@@ -4676,7 +4676,6 @@ struct wmi_vdev_param_map {
        u32 meru_vc;
        u32 rx_decap_type;
        u32 bw_nss_ratemask;
-       u32 set_tsf;
        u32 inc_tsf;
        u32 dec_tsf;
 };