ata_xfer
ata_exec_xfer(struct ata_channel *chp, struct ata_xfer *xfer)
struct ata_xfer *xfer, *axfer;
ata_xfer_start(struct ata_xfer *xfer)
ata_activate_xfer_locked(struct ata_channel *chp, struct ata_xfer *xfer)
struct ata_xfer *
ata_free_xfer(struct ata_channel *chp, struct ata_xfer *xfer)
static void ata_activate_xfer_locked(struct ata_channel *, struct ata_xfer *);
ata_deactivate_xfer(struct ata_channel *chp, struct ata_xfer *xfer)
ata_waitdrain_xfer_check(struct ata_channel *chp, struct ata_xfer *xfer)
ata_timo_xfer_check(struct ata_xfer *xfer)
struct ata_xfer *xfer, *xfernext;
pool_init(&ata_xfer_pool, sizeof(struct ata_xfer), 0, 0, 0,
struct ata_xfer *xfer;
atacmd_toncq(struct ata_xfer *xfer, uint8_t *cmd, uint16_t *count,
ata_wait_cmd(struct ata_channel *chp, struct ata_xfer *xfer)
struct ata_xfer *xfer;
struct ata_xfer *xfer;
struct ata_xfer *xfer;
struct ata_xfer *xfer;
struct ata_xfer *xfer;
struct ata_xfer *xfer = &chp->recovery_xfer;
struct ata_xfer *
struct ata_xfer *xfer;
struct ata_xfer *
struct ata_xfer *xfer = NULL;
struct ata_xfer *
struct ata_xfer *xfer = NULL;
struct ata_xfer *xfer, *nxfer;
struct ata_xfer *
struct ata_xfer *xfer = NULL;
static void wdc_ata_bio(struct ata_drive_datas*, struct ata_xfer *);
static int wdc_ata_bio_start(struct ata_channel *,struct ata_xfer *);
static int _wdc_ata_bio_start(struct ata_channel *,struct ata_xfer *);
static int wdc_ata_bio_poll(struct ata_channel *,struct ata_xfer *);
static int wdc_ata_bio_intr(struct ata_channel *, struct ata_xfer *,
struct ata_xfer *, int);
static void wdc_ata_bio_done(struct ata_channel *, struct ata_xfer *);
wdc_ata_bio(struct ata_drive_datas *drvp, struct ata_xfer *xfer)
wdc_ata_bio_start(struct ata_channel *chp, struct ata_xfer *xfer)
_wdc_ata_bio_start(struct ata_channel *chp, struct ata_xfer *xfer)
wdc_ata_bio_poll(struct ata_channel *chp, struct ata_xfer *xfer)
wdc_ata_bio_intr(struct ata_channel *chp, struct ata_xfer *xfer, int irq)
wdc_ata_bio_kill_xfer(struct ata_channel *chp, struct ata_xfer *xfer,
wdc_ata_bio_done(struct ata_channel *chp, struct ata_xfer *xfer)
SIMPLEQ_ENTRY(ata_xfer) c_xferchain;
TAILQ_ENTRY(ata_xfer) c_activechain;
SLIST_ENTRY(ata_xfer) c_retrychain;
int (*c_start)(struct ata_channel *, struct ata_xfer *);
int (*c_poll)(struct ata_channel *, struct ata_xfer *);
void (*c_abort)(struct ata_channel *, struct ata_xfer *);
int (*c_intr)(struct ata_channel *, struct ata_xfer *, int);
void (*c_kill_xfer)(struct ata_channel *, struct ata_xfer *, int);
SIMPLEQ_HEAD(, ata_xfer) queue_xfer; /* queue of pending commands */
TAILQ_HEAD(, ata_xfer) active_xfers; /* active commands */
void (*drv_done)(device_t, struct ata_xfer *); /* xfer is done */
void (*ata_bio)(struct ata_drive_datas *, struct ata_xfer *);
struct ata_xfer *);
struct ata_xfer recovery_xfer;
struct ata_xfer *ata_get_xfer(struct ata_channel *, bool);
void ata_free_xfer(struct ata_channel *, struct ata_xfer *);
void ata_deactivate_xfer(struct ata_channel *, struct ata_xfer *);
void ata_exec_xfer(struct ata_channel *, struct ata_xfer *);
int ata_xfer_start(struct ata_xfer *xfer);
void ata_wait_cmd(struct ata_channel *, struct ata_xfer *xfer);
bool ata_timo_xfer_check(struct ata_xfer *);
struct ata_xfer *
struct ata_xfer *
struct ata_xfer *
struct ata_xfer *
bool ata_waitdrain_xfer_check(struct ata_channel *, struct ata_xfer *);
void atacmd_toncq(struct ata_xfer *, uint8_t *, uint16_t *, uint16_t *,
satafis_rhd_construct_bio(struct ata_xfer *xfer, uint8_t *fis)
satafis_rhd_construct_atapi(struct ata_xfer *xfer, uint8_t *fis)
void satafis_rhd_construct_bio(struct ata_xfer *, uint8_t *);
void satafis_rhd_construct_atapi(struct ata_xfer *, uint8_t *);
struct ata_xfer *xfer)
struct ata_xfer *xfer)
struct ata_xfer *xfer)
struct ata_xfer *xfer)
satapmp_rescan(struct ata_channel *chp, struct ata_xfer *xfer)
struct ata_xfer *xfer;
struct ata_xfer *xfer)
struct ata_xfer *xfer;
struct ata_xfer *xfer;
static void wdperror(const struct wd_softc *, struct ata_xfer *);
wdperror(const struct wd_softc *wd, struct ata_xfer *xfer)
struct ata_xfer *xfer = &wd->dump_xfer;
wd_check_error(const struct dk_softc *dksc, const struct ata_xfer *xfer,
struct ata_xfer *xfer;
struct ata_xfer *xfer;
struct ata_xfer *xfer;
static void wdstart1(struct wd_softc *, struct buf *, struct ata_xfer *);
struct ata_xfer *xfer;
static void wddone(device_t, struct ata_xfer *);
struct ata_xfer *xfer;
wdstart1(struct wd_softc *wd, struct buf *bp, struct ata_xfer *xfer)
struct ata_xfer *xfer;
wddone(device_t self, struct ata_xfer *xfer)
SLIST_HEAD(, ata_xfer) sc_retry_list;
SLIST_HEAD(, ata_xfer) sc_requeue_list;
struct ata_xfer dump_xfer;
static int ahci_atapi_complete(struct ata_channel *, struct ata_xfer *, int);
static void ahci_atapi_kill_xfer(struct ata_channel *, struct ata_xfer *, int);
ahci_exec_command(struct ata_drive_datas *drvp, struct ata_xfer *xfer)
ahci_cmd_start(struct ata_channel *chp, struct ata_xfer *xfer)
ahci_cmd_poll(struct ata_channel *chp, struct ata_xfer *xfer)
ahci_cmd_abort(struct ata_channel *chp, struct ata_xfer *xfer)
ahci_cmd_kill_xfer(struct ata_channel *chp, struct ata_xfer *xfer, int reason)
ahci_cmd_complete(struct ata_channel *chp, struct ata_xfer *xfer, int tfd)
ahci_cmd_done(struct ata_channel *chp, struct ata_xfer *xfer)
ahci_cmd_done_end(struct ata_channel *chp, struct ata_xfer *xfer)
ahci_ata_bio(struct ata_drive_datas *drvp, struct ata_xfer *xfer)
ahci_bio_start(struct ata_channel *chp, struct ata_xfer *xfer)
ahci_bio_poll(struct ata_channel *chp, struct ata_xfer *xfer)
ahci_bio_abort(struct ata_channel *chp, struct ata_xfer *xfer)
ahci_bio_kill_xfer(struct ata_channel *chp, struct ata_xfer *xfer, int reason)
ahci_bio_complete(struct ata_channel *chp, struct ata_xfer *xfer, int tfd)
struct ata_xfer *xfer;
ahci_atapi_start(struct ata_channel *chp, struct ata_xfer *xfer)
ahci_atapi_poll(struct ata_channel *chp, struct ata_xfer *xfer)
ahci_atapi_abort(struct ata_channel *chp, struct ata_xfer *xfer)
ahci_atapi_complete(struct ata_channel *chp, struct ata_xfer *xfer, int tfd)
ahci_atapi_kill_xfer(struct ata_channel *chp, struct ata_xfer *xfer, int reason)
static void ahci_ata_bio(struct ata_drive_datas *, struct ata_xfer *);
struct ata_xfer *xfer;
static void ahci_exec_command(struct ata_drive_datas *, struct ata_xfer *);
static int ahci_cmd_start(struct ata_channel *, struct ata_xfer *);
static int ahci_cmd_complete(struct ata_channel *, struct ata_xfer *, int);
static int ahci_cmd_poll(struct ata_channel *, struct ata_xfer *);
static void ahci_cmd_abort(struct ata_channel *, struct ata_xfer *);
static void ahci_cmd_done(struct ata_channel *, struct ata_xfer *);
static void ahci_cmd_done_end(struct ata_channel *, struct ata_xfer *);
static void ahci_cmd_kill_xfer(struct ata_channel *, struct ata_xfer *, int);
static int ahci_bio_start(struct ata_channel *, struct ata_xfer *);
static int ahci_bio_poll(struct ata_channel *, struct ata_xfer *);
static void ahci_bio_abort(struct ata_channel *, struct ata_xfer *);
static int ahci_bio_complete(struct ata_channel *, struct ata_xfer *, int);
static void ahci_bio_kill_xfer(struct ata_channel *, struct ata_xfer *, int) ;
static int ahci_atapi_start(struct ata_channel *, struct ata_xfer *);
static int ahci_atapi_poll(struct ata_channel *, struct ata_xfer *);
static void ahci_atapi_abort(struct ata_channel *, struct ata_xfer *);
mvsata_bio_start(struct ata_channel *chp, struct ata_xfer *xfer)
mvsata_bio_poll(struct ata_channel *chp, struct ata_xfer *xfer)
static void mvsata_bio(struct ata_drive_datas *, struct ata_xfer *);
mvsata_bio_intr(struct ata_channel *chp, struct ata_xfer *xfer, int intr_arg)
static void mvsata_exec_command(struct ata_drive_datas *, struct ata_xfer *);
mvsata_bio_kill_xfer(struct ata_channel *chp, struct ata_xfer *xfer, int reason)
mvsata_bio_done(struct ata_channel *chp, struct ata_xfer *xfer)
static int mvsata_bio_start(struct ata_channel *, struct ata_xfer *);
static int mvsata_bio_intr(struct ata_channel *, struct ata_xfer *, int);
static int mvsata_bio_poll(struct ata_channel *, struct ata_xfer *);
static void mvsata_bio_kill_xfer(struct ata_channel *, struct ata_xfer *, int);
static void mvsata_bio_done(struct ata_channel *, struct ata_xfer *);
static int mvsata_wdc_cmd_start(struct ata_channel *, struct ata_xfer *);
static int mvsata_wdc_cmd_intr(struct ata_channel *, struct ata_xfer *, int);
static int mvsata_wdc_cmd_poll(struct ata_channel *, struct ata_xfer *);
static void mvsata_wdc_cmd_kill_xfer(struct ata_channel *, struct ata_xfer *,
static void mvsata_wdc_cmd_done(struct ata_channel *, struct ata_xfer *);
static void mvsata_wdc_cmd_done_end(struct ata_channel *, struct ata_xfer *);
mvsata_exec_command(struct ata_drive_datas *drvp, struct ata_xfer *xfer)
static int mvsata_atapi_start(struct ata_channel *, struct ata_xfer *);
static int mvsata_atapi_intr(struct ata_channel *, struct ata_xfer *, int);
static int mvsata_atapi_poll(struct ata_channel *, struct ata_xfer *);
mvsata_wdc_cmd_start(struct ata_channel *chp, struct ata_xfer *xfer)
static void mvsata_atapi_kill_xfer(struct ata_channel *, struct ata_xfer *,
static void mvsata_atapi_reset(struct ata_channel *, struct ata_xfer *);
static void mvsata_atapi_phase_complete(struct ata_xfer *, int);
static void mvsata_atapi_done(struct ata_channel *, struct ata_xfer *);
mvsata_wdc_cmd_poll(struct ata_channel *chp, struct ata_xfer *xfer)
mvsata_wdc_cmd_intr(struct ata_channel *chp, struct ata_xfer *xfer, int irq)
static int mvsata_edma_enqueue(struct mvsata_port *, struct ata_xfer *);
static int mvsata_edma_handle(struct mvsata_port *, struct ata_xfer *);
static int mvsata_edma_wait(struct mvsata_port *, struct ata_xfer *, int);
static void mvsata_edma_rqq_remove(struct mvsata_port *, struct ata_xfer *);
static int mvsata_bdma_init(struct mvsata_port *, struct ata_xfer *);
mvsata_wdc_cmd_kill_xfer(struct ata_channel *chp, struct ata_xfer *xfer,
mvsata_wdc_cmd_done(struct ata_channel *chp, struct ata_xfer *xfer)
mvsata_wdc_cmd_done_end(struct ata_channel *chp, struct ata_xfer *xfer)
struct ata_xfer *xfer;
mvsata_atapi_start(struct ata_channel *chp, struct ata_xfer *xfer)
struct ata_xfer *);
struct ata_xfer *);
mvsata_atapi_poll(struct ata_channel *chp, struct ata_xfer *xfer)
mvsata_atapi_intr(struct ata_channel *chp, struct ata_xfer *xfer, int irq)
mvsata_atapi_kill_xfer(struct ata_channel *chp, struct ata_xfer *xfer,
mvsata_atapi_reset(struct ata_channel *chp, struct ata_xfer *xfer)
mvsata_atapi_phase_complete(struct ata_xfer *xfer, int tfd)
mvsata_atapi_done(struct ata_channel *chp, struct ata_xfer *xfer)
struct ata_xfer *xfer = ata_queue_get_active_xfer(chp);
mvsata_edma_enqueue(struct mvsata_port *mvport, struct ata_xfer *xfer)
mvsata_edma_handle(struct mvsata_port *mvport, struct ata_xfer *xfer1)
struct ata_xfer *xfer;
(struct mvsata_port *, int, struct ata_xfer *) = NULL;
mvsata_edma_wait(struct mvsata_port *mvport, struct ata_xfer *xfer, int timeout)
mvsata_edma_rqq_remove(struct mvsata_port *mvport, struct ata_xfer *xfer)
struct ata_xfer *rqxfer;
mvsata_bdma_init(struct mvsata_port *mvport, struct ata_xfer *xfer)
struct ata_xfer *xfer)
struct ata_xfer *xfer)
struct ata_xfer *xfer;
mvsata_bio(struct ata_drive_datas *drvp, struct ata_xfer *xfer)
struct ata_xfer *);
siisata_cmd_poll(struct ata_channel *chp, struct ata_xfer *xfer)
siisata_cmd_abort(struct ata_channel *chp, struct ata_xfer *xfer)
siisata_cmd_kill_xfer(struct ata_channel *chp, struct ata_xfer *xfer,
siisata_cmd_complete(struct ata_channel *chp, struct ata_xfer *xfer, int tfd)
siisata_cmd_done(struct ata_channel *chp, struct ata_xfer *xfer, int tfd)
siisata_cmd_done_end(struct ata_channel *chp, struct ata_xfer *xfer)
siisata_ata_bio(struct ata_drive_datas *drvp, struct ata_xfer *xfer)
siisata_bio_start(struct ata_channel *chp, struct ata_xfer *xfer)
siisata_bio_poll(struct ata_channel *chp, struct ata_xfer *xfer)
siisata_bio_abort(struct ata_channel *chp, struct ata_xfer *xfer)
siisata_bio_kill_xfer(struct ata_channel *chp, struct ata_xfer *xfer,
siisata_bio_complete(struct ata_channel *chp, struct ata_xfer *xfer, int tfd)
void siisata_ata_bio(struct ata_drive_datas *, struct ata_xfer *);
int siisata_cmd_start(struct ata_channel *, struct ata_xfer *);
int siisata_cmd_complete(struct ata_channel *, struct ata_xfer *, int);
int siisata_cmd_poll(struct ata_channel *, struct ata_xfer *);
void siisata_cmd_abort(struct ata_channel *, struct ata_xfer *);
void siisata_cmd_done(struct ata_channel *, struct ata_xfer *, int);
static void siisata_cmd_done_end(struct ata_channel *, struct ata_xfer *);
void siisata_cmd_kill_xfer(struct ata_channel *, struct ata_xfer *, int);
int siisata_bio_start(struct ata_channel *, struct ata_xfer *);
siisata_atapi_kill_xfer(struct ata_channel *chp, struct ata_xfer *xfer,
int siisata_bio_complete(struct ata_channel *, struct ata_xfer *, int);
int siisata_bio_poll(struct ata_channel *, struct ata_xfer *);
void siisata_bio_abort(struct ata_channel *, struct ata_xfer *);
void siisata_bio_kill_xfer(struct ata_channel *, struct ata_xfer *, int);
void siisata_exec_command(struct ata_drive_datas *, struct ata_xfer *);
struct ata_xfer *xfer;
int siisata_atapi_start(struct ata_channel *,struct ata_xfer *);
int siisata_atapi_complete(struct ata_channel *, struct ata_xfer *, int);
int siisata_atapi_poll(struct ata_channel *, struct ata_xfer *);
siisata_atapi_start(struct ata_channel *chp, struct ata_xfer *xfer)
void siisata_atapi_abort(struct ata_channel *, struct ata_xfer *);
void siisata_atapi_kill_xfer(struct ata_channel *, struct ata_xfer *, int);
siisata_atapi_poll(struct ata_channel *chp, struct ata_xfer *xfer)
siisata_atapi_abort(struct ata_channel *chp, struct ata_xfer *xfer)
siisata_atapi_complete(struct ata_channel *chp, struct ata_xfer *xfer,
struct ata_xfer *xfer = NULL;
siisata_exec_command(struct ata_drive_datas *drvp, struct ata_xfer *xfer)
siisata_cmd_start(struct ata_channel *chp, struct ata_xfer *xfer)
struct ata_xfer *xfer;
struct ata_xfer *xfer;
wdc_dmawait(struct ata_channel *chp, struct ata_xfer *xfer, int timeout)
struct ata_xfer *xfer;
wdc_exec_command(struct ata_drive_datas *drvp, struct ata_xfer *xfer)
__wdccommand_start(struct ata_channel *chp, struct ata_xfer *xfer)
static void __wdccommand_done(struct ata_channel *, struct ata_xfer *);
static int __wdccommand_poll(struct ata_channel *, struct ata_xfer *);
static void __wdccommand_done_end(struct ata_channel *, struct ata_xfer *);
__wdccommand_poll(struct ata_channel *chp, struct ata_xfer *xfer)
__wdccommand_intr(struct ata_channel *chp, struct ata_xfer *xfer, int irq)
struct ata_xfer *, int);
static int __wdccommand_start(struct ata_channel *, struct ata_xfer *);
static int __wdccommand_intr(struct ata_channel *, struct ata_xfer *, int);
__wdccommand_done(struct ata_channel *chp, struct ata_xfer *xfer)
__wdccommand_done_end(struct ata_channel *chp, struct ata_xfer *xfer)
__wdccommand_kill_xfer(struct ata_channel *chp, struct ata_xfer *xfer,
struct ata_xfer *xfer = ata_queue_get_active_xfer(chp);
struct ata_xfer *xfer;
int wdc_dmawait(struct ata_channel *, struct ata_xfer *, int);
void wdc_exec_command(struct ata_drive_datas *, struct ata_xfer *);
wdc_atapi_phase_complete(struct ata_xfer *xfer, int tfd)
wdc_atapi_done(struct ata_channel *chp, struct ata_xfer *xfer)
wdc_atapi_reset(struct ata_channel *chp, struct ata_xfer *xfer)
struct ata_xfer *xfer = ata_queue_get_active_xfer(chp);
wdc_atapi_kill_xfer(struct ata_channel *chp, struct ata_xfer *xfer, int reason)
struct ata_xfer *xfer;
struct ata_xfer *xfer;
wdc_atapi_start(struct ata_channel *chp, struct ata_xfer *xfer)
wdc_atapi_poll(struct ata_channel *chp, struct ata_xfer *xfer)
wdc_atapi_intr(struct ata_channel *chp, struct ata_xfer *xfer, int irq)
static int wdc_atapi_start(struct ata_channel *,struct ata_xfer *);
static int wdc_atapi_intr(struct ata_channel *, struct ata_xfer *, int);
struct ata_xfer *, int);
static void wdc_atapi_phase_complete(struct ata_xfer *, int);
static int wdc_atapi_poll(struct ata_channel *, struct ata_xfer *);
static void wdc_atapi_done(struct ata_channel *, struct ata_xfer *);
static void wdc_atapi_reset(struct ata_channel *, struct ata_xfer *);