Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

tran_init_pkt(9E)

ddi_dma_sync(9F)

scsi_hba_attach(9F)

scsi_init_pkt(9F)

scsi_sync_pkt(9F)

scsi_hba_tran(9S)

scsi_pkt(9S)

tran_sync_pkt(9E)

NAME

tran_sync_pkt − SCSI HBA memory synchronization entry point

SYNOPSIS

#include <sys/scsi/scsi.h>

void prefixtran_sync_pkt(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_sync_pkt() vector in the scsi_hba_tran(9S) structure must be initialized during the HBA driver’s attach(9E) to point to an HBA driver entry point to be called when a target driver calls scsi_sync_pkt(9F). 

tran_sync_pkt() must synchronize a CPU’s or device’s view of the data associated with the pkt, typically by calling ddi_dma_sync(9F).  The operation may also involve HBA hardware-specific details, such as flushing I/O caches, or stalling until hardware buffers have been drained. 

SEE ALSO

tran_init_pkt(9E), ddi_dma_sync(9F), scsi_hba_attach(9F), scsi_init_pkt(9F), scsi_sync_pkt(9F), scsi_hba_tran(9S), scsi_pkt(9S)

Writing Device Drivers

NOTES

A target driver may call tran_sync_pkt() on packets for which no DMA resources were allocated. 

SunOS 5.4  —  Last change: 1 Nov 1993

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