diff options
author | mjacob <mjacob@FreeBSD.org> | 2006-12-16 05:54:29 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2006-12-16 05:54:29 +0000 |
commit | fd764f04247f7e3d8cde039e223356e4bbe14a6c (patch) | |
tree | a4538fc4cfc9dc15d1498e901d15aa6687fe9e64 /sys/dev/isp/isp_pci.c | |
parent | da4cb165a04fbbbbf5fb4639e4de39d45c2efe3f (diff) | |
download | FreeBSD-src-fd764f04247f7e3d8cde039e223356e4bbe14a6c.zip FreeBSD-src-fd764f04247f7e3d8cde039e223356e4bbe14a6c.tar.gz |
Implement ISP_RESET0 for PCI and SBUS attachments- isp_reset has
been modified to call ISP_RESET0 if it fails to do a reset. This
gives us a chance to disable interrupts.
Diffstat (limited to 'sys/dev/isp/isp_pci.c')
-rw-r--r-- | sys/dev/isp/isp_pci.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/sys/dev/isp/isp_pci.c b/sys/dev/isp/isp_pci.c index 6edffb1..cb4588f 100644 --- a/sys/dev/isp/isp_pci.c +++ b/sys/dev/isp/isp_pci.c @@ -81,6 +81,7 @@ static void isp_pci_dmateardown(ispsoftc_t *, XS_T *, uint32_t); +static void isp_pci_reset0(ispsoftc_t *); static void isp_pci_reset1(ispsoftc_t *); static void isp_pci_dumpregs(ispsoftc_t *, const char *); @@ -91,7 +92,7 @@ static struct ispmdvec mdvec = { isp_pci_mbxdma, isp_pci_dmasetup, isp_pci_dmateardown, - NULL, + isp_pci_reset0, isp_pci_reset1, isp_pci_dumpregs, NULL, @@ -105,7 +106,7 @@ static struct ispmdvec mdvec_1080 = { isp_pci_mbxdma, isp_pci_dmasetup, isp_pci_dmateardown, - NULL, + isp_pci_reset0, isp_pci_reset1, isp_pci_dumpregs, NULL, @@ -119,7 +120,7 @@ static struct ispmdvec mdvec_12160 = { isp_pci_mbxdma, isp_pci_dmasetup, isp_pci_dmateardown, - NULL, + isp_pci_reset0, isp_pci_reset1, isp_pci_dumpregs, NULL, @@ -133,7 +134,7 @@ static struct ispmdvec mdvec_2100 = { isp_pci_mbxdma, isp_pci_dmasetup, isp_pci_dmateardown, - NULL, + isp_pci_reset0, isp_pci_reset1, isp_pci_dumpregs }; @@ -145,7 +146,7 @@ static struct ispmdvec mdvec_2200 = { isp_pci_mbxdma, isp_pci_dmasetup, isp_pci_dmateardown, - NULL, + isp_pci_reset0, isp_pci_reset1, isp_pci_dumpregs }; @@ -157,7 +158,7 @@ static struct ispmdvec mdvec_2300 = { isp_pci_mbxdma, isp_pci_dmasetup, isp_pci_dmateardown, - NULL, + isp_pci_reset0, isp_pci_reset1, isp_pci_dumpregs }; @@ -169,7 +170,7 @@ static struct ispmdvec mdvec_2400 = { isp_pci_mbxdma, isp_pci_dmasetup, isp_pci_dmateardown, - NULL, + isp_pci_reset0, isp_pci_reset1, NULL }; @@ -2882,6 +2883,12 @@ isp_pci_dmateardown(ispsoftc_t *isp, XS_T *xs, uint32_t handle) static void +isp_pci_reset0(ispsoftc_t *isp) +{ + ISP_DISABLE_INTS(isp); +} + +static void isp_pci_reset1(ispsoftc_t *isp) { if (!IS_24XX(isp)) { |