TRAN_SYNC_PKT(9E) Driver Entry Points TRAN_SYNC_PKT(9E)

tran_sync_pkt - SCSI HBA memory synchronization entry point

#include <sys/scsi/scsi.h>
void prefixtran_sync_pkt(struct scsi_address *ap,
     struct scsi_pkt *pkt);

illumos architecture specific (illumos DDI).

A pointer to a scsi_address(9S) structure.


A pointer to a scsi_pkt(9S) structure.

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

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

Writing Device Drivers

A target driver may call tran_sync_pkt() on packets for which no DMA resources were allocated.
November 1, 1993 OmniOS