Lines Matching defs:ida

28 __FBSDID("$FreeBSD: releng/10.3/sys/dev/ida/ida_pci.c 281826 2015-04-21 11:27:50Z mav $");
48 #include <dev/ida/idavar.h>
49 #include <dev/ida/idareg.h>
61 ida_v3_fifo_full(struct ida_softc *ida)
63 return (ida_inl(ida, R_CMD_FIFO) == 0);
67 ida_v3_submit(struct ida_softc *ida, struct ida_qcb *qcb)
69 ida_outl(ida, R_CMD_FIFO, qcb->hwqcb_busaddr);
73 ida_v3_done(struct ida_softc *ida)
77 completed = ida_inl(ida, R_DONE_FIFO);
85 ida_v3_int_pending(struct ida_softc *ida)
87 return (ida_inl(ida, R_INT_PENDING));
91 ida_v3_int_enable(struct ida_softc *ida, int enable)
94 ida->flags |= IDA_INTERRUPTS;
96 ida->flags &= ~IDA_INTERRUPTS;
97 ida_outl(ida, R_INT_MASK, enable ? INT_ENABLE : INT_DISABLE);
101 ida_v4_fifo_full(struct ida_softc *ida)
103 return (ida_inl(ida, R_42XX_REQUEST) != 0);
107 ida_v4_submit(struct ida_softc *ida, struct ida_qcb *qcb)
109 ida_outl(ida, R_42XX_REQUEST, qcb->hwqcb_busaddr);
113 ida_v4_done(struct ida_softc *ida)
117 completed = ida_inl(ida, R_42XX_REPLY);
120 ida_outl(ida, R_42XX_REPLY, 0); /* confirm read */
125 ida_v4_int_pending(struct ida_softc *ida)
127 return (ida_inl(ida, R_42XX_STATUS) & STATUS_42XX_INT_PENDING);
131 ida_v4_int_enable(struct ida_softc *ida, int enable)
134 ida->flags |= IDA_INTERRUPTS;
136 ida->flags &= ~IDA_INTERRUPTS;
137 ida_outl(ida, R_42XX_INT_MASK,
195 "ida",
238 struct ida_softc *ida;
241 ida = (struct ida_softc *)device_get_softc(dev);
242 ida->dev = dev;
243 ida->cmd = *board->accessor;
244 ida->flags = board->flags;
245 mtx_init(&ida->lock, "ida", NULL, MTX_DEF);
246 callout_init_mtx(&ida->ch, &ida->lock, 0);
248 ida->regs_res_type = SYS_RES_MEMORY;
249 ida->regs_res_id = IDA_PCI_MEMADDR;
251 ida->regs_res_id = PCIR_BAR(0);
253 ida->regs = bus_alloc_resource_any(dev, ida->regs_res_type,
254 &ida->regs_res_id, RF_ACTIVE);
255 if (ida->regs == NULL) {
274 &ida->parent_dmat);
277 ida_free(ida);
282 ida->irq_res_type = SYS_RES_IRQ;
283 ida->irq = bus_alloc_resource_any(dev, ida->irq_res_type, &rid,
285 if (ida->irq == NULL) {
286 ida_free(ida);
289 error = bus_setup_intr(dev, ida->irq, INTR_TYPE_BIO | INTR_ENTROPY | INTR_MPSAFE,
290 NULL, ida_intr, ida, &ida->ih);
293 ida_free(ida);
297 error = ida_init(ida);
299 ida_free(ida);
306 DRIVER_MODULE(ida, pci, ida_pci_driver, ida_devclass, 0, 0);