freebsd-nq/sys/dev/isci
Jim Harris dfbc6dc2fa Don't call bus_dmamap_load in CAM_DIR_NONE case, since there is nothing
to map, and technically this isn't allowed.

Functionally, it works OK (at least on x86) to call bus_dmamap_load with
a NULL data pointer and zero length, so this is primarily for correctness
and consistency with other drivers.

While here, remove check in isci_io_request_construct for nseg==0.
Previously, bus_dmamap_load would pass nseg==1, even for case where
buffer is NULL and length = 0, which allowed CAM_DIR_NONE CCBs
to get processed.  This check is not correct though, and needed to be
removed both for the changes elsewhere in this patch, as well as jeff's
preliminary bus_dmamap_load_ccb patch (which uncovered all of this in
the first place).

MFC after:	3 days
2012-12-05 20:21:33 +00:00
..
scil
environment.h
isci_controller.c
isci_domain.c
isci_interrupt.c
isci_io_request.c
isci_logger.c
isci_oem_parameters.c
isci_remote_device.c
isci_sysctl.c
isci_task_request.c
isci_timer.c
isci.c
isci.h
README
sci_environment.h
types.h

FreeBSD Driver for Intel(R) C600 SAS Controller
===============================================

This driver has been developed for use with FreeBSD, version 9.0 and later.

This driver uses an OS-agnostic abstraction layer library named SCIL that is
published by Intel specifically for the C600 SAS controller.  The SAS
controller has no firmware, so the driver is extensive and using SCIL
minimizes the development and maintenance cost of the driver.

The FreeBSD implementation files are in the isci directory, and SCIL files
are in the isci/scil subdirectory.  As Intel publishes new versions of SCIL
(to add features or fix bugs), the isci/scil subdirectory will be updated
appropriately.