]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add the XPT_PATH_STATS and XPT_GDEV_STATS function codes. These ccb
authorgibbs <gibbs@FreeBSD.org>
Sat, 22 May 1999 21:58:47 +0000 (21:58 +0000)
committergibbs <gibbs@FreeBSD.org>
Sat, 22 May 1999 21:58:47 +0000 (21:58 +0000)
commit95dc85b099eb4f732b322f090ce0abad1280fbfd
tree84ee71641db91cb247029bd5aa2d5bffd89b16dd
parente4dc7e4c0e6535e2f3849d8c0335cbd9e6f86379
Add the XPT_PATH_STATS and XPT_GDEV_STATS function codes.  These ccb
types allow the reporting of error counts and other statistics.  Currently
we provide information on the last BDR or bus reset as well as active
transaction inforamtion, but this will be expanded as more information is
added to aid in error recovery.

Use the 'last reset' information to better handle bus settle delays.
Peripheral drivers now control whether a bus settle delay occurs and
for how long.  This allows target mode peripheral drivers to avoid
having their device queue frozen by the XPT for what shoudl only be
initiator type behavior.

Don't perform a bus reset if the target device is incapable of performing
transfer negotiation (e.g. Fiber Channel).

If we don't perform a bus reset but the controller is capable of transfer
negotiations, force negotiations on the first transaction to go to the
device.  This ensures that we aren't tripped up by a left over negotiation
from the prom, BIOS, loader, etc.

Add a default async handler funstion to cam_periph.c to remove duplicated
code in all initiator type peripheral drivers.

Allow mapping of XPT_CONT_TARGET_IO ccbs from userland.  They are
itentical to XPT_SCSI_IO ccbs as far as data mapping is concerned.
sys/cam/cam_ccb.h
sys/cam/cam_periph.c
sys/cam/cam_periph.h
sys/cam/cam_xpt.c