scsa2usb_state_t
static void scsa2usb_panic_callb_init(scsa2usb_state_t *);
static void scsa2usb_panic_callb_fini(scsa2usb_state_t *);
scsa2usb_state_t *scsa2usbp;
scsa2usbp = (scsa2usb_state_t *)tran->tran_hba_private;
scsa2usb_state_t *scsa2usbp;
scsa2usb_state_t *scsa2usbp = ddi_get_soft_state(scsa2usb_statep,
scsa2usb_state_t *scsa2usbp = ddi_get_soft_state(scsa2usb_statep,
static void scsa2usb_prepare_pkt(scsa2usb_state_t *, struct scsi_pkt *);
static int scsa2usb_cmd_transport(scsa2usb_state_t *, scsa2usb_cmd_t *);
static int scsa2usb_check_bulkonly_quirks(scsa2usb_state_t *,
scsa2usb_state_t *scsa2usbp = ddi_get_soft_state(scsa2usb_statep,
static int scsa2usb_check_ufi_quirks(scsa2usb_state_t *,
scsa2usb_state_t *scsa2usbp = ddi_get_soft_state(scsa2usb_statep,
static int scsa2usb_handle_scsi_cmd_sub_class(scsa2usb_state_t *,
static int scsa2usb_handle_ufi_subclass_cmd(scsa2usb_state_t *,
scsa2usb_cleanup(dev_info_t *dip, scsa2usb_state_t *scsa2usbp)
static void scsa2usb_transport_request(scsa2usb_state_t *, uint_t);
static void scsa2usb_flush_waitQ(scsa2usb_state_t *, uint_t, uchar_t);
static int scsa2usb_all_waitQs_empty(scsa2usb_state_t *);
static int scsa2usb_create_arq_pkt(scsa2usb_state_t *,
static void scsa2usb_delete_arq_pkt(scsa2usb_state_t *);
static void scsa2usb_complete_arq_pkt(scsa2usb_state_t *, struct scsi_pkt *,
scsa2usb_override(scsa2usb_state_t *scsa2usbp)
static int scsa2usb_open_usb_pipes(scsa2usb_state_t *);
void scsa2usb_close_usb_pipes(scsa2usb_state_t *);
scsa2usb_state_t *scsa2usbp)
int scsa2usb_rw_transport(scsa2usb_state_t *, struct scsi_pkt *);
void scsa2usb_setup_next_xfer(scsa2usb_state_t *, scsa2usb_cmd_t *);
static mblk_t *scsa2usb_bp_to_mblk(scsa2usb_state_t *);
int scsa2usb_handle_data_start(scsa2usb_state_t *,
void scsa2usb_handle_data_done(scsa2usb_state_t *,
usb_bulk_req_t *scsa2usb_init_bulk_req(scsa2usb_state_t *,
scsa2usb_override_error(char *input_field, scsa2usb_state_t *scsa2usbp)
scsa2usb_detect_quirks(scsa2usb_state_t *scsa2usbp)
int scsa2usb_clear_ept_stall(scsa2usb_state_t *, uint_t,
static void scsa2usb_pkt_completion(scsa2usb_state_t *, struct scsi_pkt *);
scsa2usb_create_luns(scsa2usb_state_t *scsa2usbp)
static void scsa2usb_restore_device_state(dev_info_t *, scsa2usb_state_t *);
static void scsa2usb_create_pm_components(dev_info_t *, scsa2usb_state_t *);
static void scsa2usb_raise_power(scsa2usb_state_t *);
static int scsa2usb_pwrlvl0(scsa2usb_state_t *);
static int scsa2usb_pwrlvl1(scsa2usb_state_t *);
static int scsa2usb_pwrlvl2(scsa2usb_state_t *);
static int scsa2usb_pwrlvl3(scsa2usb_state_t *);
static void scsa2usb_pm_busy_component(scsa2usb_state_t *);
static void scsa2usb_pm_idle_component(scsa2usb_state_t *);
extern int scsa2usb_bulk_only_transport(scsa2usb_state_t *,
extern int scsa2usb_bulk_only_get_max_lun(scsa2usb_state_t *);
scsa2usb_panic_callb_init(scsa2usb_state_t *scsa2usbp)
extern int scsa2usb_cbi_transport(scsa2usb_state_t *, scsa2usb_cmd_t *);
extern void scsa2usb_cbi_stop_intr_polling(scsa2usb_state_t *);
scsa2usb_panic_callb_fini(scsa2usb_state_t *scsa2usbp)
scsa2usb_state_t *scsa2usbp;
scsa2usbp = (scsa2usb_state_t *)cpr_infop->statep;
scsa2usb_state_t *scsa2usbp;
scsa2usb_state_t *scsa2usbp =
scsa2usb_restore_device_state(dev_info_t *dip, scsa2usb_state_t *scsa2usbp)
scsa2usb_state_t *scsa2usbp;
scsa2usbp = (scsa2usb_state_t *)tran->tran_hba_private;
scsa2usb_state_t *scsa2usbp = (scsa2usb_state_t *)
scsa2usb_state_t *scsa2usbp = (scsa2usb_state_t *)
scsa2usb_state_t *scsa2usbp =
scsa2usb_state_t *scsa2usbp =
scsa2usb_state_t *scsa2usbp;
scsa2usbp = (scsa2usb_state_t *)ADDR2SCSA2USB(ap);
scsa2usb_state_t *scsa2usbp = ADDR2SCSA2USB(ap);
scsa2usb_state_t *scsa2usbp = ADDR2SCSA2USB(ap);
scsa2usb_state_t *scsa2usbp = (scsa2usb_state_t *)ADDR2SCSA2USB(ap);
scsa2usb_state_t *scsa2usbp = (scsa2usb_state_t *)ADDR2SCSA2USB(ap);
scsa2usb_state_t *scsa2usbp = (scsa2usb_state_t *)ADDR2SCSA2USB(ap);
scsa2usb_state_t *scsa2usbp = (scsa2usb_state_t *)ADDR2SCSA2USB(ap);
scsa2usb_prepare_pkt(scsa2usb_state_t *scsa2usbp, struct scsi_pkt *pkt)
scsa2usb_force_invalid_request(scsa2usb_state_t *scsa2usbp,
scsa2usb_cmd_transport(scsa2usb_state_t *scsa2usbp, scsa2usb_cmd_t *cmd)
scsa2usb_check_bulkonly_quirks(scsa2usb_state_t *scsa2usbp, scsa2usb_cmd_t *cmd)
scsa2usb_handle_scsi_cmd_sub_class(scsa2usb_state_t *scsa2usbp,
scsa2usb_do_tur(scsa2usb_state_t *scsa2usbp, struct scsi_address *ap)
scsa2usb_check_ufi_quirks(scsa2usb_state_t *scsa2usbp, scsa2usb_cmd_t *cmd)
scsa2usb_handle_ufi_subclass_cmd(scsa2usb_state_t *scsa2usbp,
scsa2usb_rw_transport(scsa2usb_state_t *scsa2usbp, struct scsi_pkt *pkt)
scsa2usb_setup_next_xfer(scsa2usb_state_t *scsa2usbp, scsa2usb_cmd_t *cmd)
scsa2usb_transport_request(scsa2usb_state_t *scsa2usbp, uint_t lun)
scsa2usb_state_t *scsa2usbp = (scsa2usb_state_t *)arg;
scsa2usb_flush_waitQ(scsa2usb_state_t *scsa2usbp, uint_t lun,
scsa2usb_do_inquiry(scsa2usb_state_t *scsa2usbp, uint_t target, uint_t lun)
scsa2usb_fake_inquiry(scsa2usb_state_t *scsa2usbp, struct scsi_inquiry *inqp)
scsa2usb_create_arq_pkt(scsa2usb_state_t *scsa2usbp, struct scsi_address *ap)
scsa2usb_delete_arq_pkt(scsa2usb_state_t *scsa2usbp)
scsa2usb_complete_arq_pkt(scsa2usb_state_t *scsa2usbp,
scsa2usb_open_usb_pipes(scsa2usb_state_t *scsa2usbp)
static void scsa2usb_test_mblk(scsa2usb_state_t *, boolean_t);
scsa2usb_close_usb_pipes(scsa2usb_state_t *scsa2usbp)
scsa2usb_bp_to_mblk(scsa2usb_state_t *scsa2usbp)
scsa2usb_handle_data_start(scsa2usb_state_t *scsa2usbp,
scsa2usb_handle_data_done(scsa2usb_state_t *scsa2usbp,
scsa2usb_init_bulk_req(scsa2usb_state_t *scsa2usbp, size_t length,
scsa2usb_clear_ept_stall(scsa2usb_state_t *scsa2usbp, uint_t ept_addr,
scsa2usb_pkt_completion(scsa2usb_state_t *scsa2usbp, struct scsi_pkt *pkt)
sizeof (scsa2usb_state_t), SCSA2USB_INITIAL_ALLOC)) != 0)) {
scsa2usb_state_t *scsa2usbp =
scsa2usb_all_waitQs_empty(scsa2usb_state_t *scsa2usbp)
scsa2usb_state_t *scsa2usbp =
scsa2usb_create_pm_components(dev_info_t *dip, scsa2usb_state_t *scsa2usbp)
scsa2usb_raise_power(scsa2usb_state_t *scsa2usbp)
scsa2usb_pwrlvl0(scsa2usb_state_t *scsa2usbp)
scsa2usb_pwrlvl1(scsa2usb_state_t *scsa2usbp)
scsa2usb_pwrlvl2(scsa2usb_state_t *scsa2usbp)
scsa2usb_pwrlvl3(scsa2usb_state_t *scsa2usbp)
scsa2usb_state_t *scsa2usbp;
scsa2usb_pm_busy_component(scsa2usb_state_t *scsa2usbp)
scsa2usb_pm_idle_component(scsa2usb_state_t *scsa2usbp)
scsa2usb_print_cdb(scsa2usb_state_t *scsa2usbp, scsa2usb_cmd_t *cmd)
scsa2usb_test_mblk(scsa2usb_state_t *scsa2usbp, boolean_t large)
scsa2usb_state_t *scsa2usbp = NULL;
scsa2usb_state_t *scsa2usbp;
static int scsa2usb_cleanup(dev_info_t *, scsa2usb_state_t *);
static void scsa2usb_detect_quirks(scsa2usb_state_t *);
static void scsa2usb_create_luns(scsa2usb_state_t *);
static void scsa2usb_fake_inquiry(scsa2usb_state_t *,
static void scsa2usb_do_inquiry(scsa2usb_state_t *,
static int scsa2usb_do_tur(scsa2usb_state_t *, struct scsi_address *);
static void scsa2usb_override(scsa2usb_state_t *);
scsa2usb_state_t *);
static void scsa2usb_override_error(char *, scsa2usb_state_t *);
scsa2usb_bulk_only_transport(scsa2usb_state_t *scsa2usbp, scsa2usb_cmd_t *cmd)
scsa2usb_fill_in_cbw(scsa2usb_state_t *scsa2usbp,
scsa2usb_bulk_only_handle_error(scsa2usb_state_t *scsa2usbp,
int scsa2usb_bulk_only_transport(scsa2usb_state_t *,
scsa2usb_handle_status_start(scsa2usb_state_t *scsa2usbp,
static void scsa2usb_fill_in_cbw(scsa2usb_state_t *, scsa2usb_cmd_t *,
static void scsa2usb_bulk_only_reset_recovery(scsa2usb_state_t *);
static void scsa2usb_bulk_only_handle_error(scsa2usb_state_t *,
int scsa2usb_bulk_only_get_max_lun(scsa2usb_state_t *);
scsa2usb_handle_csw_result(scsa2usb_state_t *scsa2usbp, mblk_t *data)
static int scsa2usb_handle_status_start(scsa2usb_state_t *,
static int scsa2usb_handle_csw_result(scsa2usb_state_t *, mblk_t *);
extern void scsa2usb_setup_next_xfer(scsa2usb_state_t *, scsa2usb_cmd_t *);
extern int scsa2usb_handle_data_start(scsa2usb_state_t *,
extern void scsa2usb_handle_data_done(scsa2usb_state_t *, scsa2usb_cmd_t *,
extern usb_bulk_req_t *scsa2usb_init_bulk_req(scsa2usb_state_t *,
extern int scsa2usb_clear_ept_stall(scsa2usb_state_t *, uint_t,
extern void scsa2usb_close_usb_pipes(scsa2usb_state_t *);
extern void scsa2usb_print_cdb(scsa2usb_state_t *, scsa2usb_cmd_t *);
scsa2usb_bulk_only_reset_recovery(scsa2usb_state_t *scsa2usbp)
scsa2usb_bulk_only_get_max_lun(scsa2usb_state_t *scsa2usbp)
scsa2usb_cbi_transport(scsa2usb_state_t *scsa2usbp, scsa2usb_cmd_t *cmd)
scsa2usb_cbi_handle_error(scsa2usb_state_t *scsa2usbp, int rval, usb_cr_t cr)
scsa2usb_cbi_start_intr_polling(scsa2usb_state_t *scsa2usbp)
scsa2usb_cbi_stop_intr_polling(scsa2usb_state_t *scsa2usbp)
scsa2usb_state_t *scsa2usbp = (scsa2usb_state_t *)
int scsa2usb_cbi_transport(scsa2usb_state_t *, scsa2usb_cmd_t *);
static void scsa2usb_cbi_reset_recovery(scsa2usb_state_t *);
static void scsa2usb_cbi_handle_error(scsa2usb_state_t *, int, usb_cr_t);
scsa2usb_cbi_reset_recovery(scsa2usb_state_t *scsa2usbp)
static usb_intr_req_t *scsa2usb_cbi_start_intr_polling(scsa2usb_state_t *);
void scsa2usb_cbi_stop_intr_polling(scsa2usb_state_t *);
extern void scsa2usb_setup_next_xfer(scsa2usb_state_t *, scsa2usb_cmd_t *);
extern int scsa2usb_handle_data_start(scsa2usb_state_t *,
extern void scsa2usb_handle_data_done(scsa2usb_state_t *, scsa2usb_cmd_t *,
extern usb_bulk_req_t *scsa2usb_init_bulk_req(scsa2usb_state_t *,
extern int scsa2usb_clear_ept_stall(scsa2usb_state_t *, uint_t,
extern void scsa2usb_close_usb_pipes(scsa2usb_state_t *);
extern void scsa2usb_print_cdb(scsa2usb_state_t *, scsa2usb_cmd_t *);
#define TRAN2SCSA2USB(tran) ((scsa2usb_state_t *)(tran)->tran_hba_private)