| Current File : //usr/share/man/man9e/tran_sync_pkt.9e |
'\" te
.\" Copyright (c) 1993, Sun Microsystems, Inc.
.TH tran_sync_pkt 9E "1 Nov 1993" "SunOS 5.11" "Driver Entry Points"
.SH NAME
tran_sync_pkt \- SCSI HBA memory synchronization entry point
.SH SYNOPSIS
.LP
.nf
#include <sys/scsi/scsi.h>
\fBvoid prefix\fR\fBtran_sync_pkt\fR(\fBstruct scsi_address *\fR\fIap\fR,
\fBstruct scsi_pkt *\fR\fIpkt\fR);
.fi
.SH INTERFACE LEVEL
.sp
.LP
Solaris architecture specific (Solaris DDI).
.SH PARAMETERS
.sp
.ne 2
.mk
.na
\fB\fIap\fR \fR
.ad
.RS 8n
.rt
A pointer to a \fBscsi_address\fR(9S) structure.
.RE
.sp
.ne 2
.mk
.na
\fB\fIpkt\fR \fR
.ad
.RS 8n
.rt
A pointer to a \fBscsi_pkt\fR(9S) structure.
.RE
.SH DESCRIPTION
.sp
.LP
The \fBtran_sync_pkt()\fR vector in the \fBscsi_hba_tran\fR(9S) structure must be initialized during the \fBHBA\fR driver's \fBattach\fR(9E) to point to an \fBHBA\fR driver entry point to be called when a target driver calls \fBscsi_sync_pkt\fR(9F).
.sp
.LP
\fBtran_sync_pkt()\fR must synchronize a \fBHBA\fR's or device's view of the data associated with the \fIpkt\fR, typically by calling \fBddi_dma_sync\fR(9F). The operation may also involve \fBHBA\fR hardware-specific details, such as flushing \fBI/O\fR caches, or stalling until hardware buffers have been drained.
.SH SEE ALSO
.sp
.LP
\fBattach\fR(9E), \fBtran_init_pkt\fR(9E), \fBddi_dma_sync\fR(9F), \fBscsi_hba_attach\fR(9F), \fBscsi_init_pkt\fR(9F), \fBscsi_sync_pkt\fR(9F), \fBscsi_address\fR(9S), \fBscsi_hba_tran\fR(9S), \fBscsi_pkt\fR(9S)
.sp
.LP
\fIWriting Device Drivers for Oracle Solaris 11.2\fR
.SH NOTES
.sp
.LP
A target driver may call \fBtran_sync_pkt()\fR on packets for which no \fBDMA\fR resources were allocated.