summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Bergamini <damien@cvs.openbsd.org>2004-10-27 21:19:02 +0000
committerDamien Bergamini <damien@cvs.openbsd.org>2004-10-27 21:19:02 +0000
commitee398faf027faa4650aef33c6f4c8e4efbd81391 (patch)
tree3c8e3fd6054129ccb12d47c0c9247bf412fc23d5
parentff22d06b8cf8e4cc0ab88caaebe70f515c331770 (diff)
Configure the adapter properly to avoid Tx retries from interfering with
CPU C3 state (imported from iwi).
-rw-r--r--sys/dev/pci/if_ipw.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/pci/if_ipw.c b/sys/dev/pci/if_ipw.c
index 720007bf6fb..6f81084c5e7 100644
--- a/sys/dev/pci/if_ipw.c
+++ b/sys/dev/pci/if_ipw.c
@@ -1,4 +1,4 @@
-/* $Id: if_ipw.c,v 1.8 2004/10/27 21:17:18 damien Exp $ */
+/* $Id: if_ipw.c,v 1.9 2004/10/27 21:19:01 damien Exp $ */
/*-
* Copyright (c) 2004
@@ -168,11 +168,15 @@ ipw_attach(struct device *parent, struct device *self, void *aux)
bus_space_handle_t memh;
bus_addr_t base;
pci_intr_handle_t ih;
- u_int32_t data;
+ pcireg_t data;
int error, i;
sc->sc_pct = pa->pa_pc;
+ data = pci_conf_read(sc->sc_pct, pa->pa_tag, 0x40);
+ data &= ~0x00ff0000;
+ pci_conf_write(sc->sc_pct, pa->pa_tag, 0x40, data);
+
/* enable bus-mastering */
data = pci_conf_read(sc->sc_pct, pa->pa_tag, PCI_COMMAND_STATUS_REG);
data |= PCI_COMMAND_MASTER_ENABLE;