Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

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)

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026