Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/bhavar.h
RevisionDateAuthorComments
 1.25  27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.24  28-Apr-2008  martin branches: 1.24.34; 1.24.44;
Remove clause 3 and 4 from TNF licenses
 1.23  11-Dec-2005  christos branches: 1.23.70; 1.23.72; 1.23.74;
merge ktrace-lwp.
 1.22  24-Aug-2004  thorpej Use ANSI function decls and more use of static.
 1.21  03-May-2001  ross branches: 1.21.22;
Split pci and eisa/isa attachment calls, plus misc cleanup.
 1.20  25-Apr-2001  bouyer Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
(no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
 1.19  03-Oct-2000  simonb branches: 1.19.2;
Revert rev 1.31 of bha.c (and associtated changes in the headers and
config glue files).

Fixes PR kern/9841. Tested by Tracy J. Di Marco White with a bt948
and 6 disks.
 1.18  19-Apr-2000  enami branches: 1.18.4;
Calculate an offset of mailbox_in correctly by renaming BHA_MBO_OFFSET
to BHA_MBX_OFFSET and using it also for mailbox_in. Since all mailboxes
should be placed in a single continuous memory due to a hardware limitation,
an offset of any mailbox can be/should be calculated using a same expression.
 1.17  27-Mar-2000  kleink Cosmetical nit in previous.
 1.16  26-Mar-2000  kleink Merge parts of chs-ubc2 into the trunk:
* Remove the casts to vaddr_t from the round_page() and trunc_page() macros to
make them type-generic, which is necessary i.e. to operate on file offsets
without truncating them.
* In due course, cast pointer arguments to these macros to an appropriate
integral type (paddr_t, vaddr_t).

Originally done by Chuck Silvers, updated by myself.
 1.15  01-Oct-1999  thorpej branches: 1.15.2;
Fix compilation of ISA bha front-end. PR #8528, Takahiro Kambe.
 1.14  30-Sep-1999  thorpej Rework the Buslogic SCSI driver in preparation for some pending improvements
to the SCSIPI subsystem.
- Determine more characteristics about the board, including the number
of concurrent commands that the processor can execute at a time.
- Rework memory allocation strategy so that we can do dynamic pre-allocation
of resources according to workload.

Thanks to the Linux Buslogic driver for having some useful comments.
 1.13  09-Dec-1998  thorpej Update for changed scsipi_xfer struct.
 1.12  19-Nov-1998  thorpej Adapt to the new scsipi_adapter interface.
 1.11  15-Aug-1998  mycroft Assign my copyrights to TNF.
 1.10  06-Feb-1998  thorpej - Perform all necessary bus_dmamap_sync() operations.
- Greatly simplify allocation and DMA mapping of the mailbox and ccbs.
- Be more robust against resource shortage errors, and report errors better.
 1.9  04-Nov-1997  thorpej Implement a simple queueing mechanism that makes these drivers much
more robust in resource shortage situations, basically identical to
code I added to the "ahc" driver some time ago.

Thanks to Brad Spencer for the testing help.
 1.8  27-Aug-1997  bouyer branches: 1.8.4;
Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
 1.7  06-Jun-1997  thorpej branches: 1.7.2; 1.7.4;
Pull thorpej-bus-dma branch into mainline.
 1.6  28-Mar-1997  mycroft branches: 1.6.2;
Use a temporary data structure for holding probe information, rather than a
full softc.
 1.5  20-Dec-1996  thorpej Deal with targets > 7 on wide Buslogic controllers. Remember the "wide"
bit from the extended setup inquiry and key off it to:
- Force synchronous negotiation on targs > 7.
- Read additional information returned by wide cards on inquire setup.
- Read sync period on targs > 7.
- Display sync period/offset on targs > 7.
- Set scsi_link.max_target to 15.
cvs: ----------------------------------------------------------------------
 1.4  05-Nov-1996  jonathan * Add command struct and modifier definitions for controlling the
ISA-compatible port space of PCI buslogic cards.

* Add call to bha_pci.c to disable the ISA-compatible ports of a PCI
device. The ISA-compatible ports are enabled by default, which
causes the card to be autoconfigured a second time as an ISA device,
which appears to deadlock the card.

* Change bha_cmd() to return the number of bytes it actually received
in response to a command, or -1 on error.

* Use heuristics (checking for bha-only registers, and checking the size
of the response to BHA_INQURE_EXTENDED) to bha_find, to make sure the
bha driver never matches an aha (Adaptec 1542 or compatible) device.

A single kernel should now boot on either Adaptec or BusLogic controllers,
provided we always probe for BusLogic devices before Adaptec devices,
but this has not yet been verified.
 1.3  21-Oct-1996  thorpej New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
devices. It's all "bus space" now, and space tags
differentiate the space with finer grain than the
bus chipset tag.
- Add memory barrier methods.
- Implement space alloc/free methods.
- Implement region read/write methods (like memcpy to/from
bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
 1.2  01-Sep-1996  mycroft Minor changes.
 1.1  31-Aug-1996  mycroft Split the BusLogic driver apart, and rename it to `bha (like BSDi).
 1.6.2.1  13-May-1997  thorpej Convert to use bus dma.
 1.7.4.1  27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.7.2.1  01-Jul-1997  bouyer Updates for new scsipi subsystem. Actally known to work on i386 and sparc.
 1.8.4.1  04-Nov-1997  thorpej Pull up from trunk: add a queueing mechanism to make this much more
robust in resource shortage conditions.
 1.15.2.3  27-Mar-2001  bouyer Convert these drivers to thorpej_scsipi (untested).
 1.15.2.2  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.15.2.1  19-Oct-1999  thorpej Adapt to scsipi API changes, and add Tagged Queueing support.
 1.18.4.1  04-Oct-2000  simonb Pull up rev 1.19 (approved by thorpej):
Revert rev 1.31 of bha.c (and associtated changes in the headers and
config glue files).

Fixes PR kern/9841. Tested by Tracy J. Di Marco White with a bt948
and 6 disks.
 1.19.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.21.22.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.21.22.2  18-Sep-2004  skrll Sync with HEAD.
 1.21.22.1  25-Aug-2004  skrll Sync with HEAD.
 1.23.74.1  16-May-2008  yamt sync with head.
 1.23.72.1  18-May-2008  yamt sync with head.
 1.23.70.1  02-Jun-2008  mjf Sync with HEAD.
 1.24.44.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.24.34.1  30-Oct-2012  yamt sync with head

RSS XML Feed