From patchwork Mon Nov 14 02:06:02 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Herrenschmidt X-Patchwork-Id: 694319 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3tHDWQ6LTMz9sCZ for ; Mon, 14 Nov 2016 13:10:26 +1100 (AEDT) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3tHDWQ5VzzzDvRV for ; Mon, 14 Nov 2016 13:10:26 +1100 (AEDT) X-Original-To: skiboot@lists.ozlabs.org Delivered-To: skiboot@lists.ozlabs.org Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3tHDW540m6zDvRV for ; Mon, 14 Nov 2016 13:10:09 +1100 (AEDT) Received: from pasglop.ozlabs.ibm.com (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.13.8) with ESMTP id uAE26UWM006812; Sun, 13 Nov 2016 20:06:32 -0600 From: Benjamin Herrenschmidt To: skiboot@lists.ozlabs.org Date: Mon, 14 Nov 2016 13:06:02 +1100 Message-Id: <1479089181-18410-2-git-send-email-benh@kernel.crashing.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1479089181-18410-1-git-send-email-benh@kernel.crashing.org> References: <1479089181-18410-1-git-send-email-benh@kernel.crashing.org> Subject: [Skiboot] [PATCH 02/21] psi: Fix P9 BAR setup on multi-chips X-BeenThere: skiboot@lists.ozlabs.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Mailing list for skiboot development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Skiboot" We need to inject the chip id in the MMIO address Signed-off-by: Benjamin Herrenschmidt --- hw/psi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/psi.c b/hw/psi.c index 503e1ce..a7ea12c 100644 --- a/hw/psi.c +++ b/hw/psi.c @@ -764,8 +764,9 @@ static void psi_init_p9_interrupts(struct psi *psi) /* Configure the CI BAR if necessary */ val = in_be64(psi->regs + PSIHB_ESB_CI_BASE); if (!(val & PSIHB_ESB_CI_VALID)) { - out_be64(psi->regs + PSIHB_ESB_CI_BASE, - PSIHB_ESB_MMIO_DEFAULT | PSIHB_ESB_CI_VALID); + val = PSIHB_ESB_MMIO_DEFAULT | PSIHB_ESB_CI_VALID; + val |= (0x40000000000ull * (uint64_t)psi->chip_id); + out_be64(psi->regs + PSIHB_ESB_CI_BASE, val); printf("PSI[0x%03x]: ESB MMIO invalid, reconfiguring...\n", psi->chip_id); } @@ -973,6 +974,7 @@ static struct psi *psi_probe_p9(struct proc_chip *chip, u64 base) chip->id, val); #define PSIHB_PSI_MMIO_DEFAULT 0x006030203000000ull val = PSIHB_PSI_MMIO_DEFAULT | PSIHB_XSCOM_P9_HBBAR_EN; + val |= (0x40000000000ull * (uint64_t)chip->id); xscom_write(chip->id, base + PSIHB_XSCOM_P9_BASE, val); } psi = alloc_psi(chip, base);