freebsd-nq/sys/dev/mps
Kenneth D. Merry b01773b0f1 CAM and mps(4) driver scanning changes.
Add a PIM_NOSCAN flag to the CAM path inquiry CCB.  This tells CAM
not to perform a rescan on a bus when it is registered.

We now use this flag in the mps(4) driver.  Since it knows what
devices it has attached, it is more efficient for it to just issue
a target rescan on the targets that are attached.

Also, remove the private rescan thread from the mps(4) driver in
favor of the rescan thread already built into CAM.  Without this
change, but with the change above, the MPS scanner could run before
or during CAM's initial setup, which would cause duplicate device
reprobes and announcements.

sys/param.h:
	Bump __FreeBSD_version to 1000039 for the inclusion of the
	PIM_RESCAN CAM path inquiry flag.

sys/cam/cam_ccb.h:
sys/cam/cam_xpt.c:
	Added a PIM_NOSCAN flag.  If a SIM sets this in the path
	inquiry ccb, then CAM won't rescan the bus in
	xpt_bus_regsister.

sys/dev/mps/mps_sas.c
	For versions of FreeBSD that have the PIM_NOSCAN path
	inquiry flag, don't freeze the sim queue during scanning,
	because CAM won't be scanning this bus.  Instead, hold
	up the boot.  Don't call mpssas_rescan_target in
	mpssas_startup_decrement; it's redundant and I don't
	know why it was in there.

	Set PIM_NOSCAN in path inquiry CCBs.

	Remove methods related to the internal rescan daemon.

	Always use async events to trigger a probe for EEDP support.
	In older versions of FreeBSD where AC_ADVINFO_CHANGED is
	not available, use AC_FOUND_DEVICE and issue the
	necessary READ CAPACITY manually.

	Provide a path to xpt_register_async() so that we only
	receive events for our own SCSI domain.

	Improve error reporting in cases where setup for EEDP
	detection fails.

sys/dev/mps/mps_sas.h:
	Remove softc flags and data related to the scanner thread.

sys/dev/mps/mps_sas_lsi.c:
	Unconditionally rescan the target whenever a device is added.

Sponsored by:	Spectra Logic
MFC after:	1 week
2013-07-22 18:37:07 +00:00
..
mpi Bring in LSI's latest mps(4) 6Gb SAS and WarpDrive driver, version 2012-06-28 03:48:54 +00:00
mps_config.c Bring in LSI's latest mps(4) 6Gb SAS and WarpDrive driver, version 2012-06-28 03:48:54 +00:00
mps_ioctl.h Bring in LSI's latest mps(4) 6Gb SAS and WarpDrive driver, version 2012-06-28 03:48:54 +00:00
mps_mapping.c Overhaul error, information, and debug logging. 2013-07-19 00:12:41 +00:00
mps_mapping.h Bring in LSI's latest mps(4) 6Gb SAS and WarpDrive driver, version 2012-06-28 03:48:54 +00:00
mps_pci.c Overhaul error, information, and debug logging. 2013-07-19 00:12:41 +00:00
mps_sas_lsi.c CAM and mps(4) driver scanning changes. 2013-07-22 18:37:07 +00:00
mps_sas.c CAM and mps(4) driver scanning changes. 2013-07-22 18:37:07 +00:00
mps_sas.h CAM and mps(4) driver scanning changes. 2013-07-22 18:37:07 +00:00
mps_table.c Overhaul error, information, and debug logging. 2013-07-19 00:12:41 +00:00
mps_table.h
mps_user.c Overhaul error, information, and debug logging. 2013-07-19 00:12:41 +00:00
mps.c Overhaul error, information, and debug logging. 2013-07-19 00:12:41 +00:00
mpsvar.h Overhaul error, information, and debug logging. 2013-07-19 00:12:41 +00:00