SCSI Interface
SCSA is the DDI/DKI programming interface for the transmission of SCSI commands from
a target driver to a host adapter driver. By conforming to the SCSA,
the target driver can easily pass any combination of SCSI commands and sequences
to a target device. Knowledge of the hardware implementation of the host adapter
is not necessary. Conceptually, SCSA separates the building of a SCSI command from
the transporting of the command with data to the SCSI bus. SCSA manages
the connections between the target and HBA drivers through an HBA transportlayer, as shown
in the following figure.
Figure 18-1 SCSA Interface
The HBA transport layer is a software and hardware layer that is responsible for transporting
a SCSI command to a SCSI target device. The HBA driver provides resource
allocation, DMA management, and transport services in response to requests made by SCSI
target drivers through SCSA. The host adapter driver also manages the host adapter
hardware and the SCSI protocols necessary to perform the commands. When a command
has been completed, the HBA driver calls the target driver's SCSI pkt command completion
routine.
The following example illustrates this flow, with emphasis on the transfer of information
from target drivers to SCSA to HBA drivers. The figure also shows typical
transport entry points and function calls.
Figure 18-2 Transport Layer Flow