All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] b43: Disable PMQ mechanism
@ 2009-09-11 22:52 Michael Buesch
  0 siblings, 0 replies; only message in thread
From: Michael Buesch @ 2009-09-11 22:52 UTC (permalink / raw)
  To: John W. Linville; +Cc: Broadcom Wireless, linux-wireless

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 <mb@bu3sch.de>

---

If we implement PMQ in the future, we need to re-enable it, but only
for AP mode. See the comment in the sourcecode.


Index: wireless-testing/drivers/net/wireless/b43/main.c
===================================================================
--- wireless-testing.orig/drivers/net/wireless/b43/main.c	2009-09-12 00:31:44.000000000 +0200
+++ wireless-testing/drivers/net/wireless/b43/main.c	2009-09-12 00:41:27.000000000 +0200
@@ -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)

-- 
Greetings, Michael.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-09-11 22:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-11 22:52 [PATCH] b43: Disable PMQ mechanism Michael Buesch

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.