Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab60491e authored by Marc Zyngier's avatar Marc Zyngier
Browse files

irqchip/gic-v3-its: Make GICv4_ITS_LIST_MAX globally available



As we're about to make use of the maximum number of ITSs in
a GICv4 system, let's make this value global (and rename it to
GICv4_ITS_LIST_MAX).

Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
parent debf6d02
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -156,12 +156,6 @@ static DEFINE_SPINLOCK(its_lock);
static struct rdists *gic_rdists;
static struct irq_domain *its_parent;

/*
 * We have a maximum number of 16 ITSs in the whole system if we're
 * using the ITSList mechanism
 */
#define ITS_LIST_MAX		16

static unsigned long its_list_map;
static u16 vmovp_seq_num;
static DEFINE_RAW_SPINLOCK(vmovp_lock);
@@ -2988,8 +2982,8 @@ static int __init its_compute_its_list_map(struct resource *res,
	 * locking. Should this change, we should address
	 * this.
	 */
	its_number = find_first_zero_bit(&its_list_map, ITS_LIST_MAX);
	if (its_number >= ITS_LIST_MAX) {
	its_number = find_first_zero_bit(&its_list_map, GICv4_ITS_LIST_MAX);
	if (its_number >= GICv4_ITS_LIST_MAX) {
		pr_err("ITS@%pa: No ITSList entry available!\n",
		       &res->start);
		return -EINVAL;
+6 −0
Original line number Diff line number Diff line
@@ -20,6 +20,12 @@

struct its_vpe;

/*
 * Maximum number of ITTs when GITS_TYPER.VMOVP == 0, using the
 * ITSList mechanism to perform inter-ITS synchronization.
 */
#define GICv4_ITS_LIST_MAX		16

/* Embedded in kvm.arch */
struct its_vm {
	struct fwnode_handle	*fwnode;