Lines Matching defs:cqm_config

12822 				    struct cfg80211_cqm_config *cqm_config)
12836 if (!cqm_config->last_rssi_event_value &&
12850 cqm_config->last_rssi_event_value =
12854 last = cqm_config->last_rssi_event_value;
12855 hyst = cqm_config->rssi_hyst;
12856 n = cqm_config->n_rssi_thresholds;
12860 if (last < cqm_config->rssi_thresholds[i])
12867 low = cqm_config->rssi_thresholds[low_index] - hyst;
12873 high = cqm_config->rssi_thresholds[i] + hyst - 1;
12886 struct cfg80211_cqm_config *cqm_config = NULL, *old;
12908 old = rcu_dereference_protected(wdev->cqm_config,
12932 cqm_config = kzalloc(struct_size(cqm_config, rssi_thresholds,
12935 if (!cqm_config) {
12940 cqm_config->rssi_hyst = hysteresis;
12941 cqm_config->n_rssi_thresholds = n_thresholds;
12942 memcpy(cqm_config->rssi_thresholds, thresholds,
12943 flex_array_size(cqm_config, rssi_thresholds,
12945 cqm_config->use_range_api = n_thresholds > 1 ||
12948 rcu_assign_pointer(wdev->cqm_config, cqm_config);
12950 if (cqm_config->use_range_api)
12951 err = cfg80211_cqm_rssi_update(rdev, dev, cqm_config);
12957 RCU_INIT_POINTER(wdev->cqm_config, NULL);
12966 rcu_assign_pointer(wdev->cqm_config, old);
12967 kfree_rcu(cqm_config, rcu_head);
19122 struct cfg80211_cqm_config *cqm_config;
19131 cqm_config = rcu_dereference(wdev->cqm_config);
19132 if (cqm_config) {
19133 cqm_config->last_rssi_event_value = rssi_level;
19134 cqm_config->last_rssi_event_type = rssi_event;
19147 struct cfg80211_cqm_config *cqm_config;
19152 cqm_config = rcu_dereference_protected(wdev->cqm_config,
19154 if (!cqm_config)
19157 if (cqm_config->use_range_api)
19158 cfg80211_cqm_rssi_update(rdev, wdev->netdev, cqm_config);
19160 rssi_level = cqm_config->last_rssi_event_value;
19161 rssi_event = cqm_config->last_rssi_event_type;