ath9k: remove software descriptor swapping, hw already does that

SVN-Revision: 11885
master
Felix Fietkau 17 years ago
parent d53ff609b5
commit 2043a450da
  1. 64
      package/ath9k/patches/140-no_desc_swap.patch

@ -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…
Cancel
Save