[Skiboot] [PATCH 2/2] ast: Account for differences between 2400 vs 2500

Michael Neuling mikey at neuling.org
Fri Feb 17 17:26:40 AEDT 2017


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 at neuling.org>
---
 platforms/astbmc/common.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/platforms/astbmc/common.c b/platforms/astbmc/common.c
index 2dcf40bc9c..6f29e61a39 100644
--- a/platforms/astbmc/common.c
+++ b/platforms/astbmc/common.c
@@ -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);
-- 
2.9.3



More information about the Skiboot mailing list