JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
man pages section 9: DDI and DKI Driver Entry Points
search filter icon
search icon

Document Information

Preface

Introduction

Driver Entry Points

aread(9E)

attach(9E)

awrite(9E)

chpoll(9E)

close(9E)

csx_event_handler(9E)

detach(9E)

devmap(9E)

devmap_access(9E)

devmap_contextmgt(9E)

devmap_dup(9E)

devmap_map(9E)

devmap_unmap(9E)

dump(9E)

_fini(9E)

getinfo(9E)

gld(9E)

gldm_get_stats(9E)

gldm_intr(9E)

gldm_ioctl(9E)

gldm_reset(9E)

gldm_send(9E)

gldm_set_mac_addr(9E)

gldm_set_multicast(9E)

gldm_set_promiscuous(9E)

gldm_start(9E)

gldm_stop(9E)

identify(9E)

_info(9E)

_init(9E)

ioctl(9E)

ks_snapshot(9E)

ks_update(9E)

mac(9E)

mc_getcapab(9E)

mc_getprop(9E)

mc_getstat(9E)

mc_ioctl(9E)

mc_multicst(9E)

mc_propinfo(9E)

mc_setpromisc(9E)

mc_setprop(9E)

mc_start(9E)

mc_stop(9E)

mc_tx(9E)

mc_unicst(9E)

mmap(9E)

open(9E)

power(9E)

print(9E)

probe(9E)

prop_op(9E)

put(9E)

read(9E)

segmap(9E)

srv(9E)

strategy(9E)

tran_abort(9E)

tran_bus_reset(9E)

tran_destroy_pkt(9E)

tran_dmafree(9E)

tran_getcap(9E)

tran_init_pkt(9E)

tran_quiesce(9E)

tran_reset(9E)

tran_reset_notify(9E)

tran_setcap(9E)

tran_start(9E)

tran_sync_pkt(9E)

tran_tgt_free(9E)

tran_tgt_init(9E)

tran_tgt_probe(9E)

tran_unquiesce(9E)

write(9E)

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 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.