History log of /freebsd-10.2-release/sys/dev/aac/aac_debug.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 285830 23-Jul-2015 gjb

- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
builds.
- Update newvers.sh to reflect RC1.
- Update __FreeBSD_version to reflect 10.2.
- Update default pkg(8) configuration to use the quarterly branch.[1]

Discussed with: re, portmgr [1]
Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 242823 09-Nov-2012 rdivacky

Give panic format string to pacify clang warning.


# 206534 13-Apr-2010 emaste

Whitespace cleanup, in advance of next sync with Adaptec's driver. No
functional change.


# 188896 21-Feb-2009 attilio

Sync with the official Adaptec vendor driver:

[1] Add the support for the NARK controller which seems a variant of
the i960Rx.
[2] Split up memory regions and other resources in 2 different parts
as long as NARK uses them separately (it is not clear to me
why though as long as there are no more informations available
on this controller). Please note that in all the other cases,
the regions overlaps leaving the default behaviour for all the
other controllers.
[3] Implement a clock daemon responsible for maintain updated the
wall clock time of the controller (run any 30 minutes)*.

Submitted by: Adaptec (driver build 15317 [1, 2] and 15727 [3])
Reviewed by: emaste
Tested by: emaste
Sponsored by: Sandvine Incorporated

* Please note that originally, in the Adaptec driver, the clock daemon
is not implemented with callouts as in our in-tree driver.


# 177567 24-Mar-2008 emaste

Diff reduction to Adaptec's driver (around build 15317): catch up with a
change in debugging routines.

The fwprintf macro in the AAC_DEBUG case (mapping to printf) isn't from the
Adaptec driver.


# 173883 24-Nov-2007 rwatson

Respell 'Conatainer' as 'Container'.

MFC after: 3 days
Reported by: Toomas Aas <toomas dot aas at raad dot tartu dot ee>


# 151108 08-Oct-2005 scottl

aac_intr0 rotted long ago, remove it.


# 148852 08-Aug-2005 scottl

Retire the FreeBSD 4.x compat code and __FreeBSD_version checks from the aac
driver.


# 138635 09-Dec-2004 scottl

Complete the repo-copy of aac_ioctl.h from sys/dev/aac/to sys/sys.


# 130419 13-Jun-2004 obrien

Cast printf'ed values to intmax_t.


# 125576 07-Feb-2004 scottl

Remove the use of AACQ_COMPLETE here since there is no longer a completion
queue.


# 125511 06-Feb-2004 peter

Make LINT compile on amd64


# 119418 24-Aug-2003 obrien

Use __FBSDID().
Also some minor style cleanups.


# 112946 01-Apr-2003 phk

Use bioq_flush() to drain a bio queue with a specific error code.
Retain the mistake of not updating the devstat API for now.

Spell bioq_disksort() consistently with the remaining bioq_*().

#include <geom/geom_disk.h> where this is more appropriate.


# 112939 01-Apr-2003 phk

Include <sys/conf.h> rather than trusting <sys/disk.h> to do so.


# 111979 08-Mar-2003 phk

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.


# 109088 11-Jan-2003 scottl

Major bugfixes for large memory and fast systems.

aac.c:
Re-arrange the interrupt handler to optimize the common case of
the adapter interrupting us because one or more commands are complete,
and do a read across the pci bus to ensure that all posted status
writes are flushed. This should close a race that could cause command
completion interrupts to be lost.
Follow the spec a bit closer when filling out command structures.
Enable the Fast Response feature to eliminate the need for the card
to DMA successfull command completions back into host memory.
Tell the controller how much physical memory we have. Without this
there was a chance that our DMA regions would collide with the
memory window used by the cache on the controller. The result would
be massive data corruption. This seemed to mainly affect systems with
>2GB of memory.
Fix a few whitespace problems.

aac_debug.c:
Add an extra diagnostic when printing out commands.

aac_disk.c:
Add extra sanity checks.

aacreg.h:
Prepare for making this 64-bit clean by reducing the use of enumeration
types in structures.

Many thanks to Justin Gibbs for helping track these down.


# 97215 24-May-2002 peter

Fix deprecated use of label at end of compound statement


# 97214 24-May-2002 peter

Constify a debug function arg that we pass __func__ to in order to pacify
gcc-3.1's 'const char *__func__;'


# 89112 09-Jan-2002 msmith

Staticise the aac devclass.


# 87183 02-Dec-2001 scottl

Add functionality and fix bugs so the driver will work with soon-to-be
released management apps.

1. Implement poll(). This will check for queued aif's so that a
subsequent ioctl call to retrieve the next aif will not block.
2. Don't catch signals when sleeping on a fib sent from userland. This
causes a race and panic due to the pthread context switcher waking
up the tsleep at inopportune times.
3. Fix some whitespace nits.

MFC after: 3 days


# 83114 05-Sep-2001 scottl

Bring the aac driver *much* closer to style(9).

Reviewed by: ken


# 82527 29-Aug-2001 scottl

Mega update to the aac driver.
1. Correctly handle commands initiated by the adapter. These commands
are defered to a kthread responsible for their processing, then are
properly returned to the controller.
2. Add/remove disk devices when notified by the card that a container was
created/deleted/offline.
3. Implement crashdump functionality.
4. Support all ioctls needed for the management CLI to work. The linux
version of this app can be found at the Dell or HP website. A native
version will be forthcoming.

MFC-after: 4.4-RELEASE


# 81151 05-Aug-2001 scottl

Bugfixes. Close a race and logic bug in the timeout handling, don't call the
interrupt handler from the upper half, etc. This fixes some serious stability
problems that we were seeing on our production server. These patches have
been tested for almost 6 months and are a highly recommended MFC candidate.

Reviewed by: gibbs, merry, msmith
MFC after: 4 days


# 81082 03-Aug-2001 scottl

Reformat for 80 columns. Sorry, but I had to do it.


# 74374 17-Mar-2001 gibbs

This is an MFC candidate.

Add the AAC_DEBUG option to enable debugging in the aac driver.

Correct a race condition in the interrupt handler where the
controller may queue a fib to a response queue after the driver
has serviced the queue but before the interrupt is cleared.
This could leave a completed fib stranded in the response queue
unless another I/O completed and generated another interrupt.

Reviewed by: msmith


# 70393 27-Dec-2000 msmith

Major bugfix and minor update. This should resolve the current issues
with the driver locking up under load.

- Restructure so that we use a static pool of commands/FIBs, rather than
allocating them in clusters. The cluster allocation just made things
more complicated, and allowed us to waste more memory in peak load
situations.
- Make queueing macros more like my other drivers. This adds queue stats
for free. Add some debugging to take advantage of this.
- Reimplement the periodic timeout scan. Kick the interrupt handler
and the start routine every scan as well, just to be safe. Track busy
commands properly.
- Bring resource cleanup into line with resource allocation. We should
now clean up correctly after a failed probe/unload/etc.
- Try to start new commands when old ones are completed. We weren't doing
this before, which could lead to deadlock when the controller was full.
- Don't try to build a new command if we have found a deferred command.
This could cause us to lose the deferred command.
- Use diskerr() to report I/O errors.
- Don't bail if the AdapterInfo structure is the wrong size. Some variation
seems to be normal. We need to improve our handing of 2.x firmware sets.
- Improve some comments in an attempt to try to make things clearer.
- Restructure to avoid some warnings.


# 65793 13-Sep-2000 msmith

A new driver for PCI:SCSI RAID controllers based on the Adaptec FSA
design. This includes integrated Dell RAID controllers, the Dell
PERC 2/QC and the HP NetRAID-4M.