tran_dmafree(9E)
NAME
tran_dmafree − SCSI HBA DMA deallocation entry point
SYNOPSIS
#include <sys/scsi/scsi.h>
void prefixtran_dmafree(struct scsi_address ∗ap, struct scsi_pkt ∗pkt);
INTERFACE LEVEL
Solaris architecture specific (Solaris DDI).
ARGUMENTS
ap A pointer to a scsi_address(9S) structure.
pkt A pointer to a scsi_pkt(9S) structure.
DESCRIPTION
The tran_dmafree() vector in the scsi_hba_tran(9S) structure must be initialized during the HBA driver’s attach(9E) to point to an HBA entry point to be called when a target driver calls scsi_dmafree(9F).
tran_dmafree() must deallocate any DMA resources previously allocated to this pkt in a call to tran_init_pkt(). tran_dmafree() should not free the structure pointed to by pkt itself. Since tran_destroy_pkt() must also free DMA resources, it is important that the HBA driver keeps accurate note of whether scsi_pkt(9S) structures have DMA resources allocated.
SEE ALSO
attach(9E), tran_destroy_pkt(9E), tran_init_pkt(9E), scsi_dmafree(9F), scsi_dmaget(9F), scsi_init_pkt(9F), scsi_hba_attach(9F), scsi_hba_tran(9S), scsi_address(9S), scsi_pkt(9S)
Writing Device Drivers
NOTES
A target driver may call tran_dmafree() on packets for which no DMA resources were allocated.
SunOS 5.5/SPARC — Last change: 30 Aug 1995