Commit ab60491e authored by Marc Zyngier's avatar Marc Zyngier

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
...@@ -156,12 +156,6 @@ static DEFINE_SPINLOCK(its_lock); ...@@ -156,12 +156,6 @@ static DEFINE_SPINLOCK(its_lock);
static struct rdists *gic_rdists; static struct rdists *gic_rdists;
static struct irq_domain *its_parent; 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 unsigned long its_list_map;
static u16 vmovp_seq_num; static u16 vmovp_seq_num;
static DEFINE_RAW_SPINLOCK(vmovp_lock); static DEFINE_RAW_SPINLOCK(vmovp_lock);
...@@ -2988,8 +2982,8 @@ static int __init its_compute_its_list_map(struct resource *res, ...@@ -2988,8 +2982,8 @@ static int __init its_compute_its_list_map(struct resource *res,
* locking. Should this change, we should address * locking. Should this change, we should address
* this. * this.
*/ */
its_number = find_first_zero_bit(&its_list_map, ITS_LIST_MAX); its_number = find_first_zero_bit(&its_list_map, GICv4_ITS_LIST_MAX);
if (its_number >= ITS_LIST_MAX) { if (its_number >= GICv4_ITS_LIST_MAX) {
pr_err("ITS@%pa: No ITSList entry available!\n", pr_err("ITS@%pa: No ITSList entry available!\n",
&res->start); &res->start);
return -EINVAL; return -EINVAL;
......
...@@ -20,6 +20,12 @@ ...@@ -20,6 +20,12 @@
struct its_vpe; 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 */ /* Embedded in kvm.arch */
struct its_vm { struct its_vm {
struct fwnode_handle *fwnode; struct fwnode_handle *fwnode;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment