TRAN_DMAFREE(9E) Driver Entry Points 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 DriversNOTES
A target driver may call
tran_dmafree() on packets for which no
DMA resources were allocated.
August 30, 1995 TRAN_DMAFREE(9E)