Kernel Functions for Drivers scsi_sync_pkt(9F)
NAME
scsi_sync_pkt - synchronize CPU and I/O views of memory
SYNOPSIS
#include
void scsi_sync_pkt(struct scsi_pkt *pktp);
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI).PARAMETERS
pktp Pointer to a scsi_pkt(9S) structure.
DESCRIPTION
The scsi_sync_pkt() function is used to selectively syn-
chronize a CPU's or device's view of the data associatedwith the SCSI packet that has been mapped for I/O. This may
involve operations such as flushes of CPU or I/O caches, as well as other more complex operations such as stalling until hardware write buffers have drained.
This function need only be called under certain cir-
cumstances. When a SCSI packet is mapped for I/O using
scsi_init_pkt(9F) and destroyed using scsi_destroy_pkt(9F),
then an implicit scsi_sync_pkt() will be performed. However,
if the memory object has been modified by either the deviceor a CPU after the mapping by scsi_init_pkt(9F), then a call
to scsi_sync_pkt() is required.
If the same scsi_pkt is reused for a data transfer from
memory to a device, then scsi_sync_pkt() must be called
before calling scsi_transport(9F). If the same packet is
reused for a data transfer from a device to memoryscsi_sync_pkt() must be called after the completion of the
packet but before accessing the data in memory.CONTEXT
The scsi_sync_pkt() function may be called from user, inter-
rupt, or kernel context.SEE ALSO
tran_sync_pkt(9E), ddi_dma_sync(9F), scsi_destroy_pkt(9F),
scsi_init_pkt(9F), scsi_transport(9F), scsi_pkt(9S)
SunOS 5.11 Last change: 16 Jan 2006 1
Kernel Functions for Drivers scsi_sync_pkt(9F)
Writing Device DriversSunOS 5.11 Last change: 16 Jan 2006 2