Revision tags: release/5.3.0_cvs, release/5.3.0 |
|
#
bb6fe253 |
| 12-Aug-2004 |
Scott Long <scottl@FreeBSD.org> |
Remove the AAC_LOCK macros. They no longer abstract anything and only obfuscate the code. No functional differences.
|
#
03b5fe51 |
| 02-Jun-2004 |
Scott Long <scottl@FreeBSD.org> |
Collapse sync fib locking into normal i/o locking. The former didn't protect the registers so it was trivially possible for a sync command and i/o command to fight each other and confuse the control
Collapse sync fib locking into normal i/o locking. The former didn't protect the registers so it was trivially possible for a sync command and i/o command to fight each other and confuse the controller. Make the sync fib alloc/release functions inline and remove the somewhat worthless AAC_SYNC_LOCK_FORCE flag. Thanks to Adil Katchi for helping me to track this down in RELENG_4.
show more ...
|
#
fe12f24b |
| 30-May-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add missing <sys/module.h> includes
|
Revision tags: release/4.10.0_cvs, release/4.10.0, release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0 |
|
#
c5a8036c |
| 03-Dec-2003 |
Scott Long <scottl@FreeBSD.org> |
Temporary workaround for aac_cam to deal with CAM requiring Giant. This should fix the panics on boot with newer Adaptec RAID cards.
Approved by: re (rwatson)
|
Revision tags: release/4.9.0_cvs, release/4.9.0 |
|
#
aad970f1 |
| 24-Aug-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
Use __FBSDID(). Also some minor style cleanups.
|
#
b88ffdc8 |
| 19-Aug-2003 |
Scott Long <scottl@FreeBSD.org> |
Make aac(4) compile cleanly on 64-bit machines. The code was already 64-bit safe, but some (unneeded and/or harmless) downcasts were generating warnings. The driver still is not endian-clean.
|
Revision tags: release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0 |
|
#
a6d35632 |
| 26-Mar-2003 |
Scott Long <scottl@FreeBSD.org> |
Begin support for 64-bit address support and workarounds for newer cards: - Add data structuress for doing 64-bit scatter/gather - Move busdma tag creations around so that only the parent is cre
Begin support for 64-bit address support and workarounds for newer cards: - Add data structuress for doing 64-bit scatter/gather - Move busdma tag creations around so that only the parent is created in aac_pci.c. - Retrieve the capabilities word from the firmware before setting up command structures and tags. This allows the driver to decide whether to do 64-bit commands, and if work-arounds are needed for systems with >2GB of RAM. - Only enable the SCSI passthrough if it's enabled in the capabilities word in the firmware.
This should fix problems with the 2120S and 2200S cards in systems with more than 2GB of RAM. Full 64-bit support is forthcoming.
MFC-After: 1 week
show more ...
|
#
60794e04 |
| 08-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Centralize the devstat handling for all GEOM disk device drivers in geom_disk.c.
As a side effect this makes a lot of #include <sys/devicestat.h> lines not needed and some biofinish() calls can be r
Centralize the devstat handling for all GEOM disk device drivers in geom_disk.c.
As a side effect this makes a lot of #include <sys/devicestat.h> lines not needed and some biofinish() calls can be reduced to biodone() again.
show more ...
|
#
9e2e96d8 |
| 01-Mar-2003 |
Scott Long <scottl@FreeBSD.org> |
The aac driver has evolved enough over the last few months that it no longer resembles the 4.x version very much. Garbage collect the legacy bits.
|
#
ae543596 |
| 26-Feb-2003 |
Scott Long <scottl@FreeBSD.org> |
Bring aac out from under Giant: - the mutex aac_io_lock protects the main codepaths which handle queues and hardware registers. Only one acquire/release is done in the top-half and the taskqueue
Bring aac out from under Giant: - the mutex aac_io_lock protects the main codepaths which handle queues and hardware registers. Only one acquire/release is done in the top-half and the taskqueue. This mutex also applies to the userland command path and CAM data path. - Move the taskqueue to the new Giant-free version. - Register the disk device with DISKFLAG_NOGIANT so the top-half processing runs without Giant. - Move the dynamic command allocator to the worker thread to avoid locking issues with bus_dmamem_alloc().
This gives about 20% improvement in most of my benchmarks.
show more ...
|
#
ddb8683e |
| 06-Feb-2003 |
Scott Long <scottl@FreeBSD.org> |
Teach the CAM module how to deregister itself so it can be unloaded.
|
#
70545d1a |
| 06-Feb-2003 |
Scott Long <scottl@FreeBSD.org> |
Various cleanups: - Move the command timeout check from a separate repeating timeout to the kthread since the kthread is already running periodically. - Move printing the hardware print buffer t
Various cleanups: - Move the command timeout check from a separate repeating timeout to the kthread since the kthread is already running periodically. - Move printing the hardware print buffer to the kthread. - Properly shut down the kernel thread on detach. - Detach the child array devices on detach. - Don't issue a controller halt command on detach. Doing so requires a PCI reset to wake the controller back up. The driver can now be unloaded as long as CAM support is not enabled.
show more ...
|
Revision tags: release/5.0.0_cvs, release/5.0.0 |
|
#
2ffaffaa |
| 14-Jan-2003 |
Scott Long <scottl@FreeBSD.org> |
Since reseting the SCSI busses via the passthrough interface usually confuses the controller, tell CAM not to do it. Also report the correct error condition to CAM when it tries to probe a target th
Since reseting the SCSI busses via the passthrough interface usually confuses the controller, tell CAM not to do it. Also report the correct error condition to CAM when it tries to probe a target that doesn't exists. This should make the CAM interface less risky to use.
MFC After: 3 days
show more ...
|
Revision tags: release/4.7.0_cvs, release/4.6.2_cvs, release/4.6.2 |
|
#
2f4bfb29 |
| 10-Aug-2002 |
Scott Long <scottl@FreeBSD.org> |
Fix GET_TRAN_SETTINGS to be more correct. Don't allow SCSI resets on the 5400S card, it seems to cause problems with certain backplanes.
Submitted by: lnb@freebsdsystems.com MFC after: 3 days
|
Revision tags: release/4.6.1, release/4.6.0_cvs |
|
#
39ee03c3 |
| 03-May-2002 |
Scott Long <scottl@FreeBSD.org> |
bzero out the sync command buffer when sending commands. This was causing problems when enumerating multiple arrays.
This is an MFC candidate.
|
#
1089f082 |
| 01-May-2002 |
Scott Long <scottl@FreeBSD.org> |
Fix a bug where the aacp device would only talk to bus 0 on the controller.
|
#
fe3cb0e1 |
| 27-Apr-2002 |
Scott Long <scottl@FreeBSD.org> |
Add a CAM interface to the aac driver. This is useful in case you should ever connect a SCSI Cdrom/Tape/Jukebox/Scanner/Printer/kitty-litter-scooper to your high-end RAID controller. The interface
Add a CAM interface to the aac driver. This is useful in case you should ever connect a SCSI Cdrom/Tape/Jukebox/Scanner/Printer/kitty-litter-scooper to your high-end RAID controller. The interface to the arrays is still via the block interface; this merely provides a way to circumvent the RAID functionality and access the SCSI buses directly. Note that for somewhat obvious reasons, hard drives are not exposed to the da driver through this interface, though you can still talk to them via the pass driver. Be the first on your block to low-level format unsuspecting drives that are part of an array!
To enable this, add the 'aacp' device to your kernel config.
MFC after: 3 days
show more ...
|