'\" te .\" Copyright (c) 1997, Sun Microsystems, Inc. All Rights Reserved .TH tran_dmafree 9E "30 Aug 1995" "SunOS 5.11" "Driver Entry Points" .SH NAME tran_dmafree \- SCSI HBA DMA deallocation entry point .SH SYNOPSIS .LP .nf #include \fB void prefix\fR\fBtran_dmafree\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 ARGUMENTS .sp .ne 2 .mk .na \fB\fIap\fR\fR .ad .RS 8n .rt A pointer to a \fIscsi_address\fR structure. See \fBscsi_address\fR(9S). .RE .sp .ne 2 .mk .na \fB\fIpkt\fR \fR .ad .RS 8n .rt A pointer to a \fIscsi_pkt\fR structure. See \fBscsi_pkt\fR(9S). .RE .SH DESCRIPTION .sp .LP The \fBtran_dmafree()\fR vector in the \fIscsi_hba_tran\fR structure must be initialized during the \fBHBA \fRdriver's \fBattach()\fR to point to an \fBHBA \fRentry point to be called when a target driver calls \fBscsi_dmafree\fR(9F). See \fBattach\fR(9E) and \fBscsi_hba_tran\fR(9S). .sp .LP \fBtran_dmafree()\fR must deallocate any \fBDMA \fRresources previously allocated to this \fIpkt\fR in a call to \fBtran_init_pkt\fR(9E). \fBtran_dmafree()\fR should not free the structure pointed to by \fIpkt\fR itself. Since \fBtran_destroy_pkt\fR(9E) must also free \fBDMA \fRresources, it is important that the \fBHBA \fRdriver keeps accurate note of whether \fBscsi_pkt\fR(9S) structures have \fBDMA \fRresources allocated. .SH SEE ALSO .sp .LP \fBattach\fR(9E), \fBtran_destroy_pkt\fR(9E), \fBtran_init_pkt\fR(9E), \fBscsi_dmafree\fR(9F), \fBscsi_dmaget\fR(9F), \fBscsi_hba_attach\fR(9F), \fBscsi_init_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_dmafree()\fR on packets for which no \fBDMA \fRresources were allocated.