ath9k: remove software descriptor swapping, hw already does that
SVN-Revision: 11885
This commit is contained in:
parent
d53ff609b5
commit
2043a450da
1 changed files with 64 additions and 0 deletions
64
package/ath9k/patches/140-no_desc_swap.patch
Normal file
64
package/ath9k/patches/140-no_desc_swap.patch
Normal file
|
@ -0,0 +1,64 @@
|
|||
Remove the descriptor swap, as the driver already configures the hardware for
|
||||
descriptor swapping on big endian systems
|
||||
|
||||
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
|
||||
--- a/drivers/net/wireless/ath9k/core.c
|
||||
+++ b/drivers/net/wireless/ath9k/core.c
|
||||
@@ -2141,22 +2141,6 @@
|
||||
memzero(dd, sizeof(*dd));
|
||||
}
|
||||
|
||||
-/*
|
||||
- * Endian Swap for transmit descriptor
|
||||
- *
|
||||
- * XXX: Move cpu_to_le32() into hw.c and anywhere we set them, then
|
||||
- * remove this.
|
||||
-*/
|
||||
-void ath_desc_swap(struct ath_desc *ds)
|
||||
-{
|
||||
- ds->ds_link = cpu_to_le32(ds->ds_link);
|
||||
- ds->ds_data = cpu_to_le32(ds->ds_data);
|
||||
- ds->ds_ctl0 = cpu_to_le32(ds->ds_ctl0);
|
||||
- ds->ds_ctl1 = cpu_to_le32(ds->ds_ctl1);
|
||||
- ds->ds_hw[0] = cpu_to_le32(ds->ds_hw[0]);
|
||||
- ds->ds_hw[1] = cpu_to_le32(ds->ds_hw[1]);
|
||||
-}
|
||||
-
|
||||
/*************/
|
||||
/* Utilities */
|
||||
/*************/
|
||||
--- a/drivers/net/wireless/ath9k/beacon.c
|
||||
+++ b/drivers/net/wireless/ath9k/beacon.c
|
||||
@@ -140,11 +140,6 @@
|
||||
series[0].RateFlags = (ctsrate) ? HAL_RATESERIES_RTS_CTS : 0;
|
||||
ath9k_hw_set11n_ratescenario(ah, ds, ds, 0,
|
||||
ctsrate, ctsduration, series, 4, 0);
|
||||
-
|
||||
- /* NB: The desc swap function becomes void,
|
||||
- * if descriptor swapping is not enabled
|
||||
- */
|
||||
- ath_desc_swap(ds);
|
||||
}
|
||||
|
||||
/* Move everything from the vap's mcast queue to the hardware cab queue.
|
||||
--- a/drivers/net/wireless/ath9k/core.h
|
||||
+++ b/drivers/net/wireless/ath9k/core.h
|
||||
@@ -384,7 +384,6 @@
|
||||
void ath_descdma_cleanup(struct ath_softc *sc,
|
||||
struct ath_descdma *dd,
|
||||
struct list_head *head);
|
||||
-void ath_desc_swap(struct ath_desc *ds);
|
||||
|
||||
/******/
|
||||
/* RX */
|
||||
--- a/drivers/net/wireless/ath9k/xmit.c
|
||||
+++ b/drivers/net/wireless/ath9k/xmit.c
|
||||
@@ -2062,7 +2062,6 @@
|
||||
AH_TRUE, /* first segment */
|
||||
(n_sg == 1) ? AH_TRUE : AH_FALSE, /* last segment */
|
||||
ds); /* first descriptor */
|
||||
- ath_desc_swap(ds);
|
||||
|
||||
bf->bf_lastfrm = bf;
|
||||
bf->bf_ht = txctl->ht;
|
Loading…
Reference in a new issue