Lines Matching defs:ida

50 #include <dev/ida/idavar.h>
51 #include <dev/ida/idareg.h>
63 ida_v3_fifo_full(struct ida_softc *ida)
65 return (ida_inl(ida, R_CMD_FIFO) == 0);
69 ida_v3_submit(struct ida_softc *ida, struct ida_qcb *qcb)
71 ida_outl(ida, R_CMD_FIFO, qcb->hwqcb_busaddr);
75 ida_v3_done(struct ida_softc *ida)
79 completed = ida_inl(ida, R_DONE_FIFO);
87 ida_v3_int_pending(struct ida_softc *ida)
89 return (ida_inl(ida, R_INT_PENDING));
93 ida_v3_int_enable(struct ida_softc *ida, int enable)
96 ida->flags |= IDA_INTERRUPTS;
98 ida->flags &= ~IDA_INTERRUPTS;
99 ida_outl(ida, R_INT_MASK, enable ? INT_ENABLE : INT_DISABLE);
103 ida_v4_fifo_full(struct ida_softc *ida)
105 return (ida_inl(ida, R_42XX_REQUEST) != 0);
109 ida_v4_submit(struct ida_softc *ida, struct ida_qcb *qcb)
111 ida_outl(ida, R_42XX_REQUEST, qcb->hwqcb_busaddr);
115 ida_v4_done(struct ida_softc *ida)
119 completed = ida_inl(ida, R_42XX_REPLY);
122 ida_outl(ida, R_42XX_REPLY, 0); /* confirm read */
127 ida_v4_int_pending(struct ida_softc *ida)
129 return (ida_inl(ida, R_42XX_STATUS) & STATUS_42XX_INT_PENDING);
133 ida_v4_int_enable(struct ida_softc *ida, int enable)
136 ida->flags |= IDA_INTERRUPTS;
138 ida->flags &= ~IDA_INTERRUPTS;
139 ida_outl(ida, R_42XX_INT_MASK,
197 "ida",
240 struct ida_softc *ida;
243 ida = (struct ida_softc *)device_get_softc(dev);
244 ida->dev = dev;
245 ida->cmd = *board->accessor;
246 ida->flags = board->flags;
247 mtx_init(&ida->lock, "ida", NULL, MTX_DEF);
248 callout_init_mtx(&ida->ch, &ida->lock, 0);
250 ida->regs_res_type = SYS_RES_MEMORY;
251 ida->regs_res_id = IDA_PCI_MEMADDR;
253 ida->regs_res_id = PCIR_BAR(0);
255 ida->regs = bus_alloc_resource_any(dev, ida->regs_res_type,
256 &ida->regs_res_id, RF_ACTIVE);
257 if (ida->regs == NULL) {
276 &ida->parent_dmat);
279 ida_free(ida);
284 ida->irq_res_type = SYS_RES_IRQ;
285 ida->irq = bus_alloc_resource_any(dev, ida->irq_res_type, &rid,
287 if (ida->irq == NULL) {
288 ida_free(ida);
291 error = bus_setup_intr(dev, ida->irq, INTR_TYPE_BIO | INTR_ENTROPY | INTR_MPSAFE,
292 NULL, ida_intr, ida, &ida->ih);
295 ida_free(ida);
299 error = ida_setup(ida);
301 ida_free(ida);
308 DRIVER_MODULE(ida, pci, ida_pci_driver, ida_devclass, 0, 0);
309 MODULE_PNP_INFO("W32:vendor/device;D:#", pci, ida, board_id,