From 7eccd8dd1201138c1120d4d84d76f6de4b16ee34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Fri, 12 Jun 2020 13:37:27 +0200 Subject: xive/p9: Introduce XIVE_EQ_SHIFT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each EQ descriptor is associated with a pair of ESB pages. The even page controls the ESn PQ bits and the odd page controls the ESe PQ bits. Reviewed-by: Gustavo Romero Signed-off-by: Cédric Le Goater Signed-off-by: Oliver O'Halloran --- hw/xive.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'hw/xive.c') diff --git a/hw/xive.c b/hw/xive.c index 3e7b87f..a106bd5 100644 --- a/hw/xive.c +++ b/hw/xive.c @@ -100,7 +100,6 @@ /* Use 64K for everything by default */ #define IC_PAGE_SIZE 0x10000 #define TM_PAGE_SIZE 0x10000 -#define EQ_ESB_SHIFT (16 + 1) /* VC BAR contains set translations for the ESBs and the EQs. * @@ -182,6 +181,8 @@ #define EQ_PER_PAGE (0x10000 / 32) // Use sizeof ? #define IND_EQ_TABLE_SIZE ((XIVE_EQ_COUNT / EQ_PER_PAGE) * 8) +#define XIVE_EQ_SHIFT (16 + 1) /* ESn + ESe pages */ + /* Number of priorities (and thus EQDs) we allocate for each VP */ #define NUM_INT_PRIORITIES 8 @@ -2676,7 +2677,7 @@ static struct xive *init_one_xive(struct dt_node *np) /* Register escalation sources */ __xive_register_source(x, &x->esc_irqs, MAKE_ESCALATION_GIRQ(x->block_id, 0), - XIVE_EQ_COUNT, EQ_ESB_SHIFT, + XIVE_EQ_COUNT, XIVE_EQ_SHIFT, x->eq_mmio, XIVE_SRC_EOI_PAGE1, false, NULL, NULL); -- cgit v1.1