History log of /freebsd/sys/dev/aac/aac_cam.c (Results 101 – 117 of 117)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...


12345