b43: Disable PMQ mechanism
PATCH 1/1 b43: Disable PMQ mechanism
This reduces IRQ pressure by about one third on a saturated link by disabling the PMQ mechanism. We currently don't use that mechanism.
Signed-off-by Michael Buesch <[email protected]>
---
If we implement PMQ in the future, we need to re-enable it, but only for AP mode. See the comment in the sourcecode.
drivers/net/wireless/b43/main.c +14 -0
@@ -2675,6 +2675,20 @@ static void b43_adjust_opmode(struct b43 cfp_pretbtt =50 ; }b43_write16 (dev,0x612 , cfp_pretbtt); + +/* FIXME: We don't currently implement the PMQ mechanism, +* so always disable it. If we want to implement PMQ, +* we need to enable it here (clear DISCPMQ) in AP mode. +*/ +if (0 /* ctl & B43_MACCTL_AP */ ) { +b43_write32 (dev,B43_MMIO_MACCTL , +b43_read32 (dev,B43_MMIO_MACCTL ) + & ~B43_MACCTL_DISCPMQ ); + }else { +b43_write32 (dev,B43_MMIO_MACCTL , +b43_read32 (dev,B43_MMIO_MACCTL ) + |B43_MACCTL_DISCPMQ ); + } }static void b43_rate_memory_write (struct b43_wldev *dev,u16 rate,int is_ofdm)
Signature · 1 line
Greetings, Michael.