ata_ctl_t
ata_ctl_t *ata_ctlp;
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp = ata_drvp->ad_ctlp;
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp;
ata_ctl_t *ata_ctlp)
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp;
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp)
ata_ctl_t *ata_ctlp)
ata_ctl_t *ata_ctlp;
ata_ctlp = (ata_ctl_t *)arg;
ata_ctl_t *ata_ctlp = (ata_ctl_t *)hba_handle;
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp = (ata_ctl_t *)hba_handle;
ata_ctl_t *ata_ctlp;
ata_ctlp = (ata_ctl_t *)hba_handle;
int (*func)(ata_ctl_t *, ata_drv_t *, ata_pkt_t *),
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp = ata_drvp->ad_ctlp;
ata_show_transfer_mode(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp)
ata_ctl_t *ata_ctlp;
ata_ctl_t *ata_ctlp = ata_drvp->ad_ctlp;
ata_ctl_t *ata_ctlp;
ata_ctl_t *ata_ctlp;
ata_ctl_t *ata_ctlp;
ata_ctl_t *ata_ctlp;
ata_set_dma_mode(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp)
if ((err = ddi_soft_state_init(&ata_state, sizeof (ata_ctl_t), 0)) != 0)
ata_ctl_t *ata_ctlp = ata_drvp->ad_ctlp;
ata_ctl_t *ata_ctlp;
ata_ctl_t *ata_ctlp;
static int ata_ctlr_fsm(uchar_t fsm_func, ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp = ddi_get_soft_state(ata_state, instance);
static ata_ctl_t *ata_init_controller(dev_info_t *dip);
static ata_drv_t *ata_init_drive(ata_ctl_t *ata_ctlp,
static int ata_init_drive_pcidma(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static int ata_flush_cache(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp);
static void ata_init_pciide(dev_info_t *dip, ata_ctl_t *ata_ctlp);
static int ata_reset_bus(ata_ctl_t *ata_ctlp);
static int ata_software_reset(ata_ctl_t *ata_ctlp);
ata_ctl_t *ata_ctlp;
ata_ctlp = (ata_ctl_t *)hba_handle;
static int ata_start_arq(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static ata_ctl_t *
ata_ctl_t *ata_ctlp;
static void ata_show_transfer_mode(ata_ctl_t *, ata_drv_t *);
ata_ctl_t *ad_ctlp; /* pointer back to ctlr */
#define GTGTP2ATAP(gtgtp) ((ata_ctl_t *)GTGTP2HBA(gtgtp))
#define TRAN2ATAP(tranp) ((ata_ctl_t *)TRAN2HBA(tranp))
int (*ap_start)(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
int (*ap_intr)(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
int ata_command(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp, int expect_drdy,
int ata_get_status_clear_intr(ata_ctl_t *ata_ctlp, ata_pkt_t *ata_pktp);
int ata_queue_cmd(int (*func)(ata_ctl_t *, ata_drv_t *, ata_pkt_t *),
void *arg, ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
int ata_set_feature(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
int ata_set_dma_mode(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp);
int ata_pciide_alloc(dev_info_t *dip, ata_ctl_t *ata_ctlp);
void ata_pciide_free(ata_ctl_t *ata_ctlp);
void ata_pciide_dma_setup(ata_ctl_t *ata_ctlp, prde_t *srcp, int sg_cnt);
void ata_pciide_dma_start(ata_ctl_t *ata_ctlp, uchar_t direction);
void ata_pciide_dma_stop(ata_ctl_t *ata_ctlp);
int ata_pciide_status_clear(ata_ctl_t *ata_ctlp);
int ata_pciide_status_dmacheck_clear(ata_ctl_t *ata_ctlp);
int ata_pciide_status_pending(ata_ctl_t *ata_ctlp);
dump_ata_ctl(ata_ctl_t *P)
static int ata_disk_recalibrate(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static int ata_disk_standby(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static int ata_disk_start_common(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static int ata_disk_state(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static int ata_disk_unlock(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static void ata_set_write_cache(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp);
static int ata_disk_update_fw(gtgt_t *gtgtp, ata_ctl_t *ata_ctlp,
static int ata_disk_set_feature_spinup(ata_ctl_t *ata_ctlp,
static int ata_disk_id_update(ata_ctl_t *ata_ctlp,
ata_disk_do_ioctl(int (*func)(ata_ctl_t *, ata_drv_t *, ata_pkt_t *),
void *arg, ata_ctl_t *ata_ctlp, gtgt_t *gtgtp, cmpkt_t *pktp)
ata_ctl_t *ata_ctlp = ata_drvp->ad_ctlp;
ata_ctl_t *ata_ctlp)
ata_ctl_t *ata_ctlp = ata_drvp->ad_ctlp;
ata_ctl_t *ata_ctlp = ata_drvp->ad_ctlp;
ata_ctl_t *ata_ctlp = ata_drvp->ad_ctlp;
ata_disk_start_common(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_ctl_t *ata_ctlp)
ata_disk_start(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_disk_start_dma_in(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_disk_start_dma_out(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_ctl_t *ata_ctlp,
ata_disk_start_pio_out(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_disk_intr(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_disk_intr_pio_in(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_disk_intr_pio_out(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_disk_intr_dma(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp, ata_pkt_t *ata_pktp)
ata_disk_pio_xfer_data_in(ata_ctl_t *ata_ctlp, ata_pkt_t *ata_pktp)
ata_disk_pio_xfer_data_out(ata_ctl_t *ata_ctlp, ata_pkt_t *ata_pktp)
ata_disk_initialize_device_parameters(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp)
ata_ctl_t *ata_ctlp = ata_drvp->ad_ctlp;
ata_disk_set_multiple(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp)
ata_ctl_t *ata_ctlp = ata_drvp->ad_ctlp;
ata_last_block_xferred_lba28(ata_ctl_t *ata_ctlp)
ata_last_block_xferred_lba48(ata_ctl_t *ata_ctlp)
ata_disk_get_resid(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_disk_state(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_disk_eject(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_disk_lock(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_disk_unlock(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_disk_standby(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_disk_recalibrate(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_set_write_cache(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp)
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp,
ata_disk_update_fw(gtgt_t *gtgtp, ata_ctl_t *ata_ctlp,
static int ata_disk_intr(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_ctl_t *ata_ctlp,
static int ata_disk_intr_dma(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static int ata_disk_intr_pio_in(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static int ata_disk_intr_pio_out(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_ctl_t *ata_ctlp,
static int ata_disk_start(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static int ata_disk_start_dma_in(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static int ata_disk_start_dma_out(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static int ata_disk_start_pio_in(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static int ata_disk_start_pio_out(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_ctl_t *ata_ctlp;
static int ata_disk_eject(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static void ata_disk_get_resid(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static int ata_disk_initialize_device_parameters(ata_ctl_t *ata_ctlp,
static int ata_disk_lock(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static int ata_disk_set_multiple(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp);
ata_ctl_t *ata_ctlp = GTGTP2ATAP(gtgtp);
static void ata_disk_pio_xfer_data_in(ata_ctl_t *ata_ctlp, ata_pkt_t *ata_pktp);
static void ata_disk_pio_xfer_data_out(ata_ctl_t *ata_ctlp,
static void ata_disk_set_standby_timer(ata_ctl_t *ata_ctlp,
int ata_disk_attach(ata_ctl_t *ata_ctlp);
void ata_disk_detach(ata_ctl_t *ata_ctlp);
int ata_disk_setup_parms(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp);
ata_ctl_t *ata_ctlp)
ata_pciide_free(ata_ctl_t *ata_ctlp)
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp)
ata_ctl_t *ata_ctlp)
ata_ctl_t *ata_ctlp)
ata_ctl_t *ata_ctlp)
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp)
ata_ctl_t *ata_ctlp = ata_drvp->ad_ctlp;
ata_ctl_t *ata_ctlp)
ata_ctl_t *ata_ctlp = ata_drvp->ad_ctlp;
ata_ctl_t *ata_ctlp;
ata_ctl_t *ata_ctlp;
static int atapi_id_update(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_ctl_t *ata_ctlp = ADDR2CTL(ap);
atapi_attach(ata_ctl_t *ata_ctlp)
ata_ctl_t *ata_ctlp = ata_drvp->ad_ctlp;
int atapi_attach(ata_ctl_t *ata_ctlp);
void atapi_detach(ata_ctl_t *ata_ctlp);
void atapi_init_arq(ata_ctl_t *ata_ctlp);
int atapi_fsm_intr(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
int atapi_fsm_start(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
void atapi_fsm_reset(ata_ctl_t *ata_ctlp);
#define TRAN2CTL(tran) ((ata_ctl_t *)((tran)->tran_hba_private))
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp,
static int atapi_start_cmd(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static void atapi_send_cdb(ata_ctl_t *ata_ctlp, ata_pkt_t *ata_pktp);
static void atapi_start_dma(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static void atapi_pio_data_in(ata_ctl_t *ata_ctlp, ata_pkt_t *ata_pktp);
static void atapi_pio_data_out(ata_ctl_t *ata_ctlp, ata_pkt_t *ata_pktp);
ata_ctl_t *ata_ctlp,
static void atapi_status(ata_ctl_t *ata_ctlp, ata_pkt_t *ata_pktp,
static void atapi_fsm_error(ata_ctl_t *ata_ctlp, uchar_t state,
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp,
atapi_fsm_reset(ata_ctl_t *ata_ctlp)
ata_ctl_t *ata_ctlp,
ata_ctl_t *ata_ctlp,