Lines Matching defs:link
10 Abstract: rt2x00 generic link tuning routines.
38 struct link_ant *ant = &rt2x00dev->link.ant;
40 if (rt2x00dev->link.qual.rx_success)
48 struct link_ant *ant = &rt2x00dev->link.ant;
58 struct link_ant *ant = &rt2x00dev->link.ant;
64 ewma_rssi_init(&rt2x00dev->link.ant.rssi_ant);
69 struct link_ant *ant = &rt2x00dev->link.ant;
110 struct link_ant *ant = &rt2x00dev->link.ant;
150 struct link_ant *ant = &rt2x00dev->link.ant;
171 } else if (rt2x00dev->link.count & 1) {
183 struct link *link = &rt2x00dev->link;
184 struct link_qual *qual = &rt2x00dev->link.qual;
185 struct link_ant *ant = &rt2x00dev->link.ant;
212 ewma_rssi_add(&link->avg_rssi, -rxdesc->rssi);
222 struct link *link = &rt2x00dev->link;
226 * work with link tuners.
232 * While scanning, link tuning is disabled. By default
244 &link->work, LINK_TUNE_INTERVAL);
249 cancel_delayed_work_sync(&rt2x00dev->link.work);
254 struct link_qual *qual = &rt2x00dev->link.qual;
261 * Reset link information.
263 * the link tuner counter should be reset. Resetting
265 * device should only perform link tuning during the
268 rt2x00dev->link.count = 0;
270 ewma_rssi_init(&rt2x00dev->link.avg_rssi);
280 * Reset the link tuner.
290 struct link_qual *qual = &rt2x00dev->link.qual;
298 static void rt2x00link_tuner_sta(struct rt2x00_dev *rt2x00dev, struct link *link)
300 struct link_qual *qual = &rt2x00dev->link.qual;
309 * Update quality RSSI for link tuning,
317 qual->rssi = rt2x00link_get_avg_rssi(&link->avg_rssi);
320 * Check if link tuning is supported by the hardware, some hardware
321 * do not support link tuning at all, while other devices can disable
325 rt2x00dev->ops->lib->link_tuner(rt2x00dev, qual, link->count);
344 container_of(work, struct rt2x00_dev, link.work.work);
345 struct link *link = &rt2x00dev->link;
349 * immediately cease all link tuning.
359 rt2x00link_tuner_sta(rt2x00dev, link);
362 (link->count % (AGC_SECONDS / LINK_TUNE_SECONDS)) == 0)
367 (link->count % (VCO_SECONDS / LINK_TUNE_SECONDS)) == 0)
373 * Increase tuner counter, and reschedule the next link tuner run.
375 link->count++;
379 &link->work, LINK_TUNE_INTERVAL);
384 struct link *link = &rt2x00dev->link;
387 rt2x00dev->ops->lib->watchdog && !link->watchdog_disabled)
389 &link->watchdog_work,
390 link->watchdog_interval);
395 cancel_delayed_work_sync(&rt2x00dev->link.watchdog_work);
401 container_of(work, struct rt2x00_dev, link.watchdog_work.work);
402 struct link *link = &rt2x00dev->link;
415 &link->watchdog_work,
416 link->watchdog_interval);
421 struct link *link = &rt2x00dev->link;
423 INIT_DELAYED_WORK(&link->work, rt2x00link_tuner);
424 INIT_DELAYED_WORK(&link->watchdog_work, rt2x00link_watchdog);
426 if (link->watchdog_interval == 0)
427 link->watchdog_interval = WATCHDOG_INTERVAL;