summaryrefslogtreecommitdiffstats
path: root/share/man/man4/ahc.4
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1997-02-18 20:27:26 +0000
committergibbs <gibbs@FreeBSD.org>1997-02-18 20:27:26 +0000
commita7fe8a4f0755bc16cc827cc40c168fbaf65f9dee (patch)
tree3c542551ec943c6d448a7a2abc2bcbea5ad903eb /share/man/man4/ahc.4
parent3b26ab7d89c40b0a0e78475a3c61277687213896 (diff)
downloadFreeBSD-src-a7fe8a4f0755bc16cc827cc40c168fbaf65f9dee.zip
FreeBSD-src-a7fe8a4f0755bc16cc827cc40c168fbaf65f9dee.tar.gz
Update to match reality. Give more indepth description of SCB paging
and tagged queueing. Mention the AHC_ALLOW_MEMIO option.
Diffstat (limited to 'share/man/man4/ahc.4')
-rw-r--r--share/man/man4/ahc.472
1 files changed, 57 insertions, 15 deletions
diff --git a/share/man/man4/ahc.4 b/share/man/man4/ahc.4
index d47af42..7b3b877 100644
--- a/share/man/man4/ahc.4
+++ b/share/man/man4/ahc.4
@@ -1,5 +1,5 @@
.\"
-.\" Copyright (c) 1995, 1996
+.\" Copyright (c) 1995, 1996, 1997
.\" Justin T. Gibbs. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -40,18 +40,21 @@ For one or more PCI cards:
.Cd controller pci0
.Cd controller ahc0
.Pp
+To enable SCB paging:
+.Cd options AHC_SCBPAGING_ENABLE
+.Pp
To enable tagged queueing:
.Cd options AHC_TAGENABLE
.Pp
-To enable SCB paging:
-.Cd options AHC_SCBPAGING_ENABLE
+To allow PCI adapters to use memory mapped I/O if enabled:
+.Cd options AHC_ALLOW_MEMIO
.Pp
For one or more SCSI busses:
.Cd controller scbus0 at ahc0
.Sh DESCRIPTION
This driver provides access to the
.Tn SCSI
-bus connected to an Adaptec
+bus(es) connected to Adaptec
274x, 284x, 2940, 3940, or controllers based on the
.Tn AIC7770,
.Tn AIC7850,
@@ -65,23 +68,65 @@ ultra
.Tn SCSI,
two active commands at a time per non-tagged queueing target,
tagged queuing,
-and SCB paging which allows up to 255 active commands on all adapters
-except those using
-.Tn AIC7770
-chips prior to revision E.
+and SCB paging.
+.Pp
+The number of concurrent transactions allowed is chip dependent
+and ranges from 3 to 16.
+On PCI adapters,
+this number can be increased with the SCB paging option.
+SCB paging implements an algorithm to 'page-out' transactions
+that are in the disconnected state so that the freed space in
+the controller's memory can be used to start additional transactions.
+On the aic7880 and aic7870,
+this increases the maximum number of outstanding transactions from 16 to 255.
+On the aic7850 and aic7860 controllers, this maximum rises from 3 to 8.
+During the hardware probe,
+a diagnostic showing the ratio of hardware supported 'slots' to number
+of transactions is printed.
+SCB paging is enabled with the
+.Dq Dv AHC_SCBPAGING_ENABLE
+configuration option.
+This option will likely be removed and become the default behavior for
+adapters that support it,
+in the near future.
+.Pp
Tagged queueing is enabled with the
.Dq Dv AHC_TAGENABLE
configuration option.
-SCB paging is enabled with the
-.Dq Dv AHC_SCBPAGING_ENABLE
+Tagged queueing allows multiple transactions to be queued at the device
+level instead of the host level,
+allowing the device to re-order I/O to minimize seeks,
+seek distance,
+and to increase throughput.
+Tagged queueing can have a significant impact on performance for seek
+bound applications and should be enabled for most configurations.
+Unfortunantly, some devices that claim to support tagged queueing fail
+miserable when it is used.
+The only reason tagged queueing remains as a controller option is as a
+stop gap measure until a mechanism to detect these broken devices and to
+control this feature on a per device basis is in place.
+.Pp
+Memory mapped I/O can be enabled with the
+.Dq Dv AHC_ALLOW_MEMIO
configuration option.
+Memory mapped I/O is more efficient than the alternative, programmed I/O.
+Most PCI BIOSes will map devices so that either technique for communicating
+with the card is availible.
+In some cases,
+usually when the PCI device is sitting behind a PCI->PCI bridge,
+the BIOS fails to properly initialize the chip for memory mapped I/O.
+The symptom of this problem is usually a system hang if memory mapped I/O
+is attempted.
+Most modern motherboards perform the initialization correctly and work fine
+with this option enabled.
.Pp
Per target configuration performed in the
.Tn SCSI-Select
menu, accesible at boot
in
.No non- Ns Tn EISA
-models or through an
+models,
+or through an
.Tn EISA
configuration utility for
.Tn EISA
@@ -109,15 +154,12 @@ cards.
Some Quantum drives (at least the Empire 2100 and 1080s) will not run on an
.Tn AIC7870
Rev B in synchronous mode at 10MHz. Controllers with this problem have a
-42 MHz clock crystal on them and run slightly above 10MHz, causing the
+42 MHz clock crystal on them and run slightly above 10MHz. This causes the
drive much confusion. Setting a maximum synchronous negotiation rate of 8MHz
in the
.Tn SCSI-Select
utility
will allow normal function.
-.Pp
-The code to perform SCB paging doesn't work properly, don't use this option
-at this time.
.Sh SEE ALSO
.Xr aha 4 ,
.Xr ahb 4 ,
OpenPOWER on IntegriCloud