ata_drv_t
static void ata_disable_DMA(ata_drv_t *ata_drvp);
static int ata_check_dma_mode(ata_drv_t *ata_drvp);
static ata_drv_t *
ata_drv_t *ata_drvp;
ata_drvp = kmem_zalloc(sizeof (ata_drv_t), KM_SLEEP);
ata_drv_t *ata_drvp)
kmem_free(ata_drvp, sizeof (ata_drv_t));
ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp)
ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp;
ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp;
ata_drv_t *ata_drvp;
int (*func)(ata_ctl_t *, ata_drv_t *, ata_pkt_t *),
ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp)
ata_show_transfer_mode(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp)
ata_resume_drive(ata_drv_t *ata_drvp)
ata_drv_t *ata_drvp;
ata_disable_DMA(ata_drv_t *ata_drvp)
ata_set_dma_mode(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp)
ata_reset_dma_mode(ata_drv_t *ata_drvp)
ata_check_dma_mode(ata_drv_t *ata_drvp)
ata_drv_t *ata_drvp;
ata_drv_t *first_drvp = NULL;
ata_drv_t *ata_drvp;
ata_drv_t *ata_drvp, ata_pkt_t *ata_pktp,
ata_drv_t *ata_drvp;
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);
ata_drv_t *ata_drvp;
ata_drv_t *ata_drvp;
static int ata_start_arq(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static void ata_uninit_drive(ata_drv_t *ata_drvp);
static int ata_check_revert_to_defaults(ata_drv_t *ata_drvp);
static void ata_show_transfer_mode(ata_ctl_t *, ata_drv_t *);
ata_drv_t *at_drvp;
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,
void (*ap_complete)(ata_drv_t *ata_drvp,
int ata_command(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp, int expect_drdy,
int ata_prop_create(dev_info_t *tgt_dip, ata_drv_t *ata_drvp, char *name);
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);
void ata_reset_dma_mode(ata_drv_t *ata_drvp);
void atapi_reset_dma_mode(ata_drv_t *ata_drvp, int need_wait);
dump_ata_drv(ata_drv_t *P)
ata_drv_t *ata_drvp);
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 int ata_get_capacity(ata_drv_t *ata_drvp, uint64_t *capacity);
static void ata_fix_large_disk_geometry(ata_drv_t *ata_drvp);
static uint64_t ata_calculate_28bits_capacity(ata_drv_t *ata_drvp);
static uint64_t ata_calculate_48bits_capacity(ata_drv_t *ata_drvp);
static void ata_set_write_cache(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp);
ata_drv_t *ata_drvp, caddr_t fwfile, uint_t size,
ata_drv_t *ata_drvp, ata_pkt_t *ata_pktp);
ata_disk_do_ioctl(int (*func)(ata_ctl_t *, ata_drv_t *, ata_pkt_t *),
ata_drv_t *ata_drvp, ata_pkt_t *ata_pktp);
ata_drv_t *ata_drvp = GTGTP2ATADRVP(gtgtp);
ata_drv_t *ata_drvp = GTGTP2ATADRVP(gtgtp);
ata_drv_t *ata_drvp = GTGTP2ATADRVP(gtgtp);
ata_disk_load_regs_lba28(ata_pkt_t *ata_pktp, ata_drv_t *ata_drvp)
ata_disk_load_regs_lba48(ata_pkt_t *ata_pktp, ata_drv_t *ata_drvp)
ata_disk_load_regs_chs(ata_pkt_t *ata_pktp, ata_drv_t *ata_drvp)
ata_disk_start_common(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
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_drv_t *ata_drvp,
ata_disk_start_pio_out(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_disk_complete(ata_drv_t *ata_drvp, ata_pkt_t *ata_pktp, int do_callback)
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_initialize_device_parameters(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp)
ata_drv_t *ata_drvp)
ata_disk_fake_inquiry(ata_drv_t *ata_drvp)
ata_disk_set_multiple(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp)
ata_last_block_xferred_chs(ata_drv_t *ata_drvp)
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_drv_t *ata_drvp,
ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp, caddr_t fwfile,
ata_get_capacity(ata_drv_t *ata_drvp, uint64_t *capacity)
ata_drv_t *ata_drvp)
ata_calculate_28bits_capacity(ata_drv_t *ata_drvp)
static void ata_disk_complete(ata_drv_t *ata_drvp, ata_pkt_t *ata_pktp,
ata_calculate_48bits_capacity(ata_drv_t *ata_drvp)
static int ata_disk_intr(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp)
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_drv_t *ata_drvp)
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,
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_drv_t *ata_drvp;
static int ata_disk_eject(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static void ata_disk_fake_inquiry(ata_drv_t *ata_drvp);
static void ata_disk_get_resid(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp);
ata_drv_t *ata_drvp = GTGTP2ATADRVP(gtgtp);
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_drv_t *ata_drvp = GTGTP2ATADRVP(gtgtp);
int ata_disk_init_drive(ata_drv_t *ata_drvp);
void ata_disk_uninit_drive(ata_drv_t *ata_drvp);
int ata_disk_setup_parms(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp);
ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp,
atapi_reset_dma_mode(ata_drv_t *ata_drvp, int need_wait)
ata_drv_t *ata_drvp)
ata_drv_t *ata_drvp)
ata_drv_t *ata_drvp;
ata_drv_t *ata_drvp;
static void atapi_complete(ata_drv_t *ata_drvp, ata_pkt_t *ata_pktp,
static int atapi_id_update(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp = GTGTP2ATADRVP(gtgtp);
ata_drv_t *ata_drvp = APKT2DRV(ata_pktp);
int atapi_init_drive(ata_drv_t *ata_drvp);
void atapi_uninit_drive(ata_drv_t *ata_drvp);
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,
ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp,
static int atapi_start_cmd(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
static void atapi_start_dma(ata_ctl_t *ata_ctlp, ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp)
ata_drv_t *ata_drvp;
ata_drv_t *ata_drvp,
ata_drv_t *ata_drvp,