Lines Matching defs:cqm_config
14085 struct cfg80211_cqm_config *cqm_config)
14099 if (!cqm_config->last_rssi_event_value &&
14113 cqm_config->last_rssi_event_value =
14117 last = cqm_config->last_rssi_event_value;
14118 hyst = cqm_config->rssi_hyst;
14119 n = cqm_config->n_rssi_thresholds;
14123 if (last < cqm_config->rssi_thresholds[i])
14130 low = cqm_config->rssi_thresholds[low_index] - hyst;
14136 high = cqm_config->rssi_thresholds[i] + hyst - 1;
14149 struct cfg80211_cqm_config *cqm_config = NULL, *old;
14170 old = wiphy_dereference(wdev->wiphy, wdev->cqm_config);
14187 cqm_config = kzalloc(struct_size(cqm_config, rssi_thresholds,
14190 if (!cqm_config)
14193 cqm_config->rssi_hyst = hysteresis;
14194 cqm_config->n_rssi_thresholds = n_thresholds;
14195 memcpy(cqm_config->rssi_thresholds, thresholds,
14196 flex_array_size(cqm_config, rssi_thresholds,
14198 cqm_config->use_range_api = n_thresholds > 1 ||
14201 rcu_assign_pointer(wdev->cqm_config, cqm_config);
14203 if (cqm_config->use_range_api)
14204 err = cfg80211_cqm_rssi_update(rdev, dev, cqm_config);
14210 RCU_INIT_POINTER(wdev->cqm_config, NULL);
14219 rcu_assign_pointer(wdev->cqm_config, old);
14220 kfree_rcu(cqm_config, rcu_head);
20656 struct cfg80211_cqm_config *cqm_config;
20665 cqm_config = rcu_dereference(wdev->cqm_config);
20666 if (cqm_config) {
20667 cqm_config->last_rssi_event_value = rssi_level;
20668 cqm_config->last_rssi_event_type = rssi_event;
20681 struct cfg80211_cqm_config *cqm_config;
20685 cqm_config = wiphy_dereference(wdev->wiphy, wdev->cqm_config);
20686 if (!cqm_config)
20689 if (cqm_config->use_range_api)
20690 cfg80211_cqm_rssi_update(rdev, wdev->netdev, cqm_config);
20692 rssi_level = cqm_config->last_rssi_event_value;
20693 rssi_event = cqm_config->last_rssi_event_type;