ppc/pnv: change pnv_pec_stk_update_map() to use PnvPHB4

stack->nest_regs_mr wasn't migrated to PnvPHB4 together with phb->nest_regs[] in
the previous patch. We were unable to cleanly convert its write MemoryRegionOps,
pnv_pec_stk_nest_xscom_write(), to use PnvPHB4 instead of PnvPhb4PecStack due to
pnv_pec_stk_update_map() using a stack. Thing is, we're now able to convert
pnv_pec_stk_update_map() because of what the did in previous patch.

The need for this intermediate step is a good example of the interconnected
relationship between stack and phb that we aim to cleanup.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220113192952.911188-9-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
staging
Daniel Henrique Barboza 2022-01-18 12:56:31 +01:00 committed by Cédric Le Goater
parent 98f0833343
commit e19e998ce2
1 changed files with 3 additions and 3 deletions

View File

@ -893,10 +893,10 @@ static void pnv_phb4_update_regions(PnvPHB4 *phb)
pnv_phb4_check_all_mbt(phb);
}
static void pnv_pec_stk_update_map(PnvPhb4PecStack *stack)
static void pnv_pec_stk_update_map(PnvPHB4 *phb)
{
PnvPhb4PecStack *stack = phb->stack;
PnvPhb4PecState *pec = stack->pec;
PnvPHB4 *phb = stack->phb;
MemoryRegion *sysmem = get_system_memory();
uint64_t bar_en = phb->nest_regs[PEC_NEST_STK_BAR_EN];
uint64_t bar, mask, size;
@ -1046,7 +1046,7 @@ static void pnv_pec_stk_nest_xscom_write(void *opaque, hwaddr addr,
break;
case PEC_NEST_STK_BAR_EN:
phb->nest_regs[reg] = val & 0xf000000000000000ull;
pnv_pec_stk_update_map(stack);
pnv_pec_stk_update_map(phb);
break;
case PEC_NEST_STK_DATA_FRZ_TYPE:
case PEC_NEST_STK_PBCQ_TUN_BAR: