aboutsummaryrefslogtreecommitdiff
path: root/hw/xive.c
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2019-11-11 15:44:43 +1000
committerOliver O'Halloran <oohall@gmail.com>2019-11-11 18:35:00 +1100
commit154e4eedd84470b8d47c0bd8f3a498262fca8d18 (patch)
tree7655d71fd0a41f1bcd4006ca08acc5f14b213a51 /hw/xive.c
parent2501c3f6b843e7a1ef3fcd095cbbbd263d6420e3 (diff)
downloadskiboot-154e4eedd84470b8d47c0bd8f3a498262fca8d18.zip
skiboot-154e4eedd84470b8d47c0bd8f3a498262fca8d18.tar.gz
skiboot-154e4eedd84470b8d47c0bd8f3a498262fca8d18.tar.bz2
xive/p9: use predefined bitmasks to manipulate EQ addresses
This catches one more case missed by commit 2354857fca. Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Diffstat (limited to 'hw/xive.c')
-rw-r--r--hw/xive.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/hw/xive.c b/hw/xive.c
index bf29833..324b8d0 100644
--- a/hw/xive.c
+++ b/hw/xive.c
@@ -802,8 +802,9 @@ static void xive_init_emu_eq(uint32_t vp_blk, uint32_t vp_idx,
memset(eq, 0, sizeof(struct xive_eq));
eq->w1 = EQ_W1_GENERATION;
- eq->w3 = ((uint64_t)backing_page) & 0xffffffff;
- eq->w2 = (((uint64_t)backing_page)) >> 32 & 0x0fffffff;
+ eq->w3 = ((uint64_t)backing_page) & EQ_W3_OP_DESC_LO;
+ eq->w2 = (((uint64_t)backing_page) >> 32) & EQ_W2_OP_DESC_HI;
+
eq->w6 = SETFIELD(EQ_W6_NVT_BLOCK, 0ul, vp_blk) |
SETFIELD(EQ_W6_NVT_INDEX, 0ul, vp_idx);
eq->w7 = SETFIELD(EQ_W7_F0_PRIORITY, 0ul, prio);