summaryrefslogtreecommitdiffstats
path: root/sys/pci
diff options
context:
space:
mode:
authorse <se@FreeBSD.org>1995-02-04 14:02:44 +0000
committerse <se@FreeBSD.org>1995-02-04 14:02:44 +0000
commita10ae91aa4c835a0ac7e90e3d795bf8cdc1853cf (patch)
treef89cb7fb746085941a00e061ce111979271a88af /sys/pci
parent4564ae83e73c7ba0239044a89b389dcc8a4fce31 (diff)
downloadFreeBSD-src-a10ae91aa4c835a0ac7e90e3d795bf8cdc1853cf.zip
FreeBSD-src-a10ae91aa4c835a0ac7e90e3d795bf8cdc1853cf.tar.gz
Disable I/O port accesses in case the BIOS enabled them.
Clear all output lines except ATN and ACK when waiting for target phase change. Submitted by: wolf (Wolfgang Stanglmeier)
Diffstat (limited to 'sys/pci')
-rw-r--r--sys/pci/ncr.c26
1 files changed, 22 insertions, 4 deletions
diff --git a/sys/pci/ncr.c b/sys/pci/ncr.c
index f9cd370..87ee90f 100644
--- a/sys/pci/ncr.c
+++ b/sys/pci/ncr.c
@@ -1,6 +1,6 @@
/**************************************************************************
**
-** $Id: ncr.c,v 1.16 1995/02/02 13:12:15 davidg Exp $
+** $Id: ncr.c,v 1.17 1995/02/02 15:50:57 se Exp $
**
** Device driver for the NCR 53C810 PCI-SCSI-Controller.
**
@@ -44,7 +44,7 @@
***************************************************************************
*/
-#define NCR_PATCHLEVEL "pl6 95/02/02"
+#define NCR_PATCHLEVEL "pl8 95/02/04"
#define NCR_VERSION (2)
#define MAX_UNITS (16)
@@ -1121,7 +1121,7 @@ struct script {
ncrcmd prepare2 [ 24];
ncrcmd setmsg [ 5];
ncrcmd clrack [ 2];
- ncrcmd dispatch [ 31];
+ ncrcmd dispatch [ 33];
ncrcmd no_data [ 17];
ncrcmd checkatn [ 10];
ncrcmd command [ 15];
@@ -1231,7 +1231,7 @@ static void ncr_attach (pcici_t tag, int unit);
static char ident[] =
- "\n$Id: ncr.c,v 1.16 1995/02/02 13:12:15 davidg Exp $\n";
+ "\n$Id: ncr.c,v 1.17 1995/02/02 15:50:57 se Exp $\n";
u_long ncr_version = NCR_VERSION
+ (u_long) sizeof (struct ncb)
@@ -1689,6 +1689,11 @@ static struct script script0 = {
0,
SCR_INT ^ IFTRUE (DATA (HS_NEGOTIATE)),
SIR_NEGO_FAILED,
+ /*
+ ** remove bogus output signals
+ */
+ SCR_REG_REG (socl, SCR_AND, CACK|CATN),
+ 0,
SCR_RETURN ^ IFTRUE (WHEN (SCR_DATA_OUT)),
0,
SCR_RETURN ^ IFTRUE (IF (SCR_DATA_IN)),
@@ -3234,6 +3239,19 @@ static void ncr_attach (pcici_t config_id, int unit)
np->unit = unit;
/*
+ ** Enables:
+ ** response to memory addresses.
+ ** devices bus master ability.
+ **
+ ** DISABLEs:
+ ** response to io addresses.
+ ** usage of "Write and invalidate" cycles.
+ */
+
+ (void) pci_conf_write (config_id, PCI_COMMAND_STATUS_REG,
+ PCI_COMMAND_MEM_ENABLE|PCI_COMMAND_MASTER_ENABLE);
+
+ /*
** Try to map the controller chip to
** virtual and physical memory.
*/
OpenPOWER on IntegriCloud