Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9e495a26 authored by Sujith Manoharan's avatar Sujith Manoharan Committed by John W. Linville
Browse files

ath9k: Remove ath9k rate control



There is no benefit in retaining the legacy rate control module
in the driver codebase.

It is known to be buggy and has less than optimal performance
in real-world environments compared with minstrel. The only
reason that it was kept when we made the switch to minstrel
as default was that it showed higher throughput numbers in a
clean/ideal environment.

This is no longer the case and minstrel can push ath9k to
the same throughput levels. In TCP, with 3-stream cards, more than
295 Mbps can be obtained in open air, with 2-stream cards,
210 Mbps is easily reached. To test performance issues,
instead of using a broken rate control module, it is better
to use the fixed-rate interface provided by mac80211 anyway.

The ath9k RC has not received any bug fixes in years and is
just bit-rotting away - this patch removes it.

Signed-off-by: default avatarSujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 482b30b6
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -120,18 +120,6 @@ config ATH9K_WOW
	  This option enables Wake on Wireless LAN support for certain cards.
	  Currently, AR9462 is supported.

config ATH9K_LEGACY_RATE_CONTROL
	bool "Atheros ath9k rate control"
	depends on ATH9K
	default n
	---help---
	  Say Y, if you want to use the ath9k specific rate control
	  module instead of minstrel_ht. Be warned that there are various
	  issues with the ath9k RC and minstrel is a more robust algorithm.
	  Note that even if this option is selected, "ath9k_rate_control"
	  has to be passed to mac80211 using the module parameter,
	  ieee80211_default_rc_algo.

config ATH9K_RFKILL
	bool "Atheros ath9k rfkill support" if EXPERT
	depends on ATH9K
+0 −1
Original line number Diff line number Diff line
@@ -8,7 +8,6 @@ ath9k-y += beacon.o \
		antenna.o

ath9k-$(CONFIG_ATH9K_BTCOEX_SUPPORT) += mci.o
ath9k-$(CONFIG_ATH9K_LEGACY_RATE_CONTROL) += rc.o
ath9k-$(CONFIG_ATH9K_PCI) += pci.o
ath9k-$(CONFIG_ATH9K_AHB) += ahb.o
ath9k-$(CONFIG_ATH9K_DFS_DEBUGFS) += dfs_debug.o
+5 −1
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@
#include "spectral.h"

struct ath_node;
struct ath_rate_table;

extern struct ieee80211_ops ath9k_ops;
extern int ath9k_modparam_nohwcrypt;
@@ -150,6 +149,11 @@ int ath_descdma_setup(struct ath_softc *sc, struct ath_descdma *dd,
#define IS_CCK_RATE(rate)  ((rate >= 0x18) && (rate <= 0x1e))
#define IS_OFDM_RATE(rate) ((rate >= 0x8) && (rate <= 0xf))

enum {
       WLAN_RC_PHY_OFDM,
       WLAN_RC_PHY_CCK,
};

struct ath_txq {
	int mac80211_qnum; /* mac80211 queue number, -1 means not mac80211 Q */
	u32 axq_qnum; /* ath9k hardware queue number */
+0 −1
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@
#define DEBUG_H

#include "hw.h"
#include "rc.h"
#include "dfs_debug.h"

struct ath_txq;
+2 −0
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@

#include "hw.h"

struct ath_softc;

/**
 * struct ath_dfs_stats - DFS Statistics per wiphy
 * @pulses_total:     pulses reported by HW
Loading