From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTP id 03CBE67B93 for ; Thu, 10 Aug 2006 01:41:39 +1000 (EST) Subject: Re: [PATCH][0/2] RTAS MSI From: Benjamin Herrenschmidt To: michael@ellerman.id.au In-Reply-To: <1155119228.6949.24.camel@localhost.localdomain> References: <1154024154.29826.229.camel@goblue> <1154062599.21801.40.camel@localhost.localdomain> <802085A1-AA37-4787-A2D6-B619C6BE7AB4@kernel.crashing.org> <1155090210.7087.4.camel@localhost.localdomain> <1155119228.6949.24.camel@localhost.localdomain> Content-Type: text/plain Date: Wed, 09 Aug 2006 17:41:24 +0200 Message-Id: <1155138084.17187.53.camel@localhost.localdomain> Mime-Version: 1.0 Cc: linuxppc-dev@ozlabs.org, Paul Mackerras List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , > So I think we could have pci_enable_msi(dev), which would enable a > single MSI _or_ MSI-X vector, depending on what's available. That'd be > used by drivers that just want a simple replacement for LSI. And then > pci_enable_multi_msi(dev, num_irqs) which would give the driver num_irqs > MSI or MSI-X vectors. You cannot lie and have pci_enable_msi() enable an MSI-X vector. Some cards need additional tweaking when enabling MSI or MSI-X and if the system enables MSI-X while the driver thinks it's MSI, bad things might happen. pci_enable_msi() should call the firmware to reconfigure for only one MSI and enable just that. MSI-X is the only really sexy thing anyway (that and a way to spread MSI-X accross CPUs from the kernel but that's another topic) Ben.