82
83 /*
84 * SCSA private: use is associated with implementation of
85 * SCSI_HBA_ADDR_COMPLEX scsi_device_hba_private_[gs]et(9F).
86 * The HBA driver can store a pointer to per-scsi_device(9S)
87 * HBA private data during its tran_tgt_init(9E) implementation
88 * by calling scsi_device_hba_private_set(9F), and free that
89 * pointer during tran_tgt_fini(9E). At tran_send(9E) time, the
90 * HBA driver can use scsi_address_device(9F) to obtain a pointer
91 * to the scsi_device(9S) structure, and then gain access to
92 * its per-scsi_device(9S) hba private data by calling
93 * scsi_device_hba_private_get(9F).
94 */
95 void *sd_hba_private;
96
97 /*
98 * If scsi_slave is used to probe out this device, a scsi_inquiry data
99 * structure will be allocated and an INQUIRY command will be run to
100 * fill it in.
101 *
102 * The allocation will be done via ddi_iopb_alloc, so any manual
103 * freeing may be done by ddi_iopb_free.
104 *
105 * The inquiry data is allocated/refreshed by scsi_probe/scsi_slave
106 * and freed by uninitchild (inquiry data is no longer freed by
107 * scsi_unprobe/scsi_unslave).
108 *
109 * NOTE: Additional device identity information may be available
110 * as properties of sd_dev.
111 */
112 struct scsi_inquiry *sd_inq;
113
114 /*
115 * Place to point to an extended request sense buffer.
116 * The target driver is responsible for managing this.
117 */
118 struct scsi_extended_sense *sd_sense;
119
120 /*
121 * Target driver 'private' information. Typically a pointer to target
122 * driver private ddi_soft_state(9F) information for the device. This
123 * information is typically established in target driver attach(9E),
124 * and freed in the target driver detach(9E).
|
82
83 /*
84 * SCSA private: use is associated with implementation of
85 * SCSI_HBA_ADDR_COMPLEX scsi_device_hba_private_[gs]et(9F).
86 * The HBA driver can store a pointer to per-scsi_device(9S)
87 * HBA private data during its tran_tgt_init(9E) implementation
88 * by calling scsi_device_hba_private_set(9F), and free that
89 * pointer during tran_tgt_fini(9E). At tran_send(9E) time, the
90 * HBA driver can use scsi_address_device(9F) to obtain a pointer
91 * to the scsi_device(9S) structure, and then gain access to
92 * its per-scsi_device(9S) hba private data by calling
93 * scsi_device_hba_private_get(9F).
94 */
95 void *sd_hba_private;
96
97 /*
98 * If scsi_slave is used to probe out this device, a scsi_inquiry data
99 * structure will be allocated and an INQUIRY command will be run to
100 * fill it in.
101 *
102 * The inquiry data is allocated/refreshed by scsi_probe/scsi_slave
103 * and freed by uninitchild (inquiry data is no longer freed by
104 * scsi_unprobe/scsi_unslave).
105 *
106 * NOTE: Additional device identity information may be available
107 * as properties of sd_dev.
108 */
109 struct scsi_inquiry *sd_inq;
110
111 /*
112 * Place to point to an extended request sense buffer.
113 * The target driver is responsible for managing this.
114 */
115 struct scsi_extended_sense *sd_sense;
116
117 /*
118 * Target driver 'private' information. Typically a pointer to target
119 * driver private ddi_soft_state(9F) information for the device. This
120 * information is typically established in target driver attach(9E),
121 * and freed in the target driver detach(9E).
|