its_dev           104 drivers/irqchip/irq-gic-v3-its.c 	u64			(*get_msi_base)(struct its_device *its_dev);
its_dev           194 drivers/irqchip/irq-gic-v3-its.c static struct its_collection *dev_event_to_col(struct its_device *its_dev,
its_dev           197 drivers/irqchip/irq-gic-v3-its.c 	struct its_node *its = its_dev->its;
its_dev           199 drivers/irqchip/irq-gic-v3-its.c 	return its->collections + its_dev->event_map.col_map[event];
its_dev          1051 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          1052 drivers/irqchip/irq-gic-v3-its.c 	return d->hwirq - its_dev->event_map.lpi_base;
its_dev          1062 drivers/irqchip/irq-gic-v3-its.c 		struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          1066 drivers/irqchip/irq-gic-v3-its.c 		va = page_address(its_dev->event_map.vm->vprop_page);
its_dev          1067 drivers/irqchip/irq-gic-v3-its.c 		map = &its_dev->event_map.vlpi_maps[event];
its_dev          1095 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          1098 drivers/irqchip/irq-gic-v3-its.c 	its_send_inv(its_dev, its_get_event_id(d));
its_dev          1103 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          1106 drivers/irqchip/irq-gic-v3-its.c 	if (its_dev->event_map.vlpi_maps[event].db_enabled == enable)
its_dev          1109 drivers/irqchip/irq-gic-v3-its.c 	its_dev->event_map.vlpi_maps[event].db_enabled = enable;
its_dev          1121 drivers/irqchip/irq-gic-v3-its.c 	its_send_vmovi(its_dev, event);
its_dev          1145 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          1154 drivers/irqchip/irq-gic-v3-its.c 	if (its_dev->its->flags & ITS_FLAGS_WORKAROUND_CAVIUM_23144) {
its_dev          1155 drivers/irqchip/irq-gic-v3-its.c 		if (its_dev->its->numa_node >= 0) {
its_dev          1156 drivers/irqchip/irq-gic-v3-its.c 			cpu_mask = cpumask_of_node(its_dev->its->numa_node);
its_dev          1168 drivers/irqchip/irq-gic-v3-its.c 	if (cpu != its_dev->event_map.col_map[id]) {
its_dev          1169 drivers/irqchip/irq-gic-v3-its.c 		target_col = &its_dev->its->collections[cpu];
its_dev          1170 drivers/irqchip/irq-gic-v3-its.c 		its_send_movi(its_dev, target_col, id);
its_dev          1171 drivers/irqchip/irq-gic-v3-its.c 		its_dev->event_map.col_map[id] = cpu;
its_dev          1178 drivers/irqchip/irq-gic-v3-its.c static u64 its_irq_get_msi_base(struct its_device *its_dev)
its_dev          1180 drivers/irqchip/irq-gic-v3-its.c 	struct its_node *its = its_dev->its;
its_dev          1187 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          1191 drivers/irqchip/irq-gic-v3-its.c 	its = its_dev->its;
its_dev          1192 drivers/irqchip/irq-gic-v3-its.c 	addr = its->get_msi_base(its_dev);
its_dev          1205 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          1212 drivers/irqchip/irq-gic-v3-its.c 		its_send_int(its_dev, event);
its_dev          1214 drivers/irqchip/irq-gic-v3-its.c 		its_send_clear(its_dev, event);
its_dev          1275 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          1282 drivers/irqchip/irq-gic-v3-its.c 	mutex_lock(&its_dev->event_map.vlpi_lock);
its_dev          1284 drivers/irqchip/irq-gic-v3-its.c 	if (!its_dev->event_map.vm) {
its_dev          1287 drivers/irqchip/irq-gic-v3-its.c 		maps = kcalloc(its_dev->event_map.nr_lpis, sizeof(*maps),
its_dev          1294 drivers/irqchip/irq-gic-v3-its.c 		its_dev->event_map.vm = info->map->vm;
its_dev          1295 drivers/irqchip/irq-gic-v3-its.c 		its_dev->event_map.vlpi_maps = maps;
its_dev          1296 drivers/irqchip/irq-gic-v3-its.c 	} else if (its_dev->event_map.vm != info->map->vm) {
its_dev          1302 drivers/irqchip/irq-gic-v3-its.c 	its_dev->event_map.vlpi_maps[event] = *info->map;
its_dev          1306 drivers/irqchip/irq-gic-v3-its.c 		its_send_vmovi(its_dev, event);
its_dev          1309 drivers/irqchip/irq-gic-v3-its.c 		its_map_vm(its_dev->its, info->map->vm);
its_dev          1321 drivers/irqchip/irq-gic-v3-its.c 		its_send_discard(its_dev, event);
its_dev          1324 drivers/irqchip/irq-gic-v3-its.c 		its_send_vmapti(its_dev, event);
its_dev          1327 drivers/irqchip/irq-gic-v3-its.c 		its_dev->event_map.nr_vlpis++;
its_dev          1331 drivers/irqchip/irq-gic-v3-its.c 	mutex_unlock(&its_dev->event_map.vlpi_lock);
its_dev          1337 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          1341 drivers/irqchip/irq-gic-v3-its.c 	mutex_lock(&its_dev->event_map.vlpi_lock);
its_dev          1343 drivers/irqchip/irq-gic-v3-its.c 	if (!its_dev->event_map.vm ||
its_dev          1344 drivers/irqchip/irq-gic-v3-its.c 	    !its_dev->event_map.vlpi_maps[event].vm) {
its_dev          1350 drivers/irqchip/irq-gic-v3-its.c 	*info->map = its_dev->event_map.vlpi_maps[event];
its_dev          1353 drivers/irqchip/irq-gic-v3-its.c 	mutex_unlock(&its_dev->event_map.vlpi_lock);
its_dev          1359 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          1363 drivers/irqchip/irq-gic-v3-its.c 	mutex_lock(&its_dev->event_map.vlpi_lock);
its_dev          1365 drivers/irqchip/irq-gic-v3-its.c 	if (!its_dev->event_map.vm || !irqd_is_forwarded_to_vcpu(d)) {
its_dev          1371 drivers/irqchip/irq-gic-v3-its.c 	its_send_discard(its_dev, event);
its_dev          1375 drivers/irqchip/irq-gic-v3-its.c 	its_send_mapti(its_dev, d->hwirq, event);
its_dev          1381 drivers/irqchip/irq-gic-v3-its.c 	its_unmap_vm(its_dev->its, its_dev->event_map.vm);
its_dev          1387 drivers/irqchip/irq-gic-v3-its.c 	if (!--its_dev->event_map.nr_vlpis) {
its_dev          1388 drivers/irqchip/irq-gic-v3-its.c 		its_dev->event_map.vm = NULL;
its_dev          1389 drivers/irqchip/irq-gic-v3-its.c 		kfree(its_dev->event_map.vlpi_maps);
its_dev          1393 drivers/irqchip/irq-gic-v3-its.c 	mutex_unlock(&its_dev->event_map.vlpi_lock);
its_dev          1399 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          1401 drivers/irqchip/irq-gic-v3-its.c 	if (!its_dev->event_map.vm || !irqd_is_forwarded_to_vcpu(d))
its_dev          1415 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          1419 drivers/irqchip/irq-gic-v3-its.c 	if (!its_dev->its->is_v4)
its_dev          2284 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = NULL, *tmp;
its_dev          2291 drivers/irqchip/irq-gic-v3-its.c 			its_dev = tmp;
its_dev          2298 drivers/irqchip/irq-gic-v3-its.c 	return its_dev;
its_dev          2467 drivers/irqchip/irq-gic-v3-its.c static void its_free_device(struct its_device *its_dev)
its_dev          2471 drivers/irqchip/irq-gic-v3-its.c 	raw_spin_lock_irqsave(&its_dev->its->lock, flags);
its_dev          2472 drivers/irqchip/irq-gic-v3-its.c 	list_del(&its_dev->entry);
its_dev          2473 drivers/irqchip/irq-gic-v3-its.c 	raw_spin_unlock_irqrestore(&its_dev->its->lock, flags);
its_dev          2474 drivers/irqchip/irq-gic-v3-its.c 	kfree(its_dev->itt);
its_dev          2475 drivers/irqchip/irq-gic-v3-its.c 	kfree(its_dev);
its_dev          2498 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev;
its_dev          2525 drivers/irqchip/irq-gic-v3-its.c 	its_dev = its_find_device(its, dev_id);
its_dev          2526 drivers/irqchip/irq-gic-v3-its.c 	if (its_dev) {
its_dev          2532 drivers/irqchip/irq-gic-v3-its.c 		its_dev->shared = true;
its_dev          2537 drivers/irqchip/irq-gic-v3-its.c 	its_dev = its_create_device(its, dev_id, nvec, true);
its_dev          2538 drivers/irqchip/irq-gic-v3-its.c 	if (!its_dev) {
its_dev          2546 drivers/irqchip/irq-gic-v3-its.c 	info->scratchpad[0].ptr = its_dev;
its_dev          2582 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = info->scratchpad[0].ptr;
its_dev          2583 drivers/irqchip/irq-gic-v3-its.c 	struct its_node *its = its_dev->its;
its_dev          2588 drivers/irqchip/irq-gic-v3-its.c 	err = its_alloc_device_irq(its_dev, nr_irqs, &hwirq);
its_dev          2592 drivers/irqchip/irq-gic-v3-its.c 	err = iommu_dma_prepare_msi(info->desc, its->get_msi_base(its_dev));
its_dev          2602 drivers/irqchip/irq-gic-v3-its.c 					      hwirq + i, &its_irq_chip, its_dev);
its_dev          2605 drivers/irqchip/irq-gic-v3-its.c 			 (int)(hwirq + i - its_dev->event_map.lpi_base),
its_dev          2615 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          2621 drivers/irqchip/irq-gic-v3-its.c 	if (its_dev->its->numa_node >= 0)
its_dev          2622 drivers/irqchip/irq-gic-v3-its.c 		cpu_mask = cpumask_of_node(its_dev->its->numa_node);
its_dev          2627 drivers/irqchip/irq-gic-v3-its.c 		if (its_dev->its->flags & ITS_FLAGS_WORKAROUND_CAVIUM_23144)
its_dev          2633 drivers/irqchip/irq-gic-v3-its.c 	its_dev->event_map.col_map[event] = cpu;
its_dev          2637 drivers/irqchip/irq-gic-v3-its.c 	its_send_mapti(its_dev, d->hwirq, event);
its_dev          2644 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          2648 drivers/irqchip/irq-gic-v3-its.c 	its_send_discard(its_dev, event);
its_dev          2655 drivers/irqchip/irq-gic-v3-its.c 	struct its_device *its_dev = irq_data_get_irq_chip_data(d);
its_dev          2656 drivers/irqchip/irq-gic-v3-its.c 	struct its_node *its = its_dev->its;
its_dev          2659 drivers/irqchip/irq-gic-v3-its.c 	bitmap_release_region(its_dev->event_map.lpi_map,
its_dev          2676 drivers/irqchip/irq-gic-v3-its.c 	if (!its_dev->shared &&
its_dev          2677 drivers/irqchip/irq-gic-v3-its.c 	    bitmap_empty(its_dev->event_map.lpi_map,
its_dev          2678 drivers/irqchip/irq-gic-v3-its.c 			 its_dev->event_map.nr_lpis)) {
its_dev          2679 drivers/irqchip/irq-gic-v3-its.c 		its_lpi_free(its_dev->event_map.lpi_map,
its_dev          2680 drivers/irqchip/irq-gic-v3-its.c 			     its_dev->event_map.lpi_base,
its_dev          2681 drivers/irqchip/irq-gic-v3-its.c 			     its_dev->event_map.nr_lpis);
its_dev          2682 drivers/irqchip/irq-gic-v3-its.c 		kfree(its_dev->event_map.col_map);
its_dev          2685 drivers/irqchip/irq-gic-v3-its.c 		its_send_mapd(its_dev, 0);
its_dev          2686 drivers/irqchip/irq-gic-v3-its.c 		its_free_device(its_dev);
its_dev          3250 drivers/irqchip/irq-gic-v3-its.c static u64 its_irq_get_msi_base_pre_its(struct its_device *its_dev)
its_dev          3252 drivers/irqchip/irq-gic-v3-its.c 	struct its_node *its = its_dev->its;
its_dev          3261 drivers/irqchip/irq-gic-v3-its.c 	return its->pre_its_base + (its_dev->device_id << 2);