@@ -344,6 +344,10 @@ static void astbmc_fixup_psi_bar(void)
struct proc_chip *chip = next_chip(NULL);
uint64_t psibar;
+ /* This is P8 specific */
+ if (proc_gen != proc_gen_p8)
+ return;
+
/* Read PSI BAR */
if (xscom_read(chip->id, 0x201090A, &psibar)) {
prerror("PLAT: Error reading PSI BAR\n");
@@ -365,17 +369,11 @@ static void astbmc_fixup_psi_bar(void)
void astbmc_early_init(void)
{
- /*
- * On P9 we don't have a HB supplied devicetree and we have a
- * different PSI BAR hack here is P8 specific.
- */
- if (proc_gen == proc_gen_p8) {
- /* Hostboot's device-tree isn't quite right yet */
- astbmc_fixup_dt();
+ /* Hostboot's device-tree isn't quite right yet */
+ astbmc_fixup_dt();
- /* Hostboot forgets to populate the PSI BAR */
- astbmc_fixup_psi_bar();
- }
+ /* Hostboot forgets to populate the PSI BAR */
+ astbmc_fixup_psi_bar();
/* Send external interrupts to me */
psi_set_external_irq_policy(EXTERNAL_IRQ_POLICY_SKIBOOT);
Currently astbmc_early_init() only applies to AST2400/POWER8. This fixes the code so it also applies to AST2500/POWER9 except for the PSI BAR fixup which is not needed on AST2500/POWER9. Signed-off-by: Michael Neuling <mikey@neuling.org> --- platforms/astbmc/common.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-)