aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>2002-03-17 04:16:45 +0000
committerBruce Evans <bde@FreeBSD.org>2002-03-17 04:16:45 +0000
commit0dcf5283965eb05246691e319b623011320ca575 (patch)
tree99628b876d68c5ca68163460775dae3748c26c66
parentf0843112af9ba486ec10c280a06fb0e6695020ee (diff)
downloadsrc-0dcf5283965eb05246691e319b623011320ca575.tar.gz
src-0dcf5283965eb05246691e319b623011320ca575.zip
MFC (cy_pci.c 1.26: work around a PLX9050 bug).
Notes
Notes: svn path=/stable/3/; revision=92468
-rw-r--r--sys/pci/cy_pci.c6
-rw-r--r--sys/pci/cy_pcireg.h1
2 files changed, 4 insertions, 3 deletions
diff --git a/sys/pci/cy_pci.c b/sys/pci/cy_pci.c
index 5d5be065ffc7..9a2bc2b8bde4 100644
--- a/sys/pci/cy_pci.c
+++ b/sys/pci/cy_pci.c
@@ -133,9 +133,9 @@ cy_attach(config_id, unit)
plx_ver = *((u_char *)vaddr + PLX_VER) & 0x0f;
switch (plx_ver) {
case PLX_9050:
- outw(ioport + CY_PLX_9050_ICS,
- inw(ioport + CY_PLX_9050_ICS) | CY_PLX_9050_ICS_IENABLE |
- CY_PLX_9050_ICS_LOCAL_IENABLE);
+ outw(ioport + CY_PLX_9050_ICS,
+ CY_PLX_9050_ICS_IENABLE | CY_PLX_9050_ICS_LOCAL_IENABLE |
+ CY_PLX_9050_ICS_LOCAL_IPOLARITY);
break;
case PLX_9060:
case PLX_9080:
diff --git a/sys/pci/cy_pcireg.h b/sys/pci/cy_pcireg.h
index 707c4db62fec..542f53998ca9 100644
--- a/sys/pci/cy_pcireg.h
+++ b/sys/pci/cy_pcireg.h
@@ -35,6 +35,7 @@
#define CY_PLX_9060_ICS 0x68
#define CY_PLX_9050_ICS_IENABLE 0x040
#define CY_PLX_9050_ICS_LOCAL_IENABLE 0x001
+#define CY_PLX_9050_ICS_LOCAL_IPOLARITY 0x002
#define CY_PLX_9060_ICS_IENABLE 0x100
#define CY_PLX_9060_ICS_LOCAL_IENABLE 0x800