b43-dev.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ssb: Clear RETRY_TIMEOUT in PCI Configuration
@ 2010-10-19 17:55 Larry Finger
  2010-10-19 18:02 ` John W. Linville
  2010-10-19 21:04 ` Michael Büsch
  0 siblings, 2 replies; 9+ messages in thread
From: Larry Finger @ 2010-10-19 17:55 UTC (permalink / raw)
  To: b43-dev

MMIO log traces obtained using the Broadcom wl hybrid driver show that
the RETRY_TIMEOUT register (0x41) in PCI configuration space is cleared
if non-zero. Similar code found in other drivers such as ipw2100 show
this operation is needed to keep PCI Tx retries from interfering with
C3 CPU state. There are no known cases where omission of this code has
caused a problem, but this patch is offered just in case such a situation
occurs.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
---

John,

No particular urgency for this patch.

Larry
---

Index: wireless-testing/drivers/ssb/driver_pcicore.c
===================================================================
--- wireless-testing.orig/drivers/ssb/driver_pcicore.c
+++ wireless-testing/drivers/ssb/driver_pcicore.c
@@ -271,6 +271,7 @@ int ssb_pcicore_plat_dev_init(struct pci
 static void ssb_pcicore_fixup_pcibridge(struct pci_dev *dev)
 {
 	u8 lat;
+	u32 val;
 
 	if (dev->bus->ops != &ssb_pcicore_pciops) {
 		/* This is not a device on the PCI-core bridge. */
@@ -288,6 +289,12 @@ static void ssb_pcicore_fixup_pcibridge(
 		return;
 	}
 
+	/* Disable the RETRY_TIMEOUT register (0x41) to keep
+	 * PCI Tx retries from interfering with C3 CPU state */
+	pci_read_config_dword(pci_dev, 0x40, &val);
+	if ((val & 0x0000ff00) != 0)
+		pci_write_config_dword(pci_dev, 0x40, val & 0xffff00ff);
+
 	/* Enable PCI bridge BAR1 prefetch and burst */
 	pci_write_config_dword(dev, SSB_BAR1_CONTROL, 3);
 

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2010-11-16 20:40 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-19 17:55 [PATCH] ssb: Clear RETRY_TIMEOUT in PCI Configuration Larry Finger
2010-10-19 18:02 ` John W. Linville
2010-10-19 18:21   ` Larry Finger
2010-10-19 21:04 ` Michael Büsch
2010-11-09 23:09   ` Rafał Miłecki
2010-11-09 23:13     ` Michael Büsch
2010-11-10 17:37       ` John W. Linville
2010-11-10 21:52         ` Michael Büsch
2010-11-16 20:40           ` John W. Linville

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).