summaryrefslogtreecommitdiffstats
path: root/drivers/ssb/main.c
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2010-02-02 10:08:19 -0600
committerJohn W. Linville <linville@tuxdriver.com>2010-02-03 16:55:19 -0500
commitb6c3f5be7c6ac3375f44de4545c1ffe216b34022 (patch)
treebd72096faa14dc1db62ae939858639ab466901f8 /drivers/ssb/main.c
parent3092ad054406f069991ca561adc74f2d9fbb6867 (diff)
downloadop-kernel-dev-b6c3f5be7c6ac3375f44de4545c1ffe216b34022.zip
op-kernel-dev-b6c3f5be7c6ac3375f44de4545c1ffe216b34022.tar.gz
b43: Fix throughput regression
Commit c7ab5ef9bcd281135c21b4732c9be779585181be entitled "b43: implement short slot and basic rate handling" reduced the transmit throughput for my BCM4311 device from 18 Mb/s to 0.7 Mb/s. The basic rate handling portion is OK, the problem is in the short slot handling. Prior to this change, the short slot enable/disable routines were never called. Experimentation showed that the critical part was changing the value at offset 0x0010 in the shared memory. This is supposed to contain the 802.11 Slot Time in usec, but if it is changed from its initial value of zero, performance is destroyed. On the other hand, changing the value in the MMIO register corresponding to the Interframe Slot Time increased performance from 18 to 22 Mb/s. A BCM4306/3 also shows dramatic improvement of the transmit rate from 5.3 to 19.0 Mb/s. Other changes in the patch include removal of the magic number for the MMIO register, and allowing the slot time to be set for any PHY operating in the 2.4 GHz band. Previously, the routine was executed only for G PHYs. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: Stable <stable@kernel.org> [Any stable version back through 2.6.28] Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/ssb/main.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud