Symbol: ida
sys/dev/drm/drm_connector.c
103
ida_init(&drm_connector_enum_list[i].ida);
sys/dev/drm/drm_connector.c
111
ida_destroy(&drm_connector_enum_list[i].ida);
sys/dev/drm/drm_connector.c
201
struct ida *connector_ida =
sys/dev/drm/drm_connector.c
202
&drm_connector_enum_list[connector_type].ida;
sys/dev/drm/drm_connector.c
398
ida_simple_remove(&drm_connector_enum_list[connector->connector_type].ida,
sys/dev/drm/drm_connector.c
70
struct ida ida;
sys/dev/drm/i915/i915_drv.h
1879
struct ida hw_ida;
sys/dev/drm/i915/intel_guc.h
63
struct ida stage_ids;
sys/dev/drm/include/drm/drm_mode_config.h
429
struct ida connector_ida;
sys/dev/drm/include/linux/idr.h
53
struct ida name = { \
sys/dev/drm/include/linux/idr.h
59
ida_init(struct ida *ida)
sys/dev/drm/include/linux/idr.h
61
idr_init(&ida->idr);
sys/dev/drm/include/linux/idr.h
65
ida_simple_remove(struct ida *ida, unsigned int id)
sys/dev/drm/include/linux/idr.h
67
idr_remove(&ida->idr, id);
sys/dev/drm/include/linux/idr.h
71
ida_remove(struct ida *ida, int id)
sys/dev/drm/include/linux/idr.h
73
idr_remove(&ida->idr, id);
sys/dev/drm/include/linux/idr.h
77
ida_destroy(struct ida *ida)
sys/dev/drm/include/linux/idr.h
79
idr_destroy(&ida->idr);
sys/dev/drm/include/linux/idr.h
80
if (ida->free_bitmap != NULL) {
sys/dev/drm/include/linux/idr.h
82
_kfree(ida->free_bitmap, M_IDR);
sys/dev/drm/include/linux/idr.h
87
ida_simple_get(struct ida *ida, unsigned int start, unsigned int end, gfp_t gfp_mask)
sys/dev/drm/include/linux/idr.h
98
id = idr_alloc(&ida->idr, NULL, start, lim, gfp_mask);
sys/dev/raid/ida/ida.c
101
if (ida->regs != NULL)
sys/dev/raid/ida/ida.c
102
bus_release_resource(ida->dev, ida->regs_res_type,
sys/dev/raid/ida/ida.c
103
ida->regs_res_id, ida->regs);
sys/dev/raid/ida/ida.c
119
ida_get_qcb(struct ida_softc *ida)
sys/dev/raid/ida/ida.c
123
if ((qcb = SLIST_FIRST(&ida->free_qcbs)) != NULL) {
sys/dev/raid/ida/ida.c
124
SLIST_REMOVE_HEAD(&ida->free_qcbs, link.sle);
sys/dev/raid/ida/ida.c
126
ida_alloc_qcb(ida);
sys/dev/raid/ida/ida.c
127
if ((qcb = SLIST_FIRST(&ida->free_qcbs)) != NULL)
sys/dev/raid/ida/ida.c
128
SLIST_REMOVE_HEAD(&ida->free_qcbs, link.sle);
sys/dev/raid/ida/ida.c
134
idahwqcbvtop(struct ida_softc *ida, struct ida_hardware_qcb *hwqcb)
sys/dev/raid/ida/ida.c
136
return (ida->hwqcb_busaddr +
sys/dev/raid/ida/ida.c
137
((bus_addr_t)hwqcb - (bus_addr_t)ida->hwqcbs));
sys/dev/raid/ida/ida.c
141
idahwqcbptov(struct ida_softc *ida, bus_addr_t hwqcb_addr)
sys/dev/raid/ida/ida.c
146
((bus_addr_t)ida->hwqcbs + (hwqcb_addr - ida->hwqcb_busaddr));
sys/dev/raid/ida/ida.c
156
ida_alloc_qcb(struct ida_softc *ida)
sys/dev/raid/ida/ida.c
161
if (ida->num_qcbs >= IDA_QCB_MAX)
sys/dev/raid/ida/ida.c
164
qcb = &ida->qcbs[ida->num_qcbs];
sys/dev/raid/ida/ida.c
166
error = bus_dmamap_create(ida->buffer_dmat, /*flags*/0, &qcb->dmamap);
sys/dev/raid/ida/ida.c
171
qcb->hwqcb = &ida->hwqcbs[ida->num_qcbs];
sys/dev/raid/ida/ida.c
173
qcb->hwqcb_busaddr = idahwqcbvtop(ida, qcb->hwqcb);
sys/dev/raid/ida/ida.c
174
SLIST_INSERT_HEAD(&ida->free_qcbs, qcb, link.sle);
sys/dev/raid/ida/ida.c
175
ida->num_qcbs++;
sys/dev/raid/ida/ida.c
179
ida_init(struct ida_softc *ida)
sys/dev/raid/ida/ida.c
183
ida->unit = device_get_unit(ida->dev);
sys/dev/raid/ida/ida.c
184
ida->tag = rman_get_bustag(ida->regs);
sys/dev/raid/ida/ida.c
185
ida->bsh = rman_get_bushandle(ida->regs);
sys/dev/raid/ida/ida.c
187
SLIST_INIT(&ida->free_qcbs);
sys/dev/raid/ida/ida.c
188
STAILQ_INIT(&ida->qcb_queue);
sys/dev/raid/ida/ida.c
189
bioq_init(&ida->bio_queue);
sys/dev/raid/ida/ida.c
191
ida->qcbs = kmalloc(IDA_QCB_MAX * sizeof(struct ida_qcb),
sys/dev/raid/ida/ida.c
199
error = bus_dma_tag_create(ida->parent_dmat,
sys/dev/raid/ida/ida.c
204
/*flags*/0, &ida->hwqcb_dmat);
sys/dev/raid/ida/ida.c
209
error = bus_dma_tag_create(ida->parent_dmat,
sys/dev/raid/ida/ida.c
213
/*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT, /*flags*/0, &ida->buffer_dmat);
sys/dev/raid/ida/ida.c
219
error = bus_dmamem_alloc(ida->hwqcb_dmat,
sys/dev/raid/ida/ida.c
220
(void *)&ida->hwqcbs, BUS_DMA_NOWAIT, &ida->hwqcb_dmamap);
sys/dev/raid/ida/ida.c
225
bus_dmamap_load(ida->hwqcb_dmat, ida->hwqcb_dmamap,
sys/dev/raid/ida/ida.c
226
ida->hwqcbs, IDA_QCB_MAX * sizeof(struct ida_hardware_qcb),
sys/dev/raid/ida/ida.c
227
ida_dma_map_cb, &ida->hwqcb_busaddr, /*flags*/0);
sys/dev/raid/ida/ida.c
229
bzero(ida->hwqcbs, IDA_QCB_MAX * sizeof(struct ida_hardware_qcb));
sys/dev/raid/ida/ida.c
231
ida_alloc_qcb(ida); /* allocate an initial qcb */
sys/dev/raid/ida/ida.c
237
ida_attach(struct ida_softc *ida)
sys/dev/raid/ida/ida.c
242
ida->cmd.int_enable(ida, 0);
sys/dev/raid/ida/ida.c
244
error = ida_command(ida, CMD_GET_CTRL_INFO, &cinfo, sizeof(cinfo),
sys/dev/raid/ida/ida.c
247
device_printf(ida->dev, "CMD_GET_CTRL_INFO failed.\n");
sys/dev/raid/ida/ida.c
251
device_printf(ida->dev, "drives=%d firm_rev=%c%c%c%c\n",
sys/dev/raid/ida/ida.c
255
if (ida->flags & IDA_FIRMWARE) {
sys/dev/raid/ida/ida.c
258
error = ida_command(ida, CMD_START_FIRMWARE,
sys/dev/raid/ida/ida.c
261
device_printf(ida->dev, "CMD_START_FIRMWARE failed.\n");
sys/dev/raid/ida/ida.c
266
ida->num_drives = 0;
sys/dev/raid/ida/ida.c
268
device_add_child(ida->dev, /*"idad"*/NULL, -1);
sys/dev/raid/ida/ida.c
270
bus_generic_attach(ida->dev);
sys/dev/raid/ida/ida.c
272
ida->cmd.int_enable(ida, 1);
sys/dev/raid/ida/ida.c
278
struct ida_softc *ida;
sys/dev/raid/ida/ida.c
281
ida = (struct ida_softc *)device_get_softc(dev);
sys/dev/raid/ida/ida.c
296
ida_free(ida);
sys/dev/raid/ida/ida.c
317
ida_command(struct ida_softc *ida, int command, void *data, int datasize,
sys/dev/raid/ida/ida.c
326
qcb = ida_get_qcb(ida);
sys/dev/raid/ida/ida.c
337
bus_dmamap_load(ida->buffer_dmat, qcb->dmamap,
sys/dev/raid/ida/ida.c
341
bus_dmamap_sync(ida->buffer_dmat, qcb->dmamap, op);
sys/dev/raid/ida/ida.c
353
STAILQ_INSERT_TAIL(&ida->qcb_queue, qcb, link.stqe);
sys/dev/raid/ida/ida.c
354
ida_start(ida);
sys/dev/raid/ida/ida.c
355
error = ida_wait(ida, qcb);
sys/dev/raid/ida/ida.c
365
ida_submit_buf(struct ida_softc *ida, struct bio *bio)
sys/dev/raid/ida/ida.c
367
bioqdisksort(&ida->bio_queue, bio);
sys/dev/raid/ida/ida.c
368
ida_construct_qcb(ida);
sys/dev/raid/ida/ida.c
369
ida_start(ida);
sys/dev/raid/ida/ida.c
373
ida_construct_qcb(struct ida_softc *ida)
sys/dev/raid/ida/ida.c
381
bio = bioq_first(&ida->bio_queue);
sys/dev/raid/ida/ida.c
385
qcb = ida_get_qcb(ida);
sys/dev/raid/ida/ida.c
389
bioq_remove(&ida->bio_queue, bio);
sys/dev/raid/ida/ida.c
397
bus_dmamap_load(ida->buffer_dmat, qcb->dmamap,
sys/dev/raid/ida/ida.c
401
bus_dmamap_sync(ida->buffer_dmat, qcb->dmamap, op);
sys/dev/raid/ida/ida.c
416
STAILQ_INSERT_TAIL(&ida->qcb_queue, qcb, link.stqe);
sys/dev/raid/ida/ida.c
425
ida_start(struct ida_softc *ida)
sys/dev/raid/ida/ida.c
429
while ((qcb = STAILQ_FIRST(&ida->qcb_queue)) != NULL) {
sys/dev/raid/ida/ida.c
430
if (ida->cmd.fifo_full(ida))
sys/dev/raid/ida/ida.c
432
STAILQ_REMOVE_HEAD(&ida->qcb_queue, link.stqe);
sys/dev/raid/ida/ida.c
438
ida->cmd.submit(ida, qcb);
sys/dev/raid/ida/ida.c
443
ida_wait(struct ida_softc *ida, struct ida_qcb *qcb)
sys/dev/raid/ida/ida.c
449
if (ida->flags & IDA_INTERRUPTS) {
sys/dev/raid/ida/ida.c
457
while ((completed = ida->cmd.done(ida)) == 0) {
sys/dev/raid/ida/ida.c
463
qcb_done = idahwqcbptov(ida, completed & ~3);
sys/dev/raid/ida/ida.c
466
ida_done(ida, qcb);
sys/dev/raid/ida/ida.c
473
struct ida_softc *ida;
sys/dev/raid/ida/ida.c
477
ida = (struct ida_softc *)data;
sys/dev/raid/ida/ida.c
479
if (ida->cmd.int_pending(ida) == 0)
sys/dev/raid/ida/ida.c
482
while ((completed = ida->cmd.done(ida)) != 0) {
sys/dev/raid/ida/ida.c
483
qcb = idahwqcbptov(ida, completed & ~3);
sys/dev/raid/ida/ida.c
486
device_printf(ida->dev,
sys/dev/raid/ida/ida.c
490
ida_done(ida, qcb);
sys/dev/raid/ida/ida.c
492
ida_start(ida);
sys/dev/raid/ida/ida.c
499
ida_done(struct ida_softc *ida, struct ida_qcb *qcb)
sys/dev/raid/ida/ida.c
511
bus_dmamap_sync(ida->buffer_dmat, qcb->dmamap, op);
sys/dev/raid/ida/ida.c
512
bus_dmamap_unload(ida->buffer_dmat, qcb->dmamap);
sys/dev/raid/ida/ida.c
516
device_printf(ida->dev, "soft error\n");
sys/dev/raid/ida/ida.c
519
device_printf(ida->dev, "hard error\n");
sys/dev/raid/ida/ida.c
523
device_printf(ida->dev, "invalid request\n");
sys/dev/raid/ida/ida.c
527
if (ida->flags & IDA_INTERRUPTS)
sys/dev/raid/ida/ida.c
536
SLIST_INSERT_HEAD(&ida->free_qcbs, qcb, link.sle);
sys/dev/raid/ida/ida.c
537
ida_construct_qcb(ida);
sys/dev/raid/ida/ida.c
59
static void ida_alloc_qcb(struct ida_softc *ida);
sys/dev/raid/ida/ida.c
60
static void ida_construct_qcb(struct ida_softc *ida);
sys/dev/raid/ida/ida.c
61
static void ida_start(struct ida_softc *ida);
sys/dev/raid/ida/ida.c
62
static void ida_done(struct ida_softc *ida, struct ida_qcb *qcb);
sys/dev/raid/ida/ida.c
63
static int ida_wait(struct ida_softc *ida, struct ida_qcb *qcb);
sys/dev/raid/ida/ida.c
65
DECLARE_DUMMY_MODULE(ida);
sys/dev/raid/ida/ida.c
68
ida_free(struct ida_softc *ida)
sys/dev/raid/ida/ida.c
72
for (i = 0; i < ida->num_qcbs; i++)
sys/dev/raid/ida/ida.c
73
bus_dmamap_destroy(ida->buffer_dmat, ida->qcbs[i].dmamap);
sys/dev/raid/ida/ida.c
75
if (ida->hwqcb_busaddr)
sys/dev/raid/ida/ida.c
76
bus_dmamap_unload(ida->hwqcb_dmat, ida->hwqcb_dmamap);
sys/dev/raid/ida/ida.c
78
if (ida->hwqcbs)
sys/dev/raid/ida/ida.c
79
bus_dmamem_free(ida->hwqcb_dmat, ida->hwqcbs,
sys/dev/raid/ida/ida.c
80
ida->hwqcb_dmamap);
sys/dev/raid/ida/ida.c
82
if (ida->buffer_dmat)
sys/dev/raid/ida/ida.c
83
bus_dma_tag_destroy(ida->buffer_dmat);
sys/dev/raid/ida/ida.c
85
if (ida->hwqcb_dmat)
sys/dev/raid/ida/ida.c
86
bus_dma_tag_destroy(ida->hwqcb_dmat);
sys/dev/raid/ida/ida.c
88
if (ida->qcbs != NULL)
sys/dev/raid/ida/ida.c
89
kfree(ida->qcbs, M_DEVBUF);
sys/dev/raid/ida/ida.c
91
if (ida->ih != NULL)
sys/dev/raid/ida/ida.c
92
bus_teardown_intr(ida->dev, ida->irq, ida->ih);
sys/dev/raid/ida/ida.c
94
if (ida->irq != NULL)
sys/dev/raid/ida/ida.c
95
bus_release_resource(ida->dev, ida->irq_res_type,
sys/dev/raid/ida/ida.c
96
0, ida->irq);
sys/dev/raid/ida/ida.c
98
if (ida->parent_dmat != NULL)
sys/dev/raid/ida/ida.c
99
bus_dma_tag_destroy(ida->parent_dmat);
sys/dev/raid/ida/ida_disk.c
92
DRIVER_MODULE(idad, ida, idad_driver, idad_devclass, NULL, NULL);
sys/dev/raid/ida/ida_pci.c
102
ida_v4_done(struct ida_softc *ida)
sys/dev/raid/ida/ida_pci.c
106
completed = ida_inl(ida, R_42XX_REPLY);
sys/dev/raid/ida/ida_pci.c
109
ida_outl(ida, R_42XX_REPLY, 0); /* confirm read */
sys/dev/raid/ida/ida_pci.c
114
ida_v4_int_pending(struct ida_softc *ida)
sys/dev/raid/ida/ida_pci.c
116
return (ida_inl(ida, R_42XX_STATUS) & STATUS_42XX_INT_PENDING);
sys/dev/raid/ida/ida_pci.c
120
ida_v4_int_enable(struct ida_softc *ida, int enable)
sys/dev/raid/ida/ida_pci.c
123
ida->flags |= IDA_INTERRUPTS;
sys/dev/raid/ida/ida_pci.c
125
ida->flags &= ~IDA_INTERRUPTS;
sys/dev/raid/ida/ida_pci.c
126
ida_outl(ida, R_42XX_INT_MASK,
sys/dev/raid/ida/ida_pci.c
229
struct ida_softc *ida;
sys/dev/raid/ida/ida_pci.c
243
ida = (struct ida_softc *)device_get_softc(dev);
sys/dev/raid/ida/ida_pci.c
244
ida->dev = dev;
sys/dev/raid/ida/ida_pci.c
245
ida->cmd = *board->accessor;
sys/dev/raid/ida/ida_pci.c
246
ida->flags = board->flags;
sys/dev/raid/ida/ida_pci.c
248
ida->regs_res_type = SYS_RES_MEMORY;
sys/dev/raid/ida/ida_pci.c
249
ida->regs_res_id = IDA_PCI_MEMADDR;
sys/dev/raid/ida/ida_pci.c
251
ida->regs_res_id = PCIR_MAPS;
sys/dev/raid/ida/ida_pci.c
253
ida->regs = bus_alloc_resource(dev, ida->regs_res_type,
sys/dev/raid/ida/ida_pci.c
254
&ida->regs_res_id, 0, ~0, 1, RF_ACTIVE);
sys/dev/raid/ida/ida_pci.c
255
if (ida->regs == NULL) {
sys/dev/raid/ida/ida_pci.c
265
&ida->parent_dmat);
sys/dev/raid/ida/ida_pci.c
268
ida_free(ida);
sys/dev/raid/ida/ida_pci.c
273
ida->irq_res_type = SYS_RES_IRQ;
sys/dev/raid/ida/ida_pci.c
274
ida->irq = bus_alloc_resource(dev, ida->irq_res_type, &rid,
sys/dev/raid/ida/ida_pci.c
276
if (ida->irq == NULL) {
sys/dev/raid/ida/ida_pci.c
277
ida_free(ida);
sys/dev/raid/ida/ida_pci.c
280
error = bus_setup_intr(dev, ida->irq, 0,
sys/dev/raid/ida/ida_pci.c
281
ida_intr, ida, &ida->ih, NULL);
sys/dev/raid/ida/ida_pci.c
284
ida_free(ida);
sys/dev/raid/ida/ida_pci.c
288
error = ida_init(ida);
sys/dev/raid/ida/ida_pci.c
290
ida_free(ida);
sys/dev/raid/ida/ida_pci.c
293
ida_attach(ida);
sys/dev/raid/ida/ida_pci.c
294
ida->flags |= IDA_ATTACHED;
sys/dev/raid/ida/ida_pci.c
299
DRIVER_MODULE(ida, pci, ida_pci_driver, ida_devclass, NULL, NULL);
sys/dev/raid/ida/ida_pci.c
56
ida_v3_fifo_full(struct ida_softc *ida)
sys/dev/raid/ida/ida_pci.c
58
return (ida_inl(ida, R_CMD_FIFO) == 0);
sys/dev/raid/ida/ida_pci.c
62
ida_v3_submit(struct ida_softc *ida, struct ida_qcb *qcb)
sys/dev/raid/ida/ida_pci.c
64
ida_outl(ida, R_CMD_FIFO, qcb->hwqcb_busaddr);
sys/dev/raid/ida/ida_pci.c
68
ida_v3_done(struct ida_softc *ida)
sys/dev/raid/ida/ida_pci.c
70
return (ida_inl(ida, R_DONE_FIFO));
sys/dev/raid/ida/ida_pci.c
74
ida_v3_int_pending(struct ida_softc *ida)
sys/dev/raid/ida/ida_pci.c
76
return (ida_inl(ida, R_INT_PENDING));
sys/dev/raid/ida/ida_pci.c
80
ida_v3_int_enable(struct ida_softc *ida, int enable)
sys/dev/raid/ida/ida_pci.c
83
ida->flags |= IDA_INTERRUPTS;
sys/dev/raid/ida/ida_pci.c
85
ida->flags &= ~IDA_INTERRUPTS;
sys/dev/raid/ida/ida_pci.c
86
ida_outl(ida, R_INT_MASK, enable ? INT_ENABLE : INT_DISABLE);
sys/dev/raid/ida/ida_pci.c
90
ida_v4_fifo_full(struct ida_softc *ida)
sys/dev/raid/ida/ida_pci.c
92
return (ida_inl(ida, R_42XX_REQUEST) != 0);
sys/dev/raid/ida/ida_pci.c
96
ida_v4_submit(struct ida_softc *ida, struct ida_qcb *qcb)
sys/dev/raid/ida/ida_pci.c
98
ida_outl(ida, R_42XX_REQUEST, qcb->hwqcb_busaddr);
sys/dev/raid/ida/idavar.h
192
extern void ida_free(struct ida_softc *ida);
sys/dev/raid/ida/idavar.h
193
extern int ida_init(struct ida_softc *ida);
sys/dev/raid/ida/idavar.h
194
extern void ida_attach(struct ida_softc *ida);
sys/dev/raid/ida/idavar.h
195
extern int ida_command(struct ida_softc *ida, int command, void *data,
sys/dev/raid/ida/idavar.h
197
extern void ida_submit_buf(struct ida_softc *ida, struct bio *bio);
sys/dev/raid/ida/idavar.h
36
#define ida_inb(ida, port) \
sys/dev/raid/ida/idavar.h
37
bus_space_read_1((ida)->tag, (ida)->bsh, port)
sys/dev/raid/ida/idavar.h
38
#define ida_inw(ida, port) \
sys/dev/raid/ida/idavar.h
39
bus_space_read_2((ida)->tag, (ida)->bsh, port)
sys/dev/raid/ida/idavar.h
40
#define ida_inl(ida, port) \
sys/dev/raid/ida/idavar.h
41
bus_space_read_4((ida)->tag, (ida)->bsh, port)
sys/dev/raid/ida/idavar.h
43
#define ida_outb(ida, port, val) \
sys/dev/raid/ida/idavar.h
44
bus_space_write_1((ida)->tag, (ida)->bsh, port, val)
sys/dev/raid/ida/idavar.h
45
#define ida_outw(ida, port, val) \
sys/dev/raid/ida/idavar.h
46
bus_space_write_2((ida)->tag, (ida)->bsh, port, val)
sys/dev/raid/ida/idavar.h
47
#define ida_outl(ida, port, val) \
sys/dev/raid/ida/idavar.h
48
bus_space_write_4((ida)->tag, (ida)->bsh, port, val)