Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760133AbXE1CsS (ORCPT ); Sun, 27 May 2007 22:48:18 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752757AbXE1CsJ (ORCPT ); Sun, 27 May 2007 22:48:09 -0400 Received: from wx-out-0506.google.com ([66.249.82.225]:57890 "EHLO wx-out-0506.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752190AbXE1CsG (ORCPT ); Sun, 27 May 2007 22:48:06 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:user-agent:mime-version:to:cc:subject:references:in-reply-to:content-type:content-transfer-encoding; b=MNSLTUFn8PD0afeon6Eeo0FJUkPllHr6ZQFBpj31hXKY5jdXYXqWaEQ42vjUAEuCY/pGt8GU+nYP1C6l9iLo6GdNau4EpjgsfV1vm51bR22yym8Am4FnX9JdS035B2TV8kDZCiwpjcunu+ay3SVuKFcSdYngSuDNKmT8GVzOv3c= Message-ID: <465A42DE.1030909@gmail.com> Date: Mon, 28 May 2007 06:47:58 +0400 From: Manu Abraham User-Agent: Thunderbird 1.5.0.10 (X11/20070306) MIME-Version: 1.0 To: Roland Dreier CC: Grant Grundler , Greg KH , linux-pci@atrey.karlin.mff.cuni.cz, linux-kernel Subject: Re: PCIE References: <20070523155958.GA5282@kroah.com> <4654AB40.6060208@gmail.com> <4654BC10.2000808@gmail.com> <4654C85B.6060505@gmail.com> <46561287.8020103@gmail.com> <46584C30.4030206@gmail.com> <20070526182828.GA7080@colo.lackof.org> <46588A3D.2060208@gmail.com> <465A38B0.6030604@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3030 Lines: 63 Roland Dreier wrote: > > > At least on my device (PCI ID 1131:7162) there is no MSI-X capability, > > > so that's not an option for you. The current Linux implementation > > > does not support more than one MSI interrupt, so you just get one > > > interrupt with pci_enable_msi(). > > > > This would mean MSI or MSI-X ? A bit confused now. > > As I said, the device I have in my system: > > 02:00.0 Multimedia controller: Philips Semiconductors Unknown device 7162 > Subsystem: Animation Technologies Inc. Unknown device 0820 > Flags: bus master, fast devsel, latency 0, IRQ 11 > Memory at 90200000 (64-bit, non-prefetchable) [size=1M] > Capabilities: [40] Message Signalled Interrupts: Mask- 64bit+ Queue=0/5 Enable- > Capabilities: [50] Express Endpoint IRQ 0 > Capabilities: [74] Power Management version 2 > Capabilities: [80] Vendor Specific Information > > ...has only an MSI capability (the "[40] Message Signalled Interrupts" > line). So MSI-X is not possible, since the device cannot do it. And > that means you can at most do pci_enable_msi(). The current Linux MSI > support only handles a single interrupt, just like you get normally > (no matter how many MSI interrupts a device can handle). To get > multiple interrupts from a single device under Linux, you must use > MSI-X and pci_enable_msix -- but for this to work, your device must > support MSI-X of course. > > A device that supports both MSI and MSI-X would look like: > > 0b:00.0 InfiniBand: Mellanox Technologies MT25204 [InfiniHost III Lx HCA] (rev 20) > Subsystem: Mellanox Technologies MT25204 [InfiniHost III Lx HCA] > Flags: bus master, fast devsel, latency 0, IRQ 16 > Memory at fc600000 (64-bit, non-prefetchable) [size=1M] > Memory at d8800000 (64-bit, prefetchable) [size=8M] > Capabilities: [40] Power Management version 2 > Capabilities: [48] Vital Product Data > Capabilities: [90] Message Signalled Interrupts: Mask- 64bit+ Queue=0/5 Enable- > Capabilities: [84] MSI-X: Enable- Mask- TabSize=32 > Capabilities: [60] Express Endpoint IRQ 0 > > with both "Message Signalled Interrupts" and "MSI-X" capabilities. > Thanks for the explanation. > However, as I said before I think you shouldn't worry about MSI right > now. Since there are many systems where MSI doesn't work, you'll need > to get the driver working with legacy (INTx) interrupts anyway. And > you seem to be in a bit over your head just doing that without adding > the complexity of MSI on top, hence my recommendation to just focus on > the basic driver. True, compatibility would be important. Thanks, Manu - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/