iwlwifi: mvm: remove IWL_UCODE_TLV_API_STATS_V10 TLV flag
[cascardo/linux.git] / drivers / net / wireless / iwlwifi / mvm / rx.c
index c37c10a..c203a1b 100644 (file)
@@ -459,7 +459,7 @@ static void iwl_mvm_update_rx_statistics(struct iwl_mvm *mvm,
 struct iwl_mvm_stat_data {
        struct iwl_mvm *mvm;
        __le32 mac_id;
-       __s8 beacon_filter_average_energy;
+       u8 beacon_filter_average_energy;
        struct mvm_statistics_general_v8 *general;
 };
 
@@ -577,56 +577,33 @@ iwl_mvm_rx_stats_check_trigger(struct iwl_mvm *mvm, struct iwl_rx_packet *pkt)
 void iwl_mvm_handle_rx_statistics(struct iwl_mvm *mvm,
                                  struct iwl_rx_packet *pkt)
 {
-       size_t v8_len = sizeof(struct iwl_notif_statistics_v8);
-       size_t v10_len = sizeof(struct iwl_notif_statistics_v10);
+       struct iwl_notif_statistics_v10 *stats = (void *)&pkt->data;
        struct iwl_mvm_stat_data data = {
                .mvm = mvm,
        };
        u32 temperature;
 
-       if (fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_STATS_V10)) {
-               struct iwl_notif_statistics_v10 *stats = (void *)&pkt->data;
+       if (iwl_rx_packet_payload_len(pkt) != sizeof(*stats))
+               goto invalid;
 
-               if (iwl_rx_packet_payload_len(pkt) != v10_len)
-                       goto invalid;
+       temperature = le32_to_cpu(stats->general.radio_temperature);
+       data.mac_id = stats->rx.general.mac_id;
+       data.beacon_filter_average_energy =
+               stats->general.beacon_filter_average_energy;
 
-               temperature = le32_to_cpu(stats->general.radio_temperature);
-               data.mac_id = stats->rx.general.mac_id;
-               data.beacon_filter_average_energy =
-                       stats->general.beacon_filter_average_energy;
+       iwl_mvm_update_rx_statistics(mvm, &stats->rx);
 
-               iwl_mvm_update_rx_statistics(mvm, &stats->rx);
+       mvm->radio_stats.rx_time = le64_to_cpu(stats->general.rx_time);
+       mvm->radio_stats.tx_time = le64_to_cpu(stats->general.tx_time);
+       mvm->radio_stats.on_time_rf =
+               le64_to_cpu(stats->general.on_time_rf);
+       mvm->radio_stats.on_time_scan =
+               le64_to_cpu(stats->general.on_time_scan);
 
-               mvm->radio_stats.rx_time = le64_to_cpu(stats->general.rx_time);
-               mvm->radio_stats.tx_time = le64_to_cpu(stats->general.tx_time);
-               mvm->radio_stats.on_time_rf =
-                       le64_to_cpu(stats->general.on_time_rf);
-               mvm->radio_stats.on_time_scan =
-                       le64_to_cpu(stats->general.on_time_scan);
-
-               data.general = &stats->general;
-       } else {
-               struct iwl_notif_statistics_v8 *stats = (void *)&pkt->data;
-
-               if (iwl_rx_packet_payload_len(pkt) != v8_len)
-                       goto invalid;
-
-               temperature = le32_to_cpu(stats->general.radio_temperature);
-               data.mac_id = stats->rx.general.mac_id;
-               data.beacon_filter_average_energy =
-                       stats->general.beacon_filter_average_energy;
-
-               iwl_mvm_update_rx_statistics(mvm, &stats->rx);
-       }
+       data.general = &stats->general;
 
        iwl_mvm_rx_stats_check_trigger(mvm, pkt);
 
-       /* Only handle rx statistics temperature changes if async temp
-        * notifications are not supported
-        */
-       if (!fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_ASYNC_DTM))
-               iwl_mvm_tt_temp_changed(mvm, temperature);
-
        ieee80211_iterate_active_interfaces(mvm->hw,
                                            IEEE80211_IFACE_ITER_NORMAL,
                                            iwl_mvm_stat_iterator,