From patchwork Tue Mar 5 06:59:16 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Shan X-Patchwork-Id: 224953 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [IPv6:::1]) by ozlabs.org (Postfix) with ESMTP id 8464D2C0485 for ; Tue, 5 Mar 2013 18:00:04 +1100 (EST) Received: from e9.ny.us.ibm.com (e9.ny.us.ibm.com [32.97.182.139]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "e9.ny.us.ibm.com", Issuer "GeoTrust SSL CA" (not verified)) by ozlabs.org (Postfix) with ESMTPS id EA78A2C032D for ; Tue, 5 Mar 2013 17:59:38 +1100 (EST) Received: from /spool/local by e9.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 5 Mar 2013 01:59:34 -0500 Received: from d01dlp03.pok.ibm.com (9.56.250.168) by e9.ny.us.ibm.com (192.168.1.109) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 5 Mar 2013 01:59:32 -0500 Received: from d01relay03.pok.ibm.com (d01relay03.pok.ibm.com [9.56.227.235]) by d01dlp03.pok.ibm.com (Postfix) with ESMTP id EBAB9C9001E for ; Tue, 5 Mar 2013 01:59:31 -0500 (EST) Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay03.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r256xV7x308890 for ; Tue, 5 Mar 2013 01:59:31 -0500 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r256xV3F030655 for ; Tue, 5 Mar 2013 03:59:31 -0300 Received: from shangw (shangw.cn.ibm.com [9.125.213.106]) by d01av03.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with SMTP id r256xTff030595; Tue, 5 Mar 2013 03:59:30 -0300 Received: by shangw (Postfix, from userid 1000) id 9C4F6301DF3; Tue, 5 Mar 2013 14:59:17 +0800 (CST) From: Gavin Shan To: linuxppc-dev@lists.ozlabs.org Subject: [PATCH] powerpc/powernv: Fix next available MSI IRQ Date: Tue, 5 Mar 2013 14:59:16 +0800 Message-Id: <1362466756-16113-1-git-send-email-shangw@linux.vnet.ibm.com> X-Mailer: git-send-email 1.7.5.4 X-Content-Scanned: Fidelis XPS MAILER x-cbid: 13030506-7182-0000-0000-000005A4C1FD Cc: Gavin Shan X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" The allocation of MSI is implemented based on bitmap and working like the mechanism of strict round through the traced next available cursor. However, the next available MSI is never updated in current implementation. The patch fixes the issue. Signed-off-by: Gavin Shan --- arch/powerpc/platforms/powernv/pci.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/arch/powerpc/platforms/powernv/pci.c b/arch/powerpc/platforms/powernv/pci.c index 6f464dc..9cf18c4 100644 --- a/arch/powerpc/platforms/powernv/pci.c +++ b/arch/powerpc/platforms/powernv/pci.c @@ -66,6 +66,11 @@ static unsigned int pnv_get_one_msi(struct pnv_phb *phb) rc = 0; goto out; } + + if (id >= phb->msi_count - 1) + phb->msi_next = 0; + else + phb->msi_next = id + 1; __set_bit(id, phb->msi_map); rc = id + phb->msi_base; out: