Go to main content

man pages section 9: DDI and DKI Driver Entry Points

Exit Print View

Updated: Friday, August 13, 2021



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);

Interface Level

Solaris architecture specific (Solaris 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.

See Also

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 in Oracle Solaris 11.4


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