TRAN_DMAFREE(9E) Driver Entry Points TRAN_DMAFREE(9E)
tran_dmafree - SCSI HBA DMA deallocation entry point
#include <sys/scsi/scsi.h>
void prefixtran_dmafree(struct scsi_address *ap, struct scsi_pkt *pkt);
illumos architecture specific (illumos DDI).
ap
A pointer to a scsi_address structure. See scsi_address(9S).
pkt
A pointer to a scsi_pkt structure. See scsi_pkt(9S).
The tran_dmafree() vector in the scsi_hba_tran structure must be
initialized during the HBA driver's attach() to point to an HBA entry
point to be called when a target driver calls scsi_dmafree(9F). See
attach(9E) and scsi_hba_tran(9S).
tran_dmafree() must deallocate any DMA resources previously allocated
to this pkt in a call to tran_init_pkt(9E). tran_dmafree() should
not free the structure pointed to by pkt itself. Since
tran_destroy_pkt(9E) 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.
attach(9E), tran_destroy_pkt(9E), tran_init_pkt(9E),
scsi_dmafree(9F), scsi_dmaget(9F), scsi_hba_attach(9F),
scsi_init_pkt(9F), scsi_address(9S), scsi_hba_tran(9S), scsi_pkt(9S)
Writing Device Drivers
A target driver may call tran_dmafree() on packets for which no DMA
resources were allocated.
August 30, 1995 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
illumos architecture specific (illumos DDI).
ARGUMENTS
ap
A pointer to a scsi_address structure. See scsi_address(9S).
pkt
A pointer to a scsi_pkt structure. See scsi_pkt(9S).
DESCRIPTION
The tran_dmafree() vector in the scsi_hba_tran structure must be
initialized during the HBA driver's attach() to point to an HBA entry
point to be called when a target driver calls scsi_dmafree(9F). See
attach(9E) and scsi_hba_tran(9S).
tran_dmafree() must deallocate any DMA resources previously allocated
to this pkt in a call to tran_init_pkt(9E). tran_dmafree() should
not free the structure pointed to by pkt itself. Since
tran_destroy_pkt(9E) 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_hba_attach(9F),
scsi_init_pkt(9F), scsi_address(9S), scsi_hba_tran(9S), scsi_pkt(9S)
Writing Device Drivers
NOTES
A target driver may call tran_dmafree() on packets for which no DMA
resources were allocated.
August 30, 1995 TRAN_DMAFREE(9E)