pnv_phb4_pec: Only export existing PHBs to the device tree
So far, we were always exporting all possible PHBs to the device
tree. It works well when using the default config but it potentially
adds non-existing devices when using '-nodefaults' and user-created
PHBs, causing the firmware (skiboot) to report errors when probing
those PHBs. This patch only exports PHBs which have been realized to
the device tree.
Fixes: d786be3fe7
("ppc/pnv: enable user created pnv-phb for powernv9")
Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
Message-Id: <20230302163715.129635-3-fbarrat@linux.ibm.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
1068ebb606
commit
cd9b1cf96e
@ -199,9 +199,12 @@ static int pnv_pec_dt_xscom(PnvXScomInterface *dev, void *fdt,
|
||||
pecc->compat_size)));
|
||||
|
||||
for (i = 0; i < pec->num_phbs; i++) {
|
||||
int phb_id = pnv_phb4_pec_get_phb_id(pec, i);
|
||||
int stk_offset;
|
||||
|
||||
if (!pec->phbs[i]) {
|
||||
continue;
|
||||
}
|
||||
|
||||
name = g_strdup_printf("stack@%x", i);
|
||||
stk_offset = fdt_add_subnode(fdt, offset, name);
|
||||
_FDT(stk_offset);
|
||||
@ -209,7 +212,8 @@ static int pnv_pec_dt_xscom(PnvXScomInterface *dev, void *fdt,
|
||||
_FDT((fdt_setprop(fdt, stk_offset, "compatible", pecc->stk_compat,
|
||||
pecc->stk_compat_size)));
|
||||
_FDT((fdt_setprop_cell(fdt, stk_offset, "reg", i)));
|
||||
_FDT((fdt_setprop_cell(fdt, stk_offset, "ibm,phb-index", phb_id)));
|
||||
_FDT((fdt_setprop_cell(fdt, stk_offset, "ibm,phb-index",
|
||||
pec->phbs[i]->phb_id)));
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user