Data Structures For Drivers sata_hba_tran(9S) NAME SATA Host Bus Adapter (HBA) capabilities and transport vector structure. SYNOPSIS #include INTERFACE LEVEL Consolidation Private DESCRIPTION A sata_hba_tran_t structure defines SATA Host Adapter capabilities and vectors that a SATA HBA driver exports to SATA HBA Framework so that HBA specific functions may be executed. Structure Members int sata_hba_tran_rev; /* version */ dev_info_t *sata_tran_hba_dip; /* HBA's dev_info pointer */ ddi_dma_attr_t *sata_tran_hba_dma_attr; /* DMA attributes */ int sata_tran_hba_num_cports; /* Num. of SATA device ports */ uint32_t sata_tran_hba_features_support; /* HBA-supported features */ uint32_t sata_tran_hba_qdepth; /* HBA-supported queue depth */ int (*sata_tran_probe_port)(); /* Probe port */ int (*sata_tran_start)(); /* Start packet execution */ int (*sata_tran_abort)(); /* Abort packet execution */ int (*sata_tran_reset_dport)(); /* Reset port or device */ int (*sata_tran_selftest)(); /* Execute self test */ struct sata_tran_hotplug_ops *sata_tran_hotplug_ops; /* Hotplug vectors */ /* functions vector*/ struct sata_tran_pwrmgt_ops *sata_tran_pwrmgt_ops; /* Power Management */ /* functions vector */ int (*sata_tran_ioctl)(); /* HBA-specific IOCTL handler */ sata_hba_tran_rev Version of the sata_hba structure. sata_tran_hba_dip dev_info pointer to the HBA supplying the sata_hba_tran structure. sata_tran_hba_dma_attr Pointer to dma attributes for a data buffer. SATA HBA Framework may lower dma_attr_max_count value to a value corresponding to the maximum number of bytes that may be transferred by a single SATA data-transfer command. The dma_attr_max_count calculation takes into consideration of a device block size and a number of sectors that may be specified in a SATA data-transfer command. sata_tran_hba_num_cports Number of a HBA's SATA device ports. sata_tran_hba_features_support SATA HBA controller capabilities flags: SATA_CTL_F_ATAPI HBA supports ATAPI protocol SATA_CTLF_PORT_MULTIPLIER HBA supports Port Multipliers SATA_CTLF_HOTPLUG HBA supports device hotplugging SATA_CTLF_ASN HBA supports asynchronous event reporting SATA_CTLF_NCQ HBA supports Native Command Queuing in addition to legacy queuing. sata_tran_hba_qdepth Command queue depth supported by HBA. sata_tran_probe_port Pointer to the SATA HBA driver function that determines a status of the port and a type of the attached device (if any) and a number of available port multiplier data ports if a port multiplier is attached to a probed port. SATA HBA framework will call hba_probe_port() for each data port of an HBA and each data port of every attached port multiplier. This is a required function. sata_tran__start Pointer to the SATA HBA driver function that starts the execution of a single command on the attached SATA device specified by sata packet. This is a required function. sata_tran__abort Pointer to the SATA HBA driver function that aborts packet operation(s) started by a previously by sata_tran_start(). This is a required function. sata_tran_reset_dport Pointer to the SATA HBA driver function used by SATA HBA framework during error recovery to perform HBA-specific sequence of resetting the port or a device. This is a required function. sata_tran_self_test Pointer to the SATA HBA driver function used by SATA HBA framework during error recovery to perform HBA-specific self-test. This function is optional. If SATA HBA driver does not support self-test functionality, it may set this pointer to NULL. sata_tran_hotplug_ops Structure containing pointers to SATA HBA functions performing various hotplug-related SATA HBA operations. This functionality is optional. If the SATA HBA controller or the SATA HBA driver does not support hotplug functionality, it may set this pointer to NULL. sata_tran_pwrmgt_ops Structure containing pointers to SATA HBA driver functions performing power management operations. This functionality is optional. If SATA HBA driver does not support power management functionality, it may set this pointer to NULL. sata_tran_ioctl Pointer to the SATA HBA driver function performing HBA-specific IOCTL operations. This functionality is optional. If SATA HBA driver does not support HBA-specific IOCTLs, it may set this pointer to NULL. SEE ALSO sata_hba_init(9F), sata_hba_fini(9F), sata_hba_attach(9F), sata_hba_detach(9F), sata_hba_event_notify(9F), sata_tran_probe_port(9F), sata_tran_start(9F), sata_tran_abort(9F), sata_tran_reset_dport(9f), sata_tran_self_test(9F), sata_tran_hotplug_ops(9S), sata_tran_pwrmgt_ops(9S), sata_tran_ioctl(9F), sata_address(9S), sata_device(9S), sata_pkt(9S)