Symbol: its_dev
sys/arm64/arm64/gicv3_its.c
1430
static struct its_dev *
sys/arm64/arm64/gicv3_its.c
1434
struct its_dev *its_dev = NULL;
sys/arm64/arm64/gicv3_its.c
1439
TAILQ_FOREACH(its_dev, &sc->sc_its_dev_list, entry) {
sys/arm64/arm64/gicv3_its.c
1440
if (its_dev->pci_dev == child)
sys/arm64/arm64/gicv3_its.c
1445
return (its_dev);
sys/arm64/arm64/gicv3_its.c
152
TAILQ_ENTRY(its_dev) entry;
sys/arm64/arm64/gicv3_its.c
1523
static struct its_dev *
sys/arm64/arm64/gicv3_its.c
1527
struct its_dev *its_dev;
sys/arm64/arm64/gicv3_its.c
1533
its_dev = its_device_find(dev, child);
sys/arm64/arm64/gicv3_its.c
1534
if (its_dev != NULL)
sys/arm64/arm64/gicv3_its.c
1535
return (its_dev);
sys/arm64/arm64/gicv3_its.c
1537
its_dev = malloc(sizeof(*its_dev), M_GICV3_ITS, M_NOWAIT | M_ZERO);
sys/arm64/arm64/gicv3_its.c
1538
if (its_dev == NULL)
sys/arm64/arm64/gicv3_its.c
1541
its_dev->pci_dev = child;
sys/arm64/arm64/gicv3_its.c
1542
its_dev->devid = its_get_devid(child);
sys/arm64/arm64/gicv3_its.c
1544
its_dev->lpis.lpi_busy = 0;
sys/arm64/arm64/gicv3_its.c
1545
its_dev->lpis.lpi_num = nvecs;
sys/arm64/arm64/gicv3_its.c
1546
its_dev->lpis.lpi_free = nvecs;
sys/arm64/arm64/gicv3_its.c
1548
if (!its_device_alloc(sc, its_dev->devid)) {
sys/arm64/arm64/gicv3_its.c
1549
free(its_dev, M_GICV3_ITS);
sys/arm64/arm64/gicv3_its.c
1555
free(its_dev, M_GICV3_ITS);
sys/arm64/arm64/gicv3_its.c
1558
its_dev->lpis.lpi_base = irq_base;
sys/arm64/arm64/gicv3_its.c
1568
its_dev->itt = contigmalloc_domainset(itt_size,
sys/arm64/arm64/gicv3_its.c
1572
if (its_dev->itt == NULL) {
sys/arm64/arm64/gicv3_its.c
1573
vmem_free(sc->sc_irq_alloc, its_dev->lpis.lpi_base, nvecs);
sys/arm64/arm64/gicv3_its.c
1574
free(its_dev, M_GICV3_ITS);
sys/arm64/arm64/gicv3_its.c
1580
cpu_dcache_wb_range(its_dev->itt, itt_size);
sys/arm64/arm64/gicv3_its.c
1583
TAILQ_INSERT_TAIL(&sc->sc_its_dev_list, its_dev, entry);
sys/arm64/arm64/gicv3_its.c
1587
its_cmd_mapd(dev, its_dev, 1);
sys/arm64/arm64/gicv3_its.c
1589
return (its_dev);
sys/arm64/arm64/gicv3_its.c
1593
its_device_release(device_t dev, struct its_dev *its_dev)
sys/arm64/arm64/gicv3_its.c
1597
KASSERT(its_dev->lpis.lpi_busy == 0,
sys/arm64/arm64/gicv3_its.c
1601
its_cmd_mapd(dev, its_dev, 0);
sys/arm64/arm64/gicv3_its.c
1607
TAILQ_REMOVE(&sc->sc_its_dev_list, its_dev, entry);
sys/arm64/arm64/gicv3_its.c
1611
KASSERT(its_dev->itt != NULL, ("Invalid ITT in valid ITS device"));
sys/arm64/arm64/gicv3_its.c
1612
free(its_dev->itt, M_GICV3_ITS);
sys/arm64/arm64/gicv3_its.c
1615
vmem_free(sc->sc_irq_alloc, its_dev->lpis.lpi_base,
sys/arm64/arm64/gicv3_its.c
1616
its_dev->lpis.lpi_num);
sys/arm64/arm64/gicv3_its.c
1618
free(its_dev, M_GICV3_ITS);
sys/arm64/arm64/gicv3_its.c
1674
struct its_dev *its_dev;
sys/arm64/arm64/gicv3_its.c
1678
its_dev = its_device_get(dev, child, count);
sys/arm64/arm64/gicv3_its.c
1679
if (its_dev == NULL)
sys/arm64/arm64/gicv3_its.c
1682
KASSERT(its_dev->lpis.lpi_free >= count,
sys/arm64/arm64/gicv3_its.c
1685
irq = its_dev->lpis.lpi_base + its_dev->lpis.lpi_num -
sys/arm64/arm64/gicv3_its.c
1686
its_dev->lpis.lpi_free;
sys/arm64/arm64/gicv3_its.c
1690
its_dev->lpis.lpi_free--;
sys/arm64/arm64/gicv3_its.c
1715
girq->gi_its_dev = its_dev;
sys/arm64/arm64/gicv3_its.c
172
struct its_dev *its_dev;
sys/arm64/arm64/gicv3_its.c
1721
its_dev->lpis.lpi_busy += count;
sys/arm64/arm64/gicv3_its.c
1733
struct its_dev *its_dev;
sys/arm64/arm64/gicv3_its.c
1736
its_dev = its_device_find(dev, child);
sys/arm64/arm64/gicv3_its.c
1738
KASSERT(its_dev != NULL,
sys/arm64/arm64/gicv3_its.c
1741
KASSERT(its_dev->lpis.lpi_busy >= count,
sys/arm64/arm64/gicv3_its.c
1744
its_dev->lpis.lpi_busy));
sys/arm64/arm64/gicv3_its.c
1753
its_dev->lpis.lpi_busy -= count;
sys/arm64/arm64/gicv3_its.c
1755
if (its_dev->lpis.lpi_busy == 0)
sys/arm64/arm64/gicv3_its.c
1756
its_device_release(dev, its_dev);
sys/arm64/arm64/gicv3_its.c
1767
struct its_dev *its_dev;
sys/arm64/arm64/gicv3_its.c
1771
its_dev = its_device_get(dev, child, nvecs);
sys/arm64/arm64/gicv3_its.c
1772
if (its_dev == NULL)
sys/arm64/arm64/gicv3_its.c
1775
KASSERT(its_dev->lpis.lpi_free > 0,
sys/arm64/arm64/gicv3_its.c
1778
irq = its_dev->lpis.lpi_base + its_dev->lpis.lpi_num -
sys/arm64/arm64/gicv3_its.c
1779
its_dev->lpis.lpi_free;
sys/arm64/arm64/gicv3_its.c
1784
girq->gi_id = its_dev->lpis.lpi_busy;
sys/arm64/arm64/gicv3_its.c
1785
girq->gi_its_dev = its_dev;
sys/arm64/arm64/gicv3_its.c
1787
its_dev->lpis.lpi_free--;
sys/arm64/arm64/gicv3_its.c
1788
its_dev->lpis.lpi_busy++;
sys/arm64/arm64/gicv3_its.c
1805
struct its_dev *its_dev;
sys/arm64/arm64/gicv3_its.c
1807
its_dev = its_device_find(dev, child);
sys/arm64/arm64/gicv3_its.c
1809
KASSERT(its_dev != NULL,
sys/arm64/arm64/gicv3_its.c
1812
KASSERT(its_dev->lpis.lpi_busy > 0,
sys/arm64/arm64/gicv3_its.c
1814
"were allocated: allocated %d", its_dev->lpis.lpi_busy));
sys/arm64/arm64/gicv3_its.c
1821
its_dev->lpis.lpi_busy--;
sys/arm64/arm64/gicv3_its.c
1823
if (its_dev->lpis.lpi_busy == 0)
sys/arm64/arm64/gicv3_its.c
1824
its_device_release(dev, its_dev);
sys/arm64/arm64/gicv3_its.c
187
struct its_dev *its_dev;
sys/arm64/arm64/gicv3_its.c
194
struct its_dev *its_dev;
sys/arm64/arm64/gicv3_its.c
200
struct its_dev *its_dev;
sys/arm64/arm64/gicv3_its.c
205
struct its_dev *its_dev;
sys/arm64/arm64/gicv3_its.c
2091
cmd_format_devid(cmd, desc->cmd_desc_movi.its_dev->devid);
sys/arm64/arm64/gicv3_its.c
2100
cmd_format_itt(cmd, vtophys(desc->cmd_desc_mapd.its_dev->itt));
sys/arm64/arm64/gicv3_its.c
2108
size = fls(desc->cmd_desc_mapd.its_dev->lpis.lpi_num);
sys/arm64/arm64/gicv3_its.c
2114
cmd_format_devid(cmd, desc->cmd_desc_mapd.its_dev->devid);
sys/arm64/arm64/gicv3_its.c
2127
cmd_format_devid(cmd, desc->cmd_desc_mapvi.its_dev->devid);
sys/arm64/arm64/gicv3_its.c
2135
cmd_format_devid(cmd, desc->cmd_desc_mapi.its_dev->devid);
sys/arm64/arm64/gicv3_its.c
2142
cmd_format_devid(cmd, desc->cmd_desc_inv.its_dev->devid);
sys/arm64/arm64/gicv3_its.c
2211
desc.cmd_desc_movi.its_dev = girq->gi_its_dev;
sys/arm64/arm64/gicv3_its.c
2248
desc.cmd_desc_mapvi.its_dev = girq->gi_its_dev;
sys/arm64/arm64/gicv3_its.c
2259
its_cmd_mapd(device_t dev, struct its_dev *its_dev, uint8_t valid)
sys/arm64/arm64/gicv3_its.c
2264
desc.cmd_desc_mapd.its_dev = its_dev;
sys/arm64/arm64/gicv3_its.c
2271
its_cmd_inv(device_t dev, struct its_dev *its_dev,
sys/arm64/arm64/gicv3_its.c
2284
desc.cmd_desc_inv.its_dev = its_dev;
sys/arm64/arm64/gicv3_its.c
246
struct its_dev *gi_its_dev;
sys/arm64/arm64/gicv3_its.c
283
TAILQ_HEAD(its_dev_list, its_dev) sc_its_dev_list;
sys/arm64/arm64/gicv3_its.c
373
static void its_cmd_mapd(device_t, struct its_dev *, uint8_t);
sys/arm64/arm64/gicv3_its.c
374
static void its_cmd_inv(device_t, struct its_dev *, struct gicv3_its_irqsrc *);