summaryrefslogtreecommitdiffstats
path: root/sys/pci
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1998-10-30 02:06:44 +0000
committergibbs <gibbs@FreeBSD.org>1998-10-30 02:06:44 +0000
commit0fcabcf90e9664f8f2c243b394255dda6012386f (patch)
tree96d4e41b952d4b9dfe09856471d27ef877efb86a /sys/pci
parent02085b8fcd4391a1121f8846161cd62e9d06ccb0 (diff)
downloadFreeBSD-src-0fcabcf90e9664f8f2c243b394255dda6012386f.zip
FreeBSD-src-0fcabcf90e9664f8f2c243b394255dda6012386f.tar.gz
Do not disable the ISA compatibility window if it is the same value as
that set for our PCI IO address space. This can happen on the BT-946.
Diffstat (limited to 'sys/pci')
-rw-r--r--sys/pci/bt_pci.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/sys/pci/bt_pci.c b/sys/pci/bt_pci.c
index 0286245..302be46 100644
--- a/sys/pci/bt_pci.c
+++ b/sys/pci/bt_pci.c
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: bt_pci.c,v 1.1 1998/09/15 07:32:57 gibbs Exp $
*/
#include "pci.h"
@@ -110,7 +110,6 @@ bt_pci_probe (pcici_t config_id, pcidi_t type)
bus_space_handle_t bsh;
pci_info_data_t pci_info;
int error;
- u_int8_t new_addr;
if (btpcideterminebusspace(config_id, &tag, &bsh) != 0)
break;
@@ -122,7 +121,8 @@ bt_pci_probe (pcici_t config_id, pcidi_t type)
/*
* Determine if an ISA compatible I/O port has been
* enabled. If so, record the port so it will not
- * be probed by our ISA probe, and disable the port.
+ * be probed by our ISA probe. If the PCI I/O port
+ * was not set to the compatibility port, disable it.
*/
error = bt_cmd(bt, BOP_INQUIRE_PCI_INFO,
/*param*/NULL, /*paramlen*/0,
@@ -131,12 +131,17 @@ bt_pci_probe (pcici_t config_id, pcidi_t type)
if (error == 0
&& pci_info.io_port < BIO_DISABLED) {
bt_mark_probed_bio(pci_info.io_port);
+ if (bsh != bt_fetch_isa_iop(pci_info.io_port)) {
+ u_int8_t new_addr;
+
+ new_addr = BIO_DISABLED;
+ bt_cmd(bt, BOP_MODIFY_IO_ADDR,
+ /*param*/&new_addr,
+ /*paramlen*/1, /*reply_buf*/NULL,
+ /*reply_len*/0,
+ DEFAULT_CMD_TIMEOUT);
+ }
}
-
- new_addr = BIO_DISABLED;
- bt_cmd(bt, BOP_MODIFY_IO_ADDR, /*param*/&new_addr,
- /*paramlen*/1, /*reply_buf*/NULL, /*reply_len*/0,
- DEFAULT_CMD_TIMEOUT);
bt_free(bt);
return ("Buslogic Multimaster SCSI host adapter");
break;
OpenPOWER on IntegriCloud